diff --git a/client/main.lua b/client/main.lua index 5e8d7cd..605bac1 100644 --- a/client/main.lua +++ b/client/main.lua @@ -159,6 +159,17 @@ local function sendHudConfig() statusIcons = Config.StatusIcons, serverLogo = Config.ServerLogo, positioning = Config.Positioning, + vehicleTheme = { + theme = Config.VehicleHudTheme or 'classic', + variant = Config.VehicleHudVariant or 'ring', + }, + playerSkin = { + skin = Config.PlayerHudSkin or 'classic', + palette = Config.SupernaturalPalette or 'pergaminho', + style = Config.SupernaturalStyle or 'orbes', + layout = Config.SupernaturalLayout or 'classico', + frameless = Config.SupernaturalFrameless or false, + }, }) end @@ -758,6 +769,24 @@ RegisterNUICallback('toggleSpeedUnit', function(data, cb) cb({}) end) +-- Tema da HUD de veiculo escolhido pelo admin no menu. A UI ja persiste em +-- localStorage; aqui so guardamos no client (para logica futura/server save). +RegisterNUICallback('setVehicleTheme', function(data, cb) + Config.VehicleHudTheme = data.theme or Config.VehicleHudTheme + Config.VehicleHudVariant = data.variant or Config.VehicleHudVariant + cb({}) +end) + +-- Skin do HUD do player escolhido pelo admin no menu (UI persiste em localStorage). +RegisterNUICallback('setPlayerSkin', function(data, cb) + Config.PlayerHudSkin = data.skin or Config.PlayerHudSkin + Config.SupernaturalPalette = data.palette or Config.SupernaturalPalette + Config.SupernaturalStyle = data.style or Config.SupernaturalStyle + Config.SupernaturalLayout = data.layout or Config.SupernaturalLayout + if data.frameless ~= nil then Config.SupernaturalFrameless = data.frameless end + cb({}) +end) + RegisterNetEvent("hud:client:EngineHealth", function(newEngine) engine = newEngine end) @@ -1285,7 +1314,11 @@ CreateThread(function() end) CreateThread(function() - local lastSpeed = -1 + local lastSpeed = -1 + local lastRpm = -1 + local lastGear = -1 + local lastEngine = -1 + local lastHeading = -1 while true do local wait = 250 if LocalPlayer.state.isLoggedIn then @@ -1293,13 +1326,36 @@ CreateThread(function() local veh = GetVehiclePedIsIn(ped, false) if veh ~= 0 and not IsThisModelABicycle(GetEntityModel(veh)) and GetPedInVehicleSeat(veh, -1) == ped then wait = 0 - local spd = math.ceil(GetEntitySpeed(veh) * speedMultiplier) - if spd ~= lastSpeed then - lastSpeed = spd - SendNUIMessage({ action = 'car', topic = 'speed', speed = spd }) + local spd = math.ceil(GetEntitySpeed(veh) * speedMultiplier) + -- Telemetria extra consumida pelo tema 'digital' (RPM/marcha/motor/proa). + -- O tema 'classic' ignora estes campos; custo e baixo (so numeros). + local rpm = math.floor(GetVehicleCurrentRpm(veh) * 8000) + local gear = GetVehicleCurrentGear(veh) + local engine = math.max(0, math.min(100, math.floor(GetVehicleEngineHealth(veh) / 10))) + local heading = math.floor(GetEntityHeading(veh)) + if spd ~= lastSpeed or rpm ~= lastRpm or gear ~= lastGear + or engine ~= lastEngine or heading ~= lastHeading then + lastSpeed = spd + lastRpm = rpm + lastGear = gear + lastEngine = engine + lastHeading = heading + SendNUIMessage({ + action = 'car', + topic = 'speed', + speed = spd, + rpm = rpm, + gear = gear, + engine = engine, + heading = heading, + }) end else - lastSpeed = -1 + lastSpeed = -1 + lastRpm = -1 + lastGear = -1 + lastEngine = -1 + lastHeading = -1 end end Wait(wait) diff --git a/design_handoff_car_hud/CarHud.dc.html b/design_handoff_car_hud/CarHud.dc.html new file mode 100644 index 0000000..655614e --- /dev/null +++ b/design_handoff_car_hud/CarHud.dc.html @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + +
+ + +
+
// LIVE GAMEPLAY RENDERS BEHIND HUD
+ + + +
+
+
+
+
N
+
MAP
+
+
+ + +
+ + +
+
+ +
+
+
{{tk.label}}
+
+
+
+
+
+
+
+ + +
+ + +
+
+
{{fuel}}
+
+
+
+
FUEL
+
+
+
{{eng}}
+
+
+
+
ENG
+
+
+ + +
+ + + +
+
+
+
+
{{speedInt}}
+
KM/H
+
+
+
+ + + +
+
+
+
+
+
{{speedInt}}
+
KM/H
+
+
+
+ + + +
+
+
{{speedInt}}
+
KM/H
+
+
+
+
+
+
+
+ +
+ + +
+
+
{{boost}}
+
+
+
+
TURBO
+
+
+
+
BELT
+
+
+ +
+ + +
+
+
{{gear}}
+
GEAR
+
+
+ +
+
+
+
+
{{rpmInt}}
+
RPM
+
+
+ +
+
+
+ + + diff --git a/design_handoff_car_hud/HUD FiveM.dc.html b/design_handoff_car_hud/HUD FiveM.dc.html new file mode 100644 index 0000000..a9f9f89 --- /dev/null +++ b/design_handoff_car_hud/HUD FiveM.dc.html @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + +
+
HUD digital — painel de carro
+
FiveM · 3 formatos de velocímetro · tema ciano/tech · com animação de demonstração
+
+ +
+
01 — Mostrador circular
+
+ +
+
+ +
+
02 — Arco semicircular
+
+ +
+
+ +
+
03 — Linear minimalista
+
+ +
+
+
+ + diff --git a/design_handoff_car_hud/README.md b/design_handoff_car_hud/README.md new file mode 100644 index 0000000..096cf6e --- /dev/null +++ b/design_handoff_car_hud/README.md @@ -0,0 +1,182 @@ +# Handoff: HUD digital de carro (FiveM) + +## Overview +HUD de painel de veículo para um servidor FiveM, em estilo digital/tech ciano. Mostra +velocidade, RPM/marcha, combustível, saúde do motor, turbo, cinto de segurança, bússola +e mini-mapa. Foram desenhados **3 formatos de velocímetro** entre os quais escolher: +`ring` (mostrador circular), `arc` (arco semicircular) e `linear` (número grande + barra). + +O objetivo deste handoff é **recriar este design no script de HUD React + Tailwind + shadcn +que você já tem** — reaproveitando os componentes e padrões do seu projeto. Os valores +(velocidade, RPM, etc.) no seu projeto devem vir das mensagens NUI do FiveM +(`window.addEventListener('message', ...)`), não da animação de demonstração descrita aqui. + +## About the Design Files +Os arquivos `.dc.html` neste bundle são **referências de design feitas em HTML** — +protótipos que mostram a aparência e o comportamento pretendidos, **não** código de produção +para copiar diretamente. A tarefa é reproduzir esse visual no seu codebase React/Tailwind/shadcn, +usando seus padrões existentes (componentes, tokens, utilitários). + +- `CarHud.dc.html` — o componente da HUD em si (lógica de animação de demo + os 3 variants). +- `HUD FiveM.dc.html` — uma "tela de conceitos" que mostra os 3 variants lado a lado. +- `screenshots/` — renders dos 3 formatos. + +## Fidelity +**Alta fidelidade (hifi).** Cores, tipografia, espaçamentos e proporções são finais. +Reproduza pixel-a-pixel usando seu design system. Onde houver conflito, prefira os tokens +do seu projeto, mas mantenha a hierarquia visual e as proporções descritas abaixo. + +--- + +## Layout geral + +A HUD ocupa a tela inteira do NUI (fundo transparente em produção — em FiveM o jogo aparece +atrás; aqui usamos um gradiente escuro só de placeholder). Dois grupos posicionados: + +- **Mini-mapa** — `position: absolute; left: 22px; bottom: 22px;` — 128×128px. +- **Cluster central** — `position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%);` + com `flex-direction: column; align-items: center; gap: 16px;`. De cima pra baixo: + 1. Fita de bússola (236×34px) + 2. Linha de gauges (`flex; align-items: center; gap: 24px`): trilho esquerdo (fuel+eng) · velocímetro · trilho direito (turbo+belt) + 3. Linha do tacômetro (marcha · segmentos de RPM · número de RPM) + +Em produção remova o gradiente de fundo e o placeholder de "LIVE GAMEPLAY" — o `` do NUI +deve ser transparente. + +--- + +## Design Tokens + +### Cores +| Token | Hex | Uso | +|---|---|---| +| accent (ciano) | `#46e0ff` | destaque principal: anel/arco/barra de velocidade, agulha do mapa, turbo, cinto, marcador da bússola | +| warning | `#ffc24d` | barra fuel/eng em nível médio (≤50%); penúltimos segmentos do RPM | +| danger | `#ff5a52` | barra fuel/eng em nível baixo (≤22%); zona vermelha do RPM (2 últimos segmentos) | +| texto primário | `#ffffff` | números grandes e valores | +| texto secundário | `rgba(255,255,255,0.5)` | rótulos KM/H, etc. | +| texto terciário | `rgba(255,255,255,0.45)` / `0.4` | labels FUEL/ENG/TURBO/GEAR/RPM | +| trilho vazio | `rgba(255,255,255,0.08)` | fundo das barras e do anel | +| segmento RPM apagado | `rgba(255,255,255,0.10)` | | +| glow ciano | `rgba(70,224,255,0.32)` | text-shadow do número de velocidade | + +A cor accent é um **prop** (`accent`, default `#46e0ff`) — torne-a configurável. + +### Tipografia +- Família: **Chakra Petch** (Google Fonts), pesos 400/500/600/700. Fallback `sans-serif`. +- Número da velocidade: `600`, `60px` (ring) / `56px` (arc) / `72px` (linear), `line-height ~0.8`, `text-shadow: 0 0 22px rgba(70,224,255,0.32)`. +- Rótulo "KM/H": `500`, `10px`, `letter-spacing: 0.32em`. +- RPM: `600 16px`; marcha (gear): `700 22px`. +- Labels (FUEL/ENG/TURBO): `500 9px`, `letter-spacing: 0.16em`, uppercase. +- Bússola majors (N/NE/E…): `600 10px`. + +### Outros +- Border-radius cards: `5–7px`. Barras: `4–5px`. Pílula do cinto: `20px`. +- Sombra card: `0 16px 44px rgba(0,0,0,0.4)`; mini-mapa `0 10px 28px rgba(0,0,0,0.45)`. + +--- + +## Componentes (detalhe) + +### Velocímetro — variant `ring` +- Container `206×206px`, `position: relative`. +- Anel via `conic-gradient(accent %, rgba(255,255,255,0.07) 0)` com máscara + `radial-gradient(circle, transparent 80px, #000 81px)` (cria o "donut"). `` = velocidade/200 × 100. +- Centro: número + "KM/H" centralizados (flex column). +- No React/Tailwind: use uma `div` com `style` para o conic-gradient + máscara (Tailwind não tem + utilitário pra conic mask), ou um `` com `stroke-dasharray`. SVG é mais robusto. + +### Velocímetro — variant `arc` +- "Meio donut": container `280×140px` com `overflow: hidden`; dentro, círculo `280×280px` + com `conic-gradient(from -90deg, accent %, ...)`, máscara `radial-gradient(transparent 108px, #000 109px)`. + `` = velocidade/200 × 50 (só metade do círculo é visível). +- Número fica abaixo, com `margin-top: -50px` pra encaixar no arco. + +### Velocímetro — variant `linear` +- Largura `280px`. Número `72px` + "KM/H" alinhados na baseline. +- Barra `height: 6px`, `radius: 4px`, fundo `rgba(255,255,255,0.08)`. Preenchimento `width: %`, + `background: accent`, `box-shadow: 0 0 12px accent`, com ticks via + `repeating-linear-gradient(90deg, rgba(8,11,15,0.85) 0 1px, transparent 1px 26px)`. + +### Barras verticais (Fuel / Engine / Turbo) +- Trilho `7px` de largura, `78px` (fuel/eng) ou `60px` (turbo) de altura, `radius: 5px`. +- Preenchimento de baixo pra cima: `height: %`. +- Cor por nível (fuel/eng): `>50% → accent`, `>22% → #ffc24d`, senão `#ff5a52`. Turbo é sempre accent com glow. +- Acima: valor numérico (`600 10px`); abaixo: label. + +### Tacômetro (segmentos de RPM) +- 10 segmentos, `width: 5px`, `radius: 2px`, alturas crescentes: `[9,11,13,15,17,19,21,23,25,27]px`, `gap: 3px`. +- Nº de segmentos acesos = `round(rpm/8000 × 10)`. Acesos: índices ≥8 → `#ff5a52`, índice 7 → `#ffc24d`, resto → accent. + Apagados → `rgba(255,255,255,0.10)`. +- À esquerda: marcha + label GEAR; à direita: número de RPM + label RPM. + +### Bússola (fita) +- Janela `236×34px`, `overflow: hidden`, com máscara de fade nas bordas (`linear-gradient` 90deg). +- Régua interna deslocada por `translateX(118 - heading×3 px)`. Ticks a cada 15° de 0 a 720° + (duplicado pra dar loop); majors a cada 45° com label (N/NE/E/SE/S/SW/W/NW), altura 12px; + minors altura 6px. +- Marcador central fixo: linha vertical accent + triângulo apontando pra baixo em `left: 118px`. + +### Mini-mapa +- `128×128px`, `radius: 7px`, fundo `#0c1219`, borda `1px rgba(70,224,255,0.18)`. +- Grade via dois `repeating-linear-gradient` (linhas a cada 21px). Seta do player no centro, + triângulo accent rotacionado por `heading`. "N" no topo, "MAP" no canto. +- Em produção do FiveM o mini-mapa real do jogo é nativo — provavelmente você só posiciona/dimensiona + o minimap do GTA via natives e este card é apenas a moldura. Trate como placeholder. + +### Cinto (belt) +- Pílula `radius: 20px`, fundo `rgba(70,224,255,0.1)`, borda `rgba(70,224,255,0.32)`, + ponto accent com glow + texto "BELT". Quando o cinto estiver solto, troque para a cor `danger`. + +--- + +## State / dados (em produção) +No seu script real, **não** use a animação de demo. Os valores devem vir do NUI: + +```js +// valores que a HUD consome +{ speed, rpm, gear, fuel, engineHealth, turbo, heading, seatbelt, minimapVisible } +``` + +Recebidos via `window.addEventListener('message', e => setData(e.data))`, enviados pelo +client Lua com `SendNUIMessage({...})` a cada frame/tick. Mapeie: +- `speed` 0–200 km/h (ajuste o máximo conforme seu servidor; o design assume **MAX 200**) +- `rpm` 0–8000 (MAX 8000), `gear` inteiro +- `fuel`, `engineHealth`, `turbo` em 0–100 +- `heading` 0–359° (graus de bússola) +- `seatbelt` boolean, `minimapVisible` boolean + +A lógica de demo (em `CarHud.dc.html`) só existe para visualizar o movimento; ela deriva +gear/rpm/boost de uma onda senoidal — pode ignorar essa parte. + +## Lógica derivada (reaproveite no React) +```js +const speedFrac = speed / 200; // → preenchimento do velocímetro +const rpmFrac = rpm / 8000; +const litSegments = Math.round(rpmFrac * 10); +const segColor = (i, lit) => i >= lit ? 'rgba(255,255,255,0.10)' + : i >= 8 ? '#ff5a52' : i >= 7 ? '#ffc24d' : accent; +const barColor = p => p > 50 ? accent : p > 22 ? '#ffc24d' : '#ff5a52'; +const compassX = 118 - heading * 3; // px de translateX da régua da bússola +``` + +## Props sugeridos pro componente React +- `variant: 'ring' | 'arc' | 'linear'` (default `'ring'`) +- `accent: string` (default `'#46e0ff'`) +- `showMinimap: boolean` (default `true`) +- `data: { speed, rpm, gear, fuel, engineHealth, turbo, heading, seatbelt }` + +## Notas de implementação (React + Tailwind + shadcn) +- **Conic-gradient + máscara**: Tailwind não cobre bem; prefira reescrever ring/arc como `` + com `` + `stroke-dasharray`/`stroke-dashoffset` (mais previsível e animável com `transition`). +- shadcn não tem um "gauge" pronto; estes são componentes custom. Use shadcn só pra primitives + que você já tenha (ex.: nada obrigatório aqui). +- Carregue Chakra Petch no seu `index.html`/layout, ou adicione ao `tailwind.config` como `fontFamily`. +- Anime transições de valor com `transition-[width,height] duration-150 ease-out` em vez de um + `requestAnimationFrame` — os updates já chegam do NUI a cada tick. +- `` do NUI transparente; remova o gradiente de placeholder. + +## Files +- `CarHud.dc.html` — componente da HUD (lógica + 3 variants). +- `HUD FiveM.dc.html` — 3 conceitos lado a lado. +- `screenshots/concepts.png`, `screenshots/v.png` — renders de referência. diff --git a/design_handoff_car_hud/screenshots/01-v.png b/design_handoff_car_hud/screenshots/01-v.png new file mode 100644 index 0000000..a67a56f Binary files /dev/null and b/design_handoff_car_hud/screenshots/01-v.png differ diff --git a/design_handoff_car_hud/screenshots/02-v.png b/design_handoff_car_hud/screenshots/02-v.png new file mode 100644 index 0000000..61f2137 Binary files /dev/null and b/design_handoff_car_hud/screenshots/02-v.png differ diff --git a/design_handoff_car_hud/screenshots/concepts.png b/design_handoff_car_hud/screenshots/concepts.png new file mode 100644 index 0000000..62d0f64 Binary files /dev/null and b/design_handoff_car_hud/screenshots/concepts.png differ diff --git a/design_handoff_car_hud/support.js b/design_handoff_car_hud/support.js new file mode 100644 index 0000000..438a270 --- /dev/null +++ b/design_handoff_car_hud/support.js @@ -0,0 +1,1583 @@ +// GENERATED from dc-runtime/src/*.ts — do not edit. Rebuild with `cd dc-runtime && bun run build`. +"use strict"; +(() => { + var __defProp = Object.defineProperty; + var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; + var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + // src/react.ts + function getReact() { + const R = window.React; + if (!R) throw new Error("dc-runtime: window.React is not available yet"); + return R; + } + function getReactDOM() { + const RD = window.ReactDOM; + if (!RD) throw new Error("dc-runtime: window.ReactDOM is not available yet"); + return RD; + } + var h = ((...args) => getReact().createElement( + ...args + )); + + // src/parse.ts + function parseDcDocument(doc) { + const dc = doc.querySelector("x-dc"); + if (!dc) return null; + const scriptEl = doc.querySelector("script[data-dc-script]"); + const { props, preview } = parseDataProps( + scriptEl?.getAttribute("data-props") ?? null + ); + return { + template: dc.innerHTML, + js: scriptEl ? scriptEl.textContent || "" : "", + props, + preview + }; + } + function parseDcText(src) { + const openMatch = /]*)?>/.exec(src); + if (!openMatch) return null; + const close = src.lastIndexOf(""); + if (close === -1 || close < openMatch.index) return null; + const template = src.slice(openMatch.index + openMatch[0].length, close); + const doc = new DOMParser().parseFromString(src, "text/html"); + const scriptEl = doc.querySelector("script[data-dc-script]"); + const { props, preview } = parseDataProps( + scriptEl?.getAttribute("data-props") ?? null + ); + return { + template, + js: scriptEl ? scriptEl.textContent || "" : "", + props, + preview + }; + } + function parseDataProps(raw) { + if (!raw) return { props: null, preview: null }; + let parsed; + try { + parsed = JSON.parse(raw); + } catch { + return { props: null, preview: null }; + } + if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) { + return { props: null, preview: null }; + } + const obj = parsed; + const preview = obj.$preview && typeof obj.$preview === "object" ? obj.$preview : null; + const rest = {}; + for (const k of Object.keys(obj)) { + if (k[0] !== "$") rest[k] = obj[k]; + } + return { props: Object.keys(rest).length ? rest : null, preview }; + } + function dcNameFromPath(pathname) { + let p = pathname || ""; + try { + p = decodeURIComponent(p); + } catch { + } + const base = p.split("/").pop() || "Root"; + return base.replace(/\.dc\.html$/, "").replace(/\.html?$/, "") || "Root"; + } + + // src/boot.ts + var BASE_CSS = ` + .sc-placeholder{background:rgba(255,255,255,.3);border:1px solid rgba(0,0,0,.5); + border-radius:2px;box-sizing:border-box;overflow:hidden} + @keyframes sc-shine{0%{background-position:100% 50%}100%{background-position:0% 50%}} + html.sc-dc-streaming .sc-placeholder, + html.sc-dc-streaming .sc-interp.sc-missing{position:relative; + background:color-mix(in srgb,currentColor 5%,transparent); + border-color:transparent} + html.sc-dc-streaming .sc-placeholder::before, + html.sc-dc-streaming .sc-interp.sc-missing::before{content:''; + position:absolute;inset:0;pointer-events:none; + background:linear-gradient(90deg,rgba(217,119,87,0) 25%,rgba(247,225,211,.95) 37%,rgba(217,119,87,0) 63%); + background-size:400% 100%;animation:sc-shine 1.4s ease infinite} + html.sc-dc-streaming .sc-placeholder:nth-child(n+9 of .sc-placeholder)::before, + html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n+9 of .sc-interp.sc-missing)::before{animation:none; + background:color-mix(in srgb,currentColor 8%,transparent)} + .sc-placeholder-error{padding:4px 8px;font:11px/1.4 ui-monospace,monospace; + color:rgba(0,0,0,.7);word-break:break-word} + .sc-interp.sc-missing{display:inline-block;width:2em;height:1em;overflow:hidden; + vertical-align:text-bottom;background:rgba(255,255,255,.3);border:1px solid rgba(0,0,0,.5); + border-radius:2px;box-sizing:border-box;color:transparent; + user-select:none} + .sc-interp.sc-unresolved{font-family:ui-monospace,monospace;font-size:.85em; + color:rgba(0,0,0,.5);background:rgba(0,0,0,.05);border-radius:3px; + padding:0 3px} + .sc-host.sc-has-error{position:relative} + .sc-logic-error{position:absolute;top:8px;left:8px;z-index:2147483647;max-width:60ch; + padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace; + border-radius:4px;white-space:pre-wrap;pointer-events:none} + /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both + in sync until dc-runtime regains a build step. */ + @media print { + @page { margin: 0.5cm; } + figure, table { break-inside: avoid; } + #dc-root, #dc-root > .sc-host { height: auto; } + *, *::before, *::after { + print-color-adjust: exact; -webkit-print-color-adjust: exact; + backdrop-filter: none !important; -webkit-backdrop-filter: none !important; + animation-delay: -99s !important; animation-duration: .001s !important; + animation-iteration-count: 1 !important; animation-fill-mode: both !important; + animation-play-state: running !important; transition-duration: 0s !important; + } + } + `; + var FULL_PAGE_CSS = "html,body{height:100%;margin:0}#dc-root,#dc-root>.sc-host{height:100%}"; + function rootNameForDocument(doc, loc) { + let bootPath = loc.pathname || ""; + if (!/\.dc\.html?$/i.test(safeDecode(bootPath))) { + try { + bootPath = new URL(doc.baseURI || "/").pathname; + } catch { + } + } + return dcNameFromPath(bootPath); + } + function safeDecode(s) { + try { + return decodeURIComponent(s); + } catch { + return s; + } + } + function boot(runtime, doc = document) { + const parsed = parseDcDocument(doc); + if (!parsed) return null; + const React = getReact(); + const rootName = rootNameForDocument(doc, location); + runtime.markFetched(rootName); + runtime.setRootName(rootName); + runtime.adoptParsed(rootName, parsed); + fetch(location.href).then((res) => res.ok ? res.text() : "").then((t) => { + const raw = t ? parseDcText(t) : null; + if (raw?.template) runtime.updateHtml(rootName, raw.template); + }).catch(() => { + }); + const dc = doc.querySelector("x-dc"); + const hostEl = doc.createElement("div"); + hostEl.id = "dc-root"; + dc.replaceWith(hostEl); + if (!parsed.preview) { + const s = doc.createElement("style"); + s.textContent = FULL_PAGE_CSS; + doc.head.appendChild(s); + } + const Root = runtime.getDC(rootName); + const entry = runtime.registry.get(rootName); + function StandaloneRoot() { + const [, setTick] = React.useState(0); + React.useEffect(() => { + const sub = () => setTick((n) => n + 1); + entry.subs.add(sub); + return () => { + entry.subs.delete(sub); + }; + }, []); + return h(Root, entry.propOverrides || null); + } + const ReactDOM = getReactDOM(); + if (ReactDOM.createRoot) + ReactDOM.createRoot(hostEl).render(h(StandaloneRoot)); + else ReactDOM.render(h(StandaloneRoot), hostEl); + return rootName; + } + + // src/expr.ts + var IDENT_RE = /^[A-Za-z_$][A-Za-z0-9_$]*/; + var NUMBER_RE = /^-?\d+(\.\d+)?$/; + function resolve(vals, src) { + const expr = String(src).trim(); + if (!expr) return void 0; + if (expr[0] === "(" && expr[expr.length - 1] === ")" && parensWrapWhole(expr)) { + return resolve(vals, expr.slice(1, -1)); + } + const eq = findTopLevelEquality(expr); + if (eq) { + const lv = resolve(vals, expr.slice(0, eq.index)); + const rv = resolve(vals, expr.slice(eq.index + eq.op.length)); + switch (eq.op) { + case "===": + return lv === rv; + case "!==": + return lv !== rv; + case "==": + return lv == rv; + default: + return lv != rv; + } + } + if (expr[0] === "!") return !resolve(vals, expr.slice(1)); + if (expr === "true") return true; + if (expr === "false") return false; + if (expr === "null") return null; + if (expr === "undefined") return void 0; + if (NUMBER_RE.test(expr)) return Number(expr); + if (expr.length >= 2 && (expr[0] === '"' || expr[0] === "'") && expr[expr.length - 1] === expr[0]) { + return expr.slice(1, -1); + } + return resolvePath(vals, expr); + } + function parensWrapWhole(expr) { + let depth = 0; + for (let i = 0; i < expr.length - 1; i++) { + if (expr[i] === "(") depth++; + else if (expr[i] === ")") { + depth--; + if (depth === 0) return false; + } + } + return true; + } + function findTopLevelEquality(expr) { + let depth = 0; + for (let i = 0; i < expr.length; i++) { + const c = expr[i]; + if (c === "[" || c === "(") depth++; + else if (c === "]" || c === ")") depth--; + else if (depth === 0 && (c === "=" || c === "!") && expr[i + 1] === "=") { + if (i > 0 && (expr[i - 1] === "=" || expr[i - 1] === "!")) continue; + if (!expr.slice(0, i).trim()) continue; + const op = expr[i + 2] === "=" ? c + "==" : c + "="; + return { index: i, op }; + } + } + return null; + } + function resolvePath(vals, expr) { + const head = expr.match(IDENT_RE); + if (!head) return void 0; + let cur = vals == null ? void 0 : vals[head[0]]; + let i = head[0].length; + while (i < expr.length) { + if (expr[i] === ".") { + const m = expr.slice(i + 1).match(IDENT_RE) || expr.slice(i + 1).match(/^\d+/); + if (!m) return void 0; + cur = cur == null ? void 0 : cur[m[0]]; + i += 1 + m[0].length; + } else if (expr[i] === "[") { + let depth = 1; + let j = i + 1; + while (j < expr.length && depth > 0) { + if (expr[j] === "[") depth++; + else if (expr[j] === "]") { + depth--; + if (depth === 0) break; + } + j++; + } + if (depth !== 0) return void 0; + const key = resolve(vals, expr.slice(i + 1, j)); + cur = cur == null ? void 0 : cur[key]; + i = j + 1; + } else { + return void 0; + } + } + return cur; + } + + // src/encode.ts + var CAMEL_ATTR = "sc-camel-"; + var RAW_WRAP = { + select: "sc-raw-select", + table: "sc-raw-table", + tbody: "sc-raw-tbody", + thead: "sc-raw-thead", + tfoot: "sc-raw-tfoot", + tr: "sc-raw-tr", + td: "sc-raw-td", + th: "sc-raw-th", + caption: "sc-raw-caption" + }; + var RAW_UNWRAP = Object.fromEntries( + Object.entries(RAW_WRAP).map(([k, v]) => [v, k]) + ); + var EVENT_MAP = { + onclick: "onClick", + onchange: "onChange", + oninput: "onInput", + onsubmit: "onSubmit", + onkeydown: "onKeyDown", + onkeyup: "onKeyUp", + onkeypress: "onKeyPress", + onmousedown: "onMouseDown", + onmouseup: "onMouseUp", + onmouseenter: "onMouseEnter", + onmouseleave: "onMouseLeave", + onfocus: "onFocus", + onblur: "onBlur", + ondoubleclick: "onDoubleClick", + oncontextmenu: "onContextMenu" + }; + var ATTRS = `(?:[^>"']|"[^"]*"|'[^']*')*`; + var IMPORT_SELF_CLOSE_RE = new RegExp( + "<(x-import|dc-import)(" + ATTRS + ")/>", + "gi" + ); + var CAMEL_ATTR_RE = /(\s)([a-z]+[A-Z][A-Za-z0-9]*)(\s*=)/g; + function encodeCase(html) { + html = html.replace( + IMPORT_SELF_CLOSE_RE, + (_, t, a) => "<" + t + a + ">" + ); + html = html.replace(/)/gi, "/gi, ""); + html = html.replace( + CAMEL_ATTR_RE, + (_, sp, name, eq) => sp + CAMEL_ATTR + name.replace(/[A-Z]/g, (c) => "-" + c.toLowerCase()) + eq + ); + for (const [real, alias] of Object.entries(RAW_WRAP)) { + html = html.replace( + new RegExp("(])", "gi"), + "$1" + alias + ); + } + return html; + } + function kebabToCamel(s) { + return s.replace(/-([a-z])/g, (_, c) => c.toUpperCase()); + } + function cssToObj(css) { + const o = {}; + for (const decl of css.split(";")) { + const i = decl.indexOf(":"); + if (i < 0) continue; + const prop = decl.slice(0, i).trim(); + o[prop.startsWith("--") ? prop : kebabToCamel(prop)] = decl.slice(i + 1).trim(); + } + return o; + } + function compileAttr(raw) { + const whole = raw.match(/^\s*\{\{([\s\S]+?)\}\}\s*$/); + if (whole) { + const path = whole[1]; + return (vals) => resolve(vals, path); + } + if (raw.includes("{{")) { + const parts = raw.split(/\{\{([\s\S]+?)\}\}/g); + return (vals) => parts.map((s, i) => i & 1 ? resolve(vals, s) ?? "" : s).join(""); + } + return () => raw; + } + + // src/compile.ts + function collectProps(node, kind, host) { + const propGetters = []; + const pseudoClasses = []; + let hintSize = null; + for (const { name, value } of [...node.attributes]) { + if (name === "sc-name" || name === "data-dc-tpl") continue; + let key = name; + if (key.startsWith(CAMEL_ATTR)) + key = kebabToCamel(key.slice(CAMEL_ATTR.length)); + if (key === "hint-size") { + hintSize = value; + continue; + } + if (key.startsWith("style-")) { + pseudoClasses.push(host.pseudoClass(key.slice(6), value)); + continue; + } + if (kind !== "dom") { + if (key.includes("-") && !(kind === "x-import" && (key.startsWith("aria-") || key.startsWith("data-")))) + key = kebabToCamel(key); + } else { + if (key === "class") key = "className"; + else if (key === "for") key = "htmlFor"; + else if (key.startsWith("on")) + key = EVENT_MAP[key] || "on" + key[2].toUpperCase() + key.slice(3); + } + propGetters.push([key, compileAttr(value)]); + } + return { propGetters, pseudoClasses, hintSize }; + } + var HOST_STYLE_PROPS = /* @__PURE__ */ new Set([ + "position", + "left", + "right", + "top", + "bottom", + "inset", + "width", + "height", + "z-index", + "transform" + ]); + function hostPositionStyle(style) { + const all = typeof style === "string" ? cssToObj(style) : style != null && typeof style === "object" ? style : null; + if (!all) return void 0; + const out = {}; + for (const [k, v] of Object.entries(all)) { + const kebab = k.replace(/[A-Z]/g, (c) => "-" + c.toLowerCase()); + if (HOST_STYLE_PROPS.has(kebab)) out[k] = v; + } + return Object.keys(out).length ? out : void 0; + } + function compileTemplate(html, host) { + const tpl = document.createElement("template"); + //! nosemgrep: direct-inner-html-assignment + tpl.innerHTML = encodeCase(html); + let tplN = 0; + (function stamp(node) { + if (node.nodeType === Node.ELEMENT_NODE) { + node.setAttribute("data-dc-tpl", String(tplN++)); + } + for (const c of node.childNodes) stamp(c); + })(tpl.content); + const builders = walkChildren(tpl.content, host); + const render = ((vals, ctx) => builders.map((b, i) => b(vals || {}, ctx, i))); + render.__annotated = tpl.innerHTML; + return render; + } + function walkChildren(node, host) { + return [...node.childNodes].map((c) => walk(c, host)).filter((b) => b != null); + } + function walk(node, host) { + if (node.nodeType === Node.TEXT_NODE) return walkText(node); + if (node.nodeType !== Node.ELEMENT_NODE) return null; + const el = node; + const tag = el.tagName.toLowerCase(); + if (tag === "sc-for") return walkFor(el, host); + if (tag === "sc-if") return walkIf(el, host); + if (tag === "x-import") return walkXImport(el, host); + if (tag === "sc-helmet") return host.helmet(el); + if (tag === "dc-import") return walkComponent(el, host); + return walkElement(el, host); + } + var warnedHoles = /* @__PURE__ */ new Set(); + function warnUnresolved(ctx, what) { + const key = (ctx?.__name || "?") + "\0" + what; + if (warnedHoles.has(key)) return; + warnedHoles.add(key); + console.warn("[dc-runtime] " + (ctx?.__name || "template") + ": " + what); + } + function walkText(node) { + const txt = node.nodeValue ?? ""; + if (!txt.includes("{{")) { + if (!txt.trim() && !txt.includes(" ")) return null; + return () => txt; + } + const parts = txt.split(/\{\{([\s\S]+?)\}\}/g); + return (vals, ctx, key) => h( + getReact().Fragment, + { key }, + ...parts.map((p, i) => { + if (!(i & 1)) return p; + const v = resolve(vals, p); + if (v === void 0) { + if (!ctx?.__streamingNow) { + if (document.body?.hasAttribute("data-dc-editor-on")) { + return h( + "span", + { key: i, className: "sc-interp sc-unresolved" }, + "{{ " + p.trim() + " }}" + ); + } + warnUnresolved( + ctx, + "{{ " + p.trim() + " }} never resolved \u2014 rendered as empty" + ); + return null; + } + return h( + "span", + { key: i, className: "sc-interp sc-missing" }, + p.trim() + ); + } + if (getReact().isValidElement(v) || Array.isArray(v)) { + return h(getReact().Fragment, { key: i }, v); + } + if (v === null || typeof v === "boolean") return null; + return h("span", { key: i, className: "sc-interp" }, String(v)); + }) + ); + } + function walkFor(el, host) { + const listGet = compileAttr(el.getAttribute("list") || ""); + const asName = el.getAttribute("as") || "item"; + const hintN = parseInt(el.getAttribute("hint-placeholder-count") || "0", 10); + const kids = walkChildren(el, host); + const listSrc = el.getAttribute("list") || ""; + return (vals, ctx, key) => { + let list = listGet(vals); + if (!Array.isArray(list)) { + if (!ctx?.__streamingNow) { + if (list !== void 0 && list !== null) { + warnUnresolved( + ctx, + 'sc-for list="' + listSrc + '" is not an array (' + typeof list + ")" + ); + } + list = []; + } else { + list = hintN > 0 ? Array(hintN).fill(void 0) : []; + } + } + return h( + getReact().Fragment, + { key }, + list.map((item, i) => { + const sub = { ...vals, [asName]: item, $index: i }; + return h( + getReact().Fragment, + { key: i }, + kids.map((b, j) => b(sub, ctx, j)) + ); + }) + ); + }; + } + function walkIf(el, host) { + const valGet = compileAttr(el.getAttribute("value") || ""); + const hintRaw = el.getAttribute("hint-placeholder-val"); + const hintGet = hintRaw != null ? compileAttr(hintRaw) : null; + const kids = walkChildren(el, host); + return (vals, ctx, key) => { + let v = valGet(vals); + if (v === void 0 && hintGet && ctx?.__streamingNow) v = hintGet(vals); + return v ? h( + getReact().Fragment, + { key }, + kids.map((b, j) => b(vals, ctx, j)) + ) : null; + }; + } + function walkComponent(el, host) { + const name = el.getAttribute("name") || el.getAttribute("component") || ""; + el.removeAttribute("name"); + el.removeAttribute("component"); + const tplId = el.getAttribute("data-dc-tpl"); + const styleRaw = el.getAttribute("style"); + el.removeAttribute("style"); + const styleGet = styleRaw != null ? compileAttr(styleRaw) : null; + const { propGetters, hintSize } = collectProps(el, "dc-import", host); + const kids = walkChildren(el, host); + return (vals, ctx, key) => { + const props = { + key, + __hintSize: hintSize, + __tplId: tplId, + __hostStyle: styleGet ? hostPositionStyle(styleGet(vals)) : void 0 + }; + for (const [k, g] of propGetters) { + const v = g(vals); + if (k === "dcProps") { + if (v && typeof v === "object") Object.assign(props, v); + continue; + } + props[k] = v; + } + if (kids.length) props.children = kids.map((b, j) => b(vals, ctx, j)); + return h(host.component(name), props); + }; + } + function walkXImport(el, host) { + const globalNameGet = compileAttr( + el.getAttribute("component-from-global-scope") || "" + ); + const exportNameGet = compileAttr( + el.getAttribute("component") || el.getAttribute("name") || "" + ); + const url = el.getAttribute("from") || el.getAttribute("src") || el.getAttribute("import") || ""; + const kind = /\.(jsx|tsx)(\?|#|$)/i.test(url) ? "jsx" : "js"; + const tplId = el.getAttribute("data-dc-tpl"); + const styleRaw = el.getAttribute("style"); + el.removeAttribute("style"); + const styleGet = styleRaw != null ? compileAttr(styleRaw) : null; + const wrap = tplId != null || styleGet != null; + const { propGetters, hintSize } = collectProps(el, "x-import", host); + const hasContent = el.children.length > 0 || !!(el.textContent || "").trim(); + const kids = hasContent ? walkChildren(el, host) : []; + const urlBindable = url.includes("{{"); + if (url && !urlBindable) host.loadExternal(kind, url); + const evalName = (g, vals) => { + const v = g(vals); + const s = v == null ? "" : String(v); + return s.includes("{{") ? "" : s; + }; + return (vals, ctx, key) => { + const globalName = evalName(globalNameGet, vals); + const name = globalName || evalName(exportNameGet, vals); + const C = !name || urlBindable ? null : globalName ? host.resolveExternalGlobal(url, globalName) : host.resolveExternal(url, name); + const hostStyle = styleGet ? hostPositionStyle(styleGet(vals)) : void 0; + const wrapper = wrap ? { + key, + className: "sc-host-x", + "data-dc-tpl": tplId, + style: hostStyle || { display: "contents" } + } : null; + if (!C) { + const error = urlBindable ? "x-import `from` cannot contain {{ \u2026 }} \u2014 module URLs are resolved at parse time; use a literal URL" : host.resolveExternalError(url, name); + const ph = host.placeholder({ + key: wrapper ? void 0 : key, + name, + hintSize, + error + }); + return wrapper ? h("div", wrapper, ph) : ph; + } + const props = wrapper ? {} : { key }; + let unresolvedHole = false; + for (const [k, g] of propGetters) { + if (k === "component" || k === "componentFromGlobalScope" || k === "from") { + continue; + } + const v = g(vals); + if (v === void 0) unresolvedHole = true; + if (k === "dcProps") { + if (v && typeof v === "object") Object.assign(props, v); + continue; + } + props[k] = v; + } + if (unresolvedHole && ctx?.__htmlStreamingNow) { + const ph = host.placeholder({ + key: wrapper ? void 0 : key, + name, + hintSize, + error: null + }); + return wrapper ? h("div", wrapper, ph) : ph; + } + if (kids.length) props.children = kids.map((b, j) => b(vals, ctx, j)); + return wrapper ? h("div", wrapper, h(C, props)) : h(C, props); + }; + } + function walkElement(el, host) { + const realTag = RAW_UNWRAP[el.localName] || el.localName; + const tplId = el.getAttribute("data-dc-tpl"); + const { propGetters, pseudoClasses } = collectProps(el, "dom", host); + const kids = walkChildren(el, host); + return (vals, ctx, key) => { + const props = { key, "data-dc-tpl": tplId }; + for (const [k, g] of propGetters) { + let v = g(vals); + if (k === "style" && typeof v === "string") v = cssToObj(v); + if ((k === "value" || k === "checked") && v === void 0) { + v = k === "checked" ? false : ""; + } + props[k] = v; + } + if (pseudoClasses.length) { + props.className = [props.className, ...pseudoClasses].filter(Boolean).join(" "); + } + return h(realTag, props, ...kids.map((b, j) => b(vals, ctx, j))); + }; + } + + // src/logic.ts + var StreamableLogic = class { + constructor(props) { + __publicField(this, "props"); + __publicField(this, "state", {}); + /** Back-pointer to the wrapper component, installed after construction. */ + __publicField(this, "__host"); + this.props = props || {}; + } + setState(update, cb) { + this.__host && this.__host.__setLogicState(update, cb); + } + forceUpdate() { + this.__host && this.__host.forceUpdate(); + } + componentDidMount() { + } + componentDidUpdate(_prevProps) { + } + componentWillUnmount() { + } + /** The flat object the template renders against (merged over props). */ + renderVals() { + return {}; + } + }; + function evalDcLogic(src) { + //! nosemgrep: eval-and-function-constructor + const fn = new Function( + "DCLogic", + "StreamableLogic", + "React", + src + '\n;return (typeof Component!=="undefined"&&Component)||undefined;' + ); + return fn(StreamableLogic, StreamableLogic, getReact()); + } + + // src/component.ts + function shallowEqual(a, b) { + if (!b) return false; + const ak = Object.keys(a).filter((k) => k !== "children"); + const bk = Object.keys(b).filter((k) => k !== "children"); + if (ak.length !== bk.length) return false; + for (const k of ak) if (a[k] !== b[k]) return false; + return true; + } + function Placeholder({ + name, + hintSize, + streaming, + error + }) { + const [w, hgt] = (hintSize || "100%,60px").split(","); + return h( + "div", + { + className: "sc-placeholder" + (streaming ? " sc-streaming" : ""), + style: { width: w.trim(), height: hgt && hgt.trim() }, + title: name + }, + error ? h( + "div", + { className: "sc-placeholder-error" }, + (name ? name + ": " : "") + error + ) : null + ); + } + function hintToMin(hint) { + if (!hint) return void 0; + const [w, hgt] = hint.split(","); + return { minWidth: w.trim(), minHeight: hgt && hgt.trim() }; + } + function createComponentFactory(registry, ensureFetched) { + const React = getReact(); + const AncestorContext = React.createContext([]); + class StreamableComponent extends React.Component { + constructor(props) { + super(props); + __publicField(this, "__name"); + __publicField(this, "__sub"); + __publicField(this, "__needsDidMount", false); + /** Snapshot of the registry's streaming flags taken at render time — + * builders read it off the RenderCtx (this) to pick placeholder vs + * render-nothing for unresolved values. */ + __publicField(this, "__streamingNow", false); + __publicField(this, "__htmlStreamingNow", false); + /** When a construct throws, remember the (class, registry.ver, props) + * triple so render-time reconcile doesn't re-attempt it on every parent + * re-render. A registry bump (new class, template, external module + * resolving via bumpAll) changes `ver` and breaks the memo so an + * env-dependent constructor can self-heal. */ + __publicField(this, "__failedLogic", null); + __publicField(this, "__failedUserProps", null); + __publicField(this, "__failedVer", -1); + /** Per-instance constructor error — kept here (not on the registry entry) + * so one instance's successful construct can't hide a sibling's failure, + * and a construct can never wipe an eval error `updateJs` recorded on + * `r.logicError`. */ + __publicField(this, "__ctorError", null); + __publicField(this, "logic"); + this.__name = props.__name; + this.state = { __v: 0, __err: null }; + this.__sub = () => { + if (this.state.__err) this.setState({ __err: null }); + this.forceUpdate(); + }; + this.__makeLogic(registry.get(this.__name).Logic, null); + ensureFetched(this.__name); + } + /** Error-boundary hook: a render crash anywhere in this DC's subtree + * (its own template, an x-import'd component, a child DC without its + * own deeper boundary) lands here instead of unmounting the page. */ + static getDerivedStateFromError(e) { + return { __err: e instanceof Error && e.message ? e.message : String(e) }; + } + componentDidCatch(e, info) { + console.error( + "[dc-runtime] render error in <" + this.__name + ">:", + e, + info?.componentStack || "" + ); + } + /** Instantiate the logic class (or the no-op base) and adopt `prevState` + * over its initial state — used both at mount and on hot-swap. */ + __makeLogic(Logic, prevState) { + const L = Logic || StreamableLogic; + try { + this.logic = new L(this.__userProps()); + this.__failedLogic = null; + this.__failedUserProps = null; + this.__ctorError = null; + } catch (e) { + console.error(e); + this.__failedLogic = Logic; + this.__failedUserProps = this.__userProps(); + this.__failedVer = registry.get(this.__name).ver; + this.__ctorError = this.__name + ": " + (e instanceof Error && e.message ? e.message : String(e)); + this.logic = new StreamableLogic( + this.__userProps() + ); + } + this.logic.__host = this; + if (prevState) + this.logic.state = { ...this.logic.state || {}, ...prevState }; + } + /** The props the author's logic + template see — internal __-prefixed + * wiring stripped. */ + __userProps() { + const { __name, __hintSize, __tplId, __hostStyle, ...rest } = this.props; + return rest; + } + __setLogicState(update, cb) { + const prev = this.logic.state; + const patch = typeof update === "function" ? update(prev) : update; + this.logic.state = { ...prev, ...patch }; + this.setState((s) => ({ __v: s.__v + 1 }), cb); + } + /** Swap the logic instance when the registry's Logic class changed + * (streaming completion, hot reload). State carries over; didMount + * re-fires after the swap commits so refs exist. */ + __reconcileLogic() { + const r = registry.get(this.__name); + const Next = r.Logic; + const Cur = this.logic.constructor; + if (Next === Cur || !Next && Cur === StreamableLogic || Next === this.__failedLogic && r.ver === this.__failedVer && shallowEqual(this.__userProps(), this.__failedUserProps)) { + return; + } + if (!this.__needsDidMount) { + try { + this.logic.componentWillUnmount(); + } catch (e) { + console.error(e); + } + } + this.__makeLogic(Next, this.logic.state); + this.__needsDidMount = true; + } + componentDidMount() { + registry.get(this.__name).subs.add(this.__sub); + try { + this.logic.componentDidMount(); + } catch (e) { + console.error(e); + } + } + componentDidUpdate(prevProps) { + this.logic.props = this.__userProps(); + if (this.__needsDidMount) { + if (this.state.__err || !registry.get(this.__name).tpl) return; + this.__needsDidMount = false; + try { + this.logic.componentDidMount(); + } catch (e) { + console.error(e); + } + } else { + try { + this.logic.componentDidUpdate(prevProps); + } catch (e) { + console.error(e); + } + } + } + componentWillUnmount() { + registry.get(this.__name).subs.delete(this.__sub); + if (!this.__needsDidMount) { + try { + this.logic.componentWillUnmount(); + } catch (e) { + console.error(e); + } + } + } + render() { + const r = registry.get(this.__name); + const cls = "sc-host" + (r.htmlStreaming ? " sc-streaming-html" : "") + (r.jsStreaming ? " sc-streaming-js" : ""); + const hintStyle = r.htmlStreaming ? hintToMin(this.props.__hintSize) : void 0; + const hostStyle = this.props.__hostStyle || hintStyle ? { ...hintStyle || {}, ...this.props.__hostStyle || {} } : void 0; + const hostBase = { + className: cls, + style: hostStyle, + "data-sc-name": this.__name, + "data-dc-tpl": this.props.__tplId + }; + const chain = Array.isArray(this.context) ? this.context : []; + if (chain.includes(this.__name)) { + const cycle = [ + ...chain.slice(chain.indexOf(this.__name)), + this.__name + ].join(" \u2192 "); + return h( + "div", + { ...hostBase, className: cls + " sc-has-error" }, + h(Placeholder, { + name: this.__name, + hintSize: this.props.__hintSize, + error: "circular import: " + cycle + }) + ); + } + if (this.state.__err) { + return h( + "div", + { ...hostBase, className: cls + " sc-has-error" }, + h( + "div", + { className: "sc-logic-error", "data-omelette-chrome": "" }, + this.__name + ": " + this.state.__err + ), + h(Placeholder, { + name: this.__name, + hintSize: this.props.__hintSize, + error: this.state.__err + }) + ); + } + this.__reconcileLogic(); + if (!r.tpl) { + return h( + "div", + hostBase, + h(Placeholder, { name: this.__name, hintSize: this.props.__hintSize }) + ); + } + const userProps = this.__userProps(); + this.logic.props = userProps; + let vals = userProps; + let renderErr = r.logicError || this.__ctorError; + try { + vals = { ...userProps, ...this.logic.renderVals() || {} }; + } catch (e) { + console.error(e); + renderErr = this.__name + ".renderVals(): " + (e instanceof Error && e.message ? e.message : String(e)); + } + this.__streamingNow = !!(r.htmlStreaming || r.jsStreaming); + this.__htmlStreamingNow = !!r.htmlStreaming; + return h( + "div", + { ...hostBase, className: cls + (renderErr ? " sc-has-error" : "") }, + renderErr && h( + "div", + { className: "sc-logic-error", "data-omelette-chrome": "" }, + renderErr + ), + h( + AncestorContext.Provider, + { value: [...chain, this.__name] }, + r.tpl(vals, this) + ) + ); + } + } + __publicField(StreamableComponent, "contextType", AncestorContext); + const named = /* @__PURE__ */ new Map(); + function getDC(name) { + const hit = named.get(name); + if (hit) return hit; + function Dispatcher(p) { + const [, setTick] = React.useState(0); + React.useEffect(() => { + const sub = () => setTick((n) => n + 1); + registry.get(name).subs.add(sub); + return () => { + registry.get(name).subs.delete(sub); + }; + }, []); + ensureFetched(name); + return h(StreamableComponent, { ...p, __name: name }); + } + Dispatcher.displayName = name; + named.set(name, Dispatcher); + return Dispatcher; + } + return { + getDC, + StreamableComponent + }; + } + + // src/external.ts + var isCustomElementName = (n) => !n.includes(".") && n.includes("-"); + function isRenderableType(g) { + if (typeof g === "function") return !isElementClass(g); + return typeof g === "object" && g !== null && typeof g.$$typeof === "symbol"; + } + function resolveDottedPath(root, name) { + let cur = root; + for (const seg of name.split(".")) { + if (cur == null) return void 0; + cur = cur[seg]; + } + return cur; + } + var BABEL_URL = "https://unpkg.com/@babel/standalone@7.26.4/babel.min.js"; + var GLOBAL_POLL_INTERVAL_MS = 50; + var GLOBAL_POLL_TIMEOUT_MS = 3e4; + function createExternalModules(onResolved) { + const cache = /* @__PURE__ */ new Map(); + let babelLoading = null; + const reportedMissing = /* @__PURE__ */ new Map(); + const polling = /* @__PURE__ */ new Set(); + function ensureBabel() { + if (window.Babel) return Promise.resolve(); + if (babelLoading) return babelLoading; + babelLoading = new Promise((res, rej) => { + const s = document.createElement("script"); + s.src = BABEL_URL; + s.crossOrigin = "anonymous"; + s.onload = () => res(); + s.onerror = rej; + document.head.appendChild(s); + }); + return babelLoading; + } + function load(kind, url) { + if (cache.has(url)) return; + cache.set(url, null); + console.info("[dc-runtime] x-import: loading", url, "(" + kind + ")"); + const ready = kind === "jsx" ? ensureBabel() : Promise.resolve(); + ready.then(() => fetch(url)).then((r) => { + if (!r.ok) throw new Error("HTTP " + r.status); + return r.text(); + }).then((src) => { + const code = kind === "jsx" ? window.Babel.transform(src, { + filename: url, + presets: ["react", "typescript"] + }).code : src; + const module = { exports: {} }; + const before = new Set(Object.keys(window)); + //! nosemgrep: eval-and-function-constructor + new Function("React", "module", "exports", "require", code)( + getReact(), + module, + module.exports, + () => ({}) + ); + const globals = {}; + for (const k of Object.keys(window)) { + if (!before.has(k) && typeof window[k] === "function") { + globals[k] = window[k]; + } + } + cache.set(url, { mod: module.exports, globals }); + console.info( + "[dc-runtime] x-import: loaded", + url, + "\u2014 exports:", + Object.keys(module.exports), + "window globals:", + Object.keys(globals) + ); + onResolved(); + }).catch((e) => { + cache.set(url, { + mod: {}, + globals: {}, + error: "failed to load: " + (e instanceof Error && e.message ? e.message : String(e)) + }); + console.error( + "[dc-runtime] x-import: FAILED to load", + url, + "(" + kind + ")", + e + ); + onResolved(); + }); + } + function resolve2(url, name) { + const entry = cache.get(url); + if (!entry) return null; + const { mod, globals } = entry; + const C = mod && mod[name] || globals && globals[name] || typeof window !== "undefined" && window[name] || mod && mod.default; + if (typeof C === "function") return C; + const key = url + "\0" + name; + if (!reportedMissing.has(key)) { + reportedMissing.set( + key, + entry.error || 'no export named "' + name + '" (has: ' + Object.keys(mod).join(", ") + ")" + ); + console.error( + "[dc-runtime] x-import: module", + url, + "loaded but has no component named", + JSON.stringify(name), + "\u2014 available exports:", + Object.keys(mod), + "window globals:", + Object.keys(globals), + ". The module must `module.exports = {" + name + "}` or set `window." + name + "`." + ); + } + return null; + } + function waitForGlobal(name) { + if (polling.has(name)) return; + polling.add(name); + const started = Date.now(); + const isCE = isCustomElementName(name); + const tick = () => { + const found = isCE ? customElements.get(name) : isRenderableType(resolveDottedPath(window, name)); + if (found) { + polling.delete(name); + onResolved(); + return; + } + if (Date.now() - started >= GLOBAL_POLL_TIMEOUT_MS) { + console.warn( + "[dc-runtime] x-import: global", + JSON.stringify(name), + "never appeared on window after " + GLOBAL_POLL_TIMEOUT_MS + "ms" + ); + return; + } + setTimeout(tick, GLOBAL_POLL_INTERVAL_MS); + }; + setTimeout(tick, GLOBAL_POLL_INTERVAL_MS); + } + function resolveGlobal(url, name) { + const isCE = isCustomElementName(name); + if (!url) { + if (isCE) { + if (customElements.get(name)) return name; + waitForGlobal(name); + return null; + } + const g2 = resolveDottedPath(window, name); + if (isRenderableType(g2)) return g2; + waitForGlobal(name); + return null; + } + const entry = cache.get(url); + if (!entry) return null; + if (isCE && customElements.get(name)) return name; + const g = entry.globals[name] ?? resolveDottedPath(window, name); + if (isRenderableType(g)) return g; + if (name.includes(".")) return null; + const key = url + "\0global\0" + name; + if (!reportedMissing.has(key)) { + reportedMissing.set(key, null); + if (isCE && !customElements.get(name)) { + console.warn( + "[dc-runtime] x-import:", + url, + "loaded but no custom element", + JSON.stringify(name), + "is registered and window." + name + " is not a function \u2014 rendering <" + name + "> as an unknown element." + ); + } + } + return name; + } + function getError(url, name) { + const entry = cache.get(url); + if (entry?.error) return entry.error; + return reportedMissing.get(url + "\0" + name) || null; + } + return { load, resolve: resolve2, resolveGlobal, getError }; + } + function isElementClass(g) { + try { + return typeof g === "function" && typeof HTMLElement !== "undefined" && g.prototype instanceof HTMLElement; + } catch { + return false; + } + } + + // src/atomics.ts + var ATOMIC_CSS = ( + // layout + ".fx{display:flex}.col{display:flex;flex-direction:column}.grid{display:grid}.ac{align-items:center}.jc{justify-content:center}.jb{justify-content:space-between}.f1{flex:1}.noshrink{flex-shrink:0}.wrap{flex-wrap:wrap}.fw5{font-weight:500}.fw6{font-weight:600}.fw7{font-weight:700}.fw8{font-weight:800}.fs11{font-size:11px}.fs12{font-size:12px}.fs13{font-size:13px}.fs14{font-size:14px}.fs15{font-size:15px}.fs16{font-size:16px}.fs20{font-size:20px}.fs22{font-size:22px}.upper{text-transform:uppercase}.tc{text-align:center}.nowrap{white-space:nowrap}.gap8{gap:8px}.gap10{gap:10px}.gap12{gap:12px}.gap16{gap:16px}.gap24{gap:24px}.m0{margin:0}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}.posrel{position:relative}.posabs{position:absolute}.round{border-radius:50%}.ohide{overflow:hidden}.bbox{box-sizing:border-box}.pointer{cursor:pointer}.w100{width:100%}.b0{border:none}" + ); + + // src/helmet.ts + var DESIGN_DOC_MODE_RE = /]*\bname\s*=\s*["']design_doc_mode["'][^>]*\b(?:content|value)\s*=\s*["'](\w+)["']/i; + var CANVAS_BG = "#f0eee9"; + function createHelmetManager(doc, isStreaming) { + const mounted = /* @__PURE__ */ new Set(); + const live = /* @__PURE__ */ new Map(); + let designDocMode = null; + let canvasStyleEl = null; + function postDesignMode(mode) { + if (window.parent === window) return; + try { + window.parent.postMessage({ type: "__dc_design_mode", mode }, "*"); + } catch { + } + } + function setDesignDocMode(mode) { + if (mode === designDocMode) return; + designDocMode = mode; + postDesignMode(mode); + if (mode === "canvas") { + doc.documentElement.setAttribute("data-dc-canvas", ""); + canvasStyleEl = doc.createElement("style"); + canvasStyleEl.setAttribute("data-dc-canvas", ""); + canvasStyleEl.textContent = `html,body{background:${CANVAS_BG}}#dc-root>.sc-host{position:relative}`; + doc.head.appendChild(canvasStyleEl); + } else { + doc.documentElement.removeAttribute("data-dc-canvas"); + canvasStyleEl?.remove(); + canvasStyleEl = null; + } + } + window.addEventListener("message", (e) => { + if (!designDocMode || (e.data && e.data.type) !== "__dc_probe") return; + postDesignMode(designDocMode); + }); + function compile(node) { + const raw = [...node.children]; + const helmetClosed = node.nextSibling != null || node.parentNode?.nextSibling != null; + if (node.hasAttribute("data-dc-atomics") && !mounted.has("__dc-atomics")) { + mounted.add("__dc-atomics"); + const el = doc.createElement("style"); + el.id = "__dc-atomics"; + el.textContent = ATOMIC_CSS; + doc.head.appendChild(el); + } + return (_vals, ctx) => { + const name = ctx && ctx.__name || ""; + const streaming = !!(name && isStreaming(name)); + for (let i = 0; i < raw.length; i++) { + const child = raw[i]; + const tag = child.tagName; + const mayBePartial = streaming && !helmetClosed && i === raw.length - 1; + if (tag === "SCRIPT") { + if (mayBePartial) continue; + const key = "SCRIPT|" + (child.getAttribute("src") || child.textContent || ""); + if (mounted.has(key)) continue; + mounted.add(key); + const el = doc.createElement("script"); + for (const { name: an, value } of [...child.attributes]) + el.setAttribute(an, value); + if (child.textContent) el.textContent = child.textContent; + doc.head.appendChild(el); + } else if (tag === "LINK" || tag === "META") { + if (mayBePartial) continue; + const key = tag + "|" + (child.getAttribute("href") || child.getAttribute("src") || child.outerHTML); + if (mounted.has(key)) continue; + mounted.add(key); + doc.head.appendChild(child.cloneNode(true)); + } else { + const key = name + "|" + i; + let el = live.get(key); + if (!el || el.tagName !== tag) { + if (el) el.remove(); + el = doc.createElement(tag.toLowerCase()); + live.set(key, el); + doc.head.appendChild(el); + } + for (const { name: an, value } of [...child.attributes]) { + if (el.getAttribute(an) !== value) el.setAttribute(an, value); + } + if (el.textContent !== child.textContent) + el.textContent = child.textContent; + } + } + return null; + }; + } + return { compile, setDesignDocMode }; + } + + // src/pseudo.ts + function createPseudoSheet(doc) { + let el = null; + const cache = /* @__PURE__ */ new Map(); + let n = 0; + return (pseudo, css) => { + const k = pseudo + "|" + css; + const hit = cache.get(k); + if (hit) return hit; + if (!el) { + el = doc.createElement("style"); + doc.head.appendChild(el); + } + const cls = "scp" + (n++).toString(36); + const sel = pseudo === "before" || pseudo === "after" ? "." + cls + "::" + pseudo : "." + cls + ":" + pseudo; + el.sheet.insertRule(sel + "{" + css + "}", el.sheet.cssRules.length); + cache.set(k, cls); + return cls; + }; + } + + // src/registry.ts + function createRegistry() { + const entries = /* @__PURE__ */ Object.create(null); + function get(name) { + return entries[name] || (entries[name] = { + html: "", + tpl: null, + Logic: null, + jsStreaming: false, + htmlStreaming: false, + ver: 0, + subs: /* @__PURE__ */ new Set(), + fetched: false + }); + } + function bump(name) { + const r = get(name); + r.ver++; + for (const fn of r.subs) fn(); + } + return { + entries, + get, + bump, + bumpAll() { + for (const n in entries) bump(n); + } + }; + } + + // src/runtime.ts + var COMPONENT_DIR = "."; + function createRuntime(doc = document) { + const registry = createRegistry(); + const pseudoClass = createPseudoSheet(doc); + const helmet = createHelmetManager( + doc, + (name) => registry.get(name).htmlStreaming + ); + const external = createExternalModules(() => registry.bumpAll()); + const factory = createComponentFactory(registry, ensureFetched); + const host = { + component: (name) => factory.getDC(name), + placeholder: (props) => h(Placeholder, props), + helmet: (node) => helmet.compile(node), + loadExternal: (kind, url) => external.load(kind, url), + resolveExternal: (url, name) => external.resolve(url, name), + resolveExternalGlobal: (url, name) => external.resolveGlobal(url, name), + resolveExternalError: (url, name) => external.getError(url, name), + pseudoClass + }; + function ensureFetched(name) { + const r = registry.get(name); + if (r.fetched) return; + r.fetched = true; + const url = COMPONENT_DIR + "/" + encodeURIComponent(name) + ".dc.html"; + fetch(url).then((res) => { + if (!res.ok) { + console.error( + "[dc-runtime] sibling fetch for <" + name + "/> failed:", + url, + "returned", + res.status, + "\u2014 the reference renders as an empty placeholder." + ); + return ""; + } + return res.text(); + }).then((t) => { + if (!t) return; + const parsed = parseDcText(t); + if (!parsed) { + console.error( + "[dc-runtime] sibling fetch for <" + name + "/>:", + url, + "has no block \u2014 not a Design Component." + ); + return; + } + if (parsed.props) r.propsMeta = parsed.props; + if (parsed.preview) r.preview = parsed.preview; + if (parsed.template && !r.html) updateHtml(name, parsed.template); + if (parsed.js && !r.Logic) updateJs(name, parsed.js); + }).catch( + (e) => console.error( + "[dc-runtime] sibling fetch for <" + name + "/> threw:", + url, + e + ) + ); + } + let rootName = null; + function updateHtml(name, html) { + const r = registry.get(name); + r.html = html; + if (name === rootName) { + const mode = DESIGN_DOC_MODE_RE.exec(html)?.[1] ?? null; + if (mode || !r.htmlStreaming) helmet.setDesignDocMode(mode); + } + try { + r.tpl = compileTemplate(html, host); + } catch (e) { + console.error("[dc-runtime] template compile FAILED for", name, e); + } + registry.bump(name); + } + function updateJs(name, src) { + const r = registry.get(name); + const seq = r.jsSeq = (r.jsSeq || 0) + 1; + try { + const Cls = evalDcLogic(src); + if (r.jsSeq !== seq) return; + if (typeof Cls !== "function") { + r.logicError = name + ".dc.html: + + + + + + + + + + +
+ + +
+
+
+
+ gameplay +
+ +
+
+ + +
+
painel de estilo
+
+ Estilo +
+ +
+
+
+ Paleta +
+ +
+
+
+ Disposição +
+ +
+
+
+ + +
+ +
+ {{ sigil }} +
+
{{ serverName }}
+
{{ tagline }}
+
+
+
+
+ + {{ players }} online +
+
+ ping + {{ ping }}ms +
+
+
+ + +
+
+
+
moeda viva
+
{{ cash }} au
+
+
+
cofre etéreo
+
{{ bank }} au
+
+
+
+ +
+
{{ clock }}
+
{{ dateStr }}
+
+
+
+ + +
+ + + + + + +
+
+
+
{{ vida.glyph }}{{ vida.value }}
+
+ {{ vida.label }} +
+
+ +
+
+
+
{{ v.glyph }}{{ v.value }}
+
+ {{ v.label }} +
+
+
+
+ + + +
+ +
+
+
+
+ {{ v.glyph }} + {{ v.value }} +
+
+ {{ v.label }} +
+
+
+
+ + + +
+ +
+ {{ v.glyph }} + {{ v.label }} +
+ {{ v.value }} +
+
+
+
+ + +
+
+
+
+
+
+ + + +
+
N
+
+ Beco do Véu + ▲ Distrito IV +
+
+
+ + +
+
+ + +
+
+ +
+ {{ voiceRange }} +
+ + + +
+
+
+
{{ mana.glyph }}{{ mana.value }}
+
+ {{ mana.label }} +
+
+
+ +
+
+ + + diff --git a/design_handoff_hud_sobrenatural/README.md b/design_handoff_hud_sobrenatural/README.md new file mode 100644 index 0000000..5737e60 --- /dev/null +++ b/design_handoff_hud_sobrenatural/README.md @@ -0,0 +1,129 @@ +# Handoff: HUD Sobrenatural (FiveM · tema ocultista / Diablo II) + +## Visão geral +HUD de jogo para um servidor de FiveM com pegada ocultista/rústica ("Diablo II"): +orbes de líquido para Vida e Mana, mini-orbes para os status secundários, +painéis de pedra com cantos dourados, minimapa, dinheiro, relógio in-game e +indicador de voz. Tudo nos cantos da tela (HUD clássica). + +O objetivo deste pacote é **adicionar este visual como uma segunda "skin" do HUD +que já existe no seu projeto** (React + Tailwind + shadcn) — não substituir o atual. + +## Sobre os arquivos +- `SupernaturalHud.tsx` — **componente React drop-in já pronto** (TypeScript, Tailwind + + estilos inline para os valores contínuos). É o ponto de partida real; cole no + projeto e ligue aos seus dados. +- `HUD Sobrenatural.dc.html` — **referência de design** (protótipo em HTML). Serve só + para conferir o visual/comportamento pretendido e tem 6 paletas × 4 estilos × + 3 disposições selecionáveis no topo. **Não é para portar este HTML** — use o `.tsx`. + +## Fidelidade +**Alta fidelidade.** Cores, tipografia, sombras e medidas são finais. O `.tsx` +reproduz o protótipo fielmente. Ajuste só o necessário para casar com a arquitetura +do seu HUD (origem dos dados, store, NUI callbacks do FiveM). + +## Integração (React + Tailwind + shadcn) + +1. **Copie** `SupernaturalHud.tsx` para os seus componentes (ex.: `src/components/hud/`). + +2. **Fontes** — o visual depende de três famílias. Adicione uma vez no app: + ```html + + + ``` + (ou `@fontsource/cinzel`, `@fontsource/cinzel-decorative`, `@fontsource/jetbrains-mono`). + +3. **Renderize** passando os dados do seu HUD (todos os vitais em 0–100): + ```tsx + + ``` + +4. **Skin selecionável** — exponha `skin/style/layout` como prop/estado do seu seletor + de tema. Para "segunda opção do HUD", basta trocar o componente renderizado conforme + a skin ativa do usuário. + +5. **Minimapa** — o protótipo desenha um minimapa fake. No FiveM o minimapa nativo é + renderizado pelo jogo: troque o bloco do minimapa por um container vazio posicionado + sobre o minimapa do jogo (mantendo a moldura de pedra), ou remova-o. + +6. **Fundo placeholder** — o `.tsx` desenha um fundo "gameplay" só para visualização. + No jogo **remova** os 3 primeiros `
` de fundo + as brasas (comentados no arquivo) + para a HUD ficar transparente sobre o jogo. As brasas são decorativas; mantenha se quiser. + +7. **Voz** — as barrinhas usam `Date.now()` para animar; se quiser reatividade real, + ligue à amplitude do mic. `voice.talking` controla o anel pulsante. + +## Props (contrato) +- `vitals: { vida, folego, fome, sede, sanidade, mana }` — **números 0–100** (obrigatório). +- `money?: { cash: string; bank: string }` — strings já formatadas (ex.: `'12.480'`). +- `server?: { name, tagline, sigil, players, ping }`. +- `clock?: { time, date }` — strings (ex.: `'03:33'`, `'III · Lua Negra'`). +- `voice?: { talking: boolean; range: string }`. +- `minimap?: { street, district }`. +- `skin?`, `style?`, `layout?` — ver acima. `className?` passa por no wrapper raiz. + +## Estilos dos vitais +- **orbes** — Vida e Mana em orbes grandes (96px) + 4 mini-orbes (58px). Estilo Diablo. +- **aneis** — 6 medidores circulares (conic-gradient). +- **barras** — 6 barras horizontais. +- **cristal** — barras com recorte angular (clip-path). + +## Disposições +- **unido** — tudo num painel de pedra único (inferior esquerdo). +- **separado** — cada elemento no seu próprio suporte de pedra. +- **classico** — orbes flanqueando: Vida à esquerda, Mana empurrada para a direita + (`right: 22` no container), estilo Diablo II. + +## Design tokens + +### Paletas (`accent` / `deep` / `glow` / `stone` / `stone2`) +- pergaminho: `#d9b25e` / `#6e4f1c` / `rgba(217,178,94,.5)` / `#181208` / `#22190c` +- sangue: `#c75b4a` / `#5e1f18` / `rgba(199,91,74,.5)` / `#1a1010` / `#241413` +- eterno: `#a87fe0` / `#3e2767` / `rgba(168,127,224,.5)`/ `#150f1d` / `#1f1630` +- esmeralda: `#5fb87a` / `#1f5236` / `rgba(95,184,122,.5)` / `#0e1611` / `#142019` +- geada: `#6fc2d6` / `#1f4e5e` / `rgba(111,194,214,.5)`/ `#0d141a` / `#131e26` +- cinzas: `#bcae98` / `#5a5040` / `rgba(188,174,152,.45)`/ `#15130f`/ `#1f1c16` + +### Matiz oklch por atributo (preenchimento dos vitais) +vida 25 · fôlego 135 · fome 60 · sede 230 · sanidade 185 · mana 295. +Cor base: `oklch(0.62 0.15 )`; com alpha: `oklch(0.62 0.15 / )`. +**⚠️ Nunca** concatene alpha hexadecimal em `oklch()` (`${col}cc` é inválido e zera o +preenchimento) — use sempre a forma `/ `. + +### Tipografia +- Display/títulos: **Cinzel Decorative** 900 (nome do servidor, sigilo, lua). +- Texto serifado: **Cinzel** 600–700 (valores grandes, relógio). +- Labels/números mono: **JetBrains Mono** (caixa alta, letter-spacing 1–2px, `#9c8458`). + +### Medidas-chave +- Orb grande 96px (borda dourada 3px → poço interno `inset:3`); mini-orb 58px. +- Anel 62px; barra altura 11px; minimapa 220×160; anel de voz 42px. +- Painéis: `border-radius:5px`, borda `rgba(180,140,70,.4)`, cantos losango 7px girados 45°. + +### Sombras / efeitos +- Bezel da orb: gradiente radial dourado + `box-shadow` externo + aura colorida do atributo + (`0 0 22px oklch(...hue.../.3)`) + relevos internos. Ver `Orb` no `.tsx`. +- Animações (keyframes no `.tsx`): `hud-meniscus` (superfície do líquido), `hud-sheen` + (reflexo varrendo), `hud-ember` (brasas), `hud-voiceripple`, `hud-lowpulse` (Vida < 30%), + `hud-glowpulse` (ponto "online"). + +## Comportamento / estados +- **Vida < 30%** → a orb pulsa em vermelho (`hud-lowpulse`). +- **voice.talking** → anel acende + ripple; barrinhas animam. +- Transições suaves de `height`/`width` (500ms) ao mudar os valores dos vitais. +- A troca de `skin`/`style`/`layout` é instantânea (sem transição nos botões — evita + resíduo de borda; foi um bug corrigido no protótipo). + +## Arquivos neste pacote +- `SupernaturalHud.tsx` — componente React (use este). +- `HUD Sobrenatural.dc.html` — protótipo de referência (todas as combinações). diff --git a/design_handoff_hud_sobrenatural/SupernaturalHud.tsx b/design_handoff_hud_sobrenatural/SupernaturalHud.tsx new file mode 100644 index 0000000..b64dc56 --- /dev/null +++ b/design_handoff_hud_sobrenatural/SupernaturalHud.tsx @@ -0,0 +1,319 @@ +/** + * SupernaturalHud — HUD de FiveM com tema ocultista / Diablo II. + * + * Drop-in para React + Tailwind. Sem dependências além de React. + * Os valores contínuos (altura do líquido, grau dos anéis) ficam em `style` + * inline de propósito — Tailwind não cobre valor contínuo por frame. + * + * Uso: + * + * + * IMPORTANTE: requer as fontes Cinzel / Cinzel Decorative / JetBrains Mono + * (veja o README — adicione o do Google Fonts ou instale via @fontsource). + */ +import React from "react"; + +/* ----------------------------------------------------------------- tipos */ +export type SkinKey = "pergaminho" | "sangue" | "eterno" | "esmeralda" | "geada" | "cinzas"; +export type StyleKey = "orbes" | "aneis" | "barras" | "cristal"; +export type LayoutKey = "unido" | "separado" | "classico"; + +export interface VitalValues { + vida: number; // 0–100 + folego: number; + fome: number; + sede: number; + sanidade: number; + mana: number; +} + +export interface SupernaturalHudProps { + vitals: VitalValues; + money?: { cash: string; bank: string }; + server?: { name: string; tagline: string; sigil: string; players: string; ping: number }; + clock?: { time: string; date: string }; + voice?: { talking: boolean; range: string }; + minimap?: { street: string; district: string }; + skin?: SkinKey; + style?: StyleKey; + layout?: LayoutKey; + className?: string; +} + +/* --------------------------------------------------------------- paletas */ +interface Skin { accent: string; deep: string; glow: string; stone: string; stone2: string; amb: string; } +const SKINS: Record = { + pergaminho: { accent: "#d9b25e", deep: "#6e4f1c", glow: "rgba(217,178,94,.5)", stone: "#181208", stone2: "#22190c", amb: "rgba(200,150,60,.12)" }, + sangue: { accent: "#c75b4a", deep: "#5e1f18", glow: "rgba(199,91,74,.5)", stone: "#1a1010", stone2: "#241413", amb: "rgba(180,60,40,.10)" }, + eterno: { accent: "#a87fe0", deep: "#3e2767", glow: "rgba(168,127,224,.5)", stone: "#150f1d", stone2: "#1f1630", amb: "rgba(120,70,200,.12)" }, + esmeralda: { accent: "#5fb87a", deep: "#1f5236", glow: "rgba(95,184,122,.5)", stone: "#0e1611", stone2: "#142019", amb: "rgba(50,160,100,.12)" }, + geada: { accent: "#6fc2d6", deep: "#1f4e5e", glow: "rgba(111,194,214,.5)", stone: "#0d141a", stone2: "#131e26", amb: "rgba(90,180,210,.12)" }, + cinzas: { accent: "#bcae98", deep: "#5a5040", glow: "rgba(188,174,152,.45)",stone: "#15130f", stone2: "#1f1c16", amb: "rgba(180,170,150,.10)" }, +}; + +/* matiz oklch por atributo */ +const HUE: Record = { vida: 25, folego: 135, fome: 60, sede: 230, sanidade: 185, mana: 295 }; +const GLYPH: Record = { vida: "ᚺ", folego: "ᛋ", fome: "ᚠ", sede: "ᛚ", sanidade: "ᛟ", mana: "ᛜ" }; +const LABEL: Record = { vida: "Vida", folego: "Fôlego", fome: "Fome", sede: "Sede", sanidade: "Sanidade", mana: "Mana" }; + +const vc = (h: number) => `oklch(0.62 0.15 ${h})`; +const vca = (h: number, a: number) => `oklch(0.62 0.15 ${h} / ${a})`; + +/* ------------------------------------------------------- keyframes (uma vez) */ +const KEYFRAMES = ` +@keyframes hud-glowpulse{0%,100%{opacity:.55}50%{opacity:1}} +@keyframes hud-voiceripple{0%{transform:scale(.8);opacity:.7}100%{transform:scale(2.1);opacity:0}} +@keyframes hud-ember{0%{transform:translateY(0) scale(1);opacity:0}12%{opacity:.7}90%{opacity:.3}100%{transform:translateY(-180px) scale(.4);opacity:0}} +@keyframes hud-lowpulse{0%,100%{box-shadow:0 0 0 0 rgba(220,40,40,0),inset 0 0 28px rgba(0,0,0,.7)}50%{box-shadow:0 0 26px 4px rgba(220,40,40,.6),inset 0 0 28px rgba(0,0,0,.7)}} +@keyframes hud-meniscus{0%,100%{transform:translateY(0);opacity:.85}50%{transform:translateY(-1.5px);opacity:1}} +@keyframes hud-sheen{0%{transform:translate(-60%,-60%) rotate(28deg);opacity:0}18%{opacity:.5}40%{transform:translate(60%,60%) rotate(28deg);opacity:0}100%{transform:translate(60%,60%) rotate(28deg);opacity:0}} +`; + +/* ============================================================ ORB / sub-peças */ +function Orb({ k, value, size, low }: { k: keyof VitalValues; value: number; size: number; low: boolean }) { + const hue = HUE[k], col = vc(hue), pct = Math.round(value), big = size > 70; + return ( +
+
+
+
+
+
+
+
+
+
+ {GLYPH[k]} + {pct} +
+
+ {LABEL[k]} +
+ ); +} + +function Ring({ k, value }: { k: keyof VitalValues; value: number }) { + const hue = HUE[k], col = vc(hue), pct = Math.round(value), deg = pct * 3.6; + return ( +
+
+
+
+ {GLYPH[k]} + {pct} +
+
+ {LABEL[k]} +
+ ); +} + +function Bar({ k, value, cristal }: { k: keyof VitalValues; value: number; cristal: boolean }) { + const hue = HUE[k], col = vc(hue), pct = Math.round(value); + return ( +
+ {GLYPH[k]} + {LABEL[k]} +
+
+
+ {pct} +
+ ); +} + +/* ==================================================================== HUD */ +const ORDER: (keyof VitalValues)[] = ["vida", "folego", "fome", "sede", "sanidade", "mana"]; + +export default function SupernaturalHud({ + vitals, + money = { cash: "12.480", bank: "84.300" }, + server = { name: "Véu Sombrio", tagline: "occult roleplay", sigil: "VS", players: "87/128", ping: 42 }, + clock = { time: "03:33", date: "III · Lua Negra" }, + voice = { talking: false, range: "MUDO" }, + minimap = { street: "Beco do Véu", district: "▲ Distrito IV" }, + skin = "pergaminho", + style = "orbes", + layout = "classico", + className = "", +}: SupernaturalHudProps) { + const c = SKINS[skin]; + const accent = c.accent; + const cristal = style === "cristal"; + const framed = layout !== "unido"; + + const stoneBg = `radial-gradient(120% 130% at 30% 0%, rgba(255,225,160,.05), transparent 55%), linear-gradient(160deg, ${c.stone2}, ${c.stone}), repeating-linear-gradient(115deg, rgba(255,255,255,.02) 0 2px, transparent 2px 6px), repeating-linear-gradient(28deg, rgba(0,0,0,.14) 0 3px, transparent 3px 9px)`; + const panelBase: React.CSSProperties = { background: stoneBg, border: "1px solid rgba(180,140,70,.4)", boxShadow: "0 10px 34px rgba(0,0,0,.6), inset 0 0 30px rgba(0,0,0,.45), inset 0 0 0 1px rgba(180,140,70,.1), inset 0 1px 0 rgba(255,220,150,.1)", borderRadius: 5, position: "relative" }; + const corner = (pos: React.CSSProperties): React.CSSProperties => ({ position: "absolute", width: 7, height: 7, transform: "rotate(45deg)", background: accent, boxShadow: `0 0 6px ${c.glow}`, ...pos }); + const blk = (extra: React.CSSProperties): React.CSSProperties => (framed ? { ...panelBase, ...extra } : extra); + + const secondary = ORDER.filter((k) => k !== "vida" && k !== "mana"); + + /* corpo dos vitais conforme estilo */ + let vitalsBody: React.ReactNode = null; + if (style === "orbes") { + vitalsBody = ( + <> +
+ +
+
+ {secondary.map((k) => )} +
+ + ); + } else if (style === "aneis") { + vitalsBody = ( +
+ {ORDER.map((k) => )} +
+ ); + } else { + vitalsBody = ( +
+ {ORDER.map((k) => )} +
+ ); + } + + const manaOrb = style === "orbes" ? ( +
+ +
+ ) : null; + + const bottomBase: React.CSSProperties = { position: "absolute", bottom: 22, left: 22, zIndex: 30, display: "flex", alignItems: "flex-end" }; + let bottomLayer: React.CSSProperties; + if (layout === "unido") bottomLayer = { ...panelBase, ...bottomBase, position: "absolute", padding: "16px 20px", gap: 18, alignItems: "center" }; + else if (layout === "classico") bottomLayer = { ...bottomBase, right: 22, gap: 14 }; + else bottomLayer = { ...bottomBase, gap: 14 }; + + const labelMono: React.CSSProperties = { fontFamily: "'JetBrains Mono',monospace", textTransform: "uppercase" }; + + return ( +
+ + + {/* fundo placeholder — REMOVA: no jogo o gameplay fica atrás da HUD */} +
+
+
+ {[0, 1, 2, 3, 4, 5, 6, 7].map((i) => ( +
+ ))} + + {/* TOPO ESQUERDA — servidor */} +
+ +
+ {server.sigil} +
+
{server.name}
+
{server.tagline}
+
+
+
+
+ + {server.players} online +
+
+ ping + {server.ping}ms +
+
+
+ + {/* TOPO DIREITA — dinheiro + relógio */} +
+
+
+
moeda viva
+
{money.cash} au
+
+
+
cofre etéreo
+
{money.bank} au
+
+
+
+ +
+
{clock.time}
+
{clock.date}
+
+
+
+ + {/* INFERIOR — vitais + minimapa + voz */} +
+ {layout === "unido" && (<>)} + + {vitalsBody} + + {/* minimapa */} +
+
+
+
+
+
+ + + +
+
N
+
+ {minimap.street} + {minimap.district} +
+
+
+ + {/* voz */} +
+
+ {voice.talking && } + +
+
+ {[0, 1, 2, 3, 4].map((i) => { + const h = voice.talking ? 4 + Math.abs(Math.sin(Date.now() / 200 + i)) * 12 : 3; + return ; + })} +
+ {voice.range} +
+ + {manaOrb} +
+
+ ); +} diff --git a/docs/TEMAS-E-SKINS.md b/docs/TEMAS-E-SKINS.md new file mode 100644 index 0000000..72ce3d7 --- /dev/null +++ b/docs/TEMAS-E-SKINS.md @@ -0,0 +1,133 @@ +# HUD — Temas de Veículo e Skins do Player (em andamento) + +Documento de acompanhamento do sistema de **temas/skins selecionáveis** do HUD. +A ideia central: cada visual novo entra como **OPÇÃO** (o admin escolhe), **sem +remover** o visual atual. Origem global no `shared/config.lua`; admins podem +trocar pelo menu do HUD (override por player, salvo em `localStorage`). + +> Status geral: **funcional / em iteração**. Defaults globais continuam no visual +> clássico, então nada muda para quem não ativar. + +--- + +## 1. Tema de Veículo — `classic` × `digital` ✅ + +Troca o cluster de veículo entre o velocímetro analógico atual (`classic`) e o +**cluster digital/tech ciano** do `design_handoff_car_hud/` (`digital`). + +- **Variantes do velocímetro digital:** `ring` (circular) · `arc` (semicircular) · + `linear`. Selecionável pelo admin. +- **Sem moldura de minimapa** (usa o radar nativo do jogo). +- Cada peça do cluster digital é um `DraggableHudElement` próprio + (`digitalCompass`, `digitalSpeedo`, `digitalFuel`, `digitalEngine`, + `digitalTurbo`, `digitalBelt`, `digitalTach`) → posicionável no F10. +- Bússola legada some quando o digital está ativo dentro do veículo; o ícone + `harness` (cinto) do status HUD some no digital+veículo (evita duplicar). + +### Arquivos +- `shared/config.lua`: `Config.VehicleHudTheme` (`classic`|`digital`), + `Config.VehicleHudVariant` (`ring`|`arc`|`linear`). +- `client/main.lua`: `sendHudConfig()` envia `vehicleTheme`; loop rápido de + telemetria envia `rpm/gear/engine/heading`; NUI callback `setVehicleTheme`. +- `web/src/stores/vehicleThemeStore.ts` +- `web/src/components/organisms/VehicleHud.tsx` (branch classic/digital) +- `web/src/components/organisms/VehicleDigitalHud.tsx` (cluster do handoff) +- Menu: seção **Veículo** em `web/src/components/menu/HudPanel.tsx` (admin). + +### Notas técnicas +- Velocímetro **arc** e a **bússola** são SVG: o `DraggableHudElement` mede só o + `` raiz (pula filhos SVG), então a caixa de limites bate no visível. + Conic-gradient/overflow:hidden geram caixas gigantes — por isso SVG. + +--- + +## 2. Skin do Player — `classic` × `sobrenatural` ✅ (com pendências) + +Reskin completo da HUD do **player** (vitais + dinheiro + servidor + voz) no +estilo ocultista/Diablo II do `design_handoff_hud_sobrenatural/`. **Não** afeta o +veículo (tema independente) e **não** tem moldura de minimapa. + +- **Customização:** 6 paletas (`pergaminho`/`sangue`/`eterno`/`esmeralda`/ + `geada`/`cinzas`) × 4 estilos de vitais (`orbes`/`aneis`/`barras`/`cristal`). +- **Cada peça é um `DraggableHudElement`** (movível separadamente no F10): + `skinServer`, `skinMoney`, `skinVoice`, e **cada vital** `skinVital_`. +- **Toggle `frameless`** — remove os fundos de pedra das **orbes** e do + **dinheiro** (ficam só as orbes / só os valores). O painel do **servidor** + mantém o fundo sempre. + +### Mapa de dados (vitais 0–100) +| vital | fonte | +|-----------|------------------------------------------| +| vida | `health` (HUD base) | +| fome | `hunger` (HUD base) | +| sede | `thirst` (HUD base) | +| fôlego | **custom** — `supernaturalVitalsStore` | +| sanidade | **custom** — `supernaturalVitalsStore` | +| mana | **custom** — `supernaturalVitalsStore` | + +Os 3 custom são alimentados por outro resource via NUI: +```lua +SendNUIMessage({ action = 'vitals', topic = 'supernatural', + folego = 80, sanidade = 60, mana = 45 }) +``` +Default 100 até um script setar. + +### Arquivos +- `shared/config.lua`: `Config.PlayerHudSkin` (`classic`|`sobrenatural`), + `Config.SupernaturalPalette`, `Config.SupernaturalStyle`, + `Config.SupernaturalFrameless`. (`Config.SupernaturalLayout` existe mas não é + usado no render — ver pendências.) +- `client/main.lua`: `sendHudConfig()` envia `playerSkin`; NUI callback + `setPlayerSkin`. +- `web/src/stores/playerSkinStore.ts` (skin/palette/style/frameless) +- `web/src/stores/supernaturalVitalsStore.ts` (folego/sanidade/mana) +- `web/src/components/organisms/SupernaturalHud.tsx` (**kit** de peças: `SKINS`, + `VitalPanel`, `ServerPanel`, `MoneyPanel`, `VoicePanel`, `ClockPanel`, helpers, + `KEYFRAMES`) +- `web/src/components/organisms/SupernaturalSkin.tsx` (container: compõe as peças + como `DraggableHudElement` e mapeia os stores) +- `web/src/App.tsx`: quando `skin === 'sobrenatural'`, oculta `MetaLayout`, + `MoneyHud`, `ServerLogoHud` e renderiza `SupernaturalSkin` (veículo/bússola + seguem normais). +- Menu: seção **Skin do HUD do Player** em `HudPanel.tsx` (admin). +- Fontes: Cinzel / Cinzel Decorative / JetBrains Mono (`web/src/index.css`). + +--- + +## 3. Pendências (continuar depois) + +1. **Painel do servidor** (`skinServer`): hoje usa defaults (`MRI`/`roleplay`), + `players`/`ping` ficam ocultos por falta de dado. Definir fonte: convar, + callback do server, ou config estático. +2. **Relógio** (`ClockPanel`): peça existe no kit mas **não é renderizada** (sem + fonte de hora in-game). Ligar a um script de tempo do servidor se quiser. +3. **Vitais custom** (fôlego/sanidade/mana): definir **quem alimenta** (resource + próprio via a action `vitals/supernatural`) ou mapear provisoriamente para + `oxygen`/`stress`/`armor`. +4. **Âncoras padrão** das peças do skin são um primeiro corte — ajustar os + defaults conforme o posicionamento desejado (ou deixar o usuário posicionar + no F10; as posições persistem). +5. **`Config.SupernaturalLayout`** (`unido`/`separado`/`classico`) ficou no + store/config mas **sem efeito** no render (posicionamento agora é manual por + peça). Decidir: remover de vez ou repropor como preset de âncoras. +6. **Broadcast runtime global**: hoje a troca do admin é override **por player** + (localStorage). Se quiser que a escolha do admin afete **todos em tempo real** + (como o accent `mri:color`), adicionar um broadcast server→clients. +7. **Posicionamento por peça no skin**: já funciona; falta validar/tunar os ids + no sistema de `positioning` (permissões canMove/canResize por elemento, se for + o caso). + +--- + +## 4. Como testar (dev) + +- `cd web && pnpm dev` (ou o servidor Vite já rodando na 5173). O `dev` liga + `debugMode=true`; os `debugMocks.ts` já ativam o tema **digital** de veículo e o + skin **sobrenatural** com valores de exemplo para visualização. +- Trocar tema/skin/paleta/estilo/frameless no menu do HUD (em debug o menu abre + sozinho; os seletores exigem `isAdmin`, que é `true` em debug). +- F10 entra no modo de posicionamento para mover/esconder/redimensionar cada + peça. +- **Build de produção:** `cd web && pnpm build` (gera `html/` com `debugMode=false`). + Os defaults globais permanecem no visual clássico. diff --git a/html/en.json b/html/en.json index 1477b95..7378db3 100644 --- a/html/en.json +++ b/html/en.json @@ -94,6 +94,22 @@ "metricsTypeMiles": "MPH", "metricsTypeKmh": "KM/H", "metricsTypeDescription": "Choose your preferred unit of measurement", + "vehicleThemeLabel": "Vehicle HUD Theme", + "vehicleThemeClassic": "Classic", + "vehicleThemeDigital": "Digital", + "vehicleThemeDescription": "Switch between the classic analog speedometer and the digital cluster", + "vehicleThemeAdminOnly": "Only admins can change the vehicle HUD theme", + "vehicleSpeedoVariantLabel": "Speedometer Format", + "vehicleSpeedoVariantDescription": "Format of the digital speedometer: ring, arc or linear", + "playerSkinLabel": "Player HUD Skin", + "playerSkinClassic": "Classic", + "playerSkinSupernatural": "Supernatural", + "playerSkinDescription": "Switch between the classic player HUD and the supernatural skin (vitals, money, server)", + "playerSkinAdminOnly": "Only admins can change the player HUD skin", + "skinPaletteLabel": "Palette", + "skinStyleLabel": "Vitals Style", + "skinLayoutLabel": "Layout", + "skinFramelessLabel": "Remove backgrounds (orbs + money)", "generalTab": "General", "customizationTab": "Customization", "positioningMenu": "Positioning", diff --git a/html/index.css b/html/index.css index 5808e7a..f1623d8 100644 --- a/html/index.css +++ b/html/index.css @@ -1 +1 @@ -@import"https://fonts.googleapis.com/css2?family=Saira:wght@300;400;500;600;700;800&display=swap";html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Saira,ui-sans-serif,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}:root{--background: 0 0% 100%;--foreground: 240 10% 3.9%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--popover: 0 0% 100%;--popover-foreground: 240 10% 3.9%;--primary: 160 100% 45%;--primary-foreground: 0 0% 98%;--secondary: 240 4.8% 95.9%;--secondary-foreground: 240 5.9% 10%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--accent: 240 4.8% 95.9%;--accent-foreground: 240 5.9% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 240 5.9% 90%;--input: 240 5.9% 90%;--ring: 160 100% 45%;--radius: .5rem}.dark{--background: 240 10% 4%;--foreground: 0 0% 98%;--card: 240 10% 6%;--card-foreground: 0 0% 98%;--popover: 240 10% 6%;--popover-foreground: 0 0% 98%;--primary: 160 100% 45%;--primary-foreground: 144 100% 10%;--secondary: 240 5% 15%;--secondary-foreground: 0 0% 98%;--muted: 240 5% 15%;--muted-foreground: 240 5% 60%;--accent: 240 5% 15%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 240 5% 15%;--input: 240 5% 15%;--ring: 160 100% 45%}*{border-color:hsl(var(--border))}body{background-color:transparent;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Saira,ui-sans-serif,system-ui,-apple-system,sans-serif}.\!visible{visibility:visible!important}.right-2{right:.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mr-auto{margin-right:auto}.aspect-video{aspect-ratio:16 / 9}.h-\[20px\]{height:20px}.h-\[400px\]{height:400px}.h-\[600px\]{height:600px}.w-48{width:12rem}.w-96{width:24rem}.w-\[350px\]{width:350px}.w-\[400px\]{width:400px}.w-\[450px\]{width:450px}.w-\[500px\]{width:500px}.w-\[700px\]{width:700px}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[800px\]{max-width:800px}.flex-shrink-0,.shrink-0{flex-shrink:0}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.75rem * var(--tw-space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.border-background{border-color:hsl(var(--background))}.border-border_primary{border-color:hsl(var(--border))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.bg-card\/50{background-color:hsl(var(--card) / .5)}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.from-primary{--tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-primary\/60{--tw-gradient-to: hsl(var(--primary) / .6) var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-20{padding:5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-8{padding-bottom:2rem}.\!font-sans{font-family:Saira,ui-sans-serif,system-ui,-apple-system,sans-serif!important}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.font-extrabold{font-weight:800}.\!text-foreground{color:hsl(var(--foreground))!important}.text-transparent{color:transparent}.shadow-\[0_0_15px_hsl\(var\(--primary\)\/0\.5\)\]{--tw-shadow: 0 0 15px hsl(var(--primary)/.5);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in,.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.slide-in-from-bottom-6{--tw-enter-translate-y: 1.5rem}.slide-in-from-left{--tw-enter-translate-x: -100%}.slide-in-from-top-1{--tw-enter-translate-y: -.25rem}.duration-100{animation-duration:.1s}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{border-radius:9999px;background-color:hsl(var(--muted))}::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .3)}.hover\:bg-red-400\/10:hover{background-color:#f871711a}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:bg-primary\/20{background-color:hsl(var(--primary) / .2)}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}@media(min-width:640px){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.lg\:scale-\[0\.65\]{--tw-scale-x: .65;--tw-scale-y: .65;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-right-4{right:-1rem}.-top-4{top:-1rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-\[0\.3vw\]{bottom:.3vw}.left-0{left:0}.left-1{left:.25rem}.left-1\.5{left:.375rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-6{left:1.5rem}.left-\[0\.3vw\]{left:.3vw}.left-\[1vh\]{left:1vh}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.right-\[0\.3vw\]{right:.3vw}.right-\[1vh\]{right:1vh}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-8{top:2rem}.top-\[0\.3vw\]{top:.3vw}.top-\[50\%\]{top:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[100\]{z-index:100}.z-\[9999\]{z-index:9999}.float-right{float:right}.-m-1{margin:-.25rem}.-m-1\.5{margin:-.375rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-auto{margin-top:auto;margin-bottom:auto}.-mb-px{margin-bottom:-1px}.-mr-16{margin-right:-4rem}.-mt-16{margin-top:-4rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-24{margin-bottom:6rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[10\%\]{margin-top:10%}.mt-\[2px\]{margin-top:2px}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.\!h-8{height:2rem!important}.\!h-\[120px\]{height:120px!important}.\!h-\[42px\]{height:42px!important}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[200px\]{height:200px}.h-\[300px\]{height:300px}.h-\[36px\]{height:36px}.h-\[40px\]{height:40px}.h-\[44px\]{height:44px}.h-\[60px\]{height:60px}.h-\[60vh\]{height:60vh}.h-\[68px\]{height:68px}.h-\[80\%\]{height:80%}.h-\[85\%\]{height:85%}.h-\[90\%\]{height:90%}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-\[1080px\]{max-height:1080px}.max-h-\[300px\]{max-height:300px}.max-h-\[700px\]{max-height:700px}.max-h-\[900px\]{max-height:900px}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0px}.min-h-\[100px\]{min-height:100px}.min-h-\[40px\]{min-height:40px}.min-h-\[550px\]{min-height:550px}.min-h-\[5rem\]{min-height:5rem}.min-h-\[600px\]{min-height:600px}.min-h-\[700px\]{min-height:700px}.min-h-screen{min-height:100vh}.\!w-8{width:2rem!important}.\!w-\[42px\]{width:42px!important}.\!w-full{width:100%!important}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/6{width:16.666667%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-5\/6{width:83.333333%}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[--radix-popover-trigger-width\]{width:var(--radix-popover-trigger-width)}.w-\[100px\]{width:100px}.w-\[100vw\]{width:100vw}.w-\[114px\]{width:114px}.w-\[124px\]{width:124px}.w-\[130px\]{width:130px}.w-\[150px\]{width:150px}.w-\[200px\]{width:200px}.w-\[25\%\]{width:25%}.w-\[300px\]{width:300px}.w-\[36px\]{width:36px}.w-\[40px\]{width:40px}.w-\[420px\]{width:420px}.w-\[42px\]{width:42px}.w-\[44px\]{width:44px}.w-\[480px\]{width:480px}.w-\[56px\]{width:56px}.w-\[60px\]{width:60px}.w-\[60vw\]{width:60vw}.w-\[640px\]{width:640px}.w-\[80\%\]{width:80%}.w-\[80px\]{width:80px}.w-\[85\%\]{width:85%}.w-\[90\%\]{width:90%}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[1000px\]{min-width:1000px}.min-w-\[1100px\]{min-width:1100px}.min-w-\[120px\]{min-width:120px}.min-w-\[900px\]{min-width:900px}.min-w-min{min-width:-moz-min-content;min-width:min-content}.max-w-2xl{max-width:42rem}.max-w-\[100px\]{max-width:100px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[1700px\]{max-width:1700px}.max-w-\[200px\]{max-width:200px}.max-w-\[90\%\]{max-width:90%}.max-w-\[900px\]{max-width:900px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-\[6\]{flex:6}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-bottom{transform-origin:bottom}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-\[10px\]{--tw-translate-x: -10px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\[0\.075em\]{--tw-translate-y: -.075em;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\[10px\]{--tw-translate-y: -10px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[0\.55\]{--tw-scale-x: .55;--tw-scale-y: .55;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.touch-pinch-zoom{--tw-pinch-zoom: pinch-zoom;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\[10px\]{gap:10px}.gap-\[4px\]{gap:4px}.gap-\[6px\]{gap:6px}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 1}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 1}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 1}.divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 1}.divide-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--border))}.divide-border\/50>:not([hidden])~:not([hidden]){border-color:hsl(var(--border) / .5)}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.text-clip{text-overflow:clip}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-wrap{text-wrap:wrap}.\!rounded-lg{border-radius:var(--radius)!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[0\.15em\]{border-radius:.15em}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\[10px\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-\[2\.5rem\]{border-bottom-right-radius:2.5rem;border-bottom-left-radius:2.5rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\[10px\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\[10px\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-\[2\.5rem\]{border-top-left-radius:2.5rem;border-top-right-radius:2.5rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[0\.15em\]{border-width:.15em}.border-x{border-left-width:1px;border-right-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-e{border-inline-end-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-amber-500\/20{border-color:#f59e0b33}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-blue-500\/20{border-color:#3b82f633}.border-border{border-color:hsl(var(--border))}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-cyan-500\/20{border-color:#06b6d433}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-destructive\/40{border-color:hsl(var(--destructive) / .4)}.border-emerald-500\/20{border-color:#10b98133}.border-green-500\/20{border-color:#22c55e33}.border-indigo-500\/20{border-color:#6366f133}.border-input{border-color:hsl(var(--input))}.border-muted-foreground\/50{border-color:hsl(var(--muted-foreground) / .5)}.border-orange-500\/20{border-color:#f9731633}.border-primary{border-color:hsl(var(--primary))}.border-primary\/10{border-color:hsl(var(--primary) / .1)}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-primary\/25{border-color:hsl(var(--primary) / .25)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-primary\/45{border-color:hsl(var(--primary) / .45)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-purple-500\/20{border-color:#a855f733}.border-red-500\/20{border-color:#ef444433}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/5{border-color:#ffffff0d}.border-white\/\[0\.06\]{border-color:#ffffff0f}.border-yellow-500\/20{border-color:#eab30833}.border-l-transparent{border-left-color:transparent}.border-t-accent{border-top-color:hsl(var(--accent))}.border-t-transparent{border-top-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/30{background-color:hsl(var(--background) / .3)}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/20{background-color:#0003}.bg-black\/40{background-color:#0006}.bg-black\/60{background-color:#0009}.bg-black\/80{background-color:#000c}.bg-black\/\[0\.12\]{background-color:#0000001f}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/30{background-color:hsl(var(--card) / .3)}.bg-card\/60{background-color:hsl(var(--card) / .6)}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-card\/90{background-color:hsl(var(--card) / .9)}.bg-card\/95{background-color:hsl(var(--card) / .95)}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity, 1))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/15{background-color:hsl(var(--destructive) / .15)}.bg-destructive\/80{background-color:hsl(var(--destructive) / .8)}.bg-destructive\/90{background-color:hsl(var(--destructive) / .9)}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/80{background-color:hsl(var(--muted) / .8)}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/80{background-color:hsl(var(--primary) / .8)}.bg-primary\/90{background-color:hsl(var(--primary) / .9)}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/\[0\.02\]{background-color:#ef444405}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/80{background-color:hsl(var(--secondary) / .8)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/5{background-color:#ffffff0d}.bg-yellow-500\/10{background-color:#eab3081a}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.bg-zinc-950\/90{background-color:#09090be6}.bg-zinc-950\/95{background-color:#09090bf2}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-500\/10{--tw-gradient-from: rgb(245 158 11 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500\/10{--tw-gradient-from: rgb(59 130 246 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-destructive\/10{--tw-gradient-from: hsl(var(--destructive) / .1) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--destructive) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500\/10{--tw-gradient-from: rgb(16 185 129 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500\/10{--tw-gradient-from: rgb(99 102 241 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500\/10{--tw-gradient-from: rgb(249 115 22 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/10{--tw-gradient-from: hsl(var(--primary) / .1) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500\/10{--tw-gradient-from: rgb(168 85 247 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-primary\/50{--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / .5) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/10{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-amber-500\/5{--tw-gradient-to: rgb(245 158 11 / .05) var(--tw-gradient-to-position)}.to-blue-500\/5{--tw-gradient-to: rgb(59 130 246 / .05) var(--tw-gradient-to-position)}.to-destructive\/5{--tw-gradient-to: hsl(var(--destructive) / .05) var(--tw-gradient-to-position)}.to-emerald-500\/5{--tw-gradient-to: rgb(16 185 129 / .05) var(--tw-gradient-to-position)}.to-indigo-500\/5{--tw-gradient-to: rgb(99 102 241 / .05) var(--tw-gradient-to-position)}.to-orange-500\/5{--tw-gradient-to: rgb(249 115 22 / .05) var(--tw-gradient-to-position)}.to-primary\/5{--tw-gradient-to: hsl(var(--primary) / .05) var(--tw-gradient-to-position)}.to-purple-500\/5{--tw-gradient-to: rgb(168 85 247 / .05) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.bg-repeat{background-repeat:repeat}.fill-yellow-400{fill:#facc15}.stroke-\[3px\]{stroke-width:3px}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.p-\[2px\]{padding:2px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-3{padding-left:.75rem}.pl-7{padding-left:1.75rem}.pl-9{padding-left:2.25rem}.pr-0{padding-right:0}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-9{padding-right:2.25rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[1\.1em\]{font-size:1.1em}.text-\[1\.2em\]{font-size:1.2em}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.normal-nums{font-variant-numeric:normal}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero: slashed-zero;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure: lining-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure: oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing: proportional-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction: diagonal-fractions;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction: stacked-fractions;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-500{--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/60{color:hsl(var(--primary) / .6)}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-400\/60{color:#f8717199}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-500\/80{color:#ef4444cc}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-zinc-300{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.accent-primary{accent-color:hsl(var(--primary))}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.mix-blend-difference{mix-blend-mode:difference}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_hsl\(var\(--primary\)\/0\.1\)\]{--tw-shadow: 0 0 10px hsl(var(--primary)/.1);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(145\,158\,11\,0\.4\)\]{--tw-shadow: 0 0 10px rgba(145,158,11,.4);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(168\,85\,247\,0\.4\)\]{--tw-shadow: 0 0 10px rgba(168,85,247,.4);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(234\,179\,8\,0\.1\)\]{--tw-shadow: 0 0 10px rgba(234,179,8,.1);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(239\,68\,68\,0\.1\)\]{--tw-shadow: 0 0 10px rgba(239,68,68,.1);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow: 0 0 10px rgba(239,68,68,.4);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(34\,197\,94\,0\.1\)\]{--tw-shadow: 0 0 10px rgba(34,197,94,.1);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(59\,130\,246\,0\.4\)\]{--tw-shadow: 0 0 10px rgba(59,130,246,.4);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(6\,182\,212\,0\.4\)\]{--tw-shadow: 0 0 10px rgba(6,182,212,.4);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow: 0 0 15px rgba(0,0,0,.2);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(var\(--primary\)\,0\.5\)\]{--tw-shadow: 0 0 15px rgba(var(--primary),.5);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(239\,68\,68\,0\.1\)\]{--tw-shadow: 0 0 20px rgba(239,68,68,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(34\,197\,94\,0\.6\)\]{--tw-shadow: 0 0 8px rgba(34,197,94,.6);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_50px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow: 0 20px 50px rgba(0,0,0,.5);--tw-shadow-colored: 0 20px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_32px_rgba\(0\,0\,0\,0\.7\)\]{--tw-shadow: 0 8px 32px rgba(0,0,0,.7);--tw-shadow-colored: 0 8px 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_-3px_0_0_var\(--primary\)\]{--tw-shadow: inset 0 -3px 0 0 var(--primary);--tw-shadow-colored: inset 0 -3px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_0_100px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow: inset 0 0 100px rgba(0,0,0,.5);--tw-shadow-colored: inset 0 0 100px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_0_20px_rgba\(var\(--primary\)\,0\.4\)\]{--tw-shadow: inset 0 0 20px rgba(var(--primary),.4);--tw-shadow-colored: inset 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_3px_0_0_0_var\(--primary\)\]{--tw-shadow: inset 3px 0 0 0 var(--primary);--tw-shadow-colored: inset 3px 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/20{--tw-shadow-color: rgb(59 130 246 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-500\/20{--tw-shadow-color: rgb(6 182 212 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-orange-500\/20{--tw-shadow-color: rgb(249 115 22 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary\/20{--tw-shadow-color: hsl(var(--primary) / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/20{--tw-shadow-color: rgb(168 85 247 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/20{--tw-shadow-color: rgb(239 68 68 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-600\/20{--tw-shadow-color: rgb(220 38 38 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-600\/30{--tw-shadow-color: rgb(220 38 38 / .3);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-border\/20{--tw-ring-color: hsl(var(--border) / .2)}.ring-destructive{--tw-ring-color: hsl(var(--destructive))}.ring-primary\/20{--tw-ring-color: hsl(var(--primary) / .2)}.ring-primary\/40{--tw-ring-color: hsl(var(--primary) / .4)}.ring-ring{--tw-ring-color: hsl(var(--ring))}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur: blur(40px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[2px\]{--tw-blur: blur(2px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[4px\]{--tw-blur: blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_0_8px_rgba\(0\,227\,150\,0\.5\)\]{--tw-drop-shadow: drop-shadow(0 0 8px rgba(0,227,150,.5));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-3xl{--tw-backdrop-blur: blur(64px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[2px\]{--tw-backdrop-blur: blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-grayscale{--tw-backdrop-grayscale: grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-invert{--tw-backdrop-invert: invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-sepia{--tw-backdrop-sepia: sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--primary: 160 100% 45%;--primary-foreground: 240 10% 4%;--ring: 160 100% 45%;--background: 240 10% 4%;--foreground: 0 0% 98%;--card: 240 10% 6%;--card-foreground: 0 0% 98%;--popover: 240 10% 6%;--popover-foreground: 0 0% 98%;--secondary: 240 5% 15%;--secondary-foreground: 0 0% 98%;--muted: 240 5% 15%;--muted-foreground: 240 5% 60%;--accent: 240 5% 15%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 240 5% 15%;--input: 240 5% 15%;--radius: .5rem;--ps-hud-primary: hsl(var(--primary));--ps-hud-secondary: hsl(var(--primary) / .85);--ps-hud-primary-hover: hsl(var(--primary) / 1)}*{box-sizing:border-box}body{margin:0;padding:0;background:transparent;overflow:hidden}.vehicle-number{font-size:2.4vh;color:#fff;font-weight:600;text-shadow:-1px -1px 0 rgba(0,0,0,.7),1px -1px 0 rgba(0,0,0,.7),-1px 1px 0 rgba(0,0,0,.7),1px 1px 0 rgba(0,0,0,.7)}.vehicle-text{font-weight:900;text-shadow:-1px -1px 0 rgba(0,0,0,.7),1px -1px 0 rgba(0,0,0,.7),-1px 1px 0 rgba(0,0,0,.7),1px 1px 0 rgba(0,0,0,.7)}@media(min-width:800px){.vehicle-number{font-size:2vh!important}.vehicle-text{font-size:.9vh!important}}@media(width:3840px)and (height:2160px){.vehicle-number{font-size:1.2vh!important}.vehicle-text{font-size:.6vh!important}}@media(width:3440px)and (height:1440px){.vehicle-number{font-size:1.4vh!important}.vehicle-text{font-size:.7vh!important}}@media(width:2560px)and (height:1440px){.vehicle-number{font-size:1.4vh!important}.vehicle-text{font-size:.7vh!important}}@media(width:1920px)and (height:1080px){.vehicle-number{font-size:2vh!important}.vehicle-text{font-size:1.1vh!important}}@media(width:1280px)and (height:720px){.vehicle-number{font-size:3vh!important}.vehicle-text{font-size:1.4vh!important}}@media(width:1280px)and (height:720px){.standard-layout{transform:scale(.7)!important;left:-3vw!important;bottom:-1vh!important}}.responsive{position:absolute!important}@media(min-width:800px){.responsive{margin-left:32vh!important;transform:scale(1);bottom:6.9vh!important}#speedometer{position:relative;left:2.5vh!important}#fuelgauge{position:relative;left:7vh!important;bottom:6.7vh!important}#altitudegauge{position:relative;left:11vh!important}#seatbelt{position:relative;left:8.5vh!important}}@media(width:1920px)and (height:1080px){.responsive{margin-left:17vw!important;transform:scale(1);bottom:5.8vh!important}#speedometer{position:relative;left:2.5vh!important}#fuelgauge{position:relative;left:3.9vw!important;bottom:5.1vh!important}#altitudegauge{position:relative;left:5.9vw!important}#seatbelt{position:relative;left:6.5vw!important}#seatbeltAltitude{position:relative;left:4.7vw!important;bottom:11vh!important}}@media(width:1280px)and (height:720px){.responsive{margin-left:30vh!important;transform:scale(1);bottom:5.8vh!important}#speedometer{position:relative;left:2.5vh!important}#fuelgauge{position:relative;left:4.8vw!important;bottom:4.7vh!important}#altitudegauge{position:relative;left:7.5vw!important}#seatbelt{position:relative;left:7.7vw!important}#seatbeltAltitude{position:relative;left:5.9vw!important;bottom:13vh!important}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:hsl(var(--card))}::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:2px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground\/60::-moz-placeholder{color:hsl(var(--muted-foreground) / .6)}.placeholder\:text-muted-foreground\/60::placeholder{color:hsl(var(--muted-foreground) / .6)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:h-3:after{content:var(--tw-content);height:.75rem}.after\:h-4:after{content:var(--tw-content);height:1rem}.after\:w-3:after{content:var(--tw-content);width:.75rem}.after\:w-4:after{content:var(--tw-content);width:1rem}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.after\:transition-transform:after{content:var(--tw-content);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\"\"\]:after{--tw-content: "";content:var(--tw-content)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-solid:hover{border-style:solid}.hover\:border-blue-500\/50:hover{border-color:#3b82f680}.hover\:border-border\/50:hover{border-color:hsl(var(--border) / .5)}.hover\:border-cyan-500\/50:hover{border-color:#06b6d480}.hover\:border-orange-500\/50:hover{border-color:#f9731680}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:border-primary\/20:hover{border-color:hsl(var(--primary) / .2)}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:border-purple-500\/50:hover{border-color:#a855f780}.hover\:border-red-500\/50:hover{border-color:#ef444480}.hover\:border-red-900\/50:hover{border-color:#7f1d1d80}.hover\:border-yellow-900\/50:hover{border-color:#713f1280}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-background\/80:hover{background-color:hsl(var(--background) / .8)}.hover\:bg-destructive\/25:hover{background-color:hsl(var(--destructive) / .25)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary) / .2)}.hover\:bg-primary\/25:hover{background-color:hsl(var(--primary) / .25)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-red-900\/20:hover{background-color:#7f1d1d33}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}.hover\:bg-yellow-900\/20:hover{background-color:#713f1233}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-yellow-300:hover{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.hover\:text-yellow-400:hover{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_20px_rgba\(168\,85\,247\,0\.1\)\]:hover{--tw-shadow: 0 0 20px rgba(168,85,247,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_20px_rgba\(239\,68\,68\,0\.1\)\]:hover{--tw-shadow: 0 0 20px rgba(239,68,68,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_20px_rgba\(245\,158\,11\,0\.1\)\]:hover{--tw-shadow: 0 0 20px rgba(245,158,11,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_20px_rgba\(59\,130\,246\,0\.1\)\]:hover{--tw-shadow: 0 0 20px rgba(59,130,246,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_20px_rgba\(6\,182\,212\,0\.1\)\]:hover{--tw-shadow: 0 0 20px rgba(6,182,212,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-black\/20:hover{--tw-shadow-color: rgb(0 0 0 / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-destructive:focus{border-color:hsl(var(--destructive))}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary) / .5)}.focus\:border-ring:focus{border-color:hsl(var(--ring))}.focus\:bg-muted:focus{background-color:hsl(var(--muted))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-background:focus{--tw-ring-offset-color: hsl(var(--background))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/mock:hover .group-hover\/mock\:scale-110,.group\/vbar:hover .group-hover\/vbar\:scale-110,.group\/vital:hover .group-hover\/vital\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-primary\/20{border-color:hsl(var(--primary) / .2)}.group:hover .group-hover\:border-primary\/30{border-color:hsl(var(--primary) / .3)}.group\/vbar:hover .group-hover\/vbar\:text-foreground,.group\/vital:hover .group-hover\/vital\:text-foreground,.group:hover .group-hover\:text-foreground{color:hsl(var(--foreground))}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}.group\/mock:hover .group-hover\/mock\:opacity-20{opacity:.2}.group\/vbar:hover .group-hover\/vbar\:opacity-100{opacity:1}.group\/vbar:hover .group-hover\/vbar\:opacity-40{opacity:.4}.group\/vital:hover .group-hover\/vital\:opacity-10{opacity:.1}.group:hover .group-hover\:opacity-100{opacity:1}.peer:checked~.peer-checked\:bg-primary{background-color:hsl(var(--primary))}.peer:checked~.peer-checked\:after\:translate-x-full:after{content:var(--tw-content);--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:focus-visible~.peer-focus-visible\:ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.peer:focus-visible~.peer-focus-visible\:ring-ring{--tw-ring-color: hsl(var(--ring))}.peer:focus-visible~.peer-focus-visible\:ring-offset-2{--tw-ring-offset-width: 2px}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:bg-primary\/10[aria-selected=true]{background-color:hsl(var(--primary) / .1)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:text-primary[aria-selected=true]{color:hsl(var(--primary))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1024px){.lg\:scale-\[0\.65\]{--tw-scale-x: .65;--tw-scale-y: .65;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[0\.5px\]>[role=checkbox]{--tw-translate-y: .5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:h-4>svg{height:1rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:w-4>svg{width:1rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px} +@import"https://fonts.googleapis.com/css2?family=Saira:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Cinzel+Decorative:wght@700;900&family=JetBrains+Mono:wght@400;600&display=swap";html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Saira,ui-sans-serif,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}:root{--background: 0 0% 100%;--foreground: 240 10% 3.9%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--popover: 0 0% 100%;--popover-foreground: 240 10% 3.9%;--primary: 160 100% 45%;--primary-foreground: 0 0% 98%;--secondary: 240 4.8% 95.9%;--secondary-foreground: 240 5.9% 10%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--accent: 240 4.8% 95.9%;--accent-foreground: 240 5.9% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 240 5.9% 90%;--input: 240 5.9% 90%;--ring: 160 100% 45%;--radius: .5rem}.dark{--background: 240 10% 4%;--foreground: 0 0% 98%;--card: 240 10% 6%;--card-foreground: 0 0% 98%;--popover: 240 10% 6%;--popover-foreground: 0 0% 98%;--primary: 160 100% 45%;--primary-foreground: 144 100% 10%;--secondary: 240 5% 15%;--secondary-foreground: 0 0% 98%;--muted: 240 5% 15%;--muted-foreground: 240 5% 60%;--accent: 240 5% 15%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 240 5% 15%;--input: 240 5% 15%;--ring: 160 100% 45%}*{border-color:hsl(var(--border))}body{background-color:transparent;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Saira,ui-sans-serif,system-ui,-apple-system,sans-serif}.\!visible{visibility:visible!important}.right-2{right:.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mr-auto{margin-right:auto}.aspect-video{aspect-ratio:16 / 9}.h-\[20px\]{height:20px}.h-\[400px\]{height:400px}.h-\[600px\]{height:600px}.w-48{width:12rem}.w-96{width:24rem}.w-\[350px\]{width:350px}.w-\[400px\]{width:400px}.w-\[450px\]{width:450px}.w-\[500px\]{width:500px}.w-\[700px\]{width:700px}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[800px\]{max-width:800px}.flex-shrink-0,.shrink-0{flex-shrink:0}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.75rem * var(--tw-space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.border-background{border-color:hsl(var(--background))}.border-border_primary{border-color:hsl(var(--border))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.bg-card\/50{background-color:hsl(var(--card) / .5)}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.from-primary{--tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-primary\/60{--tw-gradient-to: hsl(var(--primary) / .6) var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-20{padding:5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-8{padding-bottom:2rem}.\!font-sans{font-family:Saira,ui-sans-serif,system-ui,-apple-system,sans-serif!important}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.font-extrabold{font-weight:800}.\!text-foreground{color:hsl(var(--foreground))!important}.text-transparent{color:transparent}.shadow-\[0_0_15px_hsl\(var\(--primary\)\/0\.5\)\]{--tw-shadow: 0 0 15px hsl(var(--primary)/.5);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in,.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.slide-in-from-bottom-6{--tw-enter-translate-y: 1.5rem}.slide-in-from-left{--tw-enter-translate-x: -100%}.slide-in-from-top-1{--tw-enter-translate-y: -.25rem}.duration-100{animation-duration:.1s}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{border-radius:9999px;background-color:hsl(var(--muted))}::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .3)}.hover\:bg-red-400\/10:hover{background-color:#f871711a}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:bg-primary\/20{background-color:hsl(var(--primary) / .2)}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}@media(min-width:640px){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.lg\:scale-\[0\.65\]{--tw-scale-x: .65;--tw-scale-y: .65;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-right-4{right:-1rem}.-top-4{top:-1rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-\[0\.3vw\]{bottom:.3vw}.left-0{left:0}.left-1{left:.25rem}.left-1\.5{left:.375rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-6{left:1.5rem}.left-\[0\.3vw\]{left:.3vw}.left-\[1vh\]{left:1vh}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.right-\[0\.3vw\]{right:.3vw}.right-\[1vh\]{right:1vh}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-8{top:2rem}.top-\[0\.3vw\]{top:.3vw}.top-\[50\%\]{top:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[100\]{z-index:100}.z-\[2\]{z-index:2}.z-\[3\]{z-index:3}.z-\[9999\]{z-index:9999}.float-right{float:right}.-m-1{margin:-.25rem}.-m-1\.5{margin:-.375rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-auto{margin-top:auto;margin-bottom:auto}.-mb-px{margin-bottom:-1px}.-mr-16{margin-right:-4rem}.-mt-16{margin-top:-4rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-24{margin-bottom:6rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[10\%\]{margin-top:10%}.mt-\[2px\]{margin-top:2px}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.\!h-8{height:2rem!important}.\!h-\[120px\]{height:120px!important}.\!h-\[42px\]{height:42px!important}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[200px\]{height:200px}.h-\[300px\]{height:300px}.h-\[36px\]{height:36px}.h-\[40px\]{height:40px}.h-\[44px\]{height:44px}.h-\[60px\]{height:60px}.h-\[60vh\]{height:60vh}.h-\[68px\]{height:68px}.h-\[80\%\]{height:80%}.h-\[85\%\]{height:85%}.h-\[90\%\]{height:90%}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-\[1080px\]{max-height:1080px}.max-h-\[300px\]{max-height:300px}.max-h-\[700px\]{max-height:700px}.max-h-\[900px\]{max-height:900px}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0px}.min-h-\[100px\]{min-height:100px}.min-h-\[40px\]{min-height:40px}.min-h-\[550px\]{min-height:550px}.min-h-\[5rem\]{min-height:5rem}.min-h-\[600px\]{min-height:600px}.min-h-\[700px\]{min-height:700px}.min-h-screen{min-height:100vh}.\!w-8{width:2rem!important}.\!w-\[42px\]{width:42px!important}.\!w-full{width:100%!important}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/6{width:16.666667%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-5\/6{width:83.333333%}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[--radix-popover-trigger-width\]{width:var(--radix-popover-trigger-width)}.w-\[100px\]{width:100px}.w-\[100vw\]{width:100vw}.w-\[114px\]{width:114px}.w-\[124px\]{width:124px}.w-\[130px\]{width:130px}.w-\[150px\]{width:150px}.w-\[200px\]{width:200px}.w-\[25\%\]{width:25%}.w-\[300px\]{width:300px}.w-\[36px\]{width:36px}.w-\[40px\]{width:40px}.w-\[420px\]{width:420px}.w-\[42px\]{width:42px}.w-\[44px\]{width:44px}.w-\[480px\]{width:480px}.w-\[56px\]{width:56px}.w-\[60px\]{width:60px}.w-\[60vw\]{width:60vw}.w-\[640px\]{width:640px}.w-\[80\%\]{width:80%}.w-\[80px\]{width:80px}.w-\[85\%\]{width:85%}.w-\[90\%\]{width:90%}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[1000px\]{min-width:1000px}.min-w-\[1100px\]{min-width:1100px}.min-w-\[120px\]{min-width:120px}.min-w-\[900px\]{min-width:900px}.min-w-min{min-width:-moz-min-content;min-width:min-content}.max-w-2xl{max-width:42rem}.max-w-\[100px\]{max-width:100px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[1700px\]{max-width:1700px}.max-w-\[200px\]{max-width:200px}.max-w-\[90\%\]{max-width:90%}.max-w-\[900px\]{max-width:900px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-\[6\]{flex:6}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-bottom{transform-origin:bottom}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-\[10px\]{--tw-translate-x: -10px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\[0\.075em\]{--tw-translate-y: -.075em;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\[10px\]{--tw-translate-y: -10px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[0\.55\]{--tw-scale-x: .55;--tw-scale-y: .55;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.touch-pinch-zoom{--tw-pinch-zoom: pinch-zoom;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\[10px\]{gap:10px}.gap-\[11px\]{gap:11px}.gap-\[3px\]{gap:3px}.gap-\[4px\]{gap:4px}.gap-\[6px\]{gap:6px}.gap-\[7px\]{gap:7px}.gap-px{gap:1px}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 1}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 1}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 1}.divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 1}.divide-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--border))}.divide-border\/50>:not([hidden])~:not([hidden]){border-color:hsl(var(--border) / .5)}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.text-clip{text-overflow:clip}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-wrap{text-wrap:wrap}.\!rounded-lg{border-radius:var(--radius)!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[0\.15em\]{border-radius:.15em}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\[10px\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-\[2\.5rem\]{border-bottom-right-radius:2.5rem;border-bottom-left-radius:2.5rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\[10px\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\[10px\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-\[2\.5rem\]{border-top-left-radius:2.5rem;border-top-right-radius:2.5rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[0\.15em\]{border-width:.15em}.border-x{border-left-width:1px;border-right-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-e{border-inline-end-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-amber-500\/20{border-color:#f59e0b33}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-blue-500\/20{border-color:#3b82f633}.border-border{border-color:hsl(var(--border))}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-cyan-500\/20{border-color:#06b6d433}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-destructive\/40{border-color:hsl(var(--destructive) / .4)}.border-emerald-500\/20{border-color:#10b98133}.border-green-500\/20{border-color:#22c55e33}.border-indigo-500\/20{border-color:#6366f133}.border-input{border-color:hsl(var(--input))}.border-muted-foreground\/50{border-color:hsl(var(--muted-foreground) / .5)}.border-orange-500\/20{border-color:#f9731633}.border-primary{border-color:hsl(var(--primary))}.border-primary\/10{border-color:hsl(var(--primary) / .1)}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-primary\/25{border-color:hsl(var(--primary) / .25)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-primary\/45{border-color:hsl(var(--primary) / .45)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-purple-500\/20{border-color:#a855f733}.border-red-500\/20{border-color:#ef444433}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/5{border-color:#ffffff0d}.border-white\/\[0\.06\]{border-color:#ffffff0f}.border-yellow-500\/20{border-color:#eab30833}.border-l-transparent{border-left-color:transparent}.border-t-accent{border-top-color:hsl(var(--accent))}.border-t-transparent{border-top-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/30{background-color:hsl(var(--background) / .3)}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/20{background-color:#0003}.bg-black\/40{background-color:#0006}.bg-black\/60{background-color:#0009}.bg-black\/80{background-color:#000c}.bg-black\/\[0\.12\]{background-color:#0000001f}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/30{background-color:hsl(var(--card) / .3)}.bg-card\/60{background-color:hsl(var(--card) / .6)}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-card\/90{background-color:hsl(var(--card) / .9)}.bg-card\/95{background-color:hsl(var(--card) / .95)}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity, 1))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/15{background-color:hsl(var(--destructive) / .15)}.bg-destructive\/80{background-color:hsl(var(--destructive) / .8)}.bg-destructive\/90{background-color:hsl(var(--destructive) / .9)}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/80{background-color:hsl(var(--muted) / .8)}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/80{background-color:hsl(var(--primary) / .8)}.bg-primary\/90{background-color:hsl(var(--primary) / .9)}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/\[0\.02\]{background-color:#ef444405}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/80{background-color:hsl(var(--secondary) / .8)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/5{background-color:#ffffff0d}.bg-yellow-500\/10{background-color:#eab3081a}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.bg-zinc-950\/90{background-color:#09090be6}.bg-zinc-950\/95{background-color:#09090bf2}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-500\/10{--tw-gradient-from: rgb(245 158 11 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500\/10{--tw-gradient-from: rgb(59 130 246 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-destructive\/10{--tw-gradient-from: hsl(var(--destructive) / .1) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--destructive) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500\/10{--tw-gradient-from: rgb(16 185 129 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500\/10{--tw-gradient-from: rgb(99 102 241 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500\/10{--tw-gradient-from: rgb(249 115 22 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/10{--tw-gradient-from: hsl(var(--primary) / .1) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500\/10{--tw-gradient-from: rgb(168 85 247 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-primary\/50{--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / .5) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/10{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-amber-500\/5{--tw-gradient-to: rgb(245 158 11 / .05) var(--tw-gradient-to-position)}.to-blue-500\/5{--tw-gradient-to: rgb(59 130 246 / .05) var(--tw-gradient-to-position)}.to-destructive\/5{--tw-gradient-to: hsl(var(--destructive) / .05) var(--tw-gradient-to-position)}.to-emerald-500\/5{--tw-gradient-to: rgb(16 185 129 / .05) var(--tw-gradient-to-position)}.to-indigo-500\/5{--tw-gradient-to: rgb(99 102 241 / .05) var(--tw-gradient-to-position)}.to-orange-500\/5{--tw-gradient-to: rgb(249 115 22 / .05) var(--tw-gradient-to-position)}.to-primary\/5{--tw-gradient-to: hsl(var(--primary) / .05) var(--tw-gradient-to-position)}.to-purple-500\/5{--tw-gradient-to: rgb(168 85 247 / .05) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.bg-repeat{background-repeat:repeat}.fill-yellow-400{fill:#facc15}.stroke-\[3px\]{stroke-width:3px}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.p-\[2px\]{padding:2px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-3{padding-left:.75rem}.pl-7{padding-left:1.75rem}.pl-9{padding-left:2.25rem}.pr-0{padding-right:0}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-9{padding-right:2.25rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-\[11px\]{padding-top:11px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[1\.1em\]{font-size:1.1em}.text-\[1\.2em\]{font-size:1.2em}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.normal-nums{font-variant-numeric:normal}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero: slashed-zero;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure: lining-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure: oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing: proportional-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction: diagonal-fractions;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction: stacked-fractions;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-500{--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/60{color:hsl(var(--primary) / .6)}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-400\/60{color:#f8717199}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-500\/80{color:#ef4444cc}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-zinc-300{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.accent-primary{accent-color:hsl(var(--primary))}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.mix-blend-difference{mix-blend-mode:difference}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_hsl\(var\(--primary\)\/0\.1\)\]{--tw-shadow: 0 0 10px hsl(var(--primary)/.1);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(145\,158\,11\,0\.4\)\]{--tw-shadow: 0 0 10px rgba(145,158,11,.4);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(168\,85\,247\,0\.4\)\]{--tw-shadow: 0 0 10px rgba(168,85,247,.4);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(234\,179\,8\,0\.1\)\]{--tw-shadow: 0 0 10px rgba(234,179,8,.1);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(239\,68\,68\,0\.1\)\]{--tw-shadow: 0 0 10px rgba(239,68,68,.1);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow: 0 0 10px rgba(239,68,68,.4);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(34\,197\,94\,0\.1\)\]{--tw-shadow: 0 0 10px rgba(34,197,94,.1);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(59\,130\,246\,0\.4\)\]{--tw-shadow: 0 0 10px rgba(59,130,246,.4);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(6\,182\,212\,0\.4\)\]{--tw-shadow: 0 0 10px rgba(6,182,212,.4);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow: 0 0 15px rgba(0,0,0,.2);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(var\(--primary\)\,0\.5\)\]{--tw-shadow: 0 0 15px rgba(var(--primary),.5);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(239\,68\,68\,0\.1\)\]{--tw-shadow: 0 0 20px rgba(239,68,68,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(34\,197\,94\,0\.6\)\]{--tw-shadow: 0 0 8px rgba(34,197,94,.6);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_50px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow: 0 20px 50px rgba(0,0,0,.5);--tw-shadow-colored: 0 20px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_32px_rgba\(0\,0\,0\,0\.7\)\]{--tw-shadow: 0 8px 32px rgba(0,0,0,.7);--tw-shadow-colored: 0 8px 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_-3px_0_0_var\(--primary\)\]{--tw-shadow: inset 0 -3px 0 0 var(--primary);--tw-shadow-colored: inset 0 -3px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_0_100px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow: inset 0 0 100px rgba(0,0,0,.5);--tw-shadow-colored: inset 0 0 100px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_0_20px_rgba\(var\(--primary\)\,0\.4\)\]{--tw-shadow: inset 0 0 20px rgba(var(--primary),.4);--tw-shadow-colored: inset 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_3px_0_0_0_var\(--primary\)\]{--tw-shadow: inset 3px 0 0 0 var(--primary);--tw-shadow-colored: inset 3px 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/20{--tw-shadow-color: rgb(59 130 246 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-500\/20{--tw-shadow-color: rgb(6 182 212 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-orange-500\/20{--tw-shadow-color: rgb(249 115 22 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary\/20{--tw-shadow-color: hsl(var(--primary) / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/20{--tw-shadow-color: rgb(168 85 247 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/20{--tw-shadow-color: rgb(239 68 68 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-600\/20{--tw-shadow-color: rgb(220 38 38 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-600\/30{--tw-shadow-color: rgb(220 38 38 / .3);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-border\/20{--tw-ring-color: hsl(var(--border) / .2)}.ring-destructive{--tw-ring-color: hsl(var(--destructive))}.ring-primary\/20{--tw-ring-color: hsl(var(--primary) / .2)}.ring-primary\/40{--tw-ring-color: hsl(var(--primary) / .4)}.ring-ring{--tw-ring-color: hsl(var(--ring))}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur: blur(40px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[2px\]{--tw-blur: blur(2px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[4px\]{--tw-blur: blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_0_8px_rgba\(0\,227\,150\,0\.5\)\]{--tw-drop-shadow: drop-shadow(0 0 8px rgba(0,227,150,.5));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-3xl{--tw-backdrop-blur: blur(64px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[2px\]{--tw-backdrop-blur: blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-grayscale{--tw-backdrop-grayscale: grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-invert{--tw-backdrop-invert: invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-sepia{--tw-backdrop-sepia: sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[height\]{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--primary: 160 100% 45%;--primary-foreground: 240 10% 4%;--ring: 160 100% 45%;--background: 240 10% 4%;--foreground: 0 0% 98%;--card: 240 10% 6%;--card-foreground: 0 0% 98%;--popover: 240 10% 6%;--popover-foreground: 0 0% 98%;--secondary: 240 5% 15%;--secondary-foreground: 0 0% 98%;--muted: 240 5% 15%;--muted-foreground: 240 5% 60%;--accent: 240 5% 15%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 240 5% 15%;--input: 240 5% 15%;--radius: .5rem;--ps-hud-primary: hsl(var(--primary));--ps-hud-secondary: hsl(var(--primary) / .85);--ps-hud-primary-hover: hsl(var(--primary) / 1)}*{box-sizing:border-box}body{margin:0;padding:0;background:transparent;overflow:hidden}.vehicle-number{font-size:2.4vh;color:#fff;font-weight:600;text-shadow:-1px -1px 0 rgba(0,0,0,.7),1px -1px 0 rgba(0,0,0,.7),-1px 1px 0 rgba(0,0,0,.7),1px 1px 0 rgba(0,0,0,.7)}.vehicle-text{font-weight:900;text-shadow:-1px -1px 0 rgba(0,0,0,.7),1px -1px 0 rgba(0,0,0,.7),-1px 1px 0 rgba(0,0,0,.7),1px 1px 0 rgba(0,0,0,.7)}@media(min-width:800px){.vehicle-number{font-size:2vh!important}.vehicle-text{font-size:.9vh!important}}@media(width:3840px)and (height:2160px){.vehicle-number{font-size:1.2vh!important}.vehicle-text{font-size:.6vh!important}}@media(width:3440px)and (height:1440px){.vehicle-number{font-size:1.4vh!important}.vehicle-text{font-size:.7vh!important}}@media(width:2560px)and (height:1440px){.vehicle-number{font-size:1.4vh!important}.vehicle-text{font-size:.7vh!important}}@media(width:1920px)and (height:1080px){.vehicle-number{font-size:2vh!important}.vehicle-text{font-size:1.1vh!important}}@media(width:1280px)and (height:720px){.vehicle-number{font-size:3vh!important}.vehicle-text{font-size:1.4vh!important}}@media(width:1280px)and (height:720px){.standard-layout{transform:scale(.7)!important;left:-3vw!important;bottom:-1vh!important}}.responsive{position:absolute!important}@media(min-width:800px){.responsive{margin-left:32vh!important;transform:scale(1);bottom:6.9vh!important}#speedometer{position:relative;left:2.5vh!important}#fuelgauge{position:relative;left:7vh!important;bottom:6.7vh!important}#altitudegauge{position:relative;left:11vh!important}#seatbelt{position:relative;left:8.5vh!important}}@media(width:1920px)and (height:1080px){.responsive{margin-left:17vw!important;transform:scale(1);bottom:5.8vh!important}#speedometer{position:relative;left:2.5vh!important}#fuelgauge{position:relative;left:3.9vw!important;bottom:5.1vh!important}#altitudegauge{position:relative;left:5.9vw!important}#seatbelt{position:relative;left:6.5vw!important}#seatbeltAltitude{position:relative;left:4.7vw!important;bottom:11vh!important}}@media(width:1280px)and (height:720px){.responsive{margin-left:30vh!important;transform:scale(1);bottom:5.8vh!important}#speedometer{position:relative;left:2.5vh!important}#fuelgauge{position:relative;left:4.8vw!important;bottom:4.7vh!important}#altitudegauge{position:relative;left:7.5vw!important}#seatbelt{position:relative;left:7.7vw!important}#seatbeltAltitude{position:relative;left:5.9vw!important;bottom:13vh!important}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:hsl(var(--card))}::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:2px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground\/60::-moz-placeholder{color:hsl(var(--muted-foreground) / .6)}.placeholder\:text-muted-foreground\/60::placeholder{color:hsl(var(--muted-foreground) / .6)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:h-3:after{content:var(--tw-content);height:.75rem}.after\:h-4:after{content:var(--tw-content);height:1rem}.after\:w-3:after{content:var(--tw-content);width:.75rem}.after\:w-4:after{content:var(--tw-content);width:1rem}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.after\:transition-transform:after{content:var(--tw-content);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\"\"\]:after{--tw-content: "";content:var(--tw-content)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-solid:hover{border-style:solid}.hover\:border-blue-500\/50:hover{border-color:#3b82f680}.hover\:border-border\/50:hover{border-color:hsl(var(--border) / .5)}.hover\:border-cyan-500\/50:hover{border-color:#06b6d480}.hover\:border-orange-500\/50:hover{border-color:#f9731680}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:border-primary\/20:hover{border-color:hsl(var(--primary) / .2)}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:border-purple-500\/50:hover{border-color:#a855f780}.hover\:border-red-500\/50:hover{border-color:#ef444480}.hover\:border-red-900\/50:hover{border-color:#7f1d1d80}.hover\:border-yellow-900\/50:hover{border-color:#713f1280}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-background\/80:hover{background-color:hsl(var(--background) / .8)}.hover\:bg-destructive\/25:hover{background-color:hsl(var(--destructive) / .25)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary) / .2)}.hover\:bg-primary\/25:hover{background-color:hsl(var(--primary) / .25)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-red-900\/20:hover{background-color:#7f1d1d33}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}.hover\:bg-yellow-900\/20:hover{background-color:#713f1233}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-yellow-300:hover{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.hover\:text-yellow-400:hover{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_20px_rgba\(168\,85\,247\,0\.1\)\]:hover{--tw-shadow: 0 0 20px rgba(168,85,247,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_20px_rgba\(239\,68\,68\,0\.1\)\]:hover{--tw-shadow: 0 0 20px rgba(239,68,68,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_20px_rgba\(245\,158\,11\,0\.1\)\]:hover{--tw-shadow: 0 0 20px rgba(245,158,11,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_20px_rgba\(59\,130\,246\,0\.1\)\]:hover{--tw-shadow: 0 0 20px rgba(59,130,246,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_20px_rgba\(6\,182\,212\,0\.1\)\]:hover{--tw-shadow: 0 0 20px rgba(6,182,212,.1);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-black\/20:hover{--tw-shadow-color: rgb(0 0 0 / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-destructive:focus{border-color:hsl(var(--destructive))}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary) / .5)}.focus\:border-ring:focus{border-color:hsl(var(--ring))}.focus\:bg-muted:focus{background-color:hsl(var(--muted))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-background:focus{--tw-ring-offset-color: hsl(var(--background))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/mock:hover .group-hover\/mock\:scale-110,.group\/vbar:hover .group-hover\/vbar\:scale-110,.group\/vital:hover .group-hover\/vital\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-primary\/20{border-color:hsl(var(--primary) / .2)}.group:hover .group-hover\:border-primary\/30{border-color:hsl(var(--primary) / .3)}.group\/vbar:hover .group-hover\/vbar\:text-foreground,.group\/vital:hover .group-hover\/vital\:text-foreground,.group:hover .group-hover\:text-foreground{color:hsl(var(--foreground))}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}.group\/mock:hover .group-hover\/mock\:opacity-20{opacity:.2}.group\/vbar:hover .group-hover\/vbar\:opacity-100{opacity:1}.group\/vbar:hover .group-hover\/vbar\:opacity-40{opacity:.4}.group\/vital:hover .group-hover\/vital\:opacity-10{opacity:.1}.group:hover .group-hover\:opacity-100{opacity:1}.peer:checked~.peer-checked\:bg-primary{background-color:hsl(var(--primary))}.peer:checked~.peer-checked\:after\:translate-x-full:after{content:var(--tw-content);--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:focus-visible~.peer-focus-visible\:ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.peer:focus-visible~.peer-focus-visible\:ring-ring{--tw-ring-color: hsl(var(--ring))}.peer:focus-visible~.peer-focus-visible\:ring-offset-2{--tw-ring-offset-width: 2px}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:bg-primary\/10[aria-selected=true]{background-color:hsl(var(--primary) / .1)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:text-primary[aria-selected=true]{color:hsl(var(--primary))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1024px){.lg\:scale-\[0\.65\]{--tw-scale-x: .65;--tw-scale-y: .65;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[0\.5px\]>[role=checkbox]{--tw-translate-y: .5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:h-4>svg{height:1rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:w-4>svg{width:1rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px} diff --git a/html/index.js b/html/index.js index 067d04e..810206a 100644 --- a/html/index.js +++ b/html/index.js @@ -1,4 +1,4 @@ -var m4=Object.defineProperty;var g4=(e,n,o)=>n in e?m4(e,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[n]=o;var De=(e,n,o)=>g4(e,typeof n!="symbol"?n+"":n,o);function v4(e,n){for(var o=0;oi[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))i(a);new MutationObserver(a=>{for(const l of a)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&i(u)}).observe(document,{childList:!0,subtree:!0});function o(a){const l={};return a.integrity&&(l.integrity=a.integrity),a.referrerPolicy&&(l.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?l.credentials="include":a.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function i(a){if(a.ep)return;a.ep=!0;const l=o(a);fetch(a.href,l)}})();function Nl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Tu={exports:{}},ns={},Lu={exports:{}},Ne={};/** +var q5=Object.defineProperty;var Q5=(e,n,r)=>n in e?q5(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r;var De=(e,n,r)=>Q5(e,typeof n!="symbol"?n+"":n,r);function J5(e,n){for(var r=0;ri[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))i(a);new MutationObserver(a=>{for(const l of a)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&i(u)}).observe(document,{childList:!0,subtree:!0});function r(a){const l={};return a.integrity&&(l.integrity=a.integrity),a.referrerPolicy&&(l.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?l.credentials="include":a.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function i(a){if(a.ep)return;a.ep=!0;const l=r(a);fetch(a.href,l)}})();function Fl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Qu={exports:{}},ps={},Ju={exports:{}},Ne={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var m4=Object.defineProperty;var g4=(e,n,o)=>n in e?m4(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Zh;function y4(){if(Zh)return Ne;Zh=1;var e=Symbol.for("react.element"),n=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),u=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),x=Symbol.iterator;function b(_){return _===null||typeof _!="object"?null:(_=x&&_[x]||_["@@iterator"],typeof _=="function"?_:null)}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},N=Object.assign,k={};function j(_,I,G){this.props=_,this.context=I,this.refs=k,this.updater=G||C}j.prototype.isReactComponent={},j.prototype.setState=function(_,I){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,I,"setState")},j.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function M(){}M.prototype=j.prototype;function E(_,I,G){this.props=_,this.context=I,this.refs=k,this.updater=G||C}var R=E.prototype=new M;R.constructor=E,N(R,j.prototype),R.isPureReactComponent=!0;var z=Array.isArray,L=Object.prototype.hasOwnProperty,A={current:null},D={key:!0,ref:!0,__self:!0,__source:!0};function F(_,I,G){var ee,K={},ne=null,se=null;if(I!=null)for(ee in I.ref!==void 0&&(se=I.ref),I.key!==void 0&&(ne=""+I.key),I)L.call(I,ee)&&!D.hasOwnProperty(ee)&&(K[ee]=I[ee]);var he=arguments.length-2;if(he===1)K.children=G;else if(1n in e?m4(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var em;function x4(){if(em)return ns;em=1;var e=id(),n=Symbol.for("react.element"),o=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,a=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function u(f,h,m){var v,x={},b=null,C=null;m!==void 0&&(b=""+m),h.key!==void 0&&(b=""+h.key),h.ref!==void 0&&(C=h.ref);for(v in h)i.call(h,v)&&!l.hasOwnProperty(v)&&(x[v]=h[v]);if(f&&f.defaultProps)for(v in h=f.defaultProps,h)x[v]===void 0&&(x[v]=h[v]);return{$$typeof:n,type:f,key:b,ref:C,props:x,_owner:a.current}}return ns.Fragment=o,ns.jsx=u,ns.jsxs=u,ns}var tm;function w4(){return tm||(tm=1,Tu.exports=x4()),Tu.exports}var g=w4(),Wa={},Fu={exports:{}},Tt={},$u={exports:{}},Hu={};/** + */var Sm;function e4(){if(Sm)return ps;Sm=1;var e=bf(),n=Symbol.for("react.element"),r=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,a=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function u(d,h,m){var y,x={},b=null,C=null;m!==void 0&&(b=""+m),h.key!==void 0&&(b=""+h.key),h.ref!==void 0&&(C=h.ref);for(y in h)i.call(h,y)&&!l.hasOwnProperty(y)&&(x[y]=h[y]);if(d&&d.defaultProps)for(y in h=d.defaultProps,h)x[y]===void 0&&(x[y]=h[y]);return{$$typeof:n,type:d,key:b,ref:C,props:x,_owner:a.current}}return ps.Fragment=r,ps.jsx=u,ps.jsxs=u,ps}var Cm;function t4(){return Cm||(Cm=1,Qu.exports=e4()),Qu.exports}var p=t4(),el={},Zu={exports:{}},$t={},ed={exports:{}},td={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var m4=Object.defineProperty;var g4=(e,n,o)=>n in e?m4(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var nm;function b4(){return nm||(nm=1,(function(e){function n(U,Q){var Z=U.length;U.push(Q);e:for(;0>>1,I=U[_];if(0>>1;_a(K,Z))nea(se,K)?(U[_]=se,U[ne]=Z,_=ne):(U[_]=K,U[ee]=Z,_=ee);else if(nea(se,Z))U[_]=se,U[ne]=Z,_=ne;else break e}}return Q}function a(U,Q){var Z=U.sortIndex-Q.sortIndex;return Z!==0?Z:U.id-Q.id}if(typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var h=[],m=[],v=1,x=null,b=3,C=!1,N=!1,k=!1,j=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function R(U){for(var Q=o(m);Q!==null;){if(Q.callback===null)i(m);else if(Q.startTime<=U)i(m),Q.sortIndex=Q.expirationTime,n(h,Q);else break;Q=o(m)}}function z(U){if(k=!1,R(U),!N)if(o(h)!==null)N=!0,ae(L);else{var Q=o(m);Q!==null&&fe(z,Q.startTime-U)}}function L(U,Q){N=!1,k&&(k=!1,M(F),F=-1),C=!0;var Z=b;try{for(R(Q),x=o(h);x!==null&&(!(x.expirationTime>Q)||U&&!oe());){var _=x.callback;if(typeof _=="function"){x.callback=null,b=x.priorityLevel;var I=_(x.expirationTime<=Q);Q=e.unstable_now(),typeof I=="function"?x.callback=I:x===o(h)&&i(h),R(Q)}else i(h);x=o(h)}if(x!==null)var G=!0;else{var ee=o(m);ee!==null&&fe(z,ee.startTime-Q),G=!1}return G}finally{x=null,b=Z,C=!1}}var A=!1,D=null,F=-1,W=5,J=-1;function oe(){return!(e.unstable_now()-JU||125_?(U.sortIndex=Z,n(m,U),o(h)===null&&U===o(m)&&(k?(M(F),F=-1):k=!0,fe(z,Z-_))):(U.sortIndex=I,n(h,U),N||C||(N=!0,ae(L))),U},e.unstable_shouldYield=oe,e.unstable_wrapCallback=function(U){var Q=b;return function(){var Z=b;b=Q;try{return U.apply(this,arguments)}finally{b=Z}}}})(Hu)),Hu}var rm;function S4(){return rm||(rm=1,$u.exports=b4()),$u.exports}/** + */var km;function n4(){return km||(km=1,(function(e){function n(Y,I){var q=Y.length;Y.push(I);e:for(;0>>1,z=Y[T];if(0>>1;Ta(Q,q))nea(le,Q)?(Y[T]=le,Y[ne]=q,T=ne):(Y[T]=Q,Y[ee]=q,T=ee);else if(nea(le,q))Y[T]=le,Y[ne]=q,T=ne;else break e}}return I}function a(Y,I){var q=Y.sortIndex-I.sortIndex;return q!==0?q:Y.id-I.id}if(typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var u=Date,d=u.now();e.unstable_now=function(){return u.now()-d}}var h=[],m=[],y=1,x=null,b=3,C=!1,N=!1,E=!1,j=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function M(Y){for(var I=r(m);I!==null;){if(I.callback===null)i(m);else if(I.startTime<=Y)i(m),I.sortIndex=I.expirationTime,n(h,I);else break;I=r(m)}}function P(Y){if(E=!1,M(Y),!N)if(r(h)!==null)N=!0,ae(L);else{var I=r(m);I!==null&&oe(P,I.startTime-Y)}}function L(Y,I){N=!1,E&&(E=!1,A(F),F=-1),C=!0;var q=b;try{for(M(I),x=r(h);x!==null&&(!(x.expirationTime>I)||Y&&!ie());){var T=x.callback;if(typeof T=="function"){x.callback=null,b=x.priorityLevel;var z=T(x.expirationTime<=I);I=e.unstable_now(),typeof z=="function"?x.callback=z:x===r(h)&&i(h),M(I)}else i(h);x=r(h)}if(x!==null)var K=!0;else{var ee=r(m);ee!==null&&oe(P,ee.startTime-I),K=!1}return K}finally{x=null,b=q,C=!1}}var H=!1,_=null,F=-1,W=5,Z=-1;function ie(){return!(e.unstable_now()-ZY||125T?(Y.sortIndex=q,n(m,Y),r(h)===null&&Y===r(m)&&(E?(A(F),F=-1):E=!0,oe(P,q-T))):(Y.sortIndex=z,n(h,Y),N||C||(N=!0,ae(L))),Y},e.unstable_shouldYield=ie,e.unstable_wrapCallback=function(Y){var I=b;return function(){var q=b;b=I;try{return Y.apply(this,arguments)}finally{b=q}}}})(td)),td}var jm;function r4(){return jm||(jm=1,ed.exports=n4()),ed.exports}/** * @license React * react-dom.production.min.js * @@ -30,18 +30,18 @@ var m4=Object.defineProperty;var g4=(e,n,o)=>n in e?m4(e,n,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var om;function C4(){if(om)return Tt;om=1;var e=id(),n=S4();function o(t){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+t,s=1;s"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),h=Object.prototype.hasOwnProperty,m=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,v={},x={};function b(t){return h.call(x,t)?!0:h.call(v,t)?!1:m.test(t)?x[t]=!0:(v[t]=!0,!1)}function C(t,r,s,c){if(s!==null&&s.type===0)return!1;switch(typeof r){case"function":case"symbol":return!0;case"boolean":return c?!1:s!==null?!s.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function N(t,r,s,c){if(r===null||typeof r>"u"||C(t,r,s,c))return!0;if(c)return!1;if(s!==null)switch(s.type){case 3:return!r;case 4:return r===!1;case 5:return isNaN(r);case 6:return isNaN(r)||1>r}return!1}function k(t,r,s,c,d,p,S){this.acceptsBooleans=r===2||r===3||r===4,this.attributeName=c,this.attributeNamespace=d,this.mustUseProperty=s,this.propertyName=t,this.type=r,this.sanitizeURL=p,this.removeEmptyString=S}var j={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){j[t]=new k(t,0,!1,t,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var r=t[0];j[r]=new k(r,1,!1,t[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(t){j[t]=new k(t,2,!1,t.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){j[t]=new k(t,2,!1,t,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){j[t]=new k(t,3,!1,t.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(t){j[t]=new k(t,3,!0,t,null,!1,!1)}),["capture","download"].forEach(function(t){j[t]=new k(t,4,!1,t,null,!1,!1)}),["cols","rows","size","span"].forEach(function(t){j[t]=new k(t,6,!1,t,null,!1,!1)}),["rowSpan","start"].forEach(function(t){j[t]=new k(t,5,!1,t.toLowerCase(),null,!1,!1)});var M=/[\-:]([a-z])/g;function E(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var r=t.replace(M,E);j[r]=new k(r,1,!1,t,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var r=t.replace(M,E);j[r]=new k(r,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(t){var r=t.replace(M,E);j[r]=new k(r,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(t){j[t]=new k(t,1,!1,t.toLowerCase(),null,!1,!1)}),j.xlinkHref=new k("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(t){j[t]=new k(t,1,!1,t.toLowerCase(),null,!0,!0)});function R(t,r,s,c){var d=j.hasOwnProperty(r)?j[r]:null;(d!==null?d.type!==0:c||!(2P||d[S]!==p[P]){var O=` -`+d[S].replace(" at new "," at ");return t.displayName&&O.includes("")&&(O=O.replace("",t.displayName)),O}while(1<=S&&0<=P);break}}}finally{G=!1,Error.prepareStackTrace=s}return(t=t?t.displayName||t.name:"")?I(t):""}function K(t){switch(t.tag){case 5:return I(t.type);case 16:return I("Lazy");case 13:return I("Suspense");case 19:return I("SuspenseList");case 0:case 2:case 15:return t=ee(t.type,!1),t;case 11:return t=ee(t.type.render,!1),t;case 1:return t=ee(t.type,!0),t;default:return""}}function ne(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case D:return"Fragment";case A:return"Portal";case W:return"Profiler";case F:return"StrictMode";case de:return"Suspense";case ie:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case oe:return(t.displayName||"Context")+".Consumer";case J:return(t._context.displayName||"Context")+".Provider";case B:var r=t.render;return t=t.displayName,t||(t=r.displayName||r.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case ue:return r=t.displayName||null,r!==null?r:ne(t.type)||"Memo";case ae:r=t._payload,t=t._init;try{return ne(t(r))}catch{}}return null}function se(t){var r=t.type;switch(t.tag){case 24:return"Cache";case 9:return(r.displayName||"Context")+".Consumer";case 10:return(r._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=r.render,t=t.displayName||t.name||"",r.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return r;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ne(r);case 8:return r===F?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r}return null}function he(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function ce(t){var r=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(r==="checkbox"||r==="radio")}function Ie(t){var r=ce(t)?"checked":"value",s=Object.getOwnPropertyDescriptor(t.constructor.prototype,r),c=""+t[r];if(!t.hasOwnProperty(r)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var d=s.get,p=s.set;return Object.defineProperty(t,r,{configurable:!0,get:function(){return d.call(this)},set:function(S){c=""+S,p.call(this,S)}}),Object.defineProperty(t,r,{enumerable:s.enumerable}),{getValue:function(){return c},setValue:function(S){c=""+S},stopTracking:function(){t._valueTracker=null,delete t[r]}}}}function Le(t){t._valueTracker||(t._valueTracker=Ie(t))}function vt(t){if(!t)return!1;var r=t._valueTracker;if(!r)return!0;var s=r.getValue(),c="";return t&&(c=ce(t)?t.checked?"true":"false":t.value),t=c,t!==s?(r.setValue(t),!0):!1}function Rt(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Yn(t,r){var s=r.checked;return Z({},r,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:s??t._wrapperState.initialChecked})}function Kr(t,r){var s=r.defaultValue==null?"":r.defaultValue,c=r.checked!=null?r.checked:r.defaultChecked;s=he(r.value!=null?r.value:s),t._wrapperState={initialChecked:c,initialValue:s,controlled:r.type==="checkbox"||r.type==="radio"?r.checked!=null:r.value!=null}}function qr(t,r){r=r.checked,r!=null&&R(t,"checked",r,!1)}function pr(t,r){qr(t,r);var s=he(r.value),c=r.type;if(s!=null)c==="number"?(s===0&&t.value===""||t.value!=s)&&(t.value=""+s):t.value!==""+s&&(t.value=""+s);else if(c==="submit"||c==="reset"){t.removeAttribute("value");return}r.hasOwnProperty("value")?Zt(t,r.type,s):r.hasOwnProperty("defaultValue")&&Zt(t,r.type,he(r.defaultValue)),r.checked==null&&r.defaultChecked!=null&&(t.defaultChecked=!!r.defaultChecked)}function jo(t,r,s){if(r.hasOwnProperty("value")||r.hasOwnProperty("defaultValue")){var c=r.type;if(!(c!=="submit"&&c!=="reset"||r.value!==void 0&&r.value!==null))return;r=""+t._wrapperState.initialValue,s||r===t.value||(t.value=r),t.defaultValue=r}s=t.name,s!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,s!==""&&(t.name=s)}function Zt(t,r,s){(r!=="number"||Rt(t.ownerDocument)!==t)&&(s==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+s&&(t.defaultValue=""+s))}var Qr=Array.isArray;function Xn(t,r,s,c){if(t=t.options,r){r={};for(var d=0;d"+r.valueOf().toString()+"",r=_s.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;r.firstChild;)t.appendChild(r.firstChild)}});function yi(t,r){if(r){var s=t.firstChild;if(s&&s===t.lastChild&&s.nodeType===3){s.nodeValue=r;return}}t.textContent=r}var xi={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},xx=["Webkit","ms","Moz","O"];Object.keys(xi).forEach(function(t){xx.forEach(function(r){r=r+t.charAt(0).toUpperCase()+t.substring(1),xi[r]=xi[t]})});function p0(t,r,s){return r==null||typeof r=="boolean"||r===""?"":s||typeof r!="number"||r===0||xi.hasOwnProperty(t)&&xi[t]?(""+r).trim():r+"px"}function h0(t,r){t=t.style;for(var s in r)if(r.hasOwnProperty(s)){var c=s.indexOf("--")===0,d=p0(s,r[s],c);s==="float"&&(s="cssFloat"),c?t.setProperty(s,d):t[s]=d}}var wx=Z({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Kl(t,r){if(r){if(wx[t]&&(r.children!=null||r.dangerouslySetInnerHTML!=null))throw Error(o(137,t));if(r.dangerouslySetInnerHTML!=null){if(r.children!=null)throw Error(o(60));if(typeof r.dangerouslySetInnerHTML!="object"||!("__html"in r.dangerouslySetInnerHTML))throw Error(o(61))}if(r.style!=null&&typeof r.style!="object")throw Error(o(62))}}function ql(t,r){if(t.indexOf("-")===-1)return typeof r.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ql=null;function Zl(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Jl=null,No=null,Mo=null;function m0(t){if(t=Hi(t)){if(typeof Jl!="function")throw Error(o(280));var r=t.stateNode;r&&(r=oa(r),Jl(t.stateNode,t.type,r))}}function g0(t){No?Mo?Mo.push(t):Mo=[t]:No=t}function v0(){if(No){var t=No,r=Mo;if(Mo=No=null,m0(t),r)for(t=0;t>>=0,t===0?32:31-(Rx(t)/Ix|0)|0}var $s=64,Hs=4194304;function Ci(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Vs(t,r){var s=t.pendingLanes;if(s===0)return 0;var c=0,d=t.suspendedLanes,p=t.pingedLanes,S=s&268435455;if(S!==0){var P=S&~d;P!==0?c=Ci(P):(p&=S,p!==0&&(c=Ci(p)))}else S=s&~d,S!==0?c=Ci(S):p!==0&&(c=Ci(p));if(c===0)return 0;if(r!==0&&r!==c&&(r&d)===0&&(d=c&-c,p=r&-r,d>=p||d===16&&(p&4194240)!==0))return r;if((c&4)!==0&&(c|=s&16),r=t.entangledLanes,r!==0)for(t=t.entanglements,r&=c;0s;s++)r.push(t);return r}function ki(t,r,s){t.pendingLanes|=r,r!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,r=31-un(r),t[r]=s}function Dx(t,r){var s=t.pendingLanes&~r;t.pendingLanes=r,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=r,t.mutableReadLanes&=r,t.entangledLanes&=r,r=t.entanglements;var c=t.eventTimes;for(t=t.expirationTimes;0=Ii),U0=" ",Y0=!1;function X0(t,r){switch(t){case"keyup":return u3.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function G0(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ro=!1;function d3(t,r){switch(t){case"compositionend":return G0(r);case"keypress":return r.which!==32?null:(Y0=!0,U0);case"textInput":return t=r.data,t===U0&&Y0?null:t;default:return null}}function p3(t,r){if(Ro)return t==="compositionend"||!vc&&X0(t,r)?(t=F0(),Xs=fc=yr=null,Ro=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1=r)return{node:s,offset:r-t};t=c}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=tp(s)}}function rp(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?rp(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function op(){for(var t=window,r=Rt();r instanceof t.HTMLIFrameElement;){try{var s=typeof r.contentWindow.location.href=="string"}catch{s=!1}if(s)t=r.contentWindow;else break;r=Rt(t.document)}return r}function wc(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}function S3(t){var r=op(),s=t.focusedElem,c=t.selectionRange;if(r!==s&&s&&s.ownerDocument&&rp(s.ownerDocument.documentElement,s)){if(c!==null&&wc(s)){if(r=c.start,t=c.end,t===void 0&&(t=r),"selectionStart"in s)s.selectionStart=r,s.selectionEnd=Math.min(t,s.value.length);else if(t=(r=s.ownerDocument||document)&&r.defaultView||window,t.getSelection){t=t.getSelection();var d=s.textContent.length,p=Math.min(c.start,d);c=c.end===void 0?p:Math.min(c.end,d),!t.extend&&p>c&&(d=c,c=p,p=d),d=np(s,p);var S=np(s,c);d&&S&&(t.rangeCount!==1||t.anchorNode!==d.node||t.anchorOffset!==d.offset||t.focusNode!==S.node||t.focusOffset!==S.offset)&&(r=r.createRange(),r.setStart(d.node,d.offset),t.removeAllRanges(),p>c?(t.addRange(r),t.extend(S.node,S.offset)):(r.setEnd(S.node,S.offset),t.addRange(r)))}}for(r=[],t=s;t=t.parentNode;)t.nodeType===1&&r.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof s.focus=="function"&&s.focus(),s=0;s=document.documentMode,Io=null,bc=null,Di=null,Sc=!1;function ip(t,r,s){var c=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Sc||Io==null||Io!==Rt(c)||(c=Io,"selectionStart"in c&&wc(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),Di&&_i(Di,c)||(Di=c,c=ta(bc,"onSelect"),0To||(t.current=Oc[To],Oc[To]=null,To--)}function Fe(t,r){To++,Oc[To]=t.current,t.current=r}var Sr={},yt=br(Sr),It=br(!1),eo=Sr;function Lo(t,r){var s=t.type.contextTypes;if(!s)return Sr;var c=t.stateNode;if(c&&c.__reactInternalMemoizedUnmaskedChildContext===r)return c.__reactInternalMemoizedMaskedChildContext;var d={},p;for(p in s)d[p]=r[p];return c&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=r,t.__reactInternalMemoizedMaskedChildContext=d),d}function zt(t){return t=t.childContextTypes,t!=null}function ia(){Ve(It),Ve(yt)}function wp(t,r,s){if(yt.current!==Sr)throw Error(o(168));Fe(yt,r),Fe(It,s)}function bp(t,r,s){var c=t.stateNode;if(r=r.childContextTypes,typeof c.getChildContext!="function")return s;c=c.getChildContext();for(var d in c)if(!(d in r))throw Error(o(108,se(t)||"Unknown",d));return Z({},s,c)}function sa(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Sr,eo=yt.current,Fe(yt,t),Fe(It,It.current),!0}function Sp(t,r,s){var c=t.stateNode;if(!c)throw Error(o(169));s?(t=bp(t,r,eo),c.__reactInternalMemoizedMergedChildContext=t,Ve(It),Ve(yt),Fe(yt,t)):Ve(It),Fe(It,s)}var Kn=null,aa=!1,_c=!1;function Cp(t){Kn===null?Kn=[t]:Kn.push(t)}function O3(t){aa=!0,Cp(t)}function Cr(){if(!_c&&Kn!==null){_c=!0;var t=0,r=_e;try{var s=Kn;for(_e=1;t>=S,d-=S,qn=1<<32-un(r)+d|s<be?(lt=we,we=null):lt=we.sibling;var ze=Y($,we,H[be],re);if(ze===null){we===null&&(we=lt);break}t&&we&&ze.alternate===null&&r($,we),T=p(ze,T,be),xe===null?ve=ze:xe.sibling=ze,xe=ze,we=lt}if(be===H.length)return s($,we),Ue&&no($,be),ve;if(we===null){for(;bebe?(lt=we,we=null):lt=we.sibling;var Ir=Y($,we,ze.value,re);if(Ir===null){we===null&&(we=lt);break}t&&we&&Ir.alternate===null&&r($,we),T=p(Ir,T,be),xe===null?ve=Ir:xe.sibling=Ir,xe=Ir,we=lt}if(ze.done)return s($,we),Ue&&no($,be),ve;if(we===null){for(;!ze.done;be++,ze=H.next())ze=q($,ze.value,re),ze!==null&&(T=p(ze,T,be),xe===null?ve=ze:xe.sibling=ze,xe=ze);return Ue&&no($,be),ve}for(we=c($,we);!ze.done;be++,ze=H.next())ze=le(we,$,be,ze.value,re),ze!==null&&(t&&ze.alternate!==null&&we.delete(ze.key===null?be:ze.key),T=p(ze,T,be),xe===null?ve=ze:xe.sibling=ze,xe=ze);return t&&we.forEach(function(h4){return r($,h4)}),Ue&&no($,be),ve}function tt($,T,H,re){if(typeof H=="object"&&H!==null&&H.type===D&&H.key===null&&(H=H.props.children),typeof H=="object"&&H!==null){switch(H.$$typeof){case L:e:{for(var ve=H.key,xe=T;xe!==null;){if(xe.key===ve){if(ve=H.type,ve===D){if(xe.tag===7){s($,xe.sibling),T=d(xe,H.props.children),T.return=$,$=T;break e}}else if(xe.elementType===ve||typeof ve=="object"&&ve!==null&&ve.$$typeof===ae&&Ap(ve)===xe.type){s($,xe.sibling),T=d(xe,H.props),T.ref=Vi($,xe,H),T.return=$,$=T;break e}s($,xe);break}else r($,xe);xe=xe.sibling}H.type===D?(T=uo(H.props.children,$.mode,re,H.key),T.return=$,$=T):(re=_a(H.type,H.key,H.props,null,$.mode,re),re.ref=Vi($,T,H),re.return=$,$=re)}return S($);case A:e:{for(xe=H.key;T!==null;){if(T.key===xe)if(T.tag===4&&T.stateNode.containerInfo===H.containerInfo&&T.stateNode.implementation===H.implementation){s($,T.sibling),T=d(T,H.children||[]),T.return=$,$=T;break e}else{s($,T);break}else r($,T);T=T.sibling}T=Iu(H,$.mode,re),T.return=$,$=T}return S($);case ae:return xe=H._init,tt($,T,xe(H._payload),re)}if(Qr(H))return me($,T,H,re);if(Q(H))return ge($,T,H,re);fa($,H)}return typeof H=="string"&&H!==""||typeof H=="number"?(H=""+H,T!==null&&T.tag===6?(s($,T.sibling),T=d(T,H),T.return=$,$=T):(s($,T),T=Ru(H,$.mode,re),T.return=$,$=T),S($)):s($,T)}return tt}var Vo=Pp(!0),Rp=Pp(!1),da=br(null),pa=null,Wo=null,Hc=null;function Vc(){Hc=Wo=pa=null}function Wc(t){var r=da.current;Ve(da),t._currentValue=r}function Bc(t,r,s){for(;t!==null;){var c=t.alternate;if((t.childLanes&r)!==r?(t.childLanes|=r,c!==null&&(c.childLanes|=r)):c!==null&&(c.childLanes&r)!==r&&(c.childLanes|=r),t===s)break;t=t.return}}function Bo(t,r){pa=t,Hc=Wo=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&r)!==0&&(Ot=!0),t.firstContext=null)}function tn(t){var r=t._currentValue;if(Hc!==t)if(t={context:t,memoizedValue:r,next:null},Wo===null){if(pa===null)throw Error(o(308));Wo=t,pa.dependencies={lanes:0,firstContext:t}}else Wo=Wo.next=t;return r}var ro=null;function Uc(t){ro===null?ro=[t]:ro.push(t)}function Ip(t,r,s,c){var d=r.interleaved;return d===null?(s.next=s,Uc(r)):(s.next=d.next,d.next=s),r.interleaved=s,Zn(t,c)}function Zn(t,r){t.lanes|=r;var s=t.alternate;for(s!==null&&(s.lanes|=r),s=t,t=t.return;t!==null;)t.childLanes|=r,s=t.alternate,s!==null&&(s.childLanes|=r),s=t,t=t.return;return s.tag===3?s.stateNode:null}var kr=!1;function Yc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function zp(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function Jn(t,r){return{eventTime:t,lane:r,tag:0,payload:null,callback:null,next:null}}function jr(t,r,s){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Re&2)!==0){var d=c.pending;return d===null?r.next=r:(r.next=d.next,d.next=r),c.pending=r,Zn(t,s)}return d=c.interleaved,d===null?(r.next=r,Uc(c)):(r.next=d.next,d.next=r),c.interleaved=r,Zn(t,s)}function ha(t,r,s){if(r=r.updateQueue,r!==null&&(r=r.shared,(s&4194240)!==0)){var c=r.lanes;c&=t.pendingLanes,s|=c,r.lanes=s,sc(t,s)}}function Op(t,r){var s=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,s===c)){var d=null,p=null;if(s=s.firstBaseUpdate,s!==null){do{var S={eventTime:s.eventTime,lane:s.lane,tag:s.tag,payload:s.payload,callback:s.callback,next:null};p===null?d=p=S:p=p.next=S,s=s.next}while(s!==null);p===null?d=p=r:p=p.next=r}else d=p=r;s={baseState:c.baseState,firstBaseUpdate:d,lastBaseUpdate:p,shared:c.shared,effects:c.effects},t.updateQueue=s;return}t=s.lastBaseUpdate,t===null?s.firstBaseUpdate=r:t.next=r,s.lastBaseUpdate=r}function ma(t,r,s,c){var d=t.updateQueue;kr=!1;var p=d.firstBaseUpdate,S=d.lastBaseUpdate,P=d.shared.pending;if(P!==null){d.shared.pending=null;var O=P,V=O.next;O.next=null,S===null?p=V:S.next=V,S=O;var X=t.alternate;X!==null&&(X=X.updateQueue,P=X.lastBaseUpdate,P!==S&&(P===null?X.firstBaseUpdate=V:P.next=V,X.lastBaseUpdate=O))}if(p!==null){var q=d.baseState;S=0,X=V=O=null,P=p;do{var Y=P.lane,le=P.eventTime;if((c&Y)===Y){X!==null&&(X=X.next={eventTime:le,lane:0,tag:P.tag,payload:P.payload,callback:P.callback,next:null});e:{var me=t,ge=P;switch(Y=r,le=s,ge.tag){case 1:if(me=ge.payload,typeof me=="function"){q=me.call(le,q,Y);break e}q=me;break e;case 3:me.flags=me.flags&-65537|128;case 0:if(me=ge.payload,Y=typeof me=="function"?me.call(le,q,Y):me,Y==null)break e;q=Z({},q,Y);break e;case 2:kr=!0}}P.callback!==null&&P.lane!==0&&(t.flags|=64,Y=d.effects,Y===null?d.effects=[P]:Y.push(P))}else le={eventTime:le,lane:Y,tag:P.tag,payload:P.payload,callback:P.callback,next:null},X===null?(V=X=le,O=q):X=X.next=le,S|=Y;if(P=P.next,P===null){if(P=d.shared.pending,P===null)break;Y=P,P=Y.next,Y.next=null,d.lastBaseUpdate=Y,d.shared.pending=null}}while(!0);if(X===null&&(O=q),d.baseState=O,d.firstBaseUpdate=V,d.lastBaseUpdate=X,r=d.shared.interleaved,r!==null){d=r;do S|=d.lane,d=d.next;while(d!==r)}else p===null&&(d.shared.lanes=0);so|=S,t.lanes=S,t.memoizedState=q}}function _p(t,r,s){if(t=r.effects,r.effects=null,t!==null)for(r=0;rs?s:4,t(!0);var c=Qc.transition;Qc.transition={};try{t(!1),r()}finally{_e=s,Qc.transition=c}}function eh(){return nn().memoizedState}function L3(t,r,s){var c=Ar(t);if(s={lane:c,action:s,hasEagerState:!1,eagerState:null,next:null},th(t))nh(r,s);else if(s=Ip(t,r,s,c),s!==null){var d=jt();gn(s,t,c,d),rh(s,r,c)}}function F3(t,r,s){var c=Ar(t),d={lane:c,action:s,hasEagerState:!1,eagerState:null,next:null};if(th(t))nh(r,d);else{var p=t.alternate;if(t.lanes===0&&(p===null||p.lanes===0)&&(p=r.lastRenderedReducer,p!==null))try{var S=r.lastRenderedState,P=p(S,s);if(d.hasEagerState=!0,d.eagerState=P,fn(P,S)){var O=r.interleaved;O===null?(d.next=d,Uc(r)):(d.next=O.next,O.next=d),r.interleaved=d;return}}catch{}finally{}s=Ip(t,r,d,c),s!==null&&(d=jt(),gn(s,t,c,d),rh(s,r,c))}}function th(t){var r=t.alternate;return t===Ge||r!==null&&r===Ge}function nh(t,r){Yi=ya=!0;var s=t.pending;s===null?r.next=r:(r.next=s.next,s.next=r),t.pending=r}function rh(t,r,s){if((s&4194240)!==0){var c=r.lanes;c&=t.pendingLanes,s|=c,r.lanes=s,sc(t,s)}}var ba={readContext:tn,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},$3={readContext:tn,useCallback:function(t,r){return An().memoizedState=[t,r===void 0?null:r],t},useContext:tn,useEffect:Yp,useImperativeHandle:function(t,r,s){return s=s!=null?s.concat([t]):null,xa(4194308,4,Kp.bind(null,r,t),s)},useLayoutEffect:function(t,r){return xa(4194308,4,t,r)},useInsertionEffect:function(t,r){return xa(4,2,t,r)},useMemo:function(t,r){var s=An();return r=r===void 0?null:r,t=t(),s.memoizedState=[t,r],t},useReducer:function(t,r,s){var c=An();return r=s!==void 0?s(r):r,c.memoizedState=c.baseState=r,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:r},c.queue=t,t=t.dispatch=L3.bind(null,Ge,t),[c.memoizedState,t]},useRef:function(t){var r=An();return t={current:t},r.memoizedState=t},useState:Bp,useDebugValue:ou,useDeferredValue:function(t){return An().memoizedState=t},useTransition:function(){var t=Bp(!1),r=t[0];return t=T3.bind(null,t[1]),An().memoizedState=t,[r,t]},useMutableSource:function(){},useSyncExternalStore:function(t,r,s){var c=Ge,d=An();if(Ue){if(s===void 0)throw Error(o(407));s=s()}else{if(s=r(),at===null)throw Error(o(349));(io&30)!==0||Fp(c,r,s)}d.memoizedState=s;var p={value:s,getSnapshot:r};return d.queue=p,Yp(Hp.bind(null,c,p,t),[t]),c.flags|=2048,Ki(9,$p.bind(null,c,p,s,r),void 0,null),s},useId:function(){var t=An(),r=at.identifierPrefix;if(Ue){var s=Qn,c=qn;s=(c&~(1<<32-un(c)-1)).toString(32)+s,r=":"+r+"R"+s,s=Xi++,0<\/script>",t=t.removeChild(t.firstChild)):typeof c.is=="string"?t=S.createElement(s,{is:c.is}):(t=S.createElement(s),s==="select"&&(S=t,c.multiple?S.multiple=!0:c.size&&(S.size=c.size))):t=S.createElementNS(t,s),t[Nn]=r,t[$i]=c,Ch(t,r,!1,!1),r.stateNode=t;e:{switch(S=ql(s,c),s){case"dialog":He("cancel",t),He("close",t),d=c;break;case"iframe":case"object":case"embed":He("load",t),d=c;break;case"video":case"audio":for(d=0;dKo&&(r.flags|=128,c=!0,qi(p,!1),r.lanes=4194304)}else{if(!c)if(t=ga(S),t!==null){if(r.flags|=128,c=!0,s=t.updateQueue,s!==null&&(r.updateQueue=s,r.flags|=4),qi(p,!0),p.tail===null&&p.tailMode==="hidden"&&!S.alternate&&!Ue)return wt(r),null}else 2*et()-p.renderingStartTime>Ko&&s!==1073741824&&(r.flags|=128,c=!0,qi(p,!1),r.lanes=4194304);p.isBackwards?(S.sibling=r.child,r.child=S):(s=p.last,s!==null?s.sibling=S:r.child=S,p.last=S)}return p.tail!==null?(r=p.tail,p.rendering=r,p.tail=r.sibling,p.renderingStartTime=et(),r.sibling=null,s=Xe.current,Fe(Xe,c?s&1|2:s&1),r):(wt(r),null);case 22:case 23:return Mu(),c=r.memoizedState!==null,t!==null&&t.memoizedState!==null!==c&&(r.flags|=8192),c&&(r.mode&1)!==0?(Ut&1073741824)!==0&&(wt(r),r.subtreeFlags&6&&(r.flags|=8192)):wt(r),null;case 24:return null;case 25:return null}throw Error(o(156,r.tag))}function G3(t,r){switch(Tc(r),r.tag){case 1:return zt(r.type)&&ia(),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return Uo(),Ve(It),Ve(yt),qc(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 5:return Gc(r),null;case 13:if(Ve(Xe),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(o(340));Ho()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return Ve(Xe),null;case 4:return Uo(),null;case 10:return Wc(r.type._context),null;case 22:case 23:return Mu(),null;case 24:return null;default:return null}}var ja=!1,bt=!1,K3=typeof WeakSet=="function"?WeakSet:Set,pe=null;function Xo(t,r){var s=t.ref;if(s!==null)if(typeof s=="function")try{s(null)}catch(c){qe(t,r,c)}else s.current=null}function gu(t,r,s){try{s()}catch(c){qe(t,r,c)}}var Eh=!1;function q3(t,r){if(Mc=Us,t=op(),wc(t)){if("selectionStart"in t)var s={start:t.selectionStart,end:t.selectionEnd};else e:{s=(s=t.ownerDocument)&&s.defaultView||window;var c=s.getSelection&&s.getSelection();if(c&&c.rangeCount!==0){s=c.anchorNode;var d=c.anchorOffset,p=c.focusNode;c=c.focusOffset;try{s.nodeType,p.nodeType}catch{s=null;break e}var S=0,P=-1,O=-1,V=0,X=0,q=t,Y=null;t:for(;;){for(var le;q!==s||d!==0&&q.nodeType!==3||(P=S+d),q!==p||c!==0&&q.nodeType!==3||(O=S+c),q.nodeType===3&&(S+=q.nodeValue.length),(le=q.firstChild)!==null;)Y=q,q=le;for(;;){if(q===t)break t;if(Y===s&&++V===d&&(P=S),Y===p&&++X===c&&(O=S),(le=q.nextSibling)!==null)break;q=Y,Y=q.parentNode}q=le}s=P===-1||O===-1?null:{start:P,end:O}}else s=null}s=s||{start:0,end:0}}else s=null;for(Ac={focusedElem:t,selectionRange:s},Us=!1,pe=r;pe!==null;)if(r=pe,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,pe=t;else for(;pe!==null;){r=pe;try{var me=r.alternate;if((r.flags&1024)!==0)switch(r.tag){case 0:case 11:case 15:break;case 1:if(me!==null){var ge=me.memoizedProps,tt=me.memoizedState,$=r.stateNode,T=$.getSnapshotBeforeUpdate(r.elementType===r.type?ge:pn(r.type,ge),tt);$.__reactInternalSnapshotBeforeUpdate=T}break;case 3:var H=r.stateNode.containerInfo;H.nodeType===1?H.textContent="":H.nodeType===9&&H.documentElement&&H.removeChild(H.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(re){qe(r,r.return,re)}if(t=r.sibling,t!==null){t.return=r.return,pe=t;break}pe=r.return}return me=Eh,Eh=!1,me}function Qi(t,r,s){var c=r.updateQueue;if(c=c!==null?c.lastEffect:null,c!==null){var d=c=c.next;do{if((d.tag&t)===t){var p=d.destroy;d.destroy=void 0,p!==void 0&&gu(r,s,p)}d=d.next}while(d!==c)}}function Ea(t,r){if(r=r.updateQueue,r=r!==null?r.lastEffect:null,r!==null){var s=r=r.next;do{if((s.tag&t)===t){var c=s.create;s.destroy=c()}s=s.next}while(s!==r)}}function vu(t){var r=t.ref;if(r!==null){var s=t.stateNode;switch(t.tag){case 5:t=s;break;default:t=s}typeof r=="function"?r(t):r.current=t}}function Nh(t){var r=t.alternate;r!==null&&(t.alternate=null,Nh(r)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(r=t.stateNode,r!==null&&(delete r[Nn],delete r[$i],delete r[zc],delete r[I3],delete r[z3])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function Mh(t){return t.tag===5||t.tag===3||t.tag===4}function Ah(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Mh(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function yu(t,r,s){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?s.nodeType===8?s.parentNode.insertBefore(t,r):s.insertBefore(t,r):(s.nodeType===8?(r=s.parentNode,r.insertBefore(t,s)):(r=s,r.appendChild(t)),s=s._reactRootContainer,s!=null||r.onclick!==null||(r.onclick=ra));else if(c!==4&&(t=t.child,t!==null))for(yu(t,r,s),t=t.sibling;t!==null;)yu(t,r,s),t=t.sibling}function xu(t,r,s){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?s.insertBefore(t,r):s.appendChild(t);else if(c!==4&&(t=t.child,t!==null))for(xu(t,r,s),t=t.sibling;t!==null;)xu(t,r,s),t=t.sibling}var ft=null,hn=!1;function Er(t,r,s){for(s=s.child;s!==null;)Ph(t,r,s),s=s.sibling}function Ph(t,r,s){if(En&&typeof En.onCommitFiberUnmount=="function")try{En.onCommitFiberUnmount(Fs,s)}catch{}switch(s.tag){case 5:bt||Xo(s,r);case 6:var c=ft,d=hn;ft=null,Er(t,r,s),ft=c,hn=d,ft!==null&&(hn?(t=ft,s=s.stateNode,t.nodeType===8?t.parentNode.removeChild(s):t.removeChild(s)):ft.removeChild(s.stateNode));break;case 18:ft!==null&&(hn?(t=ft,s=s.stateNode,t.nodeType===8?Ic(t.parentNode,s):t.nodeType===1&&Ic(t,s),Ai(t)):Ic(ft,s.stateNode));break;case 4:c=ft,d=hn,ft=s.stateNode.containerInfo,hn=!0,Er(t,r,s),ft=c,hn=d;break;case 0:case 11:case 14:case 15:if(!bt&&(c=s.updateQueue,c!==null&&(c=c.lastEffect,c!==null))){d=c=c.next;do{var p=d,S=p.destroy;p=p.tag,S!==void 0&&((p&2)!==0||(p&4)!==0)&&gu(s,r,S),d=d.next}while(d!==c)}Er(t,r,s);break;case 1:if(!bt&&(Xo(s,r),c=s.stateNode,typeof c.componentWillUnmount=="function"))try{c.props=s.memoizedProps,c.state=s.memoizedState,c.componentWillUnmount()}catch(P){qe(s,r,P)}Er(t,r,s);break;case 21:Er(t,r,s);break;case 22:s.mode&1?(bt=(c=bt)||s.memoizedState!==null,Er(t,r,s),bt=c):Er(t,r,s);break;default:Er(t,r,s)}}function Rh(t){var r=t.updateQueue;if(r!==null){t.updateQueue=null;var s=t.stateNode;s===null&&(s=t.stateNode=new K3),r.forEach(function(c){var d=i4.bind(null,t,c);s.has(c)||(s.add(c),c.then(d,d))})}}function mn(t,r){var s=r.deletions;if(s!==null)for(var c=0;cd&&(d=S),c&=~p}if(c=d,c=et()-c,c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3e3>c?3e3:4320>c?4320:1960*Z3(c/1960))-c,10t?16:t,Mr===null)var c=!1;else{if(t=Mr,Mr=null,Ra=0,(Re&6)!==0)throw Error(o(331));var d=Re;for(Re|=4,pe=t.current;pe!==null;){var p=pe,S=p.child;if((pe.flags&16)!==0){var P=p.deletions;if(P!==null){for(var O=0;Oet()-Su?lo(t,0):bu|=s),Dt(t,r)}function Bh(t,r){r===0&&((t.mode&1)===0?r=1:(r=Hs,Hs<<=1,(Hs&130023424)===0&&(Hs=4194304)));var s=jt();t=Zn(t,r),t!==null&&(ki(t,r,s),Dt(t,s))}function o4(t){var r=t.memoizedState,s=0;r!==null&&(s=r.retryLane),Bh(t,s)}function i4(t,r){var s=0;switch(t.tag){case 13:var c=t.stateNode,d=t.memoizedState;d!==null&&(s=d.retryLane);break;case 19:c=t.stateNode;break;default:throw Error(o(314))}c!==null&&c.delete(r),Bh(t,s)}var Uh;Uh=function(t,r,s){if(t!==null)if(t.memoizedProps!==r.pendingProps||It.current)Ot=!0;else{if((t.lanes&s)===0&&(r.flags&128)===0)return Ot=!1,Y3(t,r,s);Ot=(t.flags&131072)!==0}else Ot=!1,Ue&&(r.flags&1048576)!==0&&kp(r,ca,r.index);switch(r.lanes=0,r.tag){case 2:var c=r.type;ka(t,r),t=r.pendingProps;var d=Lo(r,yt.current);Bo(r,s),d=Jc(null,r,c,t,d,s);var p=eu();return r.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(r.tag=1,r.memoizedState=null,r.updateQueue=null,zt(c)?(p=!0,sa(r)):p=!1,r.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,Yc(r),d.updater=Sa,r.stateNode=d,d._reactInternals=r,su(r,c,t,s),r=uu(null,r,c,!0,p,s)):(r.tag=0,Ue&&p&&Dc(r),kt(null,r,d,s),r=r.child),r;case 16:c=r.elementType;e:{switch(ka(t,r),t=r.pendingProps,d=c._init,c=d(c._payload),r.type=c,d=r.tag=a4(c),t=pn(c,t),d){case 0:r=cu(null,r,c,t,s);break e;case 1:r=vh(null,r,c,t,s);break e;case 11:r=dh(null,r,c,t,s);break e;case 14:r=ph(null,r,c,pn(c.type,t),s);break e}throw Error(o(306,c,""))}return r;case 0:return c=r.type,d=r.pendingProps,d=r.elementType===c?d:pn(c,d),cu(t,r,c,d,s);case 1:return c=r.type,d=r.pendingProps,d=r.elementType===c?d:pn(c,d),vh(t,r,c,d,s);case 3:e:{if(yh(r),t===null)throw Error(o(387));c=r.pendingProps,p=r.memoizedState,d=p.element,zp(t,r),ma(r,c,null,s);var S=r.memoizedState;if(c=S.element,p.isDehydrated)if(p={element:c,isDehydrated:!1,cache:S.cache,pendingSuspenseBoundaries:S.pendingSuspenseBoundaries,transitions:S.transitions},r.updateQueue.baseState=p,r.memoizedState=p,r.flags&256){d=Yo(Error(o(423)),r),r=xh(t,r,c,s,d);break e}else if(c!==d){d=Yo(Error(o(424)),r),r=xh(t,r,c,s,d);break e}else for(Bt=wr(r.stateNode.containerInfo.firstChild),Wt=r,Ue=!0,dn=null,s=Rp(r,null,c,s),r.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(Ho(),c===d){r=er(t,r,s);break e}kt(t,r,c,s)}r=r.child}return r;case 5:return Dp(r),t===null&&Fc(r),c=r.type,d=r.pendingProps,p=t!==null?t.memoizedProps:null,S=d.children,Pc(c,d)?S=null:p!==null&&Pc(c,p)&&(r.flags|=32),gh(t,r),kt(t,r,S,s),r.child;case 6:return t===null&&Fc(r),null;case 13:return wh(t,r,s);case 4:return Xc(r,r.stateNode.containerInfo),c=r.pendingProps,t===null?r.child=Vo(r,null,c,s):kt(t,r,c,s),r.child;case 11:return c=r.type,d=r.pendingProps,d=r.elementType===c?d:pn(c,d),dh(t,r,c,d,s);case 7:return kt(t,r,r.pendingProps,s),r.child;case 8:return kt(t,r,r.pendingProps.children,s),r.child;case 12:return kt(t,r,r.pendingProps.children,s),r.child;case 10:e:{if(c=r.type._context,d=r.pendingProps,p=r.memoizedProps,S=d.value,Fe(da,c._currentValue),c._currentValue=S,p!==null)if(fn(p.value,S)){if(p.children===d.children&&!It.current){r=er(t,r,s);break e}}else for(p=r.child,p!==null&&(p.return=r);p!==null;){var P=p.dependencies;if(P!==null){S=p.child;for(var O=P.firstContext;O!==null;){if(O.context===c){if(p.tag===1){O=Jn(-1,s&-s),O.tag=2;var V=p.updateQueue;if(V!==null){V=V.shared;var X=V.pending;X===null?O.next=O:(O.next=X.next,X.next=O),V.pending=O}}p.lanes|=s,O=p.alternate,O!==null&&(O.lanes|=s),Bc(p.return,s,r),P.lanes|=s;break}O=O.next}}else if(p.tag===10)S=p.type===r.type?null:p.child;else if(p.tag===18){if(S=p.return,S===null)throw Error(o(341));S.lanes|=s,P=S.alternate,P!==null&&(P.lanes|=s),Bc(S,s,r),S=p.sibling}else S=p.child;if(S!==null)S.return=p;else for(S=p;S!==null;){if(S===r){S=null;break}if(p=S.sibling,p!==null){p.return=S.return,S=p;break}S=S.return}p=S}kt(t,r,d.children,s),r=r.child}return r;case 9:return d=r.type,c=r.pendingProps.children,Bo(r,s),d=tn(d),c=c(d),r.flags|=1,kt(t,r,c,s),r.child;case 14:return c=r.type,d=pn(c,r.pendingProps),d=pn(c.type,d),ph(t,r,c,d,s);case 15:return hh(t,r,r.type,r.pendingProps,s);case 17:return c=r.type,d=r.pendingProps,d=r.elementType===c?d:pn(c,d),ka(t,r),r.tag=1,zt(c)?(t=!0,sa(r)):t=!1,Bo(r,s),ih(r,c,d),su(r,c,d,s),uu(null,r,c,!0,t,s);case 19:return Sh(t,r,s);case 22:return mh(t,r,s)}throw Error(o(156,r.tag))};function Yh(t,r){return j0(t,r)}function s4(t,r,s,c){this.tag=t,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=r,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=c,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function on(t,r,s,c){return new s4(t,r,s,c)}function Pu(t){return t=t.prototype,!(!t||!t.isReactComponent)}function a4(t){if(typeof t=="function")return Pu(t)?1:0;if(t!=null){if(t=t.$$typeof,t===B)return 11;if(t===ue)return 14}return 2}function Rr(t,r){var s=t.alternate;return s===null?(s=on(t.tag,r,t.key,t.mode),s.elementType=t.elementType,s.type=t.type,s.stateNode=t.stateNode,s.alternate=t,t.alternate=s):(s.pendingProps=r,s.type=t.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=t.flags&14680064,s.childLanes=t.childLanes,s.lanes=t.lanes,s.child=t.child,s.memoizedProps=t.memoizedProps,s.memoizedState=t.memoizedState,s.updateQueue=t.updateQueue,r=t.dependencies,s.dependencies=r===null?null:{lanes:r.lanes,firstContext:r.firstContext},s.sibling=t.sibling,s.index=t.index,s.ref=t.ref,s}function _a(t,r,s,c,d,p){var S=2;if(c=t,typeof t=="function")Pu(t)&&(S=1);else if(typeof t=="string")S=5;else e:switch(t){case D:return uo(s.children,d,p,r);case F:S=8,d|=8;break;case W:return t=on(12,s,r,d|2),t.elementType=W,t.lanes=p,t;case de:return t=on(13,s,r,d),t.elementType=de,t.lanes=p,t;case ie:return t=on(19,s,r,d),t.elementType=ie,t.lanes=p,t;case fe:return Da(s,d,p,r);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case J:S=10;break e;case oe:S=9;break e;case B:S=11;break e;case ue:S=14;break e;case ae:S=16,c=null;break e}throw Error(o(130,t==null?t:typeof t,""))}return r=on(S,s,r,d),r.elementType=t,r.type=c,r.lanes=p,r}function uo(t,r,s,c){return t=on(7,t,c,r),t.lanes=s,t}function Da(t,r,s,c){return t=on(22,t,c,r),t.elementType=fe,t.lanes=s,t.stateNode={isHidden:!1},t}function Ru(t,r,s){return t=on(6,t,null,r),t.lanes=s,t}function Iu(t,r,s){return r=on(4,t.children!==null?t.children:[],t.key,r),r.lanes=s,r.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},r}function l4(t,r,s,c,d){this.tag=r,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ic(0),this.expirationTimes=ic(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ic(0),this.identifierPrefix=c,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function zu(t,r,s,c,d,p,S,P,O){return t=new l4(t,r,s,P,O),r===1?(r=1,p===!0&&(r|=8)):r=0,p=on(3,null,null,r),t.current=p,p.stateNode=t,p.memoizedState={element:c,isDehydrated:s,cache:null,transitions:null,pendingSuspenseBoundaries:null},Yc(p),t}function c4(t,r,s){var c=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Fu.exports=C4(),Fu.exports}var sm;function k4(){if(sm)return Wa;sm=1;var e=ig();return Wa.createRoot=e.createRoot,Wa.hydrateRoot=e.hydrateRoot,Wa}var j4=k4();const E4=Nl(j4);var y=id();const ke=Nl(y),sd=v4({__proto__:null,default:ke},[y]),am=e=>{let n;const o=new Set,i=(m,v)=>{const x=typeof m=="function"?m(n):m;if(!Object.is(x,n)){const b=n;n=v??(typeof x!="object"||x===null)?x:Object.assign({},n,x),o.forEach(C=>C(n,b))}},a=()=>n,f={setState:i,getState:a,getInitialState:()=>h,subscribe:m=>(o.add(m),()=>o.delete(m))},h=n=e(i,a,f);return f},N4=(e=>e?am(e):am),M4=e=>e;function A4(e,n=M4){const o=ke.useSyncExternalStore(e.subscribe,ke.useCallback(()=>n(e.getState()),[e,n]),ke.useCallback(()=>n(e.getInitialState()),[e,n]));return ke.useDebugValue(o),o}const lm=e=>{const n=N4(e),o=i=>A4(n,i);return Object.assign(o,n),o},gt=(e=>e?lm(e):lm),bf=["voice","health","armor","hunger","thirst","stress","oxygen","armed","parachute","engine","harness","cruise","nitro","dev"],P4=["standard","bottom-right-row","center-bottom-row","left-bottom-column","right-bottom-column","top-left-row","top-right-row"],sg=["badge","circle-ring","circle-fill","split-circle","inner-circle","diamond-ring","hexagon-ring","horizontal-bar","icon-percentage","pill-ring","square-ring","square-fill","star-ring","triangle-ring"];class vs{constructor(n,{icon:o=null,isShowing:i=!1,name:a="",progressValue:l=100}={}){De(this,"height",50);De(this,"icon",null);De(this,"iconScaling",.4);De(this,"iconTranslateX",0);De(this,"iconTranslateY",0);De(this,"isShowing",!0);De(this,"name","");De(this,"progressValue",100);De(this,"shape","inner-circle");De(this,"rotateDegree",0);De(this,"translateX",0);De(this,"translateY",0);De(this,"width",50);De(this,"iconRotateDegree",0);switch(n){case"horizontal-bar":this.iconScaling=.6;break}this.shape=n,this.icon=o,this.isShowing=i,this.name=a,this.progressValue=l}}class ul extends vs{constructor(o,i={}){super(o,i);De(this,"displayOutline",!0);De(this,"iconRotateDegree",0);De(this,"ringSize",4);De(this,"borderGap",.85);switch(o){case"inner-circle":this.iconScaling=.4,this.ringSize=4,this.borderGap=.85,this.iconTranslateY=1;break;case"circle-ring":this.iconScaling=.4,this.ringSize=4;break;case"diamond-ring":this.height=60,this.width=60,this.iconScaling=.35,this.ringSize=4,this.iconTranslateY=.7;break;case"hexagon-ring":this.iconScaling=.35,this.ringSize=4,this.iconTranslateY=.7;break;case"square-ring":this.ringSize=4,this.iconScaling=.45,this.iconTranslateY=3;break;case"star-ring":this.height=55,this.width=55,this.ringSize=4,this.iconScaling=.35,this.iconTranslateY=3;break;case"triangle-ring":this.height=55,this.width=55,this.iconScaling=.35,this.ringSize=4,this.iconTranslateY=3;break}}}class R4 extends vs{constructor(o,i={}){super(o,i);De(this,"xAxisRound",5);De(this,"yAxisRound",20);De(this,"barHeight",4);switch(o){case"badge":this.height=45,this.width=45,this.iconScaling=.28,this.xAxisRound=5,this.yAxisRound=5,this.barHeight=3.5;break}}}class I4 extends ul{constructor(o,i={}){super(o,i);De(this,"dashes",8);De(this,"gap",4);De(this,"borderGap",.8);switch(o){case"split-circle":this.dashes=8,this.gap=4,this.borderGap=.85,this.ringSize=4,this.iconScaling=.4,this.iconTranslateY=1;break}}}class z4 extends vs{constructor(o,i={}){super(o,i);De(this,"borderSize",4);switch(o){case"circle-fill":this.borderSize=4,this.iconScaling=.4,this.iconTranslateY=1;break;case"square-fill":this.borderSize=4,this.iconScaling=.45,this.iconTranslateY=3;break}}}class O4 extends ul{constructor(o,i={}){super(o,i);De(this,"xAxisRound",5);De(this,"yAxisRound",20);De(this,"barHeight",0);switch(o){case"pill-ring":this.height=80,this.width=50,this.iconScaling=.4,this.xAxisRound=18,this.yAxisRound=18,this.ringSize=5;break}}}function ho(e,n={}){switch(e){case"inner-circle":return new ul(e,n);case"split-circle":return new I4(e,n);case"circle-fill":case"square-fill":return new z4(e,n);case"badge":return new R4(e,n);case"horizontal-bar":return new vs(e,n);case"circle-ring":case"diamond-ring":case"hexagon-ring":case"square-ring":case"star-ring":case"triangle-ring":return new ul(e,n);case"pill-ring":return new O4(e,n);default:return new vs(e,n)}}const ag="inner-circle";function Et(e="",n=!1,o=null){return ho(ag,{isShowing:n,icon:o,name:e})}const _4=e=>{const n=Math.max(0,Math.min(100,e));return Math.round(n/100*255).toString(16).padStart(2,"0").toUpperCase()};function Ke(e,n,o="",i="#FFFFFFFF",a="#212121FF"){return{iconColor:i,iconContrast:100,iconDropShadowAmount:0,innerColor:a,name:e,outlineColor:o||n+_4(40),outlineContrast:100,outlineDropShadowAmount:0,progressColor:n,progressContrast:100,progressDropShadowAmount:0}}function Nt(){return ol(ag)}function ol(e){let n={};switch(e){case"inner-circle":case"split-circle":case"badge":case"circle-ring":case"diamond-ring":case"hexagon-ring":case"pill-ring":case"square-ring":case"star-ring":case"triangle-ring":n.innerColor=!0;break}return n}const ad="PSHudMenu",Ml="PSHudPlayerStatus",ld="PSHudLayout",cd="PSHudColor",ud="PSHudProfile";function Yt(e){return Math.min(e,100)}function D4(){try{const e=localStorage.getItem(cd);return e?JSON.parse(e):{}}catch{return{}}}function Mt(e,n,o){return e[n]!=null?e[n]:o}function cm(e){return{globalColorSettings:Mt(e,"globalColorSettings",{editableColors:Nt(),editSingleIconName:"voice",editSingleIconStage:0,iconColor:"",iconContrast:100,iconDropShadowAmount:0,innerColor:"",outlineColor:"",outlineContrast:100,outlineDropShadowAmount:0,progressColor:"",progressContrast:100,progressDropShadowAmount:0}),icons:{voice:Mt(e,"voice",{currentEffect:0,colorEffects:[Ke("not-talking","#FFFFFF"),Ke("talking","#FFFF3E"),Ke("radio-talking","#D64763")],editableColors:Nt()}),health:Mt(e,"health",{currentEffect:0,colorEffects:[Ke("alive","#06d170"),Ke("dead","#ff0000")],editableColors:Nt()}),armor:Mt(e,"armor",{currentEffect:0,colorEffects:[Ke("armor","#0764ce"),Ke("no-armor","#ff0000")],editableColors:Nt()}),hunger:Mt(e,"hunger",{currentEffect:0,colorEffects:[Ke("normal","#ffbb00"),Ke("starving","#ff0000")],editableColors:Nt()}),thirst:Mt(e,"thirst",{currentEffect:0,colorEffects:[Ke("normal","#3b82f6"),Ke("thirsty","#ff0000")],editableColors:Nt()}),stress:Mt(e,"stress",{currentEffect:0,colorEffects:[Ke("normal","#f51319")],editableColors:Nt()}),oxygen:Mt(e,"oxygen",{currentEffect:0,colorEffects:[Ke("normal","#07c4ce")],editableColors:Nt()}),armed:Mt(e,"armed",{currentEffect:0,colorEffects:[Ke("normal","#f563ff")],editableColors:Nt()}),parachute:Mt(e,"parachute",{currentEffect:0,colorEffects:[Ke("normal","#d1ff63")],editableColors:Nt()}),engine:Mt(e,"engine",{currentEffect:0,colorEffects:[Ke("no-damage","#3FA554"),Ke("minor-damage","#dd6e14"),Ke("major-damage","#ff0000")],editableColors:Nt()}),harness:Mt(e,"harness",{currentEffect:0,colorEffects:[Ke("normal","#9a00ff")],editableColors:Nt()}),cruise:Mt(e,"cruise",{currentEffect:0,colorEffects:[Ke("normal","#f563ff")],editableColors:Nt()}),nitro:Mt(e,"nitro",{currentEffect:0,colorEffects:[Ke("no-nitro","#ffffff"),Ke("active-nitro","#D64763")],editableColors:Nt()}),dev:Mt(e,"dev",{currentEffect:0,colorEffects:[Ke("normal","#000000")],editableColors:Nt()})}}}const T4=D4(),Pt=gt((e,n)=>({...cm(T4),resetColorEffects(){localStorage.removeItem(cd),e(cm({}))},receiveUIUpdateMessage(o){if(!o||!Object.keys(o).length)return;const i=Te.getState();e(a=>{const l={...a.icons};for(const[u,f]of Object.entries(o))l[u]={currentEffect:0,editableColors:ol(i.icons[u].shape),colorEffects:f.colorEffects};return{icons:l}})},updateAllDefaultEffectColorSetting(o,i){e(a=>{const l={...a.icons},u=["progressDropShadowAmount","iconDropShadowAmount","outlineDropShadowAmount"];for(const f of Object.keys(l))if(u.includes(o))l[f]={...l[f],colorEffects:l[f].colorEffects.map(h=>({...h,[o]:i}))};else{const h=[...l[f].colorEffects];h[0]={...h[0],[o]:i},l[f]={...l[f],colorEffects:h}}return{icons:l,globalColorSettings:{...a.globalColorSettings,[o]:i}}})},updateAllIconShapeEditableColor(o){const i=ol(o);e(a=>{const l={...a.icons};for(const u in l)l[u]={...l[u],editableColors:i};return{icons:l,globalColorSettings:{...a.globalColorSettings,editableColors:i}}})},updateDefaultEffectColorSetting(o,i,a){e(l=>{const u=l.icons[o],f=[...u.colorEffects];return f[0]={...f[0],[i]:a},{icons:{...l.icons,[o]:{...u,colorEffects:f}}}})},updateIconColorToProgressColor(){e(o=>{const i={...o.icons};for(const a of Object.keys(i))i[a]={...i[a],colorEffects:i[a].colorEffects.map(l=>({...l,iconColor:l.progressColor}))};return{icons:i}})},updateIconEffectStage(o,i){e(a=>{const l=a.icons[o];return i<0||i>l.colorEffects.length-1?a:{icons:{...a.icons,[o]:{...l,currentEffect:i}}}})},updateIconShapeEditableColor(o,i){e(a=>({icons:{...a.icons,[o]:{...a.icons[o],editableColors:ol(i)}}}))},updateColorSetting(o,i,a,l){e(u=>{const f=u.icons[o];if(i<0||i>f.colorEffects.length-1)return u;const h=[...f.colorEffects];return h[i]={...h[i],[a]:l},{icons:{...u.icons,[o]:{...f,colorEffects:h}}}})},updateProgressColor(o,i,a){n().updateColorSetting(o,i,"progressColor",a)}}));/*! + */var Em;function o4(){if(Em)return $t;Em=1;var e=bf(),n=r4();function r(t){for(var o="https://reactjs.org/docs/error-decoder.html?invariant="+t,s=1;s"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),h=Object.prototype.hasOwnProperty,m=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,y={},x={};function b(t){return h.call(x,t)?!0:h.call(y,t)?!1:m.test(t)?x[t]=!0:(y[t]=!0,!1)}function C(t,o,s,c){if(s!==null&&s.type===0)return!1;switch(typeof o){case"function":case"symbol":return!0;case"boolean":return c?!1:s!==null?!s.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function N(t,o,s,c){if(o===null||typeof o>"u"||C(t,o,s,c))return!0;if(c)return!1;if(s!==null)switch(s.type){case 3:return!o;case 4:return o===!1;case 5:return isNaN(o);case 6:return isNaN(o)||1>o}return!1}function E(t,o,s,c,f,g,S){this.acceptsBooleans=o===2||o===3||o===4,this.attributeName=c,this.attributeNamespace=f,this.mustUseProperty=s,this.propertyName=t,this.type=o,this.sanitizeURL=g,this.removeEmptyString=S}var j={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){j[t]=new E(t,0,!1,t,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var o=t[0];j[o]=new E(o,1,!1,t[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(t){j[t]=new E(t,2,!1,t.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){j[t]=new E(t,2,!1,t,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){j[t]=new E(t,3,!1,t.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(t){j[t]=new E(t,3,!0,t,null,!1,!1)}),["capture","download"].forEach(function(t){j[t]=new E(t,4,!1,t,null,!1,!1)}),["cols","rows","size","span"].forEach(function(t){j[t]=new E(t,6,!1,t,null,!1,!1)}),["rowSpan","start"].forEach(function(t){j[t]=new E(t,5,!1,t.toLowerCase(),null,!1,!1)});var A=/[\-:]([a-z])/g;function k(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var o=t.replace(A,k);j[o]=new E(o,1,!1,t,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var o=t.replace(A,k);j[o]=new E(o,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(t){var o=t.replace(A,k);j[o]=new E(o,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(t){j[t]=new E(t,1,!1,t.toLowerCase(),null,!1,!1)}),j.xlinkHref=new E("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(t){j[t]=new E(t,1,!1,t.toLowerCase(),null,!0,!0)});function M(t,o,s,c){var f=j.hasOwnProperty(o)?j[o]:null;(f!==null?f.type!==0:c||!(2R||f[S]!==g[R]){var O=` +`+f[S].replace(" at new "," at ");return t.displayName&&O.includes("")&&(O=O.replace("",t.displayName)),O}while(1<=S&&0<=R);break}}}finally{K=!1,Error.prepareStackTrace=s}return(t=t?t.displayName||t.name:"")?z(t):""}function Q(t){switch(t.tag){case 5:return z(t.type);case 16:return z("Lazy");case 13:return z("Suspense");case 19:return z("SuspenseList");case 0:case 2:case 15:return t=ee(t.type,!1),t;case 11:return t=ee(t.type.render,!1),t;case 1:return t=ee(t.type,!0),t;default:return""}}function ne(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case _:return"Fragment";case H:return"Portal";case W:return"Profiler";case F:return"StrictMode";case de:return"Suspense";case se:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case ie:return(t.displayName||"Context")+".Consumer";case Z:return(t._context.displayName||"Context")+".Provider";case U:var o=t.render;return t=t.displayName,t||(t=o.displayName||o.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case ce:return o=t.displayName||null,o!==null?o:ne(t.type)||"Memo";case ae:o=t._payload,t=t._init;try{return ne(t(o))}catch{}}return null}function le(t){var o=t.type;switch(t.tag){case 24:return"Cache";case 9:return(o.displayName||"Context")+".Consumer";case 10:return(o._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=o.render,t=t.displayName||t.name||"",o.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return o;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ne(o);case 8:return o===F?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o}return null}function he(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function fe(t){var o=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(o==="checkbox"||o==="radio")}function Ie(t){var o=fe(t)?"checked":"value",s=Object.getOwnPropertyDescriptor(t.constructor.prototype,o),c=""+t[o];if(!t.hasOwnProperty(o)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var f=s.get,g=s.set;return Object.defineProperty(t,o,{configurable:!0,get:function(){return f.call(this)},set:function(S){c=""+S,g.call(this,S)}}),Object.defineProperty(t,o,{enumerable:s.enumerable}),{getValue:function(){return c},setValue:function(S){c=""+S},stopTracking:function(){t._valueTracker=null,delete t[o]}}}}function Le(t){t._valueTracker||(t._valueTracker=Ie(t))}function vt(t){if(!t)return!1;var o=t._valueTracker;if(!o)return!0;var s=o.getValue(),c="";return t&&(c=fe(t)?t.checked?"true":"false":t.value),t=c,t!==s?(o.setValue(t),!0):!1}function Ot(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Qn(t,o){var s=o.checked;return q({},o,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:s??t._wrapperState.initialChecked})}function eo(t,o){var s=o.defaultValue==null?"":o.defaultValue,c=o.checked!=null?o.checked:o.defaultChecked;s=he(o.value!=null?o.value:s),t._wrapperState={initialChecked:c,initialValue:s,controlled:o.type==="checkbox"||o.type==="radio"?o.checked!=null:o.value!=null}}function to(t,o){o=o.checked,o!=null&&M(t,"checked",o,!1)}function vr(t,o){to(t,o);var s=he(o.value),c=o.type;if(s!=null)c==="number"?(s===0&&t.value===""||t.value!=s)&&(t.value=""+s):t.value!==""+s&&(t.value=""+s);else if(c==="submit"||c==="reset"){t.removeAttribute("value");return}o.hasOwnProperty("value")?nn(t,o.type,s):o.hasOwnProperty("defaultValue")&&nn(t,o.type,he(o.defaultValue)),o.checked==null&&o.defaultChecked!=null&&(t.defaultChecked=!!o.defaultChecked)}function zo(t,o,s){if(o.hasOwnProperty("value")||o.hasOwnProperty("defaultValue")){var c=o.type;if(!(c!=="submit"&&c!=="reset"||o.value!==void 0&&o.value!==null))return;o=""+t._wrapperState.initialValue,s||o===t.value||(t.value=o),t.defaultValue=o}s=t.name,s!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,s!==""&&(t.name=s)}function nn(t,o,s){(o!=="number"||Ot(t.ownerDocument)!==t)&&(s==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+s&&(t.defaultValue=""+s))}var no=Array.isArray;function Jn(t,o,s,c){if(t=t.options,o){o={};for(var f=0;f"+o.valueOf().toString()+"",o=Ys.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;o.firstChild;)t.appendChild(o.firstChild)}});function Ai(t,o){if(o){var s=t.firstChild;if(s&&s===t.lastChild&&s.nodeType===3){s.nodeValue=o;return}}t.textContent=o}var Pi={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},e3=["Webkit","ms","Moz","O"];Object.keys(Pi).forEach(function(t){e3.forEach(function(o){o=o+t.charAt(0).toUpperCase()+t.substring(1),Pi[o]=Pi[t]})});function T0(t,o,s){return o==null||typeof o=="boolean"||o===""?"":s||typeof o!="number"||o===0||Pi.hasOwnProperty(t)&&Pi[t]?(""+o).trim():o+"px"}function _0(t,o){t=t.style;for(var s in o)if(o.hasOwnProperty(s)){var c=s.indexOf("--")===0,f=T0(s,o[s],c);s==="float"&&(s="cssFloat"),c?t.setProperty(s,f):t[s]=f}}var t3=q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function cc(t,o){if(o){if(t3[t]&&(o.children!=null||o.dangerouslySetInnerHTML!=null))throw Error(r(137,t));if(o.dangerouslySetInnerHTML!=null){if(o.children!=null)throw Error(r(60));if(typeof o.dangerouslySetInnerHTML!="object"||!("__html"in o.dangerouslySetInnerHTML))throw Error(r(61))}if(o.style!=null&&typeof o.style!="object")throw Error(r(62))}}function uc(t,o){if(t.indexOf("-")===-1)return typeof o.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var dc=null;function fc(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var pc=null,To=null,_o=null;function D0(t){if(t=Ji(t)){if(typeof pc!="function")throw Error(r(280));var o=t.stateNode;o&&(o=ma(o),pc(t.stateNode,t.type,o))}}function L0(t){To?_o?_o.push(t):_o=[t]:To=t}function F0(){if(To){var t=To,o=_o;if(_o=To=null,D0(t),o)for(t=0;t>>=0,t===0?32:31-(f3(t)/p3|0)|0}var Qs=64,Js=4194304;function Oi(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Zs(t,o){var s=t.pendingLanes;if(s===0)return 0;var c=0,f=t.suspendedLanes,g=t.pingedLanes,S=s&268435455;if(S!==0){var R=S&~f;R!==0?c=Oi(R):(g&=S,g!==0&&(c=Oi(g)))}else S=s&~f,S!==0?c=Oi(S):g!==0&&(c=Oi(g));if(c===0)return 0;if(o!==0&&o!==c&&(o&f)===0&&(f=c&-c,g=o&-o,f>=g||f===16&&(g&4194240)!==0))return o;if((c&4)!==0&&(c|=s&16),o=t.entangledLanes,o!==0)for(t=t.entanglements,o&=c;0s;s++)o.push(t);return o}function Ti(t,o,s){t.pendingLanes|=o,o!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,o=31-hn(o),t[o]=s}function y3(t,o){var s=t.pendingLanes&~o;t.pendingLanes=o,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=o,t.mutableReadLanes&=o,t.entangledLanes&=o,o=t.entanglements;var c=t.eventTimes;for(t=t.expirationTimes;0=Bi),pp=" ",hp=!1;function mp(t,o){switch(t){case"keyup":return U3.indexOf(o.keyCode)!==-1;case"keydown":return o.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function gp(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Fo=!1;function X3(t,o){switch(t){case"compositionend":return gp(o);case"keypress":return o.which!==32?null:(hp=!0,pp);case"textInput":return t=o.data,t===pp&&hp?null:t;default:return null}}function G3(t,o){if(Fo)return t==="compositionend"||!Rc&&mp(t,o)?(t=ap(),oa=jc=Cr=null,Fo=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(o.ctrlKey||o.altKey||o.metaKey)||o.ctrlKey&&o.altKey){if(o.char&&1=o)return{node:s,offset:o-t};t=c}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=Cp(s)}}function jp(t,o){return t&&o?t===o?!0:t&&t.nodeType===3?!1:o&&o.nodeType===3?jp(t,o.parentNode):"contains"in t?t.contains(o):t.compareDocumentPosition?!!(t.compareDocumentPosition(o)&16):!1:!1}function Ep(){for(var t=window,o=Ot();o instanceof t.HTMLIFrameElement;){try{var s=typeof o.contentWindow.location.href=="string"}catch{s=!1}if(s)t=o.contentWindow;else break;o=Ot(t.document)}return o}function Oc(t){var o=t&&t.nodeName&&t.nodeName.toLowerCase();return o&&(o==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||o==="textarea"||t.contentEditable==="true")}function r5(t){var o=Ep(),s=t.focusedElem,c=t.selectionRange;if(o!==s&&s&&s.ownerDocument&&jp(s.ownerDocument.documentElement,s)){if(c!==null&&Oc(s)){if(o=c.start,t=c.end,t===void 0&&(t=o),"selectionStart"in s)s.selectionStart=o,s.selectionEnd=Math.min(t,s.value.length);else if(t=(o=s.ownerDocument||document)&&o.defaultView||window,t.getSelection){t=t.getSelection();var f=s.textContent.length,g=Math.min(c.start,f);c=c.end===void 0?g:Math.min(c.end,f),!t.extend&&g>c&&(f=c,c=g,g=f),f=kp(s,g);var S=kp(s,c);f&&S&&(t.rangeCount!==1||t.anchorNode!==f.node||t.anchorOffset!==f.offset||t.focusNode!==S.node||t.focusOffset!==S.offset)&&(o=o.createRange(),o.setStart(f.node,f.offset),t.removeAllRanges(),g>c?(t.addRange(o),t.extend(S.node,S.offset)):(o.setEnd(S.node,S.offset),t.addRange(o)))}}for(o=[],t=s;t=t.parentNode;)t.nodeType===1&&o.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof s.focus=="function"&&s.focus(),s=0;s=document.documentMode,$o=null,Tc=null,Xi=null,_c=!1;function Np(t,o,s){var c=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;_c||$o==null||$o!==Ot(c)||(c=$o,"selectionStart"in c&&Oc(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),Xi&&Yi(Xi,c)||(Xi=c,c=fa(Tc,"onSelect"),0Uo||(t.current=Gc[Uo],Gc[Uo]=null,Uo--)}function Fe(t,o){Uo++,Gc[Uo]=t.current,t.current=o}var Nr={},xt=Er(Nr),Tt=Er(!1),io=Nr;function Yo(t,o){var s=t.type.contextTypes;if(!s)return Nr;var c=t.stateNode;if(c&&c.__reactInternalMemoizedUnmaskedChildContext===o)return c.__reactInternalMemoizedMaskedChildContext;var f={},g;for(g in s)f[g]=o[g];return c&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=o,t.__reactInternalMemoizedMaskedChildContext=f),f}function _t(t){return t=t.childContextTypes,t!=null}function ga(){Be(Tt),Be(xt)}function Vp(t,o,s){if(xt.current!==Nr)throw Error(r(168));Fe(xt,o),Fe(Tt,s)}function Bp(t,o,s){var c=t.stateNode;if(o=o.childContextTypes,typeof c.getChildContext!="function")return s;c=c.getChildContext();for(var f in c)if(!(f in o))throw Error(r(108,le(t)||"Unknown",f));return q({},s,c)}function ya(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Nr,io=xt.current,Fe(xt,t),Fe(Tt,Tt.current),!0}function Wp(t,o,s){var c=t.stateNode;if(!c)throw Error(r(169));s?(t=Bp(t,o,io),c.__reactInternalMemoizedMergedChildContext=t,Be(Tt),Be(xt),Fe(xt,t)):Be(Tt),Fe(Tt,s)}var er=null,va=!1,Kc=!1;function Up(t){er===null?er=[t]:er.push(t)}function m5(t){va=!0,Up(t)}function Mr(){if(!Kc&&er!==null){Kc=!0;var t=0,o=_e;try{var s=er;for(_e=1;t>=S,f-=S,tr=1<<32-hn(o)+f|s<be?(dt=we,we=null):dt=we.sibling;var ze=X($,we,V[be],re);if(ze===null){we===null&&(we=dt);break}t&&we&&ze.alternate===null&&o($,we),D=g(ze,D,be),xe===null?ye=ze:xe.sibling=ze,xe=ze,we=dt}if(be===V.length)return s($,we),Ye&&ao($,be),ye;if(we===null){for(;bebe?(dt=we,we=null):dt=we.sibling;var Dr=X($,we,ze.value,re);if(Dr===null){we===null&&(we=dt);break}t&&we&&Dr.alternate===null&&o($,we),D=g(Dr,D,be),xe===null?ye=Dr:xe.sibling=Dr,xe=Dr,we=dt}if(ze.done)return s($,we),Ye&&ao($,be),ye;if(we===null){for(;!ze.done;be++,ze=V.next())ze=J($,ze.value,re),ze!==null&&(D=g(ze,D,be),xe===null?ye=ze:xe.sibling=ze,xe=ze);return Ye&&ao($,be),ye}for(we=c($,we);!ze.done;be++,ze=V.next())ze=ue(we,$,be,ze.value,re),ze!==null&&(t&&ze.alternate!==null&&we.delete(ze.key===null?be:ze.key),D=g(ze,D,be),xe===null?ye=ze:xe.sibling=ze,xe=ze);return t&&we.forEach(function(K5){return o($,K5)}),Ye&&ao($,be),ye}function nt($,D,V,re){if(typeof V=="object"&&V!==null&&V.type===_&&V.key===null&&(V=V.props.children),typeof V=="object"&&V!==null){switch(V.$$typeof){case L:e:{for(var ye=V.key,xe=D;xe!==null;){if(xe.key===ye){if(ye=V.type,ye===_){if(xe.tag===7){s($,xe.sibling),D=f(xe,V.props.children),D.return=$,$=D;break e}}else if(xe.elementType===ye||typeof ye=="object"&&ye!==null&&ye.$$typeof===ae&&Qp(ye)===xe.type){s($,xe.sibling),D=f(xe,V.props),D.ref=Zi($,xe,V),D.return=$,$=D;break e}s($,xe);break}else o($,xe);xe=xe.sibling}V.type===_?(D=go(V.props.children,$.mode,re,V.key),D.return=$,$=D):(re=Ya(V.type,V.key,V.props,null,$.mode,re),re.ref=Zi($,D,V),re.return=$,$=re)}return S($);case H:e:{for(xe=V.key;D!==null;){if(D.key===xe)if(D.tag===4&&D.stateNode.containerInfo===V.containerInfo&&D.stateNode.implementation===V.implementation){s($,D.sibling),D=f(D,V.children||[]),D.return=$,$=D;break e}else{s($,D);break}else o($,D);D=D.sibling}D=Yu(V,$.mode,re),D.return=$,$=D}return S($);case ae:return xe=V._init,nt($,D,xe(V._payload),re)}if(no(V))return me($,D,V,re);if(I(V))return ge($,D,V,re);Sa($,V)}return typeof V=="string"&&V!==""||typeof V=="number"?(V=""+V,D!==null&&D.tag===6?(s($,D.sibling),D=f(D,V),D.return=$,$=D):(s($,D),D=Uu(V,$.mode,re),D.return=$,$=D),S($)):s($,D)}return nt}var qo=Jp(!0),Zp=Jp(!1),Ca=Er(null),ka=null,Qo=null,tu=null;function nu(){tu=Qo=ka=null}function ru(t){var o=Ca.current;Be(Ca),t._currentValue=o}function ou(t,o,s){for(;t!==null;){var c=t.alternate;if((t.childLanes&o)!==o?(t.childLanes|=o,c!==null&&(c.childLanes|=o)):c!==null&&(c.childLanes&o)!==o&&(c.childLanes|=o),t===s)break;t=t.return}}function Jo(t,o){ka=t,tu=Qo=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&o)!==0&&(Dt=!0),t.firstContext=null)}function sn(t){var o=t._currentValue;if(tu!==t)if(t={context:t,memoizedValue:o,next:null},Qo===null){if(ka===null)throw Error(r(308));Qo=t,ka.dependencies={lanes:0,firstContext:t}}else Qo=Qo.next=t;return o}var lo=null;function iu(t){lo===null?lo=[t]:lo.push(t)}function eh(t,o,s,c){var f=o.interleaved;return f===null?(s.next=s,iu(o)):(s.next=f.next,f.next=s),o.interleaved=s,rr(t,c)}function rr(t,o){t.lanes|=o;var s=t.alternate;for(s!==null&&(s.lanes|=o),s=t,t=t.return;t!==null;)t.childLanes|=o,s=t.alternate,s!==null&&(s.childLanes|=o),s=t,t=t.return;return s.tag===3?s.stateNode:null}var Ar=!1;function su(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function th(t,o){t=t.updateQueue,o.updateQueue===t&&(o.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function or(t,o){return{eventTime:t,lane:o,tag:0,payload:null,callback:null,next:null}}function Pr(t,o,s){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Re&2)!==0){var f=c.pending;return f===null?o.next=o:(o.next=f.next,f.next=o),c.pending=o,rr(t,s)}return f=c.interleaved,f===null?(o.next=o,iu(c)):(o.next=f.next,f.next=o),c.interleaved=o,rr(t,s)}function ja(t,o,s){if(o=o.updateQueue,o!==null&&(o=o.shared,(s&4194240)!==0)){var c=o.lanes;c&=t.pendingLanes,s|=c,o.lanes=s,wc(t,s)}}function nh(t,o){var s=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,s===c)){var f=null,g=null;if(s=s.firstBaseUpdate,s!==null){do{var S={eventTime:s.eventTime,lane:s.lane,tag:s.tag,payload:s.payload,callback:s.callback,next:null};g===null?f=g=S:g=g.next=S,s=s.next}while(s!==null);g===null?f=g=o:g=g.next=o}else f=g=o;s={baseState:c.baseState,firstBaseUpdate:f,lastBaseUpdate:g,shared:c.shared,effects:c.effects},t.updateQueue=s;return}t=s.lastBaseUpdate,t===null?s.firstBaseUpdate=o:t.next=o,s.lastBaseUpdate=o}function Ea(t,o,s,c){var f=t.updateQueue;Ar=!1;var g=f.firstBaseUpdate,S=f.lastBaseUpdate,R=f.shared.pending;if(R!==null){f.shared.pending=null;var O=R,B=O.next;O.next=null,S===null?g=B:S.next=B,S=O;var G=t.alternate;G!==null&&(G=G.updateQueue,R=G.lastBaseUpdate,R!==S&&(R===null?G.firstBaseUpdate=B:R.next=B,G.lastBaseUpdate=O))}if(g!==null){var J=f.baseState;S=0,G=B=O=null,R=g;do{var X=R.lane,ue=R.eventTime;if((c&X)===X){G!==null&&(G=G.next={eventTime:ue,lane:0,tag:R.tag,payload:R.payload,callback:R.callback,next:null});e:{var me=t,ge=R;switch(X=o,ue=s,ge.tag){case 1:if(me=ge.payload,typeof me=="function"){J=me.call(ue,J,X);break e}J=me;break e;case 3:me.flags=me.flags&-65537|128;case 0:if(me=ge.payload,X=typeof me=="function"?me.call(ue,J,X):me,X==null)break e;J=q({},J,X);break e;case 2:Ar=!0}}R.callback!==null&&R.lane!==0&&(t.flags|=64,X=f.effects,X===null?f.effects=[R]:X.push(R))}else ue={eventTime:ue,lane:X,tag:R.tag,payload:R.payload,callback:R.callback,next:null},G===null?(B=G=ue,O=J):G=G.next=ue,S|=X;if(R=R.next,R===null){if(R=f.shared.pending,R===null)break;X=R,R=X.next,X.next=null,f.lastBaseUpdate=X,f.shared.pending=null}}while(!0);if(G===null&&(O=J),f.baseState=O,f.firstBaseUpdate=B,f.lastBaseUpdate=G,o=f.shared.interleaved,o!==null){f=o;do S|=f.lane,f=f.next;while(f!==o)}else g===null&&(f.shared.lanes=0);fo|=S,t.lanes=S,t.memoizedState=J}}function rh(t,o,s){if(t=o.effects,o.effects=null,t!==null)for(o=0;os?s:4,t(!0);var c=du.transition;du.transition={};try{t(!1),o()}finally{_e=s,du.transition=c}}function Sh(){return an().memoizedState}function x5(t,o,s){var c=Or(t);if(s={lane:c,action:s,hasEagerState:!1,eagerState:null,next:null},Ch(t))kh(o,s);else if(s=eh(t,o,s,c),s!==null){var f=Mt();wn(s,t,c,f),jh(s,o,c)}}function w5(t,o,s){var c=Or(t),f={lane:c,action:s,hasEagerState:!1,eagerState:null,next:null};if(Ch(t))kh(o,f);else{var g=t.alternate;if(t.lanes===0&&(g===null||g.lanes===0)&&(g=o.lastRenderedReducer,g!==null))try{var S=o.lastRenderedState,R=g(S,s);if(f.hasEagerState=!0,f.eagerState=R,mn(R,S)){var O=o.interleaved;O===null?(f.next=f,iu(o)):(f.next=O.next,O.next=f),o.interleaved=f;return}}catch{}finally{}s=eh(t,o,f,c),s!==null&&(f=Mt(),wn(s,t,c,f),jh(s,o,c))}}function Ch(t){var o=t.alternate;return t===Ke||o!==null&&o===Ke}function kh(t,o){rs=Aa=!0;var s=t.pending;s===null?o.next=o:(o.next=s.next,s.next=o),t.pending=o}function jh(t,o,s){if((s&4194240)!==0){var c=o.lanes;c&=t.pendingLanes,s|=c,o.lanes=s,wc(t,s)}}var Ia={readContext:sn,useCallback:wt,useContext:wt,useEffect:wt,useImperativeHandle:wt,useInsertionEffect:wt,useLayoutEffect:wt,useMemo:wt,useReducer:wt,useRef:wt,useState:wt,useDebugValue:wt,useDeferredValue:wt,useTransition:wt,useMutableSource:wt,useSyncExternalStore:wt,useId:wt,unstable_isNewReconciler:!1},b5={readContext:sn,useCallback:function(t,o){return zn().memoizedState=[t,o===void 0?null:o],t},useContext:sn,useEffect:hh,useImperativeHandle:function(t,o,s){return s=s!=null?s.concat([t]):null,Pa(4194308,4,yh.bind(null,o,t),s)},useLayoutEffect:function(t,o){return Pa(4194308,4,t,o)},useInsertionEffect:function(t,o){return Pa(4,2,t,o)},useMemo:function(t,o){var s=zn();return o=o===void 0?null:o,t=t(),s.memoizedState=[t,o],t},useReducer:function(t,o,s){var c=zn();return o=s!==void 0?s(o):o,c.memoizedState=c.baseState=o,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:o},c.queue=t,t=t.dispatch=x5.bind(null,Ke,t),[c.memoizedState,t]},useRef:function(t){var o=zn();return t={current:t},o.memoizedState=t},useState:fh,useDebugValue:vu,useDeferredValue:function(t){return zn().memoizedState=t},useTransition:function(){var t=fh(!1),o=t[0];return t=v5.bind(null,t[1]),zn().memoizedState=t,[o,t]},useMutableSource:function(){},useSyncExternalStore:function(t,o,s){var c=Ke,f=zn();if(Ye){if(s===void 0)throw Error(r(407));s=s()}else{if(s=o(),ut===null)throw Error(r(349));(uo&30)!==0||ah(c,o,s)}f.memoizedState=s;var g={value:s,getSnapshot:o};return f.queue=g,hh(ch.bind(null,c,g,t),[t]),c.flags|=2048,ss(9,lh.bind(null,c,g,s,o),void 0,null),s},useId:function(){var t=zn(),o=ut.identifierPrefix;if(Ye){var s=nr,c=tr;s=(c&~(1<<32-hn(c)-1)).toString(32)+s,o=":"+o+"R"+s,s=os++,0<\/script>",t=t.removeChild(t.firstChild)):typeof c.is=="string"?t=S.createElement(s,{is:c.is}):(t=S.createElement(s),s==="select"&&(S=t,c.multiple?S.multiple=!0:c.size&&(S.size=c.size))):t=S.createElementNS(t,s),t[Rn]=o,t[Qi]=c,Uh(t,o,!1,!1),o.stateNode=t;e:{switch(S=uc(s,c),s){case"dialog":Ve("cancel",t),Ve("close",t),f=c;break;case"iframe":case"object":case"embed":Ve("load",t),f=c;break;case"video":case"audio":for(f=0;fri&&(o.flags|=128,c=!0,as(g,!1),o.lanes=4194304)}else{if(!c)if(t=Na(S),t!==null){if(o.flags|=128,c=!0,s=t.updateQueue,s!==null&&(o.updateQueue=s,o.flags|=4),as(g,!0),g.tail===null&&g.tailMode==="hidden"&&!S.alternate&&!Ye)return bt(o),null}else 2*tt()-g.renderingStartTime>ri&&s!==1073741824&&(o.flags|=128,c=!0,as(g,!1),o.lanes=4194304);g.isBackwards?(S.sibling=o.child,o.child=S):(s=g.last,s!==null?s.sibling=S:o.child=S,g.last=S)}return g.tail!==null?(o=g.tail,g.rendering=o,g.tail=o.sibling,g.renderingStartTime=tt(),o.sibling=null,s=Ge.current,Fe(Ge,c?s&1|2:s&1),o):(bt(o),null);case 22:case 23:return Vu(),c=o.memoizedState!==null,t!==null&&t.memoizedState!==null!==c&&(o.flags|=8192),c&&(o.mode&1)!==0?(Gt&1073741824)!==0&&(bt(o),o.subtreeFlags&6&&(o.flags|=8192)):bt(o),null;case 24:return null;case 25:return null}throw Error(r(156,o.tag))}function A5(t,o){switch(Qc(o),o.tag){case 1:return _t(o.type)&&ga(),t=o.flags,t&65536?(o.flags=t&-65537|128,o):null;case 3:return Zo(),Be(Tt),Be(xt),uu(),t=o.flags,(t&65536)!==0&&(t&128)===0?(o.flags=t&-65537|128,o):null;case 5:return lu(o),null;case 13:if(Be(Ge),t=o.memoizedState,t!==null&&t.dehydrated!==null){if(o.alternate===null)throw Error(r(340));Ko()}return t=o.flags,t&65536?(o.flags=t&-65537|128,o):null;case 19:return Be(Ge),null;case 4:return Zo(),null;case 10:return ru(o.type._context),null;case 22:case 23:return Vu(),null;case 24:return null;default:return null}}var _a=!1,St=!1,P5=typeof WeakSet=="function"?WeakSet:Set,pe=null;function ti(t,o){var s=t.ref;if(s!==null)if(typeof s=="function")try{s(null)}catch(c){Qe(t,o,c)}else s.current=null}function Pu(t,o,s){try{s()}catch(c){Qe(t,o,c)}}var Gh=!1;function R5(t,o){if(Vc=na,t=Ep(),Oc(t)){if("selectionStart"in t)var s={start:t.selectionStart,end:t.selectionEnd};else e:{s=(s=t.ownerDocument)&&s.defaultView||window;var c=s.getSelection&&s.getSelection();if(c&&c.rangeCount!==0){s=c.anchorNode;var f=c.anchorOffset,g=c.focusNode;c=c.focusOffset;try{s.nodeType,g.nodeType}catch{s=null;break e}var S=0,R=-1,O=-1,B=0,G=0,J=t,X=null;t:for(;;){for(var ue;J!==s||f!==0&&J.nodeType!==3||(R=S+f),J!==g||c!==0&&J.nodeType!==3||(O=S+c),J.nodeType===3&&(S+=J.nodeValue.length),(ue=J.firstChild)!==null;)X=J,J=ue;for(;;){if(J===t)break t;if(X===s&&++B===f&&(R=S),X===g&&++G===c&&(O=S),(ue=J.nextSibling)!==null)break;J=X,X=J.parentNode}J=ue}s=R===-1||O===-1?null:{start:R,end:O}}else s=null}s=s||{start:0,end:0}}else s=null;for(Bc={focusedElem:t,selectionRange:s},na=!1,pe=o;pe!==null;)if(o=pe,t=o.child,(o.subtreeFlags&1028)!==0&&t!==null)t.return=o,pe=t;else for(;pe!==null;){o=pe;try{var me=o.alternate;if((o.flags&1024)!==0)switch(o.tag){case 0:case 11:case 15:break;case 1:if(me!==null){var ge=me.memoizedProps,nt=me.memoizedState,$=o.stateNode,D=$.getSnapshotBeforeUpdate(o.elementType===o.type?ge:yn(o.type,ge),nt);$.__reactInternalSnapshotBeforeUpdate=D}break;case 3:var V=o.stateNode.containerInfo;V.nodeType===1?V.textContent="":V.nodeType===9&&V.documentElement&&V.removeChild(V.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(re){Qe(o,o.return,re)}if(t=o.sibling,t!==null){t.return=o.return,pe=t;break}pe=o.return}return me=Gh,Gh=!1,me}function ls(t,o,s){var c=o.updateQueue;if(c=c!==null?c.lastEffect:null,c!==null){var f=c=c.next;do{if((f.tag&t)===t){var g=f.destroy;f.destroy=void 0,g!==void 0&&Pu(o,s,g)}f=f.next}while(f!==c)}}function Da(t,o){if(o=o.updateQueue,o=o!==null?o.lastEffect:null,o!==null){var s=o=o.next;do{if((s.tag&t)===t){var c=s.create;s.destroy=c()}s=s.next}while(s!==o)}}function Ru(t){var o=t.ref;if(o!==null){var s=t.stateNode;switch(t.tag){case 5:t=s;break;default:t=s}typeof o=="function"?o(t):o.current=t}}function Kh(t){var o=t.alternate;o!==null&&(t.alternate=null,Kh(o)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(o=t.stateNode,o!==null&&(delete o[Rn],delete o[Qi],delete o[Xc],delete o[p5],delete o[h5])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function qh(t){return t.tag===5||t.tag===3||t.tag===4}function Qh(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||qh(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Iu(t,o,s){var c=t.tag;if(c===5||c===6)t=t.stateNode,o?s.nodeType===8?s.parentNode.insertBefore(t,o):s.insertBefore(t,o):(s.nodeType===8?(o=s.parentNode,o.insertBefore(t,s)):(o=s,o.appendChild(t)),s=s._reactRootContainer,s!=null||o.onclick!==null||(o.onclick=ha));else if(c!==4&&(t=t.child,t!==null))for(Iu(t,o,s),t=t.sibling;t!==null;)Iu(t,o,s),t=t.sibling}function zu(t,o,s){var c=t.tag;if(c===5||c===6)t=t.stateNode,o?s.insertBefore(t,o):s.appendChild(t);else if(c!==4&&(t=t.child,t!==null))for(zu(t,o,s),t=t.sibling;t!==null;)zu(t,o,s),t=t.sibling}var mt=null,vn=!1;function Rr(t,o,s){for(s=s.child;s!==null;)Jh(t,o,s),s=s.sibling}function Jh(t,o,s){if(Pn&&typeof Pn.onCommitFiberUnmount=="function")try{Pn.onCommitFiberUnmount(qs,s)}catch{}switch(s.tag){case 5:St||ti(s,o);case 6:var c=mt,f=vn;mt=null,Rr(t,o,s),mt=c,vn=f,mt!==null&&(vn?(t=mt,s=s.stateNode,t.nodeType===8?t.parentNode.removeChild(s):t.removeChild(s)):mt.removeChild(s.stateNode));break;case 18:mt!==null&&(vn?(t=mt,s=s.stateNode,t.nodeType===8?Yc(t.parentNode,s):t.nodeType===1&&Yc(t,s),$i(t)):Yc(mt,s.stateNode));break;case 4:c=mt,f=vn,mt=s.stateNode.containerInfo,vn=!0,Rr(t,o,s),mt=c,vn=f;break;case 0:case 11:case 14:case 15:if(!St&&(c=s.updateQueue,c!==null&&(c=c.lastEffect,c!==null))){f=c=c.next;do{var g=f,S=g.destroy;g=g.tag,S!==void 0&&((g&2)!==0||(g&4)!==0)&&Pu(s,o,S),f=f.next}while(f!==c)}Rr(t,o,s);break;case 1:if(!St&&(ti(s,o),c=s.stateNode,typeof c.componentWillUnmount=="function"))try{c.props=s.memoizedProps,c.state=s.memoizedState,c.componentWillUnmount()}catch(R){Qe(s,o,R)}Rr(t,o,s);break;case 21:Rr(t,o,s);break;case 22:s.mode&1?(St=(c=St)||s.memoizedState!==null,Rr(t,o,s),St=c):Rr(t,o,s);break;default:Rr(t,o,s)}}function Zh(t){var o=t.updateQueue;if(o!==null){t.updateQueue=null;var s=t.stateNode;s===null&&(s=t.stateNode=new P5),o.forEach(function(c){var f=$5.bind(null,t,c);s.has(c)||(s.add(c),c.then(f,f))})}}function xn(t,o){var s=o.deletions;if(s!==null)for(var c=0;cf&&(f=S),c&=~g}if(c=f,c=tt()-c,c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3e3>c?3e3:4320>c?4320:1960*z5(c/1960))-c,10t?16:t,zr===null)var c=!1;else{if(t=zr,zr=null,Va=0,(Re&6)!==0)throw Error(r(331));var f=Re;for(Re|=4,pe=t.current;pe!==null;){var g=pe,S=g.child;if((pe.flags&16)!==0){var R=g.deletions;if(R!==null){for(var O=0;Ott()-_u?ho(t,0):Tu|=s),Ft(t,o)}function fm(t,o){o===0&&((t.mode&1)===0?o=1:(o=Js,Js<<=1,(Js&130023424)===0&&(Js=4194304)));var s=Mt();t=rr(t,o),t!==null&&(Ti(t,o,s),Ft(t,s))}function F5(t){var o=t.memoizedState,s=0;o!==null&&(s=o.retryLane),fm(t,s)}function $5(t,o){var s=0;switch(t.tag){case 13:var c=t.stateNode,f=t.memoizedState;f!==null&&(s=f.retryLane);break;case 19:c=t.stateNode;break;default:throw Error(r(314))}c!==null&&c.delete(o),fm(t,s)}var pm;pm=function(t,o,s){if(t!==null)if(t.memoizedProps!==o.pendingProps||Tt.current)Dt=!0;else{if((t.lanes&s)===0&&(o.flags&128)===0)return Dt=!1,N5(t,o,s);Dt=(t.flags&131072)!==0}else Dt=!1,Ye&&(o.flags&1048576)!==0&&Yp(o,wa,o.index);switch(o.lanes=0,o.tag){case 2:var c=o.type;Ta(t,o),t=o.pendingProps;var f=Yo(o,xt.current);Jo(o,s),f=pu(null,o,c,t,f,s);var g=hu();return o.flags|=1,typeof f=="object"&&f!==null&&typeof f.render=="function"&&f.$$typeof===void 0?(o.tag=1,o.memoizedState=null,o.updateQueue=null,_t(c)?(g=!0,ya(o)):g=!1,o.memoizedState=f.state!==null&&f.state!==void 0?f.state:null,su(o),f.updater=za,o.stateNode=f,f._reactInternals=o,wu(o,c,t,s),o=ku(null,o,c,!0,g,s)):(o.tag=0,Ye&&g&&qc(o),Nt(null,o,f,s),o=o.child),o;case 16:c=o.elementType;e:{switch(Ta(t,o),t=o.pendingProps,f=c._init,c=f(c._payload),o.type=c,f=o.tag=V5(c),t=yn(c,t),f){case 0:o=Cu(null,o,c,t,s);break e;case 1:o=Fh(null,o,c,t,s);break e;case 11:o=Oh(null,o,c,t,s);break e;case 14:o=Th(null,o,c,yn(c.type,t),s);break e}throw Error(r(306,c,""))}return o;case 0:return c=o.type,f=o.pendingProps,f=o.elementType===c?f:yn(c,f),Cu(t,o,c,f,s);case 1:return c=o.type,f=o.pendingProps,f=o.elementType===c?f:yn(c,f),Fh(t,o,c,f,s);case 3:e:{if($h(o),t===null)throw Error(r(387));c=o.pendingProps,g=o.memoizedState,f=g.element,th(t,o),Ea(o,c,null,s);var S=o.memoizedState;if(c=S.element,g.isDehydrated)if(g={element:c,isDehydrated:!1,cache:S.cache,pendingSuspenseBoundaries:S.pendingSuspenseBoundaries,transitions:S.transitions},o.updateQueue.baseState=g,o.memoizedState=g,o.flags&256){f=ei(Error(r(423)),o),o=Hh(t,o,c,s,f);break e}else if(c!==f){f=ei(Error(r(424)),o),o=Hh(t,o,c,s,f);break e}else for(Xt=jr(o.stateNode.containerInfo.firstChild),Yt=o,Ye=!0,gn=null,s=Zp(o,null,c,s),o.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(Ko(),c===f){o=ir(t,o,s);break e}Nt(t,o,c,s)}o=o.child}return o;case 5:return oh(o),t===null&&Zc(o),c=o.type,f=o.pendingProps,g=t!==null?t.memoizedProps:null,S=f.children,Wc(c,f)?S=null:g!==null&&Wc(c,g)&&(o.flags|=32),Lh(t,o),Nt(t,o,S,s),o.child;case 6:return t===null&&Zc(o),null;case 13:return Vh(t,o,s);case 4:return au(o,o.stateNode.containerInfo),c=o.pendingProps,t===null?o.child=qo(o,null,c,s):Nt(t,o,c,s),o.child;case 11:return c=o.type,f=o.pendingProps,f=o.elementType===c?f:yn(c,f),Oh(t,o,c,f,s);case 7:return Nt(t,o,o.pendingProps,s),o.child;case 8:return Nt(t,o,o.pendingProps.children,s),o.child;case 12:return Nt(t,o,o.pendingProps.children,s),o.child;case 10:e:{if(c=o.type._context,f=o.pendingProps,g=o.memoizedProps,S=f.value,Fe(Ca,c._currentValue),c._currentValue=S,g!==null)if(mn(g.value,S)){if(g.children===f.children&&!Tt.current){o=ir(t,o,s);break e}}else for(g=o.child,g!==null&&(g.return=o);g!==null;){var R=g.dependencies;if(R!==null){S=g.child;for(var O=R.firstContext;O!==null;){if(O.context===c){if(g.tag===1){O=or(-1,s&-s),O.tag=2;var B=g.updateQueue;if(B!==null){B=B.shared;var G=B.pending;G===null?O.next=O:(O.next=G.next,G.next=O),B.pending=O}}g.lanes|=s,O=g.alternate,O!==null&&(O.lanes|=s),ou(g.return,s,o),R.lanes|=s;break}O=O.next}}else if(g.tag===10)S=g.type===o.type?null:g.child;else if(g.tag===18){if(S=g.return,S===null)throw Error(r(341));S.lanes|=s,R=S.alternate,R!==null&&(R.lanes|=s),ou(S,s,o),S=g.sibling}else S=g.child;if(S!==null)S.return=g;else for(S=g;S!==null;){if(S===o){S=null;break}if(g=S.sibling,g!==null){g.return=S.return,S=g;break}S=S.return}g=S}Nt(t,o,f.children,s),o=o.child}return o;case 9:return f=o.type,c=o.pendingProps.children,Jo(o,s),f=sn(f),c=c(f),o.flags|=1,Nt(t,o,c,s),o.child;case 14:return c=o.type,f=yn(c,o.pendingProps),f=yn(c.type,f),Th(t,o,c,f,s);case 15:return _h(t,o,o.type,o.pendingProps,s);case 17:return c=o.type,f=o.pendingProps,f=o.elementType===c?f:yn(c,f),Ta(t,o),o.tag=1,_t(c)?(t=!0,ya(o)):t=!1,Jo(o,s),Nh(o,c,f),wu(o,c,f,s),ku(null,o,c,!0,t,s);case 19:return Wh(t,o,s);case 22:return Dh(t,o,s)}throw Error(r(156,o.tag))};function hm(t,o){return X0(t,o)}function H5(t,o,s,c){this.tag=t,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=o,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=c,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function cn(t,o,s,c){return new H5(t,o,s,c)}function Wu(t){return t=t.prototype,!(!t||!t.isReactComponent)}function V5(t){if(typeof t=="function")return Wu(t)?1:0;if(t!=null){if(t=t.$$typeof,t===U)return 11;if(t===ce)return 14}return 2}function _r(t,o){var s=t.alternate;return s===null?(s=cn(t.tag,o,t.key,t.mode),s.elementType=t.elementType,s.type=t.type,s.stateNode=t.stateNode,s.alternate=t,t.alternate=s):(s.pendingProps=o,s.type=t.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=t.flags&14680064,s.childLanes=t.childLanes,s.lanes=t.lanes,s.child=t.child,s.memoizedProps=t.memoizedProps,s.memoizedState=t.memoizedState,s.updateQueue=t.updateQueue,o=t.dependencies,s.dependencies=o===null?null:{lanes:o.lanes,firstContext:o.firstContext},s.sibling=t.sibling,s.index=t.index,s.ref=t.ref,s}function Ya(t,o,s,c,f,g){var S=2;if(c=t,typeof t=="function")Wu(t)&&(S=1);else if(typeof t=="string")S=5;else e:switch(t){case _:return go(s.children,f,g,o);case F:S=8,f|=8;break;case W:return t=cn(12,s,o,f|2),t.elementType=W,t.lanes=g,t;case de:return t=cn(13,s,o,f),t.elementType=de,t.lanes=g,t;case se:return t=cn(19,s,o,f),t.elementType=se,t.lanes=g,t;case oe:return Xa(s,f,g,o);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Z:S=10;break e;case ie:S=9;break e;case U:S=11;break e;case ce:S=14;break e;case ae:S=16,c=null;break e}throw Error(r(130,t==null?t:typeof t,""))}return o=cn(S,s,o,f),o.elementType=t,o.type=c,o.lanes=g,o}function go(t,o,s,c){return t=cn(7,t,c,o),t.lanes=s,t}function Xa(t,o,s,c){return t=cn(22,t,c,o),t.elementType=oe,t.lanes=s,t.stateNode={isHidden:!1},t}function Uu(t,o,s){return t=cn(6,t,null,o),t.lanes=s,t}function Yu(t,o,s){return o=cn(4,t.children!==null?t.children:[],t.key,o),o.lanes=s,o.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},o}function B5(t,o,s,c,f){this.tag=o,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=xc(0),this.expirationTimes=xc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=xc(0),this.identifierPrefix=c,this.onRecoverableError=f,this.mutableSourceEagerHydrationData=null}function Xu(t,o,s,c,f,g,S,R,O){return t=new B5(t,o,s,R,O),o===1?(o=1,g===!0&&(o|=8)):o=0,g=cn(3,null,null,o),t.current=g,g.stateNode=t,g.memoizedState={element:c,isDehydrated:s,cache:null,transitions:null,pendingSuspenseBoundaries:null},su(g),t}function W5(t,o,s){var c=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Zu.exports=o4(),Zu.exports}var Mm;function i4(){if(Mm)return el;Mm=1;var e=Ag();return el.createRoot=e.createRoot,el.hydrateRoot=e.hydrateRoot,el}var s4=i4();const a4=Fl(s4);var v=bf();const ke=Fl(v),Sf=J5({__proto__:null,default:ke},[v]),Am=e=>{let n;const r=new Set,i=(m,y)=>{const x=typeof m=="function"?m(n):m;if(!Object.is(x,n)){const b=n;n=y??(typeof x!="object"||x===null)?x:Object.assign({},n,x),r.forEach(C=>C(n,b))}},a=()=>n,d={setState:i,getState:a,getInitialState:()=>h,subscribe:m=>(r.add(m),()=>r.delete(m))},h=n=e(i,a,d);return d},l4=(e=>e?Am(e):Am),c4=e=>e;function u4(e,n=c4){const r=ke.useSyncExternalStore(e.subscribe,ke.useCallback(()=>n(e.getState()),[e,n]),ke.useCallback(()=>n(e.getInitialState()),[e,n]));return ke.useDebugValue(r),r}const Pm=e=>{const n=l4(e),r=i=>u4(n,i);return Object.assign(r,n),r},it=(e=>e?Pm(e):Pm),Td=["voice","health","armor","hunger","thirst","stress","oxygen","armed","parachute","engine","harness","cruise","nitro","dev"],d4=["standard","bottom-right-row","center-bottom-row","left-bottom-column","right-bottom-column","top-left-row","top-right-row"],Pg=["badge","circle-ring","circle-fill","split-circle","inner-circle","diamond-ring","hexagon-ring","horizontal-bar","icon-percentage","pill-ring","square-ring","square-fill","star-ring","triangle-ring"];class As{constructor(n,{icon:r=null,isShowing:i=!1,name:a="",progressValue:l=100}={}){De(this,"height",50);De(this,"icon",null);De(this,"iconScaling",.4);De(this,"iconTranslateX",0);De(this,"iconTranslateY",0);De(this,"isShowing",!0);De(this,"name","");De(this,"progressValue",100);De(this,"shape","inner-circle");De(this,"rotateDegree",0);De(this,"translateX",0);De(this,"translateY",0);De(this,"width",50);De(this,"iconRotateDegree",0);switch(n){case"horizontal-bar":this.iconScaling=.6;break}this.shape=n,this.icon=r,this.isShowing=i,this.name=a,this.progressValue=l}}class Sl extends As{constructor(r,i={}){super(r,i);De(this,"displayOutline",!0);De(this,"iconRotateDegree",0);De(this,"ringSize",4);De(this,"borderGap",.85);switch(r){case"inner-circle":this.iconScaling=.4,this.ringSize=4,this.borderGap=.85,this.iconTranslateY=1;break;case"circle-ring":this.iconScaling=.4,this.ringSize=4;break;case"diamond-ring":this.height=60,this.width=60,this.iconScaling=.35,this.ringSize=4,this.iconTranslateY=.7;break;case"hexagon-ring":this.iconScaling=.35,this.ringSize=4,this.iconTranslateY=.7;break;case"square-ring":this.ringSize=4,this.iconScaling=.45,this.iconTranslateY=3;break;case"star-ring":this.height=55,this.width=55,this.ringSize=4,this.iconScaling=.35,this.iconTranslateY=3;break;case"triangle-ring":this.height=55,this.width=55,this.iconScaling=.35,this.ringSize=4,this.iconTranslateY=3;break}}}class f4 extends As{constructor(r,i={}){super(r,i);De(this,"xAxisRound",5);De(this,"yAxisRound",20);De(this,"barHeight",4);switch(r){case"badge":this.height=45,this.width=45,this.iconScaling=.28,this.xAxisRound=5,this.yAxisRound=5,this.barHeight=3.5;break}}}class p4 extends Sl{constructor(r,i={}){super(r,i);De(this,"dashes",8);De(this,"gap",4);De(this,"borderGap",.8);switch(r){case"split-circle":this.dashes=8,this.gap=4,this.borderGap=.85,this.ringSize=4,this.iconScaling=.4,this.iconTranslateY=1;break}}}class h4 extends As{constructor(r,i={}){super(r,i);De(this,"borderSize",4);switch(r){case"circle-fill":this.borderSize=4,this.iconScaling=.4,this.iconTranslateY=1;break;case"square-fill":this.borderSize=4,this.iconScaling=.45,this.iconTranslateY=3;break}}}class m4 extends Sl{constructor(r,i={}){super(r,i);De(this,"xAxisRound",5);De(this,"yAxisRound",20);De(this,"barHeight",0);switch(r){case"pill-ring":this.height=80,this.width=50,this.iconScaling=.4,this.xAxisRound=18,this.yAxisRound=18,this.ringSize=5;break}}}function wo(e,n={}){switch(e){case"inner-circle":return new Sl(e,n);case"split-circle":return new p4(e,n);case"circle-fill":case"square-fill":return new h4(e,n);case"badge":return new f4(e,n);case"horizontal-bar":return new As(e,n);case"circle-ring":case"diamond-ring":case"hexagon-ring":case"square-ring":case"star-ring":case"triangle-ring":return new Sl(e,n);case"pill-ring":return new m4(e,n);default:return new As(e,n)}}const Rg="inner-circle";function At(e="",n=!1,r=null){return wo(Rg,{isShowing:n,icon:r,name:e})}const g4=e=>{const n=Math.max(0,Math.min(100,e));return Math.round(n/100*255).toString(16).padStart(2,"0").toUpperCase()};function qe(e,n,r="",i="#FFFFFFFF",a="#212121FF"){return{iconColor:i,iconContrast:100,iconDropShadowAmount:0,innerColor:a,name:e,outlineColor:r||n+g4(40),outlineContrast:100,outlineDropShadowAmount:0,progressColor:n,progressContrast:100,progressDropShadowAmount:0}}function Pt(){return ml(Rg)}function ml(e){let n={};switch(e){case"inner-circle":case"split-circle":case"badge":case"circle-ring":case"diamond-ring":case"hexagon-ring":case"pill-ring":case"square-ring":case"star-ring":case"triangle-ring":n.innerColor=!0;break}return n}const Cf="PSHudMenu",$l="PSHudPlayerStatus",kf="PSHudLayout",jf="PSHudColor",Ef="PSHudProfile",Ig="PSHudVehicleTheme",zg="PSHudPlayerSkin";function kt(e){return Math.min(e,100)}function y4(){try{const e=localStorage.getItem(jf);return e?JSON.parse(e):{}}catch{return{}}}function Rt(e,n,r){return e[n]!=null?e[n]:r}function Rm(e){return{globalColorSettings:Rt(e,"globalColorSettings",{editableColors:Pt(),editSingleIconName:"voice",editSingleIconStage:0,iconColor:"",iconContrast:100,iconDropShadowAmount:0,innerColor:"",outlineColor:"",outlineContrast:100,outlineDropShadowAmount:0,progressColor:"",progressContrast:100,progressDropShadowAmount:0}),icons:{voice:Rt(e,"voice",{currentEffect:0,colorEffects:[qe("not-talking","#FFFFFF"),qe("talking","#FFFF3E"),qe("radio-talking","#D64763")],editableColors:Pt()}),health:Rt(e,"health",{currentEffect:0,colorEffects:[qe("alive","#06d170"),qe("dead","#ff0000")],editableColors:Pt()}),armor:Rt(e,"armor",{currentEffect:0,colorEffects:[qe("armor","#0764ce"),qe("no-armor","#ff0000")],editableColors:Pt()}),hunger:Rt(e,"hunger",{currentEffect:0,colorEffects:[qe("normal","#ffbb00"),qe("starving","#ff0000")],editableColors:Pt()}),thirst:Rt(e,"thirst",{currentEffect:0,colorEffects:[qe("normal","#3b82f6"),qe("thirsty","#ff0000")],editableColors:Pt()}),stress:Rt(e,"stress",{currentEffect:0,colorEffects:[qe("normal","#f51319")],editableColors:Pt()}),oxygen:Rt(e,"oxygen",{currentEffect:0,colorEffects:[qe("normal","#07c4ce")],editableColors:Pt()}),armed:Rt(e,"armed",{currentEffect:0,colorEffects:[qe("normal","#f563ff")],editableColors:Pt()}),parachute:Rt(e,"parachute",{currentEffect:0,colorEffects:[qe("normal","#d1ff63")],editableColors:Pt()}),engine:Rt(e,"engine",{currentEffect:0,colorEffects:[qe("no-damage","#3FA554"),qe("minor-damage","#dd6e14"),qe("major-damage","#ff0000")],editableColors:Pt()}),harness:Rt(e,"harness",{currentEffect:0,colorEffects:[qe("normal","#9a00ff")],editableColors:Pt()}),cruise:Rt(e,"cruise",{currentEffect:0,colorEffects:[qe("normal","#f563ff")],editableColors:Pt()}),nitro:Rt(e,"nitro",{currentEffect:0,colorEffects:[qe("no-nitro","#ffffff"),qe("active-nitro","#D64763")],editableColors:Pt()}),dev:Rt(e,"dev",{currentEffect:0,colorEffects:[qe("normal","#000000")],editableColors:Pt()})}}}const v4=y4(),jt=it((e,n)=>({...Rm(v4),resetColorEffects(){localStorage.removeItem(jf),e(Rm({}))},receiveUIUpdateMessage(r){if(!r||!Object.keys(r).length)return;const i=Oe.getState();e(a=>{const l={...a.icons};for(const[u,d]of Object.entries(r))l[u]={currentEffect:0,editableColors:ml(i.icons[u].shape),colorEffects:d.colorEffects};return{icons:l}})},updateAllDefaultEffectColorSetting(r,i){e(a=>{const l={...a.icons},u=["progressDropShadowAmount","iconDropShadowAmount","outlineDropShadowAmount"];for(const d of Object.keys(l))if(u.includes(r))l[d]={...l[d],colorEffects:l[d].colorEffects.map(h=>({...h,[r]:i}))};else{const h=[...l[d].colorEffects];h[0]={...h[0],[r]:i},l[d]={...l[d],colorEffects:h}}return{icons:l,globalColorSettings:{...a.globalColorSettings,[r]:i}}})},updateAllIconShapeEditableColor(r){const i=ml(r);e(a=>{const l={...a.icons};for(const u in l)l[u]={...l[u],editableColors:i};return{icons:l,globalColorSettings:{...a.globalColorSettings,editableColors:i}}})},updateDefaultEffectColorSetting(r,i,a){e(l=>{const u=l.icons[r],d=[...u.colorEffects];return d[0]={...d[0],[i]:a},{icons:{...l.icons,[r]:{...u,colorEffects:d}}}})},updateIconColorToProgressColor(){e(r=>{const i={...r.icons};for(const a of Object.keys(i))i[a]={...i[a],colorEffects:i[a].colorEffects.map(l=>({...l,iconColor:l.progressColor}))};return{icons:i}})},updateIconEffectStage(r,i){e(a=>{const l=a.icons[r];return i<0||i>l.colorEffects.length-1?a:{icons:{...a.icons,[r]:{...l,currentEffect:i}}}})},updateIconShapeEditableColor(r,i){e(a=>({icons:{...a.icons,[r]:{...a.icons[r],editableColors:ml(i)}}}))},updateColorSetting(r,i,a,l){e(u=>{const d=u.icons[r];if(i<0||i>d.colorEffects.length-1)return u;const h=[...d.colorEffects];return h[i]={...h[i],[a]:l},{icons:{...u.icons,[r]:{...d,colorEffects:h}}}})},updateProgressColor(r,i,a){n().updateColorSetting(r,i,"progressColor",a)}}));/*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. - */const L4={prefix:"fas",iconName:"info",icon:[192,512,[],"f129","M48 80a48 48 0 1 1 96 0A48 48 0 1 1 48 80zM0 224c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l0 224 32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0 0-192-32 0c-17.7 0-32-14.3-32-32z"]},F4={prefix:"fas",iconName:"person",icon:[320,512,[129485,"male"],"f183","M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-223.1L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6l29.7 0c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L232 256.9 232 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128-16 0z"]},$4={prefix:"fas",iconName:"circle-notch",icon:[512,512,[],"f1ce","M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z"]},lg={prefix:"fas",iconName:"lightbulb",icon:[384,512,[128161],"f0eb","M272 384c9.6-31.9 29.5-59.1 49.2-86.2c0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4c0 0 0 0 0 0c19.8 27.1 39.7 54.4 49.2 86.2l160 0zM192 512c44.2 0 80-35.8 80-80l0-16-160 0 0 16c0 44.2 35.8 80 80 80zM112 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z"]},H4={prefix:"fas",iconName:"gas-pump",icon:[512,512,[9981],"f52f","M32 64C32 28.7 60.7 0 96 0L256 0c35.3 0 64 28.7 64 64l0 192 8 0c48.6 0 88 39.4 88 88l0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-154c-27.6-7.1-48-32.2-48-62l0-64L384 64c-8.8-8.8-8.8-23.2 0-32s23.2-8.8 32 0l77.3 77.3c12 12 18.7 28.3 18.7 45.3l0 13.5 0 24 0 32 0 152c0 39.8-32.2 72-72 72s-72-32.2-72-72l0-32c0-22.1-17.9-40-40-40l-8 0 0 144c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32L32 64zM96 80l0 96c0 8.8 7.2 16 16 16l128 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16L112 64c-8.8 0-16 7.2-16 16z"]},cg={prefix:"fas",iconName:"eye-slash",icon:[640,512,[],"f070","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5L373 389.9z"]},V4={prefix:"fas",iconName:"temperature-half",icon:[320,512,[127777,"temperature-2","thermometer-2","thermometer-half"],"f2c9","M160 64c-26.5 0-48 21.5-48 48l0 164.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5L208 112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112l0 164.4c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6L48 112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3L144 208c0-8.8 7.2-16 16-16s16 7.2 16 16l0 114.7c18.6 6.6 32 24.4 32 45.3z"]},W4=V4,B4={prefix:"fas",iconName:"radiation",icon:[512,512,[],"f7b9","M216 186.7c-23.9 13.8-40 39.7-40 69.3L32 256C14.3 256-.2 241.6 2 224.1C10.7 154 47.8 92.7 101.3 52c14.1-10.7 33.8-5.3 42.7 10l72 124.7zM256 336c14.6 0 28.2-3.9 40-10.7l72 124.8c8.8 15.3 3.7 35.1-12.6 41.9c-30.6 12.9-64.2 20-99.4 20s-68.9-7.1-99.4-20c-16.3-6.9-21.4-26.6-12.6-41.9l72-124.8c11.8 6.8 25.4 10.7 40 10.7zm224-80l-144 0c0-29.6-16.1-55.5-40-69.3L368 62c8.8-15.3 28.6-20.7 42.7-10c53.6 40.7 90.6 102 99.4 172.1c2.2 17.5-12.4 31.9-30 31.9zM256 208a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"]},ug={prefix:"fas",iconName:"user",icon:[448,512,[128100,62144],"f007","M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z"]},U4={prefix:"fas",iconName:"globe",icon:[512,512,[127760],"f0ac","M352 256c0 22.2-1.2 43.6-3.3 64l-185.3 0c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64l185.3 0c2.2 20.4 3.3 41.8 3.3 64zm28.8-64l123.1 0c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64l-123.1 0c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32l-116.7 0c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0l-176.6 0c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0L18.6 160C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192l123.1 0c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64L8.1 320C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6l176.6 0c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352l116.7 0zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6l116.7 0z"]},fg={prefix:"fas",iconName:"location-arrow",icon:[448,512,[],"f124","M429.6 92.1c4.9-11.9 2.1-25.6-7-34.7s-22.8-11.9-34.7-7l-352 144c-14.2 5.8-22.2 20.8-19.3 35.8s16.1 25.8 31.4 25.8l176 0 0 176c0 15.3 10.8 28.4 25.8 31.4s30-5.1 35.8-19.3l144-352z"]},Y4={prefix:"fas",iconName:"star",icon:[576,512,[11088,61446],"f005","M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z"]},X4={prefix:"fas",iconName:"fire",icon:[448,512,[128293],"f06d","M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z"]},G4={prefix:"fas",iconName:"headset",icon:[512,512,[],"f590","M256 48C141.1 48 48 141.1 48 256l0 40c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-40C0 114.6 114.6 0 256 0S512 114.6 512 256l0 144.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24l-32 0c-26.5 0-48-21.5-48-48s21.5-48 48-48l32 0c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40L464 256c0-114.9-93.1-208-208-208zM144 208l16 0c17.7 0 32 14.3 32 32l0 112c0 17.7-14.3 32-32 32l-16 0c-35.3 0-64-28.7-64-64l0-48c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64l0 48c0 35.3-28.7 64-64 64l-16 0c-17.7 0-32-14.3-32-32l0-112c0-17.7 14.3-32 32-32l16 0z"]},K4={prefix:"fas",iconName:"car-battery",icon:[512,512,["battery-car"],"f5df","M80 96c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l16 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 160c0-35.3 28.7-64 64-64l16 0zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32-32 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0 0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0-32zM80 240c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0c-8.8 0-16 7.2-16 16z"]},fd={prefix:"fas",iconName:"microphone",icon:[384,512,[],"f130","M192 0C139 0 96 43 96 96l0 160c0 53 43 96 96 96s96-43 96-96l0-160c0-53-43-96-96-96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 89.1 66.2 162.7 152 174.4l0 33.6-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l72 0 72 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0 0-33.6c85.8-11.7 152-85.3 152-174.4l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 70.7-57.3 128-128 128s-128-57.3-128-128l0-40z"]},dg={prefix:"fas",iconName:"rotate-left",icon:[512,512,["rotate-back","rotate-backward","undo-alt"],"f2ea","M48.5 224L40 224c-13.3 0-24-10.7-24-24L16 72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8L48.5 224z"]},q4={prefix:"fas",iconName:"table-columns",icon:[512,512,["columns"],"f0db","M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm64 64l0 256 160 0 0-256L64 160zm384 0l-160 0 0 256 160 0 0-256z"]},Q4={prefix:"fas",iconName:"virus",icon:[512,512,[],"e074","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 11.5c0 49.9-60.3 74.9-95.6 39.6L120.2 75C107.7 62.5 87.5 62.5 75 75s-12.5 32.8 0 45.3l8.2 8.2C118.4 163.7 93.4 224 43.5 224L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l11.5 0c49.9 0 74.9 60.3 39.6 95.6L75 391.8c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6l0 11.5c0 17.7 14.3 32 32 32s32-14.3 32-32l0-11.5c0-49.9 60.3-74.9 95.6-39.6l8.2 8.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-8.2-8.2c-35.3-35.3-10.3-95.6 39.6-95.6l11.5 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-11.5 0c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C348.3 118.4 288 93.4 288 43.5L288 32zM176 224a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"]},Z4={prefix:"fas",iconName:"question",icon:[320,512,[10067,10068,61736],"3f","M80 160c0-35.3 28.7-64 64-64l32 0c35.3 0 64 28.7 64 64l0 3.6c0 21.8-11.1 42.1-29.4 53.8l-42.2 27.1c-25.2 16.2-40.4 44.1-40.4 74l0 1.4c0 17.7 14.3 32 32 32s32-14.3 32-32l0-1.4c0-8.2 4.2-15.8 11-20.2l42.2-27.1c36.6-23.6 58.8-64.1 58.8-107.7l0-3.6c0-70.7-57.3-128-128-128l-32 0C73.3 32 16 89.3 16 160c0 17.7 14.3 32 32 32s32-14.3 32-32zm80 320a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"]},J4={prefix:"fas",iconName:"screwdriver-wrench",icon:[512,512,["tools"],"f7d9","M78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4l54.1 0 109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3l-109-109 0-54.1c0-7.5-3.5-14.5-9.4-19L78.6 5zM19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L233.7 374.3c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7L19.9 396.1zM512 144c0-10.5-1.1-20.7-3.2-30.5c-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7L352 176c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0C288.5 0 224 64.5 224 144l0 .8 85.3 85.3c36-9.1 75.8 .5 104 28.7L429 274.5c49-23 83-72.8 83-130.5zM56 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"]},e5={prefix:"fas",iconName:"heart",icon:[512,512,[128153,128154,128155,128156,128420,129293,129294,129505,9829,10084,61578],"f004","M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"]},t5={prefix:"fas",iconName:"wrench",icon:[512,512,[128295],"f0ad","M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7L336 192c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"]},pg={prefix:"fas",iconName:"eye",icon:[576,512,[128065],"f06e","M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z"]},dd={prefix:"fas",iconName:"user-slash",icon:[640,512,[],"f506","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L353.3 251.6C407.9 237 448 187.2 448 128C448 57.3 390.7 0 320 0C250.2 0 193.5 55.8 192 125.2L38.8 5.1zM264.3 304.3C170.5 309.4 96 387.2 96 482.3c0 16.4 13.3 29.7 29.7 29.7l388.6 0c3.9 0 7.6-.7 11-2.1l-261-205.6z"]},hg={prefix:"fas",iconName:"biohazard",icon:[576,512,[9763],"f780","M173.2 0c-1.8 0-3.5 .7-4.8 2C138.5 32.3 120 74 120 120c0 26.2 6 50.9 16.6 73c-22 2.4-43.8 9.1-64.2 20.5C37.9 232.8 13.3 262.4 .4 296c-.7 1.7-.5 3.7 .5 5.2c2.2 3.7 7.4 4.3 10.6 1.3C64.2 254.3 158 245.1 205 324s-8.1 153.1-77.6 173.2c-4.2 1.2-6.3 5.9-4.1 9.6c1 1.6 2.6 2.7 4.5 3c36.5 5.9 75.2 .1 109.7-19.2c20.4-11.4 37.4-26.5 50.5-43.8c13.1 17.3 30.1 32.4 50.5 43.8c34.5 19.3 73.3 25.2 109.7 19.2c1.9-.3 3.5-1.4 4.5-3c2.2-3.7 .1-8.4-4.1-9.6C379.1 477.1 324 403 371 324s140.7-69.8 193.5-21.4c3.2 2.9 8.4 2.3 10.6-1.3c1-1.6 1.1-3.5 .5-5.2c-12.9-33.6-37.5-63.2-72.1-82.5c-20.4-11.4-42.2-18.1-64.2-20.5C450 170.9 456 146.2 456 120c0-46-18.5-87.7-48.4-118c-1.3-1.3-3-2-4.8-2c-5 0-8.4 5.2-6.7 9.9C421.7 80.5 385.6 176 288 176S154.3 80.5 179.9 9.9c1.7-4.7-1.6-9.9-6.7-9.9zM240 272a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM181.7 417.6c6.3-11.8 9.8-25.1 8.6-39.8c-19.5-18-34-41.4-41.2-67.8c-12.5-8.1-26.2-11.8-40-12.4c-9-.4-18.1 .6-27.1 2.7c7.8 57.1 38.7 106.8 82.9 139.4c6.8-6.7 12.6-14.1 16.8-22.1zM288 64c-28.8 0-56.3 5.9-81.2 16.5c2 8.3 5 16.2 9 23.5c6.8 12.4 16.7 23.1 30.1 30.3c13.3-4.1 27.5-6.3 42.2-6.3s28.8 2.2 42.2 6.3c13.4-7.2 23.3-17.9 30.1-30.3c4-7.3 7-15.2 9-23.5C344.3 69.9 316.8 64 288 64zM426.9 310c-7.2 26.4-21.7 49.7-41.2 67.8c-1.2 14.7 2.2 28.1 8.6 39.8c4.3 8 10 15.4 16.8 22.1c44.3-32.6 75.2-82.3 82.9-139.4c-9-2.2-18.1-3.1-27.1-2.7c-13.8 .6-27.5 4.4-40 12.4z"]},mg={prefix:"fas",iconName:"parachute-box",icon:[512,512,[],"f4cd","M383.5 192c.3-5.3 .5-10.6 .5-16c0-51-15.9-96-40.2-127.6C319.5 16.9 288.2 0 256 0s-63.5 16.9-87.8 48.4C143.9 80 128 125 128 176c0 5.4 .2 10.7 .5 16L240 192l0 128-32 0c-7 0-13.7 1.5-19.7 4.2L68.2 192l28.3 0c-.3-5.3-.5-10.6-.5-16c0-64 22.2-121.2 57.1-159.3C62 49.3 18.6 122.6 4.2 173.6C1.5 183.1 9 192 18.9 192l6 0L165.2 346.3c-3.3 6.5-5.2 13.9-5.2 21.7l0 96c0 26.5 21.5 48 48 48l96 0c26.5 0 48-21.5 48-48l0-96c0-7.8-1.9-15.2-5.2-21.7L487.1 192l6 0c9.9 0 17.4-8.9 14.7-18.4C493.4 122.6 450 49.3 358.9 16.7C393.8 54.8 416 112.1 416 176c0 5.4-.2 10.7-.5 16l28.3 0L323.7 324.2c-6-2.7-12.7-4.2-19.7-4.2l-32 0 0-128 111.5 0z"]},gg={prefix:"fas",iconName:"meteor",icon:[512,512,[9732],"f753","M493.7 .9L299.4 75.6l2.3-29.3c1-12.8-12.8-21.5-24-15.1L101.3 133.4C38.6 169.7 0 236.6 0 309C0 421.1 90.9 512 203 512c72.4 0 139.4-38.6 175.7-101.3L480.8 234.3c6.5-11.1-2.2-25-15.1-24l-29.3 2.3L511.1 18.3c.6-1.5 .9-3.2 .9-4.8C512 6 506 0 498.5 0c-1.7 0-3.3 .3-4.8 .9zM192 192a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm16 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z"]},vg={prefix:"fas",iconName:"dumbbell",icon:[640,512,[],"f44b","M96 64c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 160 0 64 0 160c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-64-32 0c-17.7 0-32-14.3-32-32l0-64c-17.7 0-32-14.3-32-32s14.3-32 32-32l0-64c0-17.7 14.3-32 32-32l32 0 0-64zm448 0l0 64 32 0c17.7 0 32 14.3 32 32l0 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l0 64c0 17.7-14.3 32-32 32l-32 0 0 64c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-160 0-64 0-160c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32zM416 224l0 64-192 0 0-64 192 0z"]},yg={prefix:"fas",iconName:"minus",icon:[448,512,[8211,8722,10134,"subtract"],"f068","M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"]},n5={prefix:"fas",iconName:"gear",icon:[512,512,[9881,"cog"],"f013","M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"]},r5={prefix:"fas",iconName:"sliders",icon:[512,512,["sliders-h"],"f1de","M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z"]},o5={prefix:"fas",iconName:"house",icon:[576,512,[127968,63498,63500,"home","home-alt","home-lg-alt"],"f015","M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"]},i5={prefix:"fas",iconName:"skull",icon:[512,512,[128128],"f54c","M416 398.9c58.5-41.1 96-104.1 96-174.9C512 100.3 397.4 0 256 0S0 100.3 0 224c0 70.7 37.5 133.8 96 174.9c0 .4 0 .7 0 1.1l0 64c0 26.5 21.5 48 48 48l48 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 64 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 48 0c26.5 0 48-21.5 48-48l0-64c0-.4 0-.7 0-1.1zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z"]},xg={prefix:"fas",iconName:"bolt",icon:[448,512,[9889,"zap"],"f0e7","M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288l111.5 0L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7l-111.5 0L349.4 44.6z"]},s5=xg,wg={prefix:"fas",iconName:"person-swimming",icon:[576,512,[127946,"swimmer"],"f5c4","M309.5 178.4L447.9 297.1c-1.6 .9-3.2 2-4.8 3c-18 12.4-40.1 20.3-59.2 20.3c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-10.1 0-21.1-2.2-31.9-6.2C163.1 193.2 262.2 96 384 96l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-26.9 0-52.3 6.6-74.5 18.4zM160 160A64 64 0 1 1 32 160a64 64 0 1 1 128 0zM306.5 325.9C329 341.4 356.5 352 384 352c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 405.7 417 416 384 416c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 341.2 165.1 352 192 352c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z"]},a5={prefix:"fas",iconName:"droplet",icon:[384,512,[128167,"tint"],"f043","M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0l1.8 0c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z"]},l5={prefix:"fas",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},bg=l5,Sg={prefix:"fas",iconName:"wind",icon:[512,512,[],"f72e","M288 32c0 17.7 14.3 32 32 32l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l320 0c53 0 96-43 96-96s-43-96-96-96L320 0c-17.7 0-32 14.3-32 32zm64 352c0 17.7 14.3 32 32 32l32 0c53 0 96-43 96-96s-43-96-96-96L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32 14.3-32 32zM128 512l32 0c53 0 96-43 96-96s-43-96-96-96L32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32z"]},Cg={prefix:"fas",iconName:"plus",icon:[448,512,[10133,61543,"add"],"2b","M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"]},c5={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]},kg={prefix:"fas",iconName:"arrows-up-down-left-right",icon:[512,512,["arrows"],"f047","M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4L224 224l-114.7 0 9.4-9.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L224 288l0 114.7-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4L288 288l114.7 0-9.4 9.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4L288 224l0-114.7 9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64z"]},u5={prefix:"fas",iconName:"trophy",icon:[576,512,[127942],"f091","M400 0L176 0c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8L24 64C10.7 64 0 74.7 0 88c0 92.6 33.5 157 78.5 200.7c44.3 43.1 98.3 64.8 138.1 75.8c23.4 6.5 39.4 26 39.4 45.6c0 20.9-17 37.9-37.9 37.9L192 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-26.1 0C337 448 320 431 320 410.1c0-19.6 15.9-39.2 39.4-45.6c39.9-11 93.9-32.7 138.2-75.8C542.5 245 576 180.6 576 88c0-13.3-10.7-24-24-24L446.4 64c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zM48.9 112l84.4 0c9.1 90.1 29.2 150.3 51.9 190.6c-24.9-11-50.8-26.5-73.2-48.3c-32-31.1-58-76-63-142.3zM464.1 254.3c-22.4 21.8-48.3 37.3-73.2 48.3c22.7-40.3 42.8-100.5 51.9-190.6l84.4 0c-5.1 66.3-31.1 111.2-63 142.3z"]},f5={prefix:"fas",iconName:"rotate",icon:[512,512,[128260,"sync-alt"],"f2f1","M142.9 142.9c-17.5 17.5-30.1 38-37.8 59.8c-5.9 16.7-24.2 25.4-40.8 19.5s-25.4-24.2-19.5-40.8C55.6 150.7 73.2 122 97.6 97.6c87.2-87.2 228.3-87.5 315.8-1L455 55c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 128c0 13.3-10.7 24-24 24l-8.4 0c0 0 0 0 0 0L344 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l41.1-41.1c-62.6-61.5-163.1-61.2-225.3 1zM16 312c0-13.3 10.7-24 24-24l7.6 0 .7 0L168 288c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-41.1 41.1c62.6 61.5 163.1 61.2 225.3-1c17.5-17.5 30.1-38 37.8-59.8c5.9-16.7 24.2-25.4 40.8-19.5s25.4 24.2 19.5 40.8c-10.8 30.6-28.4 59.3-52.9 83.8c-87.2 87.2-228.3 87.5-315.8 1L57 457c-6.9 6.9-17.2 8.9-26.2 5.2S16 449.7 16 440l0-119.6 0-.7 0-7.6z"]},d5={prefix:"fas",iconName:"shield",icon:[512,512,[128737,"shield-blank"],"f132","M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0z"]},jg={prefix:"fas",iconName:"oil-can",icon:[640,512,[],"f613","M320 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 32-80 0-48 0-48 0c-26.5 0-48 21.5-48 48l0 64.8c0 19 11.2 36.2 28.5 43.9l67.5 30L96 368c0 26.5 21.5 48 48 48l259.1 0c18.4 0 35.8-7.9 48-21.7L633.5 187.7c12.3-13.9-.3-35.4-18.4-31.5L448 192l-50.5-25.2c-8.9-4.4-18.7-6.8-28.6-6.8L288 160l0-32 32 0zM96 208l0 86.1L48 272.8 48 208l48 0z"]},p5={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},Eg={prefix:"fas",iconName:"database",icon:[448,512,[],"f1c0","M448 80l0 48c0 44.2-100.3 80-224 80S0 172.2 0 128L0 80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6L448 288c0 44.2-100.3 80-224 80S0 332.2 0 288L0 186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6l0 85.9c0 44.2-100.3 80-224 80S0 476.2 0 432l0-85.9z"]},Ng={prefix:"fas",iconName:"brain",icon:[512,512,[129504],"f5dc","M184 0c30.9 0 56 25.1 56 56l0 400c0 30.9-25.1 56-56 56c-28.9 0-52.7-21.9-55.7-50.1c-5.2 1.4-10.7 2.1-16.3 2.1c-35.3 0-64-28.7-64-64c0-7.4 1.3-14.6 3.6-21.2C21.4 367.4 0 338.2 0 304c0-31.9 18.7-59.5 45.8-72.3C37.1 220.8 32 207 32 192c0-30.7 21.6-56.3 50.4-62.6C80.8 123.9 80 118 80 112c0-29.9 20.6-55.1 48.3-62.1C131.3 21.9 155.1 0 184 0zM328 0c28.9 0 52.6 21.9 55.7 49.9c27.8 7 48.3 32.1 48.3 62.1c0 6-.8 11.9-2.4 17.4c28.8 6.2 50.4 31.9 50.4 62.6c0 15-5.1 28.8-13.8 39.7C493.3 244.5 512 272.1 512 304c0 34.2-21.4 63.4-51.6 74.8c2.3 6.6 3.6 13.8 3.6 21.2c0 35.3-28.7 64-64 64c-5.6 0-11.1-.7-16.3-2.1c-3 28.2-26.8 50.1-55.7 50.1c-30.9 0-56-25.1-56-56l0-400c0-30.9 25.1-56 56-56z"]},pd={prefix:"fas",iconName:"exclamation",icon:[128,512,[10069,10071,61738],"21","M96 64c0-17.7-14.3-32-32-32S32 46.3 32 64l0 256c0 17.7 14.3 32 32 32s32-14.3 32-32L96 64zM64 480a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"]},Mg={prefix:"fas",iconName:"dollar-sign",icon:[320,512,[128178,61781,"dollar","usd"],"24","M160 0c17.7 0 32 14.3 32 32l0 35.7c1.6 .2 3.1 .4 4.7 .7c.4 .1 .7 .1 1.1 .2l48 8.8c17.4 3.2 28.9 19.9 25.7 37.2s-19.9 28.9-37.2 25.7l-47.5-8.7c-31.3-4.6-58.9-1.5-78.3 6.2s-27.2 18.3-29 28.1c-2 10.7-.5 16.7 1.2 20.4c1.8 3.9 5.5 8.3 12.8 13.2c16.3 10.7 41.3 17.7 73.7 26.3l2.9 .8c28.6 7.6 63.6 16.8 89.6 33.8c14.2 9.3 27.6 21.9 35.9 39.5c8.5 17.9 10.3 37.9 6.4 59.2c-6.9 38-33.1 63.4-65.6 76.7c-13.7 5.6-28.6 9.2-44.4 11l0 33.4c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-34.9c-.4-.1-.9-.1-1.3-.2l-.2 0s0 0 0 0c-24.4-3.8-64.5-14.3-91.5-26.3c-16.1-7.2-23.4-26.1-16.2-42.2s26.1-23.4 42.2-16.2c20.9 9.3 55.3 18.5 75.2 21.6c31.9 4.7 58.2 2 76-5.3c16.9-6.9 24.6-16.9 26.8-28.9c1.9-10.6 .4-16.7-1.3-20.4c-1.9-4-5.6-8.4-13-13.3c-16.4-10.7-41.5-17.7-74-26.3l-2.8-.7s0 0 0 0C119.4 279.3 84.4 270 58.4 253c-14.2-9.3-27.5-22-35.8-39.6c-8.4-17.9-10.1-37.9-6.1-59.2C23.7 116 52.3 91.2 84.8 78.3c13.3-5.3 27.9-8.9 43.2-11L128 32c0-17.7 14.3-32 32-32z"]},h5={prefix:"fas",iconName:"heartbeat",icon:[512,512,[],"f043","M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z"]},m5={prefix:"fas",iconName:"shield-half",icon:[512,512,[],"f043","M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8V444.8C394 378 431.1 230.1 432 141.4L256 66.8l0 0z"]},g5={prefix:"fas",iconName:"drumstick",icon:[512,512,[],"f043","M160 265.2c0 8.5-3.4 16.6-9.4 22.6l-26.8 26.8c-12.3 12.3-32.5 11.4-49.4 7.2C69.8 320.6 65 320 60 320c-33.1 0-60 26.9-60 60s26.9 60 60 60c6.3 0 12 5.7 12 12c0 33.1 26.9 60 60 60s60-26.9 60-60c0-5-.6-9.8-1.8-14.5c-4.2-16.9-5.2-37.1 7.2-49.4l26.8-26.8c6-6 14.1-9.4 22.6-9.4H336c6.3 0 12.4-.3 18.5-1c11.9-1.2 16.4-15.5 10.8-26c-8.5-15.8-13.3-33.8-13.3-53c0-61.9 50.1-112 112-112c8 0 15.7 .8 23.2 2.4c11.7 2.5 24.1-5.9 22-17.6C494.5 62.5 422.5 0 336 0C238.8 0 160 78.8 160 176v89.2z"]},v5={prefix:"fas",iconName:"wine-glass",icon:[288,512,[],"f043","M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM61.75 48h164.5l7.17 80H54.58l7.17-80z"]},y5={prefix:"fas",iconName:"person-running",icon:[410,512,[],"f043","M320 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM125.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L137.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L238 299l30.9-82.4 5.1 12.3C289 264.7 323.9 288 362.7 288H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H362.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3L57.4 153.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM91.2 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h69.6c19 0 36.2-11.2 43.9-28.5L157 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L91.2 352z"]},x5={prefix:"fas",iconName:"person-rifle",icon:[576,512,[],"f043","M265.2 192c25.4 0 49.8 7.1 70.8 19.9V512H144V337.7L90.4 428.3c-11.2 19-35.8 25.3-54.8 14.1s-25.3-35.8-14.1-54.8L97.7 258.8c24.5-41.4 69-66.8 117.1-66.8h50.4zM160 80a80 80 0 1 1 160 0A80 80 0 1 1 160 80zM448 0c8.8 0 16 7.2 16 16V132.3c9.6 5.5 16 15.9 16 27.7V269.3l16-5.3V208c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v84.5c0 6.9-4.4 13-10.9 15.2L480 325.3V352h48c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H484l23 92.1c2.5 10.1-5.1 19.9-15.5 19.9H432c-8.8 0-16-7.2-16-16V400H400c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32V160c0-11.8 6.4-22.2 16-27.7V32c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 16z"]},w5={prefix:"fas",iconName:"laptop",icon:[640,512,[],"f043","M128 32C92.7 32 64 60.7 64 96V352h64V96H512V352h64V96c0-35.3-28.7-64-64-64H128zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2z"]};function b5(){try{const e=localStorage.getItem(Ml);return e?JSON.parse(e):{}}catch{return{}}}function St(e,n,o){return e[n]!=null?e[n]:o}function um(e){return{designMode:!1,designProgress:0,globalIconSettings:St(e,"globalIconSettings",(({isShowing:n,name:o,icon:i,progressValue:a,...l})=>l)(Et())),icons:{voice:St(e,"voice",Et("voice",!0,fd)),health:St(e,"health",Et("health",!1,h5)),armor:St(e,"armor",Et("armor",!1,m5)),hunger:St(e,"hunger",Et("hunger",!1,g5)),thirst:St(e,"thirst",Et("thirst",!1,v5)),stress:St(e,"stress",Et("stress",!1,Ng)),oxygen:St(e,"oxygen",Et("oxygen",!1,y5)),armed:St(e,"armed",Et("armed",!1,x5)),parachute:St(e,"parachute",Et("parachute",!1,mg)),engine:St(e,"engine",Et("engine",!1,jg)),harness:St(e,"harness",Et("harness",!1,dd)),cruise:St(e,"cruise",Et("cruise",!1,bg)),nitro:St(e,"nitro",Et("nitro",!1,gg)),dev:St(e,"dev",Et("dev",!1,w5))},dynamicIcons:St(e,"dynamicIcons",{armor:!1,engine:!1,health:!1,hunger:!1,nitro:!1,oxygen:!1,stress:!1,thirst:!1}),saveUIState:"ready",show:!1,showingOrder:["voice","health","armor","hunger","thirst","oxygen","stress","armed","parachute","harness","cruise","nitro","dev"]}}const fl=2,S5=["voice","health","armor","hunger","thirst","stress","oxygen","armed","parachute","engine","harness","cruise","nitro","dev"];function C5(e){if(!e||Object.keys(e).length===0||e.__iconsVersion===fl)return e;for(const n of S5){const o=e[n];o&&o.shape&&(e[n]=ho(o.shape,{icon:o.icon??null,isShowing:o.isShowing??!1,name:o.name??n,progressValue:o.progressValue??100}))}e.__iconsVersion=fl;try{localStorage.setItem(Ml,JSON.stringify(e))}catch{}return e}const k5=C5(b5()),Te=gt((e,n)=>({...um(k5),resetPlayerStatusIcons(){localStorage.removeItem(Ml),e({...um({}),show:!0})},updateAllIconsSettings(o,i){e(a=>{const l={...a.icons};for(const f in l)o in l[f]&&(l[f]={...l[f],[o]:i});const u={...a.globalIconSettings,[o]:i};return{icons:l,globalIconSettings:u}})},updateAllDisplayOutline:o=>n().updateAllIconsSettings("displayOutline",o),updateAllHeight:o=>n().updateAllIconsSettings("height",o),updateAllIconScale:o=>n().updateAllIconsSettings("iconScaling",o),updateAllRingSize:o=>n().updateAllIconsSettings("ringSize",o),updateAllRoundXAxis:o=>n().updateAllIconsSettings("xAxisRound",o),updateAllRoundYAxis:o=>n().updateAllIconsSettings("yAxisRound",o),updateAllRotateDegree:o=>n().updateAllIconsSettings("rotateDegree",o),updateAllDashes:o=>n().updateAllIconsSettings("dashes",o),updateAllDashGaps:o=>n().updateAllIconsSettings("gap",o),updateAllBorderGap:o=>n().updateAllIconsSettings("borderGap",o),updateAllIconRotateDegrees:o=>n().updateAllIconsSettings("iconRotateDegree",o),updateAllBorderSize:o=>n().updateAllIconsSettings("borderSize",o),updateAllTranslateIconX:o=>n().updateAllIconsSettings("iconTranslateX",o),updateAllTranslateIconY:o=>n().updateAllIconsSettings("iconTranslateY",o),updateAllTranslateX:o=>n().updateAllIconsSettings("translateX",o),updateAllTranslateY:o=>n().updateAllIconsSettings("translateY",o),updateAllWidth:o=>n().updateAllIconsSettings("width",o),updateAllShapes(o){e(i=>{const a={...i.icons};for(const u in a){const f=a[u];a[u]=ho(o,{icon:f.icon,isShowing:f.isShowing,name:f.name,progressValue:f.progressValue})}const l=(({isShowing:u,name:f,icon:h,progressValue:m,...v})=>v)(ho(o,{icon:i.globalIconSettings.icon,isShowing:i.globalIconSettings.isShowing,name:i.globalIconSettings.name}));return{icons:a,globalIconSettings:l}})},updateIconShape(o,i){e(a=>{const l=a.icons[o],u=ho(i,{icon:l.icon,isShowing:l.isShowing,name:l.name,progressValue:l.progressValue});return{icons:{...a.icons,[o]:{...u,shape:i}}}})},updateIconSetting(o,i,a){e(l=>({icons:{...l.icons,[o]:{...l.icons[o],[i]:a}}}))},updateShowingDynamicIcon(o,i){const a=n(),{staticGenericZeroHandleShow:l,staticGenericHundredHandleShow:u,staticEngineHandleShow:f,staticNitroHandleShow:h}=a;let m=!1;const v=a.icons;switch(o){case"armor":m=l(i,v.armor.progressValue);break;case"engine":m=f(i,v.engine.progressValue);break;case"health":m=u(i,v.health.progressValue);break;case"hunger":m=u(i,v.hunger.progressValue);break;case"nitro":m=h(i,v.nitro.progressValue,v.engine.progressValue);break;case"oxygen":m=u(i,v.oxygen.progressValue);break;case"stress":m=l(i,v.stress.progressValue);break;case"thirst":m=u(i,v.thirst.progressValue);break}return e(x=>({dynamicIcons:{...x.dynamicIcons,[o]:i},icons:{...x.icons,[o]:{...x.icons[o],isShowing:m}}})),m},updateAllShowingDynamicIcons(o){e(i=>{const a={...i.dynamicIcons},l={...i.icons},u=n();for(const f in a)a[f]=o,l[f]={...l[f],isShowing:u.updateShowingDynamicIcon(f,o)};return{dynamicIcons:a,icons:l}})},receiveHudConfig(o){var l;if(!((l=o.statusIcons)!=null&&l.length))return;const i=new Set(Object.keys(n().icons)),a=o.statusIcons.filter(u=>u.enabled&&i.has(u.id)).map(u=>u.id);a.length>0&&e({showingOrder:a})},receiveShowMessage(o){e({show:o.show})},receiveStatusUpdateMessage(o){const i=Pt.getState();e(a=>{const l={...a.icons},u=a.dynamicIcons,{staticGenericHundredHandleShow:f,staticGenericZeroHandleShow:h,staticEngineHandleShow:m,staticNitroHandleShow:v}=a;return l.health={...l.health,progressValue:Yt(o.health)},l.armor={...l.armor,progressValue:Yt(o.armor)},l.thirst={...l.thirst,progressValue:Yt(o.thirst)},l.hunger={...l.hunger,progressValue:Yt(o.hunger)},l.stress={...l.stress,progressValue:Yt(o.stress)},l.voice={...l.voice,progressValue:Yt(o.voice*16.6)},l.oxygen={...l.oxygen,progressValue:Yt(o.oxygen)},l.parachute={...l.parachute,progressValue:Yt(o.parachute)},l.engine={...l.engine,progressValue:Yt(o.engine)},l.harness={...l.harness,progressValue:Yt(o.hp*5)},l.cruise={...l.cruise,progressValue:Yt(o.speed)},l.nitro={...l.nitro,progressValue:Yt(o.nos||0)},l.health.isShowing=f(u.health,l.health.progressValue),o.playerDead?(i.updateIconEffectStage("health",1),l.health.progressValue=100):i.updateIconEffectStage("health",0),l.armor.isShowing=h(u.armor,l.armor.progressValue),i.updateIconEffectStage("armor",o.armor<=0?1:0),l.hunger.isShowing=f(u.hunger,l.hunger.progressValue),i.updateIconEffectStage("hunger",o.hunger<=30?1:0),l.thirst.isShowing=f(u.thirst,l.thirst.progressValue),i.updateIconEffectStage("thirst",o.thirst<=30?1:0),l.stress.isShowing=h(u.stress,l.stress.progressValue),l.oxygen.isShowing=f(u.oxygen,l.oxygen.progressValue),l.engine.isShowing=m(u.engine,l.engine.progressValue),o.engine<=25?i.updateIconEffectStage("engine",2):o.engine<=75?i.updateIconEffectStage("engine",1):i.updateIconEffectStage("engine",0),l.nitro.isShowing=v(u.nitro,l.nitro.progressValue,l.engine.progressValue),i.updateIconEffectStage("nitro",o.nitroActive?1:0),o.talking?i.updateIconEffectStage("voice",o.radioTalking?2:1):i.updateIconEffectStage("voice",0),l.voice={...l.voice,icon:o.radioChannel&&o.radioChannel>0?G4:fd},l.cruise={...l.cruise,isShowing:!!o.cruise},l.harness={...l.harness,isShowing:!!o.harness},l.armed={...l.armed,isShowing:!!o.armed},l.parachute={...l.parachute,isShowing:o.parachute>=0},l.dev={...l.dev,isShowing:!!o.dev},{show:o.show,icons:l}})},receiveUIUpdateMessage(o){!o||!Object.keys(o).length||e(i=>{const a={...i.icons};for(const[l,u]of Object.entries(o))a[l]={...ho(u.shape,{icon:a[l].icon,isShowing:a[l].isShowing,name:a[l].name,progressValue:a[l].progressValue}),...u};return{icons:a,saveUIState:"ready"}})},receiveProfileData(o){n().receiveUIUpdateMessage(o.icons),e({globalIconSettings:o.globalIconSettings,showingOrder:o.showingOrder})},staticGenericZeroHandleShow(o,i){return o?!0:i!==0},staticEngineHandleShow(o,i){return(o||i<95)&&i>=0},staticGenericHundredHandleShow(o,i){return o?!0:i<100},staticNitroHandleShow(o,i,a){return o?a>0:i>0}})),j5=Object.freeze(Object.defineProperty({__proto__:null,ICON_DEFAULTS_VERSION:fl,usePlayerStatusHudStore:Te},Symbol.toStringTag,{value:"Module"})),E5="modulepreload",N5=function(e,n){return new URL(e,n).href},fm={},Ba=function(n,o,i){let a=Promise.resolve();if(o&&o.length>0){let u=function(v){return Promise.all(v.map(x=>Promise.resolve(x).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};const f=document.getElementsByTagName("link"),h=document.querySelector("meta[property=csp-nonce]"),m=(h==null?void 0:h.nonce)||(h==null?void 0:h.getAttribute("nonce"));a=u(o.map(v=>{if(v=N5(v,i),v in fm)return;fm[v]=!0;const x=v.endsWith(".css"),b=x?'[rel="stylesheet"]':"";if(!!i)for(let k=f.length-1;k>=0;k--){const j=f[k];if(j.href===v&&(!x||j.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${v}"]${b}`))return;const N=document.createElement("link");if(N.rel=x?"stylesheet":E5,x||(N.as="script"),N.crossOrigin="",N.href=v,m&&N.setAttribute("nonce",m),document.head.appendChild(N),x)return new Promise((k,j)=>{N.addEventListener("load",k),N.addEventListener("error",()=>j(new Error(`Unable to preload CSS for ${v}`)))})}))}function l(u){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=u,window.dispatchEvent(f),!f.defaultPrevented)throw u}return a.then(u=>{for(const f of u||[])f.status==="rejected"&&l(f.reason);return n().catch(l)})},an=!1,M5=["show","isAdmin","isRestarting"];function A5(){try{const e=localStorage.getItem(ad);return e?JSON.parse(e):{}}catch{return{}}}function pt(e,n,o){return e[n]!=null?e[n]:o}function dm(e){return{show:an,isRestarting:!1,adminOnly:an,isAdmin:an,isCinematicModeChecked:pt(e,"isCinematicModeChecked",pt(e,"isCineamticModeChecked",!1)),isCinematicNotifyChecked:pt(e,"isCinematicNotifChecked",!0),isCompassFollowChecked:pt(e,"isCompassFollowChecked",!0),isMapEnabledChecked:pt(e,"isHideMapChecked",!0),isListSoundsChecked:pt(e,"isListSoundsChecked",!0),isLowFuelAlertChecked:pt(e,"isLowFuelChecked",!0),isMapNotifyChecked:pt(e,"isMapNotifChecked",!0),isOpenMenuSoundsChecked:pt(e,"isOpenMenuSoundsChecked",!0),isOutCompassChecked:pt(e,"isOutCompassChecked",!0),isOutMapChecked:pt(e,"isOutMapChecked",!0),isPointerShowChecked:pt(e,"isPointerShowChecked",!0),isResetSoundsChecked:pt(e,"isResetSoundsChecked",!0),isShowCompassChecked:pt(e,"isShowCompassChecked",!0),isShowStreetsChecked:pt(e,"isShowStreetsChecked",!0),isToggleMapShapeChecked:pt(e,"isToggleMapShapeChecked","circle"),isUseMPHChecked:pt(e,"isUseMPHChecked",!1)}}function ls(e){const n={...e};for(const o of M5)delete n[o];localStorage.setItem(ad,JSON.stringify(n))}const P5=A5(),Ae=gt((e,n)=>({...dm(P5),closeMenu(){e({show:!1}),ls(n()),Ba(async()=>{const{fetchNui:o}=await Promise.resolve().then(()=>Wu);return{fetchNui:o}},void 0,import.meta.url).then(({fetchNui:o})=>o("closeMenu"))},handleKeyUp(o){o.key==="Escape"&&(Ba(async()=>{const{saveUIDataToLocalStorage:i}=await Promise.resolve().then(()=>Wu);return{saveUIDataToLocalStorage:i}},void 0,import.meta.url).then(({saveUIDataToLocalStorage:i})=>{i()}),n().closeMenu())},openMenu(){e({show:!0}),ls(n())},receiveMessage(){n().openMenu()},receiveAdminMessage(o){e({adminOnly:o.adminOnly,isAdmin:o.isAdmin}),ls(n())},receiveRestartMessage(){e({isRestarting:!1}),ls(n())},resetHudMenuSetting(){localStorage.removeItem(ad);const o=n();e({...dm({}),show:!0,adminOnly:o.adminOnly,isAdmin:o.isAdmin}),Ba(async()=>{const{usePlayerStatusHudStore:i}=await Promise.resolve().then(()=>j5);return{usePlayerStatusHudStore:i}},void 0,import.meta.url).then(({usePlayerStatusHudStore:i})=>{i.getState().updateAllShowingDynamicIcons(!1)})},sendMenuSettingsToClient(){const o=n();Ba(async()=>{const{fetchNui:i}=await Promise.resolve().then(()=>Wu);return{fetchNui:i}},void 0,import.meta.url).then(({fetchNui:i})=>{i("updateMenuSettingsToClient",{isOutMapChecked:o.isOutMapChecked,isOutCompassChecked:o.isOutCompassChecked,isCompassFollowChecked:o.isCompassFollowChecked,isOpenMenuSoundsChecked:o.isOpenMenuSoundsChecked,isResetSoundsChecked:o.isResetSoundsChecked,isListSoundsChecked:o.isListSoundsChecked,isMapNotifyChecked:o.isMapNotifyChecked,isLowFuelAlertChecked:o.isLowFuelAlertChecked,isCinematicNotifyChecked:o.isCinematicNotifyChecked,isToggleMapShapeChecked:o.isToggleMapShapeChecked,isMapEnabledChecked:o.isMapEnabledChecked,isShowCompassChecked:o.isShowCompassChecked,isShowStreetsChecked:o.isShowStreetsChecked,isPointerShowChecked:o.isPointerShowChecked,isCinematicModeChecked:o.isCinematicModeChecked,isUseMPHChecked:o.isUseMPHChecked})})}}));Ae.subscribe(e=>ls(e));Ae.getState().sendMenuSettingsToClient();const At=gt(e=>({fuelColor:"#FFFFFF",altitude:0,fuel:0,speed:0,odometer:0,show:!1,showAltitude:!1,showSeatBelt:!1,showSquare:!1,showCircle:!1,seatbeltColor:"#e85b14",useMPH:!0,receiveShowMessage:n=>e({show:n.show,showSeatBelt:n.seatbelt}),receiveOdometerMessage:n=>e({odometer:Math.max(0,n.value)}),receiveSpeedMessage:n=>e({speed:n.speed}),receiveUpdateMessage:n=>e(o=>{let i="#FFFFFF";return n.fuel<=20?i="#ff0000":n.fuel<=30&&(i="#dd6e14"),{show:n.isPaused?!1:n.show,altitude:n.altitude,fuel:Yt(n.fuel),showSeatBelt:!n.seatbelt,showAltitude:n.showAltitude,fuelColor:i,useMPH:n.useMPH}})}));function hd(e,n,o){e.prototype=n.prototype=o,o.constructor=e}function Ag(e,n){var o=Object.create(e.prototype);for(var i in n)o[i]=n[i];return o}function Ns(){}var ys=.7,dl=1/ys,ri="\\s*([+-]?\\d+)\\s*",xs="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Fn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",R5=/^#([0-9a-f]{3,8})$/,I5=new RegExp(`^rgb\\(${ri},${ri},${ri}\\)$`),z5=new RegExp(`^rgb\\(${Fn},${Fn},${Fn}\\)$`),O5=new RegExp(`^rgba\\(${ri},${ri},${ri},${xs}\\)$`),_5=new RegExp(`^rgba\\(${Fn},${Fn},${Fn},${xs}\\)$`),D5=new RegExp(`^hsl\\(${xs},${Fn},${Fn}\\)$`),T5=new RegExp(`^hsla\\(${xs},${Fn},${Fn},${xs}\\)$`),pm={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};hd(Ns,Al,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:hm,formatHex:hm,formatHex8:L5,formatHsl:F5,formatRgb:mm,toString:mm});function hm(){return this.rgb().formatHex()}function L5(){return this.rgb().formatHex8()}function F5(){return Pg(this).formatHsl()}function mm(){return this.rgb().formatRgb()}function Al(e){var n,o;return e=(e+"").trim().toLowerCase(),(n=R5.exec(e))?(o=n[1].length,n=parseInt(n[1],16),o===6?gm(n):o===3?new Ft(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):o===8?Ua(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):o===4?Ua(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=I5.exec(e))?new Ft(n[1],n[2],n[3],1):(n=z5.exec(e))?new Ft(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=O5.exec(e))?Ua(n[1],n[2],n[3],n[4]):(n=_5.exec(e))?Ua(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=D5.exec(e))?xm(n[1],n[2]/100,n[3]/100,1):(n=T5.exec(e))?xm(n[1],n[2]/100,n[3]/100,n[4]):pm.hasOwnProperty(e)?gm(pm[e]):e==="transparent"?new Ft(NaN,NaN,NaN,0):null}function gm(e){return new Ft(e>>16&255,e>>8&255,e&255,1)}function Ua(e,n,o,i){return i<=0&&(e=n=o=NaN),new Ft(e,n,o,i)}function $5(e){return e instanceof Ns||(e=Al(e)),e?(e=e.rgb(),new Ft(e.r,e.g,e.b,e.opacity)):new Ft}function H5(e,n,o,i){return arguments.length===1?$5(e):new Ft(e,n,o,i??1)}function Ft(e,n,o,i){this.r=+e,this.g=+n,this.b=+o,this.opacity=+i}hd(Ft,H5,Ag(Ns,{brighter(e){return e=e==null?dl:Math.pow(dl,e),new Ft(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ys:Math.pow(ys,e),new Ft(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ft(yo(this.r),yo(this.g),yo(this.b),pl(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:vm,formatHex:vm,formatHex8:V5,formatRgb:ym,toString:ym}));function vm(){return`#${mo(this.r)}${mo(this.g)}${mo(this.b)}`}function V5(){return`#${mo(this.r)}${mo(this.g)}${mo(this.b)}${mo((isNaN(this.opacity)?1:this.opacity)*255)}`}function ym(){const e=pl(this.opacity);return`${e===1?"rgb(":"rgba("}${yo(this.r)}, ${yo(this.g)}, ${yo(this.b)}${e===1?")":`, ${e})`}`}function pl(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function yo(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function mo(e){return e=yo(e),(e<16?"0":"")+e.toString(16)}function xm(e,n,o,i){return i<=0?e=n=o=NaN:o<=0||o>=1?e=n=NaN:n<=0&&(e=NaN),new vn(e,n,o,i)}function Pg(e){if(e instanceof vn)return new vn(e.h,e.s,e.l,e.opacity);if(e instanceof Ns||(e=Al(e)),!e)return new vn;if(e instanceof vn)return e;e=e.rgb();var n=e.r/255,o=e.g/255,i=e.b/255,a=Math.min(n,o,i),l=Math.max(n,o,i),u=NaN,f=l-a,h=(l+a)/2;return f?(n===l?u=(o-i)/f+(o0&&h<1?0:u,new vn(u,f,h,e.opacity)}function W5(e,n,o,i){return arguments.length===1?Pg(e):new vn(e,n,o,i??1)}function vn(e,n,o,i){this.h=+e,this.s=+n,this.l=+o,this.opacity=+i}hd(vn,W5,Ag(Ns,{brighter(e){return e=e==null?dl:Math.pow(dl,e),new vn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ys:Math.pow(ys,e),new vn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,o=this.l,i=o+(o<.5?o:1-o)*n,a=2*o-i;return new Ft(Vu(e>=240?e-240:e+120,a,i),Vu(e,a,i),Vu(e<120?e+240:e-120,a,i),this.opacity)},clamp(){return new vn(wm(this.h),Ya(this.s),Ya(this.l),pl(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=pl(this.opacity);return`${e===1?"hsl(":"hsla("}${wm(this.h)}, ${Ya(this.s)*100}%, ${Ya(this.l)*100}%${e===1?")":`, ${e})`}`}}));function wm(e){return e=(e||0)%360,e<0?e+360:e}function Ya(e){return Math.max(0,Math.min(1,e||0))}function Vu(e,n,o){return(e<60?n+(o-n)*e/60:e<180?o:e<240?n+(o-n)*(240-e)/60:n)*255}const B5={biohazard:hg,database:Eg,dollarsign:Mg,dumbbell:vg,exclamation:pd,lightbulb:lg,locationarrow:fg,swimming:wg,wind:Sg};function U5(e){return e&&B5[e]||pd}const Sf=gt((e,n)=>({icons:{},receiveBuffStatusMessage(o){const i=o.buffName;e(a=>{const l={...a.icons};if(!l[i]){const h={...Te.getState().icons.health,icon:U5(o.iconName),isShowing:o.display??!0,name:i,progressValue:o.progressValue??0},m=o.progressColor||"#FFD700",v=o.iconColor||"#FFFFFF";let x=o.outlineColor;if(!x){const b=Al(m);b&&(b.opacity=.4,x=b.formatHex8())}return l[i]={...h,iconColor:v,outlineColor:x,progressColor:m},{icons:l}}if(!isNaN(o.progressValue)&&o.progressValue>=0)l[i]={...l[i],progressValue:o.progressValue};else if(o.display!=null&&!o.display){const{[i]:u,...f}=l;return{icons:f}}else console.error("PS-Buffs error: Buff State Message malformed!");return{icons:l}})},receiveEnhancementStatusMessage(o){const i=o.enhancementName;if(!i){console.error("PS-Buffs error: Enhancement Message name malformed:",o.enhancementName);return}const a=i.replace("super-","");if(!bf.includes(a)){console.error("PS-Buffs error: Enhancement Message name not valid:",o.enhancementName);return}e(l=>{const u={...l.icons};if(!u[a]&&o.display&&o.iconColor)return u[a]={iconColor:o.iconColor},{icons:u};if(o.display===!1){if(!u[a])return console.error("PS-Buffs error: Enhancement name not found:",o.enhancementName),l;const{[a]:f,...h}=u;return{icons:h}}return console.error("PS-Buffs error: Enhancement Message malformed:",o),l})}}));function Y5(){try{const e=localStorage.getItem(ld);return e?JSON.parse(e):{}}catch{return{}}}function bm(){const e=Y5();return{layout:e.layout??"standard",iconBetweenSpacing:e.iconBetweenSpacing??10,xAxisSpacing:e.xAxisSpacing??20,yAxisSpacing:e.yAxisSpacing??2}}const ct=gt(e=>({...bm(),resetLayout:()=>{localStorage.removeItem(ld),e(bm())},receiveUIUpdateMessage:n=>e({layout:n.layout,iconBetweenSpacing:n.iconBetweenSpacing,xAxisSpacing:n.xAxisSpacing,yAxisSpacing:n.yAxisSpacing}),updateLayout:n=>e({layout:n}),updateLayoutSettings:(n,o,i,a)=>e({layout:n,xAxisSpacing:o,yAxisSpacing:i,iconBetweenSpacing:a})})),cs=gt(e=>({panels:{},setPanels:n=>{const o={};for(const i of n)o[i.id]=i;e({panels:o})},addPanel:n=>e(o=>({panels:{...o.panels,[n.id]:n}})),removePanel:n=>e(o=>{const{[n]:i,...a}=o.panels;return{panels:a}}),updatePanel:(n,o)=>e(i=>i.panels[n]?{panels:{...i.panels,[n]:{...i.panels[n],...o}}}:i),clear:()=>e({panels:{}})})),X5={arcLength:75,rotation:225,size:60,ringSize:4,color:"#3b82f6",outlineColor:"#3b82f6",outlineOpacity:.4,x:50,y:80,maxValue:100,showValue:!0};function Sm(e,n,o){return{...X5,...o??{},...n,id:e}}const fo=gt((e,n)=>({configs:{},runtime:{},setGauge({id:o,value:i,...a}){e(l=>{var h;const u=Sm(o,a,l.configs[o]),f={...l.runtime,[o]:{value:i??((h=l.runtime[o])==null?void 0:h.value)??0}};return{configs:{...l.configs,[o]:u},runtime:f}})},updateValue(o,i){e(a=>({runtime:{...a.runtime,[o]:{value:i}}}))},removeGauge(o){e(i=>{const{[o]:a,...l}=i.configs,{[o]:u,...f}=i.runtime;return{configs:l,runtime:f}})},setAll(o){e(i=>{var u;const a={},l={};for(const{id:f,value:h,...m}of o)a[f]=Sm(f,m,i.configs[f]),l[f]={value:h??((u=i.runtime[f])==null?void 0:u.value)??0};return{configs:a,runtime:l}})},clear(){e({configs:{},runtime:{}})}})),Rg="PSHudPositioning";function G5(){try{const e=localStorage.getItem(Rg);if(!e)return{elements:{},gaugeOverrides:{}};const n=JSON.parse(e);return"elements"in n||"gaugeOverrides"in n?{elements:n.elements??{},gaugeOverrides:n.gaugeOverrides??{}}:{elements:n,gaugeOverrides:{}}}catch{return{elements:{},gaugeOverrides:{}}}}function Rn(e,n){try{localStorage.setItem(Rg,JSON.stringify({elements:e,gaugeOverrides:n}))}catch{}}const Xa=()=>({dx:0,dy:0,hidden:!1}),Cm=G5(),Pe=gt(e=>({active:!1,enabled:!0,permissions:{},elements:Cm.elements,gaugeOverrides:Cm.gaugeOverrides,toggle(){e(n=>({active:!n.active}))},move(n,o,i){e(a=>{const l={...a.elements,[n]:{...a.elements[n]??Xa(),dx:o,dy:i}};return Rn(l,a.gaugeOverrides),{elements:l}})},rescale(n,o){e(i=>{const a=Math.round(Math.max(.3,Math.min(3,o))*100)/100,l={...i.elements,[n]:{...i.elements[n]??Xa(),scale:a}};return Rn(l,i.gaugeOverrides),{elements:l}})},rescaleGauge(n,o){e(i=>{const a=Math.round(Math.max(.3,Math.min(3,o))*100)/100,l={...i.gaugeOverrides,[n]:{...i.gaugeOverrides[n]??{isShowing:!0},scale:a}};return Rn(i.elements,l),{gaugeOverrides:l}})},toggleHidden(n){e(o=>{const i=o.elements[n]??Xa(),a={...o.elements,[n]:{...i,hidden:!i.hidden}};return Rn(a,o.gaugeOverrides),{elements:a}})},toggleVertical(n){e(o=>{const i=o.elements[n]??Xa(),a={...o.elements,[n]:{...i,vertical:!i.vertical}};return Rn(a,o.gaugeOverrides),{elements:a}})},reset(n){e(o=>{const{[n]:i,...a}=o.elements;return Rn(a,o.gaugeOverrides),{elements:a}})},resetAll(){Rn({},{}),e({elements:{},gaugeOverrides:{}})},setConfig({enabled:n,elements:o}){e(i=>({enabled:n??i.enabled,permissions:o??i.permissions}))},setGaugePosition(n,o,i){e(a=>{const l={...a.gaugeOverrides,[n]:{...a.gaugeOverrides[n]??{isShowing:!0},x:o,y:i}};return Rn(a.elements,l),{gaugeOverrides:l}})},setGaugeVisibility(n,o){e(i=>{const a={...i.gaugeOverrides,[n]:{...i.gaugeOverrides[n]??{},isShowing:o}};return Rn(i.elements,a),{gaugeOverrides:a}})},resetGauge(n){e(o=>{const{[n]:i,...a}=o.gaugeOverrides;return Rn(o.elements,a),{gaugeOverrides:a}})}})),Ig=gt(e=>({config:null,setConfig:n=>e({config:n})})),Fr=gt(e=>({heading:0,streetName:"",crossingRoad:"",show:!1,isFollowCam:!0,receiveHeadingMessage:n=>e({heading:n.value??n.heading??0}),receiveCompassMessage:n=>e({heading:n.heading??0,streetName:n.streetName??"",crossingRoad:n.crossingRoad??""}),receiveCompassOpenMessage:n=>e({show:!0}),receiveCompassCloseMessage:n=>e({show:!1})})),ir=gt(e=>({cash:0,bank:0,show:!1,showConstant:!1,isPlus:!1,isMinus:!1,receiveShowAccountsMessage:n=>e({show:n.show??!0,cash:n.cash??0,bank:n.bank??0}),receiveShowConstantMessage:n=>e({showConstant:!0,cash:n.cash??0,bank:n.bank??0}),receiveUpdateMessage:n=>e({show:!0,cash:n.cash??0,bank:n.bank??0,isPlus:n.plus??!1,isMinus:n.minus??!1})})),K5="#00E699",zg=gt(e=>({accentColor:K5,setAccentColor:n=>{/^#[0-9a-f]{6}([0-9a-f]{2})?$/i.test(n)&&e({accentColor:n})}})),sr=gt(e=>({show:!1,airspeed:0,altitude:0,verticalSpeed:0,pitch:0,roll:0,receiveShowMessage(n){e({show:n})},receiveStatusMessage(n){e(n)}})),Lr=gt(e=>({show:!1,speedKnots:0,rpm:0,pitch:0,roll:0,receiveShowMessage(n){e({show:n})},receiveStatusMessage(n){e(n)}})),q5={hudSettings:"HUD Settings",statusIcons:"Status Icons",generalTab:"General",customizationTab:"Customization",resetHud:"Reset HUD",resetSettings:"Reset Settings",resettingHud:"Resetting Hud...",resetHudDescription:"If your hud is acting up, give it a good ol' reset! Or you can do /resethud",resetSettingsDescriptionLine1:"If you want to reset your settings back to default; click this shiny button!",resetSettingsDescriptionLine2:"(you will have to relog for your menu to reset changes successfully)",optionsMenu:"Options",minimapVehicleCheckBoxPrimary:"Show Minimap Only in Vehicle",minimapVehicleCheckBoxSecondary:"Disabling this will always keep your minimap on your screen",compassVehicleCheckBoxPrimary:"Show Compass Only in Vehicle",compassVehicleCheckBoxSecondary:"Disabling this will always keep your compass on your screen",compassFollowCheckBoxPrimary:"Show Compass Follow Cam",compassFollowCheckBoxSecondary:"Disabling this will make it so you can no longer use your mouse to rotate the compass around",notificationsMenu:"Notifications",menuSoundEffectsEnabled:"Menu Sound Effect Enabled",resetSoundEffectsEnabled:"Reset Hud Sound Effects Enabled",guiSoundEffectsEnabled:"GUI Sound Effects Enabled",mapNotificationsEnabled:"Map Notifications Enabled",lowFuelNotificationsEnabled:"Low Fuel Alert Enabled",cinematicModeNotificationEnabled:"Cinematic Mode Notifications",statusMenu:"Status",showHealthAlways:"Show Health Always",showArmorAlways:"Show Armor Always",showHungerAlways:"Show Hunger Always",showThirstAlways:"Show Thirst Always",showStressAlways:"Show Stress Always",showOxygenAlways:"Show Oxygen Always",vehicleMenu:"Vehicle",minimapTypeCircle:"Minimap Circle",minimapTypeSquare:"Minimap Square",minimapTypeDescription:"Whether it's square or circle you desire, you have the ability to choose!",minimapEnabled:"Minimap Enabled",showEngineAlways:"Show Engine Always",showNitroAlways:"Show Nitro Always",compassMenu:"Compass",compassEnabled:"Compass Enabled",compassEnabledDescription:"Disabling this will make it so you can't see the compass navigation",showStreetNamesEnabled:"Show Street Names Enabled",showStreetNamesDescription:"Disabling this will make it so you can't see the street names / locations",showCompassPointerEnabled:"Show Compass Pointer Enabled",showCompassPointerDescription:"Disabling this will make it so you can't see your pointer index to pinpoint your exact cardinal directions",cinematicMenu:"Cinematic Mode",showCinematicBarsEnabled:"Show Cinematic Bars Enabled",statusIconsSettings:"Status Icons Settings",designMode:"Design Mode",resetStatusIconSettings:"Reset Status Icon Settings",saveChangesToServer:"Save Changes To Server",globalStatusIconsSettings:"Global Status Icons Settings",iconShape:"Icon Shape",globalSizeAndPositionSection:"Global Size & Position Section",widthSize:"Width Size",heightSize:"Height Size",ringSize:"Ring Size",showProgressOutline:"Show Progress Outline",xAxisPosition:"X-Axis Position",yAxisPosition:"Y-Axis Position",rotation:"Rotation",iconXAxisPosition:"Icon X-Axis Position",iconYAxisPosition:"Icon Y-Axis Position",iconSize:"Icon Size",xAxisCurve:"X-Axis Curve",yAxisCurve:"Y-Axis Curve",globalColorSection:"Global Color Section",progressColor:"Progress Color",progressContrast:"Progress Contrast",progressShadow:"Progress Shadow",iconColor:"Icon Color",iconContrast:"Icon Contrast",iconShadow:"Icon Shadow",outlineColor:"Outline Color",outlineContrast:"Outline Contrast",outlineShadow:"Outline Shadow",innerColor:"Inner Color",singleStatusIconSettings:"Single Status Icon Settings",iconStatusToEdit:"Icon Status To Edit",singleIconSizeAndPositionSection:"Single Icon Size & Position Section",singleIconColorSection:"Single Icon Color Section",globalStatusIconLayoutSettings:"Global Status Icon Layout Settings",iconLayout:"Icon Layout",iconState:"Icon State",betweenIconSpacing:"Between Icon Spacing",yAxisSpacing:"Y-Axis Spacing",xAxisSpacing:"X-Axis Spacing",utilityFunctions:"Utility Functions",copyProgressColorsToIconsColors:"Copy Progress Colors To Icon Colors",customizationProfiles:"Customization Profiles",addNewProfile:"Add New Profile",saveHudToProfile:"Save HUD To Profile",applyProfileToHud:"Apply Profile To HUD",deleteProfile:"Delete Profile",metricsTypeMiles:"MPH",metricsTypeKmh:"KM/H",metricsTypeDescription:"Choose your preferred unit of measurement",positioningMenu:"Positioning",openPositioningMode:"Open Positioning Mode",openPositioningModeDescription:"Drag, resize and hide HUD elements freely",resetAllPositions:"Reset All Positions",resetAllPositionsDescription:"Resets every element back to its default position and size",positioningModeTitle:"Positioning Mode — Drag elements to reposition them",positioningResetAll:"Reset All",positioningClose:"Done"},Wn=gt(e=>({translations:q5,setTranslations:n=>e({translations:n})}));async function Q5(e){try{const o=await(await fetch(`./${e}.json`)).json();Wn.getState().setTranslations(o)}catch{console.error("Failed to load translations for locale:",e)}}function Ga(e){try{localStorage.setItem(ud,JSON.stringify({profiles:e}))}catch{}}function Z5(){try{const e=localStorage.getItem(ud);if(!e)return[];const n=JSON.parse(e);return Array.isArray(n)?n.map(o=>({name:o.name??"Profile",savedData:o.savedData??""})):Array.isArray(n.profiles)?n.profiles:[]}catch{return[]}}const Cf=gt((e,n)=>({profiles:Z5(),addNewProfile(){e(o=>{const i=[...o.profiles,{name:`Profile#${o.profiles.length+1}`,savedData:""}];return Ga(i),{profiles:i}})},saveHUDToProfile(o){const i=Te.getState(),a=Pt.getState(),l=ct.getState(),u=JSON.stringify({playerStatusIconData:i,colorData:a,layoutData:l});e(f=>{const h=f.profiles.map((m,v)=>v===o?{...m,savedData:u}:m);return Ga(h),{profiles:h}})},applyProfileToHud(o){const i=n().profiles[o];if(i!=null&&i.savedData)try{const{playerStatusIconData:a,colorData:l,layoutData:u}=JSON.parse(i.savedData);Te.getState().receiveProfileData(a),Pt.getState().receiveUIUpdateMessage(l.icons),ct.getState().receiveUIUpdateMessage(u)}catch{}},deleteProfile(o){e(i=>{const a=i.profiles.filter((l,u)=>u!==o);return Ga(a),{profiles:a}})},renameProfile(o,i){e(a=>{const l=a.profiles.map((u,f)=>f===o?{...u,name:i}:u);return Ga(l),{profiles:l}})}}));function km(e){const n=e.data;if(!(!n||!n.action))switch(n.action){case"baseplate":switch(n.topic){case"compassupdate":Fr.getState().receiveCompassMessage(n);break;case"opencompass":Fr.getState().receiveCompassOpenMessage(n);break;case"closecompass":Fr.getState().receiveCompassCloseMessage(n);break}break;case"car":switch(n.topic){case"display":At.getState().receiveShowMessage(n);break;case"status":At.getState().receiveUpdateMessage(n);break;case"speed":At.getState().receiveSpeedMessage(n);break}break;case"odometer":At.getState().receiveOdometerMessage(n);break;case"externalstatus":switch(n.topic){case"buff":Sf.getState().receiveBuffStatusMessage(n);break;case"enhancement":Sf.getState().receiveEnhancementStatusMessage(n);break}break;case"hudtick":switch(n.topic){case"display":Te.getState().receiveShowMessage(n);break;case"status":default:Te.getState().receiveStatusUpdateMessage(n);break}break;case"menu":switch(n.topic){case"adminonly":Ae.getState().receiveAdminMessage(n);break;case"restart":Ae.getState().receiveRestartMessage();break}break;case"open":Ae.getState().receiveMessage();break;case"show":ir.getState().receiveShowAccountsMessage(n);break;case"showconstant":ir.getState().receiveShowConstantMessage(n);break;case"update":Fr.getState().receiveHeadingMessage(n);break;case"updatemoney":ir.getState().receiveUpdateMessage(n);break;case"updateUISettings":if(typeof n.accentColor=="string"&&zg.getState().setAccentColor(n.accentColor),!n.icons||!n.layout||!n.colors)return;Te.getState().receiveUIUpdateMessage(n.icons),ct.getState().receiveUIUpdateMessage(n.layout),Pt.getState().receiveUIUpdateMessage(n.colors);break;case"panel":switch(n.topic){case"list":Array.isArray(n.panels)&&cs.getState().setPanels(n.panels);break;case"add":n.panel&&cs.getState().addPanel(n.panel);break;case"remove":n.id&&cs.getState().removePanel(n.id);break;case"update":n.id&&n.patch&&cs.getState().updatePanel(n.id,n.patch);break}break;case"gauge":switch(n.topic){case"set":n.id&&fo.getState().setGauge(n);break;case"value":n.id!=null&&n.value!=null&&fo.getState().updateValue(n.id,n.value);break;case"remove":n.id&&fo.getState().removeGauge(n.id);break;case"show":n.id!=null&&n.isShowing!=null&&Pe.getState().setGaugeVisibility(n.id,n.isShowing);break;case"list":Array.isArray(n.gauges)&&fo.getState().setAll(n.gauges);break;case"clear":fo.getState().clear();break}break;case"marine":switch(n.topic){case"display":Lr.getState().receiveShowMessage(n.isShowing);break;case"status":Lr.getState().receiveStatusMessage(n);break}break;case"aircraft":switch(n.topic){case"display":sr.getState().receiveShowMessage(n.isShowing);break;case"status":sr.getState().receiveStatusMessage(n);break}break;case"setLang":Q5(n.lang);break;case"hudconfig":n.statusIcons&&Te.getState().receiveHudConfig({statusIcons:n.statusIcons}),n.serverLogo&&Ig.getState().setConfig(n.serverLogo),n.positioning&&Pe.getState().setConfig({enabled:n.positioning.enabled,elements:n.positioning.elements});break;case"positioning":switch(n.topic){case"toggle":Pe.getState().toggle();break;case"open":Pe.setState({active:!0});break;case"close":Pe.setState({active:!1});break}break}}function Og(){y.useEffect(()=>(window.addEventListener("message",km),()=>window.removeEventListener("message",km)),[])}function J5(e){const n={};for(const[o,i]of Object.entries(e)){const{icon:a,isShowing:l,name:u,progressValue:f,...h}=i;n[o]=h}return n}function ew(e){const n={};for(const[o,i]of Object.entries(e)){const{currentEffect:a,editableColors:l,...u}=i;n[o]=u}return n}async function $e(e,n={}){const o={method:"post",headers:{"Content-Type":"application/json; charset=UTF-8"},body:JSON.stringify(n)};try{return await(await fetch(`https://ps-hud/${e}`,o)).json()}catch{}}function _g(){const e=Te.getState(),n=Pt.getState(),o=ct.getState(),i=J5(e.icons),a=ew(n.icons);$e("saveUISettings",{icons:i,layout:o,colors:a})}function tw(){const e=Te.getState(),n=Pt.getState(),o=ct.getState(),i=Cf.getState();localStorage.setItem(cd,JSON.stringify({...n.icons,globalColorSettings:n.globalColorSettings})),localStorage.setItem(Ml,JSON.stringify({...e.icons,globalIconSettings:e.globalIconSettings,dynamicIcons:e.dynamicIcons,__iconsVersion:fl})),localStorage.setItem(ld,JSON.stringify(o)),localStorage.setItem(ud,JSON.stringify({profiles:i}))}const Wu=Object.freeze(Object.defineProperty({__proto__:null,fetchNui:$e,saveUIDataToLocalStorage:tw,saveUIDataToServer:_g,useEventHandler:Og},Symbol.toStringTag,{value:"Module"}));function nw(e){y.useEffect(()=>{const n=e.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i);if(!n)return;const o=parseInt(n[1],16)/255,i=parseInt(n[2],16)/255,a=parseInt(n[3],16)/255,l=Math.max(o,i,a),u=Math.min(o,i,a);let f=0,h=0;const m=(l+u)/2;if(l!==u){const b=l-u;h=m>.5?b/(2-l-u):b/(l+u),l===o?f=(i-a)/b+(il)(At())),icons:{voice:Ct(e,"voice",At("voice",!0,Nf)),health:Ct(e,"health",At("health",!1,K4)),armor:Ct(e,"armor",At("armor",!1,q4)),hunger:Ct(e,"hunger",At("hunger",!1,Q4)),thirst:Ct(e,"thirst",At("thirst",!1,J4)),stress:Ct(e,"stress",At("stress",!1,Zg)),oxygen:Ct(e,"oxygen",At("oxygen",!1,Z4)),armed:Ct(e,"armed",At("armed",!1,ew)),parachute:Ct(e,"parachute",At("parachute",!1,Hg)),engine:Ct(e,"engine",At("engine",!1,Qg)),harness:Ct(e,"harness",At("harness",!1,Mf)),cruise:Ct(e,"cruise",At("cruise",!1,Xg)),nitro:Ct(e,"nitro",At("nitro",!1,Vg)),dev:Ct(e,"dev",At("dev",!1,tw))},dynamicIcons:Ct(e,"dynamicIcons",{armor:!1,engine:!1,health:!1,hunger:!1,nitro:!1,oxygen:!1,stress:!1,thirst:!1}),saveUIState:"ready",show:!1,showingOrder:["voice","health","armor","hunger","thirst","oxygen","stress","armed","parachute","harness","cruise","nitro","dev"]}}const Cl=2,rw=["voice","health","armor","hunger","thirst","stress","oxygen","armed","parachute","engine","harness","cruise","nitro","dev"];function ow(e){if(!e||Object.keys(e).length===0||e.__iconsVersion===Cl)return e;for(const n of rw){const r=e[n];r&&r.shape&&(e[n]=wo(r.shape,{icon:r.icon??null,isShowing:r.isShowing??!1,name:r.name??n,progressValue:r.progressValue??100}))}e.__iconsVersion=Cl;try{localStorage.setItem($l,JSON.stringify(e))}catch{}return e}const iw=ow(nw()),Oe=it((e,n)=>({...Im(iw),resetPlayerStatusIcons(){localStorage.removeItem($l),e({...Im({}),show:!0})},updateAllIconsSettings(r,i){e(a=>{const l={...a.icons};for(const d in l)r in l[d]&&(l[d]={...l[d],[r]:i});const u={...a.globalIconSettings,[r]:i};return{icons:l,globalIconSettings:u}})},updateAllDisplayOutline:r=>n().updateAllIconsSettings("displayOutline",r),updateAllHeight:r=>n().updateAllIconsSettings("height",r),updateAllIconScale:r=>n().updateAllIconsSettings("iconScaling",r),updateAllRingSize:r=>n().updateAllIconsSettings("ringSize",r),updateAllRoundXAxis:r=>n().updateAllIconsSettings("xAxisRound",r),updateAllRoundYAxis:r=>n().updateAllIconsSettings("yAxisRound",r),updateAllRotateDegree:r=>n().updateAllIconsSettings("rotateDegree",r),updateAllDashes:r=>n().updateAllIconsSettings("dashes",r),updateAllDashGaps:r=>n().updateAllIconsSettings("gap",r),updateAllBorderGap:r=>n().updateAllIconsSettings("borderGap",r),updateAllIconRotateDegrees:r=>n().updateAllIconsSettings("iconRotateDegree",r),updateAllBorderSize:r=>n().updateAllIconsSettings("borderSize",r),updateAllTranslateIconX:r=>n().updateAllIconsSettings("iconTranslateX",r),updateAllTranslateIconY:r=>n().updateAllIconsSettings("iconTranslateY",r),updateAllTranslateX:r=>n().updateAllIconsSettings("translateX",r),updateAllTranslateY:r=>n().updateAllIconsSettings("translateY",r),updateAllWidth:r=>n().updateAllIconsSettings("width",r),updateAllShapes(r){e(i=>{const a={...i.icons};for(const u in a){const d=a[u];a[u]=wo(r,{icon:d.icon,isShowing:d.isShowing,name:d.name,progressValue:d.progressValue})}const l=(({isShowing:u,name:d,icon:h,progressValue:m,...y})=>y)(wo(r,{icon:i.globalIconSettings.icon,isShowing:i.globalIconSettings.isShowing,name:i.globalIconSettings.name}));return{icons:a,globalIconSettings:l}})},updateIconShape(r,i){e(a=>{const l=a.icons[r],u=wo(i,{icon:l.icon,isShowing:l.isShowing,name:l.name,progressValue:l.progressValue});return{icons:{...a.icons,[r]:{...u,shape:i}}}})},updateIconSetting(r,i,a){e(l=>({icons:{...l.icons,[r]:{...l.icons[r],[i]:a}}}))},updateShowingDynamicIcon(r,i){const a=n(),{staticGenericZeroHandleShow:l,staticGenericHundredHandleShow:u,staticEngineHandleShow:d,staticNitroHandleShow:h}=a;let m=!1;const y=a.icons;switch(r){case"armor":m=l(i,y.armor.progressValue);break;case"engine":m=d(i,y.engine.progressValue);break;case"health":m=u(i,y.health.progressValue);break;case"hunger":m=u(i,y.hunger.progressValue);break;case"nitro":m=h(i,y.nitro.progressValue,y.engine.progressValue);break;case"oxygen":m=u(i,y.oxygen.progressValue);break;case"stress":m=l(i,y.stress.progressValue);break;case"thirst":m=u(i,y.thirst.progressValue);break}return e(x=>({dynamicIcons:{...x.dynamicIcons,[r]:i},icons:{...x.icons,[r]:{...x.icons[r],isShowing:m}}})),m},updateAllShowingDynamicIcons(r){e(i=>{const a={...i.dynamicIcons},l={...i.icons},u=n();for(const d in a)a[d]=r,l[d]={...l[d],isShowing:u.updateShowingDynamicIcon(d,r)};return{dynamicIcons:a,icons:l}})},receiveHudConfig(r){var l;if(!((l=r.statusIcons)!=null&&l.length))return;const i=new Set(Object.keys(n().icons)),a=r.statusIcons.filter(u=>u.enabled&&i.has(u.id)).map(u=>u.id);a.length>0&&e({showingOrder:a})},receiveShowMessage(r){e({show:r.show})},receiveStatusUpdateMessage(r){const i=jt.getState();e(a=>{const l={...a.icons},u=a.dynamicIcons,{staticGenericHundredHandleShow:d,staticGenericZeroHandleShow:h,staticEngineHandleShow:m,staticNitroHandleShow:y}=a;return l.health={...l.health,progressValue:kt(r.health)},l.armor={...l.armor,progressValue:kt(r.armor)},l.thirst={...l.thirst,progressValue:kt(r.thirst)},l.hunger={...l.hunger,progressValue:kt(r.hunger)},l.stress={...l.stress,progressValue:kt(r.stress)},l.voice={...l.voice,progressValue:kt(r.voice*16.6)},l.oxygen={...l.oxygen,progressValue:kt(r.oxygen)},l.parachute={...l.parachute,progressValue:kt(r.parachute)},l.engine={...l.engine,progressValue:kt(r.engine)},l.harness={...l.harness,progressValue:kt(r.hp*5)},l.cruise={...l.cruise,progressValue:kt(r.speed)},l.nitro={...l.nitro,progressValue:kt(r.nos||0)},l.health.isShowing=d(u.health,l.health.progressValue),r.playerDead?(i.updateIconEffectStage("health",1),l.health.progressValue=100):i.updateIconEffectStage("health",0),l.armor.isShowing=h(u.armor,l.armor.progressValue),i.updateIconEffectStage("armor",r.armor<=0?1:0),l.hunger.isShowing=d(u.hunger,l.hunger.progressValue),i.updateIconEffectStage("hunger",r.hunger<=30?1:0),l.thirst.isShowing=d(u.thirst,l.thirst.progressValue),i.updateIconEffectStage("thirst",r.thirst<=30?1:0),l.stress.isShowing=h(u.stress,l.stress.progressValue),l.oxygen.isShowing=d(u.oxygen,l.oxygen.progressValue),l.engine.isShowing=m(u.engine,l.engine.progressValue),r.engine<=25?i.updateIconEffectStage("engine",2):r.engine<=75?i.updateIconEffectStage("engine",1):i.updateIconEffectStage("engine",0),l.nitro.isShowing=y(u.nitro,l.nitro.progressValue,l.engine.progressValue),i.updateIconEffectStage("nitro",r.nitroActive?1:0),r.talking?i.updateIconEffectStage("voice",r.radioTalking?2:1):i.updateIconEffectStage("voice",0),l.voice={...l.voice,icon:r.radioChannel&&r.radioChannel>0?A4:Nf},l.cruise={...l.cruise,isShowing:!!r.cruise},l.harness={...l.harness,isShowing:!!r.harness},l.armed={...l.armed,isShowing:!!r.armed},l.parachute={...l.parachute,isShowing:r.parachute>=0},l.dev={...l.dev,isShowing:!!r.dev},{show:r.show,icons:l}})},receiveUIUpdateMessage(r){!r||!Object.keys(r).length||e(i=>{const a={...i.icons};for(const[l,u]of Object.entries(r))a[l]={...wo(u.shape,{icon:a[l].icon,isShowing:a[l].isShowing,name:a[l].name,progressValue:a[l].progressValue}),...u};return{icons:a,saveUIState:"ready"}})},receiveProfileData(r){n().receiveUIUpdateMessage(r.icons),e({globalIconSettings:r.globalIconSettings,showingOrder:r.showingOrder})},staticGenericZeroHandleShow(r,i){return r?!0:i!==0},staticEngineHandleShow(r,i){return(r||i<95)&&i>=0},staticGenericHundredHandleShow(r,i){return r?!0:i<100},staticNitroHandleShow(r,i,a){return r?a>0:i>0}})),sw=Object.freeze(Object.defineProperty({__proto__:null,ICON_DEFAULTS_VERSION:Cl,usePlayerStatusHudStore:Oe},Symbol.toStringTag,{value:"Module"})),aw="modulepreload",lw=function(e,n){return new URL(e,n).href},zm={},bo=function(n,r,i){let a=Promise.resolve();if(r&&r.length>0){let u=function(y){return Promise.all(y.map(x=>Promise.resolve(x).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};const d=document.getElementsByTagName("link"),h=document.querySelector("meta[property=csp-nonce]"),m=(h==null?void 0:h.nonce)||(h==null?void 0:h.getAttribute("nonce"));a=u(r.map(y=>{if(y=lw(y,i),y in zm)return;zm[y]=!0;const x=y.endsWith(".css"),b=x?'[rel="stylesheet"]':"";if(!!i)for(let E=d.length-1;E>=0;E--){const j=d[E];if(j.href===y&&(!x||j.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${y}"]${b}`))return;const N=document.createElement("link");if(N.rel=x?"stylesheet":aw,x||(N.as="script"),N.crossOrigin="",N.href=y,m&&N.setAttribute("nonce",m),document.head.appendChild(N),x)return new Promise((E,j)=>{N.addEventListener("load",E),N.addEventListener("error",()=>j(new Error(`Unable to preload CSS for ${y}`)))})}))}function l(u){const d=new Event("vite:preloadError",{cancelable:!0});if(d.payload=u,window.dispatchEvent(d),!d.defaultPrevented)throw u}return a.then(u=>{for(const d of u||[])d.status==="rejected"&&l(d.reason);return n().catch(l)})},zt=!1,cw=["show","isAdmin","isRestarting"];function uw(){try{const e=localStorage.getItem(Cf);return e?JSON.parse(e):{}}catch{return{}}}function yt(e,n,r){return e[n]!=null?e[n]:r}function Om(e){return{show:zt,isRestarting:!1,adminOnly:zt,isAdmin:zt,isCinematicModeChecked:yt(e,"isCinematicModeChecked",yt(e,"isCineamticModeChecked",!1)),isCinematicNotifyChecked:yt(e,"isCinematicNotifChecked",!0),isCompassFollowChecked:yt(e,"isCompassFollowChecked",!0),isMapEnabledChecked:yt(e,"isHideMapChecked",!0),isListSoundsChecked:yt(e,"isListSoundsChecked",!0),isLowFuelAlertChecked:yt(e,"isLowFuelChecked",!0),isMapNotifyChecked:yt(e,"isMapNotifChecked",!0),isOpenMenuSoundsChecked:yt(e,"isOpenMenuSoundsChecked",!0),isOutCompassChecked:yt(e,"isOutCompassChecked",!0),isOutMapChecked:yt(e,"isOutMapChecked",!0),isPointerShowChecked:yt(e,"isPointerShowChecked",!0),isResetSoundsChecked:yt(e,"isResetSoundsChecked",!0),isShowCompassChecked:yt(e,"isShowCompassChecked",!0),isShowStreetsChecked:yt(e,"isShowStreetsChecked",!0),isToggleMapShapeChecked:yt(e,"isToggleMapShapeChecked","circle"),isUseMPHChecked:yt(e,"isUseMPHChecked",!1)}}function bs(e){const n={...e};for(const r of cw)delete n[r];localStorage.setItem(Cf,JSON.stringify(n))}const dw=uw(),Me=it((e,n)=>({...Om(dw),closeMenu(){e({show:!1}),bs(n()),bo(async()=>{const{fetchNui:r}=await Promise.resolve().then(()=>pi);return{fetchNui:r}},void 0,import.meta.url).then(({fetchNui:r})=>r("closeMenu"))},handleKeyUp(r){r.key==="Escape"&&(bo(async()=>{const{saveUIDataToLocalStorage:i}=await Promise.resolve().then(()=>pi);return{saveUIDataToLocalStorage:i}},void 0,import.meta.url).then(({saveUIDataToLocalStorage:i})=>{i()}),n().closeMenu())},openMenu(){e({show:!0}),bs(n())},receiveMessage(){n().openMenu()},receiveAdminMessage(r){e({adminOnly:r.adminOnly,isAdmin:r.isAdmin}),bs(n())},receiveRestartMessage(){e({isRestarting:!1}),bs(n())},resetHudMenuSetting(){localStorage.removeItem(Cf);const r=n();e({...Om({}),show:!0,adminOnly:r.adminOnly,isAdmin:r.isAdmin}),bo(async()=>{const{usePlayerStatusHudStore:i}=await Promise.resolve().then(()=>sw);return{usePlayerStatusHudStore:i}},void 0,import.meta.url).then(({usePlayerStatusHudStore:i})=>{i.getState().updateAllShowingDynamicIcons(!1)})},sendMenuSettingsToClient(){const r=n();bo(async()=>{const{fetchNui:i}=await Promise.resolve().then(()=>pi);return{fetchNui:i}},void 0,import.meta.url).then(({fetchNui:i})=>{i("updateMenuSettingsToClient",{isOutMapChecked:r.isOutMapChecked,isOutCompassChecked:r.isOutCompassChecked,isCompassFollowChecked:r.isCompassFollowChecked,isOpenMenuSoundsChecked:r.isOpenMenuSoundsChecked,isResetSoundsChecked:r.isResetSoundsChecked,isListSoundsChecked:r.isListSoundsChecked,isMapNotifyChecked:r.isMapNotifyChecked,isLowFuelAlertChecked:r.isLowFuelAlertChecked,isCinematicNotifyChecked:r.isCinematicNotifyChecked,isToggleMapShapeChecked:r.isToggleMapShapeChecked,isMapEnabledChecked:r.isMapEnabledChecked,isShowCompassChecked:r.isShowCompassChecked,isShowStreetsChecked:r.isShowStreetsChecked,isPointerShowChecked:r.isPointerShowChecked,isCinematicModeChecked:r.isCinematicModeChecked,isUseMPHChecked:r.isUseMPHChecked})})}}));Me.subscribe(e=>bs(e));Me.getState().sendMenuSettingsToClient();const He=it(e=>({fuelColor:"#FFFFFF",altitude:0,fuel:0,speed:0,rpm:0,gear:0,engine:100,heading:0,odometer:0,show:!1,showAltitude:!1,showSeatBelt:!1,showSquare:!1,showCircle:!1,seatbeltColor:"#e85b14",useMPH:!0,receiveShowMessage:n=>e({show:n.show,showSeatBelt:n.seatbelt}),receiveOdometerMessage:n=>e({odometer:Math.max(0,n.value)}),receiveSpeedMessage:n=>e(r=>({speed:n.speed,rpm:n.rpm??r.rpm,gear:n.gear??r.gear,engine:n.engine??r.engine,heading:n.heading??r.heading})),receiveUpdateMessage:n=>e(r=>{let i="#FFFFFF";return n.fuel<=20?i="#ff0000":n.fuel<=30&&(i="#dd6e14"),{show:n.isPaused?!1:n.show,altitude:n.altitude,fuel:kt(n.fuel),showSeatBelt:!n.seatbelt,showAltitude:n.showAltitude,fuelColor:i,useMPH:n.useMPH}})}));function Pf(e,n,r){e.prototype=n.prototype=r,r.constructor=e}function t2(e,n){var r=Object.create(e.prototype);for(var i in n)r[i]=n[i];return r}function Ls(){}var Ps=.7,kl=1/Ps,fi="\\s*([+-]?\\d+)\\s*",Rs="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Wn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",fw=/^#([0-9a-f]{3,8})$/,pw=new RegExp(`^rgb\\(${fi},${fi},${fi}\\)$`),hw=new RegExp(`^rgb\\(${Wn},${Wn},${Wn}\\)$`),mw=new RegExp(`^rgba\\(${fi},${fi},${fi},${Rs}\\)$`),gw=new RegExp(`^rgba\\(${Wn},${Wn},${Wn},${Rs}\\)$`),yw=new RegExp(`^hsl\\(${Rs},${Wn},${Wn}\\)$`),vw=new RegExp(`^hsla\\(${Rs},${Wn},${Wn},${Rs}\\)$`),Tm={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Pf(Ls,Hl,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:_m,formatHex:_m,formatHex8:xw,formatHsl:ww,formatRgb:Dm,toString:Dm});function _m(){return this.rgb().formatHex()}function xw(){return this.rgb().formatHex8()}function ww(){return n2(this).formatHsl()}function Dm(){return this.rgb().formatRgb()}function Hl(e){var n,r;return e=(e+"").trim().toLowerCase(),(n=fw.exec(e))?(r=n[1].length,n=parseInt(n[1],16),r===6?Lm(n):r===3?new Vt(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):r===8?tl(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):r===4?tl(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=pw.exec(e))?new Vt(n[1],n[2],n[3],1):(n=hw.exec(e))?new Vt(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=mw.exec(e))?tl(n[1],n[2],n[3],n[4]):(n=gw.exec(e))?tl(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=yw.exec(e))?Hm(n[1],n[2]/100,n[3]/100,1):(n=vw.exec(e))?Hm(n[1],n[2]/100,n[3]/100,n[4]):Tm.hasOwnProperty(e)?Lm(Tm[e]):e==="transparent"?new Vt(NaN,NaN,NaN,0):null}function Lm(e){return new Vt(e>>16&255,e>>8&255,e&255,1)}function tl(e,n,r,i){return i<=0&&(e=n=r=NaN),new Vt(e,n,r,i)}function bw(e){return e instanceof Ls||(e=Hl(e)),e?(e=e.rgb(),new Vt(e.r,e.g,e.b,e.opacity)):new Vt}function Sw(e,n,r,i){return arguments.length===1?bw(e):new Vt(e,n,r,i??1)}function Vt(e,n,r,i){this.r=+e,this.g=+n,this.b=+r,this.opacity=+i}Pf(Vt,Sw,t2(Ls,{brighter(e){return e=e==null?kl:Math.pow(kl,e),new Vt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Ps:Math.pow(Ps,e),new Vt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Vt(Eo(this.r),Eo(this.g),Eo(this.b),jl(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Fm,formatHex:Fm,formatHex8:Cw,formatRgb:$m,toString:$m}));function Fm(){return`#${So(this.r)}${So(this.g)}${So(this.b)}`}function Cw(){return`#${So(this.r)}${So(this.g)}${So(this.b)}${So((isNaN(this.opacity)?1:this.opacity)*255)}`}function $m(){const e=jl(this.opacity);return`${e===1?"rgb(":"rgba("}${Eo(this.r)}, ${Eo(this.g)}, ${Eo(this.b)}${e===1?")":`, ${e})`}`}function jl(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Eo(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function So(e){return e=Eo(e),(e<16?"0":"")+e.toString(16)}function Hm(e,n,r,i){return i<=0?e=n=r=NaN:r<=0||r>=1?e=n=NaN:n<=0&&(e=NaN),new Sn(e,n,r,i)}function n2(e){if(e instanceof Sn)return new Sn(e.h,e.s,e.l,e.opacity);if(e instanceof Ls||(e=Hl(e)),!e)return new Sn;if(e instanceof Sn)return e;e=e.rgb();var n=e.r/255,r=e.g/255,i=e.b/255,a=Math.min(n,r,i),l=Math.max(n,r,i),u=NaN,d=l-a,h=(l+a)/2;return d?(n===l?u=(r-i)/d+(r0&&h<1?0:u,new Sn(u,d,h,e.opacity)}function kw(e,n,r,i){return arguments.length===1?n2(e):new Sn(e,n,r,i??1)}function Sn(e,n,r,i){this.h=+e,this.s=+n,this.l=+r,this.opacity=+i}Pf(Sn,kw,t2(Ls,{brighter(e){return e=e==null?kl:Math.pow(kl,e),new Sn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Ps:Math.pow(Ps,e),new Sn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*n,a=2*r-i;return new Vt(nd(e>=240?e-240:e+120,a,i),nd(e,a,i),nd(e<120?e+240:e-120,a,i),this.opacity)},clamp(){return new Sn(Vm(this.h),nl(this.s),nl(this.l),jl(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=jl(this.opacity);return`${e===1?"hsl(":"hsla("}${Vm(this.h)}, ${nl(this.s)*100}%, ${nl(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Vm(e){return e=(e||0)%360,e<0?e+360:e}function nl(e){return Math.max(0,Math.min(1,e||0))}function nd(e,n,r){return(e<60?n+(r-n)*e/60:e<180?r:e<240?n+(r-n)*(240-e)/60:n)*255}const jw={biohazard:$g,database:Jg,dollarsign:e2,dumbbell:Bg,exclamation:Af,lightbulb:Og,locationarrow:Dg,swimming:Yg,wind:Gg};function Ew(e){return e&&jw[e]||Af}const _d=it((e,n)=>({icons:{},receiveBuffStatusMessage(r){const i=r.buffName;e(a=>{const l={...a.icons};if(!l[i]){const h={...Oe.getState().icons.health,icon:Ew(r.iconName),isShowing:r.display??!0,name:i,progressValue:r.progressValue??0},m=r.progressColor||"#FFD700",y=r.iconColor||"#FFFFFF";let x=r.outlineColor;if(!x){const b=Hl(m);b&&(b.opacity=.4,x=b.formatHex8())}return l[i]={...h,iconColor:y,outlineColor:x,progressColor:m},{icons:l}}if(!isNaN(r.progressValue)&&r.progressValue>=0)l[i]={...l[i],progressValue:r.progressValue};else if(r.display!=null&&!r.display){const{[i]:u,...d}=l;return{icons:d}}else console.error("PS-Buffs error: Buff State Message malformed!");return{icons:l}})},receiveEnhancementStatusMessage(r){const i=r.enhancementName;if(!i){console.error("PS-Buffs error: Enhancement Message name malformed:",r.enhancementName);return}const a=i.replace("super-","");if(!Td.includes(a)){console.error("PS-Buffs error: Enhancement Message name not valid:",r.enhancementName);return}e(l=>{const u={...l.icons};if(!u[a]&&r.display&&r.iconColor)return u[a]={iconColor:r.iconColor},{icons:u};if(r.display===!1){if(!u[a])return console.error("PS-Buffs error: Enhancement name not found:",r.enhancementName),l;const{[a]:d,...h}=u;return{icons:h}}return console.error("PS-Buffs error: Enhancement Message malformed:",r),l})}}));function Nw(){try{const e=localStorage.getItem(kf);return e?JSON.parse(e):{}}catch{return{}}}function Bm(){const e=Nw();return{layout:e.layout??"standard",iconBetweenSpacing:e.iconBetweenSpacing??10,xAxisSpacing:e.xAxisSpacing??20,yAxisSpacing:e.yAxisSpacing??2}}const pt=it(e=>({...Bm(),resetLayout:()=>{localStorage.removeItem(kf),e(Bm())},receiveUIUpdateMessage:n=>e({layout:n.layout,iconBetweenSpacing:n.iconBetweenSpacing,xAxisSpacing:n.xAxisSpacing,yAxisSpacing:n.yAxisSpacing}),updateLayout:n=>e({layout:n}),updateLayoutSettings:(n,r,i,a)=>e({layout:n,xAxisSpacing:r,yAxisSpacing:i,iconBetweenSpacing:a})})),Ss=it(e=>({panels:{},setPanels:n=>{const r={};for(const i of n)r[i.id]=i;e({panels:r})},addPanel:n=>e(r=>({panels:{...r.panels,[n.id]:n}})),removePanel:n=>e(r=>{const{[n]:i,...a}=r.panels;return{panels:a}}),updatePanel:(n,r)=>e(i=>i.panels[n]?{panels:{...i.panels,[n]:{...i.panels[n],...r}}}:i),clear:()=>e({panels:{}})})),Mw={arcLength:75,rotation:225,size:60,ringSize:4,color:"#3b82f6",outlineColor:"#3b82f6",outlineOpacity:.4,x:50,y:80,maxValue:100,showValue:!0};function Wm(e,n,r){return{...Mw,...r??{},...n,id:e}}const vo=it((e,n)=>({configs:{},runtime:{},setGauge({id:r,value:i,...a}){e(l=>{var h;const u=Wm(r,a,l.configs[r]),d={...l.runtime,[r]:{value:i??((h=l.runtime[r])==null?void 0:h.value)??0}};return{configs:{...l.configs,[r]:u},runtime:d}})},updateValue(r,i){e(a=>({runtime:{...a.runtime,[r]:{value:i}}}))},removeGauge(r){e(i=>{const{[r]:a,...l}=i.configs,{[r]:u,...d}=i.runtime;return{configs:l,runtime:d}})},setAll(r){e(i=>{var u;const a={},l={};for(const{id:d,value:h,...m}of r)a[d]=Wm(d,m,i.configs[d]),l[d]={value:h??((u=i.runtime[d])==null?void 0:u.value)??0};return{configs:a,runtime:l}})},clear(){e({configs:{},runtime:{}})}})),r2="PSHudPositioning";function Aw(){try{const e=localStorage.getItem(r2);if(!e)return{elements:{},gaugeOverrides:{}};const n=JSON.parse(e);return"elements"in n||"gaugeOverrides"in n?{elements:n.elements??{},gaugeOverrides:n.gaugeOverrides??{}}:{elements:n,gaugeOverrides:{}}}catch{return{elements:{},gaugeOverrides:{}}}}function Tn(e,n){try{localStorage.setItem(r2,JSON.stringify({elements:e,gaugeOverrides:n}))}catch{}}const rl=()=>({dx:0,dy:0,hidden:!1}),Um=Aw(),Pe=it(e=>({active:!1,enabled:!0,permissions:{},elements:Um.elements,gaugeOverrides:Um.gaugeOverrides,toggle(){e(n=>({active:!n.active}))},move(n,r,i){e(a=>{const l={...a.elements,[n]:{...a.elements[n]??rl(),dx:r,dy:i}};return Tn(l,a.gaugeOverrides),{elements:l}})},rescale(n,r){e(i=>{const a=Math.round(Math.max(.3,Math.min(3,r))*100)/100,l={...i.elements,[n]:{...i.elements[n]??rl(),scale:a}};return Tn(l,i.gaugeOverrides),{elements:l}})},rescaleGauge(n,r){e(i=>{const a=Math.round(Math.max(.3,Math.min(3,r))*100)/100,l={...i.gaugeOverrides,[n]:{...i.gaugeOverrides[n]??{isShowing:!0},scale:a}};return Tn(i.elements,l),{gaugeOverrides:l}})},toggleHidden(n){e(r=>{const i=r.elements[n]??rl(),a={...r.elements,[n]:{...i,hidden:!i.hidden}};return Tn(a,r.gaugeOverrides),{elements:a}})},toggleVertical(n){e(r=>{const i=r.elements[n]??rl(),a={...r.elements,[n]:{...i,vertical:!i.vertical}};return Tn(a,r.gaugeOverrides),{elements:a}})},reset(n){e(r=>{const{[n]:i,...a}=r.elements;return Tn(a,r.gaugeOverrides),{elements:a}})},resetAll(){Tn({},{}),e({elements:{},gaugeOverrides:{}})},setConfig({enabled:n,elements:r}){e(i=>({enabled:n??i.enabled,permissions:r??i.permissions}))},setGaugePosition(n,r,i){e(a=>{const l={...a.gaugeOverrides,[n]:{...a.gaugeOverrides[n]??{isShowing:!0},x:r,y:i}};return Tn(a.elements,l),{gaugeOverrides:l}})},setGaugeVisibility(n,r){e(i=>{const a={...i.gaugeOverrides,[n]:{...i.gaugeOverrides[n]??{},isShowing:r}};return Tn(i.elements,a),{gaugeOverrides:a}})},resetGauge(n){e(r=>{const{[n]:i,...a}=r.gaugeOverrides;return Tn(r.elements,a),{gaugeOverrides:a}})}})),o2=it(e=>({config:null,setConfig:n=>e({config:n})})),Br=it(e=>({heading:0,streetName:"",crossingRoad:"",show:!1,isFollowCam:!0,receiveHeadingMessage:n=>e({heading:n.value??n.heading??0}),receiveCompassMessage:n=>e({heading:n.heading??0,streetName:n.streetName??"",crossingRoad:n.crossingRoad??""}),receiveCompassOpenMessage:n=>e({show:!0}),receiveCompassCloseMessage:n=>e({show:!1})})),bn=it(e=>({cash:0,bank:0,show:!1,showConstant:!1,isPlus:!1,isMinus:!1,receiveShowAccountsMessage:n=>e({show:n.show??!0,cash:n.cash??0,bank:n.bank??0}),receiveShowConstantMessage:n=>e({showConstant:!0,cash:n.cash??0,bank:n.bank??0}),receiveUpdateMessage:n=>e({show:!0,cash:n.cash??0,bank:n.bank??0,isPlus:n.plus??!1,isMinus:n.minus??!1})})),Pw="#00E699",Rf=it(e=>({accentColor:Pw,setAccentColor:n=>{/^#[0-9a-f]{6}([0-9a-f]{2})?$/i.test(n)&&e({accentColor:n})}})),Dn=it(e=>({show:!1,airspeed:0,altitude:0,verticalSpeed:0,pitch:0,roll:0,receiveShowMessage(n){e({show:n})},receiveStatusMessage(n){e(n)}})),ur=it(e=>({show:!1,speedKnots:0,rpm:0,pitch:0,roll:0,receiveShowMessage(n){e({show:n})},receiveStatusMessage(n){e(n)}})),Rw=["ring","arc","linear"];function i2(e){return e==="classic"||e==="digital"}function s2(e){return e==="ring"||e==="arc"||e==="linear"}function Iw(){try{const e=localStorage.getItem(Ig);if(!e)return{};const n=JSON.parse(e);return{theme:i2(n.theme)?n.theme:void 0,variant:s2(n.variant)?n.variant:void 0,overridden:n.overridden===!0}}catch{return{}}}function Ym(e){localStorage.setItem(Ig,JSON.stringify({theme:e.theme,variant:e.variant,overridden:e.overridden}))}const rd=Iw(),fr=it((e,n)=>({theme:rd.theme??"classic",variant:rd.variant??"ring",overridden:rd.overridden??!1,setConfig:r=>{if(n().overridden)return;const i={};i2(r.theme)&&(i.theme=r.theme),s2(r.variant)&&(i.variant=r.variant),Object.keys(i).length&&e(i)},setTheme:r=>{e({theme:r,overridden:!0}),Ym(n()),bo(async()=>{const{fetchNui:i}=await Promise.resolve().then(()=>pi);return{fetchNui:i}},void 0,import.meta.url).then(({fetchNui:i})=>i("setVehicleTheme",{theme:n().theme,variant:n().variant}))},setVariant:r=>{e({variant:r,overridden:!0}),Ym(n()),bo(async()=>{const{fetchNui:i}=await Promise.resolve().then(()=>pi);return{fetchNui:i}},void 0,import.meta.url).then(({fetchNui:i})=>i("setVehicleTheme",{theme:n().theme,variant:n().variant}))}})),a2=["pergaminho","sangue","eterno","esmeralda","geada","cinzas"],l2=["orbes","aneis","barras","cristal"],zw=["unido","separado","classico"],c2=e=>e==="classic"||e==="sobrenatural",u2=e=>a2.includes(e),d2=e=>l2.includes(e),f2=e=>zw.includes(e);function Ow(){try{const e=localStorage.getItem(zg);if(!e)return{};const n=JSON.parse(e);return{skin:c2(n.skin)?n.skin:void 0,palette:u2(n.palette)?n.palette:void 0,vitalStyle:d2(n.vitalStyle)?n.vitalStyle:void 0,layout:f2(n.layout)?n.layout:void 0,frameless:n.frameless===!0,overridden:n.overridden===!0}}catch{return{}}}function hs(e){localStorage.setItem(zg,JSON.stringify({skin:e.skin,palette:e.palette,vitalStyle:e.vitalStyle,layout:e.layout,frameless:e.frameless,overridden:e.overridden}))}function ms(e){bo(async()=>{const{fetchNui:n}=await Promise.resolve().then(()=>pi);return{fetchNui:n}},void 0,import.meta.url).then(({fetchNui:n})=>n("setPlayerSkin",{skin:e().skin,palette:e().palette,style:e().vitalStyle,layout:e().layout,frameless:e().frameless}))}const ii=Ow(),Kt=it((e,n)=>({skin:ii.skin??"classic",palette:ii.palette??"pergaminho",vitalStyle:ii.vitalStyle??"orbes",layout:ii.layout??"classico",frameless:ii.frameless??!1,overridden:ii.overridden??!1,setConfig:r=>{if(n().overridden)return;const i={};c2(r.skin)&&(i.skin=r.skin),u2(r.palette)&&(i.palette=r.palette),d2(r.style)&&(i.vitalStyle=r.style),f2(r.layout)&&(i.layout=r.layout),typeof r.frameless=="boolean"&&(i.frameless=r.frameless),Object.keys(i).length&&e(i)},setSkin:r=>{e({skin:r,overridden:!0}),hs(n()),ms(n)},setPalette:r=>{e({palette:r,overridden:!0}),hs(n()),ms(n)},setVitalStyle:r=>{e({vitalStyle:r,overridden:!0}),hs(n()),ms(n)},setLayout:r=>{e({layout:r,overridden:!0}),hs(n()),ms(n)},setFrameless:r=>{e({frameless:r,overridden:!0}),hs(n()),ms(n)}})),gl=it(e=>({folego:100,sanidade:100,mana:100,receiveMessage:n=>e(r=>({folego:n.folego!=null?kt(n.folego):r.folego,sanidade:n.sanidade!=null?kt(n.sanidade):r.sanidade,mana:n.mana!=null?kt(n.mana):r.mana}))})),Tw={hudSettings:"HUD Settings",statusIcons:"Status Icons",generalTab:"General",customizationTab:"Customization",resetHud:"Reset HUD",resetSettings:"Reset Settings",resettingHud:"Resetting Hud...",resetHudDescription:"If your hud is acting up, give it a good ol' reset! Or you can do /resethud",resetSettingsDescriptionLine1:"If you want to reset your settings back to default; click this shiny button!",resetSettingsDescriptionLine2:"(you will have to relog for your menu to reset changes successfully)",optionsMenu:"Options",minimapVehicleCheckBoxPrimary:"Show Minimap Only in Vehicle",minimapVehicleCheckBoxSecondary:"Disabling this will always keep your minimap on your screen",compassVehicleCheckBoxPrimary:"Show Compass Only in Vehicle",compassVehicleCheckBoxSecondary:"Disabling this will always keep your compass on your screen",compassFollowCheckBoxPrimary:"Show Compass Follow Cam",compassFollowCheckBoxSecondary:"Disabling this will make it so you can no longer use your mouse to rotate the compass around",notificationsMenu:"Notifications",menuSoundEffectsEnabled:"Menu Sound Effect Enabled",resetSoundEffectsEnabled:"Reset Hud Sound Effects Enabled",guiSoundEffectsEnabled:"GUI Sound Effects Enabled",mapNotificationsEnabled:"Map Notifications Enabled",lowFuelNotificationsEnabled:"Low Fuel Alert Enabled",cinematicModeNotificationEnabled:"Cinematic Mode Notifications",statusMenu:"Status",showHealthAlways:"Show Health Always",showArmorAlways:"Show Armor Always",showHungerAlways:"Show Hunger Always",showThirstAlways:"Show Thirst Always",showStressAlways:"Show Stress Always",showOxygenAlways:"Show Oxygen Always",vehicleMenu:"Vehicle",minimapTypeCircle:"Minimap Circle",minimapTypeSquare:"Minimap Square",minimapTypeDescription:"Whether it's square or circle you desire, you have the ability to choose!",minimapEnabled:"Minimap Enabled",showEngineAlways:"Show Engine Always",showNitroAlways:"Show Nitro Always",compassMenu:"Compass",compassEnabled:"Compass Enabled",compassEnabledDescription:"Disabling this will make it so you can't see the compass navigation",showStreetNamesEnabled:"Show Street Names Enabled",showStreetNamesDescription:"Disabling this will make it so you can't see the street names / locations",showCompassPointerEnabled:"Show Compass Pointer Enabled",showCompassPointerDescription:"Disabling this will make it so you can't see your pointer index to pinpoint your exact cardinal directions",cinematicMenu:"Cinematic Mode",showCinematicBarsEnabled:"Show Cinematic Bars Enabled",statusIconsSettings:"Status Icons Settings",designMode:"Design Mode",resetStatusIconSettings:"Reset Status Icon Settings",saveChangesToServer:"Save Changes To Server",globalStatusIconsSettings:"Global Status Icons Settings",iconShape:"Icon Shape",globalSizeAndPositionSection:"Global Size & Position Section",widthSize:"Width Size",heightSize:"Height Size",ringSize:"Ring Size",showProgressOutline:"Show Progress Outline",xAxisPosition:"X-Axis Position",yAxisPosition:"Y-Axis Position",rotation:"Rotation",iconXAxisPosition:"Icon X-Axis Position",iconYAxisPosition:"Icon Y-Axis Position",iconSize:"Icon Size",xAxisCurve:"X-Axis Curve",yAxisCurve:"Y-Axis Curve",globalColorSection:"Global Color Section",progressColor:"Progress Color",progressContrast:"Progress Contrast",progressShadow:"Progress Shadow",iconColor:"Icon Color",iconContrast:"Icon Contrast",iconShadow:"Icon Shadow",outlineColor:"Outline Color",outlineContrast:"Outline Contrast",outlineShadow:"Outline Shadow",innerColor:"Inner Color",singleStatusIconSettings:"Single Status Icon Settings",iconStatusToEdit:"Icon Status To Edit",singleIconSizeAndPositionSection:"Single Icon Size & Position Section",singleIconColorSection:"Single Icon Color Section",globalStatusIconLayoutSettings:"Global Status Icon Layout Settings",iconLayout:"Icon Layout",iconState:"Icon State",betweenIconSpacing:"Between Icon Spacing",yAxisSpacing:"Y-Axis Spacing",xAxisSpacing:"X-Axis Spacing",utilityFunctions:"Utility Functions",copyProgressColorsToIconsColors:"Copy Progress Colors To Icon Colors",customizationProfiles:"Customization Profiles",addNewProfile:"Add New Profile",saveHudToProfile:"Save HUD To Profile",applyProfileToHud:"Apply Profile To HUD",deleteProfile:"Delete Profile",metricsTypeMiles:"MPH",metricsTypeKmh:"KM/H",metricsTypeDescription:"Choose your preferred unit of measurement",vehicleThemeLabel:"Vehicle HUD Theme",vehicleThemeClassic:"Classic",vehicleThemeDigital:"Digital",vehicleThemeDescription:"Switch between the classic analog speedometer and the digital cluster",vehicleThemeAdminOnly:"Only admins can change the vehicle HUD theme",vehicleSpeedoVariantLabel:"Speedometer Format",vehicleSpeedoVariantDescription:"Format of the digital speedometer: ring, arc or linear",playerSkinLabel:"Player HUD Skin",playerSkinClassic:"Classic",playerSkinSupernatural:"Supernatural",playerSkinDescription:"Switch between the classic player HUD and the supernatural skin (vitals, money, server)",playerSkinAdminOnly:"Only admins can change the player HUD skin",skinPaletteLabel:"Palette",skinStyleLabel:"Vitals Style",skinLayoutLabel:"Layout",skinFramelessLabel:"Remove backgrounds (orbs + money)",positioningMenu:"Positioning",openPositioningMode:"Open Positioning Mode",openPositioningModeDescription:"Drag, resize and hide HUD elements freely",resetAllPositions:"Reset All Positions",resetAllPositionsDescription:"Resets every element back to its default position and size",positioningModeTitle:"Positioning Mode — Drag elements to reposition them",positioningResetAll:"Reset All",positioningClose:"Done"},Gn=it(e=>({translations:Tw,setTranslations:n=>e({translations:n})}));async function _w(e){try{const r=await(await fetch(`./${e}.json`)).json();Gn.getState().setTranslations(r)}catch{console.error("Failed to load translations for locale:",e)}}function ol(e){try{localStorage.setItem(Ef,JSON.stringify({profiles:e}))}catch{}}function Dw(){try{const e=localStorage.getItem(Ef);if(!e)return[];const n=JSON.parse(e);return Array.isArray(n)?n.map(r=>({name:r.name??"Profile",savedData:r.savedData??""})):Array.isArray(n.profiles)?n.profiles:[]}catch{return[]}}const Dd=it((e,n)=>({profiles:Dw(),addNewProfile(){e(r=>{const i=[...r.profiles,{name:`Profile#${r.profiles.length+1}`,savedData:""}];return ol(i),{profiles:i}})},saveHUDToProfile(r){const i=Oe.getState(),a=jt.getState(),l=pt.getState(),u=JSON.stringify({playerStatusIconData:i,colorData:a,layoutData:l});e(d=>{const h=d.profiles.map((m,y)=>y===r?{...m,savedData:u}:m);return ol(h),{profiles:h}})},applyProfileToHud(r){const i=n().profiles[r];if(i!=null&&i.savedData)try{const{playerStatusIconData:a,colorData:l,layoutData:u}=JSON.parse(i.savedData);Oe.getState().receiveProfileData(a),jt.getState().receiveUIUpdateMessage(l.icons),pt.getState().receiveUIUpdateMessage(u)}catch{}},deleteProfile(r){e(i=>{const a=i.profiles.filter((l,u)=>u!==r);return ol(a),{profiles:a}})},renameProfile(r,i){e(a=>{const l=a.profiles.map((u,d)=>d===r?{...u,name:i}:u);return ol(l),{profiles:l}})}}));function Xm(e){const n=e.data;if(!(!n||!n.action))switch(n.action){case"baseplate":switch(n.topic){case"compassupdate":Br.getState().receiveCompassMessage(n);break;case"opencompass":Br.getState().receiveCompassOpenMessage(n);break;case"closecompass":Br.getState().receiveCompassCloseMessage(n);break}break;case"car":switch(n.topic){case"display":He.getState().receiveShowMessage(n);break;case"status":He.getState().receiveUpdateMessage(n);break;case"speed":He.getState().receiveSpeedMessage(n);break}break;case"odometer":He.getState().receiveOdometerMessage(n);break;case"externalstatus":switch(n.topic){case"buff":_d.getState().receiveBuffStatusMessage(n);break;case"enhancement":_d.getState().receiveEnhancementStatusMessage(n);break}break;case"hudtick":switch(n.topic){case"display":Oe.getState().receiveShowMessage(n);break;case"status":default:Oe.getState().receiveStatusUpdateMessage(n);break}break;case"menu":switch(n.topic){case"adminonly":Me.getState().receiveAdminMessage(n);break;case"restart":Me.getState().receiveRestartMessage();break}break;case"open":Me.getState().receiveMessage();break;case"show":bn.getState().receiveShowAccountsMessage(n);break;case"showconstant":bn.getState().receiveShowConstantMessage(n);break;case"update":Br.getState().receiveHeadingMessage(n);break;case"updatemoney":bn.getState().receiveUpdateMessage(n);break;case"updateUISettings":if(typeof n.accentColor=="string"&&Rf.getState().setAccentColor(n.accentColor),!n.icons||!n.layout||!n.colors)return;Oe.getState().receiveUIUpdateMessage(n.icons),pt.getState().receiveUIUpdateMessage(n.layout),jt.getState().receiveUIUpdateMessage(n.colors);break;case"panel":switch(n.topic){case"list":Array.isArray(n.panels)&&Ss.getState().setPanels(n.panels);break;case"add":n.panel&&Ss.getState().addPanel(n.panel);break;case"remove":n.id&&Ss.getState().removePanel(n.id);break;case"update":n.id&&n.patch&&Ss.getState().updatePanel(n.id,n.patch);break}break;case"gauge":switch(n.topic){case"set":n.id&&vo.getState().setGauge(n);break;case"value":n.id!=null&&n.value!=null&&vo.getState().updateValue(n.id,n.value);break;case"remove":n.id&&vo.getState().removeGauge(n.id);break;case"show":n.id!=null&&n.isShowing!=null&&Pe.getState().setGaugeVisibility(n.id,n.isShowing);break;case"list":Array.isArray(n.gauges)&&vo.getState().setAll(n.gauges);break;case"clear":vo.getState().clear();break}break;case"marine":switch(n.topic){case"display":ur.getState().receiveShowMessage(n.isShowing);break;case"status":ur.getState().receiveStatusMessage(n);break}break;case"aircraft":switch(n.topic){case"display":Dn.getState().receiveShowMessage(n.isShowing);break;case"status":Dn.getState().receiveStatusMessage(n);break}break;case"vitals":n.topic==="supernatural"&&gl.getState().receiveMessage(n);break;case"setLang":_w(n.lang);break;case"hudconfig":n.statusIcons&&Oe.getState().receiveHudConfig({statusIcons:n.statusIcons}),n.serverLogo&&o2.getState().setConfig(n.serverLogo),n.positioning&&Pe.getState().setConfig({enabled:n.positioning.enabled,elements:n.positioning.elements}),n.vehicleTheme&&fr.getState().setConfig(n.vehicleTheme),n.playerSkin&&Kt.getState().setConfig(n.playerSkin);break;case"positioning":switch(n.topic){case"toggle":Pe.getState().toggle();break;case"open":Pe.setState({active:!0});break;case"close":Pe.setState({active:!1});break}break}}function p2(){v.useEffect(()=>(window.addEventListener("message",Xm),()=>window.removeEventListener("message",Xm)),[])}function Lw(e){const n={};for(const[r,i]of Object.entries(e)){const{icon:a,isShowing:l,name:u,progressValue:d,...h}=i;n[r]=h}return n}function Fw(e){const n={};for(const[r,i]of Object.entries(e)){const{currentEffect:a,editableColors:l,...u}=i;n[r]=u}return n}async function $e(e,n={}){const r={method:"post",headers:{"Content-Type":"application/json; charset=UTF-8"},body:JSON.stringify(n)};try{return await(await fetch(`https://ps-hud/${e}`,r)).json()}catch{}}function h2(){const e=Oe.getState(),n=jt.getState(),r=pt.getState(),i=Lw(e.icons),a=Fw(n.icons);$e("saveUISettings",{icons:i,layout:r,colors:a})}function $w(){const e=Oe.getState(),n=jt.getState(),r=pt.getState(),i=Dd.getState();localStorage.setItem(jf,JSON.stringify({...n.icons,globalColorSettings:n.globalColorSettings})),localStorage.setItem($l,JSON.stringify({...e.icons,globalIconSettings:e.globalIconSettings,dynamicIcons:e.dynamicIcons,__iconsVersion:Cl})),localStorage.setItem(kf,JSON.stringify(r)),localStorage.setItem(Ef,JSON.stringify({profiles:i}))}const pi=Object.freeze(Object.defineProperty({__proto__:null,fetchNui:$e,saveUIDataToLocalStorage:$w,saveUIDataToServer:h2,useEventHandler:p2},Symbol.toStringTag,{value:"Module"}));function Hw(e){v.useEffect(()=>{const n=e.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i);if(!n)return;const r=parseInt(n[1],16)/255,i=parseInt(n[2],16)/255,a=parseInt(n[3],16)/255,l=Math.max(r,i,a),u=Math.min(r,i,a);let d=0,h=0;const m=(l+u)/2;if(l!==u){const b=l-u;h=m>.5?b/(2-l-u):b/(l+u),l===r?d=(i-a)/b+(i{var b;const{scope:C,children:N,...k}=x,j=((b=C==null?void 0:C[e])==null?void 0:b[h])||f,M=y.useMemo(()=>k,Object.values(k));return w.jsx(j.Provider,{value:M,children:N})};m.displayName=l+"Provider";function v(x,b){var C;const N=((C=b==null?void 0:b[e])==null?void 0:C[h])||f,k=y.useContext(N);if(k)return k;if(u!==void 0)return u;throw new Error(`\`${x}\` must be used within \`${l}\``)}return[m,v]}const a=()=>{const l=o.map(u=>y.createContext(u));return function(u){const f=(u==null?void 0:u[e])||l;return y.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return a.scopeName=e,[i,sw(a,...n)]}function sw(...e){const n=e[0];if(e.length===1)return n;const o=()=>{const i=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(a){const l=i.reduce((u,{useScope:f,scopeName:h})=>{const m=f(a)[`__scope${h}`];return{...u,...m}},{});return y.useMemo(()=>({[`__scope${n.scopeName}`]:l}),[l])}};return o.scopeName=n.scopeName,o}function Lt(e){const n=y.useRef(e);return y.useEffect(()=>{n.current=e}),y.useMemo(()=>(...o)=>{var i;return(i=n.current)==null?void 0:i.call(n,...o)},[])}var Kt=globalThis!=null&&globalThis.document?y.useLayoutEffect:()=>{};function Em(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Hr(...e){return n=>{let o=!1;const i=e.map(a=>{const l=Em(a,n);return!o&&typeof l=="function"&&(o=!0),l});if(o)return()=>{for(let a=0;a{let{children:l,...u}=i;Tg(l)&&typeof hl=="function"&&(l=hl(l._payload));const f=y.Children.toArray(l),h=f.find(dw);if(h){const m=h.props.children,v=f.map(x=>x===h?y.Children.count(m)>1?y.Children.only(null):y.isValidElement(m)?m.props.children:null:x);return w.jsx(n,{...u,ref:a,children:y.isValidElement(m)?y.cloneElement(m,void 0,v):null})}return w.jsx(n,{...u,ref:a,children:l})});return o.displayName=`${e}.Slot`,o}var cw=Lg("Slot");function uw(e){const n=y.forwardRef((o,i)=>{let{children:a,...l}=o;if(Tg(a)&&typeof hl=="function"&&(a=hl(a._payload)),y.isValidElement(a)){const u=hw(a),f=pw(l,a.props);return a.type!==y.Fragment&&(f.ref=i?Hr(i,u):u),y.cloneElement(a,f)}return y.Children.count(a)>1?y.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var fw=Symbol("radix.slottable");function dw(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===fw}function pw(e,n){const o={...n};for(const i in n){const a=e[i],l=n[i];/^on[A-Z]/.test(i)?a&&l?o[i]=(...u)=>{const f=l(...u);return a(...u),f}:a&&(o[i]=a):i==="style"?o[i]={...a,...l}:i==="className"&&(o[i]=[a,l].filter(Boolean).join(" "))}return{...e,...o}}function hw(e){var n,o;let i=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,a=i&&"isReactWarning"in i&&i.isReactWarning;return a?e.ref:(i=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,a=i&&"isReactWarning"in i&&i.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var mw=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Sn=mw.reduce((e,n)=>{const o=Lg(`Primitive.${n}`),i=y.forwardRef((a,l)=>{const{asChild:u,...f}=a,h=u?o:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),w.jsx(h,{...f,ref:l})});return i.displayName=`Primitive.${n}`,{...e,[n]:i}},{}),Fg={exports:{}},Bu={};/** + */var Gm;function Bw(){if(Gm)return gs;Gm=1;var e=ke,n=Symbol.for("react.element"),r=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,a=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function u(d,h,m){var y,x={},b=null,C=null;m!==void 0&&(b=""+m),h.key!==void 0&&(b=""+h.key),h.ref!==void 0&&(C=h.ref);for(y in h)i.call(h,y)&&!l.hasOwnProperty(y)&&(x[y]=h[y]);if(d&&d.defaultProps)for(y in h=d.defaultProps,h)x[y]===void 0&&(x[y]=h[y]);return{$$typeof:n,type:d,key:b,ref:C,props:x,_owner:a.current}}return gs.Fragment=r,gs.jsx=u,gs.jsxs=u,gs}m2.exports=Bw();var w=m2.exports;function Ww(e,n=[]){let r=[];function i(l,u){const d=v.createContext(u);d.displayName=l+"Context";const h=r.length;r=[...r,u];const m=x=>{var b;const{scope:C,children:N,...E}=x,j=((b=C==null?void 0:C[e])==null?void 0:b[h])||d,A=v.useMemo(()=>E,Object.values(E));return w.jsx(j.Provider,{value:A,children:N})};m.displayName=l+"Provider";function y(x,b){var C;const N=((C=b==null?void 0:b[e])==null?void 0:C[h])||d,E=v.useContext(N);if(E)return E;if(u!==void 0)return u;throw new Error(`\`${x}\` must be used within \`${l}\``)}return[m,y]}const a=()=>{const l=r.map(u=>v.createContext(u));return function(u){const d=(u==null?void 0:u[e])||l;return v.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return a.scopeName=e,[i,Uw(a,...n)]}function Uw(...e){const n=e[0];if(e.length===1)return n;const r=()=>{const i=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(a){const l=i.reduce((u,{useScope:d,scopeName:h})=>{const m=d(a)[`__scope${h}`];return{...u,...m}},{});return v.useMemo(()=>({[`__scope${n.scopeName}`]:l}),[l])}};return r.scopeName=n.scopeName,r}function Ht(e){const n=v.useRef(e);return v.useEffect(()=>{n.current=e}),v.useMemo(()=>(...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},[])}var Zt=globalThis!=null&&globalThis.document?v.useLayoutEffect:()=>{};function Km(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Yr(...e){return n=>{let r=!1;const i=e.map(a=>{const l=Km(a,n);return!r&&typeof l=="function"&&(r=!0),l});if(r)return()=>{for(let a=0;a{let{children:l,...u}=i;g2(l)&&typeof El=="function"&&(l=El(l._payload));const d=v.Children.toArray(l),h=d.find(Qw);if(h){const m=h.props.children,y=d.map(x=>x===h?v.Children.count(m)>1?v.Children.only(null):v.isValidElement(m)?m.props.children:null:x);return w.jsx(n,{...u,ref:a,children:v.isValidElement(m)?v.cloneElement(m,void 0,y):null})}return w.jsx(n,{...u,ref:a,children:l})});return r.displayName=`${e}.Slot`,r}var Gw=y2("Slot");function Kw(e){const n=v.forwardRef((r,i)=>{let{children:a,...l}=r;if(g2(a)&&typeof El=="function"&&(a=El(a._payload)),v.isValidElement(a)){const u=Zw(a),d=Jw(l,a.props);return a.type!==v.Fragment&&(d.ref=i?Yr(i,u):u),v.cloneElement(a,d)}return v.Children.count(a)>1?v.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var qw=Symbol("radix.slottable");function Qw(e){return v.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===qw}function Jw(e,n){const r={...n};for(const i in n){const a=e[i],l=n[i];/^on[A-Z]/.test(i)?a&&l?r[i]=(...u)=>{const d=l(...u);return a(...u),d}:a&&(r[i]=a):i==="style"?r[i]={...a,...l}:i==="className"&&(r[i]=[a,l].filter(Boolean).join(" "))}return{...e,...r}}function Zw(e){var n,r;let i=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,a=i&&"isReactWarning"in i&&i.isReactWarning;return a?e.ref:(i=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,a=i&&"isReactWarning"in i&&i.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var eb=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],En=eb.reduce((e,n)=>{const r=y2(`Primitive.${n}`),i=v.forwardRef((a,l)=>{const{asChild:u,...d}=a,h=u?r:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),w.jsx(h,{...d,ref:l})});return i.displayName=`Primitive.${n}`,{...e,[n]:i}},{}),v2={exports:{}},od={};/** * @license React * use-sync-external-store-shim.production.js * @@ -57,220 +57,220 @@ Error generating stack: `+p.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Nm;function gw(){if(Nm)return Bu;Nm=1;var e=ke;function n(x,b){return x===b&&(x!==0||1/x===1/b)||x!==x&&b!==b}var o=typeof Object.is=="function"?Object.is:n,i=e.useState,a=e.useEffect,l=e.useLayoutEffect,u=e.useDebugValue;function f(x,b){var C=b(),N=i({inst:{value:C,getSnapshot:b}}),k=N[0].inst,j=N[1];return l(function(){k.value=C,k.getSnapshot=b,h(k)&&j({inst:k})},[x,C,b]),a(function(){return h(k)&&j({inst:k}),x(function(){h(k)&&j({inst:k})})},[x]),u(C),C}function h(x){var b=x.getSnapshot;x=x.value;try{var C=b();return!o(x,C)}catch{return!0}}function m(x,b){return b()}var v=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:f;return Bu.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:v,Bu}Fg.exports=gw();var vw=Fg.exports;function yw(){return vw.useSyncExternalStore(xw,()=>!0,()=>!1)}function xw(){return()=>{}}var gd="Avatar",[ww]=iw(gd),[bw,$g]=ww(gd),Hg=y.forwardRef((e,n)=>{const{__scopeAvatar:o,...i}=e,[a,l]=y.useState("idle");return w.jsx(bw,{scope:o,imageLoadingStatus:a,onImageLoadingStatusChange:l,children:w.jsx(Sn.span,{...i,ref:n})})});Hg.displayName=gd;var Vg="AvatarImage",Wg=y.forwardRef((e,n)=>{const{__scopeAvatar:o,src:i,onLoadingStatusChange:a=()=>{},...l}=e,u=$g(Vg,o),f=Sw(i,l),h=Lt(m=>{a(m),u.onImageLoadingStatusChange(m)});return Kt(()=>{f!=="idle"&&h(f)},[f,h]),f==="loaded"?w.jsx(Sn.img,{...l,ref:n,src:i}):null});Wg.displayName=Vg;var Bg="AvatarFallback",Ug=y.forwardRef((e,n)=>{const{__scopeAvatar:o,delayMs:i,...a}=e,l=$g(Bg,o),[u,f]=y.useState(i===void 0);return y.useEffect(()=>{if(i!==void 0){const h=window.setTimeout(()=>f(!0),i);return()=>window.clearTimeout(h)}},[i]),u&&l.imageLoadingStatus!=="loaded"?w.jsx(Sn.span,{...a,ref:n}):null});Ug.displayName=Bg;function Mm(e,n){return e?n?(e.src!==n&&(e.src=n),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function Sw(e,{referrerPolicy:n,crossOrigin:o}){const i=yw(),a=y.useRef(null),l=i?(a.current||(a.current=new window.Image),a.current):null,[u,f]=y.useState(()=>Mm(l,e));return Kt(()=>{f(Mm(l,e))},[l,e]),Kt(()=>{const h=x=>()=>{f(x)};if(!l)return;const m=h("loaded"),v=h("error");return l.addEventListener("load",m),l.addEventListener("error",v),n&&(l.referrerPolicy=n),typeof o=="string"&&(l.crossOrigin=o),()=>{l.removeEventListener("load",m),l.removeEventListener("error",v)}},[l,o,n]),u}var Yg=Hg,Xg=Wg,Gg=Ug;function Kg(e){var n,o,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(n=0;n{const n=jw(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:a=>{const l=a.split(vd);return l[0]===""&&l.length!==1&&l.shift(),Qg(l,n)||kw(a)},getConflictingClassGroupIds:(a,l)=>{const u=o[a]||[];return l&&i[a]?[...u,...i[a]]:u}}},Qg=(e,n)=>{var o;if(e.length===0)return n.classGroupId;const i=e[0],a=n.nextPart.get(i),l=a?Qg(e.slice(1),a):void 0;if(l)return l;if(n.validators.length===0)return;const u=e.join(vd);return(o=n.validators.find(({validator:f})=>f(u)))==null?void 0:o.classGroupId},Am=/^\[(.+)\]$/,kw=e=>{if(Am.test(e)){const n=Am.exec(e)[1],o=n==null?void 0:n.substring(0,n.indexOf(":"));if(o)return"arbitrary.."+o}},jw=e=>{const{theme:n,prefix:o}=e,i={nextPart:new Map,validators:[]};return Nw(Object.entries(e.classGroups),o).forEach(([a,l])=>{kf(l,i,a,n)}),i},kf=(e,n,o,i)=>{e.forEach(a=>{if(typeof a=="string"){const l=a===""?n:Pm(n,a);l.classGroupId=o;return}if(typeof a=="function"){if(Ew(a)){kf(a(i),n,o,i);return}n.validators.push({validator:a,classGroupId:o});return}Object.entries(a).forEach(([l,u])=>{kf(u,Pm(n,l),o,i)})})},Pm=(e,n)=>{let o=e;return n.split(vd).forEach(i=>{o.nextPart.has(i)||o.nextPart.set(i,{nextPart:new Map,validators:[]}),o=o.nextPart.get(i)}),o},Ew=e=>e.isThemeGetter,Nw=(e,n)=>n?e.map(([o,i])=>{const a=i.map(l=>typeof l=="string"?n+l:typeof l=="object"?Object.fromEntries(Object.entries(l).map(([u,f])=>[n+u,f])):l);return[o,a]}):e,Mw=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,o=new Map,i=new Map;const a=(l,u)=>{o.set(l,u),n++,n>e&&(n=0,i=o,o=new Map)};return{get(l){let u=o.get(l);if(u!==void 0)return u;if((u=i.get(l))!==void 0)return a(l,u),u},set(l,u){o.has(l)?o.set(l,u):a(l,u)}}},Zg="!",Aw=e=>{const{separator:n,experimentalParseClassName:o}=e,i=n.length===1,a=n[0],l=n.length,u=f=>{const h=[];let m=0,v=0,x;for(let j=0;jv?x-v:void 0;return{modifiers:h,hasImportantModifier:C,baseClassName:N,maybePostfixModifierPosition:k}};return o?f=>o({className:f,parseClassName:u}):u},Pw=e=>{if(e.length<=1)return e;const n=[];let o=[];return e.forEach(i=>{i[0]==="["?(n.push(...o.sort(),i),o=[]):o.push(i)}),n.push(...o.sort()),n},Rw=e=>({cache:Mw(e.cacheSize),parseClassName:Aw(e),...Cw(e)}),Iw=/\s+/,zw=(e,n)=>{const{parseClassName:o,getClassGroupId:i,getConflictingClassGroupIds:a}=n,l=[],u=e.trim().split(Iw);let f="";for(let h=u.length-1;h>=0;h-=1){const m=u[h],{modifiers:v,hasImportantModifier:x,baseClassName:b,maybePostfixModifierPosition:C}=o(m);let N=!!C,k=i(N?b.substring(0,C):b);if(!k){if(!N){f=m+(f.length>0?" "+f:f);continue}if(k=i(b),!k){f=m+(f.length>0?" "+f:f);continue}N=!1}const j=Pw(v).join(":"),M=x?j+Zg:j,E=M+k;if(l.includes(E))continue;l.push(E);const R=a(k,N);for(let z=0;z0?" "+f:f)}return f};function Ow(){let e=0,n,o,i="";for(;e{if(typeof e=="string")return e;let n,o="";for(let i=0;ix(v),e());return o=Rw(m),i=o.cache.get,a=o.cache.set,l=f,f(h)}function f(h){const m=i(h);if(m)return m;const v=zw(h,o);return a(h,v),v}return function(){return l(Ow.apply(null,arguments))}}const We=e=>{const n=o=>o[e]||[];return n.isThemeGetter=!0,n},e2=/^\[(?:([a-z-]+):)?(.+)\]$/i,Dw=/^\d+\/\d+$/,Tw=new Set(["px","full","screen"]),Lw=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Fw=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,$w=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Hw=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Vw=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,nr=e=>oi(e)||Tw.has(e)||Dw.test(e),zr=e=>pi(e,"length",qw),oi=e=>!!e&&!Number.isNaN(Number(e)),Uu=e=>pi(e,"number",oi),os=e=>!!e&&Number.isInteger(Number(e)),Ww=e=>e.endsWith("%")&&oi(e.slice(0,-1)),Ce=e=>e2.test(e),Or=e=>Lw.test(e),Bw=new Set(["length","size","percentage"]),Uw=e=>pi(e,Bw,t2),Yw=e=>pi(e,"position",t2),Xw=new Set(["image","url"]),Gw=e=>pi(e,Xw,Zw),Kw=e=>pi(e,"",Qw),is=()=>!0,pi=(e,n,o)=>{const i=e2.exec(e);return i?i[1]?typeof n=="string"?i[1]===n:n.has(i[1]):o(i[2]):!1},qw=e=>Fw.test(e)&&!$w.test(e),t2=()=>!1,Qw=e=>Hw.test(e),Zw=e=>Vw.test(e),Jw=()=>{const e=We("colors"),n=We("spacing"),o=We("blur"),i=We("brightness"),a=We("borderColor"),l=We("borderRadius"),u=We("borderSpacing"),f=We("borderWidth"),h=We("contrast"),m=We("grayscale"),v=We("hueRotate"),x=We("invert"),b=We("gap"),C=We("gradientColorStops"),N=We("gradientColorStopPositions"),k=We("inset"),j=We("margin"),M=We("opacity"),E=We("padding"),R=We("saturate"),z=We("scale"),L=We("sepia"),A=We("skew"),D=We("space"),F=We("translate"),W=()=>["auto","contain","none"],J=()=>["auto","hidden","clip","visible","scroll"],oe=()=>["auto",Ce,n],B=()=>[Ce,n],de=()=>["",nr,zr],ie=()=>["auto",oi,Ce],ue=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],ae=()=>["solid","dashed","dotted","double","none"],fe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],U=()=>["start","end","center","between","around","evenly","stretch"],Q=()=>["","0",Ce],Z=()=>["auto","avoid","all","avoid-page","page","left","right","column"],_=()=>[oi,Ce];return{cacheSize:500,separator:":",theme:{colors:[is],spacing:[nr,zr],blur:["none","",Or,Ce],brightness:_(),borderColor:[e],borderRadius:["none","","full",Or,Ce],borderSpacing:B(),borderWidth:de(),contrast:_(),grayscale:Q(),hueRotate:_(),invert:Q(),gap:B(),gradientColorStops:[e],gradientColorStopPositions:[Ww,zr],inset:oe(),margin:oe(),opacity:_(),padding:B(),saturate:_(),scale:_(),sepia:Q(),skew:_(),space:B(),translate:B()},classGroups:{aspect:[{aspect:["auto","square","video",Ce]}],container:["container"],columns:[{columns:[Or]}],"break-after":[{"break-after":Z()}],"break-before":[{"break-before":Z()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ue(),Ce]}],overflow:[{overflow:J()}],"overflow-x":[{"overflow-x":J()}],"overflow-y":[{"overflow-y":J()}],overscroll:[{overscroll:W()}],"overscroll-x":[{"overscroll-x":W()}],"overscroll-y":[{"overscroll-y":W()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[k]}],"inset-x":[{"inset-x":[k]}],"inset-y":[{"inset-y":[k]}],start:[{start:[k]}],end:[{end:[k]}],top:[{top:[k]}],right:[{right:[k]}],bottom:[{bottom:[k]}],left:[{left:[k]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",os,Ce]}],basis:[{basis:oe()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Ce]}],grow:[{grow:Q()}],shrink:[{shrink:Q()}],order:[{order:["first","last","none",os,Ce]}],"grid-cols":[{"grid-cols":[is]}],"col-start-end":[{col:["auto",{span:["full",os,Ce]},Ce]}],"col-start":[{"col-start":ie()}],"col-end":[{"col-end":ie()}],"grid-rows":[{"grid-rows":[is]}],"row-start-end":[{row:["auto",{span:[os,Ce]},Ce]}],"row-start":[{"row-start":ie()}],"row-end":[{"row-end":ie()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Ce]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Ce]}],gap:[{gap:[b]}],"gap-x":[{"gap-x":[b]}],"gap-y":[{"gap-y":[b]}],"justify-content":[{justify:["normal",...U()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...U(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...U(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[E]}],px:[{px:[E]}],py:[{py:[E]}],ps:[{ps:[E]}],pe:[{pe:[E]}],pt:[{pt:[E]}],pr:[{pr:[E]}],pb:[{pb:[E]}],pl:[{pl:[E]}],m:[{m:[j]}],mx:[{mx:[j]}],my:[{my:[j]}],ms:[{ms:[j]}],me:[{me:[j]}],mt:[{mt:[j]}],mr:[{mr:[j]}],mb:[{mb:[j]}],ml:[{ml:[j]}],"space-x":[{"space-x":[D]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[D]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Ce,n]}],"min-w":[{"min-w":[Ce,n,"min","max","fit"]}],"max-w":[{"max-w":[Ce,n,"none","full","min","max","fit","prose",{screen:[Or]},Or]}],h:[{h:[Ce,n,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Ce,n,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Ce,n,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Ce,n,"auto","min","max","fit"]}],"font-size":[{text:["base",Or,zr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Uu]}],"font-family":[{font:[is]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Ce]}],"line-clamp":[{"line-clamp":["none",oi,Uu]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",nr,Ce]}],"list-image":[{"list-image":["none",Ce]}],"list-style-type":[{list:["none","disc","decimal",Ce]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[M]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[M]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ae(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",nr,zr]}],"underline-offset":[{"underline-offset":["auto",nr,Ce]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:B()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[M]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ue(),Yw]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Uw]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Gw]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[N]}],"gradient-via-pos":[{via:[N]}],"gradient-to-pos":[{to:[N]}],"gradient-from":[{from:[C]}],"gradient-via":[{via:[C]}],"gradient-to":[{to:[C]}],rounded:[{rounded:[l]}],"rounded-s":[{"rounded-s":[l]}],"rounded-e":[{"rounded-e":[l]}],"rounded-t":[{"rounded-t":[l]}],"rounded-r":[{"rounded-r":[l]}],"rounded-b":[{"rounded-b":[l]}],"rounded-l":[{"rounded-l":[l]}],"rounded-ss":[{"rounded-ss":[l]}],"rounded-se":[{"rounded-se":[l]}],"rounded-ee":[{"rounded-ee":[l]}],"rounded-es":[{"rounded-es":[l]}],"rounded-tl":[{"rounded-tl":[l]}],"rounded-tr":[{"rounded-tr":[l]}],"rounded-br":[{"rounded-br":[l]}],"rounded-bl":[{"rounded-bl":[l]}],"border-w":[{border:[f]}],"border-w-x":[{"border-x":[f]}],"border-w-y":[{"border-y":[f]}],"border-w-s":[{"border-s":[f]}],"border-w-e":[{"border-e":[f]}],"border-w-t":[{"border-t":[f]}],"border-w-r":[{"border-r":[f]}],"border-w-b":[{"border-b":[f]}],"border-w-l":[{"border-l":[f]}],"border-opacity":[{"border-opacity":[M]}],"border-style":[{border:[...ae(),"hidden"]}],"divide-x":[{"divide-x":[f]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[f]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[M]}],"divide-style":[{divide:ae()}],"border-color":[{border:[a]}],"border-color-x":[{"border-x":[a]}],"border-color-y":[{"border-y":[a]}],"border-color-s":[{"border-s":[a]}],"border-color-e":[{"border-e":[a]}],"border-color-t":[{"border-t":[a]}],"border-color-r":[{"border-r":[a]}],"border-color-b":[{"border-b":[a]}],"border-color-l":[{"border-l":[a]}],"divide-color":[{divide:[a]}],"outline-style":[{outline:["",...ae()]}],"outline-offset":[{"outline-offset":[nr,Ce]}],"outline-w":[{outline:[nr,zr]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:de()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[M]}],"ring-offset-w":[{"ring-offset":[nr,zr]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Or,Kw]}],"shadow-color":[{shadow:[is]}],opacity:[{opacity:[M]}],"mix-blend":[{"mix-blend":[...fe(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":fe()}],filter:[{filter:["","none"]}],blur:[{blur:[o]}],brightness:[{brightness:[i]}],contrast:[{contrast:[h]}],"drop-shadow":[{"drop-shadow":["","none",Or,Ce]}],grayscale:[{grayscale:[m]}],"hue-rotate":[{"hue-rotate":[v]}],invert:[{invert:[x]}],saturate:[{saturate:[R]}],sepia:[{sepia:[L]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[o]}],"backdrop-brightness":[{"backdrop-brightness":[i]}],"backdrop-contrast":[{"backdrop-contrast":[h]}],"backdrop-grayscale":[{"backdrop-grayscale":[m]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[v]}],"backdrop-invert":[{"backdrop-invert":[x]}],"backdrop-opacity":[{"backdrop-opacity":[M]}],"backdrop-saturate":[{"backdrop-saturate":[R]}],"backdrop-sepia":[{"backdrop-sepia":[L]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[u]}],"border-spacing-x":[{"border-spacing-x":[u]}],"border-spacing-y":[{"border-spacing-y":[u]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Ce]}],duration:[{duration:_()}],ease:[{ease:["linear","in","out","in-out",Ce]}],delay:[{delay:_()}],animate:[{animate:["none","spin","ping","pulse","bounce",Ce]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[z]}],"scale-x":[{"scale-x":[z]}],"scale-y":[{"scale-y":[z]}],rotate:[{rotate:[os,Ce]}],"translate-x":[{"translate-x":[F]}],"translate-y":[{"translate-y":[F]}],"skew-x":[{"skew-x":[A]}],"skew-y":[{"skew-y":[A]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Ce]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ce]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":B()}],"scroll-mx":[{"scroll-mx":B()}],"scroll-my":[{"scroll-my":B()}],"scroll-ms":[{"scroll-ms":B()}],"scroll-me":[{"scroll-me":B()}],"scroll-mt":[{"scroll-mt":B()}],"scroll-mr":[{"scroll-mr":B()}],"scroll-mb":[{"scroll-mb":B()}],"scroll-ml":[{"scroll-ml":B()}],"scroll-p":[{"scroll-p":B()}],"scroll-px":[{"scroll-px":B()}],"scroll-py":[{"scroll-py":B()}],"scroll-ps":[{"scroll-ps":B()}],"scroll-pe":[{"scroll-pe":B()}],"scroll-pt":[{"scroll-pt":B()}],"scroll-pr":[{"scroll-pr":B()}],"scroll-pb":[{"scroll-pb":B()}],"scroll-pl":[{"scroll-pl":B()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ce]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[nr,zr,Uu]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},eb=_w(Jw);function Se(...e){return eb(qg(e))}const tb=y.forwardRef(({className:e,...n},o)=>w.jsx(Yg,{ref:o,className:Se("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...n}));tb.displayName=Yg.displayName;const nb=y.forwardRef(({className:e,...n},o)=>w.jsx(Xg,{ref:o,className:Se("aspect-square h-full w-full",e),...n}));nb.displayName=Xg.displayName;const rb=y.forwardRef(({className:e,...n},o)=>w.jsx(Gg,{ref:o,className:Se("flex h-full w-full items-center justify-center rounded-full bg-muted text-muted-foreground text-sm font-medium",e),...n}));rb.displayName=Gg.displayName;const Rm=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Im=qg,n2=(e,n)=>o=>{var i;if((n==null?void 0:n.variants)==null)return Im(e,o==null?void 0:o.class,o==null?void 0:o.className);const{variants:a,defaultVariants:l}=n,u=Object.keys(a).map(m=>{const v=o==null?void 0:o[m],x=l==null?void 0:l[m];if(v===null)return null;const b=Rm(v)||Rm(x);return a[m][b]}),f=o&&Object.entries(o).reduce((m,v)=>{let[x,b]=v;return b===void 0||(m[x]=b),m},{}),h=n==null||(i=n.compoundVariants)===null||i===void 0?void 0:i.reduce((m,v)=>{let{class:x,className:b,...C}=v;return Object.entries(C).every(N=>{let[k,j]=N;return Array.isArray(j)?j.includes({...l,...f}[k]):{...l,...f}[k]===j})?[...m,x,b]:m},[]);return Im(e,u,h,o==null?void 0:o.class,o==null?void 0:o.className)},ob=n2("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function zm({className:e,variant:n,...o}){return w.jsx("div",{className:Se(ob({variant:n}),e),...o})}const ib=n2("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}});/** + */var qm;function tb(){if(qm)return od;qm=1;var e=ke;function n(x,b){return x===b&&(x!==0||1/x===1/b)||x!==x&&b!==b}var r=typeof Object.is=="function"?Object.is:n,i=e.useState,a=e.useEffect,l=e.useLayoutEffect,u=e.useDebugValue;function d(x,b){var C=b(),N=i({inst:{value:C,getSnapshot:b}}),E=N[0].inst,j=N[1];return l(function(){E.value=C,E.getSnapshot=b,h(E)&&j({inst:E})},[x,C,b]),a(function(){return h(E)&&j({inst:E}),x(function(){h(E)&&j({inst:E})})},[x]),u(C),C}function h(x){var b=x.getSnapshot;x=x.value;try{var C=b();return!r(x,C)}catch{return!0}}function m(x,b){return b()}var y=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:d;return od.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:y,od}v2.exports=tb();var nb=v2.exports;function rb(){return nb.useSyncExternalStore(ob,()=>!0,()=>!1)}function ob(){return()=>{}}var zf="Avatar",[ib]=Ww(zf),[sb,x2]=ib(zf),w2=v.forwardRef((e,n)=>{const{__scopeAvatar:r,...i}=e,[a,l]=v.useState("idle");return w.jsx(sb,{scope:r,imageLoadingStatus:a,onImageLoadingStatusChange:l,children:w.jsx(En.span,{...i,ref:n})})});w2.displayName=zf;var b2="AvatarImage",S2=v.forwardRef((e,n)=>{const{__scopeAvatar:r,src:i,onLoadingStatusChange:a=()=>{},...l}=e,u=x2(b2,r),d=ab(i,l),h=Ht(m=>{a(m),u.onImageLoadingStatusChange(m)});return Zt(()=>{d!=="idle"&&h(d)},[d,h]),d==="loaded"?w.jsx(En.img,{...l,ref:n,src:i}):null});S2.displayName=b2;var C2="AvatarFallback",k2=v.forwardRef((e,n)=>{const{__scopeAvatar:r,delayMs:i,...a}=e,l=x2(C2,r),[u,d]=v.useState(i===void 0);return v.useEffect(()=>{if(i!==void 0){const h=window.setTimeout(()=>d(!0),i);return()=>window.clearTimeout(h)}},[i]),u&&l.imageLoadingStatus!=="loaded"?w.jsx(En.span,{...a,ref:n}):null});k2.displayName=C2;function Qm(e,n){return e?n?(e.src!==n&&(e.src=n),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function ab(e,{referrerPolicy:n,crossOrigin:r}){const i=rb(),a=v.useRef(null),l=i?(a.current||(a.current=new window.Image),a.current):null,[u,d]=v.useState(()=>Qm(l,e));return Zt(()=>{d(Qm(l,e))},[l,e]),Zt(()=>{const h=x=>()=>{d(x)};if(!l)return;const m=h("loaded"),y=h("error");return l.addEventListener("load",m),l.addEventListener("error",y),n&&(l.referrerPolicy=n),typeof r=="string"&&(l.crossOrigin=r),()=>{l.removeEventListener("load",m),l.removeEventListener("error",y)}},[l,r,n]),u}var j2=w2,E2=S2,N2=k2;function M2(e){var n,r,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(n=0;n{const n=ub(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:a=>{const l=a.split(Of);return l[0]===""&&l.length!==1&&l.shift(),P2(l,n)||cb(a)},getConflictingClassGroupIds:(a,l)=>{const u=r[a]||[];return l&&i[a]?[...u,...i[a]]:u}}},P2=(e,n)=>{var r;if(e.length===0)return n.classGroupId;const i=e[0],a=n.nextPart.get(i),l=a?P2(e.slice(1),a):void 0;if(l)return l;if(n.validators.length===0)return;const u=e.join(Of);return(r=n.validators.find(({validator:d})=>d(u)))==null?void 0:r.classGroupId},Jm=/^\[(.+)\]$/,cb=e=>{if(Jm.test(e)){const n=Jm.exec(e)[1],r=n==null?void 0:n.substring(0,n.indexOf(":"));if(r)return"arbitrary.."+r}},ub=e=>{const{theme:n,prefix:r}=e,i={nextPart:new Map,validators:[]};return fb(Object.entries(e.classGroups),r).forEach(([a,l])=>{Ld(l,i,a,n)}),i},Ld=(e,n,r,i)=>{e.forEach(a=>{if(typeof a=="string"){const l=a===""?n:Zm(n,a);l.classGroupId=r;return}if(typeof a=="function"){if(db(a)){Ld(a(i),n,r,i);return}n.validators.push({validator:a,classGroupId:r});return}Object.entries(a).forEach(([l,u])=>{Ld(u,Zm(n,l),r,i)})})},Zm=(e,n)=>{let r=e;return n.split(Of).forEach(i=>{r.nextPart.has(i)||r.nextPart.set(i,{nextPart:new Map,validators:[]}),r=r.nextPart.get(i)}),r},db=e=>e.isThemeGetter,fb=(e,n)=>n?e.map(([r,i])=>{const a=i.map(l=>typeof l=="string"?n+l:typeof l=="object"?Object.fromEntries(Object.entries(l).map(([u,d])=>[n+u,d])):l);return[r,a]}):e,pb=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,r=new Map,i=new Map;const a=(l,u)=>{r.set(l,u),n++,n>e&&(n=0,i=r,r=new Map)};return{get(l){let u=r.get(l);if(u!==void 0)return u;if((u=i.get(l))!==void 0)return a(l,u),u},set(l,u){r.has(l)?r.set(l,u):a(l,u)}}},R2="!",hb=e=>{const{separator:n,experimentalParseClassName:r}=e,i=n.length===1,a=n[0],l=n.length,u=d=>{const h=[];let m=0,y=0,x;for(let j=0;jy?x-y:void 0;return{modifiers:h,hasImportantModifier:C,baseClassName:N,maybePostfixModifierPosition:E}};return r?d=>r({className:d,parseClassName:u}):u},mb=e=>{if(e.length<=1)return e;const n=[];let r=[];return e.forEach(i=>{i[0]==="["?(n.push(...r.sort(),i),r=[]):r.push(i)}),n.push(...r.sort()),n},gb=e=>({cache:pb(e.cacheSize),parseClassName:hb(e),...lb(e)}),yb=/\s+/,vb=(e,n)=>{const{parseClassName:r,getClassGroupId:i,getConflictingClassGroupIds:a}=n,l=[],u=e.trim().split(yb);let d="";for(let h=u.length-1;h>=0;h-=1){const m=u[h],{modifiers:y,hasImportantModifier:x,baseClassName:b,maybePostfixModifierPosition:C}=r(m);let N=!!C,E=i(N?b.substring(0,C):b);if(!E){if(!N){d=m+(d.length>0?" "+d:d);continue}if(E=i(b),!E){d=m+(d.length>0?" "+d:d);continue}N=!1}const j=mb(y).join(":"),A=x?j+R2:j,k=A+E;if(l.includes(k))continue;l.push(k);const M=a(E,N);for(let P=0;P0?" "+d:d)}return d};function xb(){let e=0,n,r,i="";for(;e{if(typeof e=="string")return e;let n,r="";for(let i=0;ix(y),e());return r=gb(m),i=r.cache.get,a=r.cache.set,l=d,d(h)}function d(h){const m=i(h);if(m)return m;const y=vb(h,r);return a(h,y),y}return function(){return l(xb.apply(null,arguments))}}const We=e=>{const n=r=>r[e]||[];return n.isThemeGetter=!0,n},z2=/^\[(?:([a-z-]+):)?(.+)\]$/i,bb=/^\d+\/\d+$/,Sb=new Set(["px","full","screen"]),Cb=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,kb=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,jb=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Eb=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Nb=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ar=e=>hi(e)||Sb.has(e)||bb.test(e),Lr=e=>ki(e,"length",Tb),hi=e=>!!e&&!Number.isNaN(Number(e)),id=e=>ki(e,"number",hi),ys=e=>!!e&&Number.isInteger(Number(e)),Mb=e=>e.endsWith("%")&&hi(e.slice(0,-1)),Ce=e=>z2.test(e),Fr=e=>Cb.test(e),Ab=new Set(["length","size","percentage"]),Pb=e=>ki(e,Ab,O2),Rb=e=>ki(e,"position",O2),Ib=new Set(["image","url"]),zb=e=>ki(e,Ib,Db),Ob=e=>ki(e,"",_b),vs=()=>!0,ki=(e,n,r)=>{const i=z2.exec(e);return i?i[1]?typeof n=="string"?i[1]===n:n.has(i[1]):r(i[2]):!1},Tb=e=>kb.test(e)&&!jb.test(e),O2=()=>!1,_b=e=>Eb.test(e),Db=e=>Nb.test(e),Lb=()=>{const e=We("colors"),n=We("spacing"),r=We("blur"),i=We("brightness"),a=We("borderColor"),l=We("borderRadius"),u=We("borderSpacing"),d=We("borderWidth"),h=We("contrast"),m=We("grayscale"),y=We("hueRotate"),x=We("invert"),b=We("gap"),C=We("gradientColorStops"),N=We("gradientColorStopPositions"),E=We("inset"),j=We("margin"),A=We("opacity"),k=We("padding"),M=We("saturate"),P=We("scale"),L=We("sepia"),H=We("skew"),_=We("space"),F=We("translate"),W=()=>["auto","contain","none"],Z=()=>["auto","hidden","clip","visible","scroll"],ie=()=>["auto",Ce,n],U=()=>[Ce,n],de=()=>["",ar,Lr],se=()=>["auto",hi,Ce],ce=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],ae=()=>["solid","dashed","dotted","double","none"],oe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Y=()=>["start","end","center","between","around","evenly","stretch"],I=()=>["","0",Ce],q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],T=()=>[hi,Ce];return{cacheSize:500,separator:":",theme:{colors:[vs],spacing:[ar,Lr],blur:["none","",Fr,Ce],brightness:T(),borderColor:[e],borderRadius:["none","","full",Fr,Ce],borderSpacing:U(),borderWidth:de(),contrast:T(),grayscale:I(),hueRotate:T(),invert:I(),gap:U(),gradientColorStops:[e],gradientColorStopPositions:[Mb,Lr],inset:ie(),margin:ie(),opacity:T(),padding:U(),saturate:T(),scale:T(),sepia:I(),skew:T(),space:U(),translate:U()},classGroups:{aspect:[{aspect:["auto","square","video",Ce]}],container:["container"],columns:[{columns:[Fr]}],"break-after":[{"break-after":q()}],"break-before":[{"break-before":q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ce(),Ce]}],overflow:[{overflow:Z()}],"overflow-x":[{"overflow-x":Z()}],"overflow-y":[{"overflow-y":Z()}],overscroll:[{overscroll:W()}],"overscroll-x":[{"overscroll-x":W()}],"overscroll-y":[{"overscroll-y":W()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[E]}],"inset-x":[{"inset-x":[E]}],"inset-y":[{"inset-y":[E]}],start:[{start:[E]}],end:[{end:[E]}],top:[{top:[E]}],right:[{right:[E]}],bottom:[{bottom:[E]}],left:[{left:[E]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",ys,Ce]}],basis:[{basis:ie()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Ce]}],grow:[{grow:I()}],shrink:[{shrink:I()}],order:[{order:["first","last","none",ys,Ce]}],"grid-cols":[{"grid-cols":[vs]}],"col-start-end":[{col:["auto",{span:["full",ys,Ce]},Ce]}],"col-start":[{"col-start":se()}],"col-end":[{"col-end":se()}],"grid-rows":[{"grid-rows":[vs]}],"row-start-end":[{row:["auto",{span:[ys,Ce]},Ce]}],"row-start":[{"row-start":se()}],"row-end":[{"row-end":se()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Ce]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Ce]}],gap:[{gap:[b]}],"gap-x":[{"gap-x":[b]}],"gap-y":[{"gap-y":[b]}],"justify-content":[{justify:["normal",...Y()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...Y(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...Y(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[k]}],px:[{px:[k]}],py:[{py:[k]}],ps:[{ps:[k]}],pe:[{pe:[k]}],pt:[{pt:[k]}],pr:[{pr:[k]}],pb:[{pb:[k]}],pl:[{pl:[k]}],m:[{m:[j]}],mx:[{mx:[j]}],my:[{my:[j]}],ms:[{ms:[j]}],me:[{me:[j]}],mt:[{mt:[j]}],mr:[{mr:[j]}],mb:[{mb:[j]}],ml:[{ml:[j]}],"space-x":[{"space-x":[_]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[_]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Ce,n]}],"min-w":[{"min-w":[Ce,n,"min","max","fit"]}],"max-w":[{"max-w":[Ce,n,"none","full","min","max","fit","prose",{screen:[Fr]},Fr]}],h:[{h:[Ce,n,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Ce,n,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Ce,n,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Ce,n,"auto","min","max","fit"]}],"font-size":[{text:["base",Fr,Lr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",id]}],"font-family":[{font:[vs]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Ce]}],"line-clamp":[{"line-clamp":["none",hi,id]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",ar,Ce]}],"list-image":[{"list-image":["none",Ce]}],"list-style-type":[{list:["none","disc","decimal",Ce]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[A]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[A]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ae(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",ar,Lr]}],"underline-offset":[{"underline-offset":["auto",ar,Ce]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:U()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[A]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ce(),Rb]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Pb]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},zb]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[N]}],"gradient-via-pos":[{via:[N]}],"gradient-to-pos":[{to:[N]}],"gradient-from":[{from:[C]}],"gradient-via":[{via:[C]}],"gradient-to":[{to:[C]}],rounded:[{rounded:[l]}],"rounded-s":[{"rounded-s":[l]}],"rounded-e":[{"rounded-e":[l]}],"rounded-t":[{"rounded-t":[l]}],"rounded-r":[{"rounded-r":[l]}],"rounded-b":[{"rounded-b":[l]}],"rounded-l":[{"rounded-l":[l]}],"rounded-ss":[{"rounded-ss":[l]}],"rounded-se":[{"rounded-se":[l]}],"rounded-ee":[{"rounded-ee":[l]}],"rounded-es":[{"rounded-es":[l]}],"rounded-tl":[{"rounded-tl":[l]}],"rounded-tr":[{"rounded-tr":[l]}],"rounded-br":[{"rounded-br":[l]}],"rounded-bl":[{"rounded-bl":[l]}],"border-w":[{border:[d]}],"border-w-x":[{"border-x":[d]}],"border-w-y":[{"border-y":[d]}],"border-w-s":[{"border-s":[d]}],"border-w-e":[{"border-e":[d]}],"border-w-t":[{"border-t":[d]}],"border-w-r":[{"border-r":[d]}],"border-w-b":[{"border-b":[d]}],"border-w-l":[{"border-l":[d]}],"border-opacity":[{"border-opacity":[A]}],"border-style":[{border:[...ae(),"hidden"]}],"divide-x":[{"divide-x":[d]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[d]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[A]}],"divide-style":[{divide:ae()}],"border-color":[{border:[a]}],"border-color-x":[{"border-x":[a]}],"border-color-y":[{"border-y":[a]}],"border-color-s":[{"border-s":[a]}],"border-color-e":[{"border-e":[a]}],"border-color-t":[{"border-t":[a]}],"border-color-r":[{"border-r":[a]}],"border-color-b":[{"border-b":[a]}],"border-color-l":[{"border-l":[a]}],"divide-color":[{divide:[a]}],"outline-style":[{outline:["",...ae()]}],"outline-offset":[{"outline-offset":[ar,Ce]}],"outline-w":[{outline:[ar,Lr]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:de()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[A]}],"ring-offset-w":[{"ring-offset":[ar,Lr]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Fr,Ob]}],"shadow-color":[{shadow:[vs]}],opacity:[{opacity:[A]}],"mix-blend":[{"mix-blend":[...oe(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":oe()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[i]}],contrast:[{contrast:[h]}],"drop-shadow":[{"drop-shadow":["","none",Fr,Ce]}],grayscale:[{grayscale:[m]}],"hue-rotate":[{"hue-rotate":[y]}],invert:[{invert:[x]}],saturate:[{saturate:[M]}],sepia:[{sepia:[L]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[i]}],"backdrop-contrast":[{"backdrop-contrast":[h]}],"backdrop-grayscale":[{"backdrop-grayscale":[m]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[y]}],"backdrop-invert":[{"backdrop-invert":[x]}],"backdrop-opacity":[{"backdrop-opacity":[A]}],"backdrop-saturate":[{"backdrop-saturate":[M]}],"backdrop-sepia":[{"backdrop-sepia":[L]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[u]}],"border-spacing-x":[{"border-spacing-x":[u]}],"border-spacing-y":[{"border-spacing-y":[u]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Ce]}],duration:[{duration:T()}],ease:[{ease:["linear","in","out","in-out",Ce]}],delay:[{delay:T()}],animate:[{animate:["none","spin","ping","pulse","bounce",Ce]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[P]}],"scale-x":[{"scale-x":[P]}],"scale-y":[{"scale-y":[P]}],rotate:[{rotate:[ys,Ce]}],"translate-x":[{"translate-x":[F]}],"translate-y":[{"translate-y":[F]}],"skew-x":[{"skew-x":[H]}],"skew-y":[{"skew-y":[H]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Ce]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ce]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":U()}],"scroll-mx":[{"scroll-mx":U()}],"scroll-my":[{"scroll-my":U()}],"scroll-ms":[{"scroll-ms":U()}],"scroll-me":[{"scroll-me":U()}],"scroll-mt":[{"scroll-mt":U()}],"scroll-mr":[{"scroll-mr":U()}],"scroll-mb":[{"scroll-mb":U()}],"scroll-ml":[{"scroll-ml":U()}],"scroll-p":[{"scroll-p":U()}],"scroll-px":[{"scroll-px":U()}],"scroll-py":[{"scroll-py":U()}],"scroll-ps":[{"scroll-ps":U()}],"scroll-pe":[{"scroll-pe":U()}],"scroll-pt":[{"scroll-pt":U()}],"scroll-pr":[{"scroll-pr":U()}],"scroll-pb":[{"scroll-pb":U()}],"scroll-pl":[{"scroll-pl":U()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ce]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[ar,Lr,id]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},Fb=wb(Lb);function Se(...e){return Fb(A2(e))}const $b=v.forwardRef(({className:e,...n},r)=>w.jsx(j2,{ref:r,className:Se("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...n}));$b.displayName=j2.displayName;const Hb=v.forwardRef(({className:e,...n},r)=>w.jsx(E2,{ref:r,className:Se("aspect-square h-full w-full",e),...n}));Hb.displayName=E2.displayName;const Vb=v.forwardRef(({className:e,...n},r)=>w.jsx(N2,{ref:r,className:Se("flex h-full w-full items-center justify-center rounded-full bg-muted text-muted-foreground text-sm font-medium",e),...n}));Vb.displayName=N2.displayName;const e1=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,t1=A2,T2=(e,n)=>r=>{var i;if((n==null?void 0:n.variants)==null)return t1(e,r==null?void 0:r.class,r==null?void 0:r.className);const{variants:a,defaultVariants:l}=n,u=Object.keys(a).map(m=>{const y=r==null?void 0:r[m],x=l==null?void 0:l[m];if(y===null)return null;const b=e1(y)||e1(x);return a[m][b]}),d=r&&Object.entries(r).reduce((m,y)=>{let[x,b]=y;return b===void 0||(m[x]=b),m},{}),h=n==null||(i=n.compoundVariants)===null||i===void 0?void 0:i.reduce((m,y)=>{let{class:x,className:b,...C}=y;return Object.entries(C).every(N=>{let[E,j]=N;return Array.isArray(j)?j.includes({...l,...d}[E]):{...l,...d}[E]===j})?[...m,x,b]:m},[]);return t1(e,u,h,r==null?void 0:r.class,r==null?void 0:r.className)},Bb=T2("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function n1({className:e,variant:n,...r}){return w.jsx("div",{className:Se(Bb({variant:n}),e),...r})}const Wb=T2("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}});/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */var sb={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + */var Ub={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ab=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim(),Oe=(e,n)=>{const o=y.forwardRef(({color:i="currentColor",size:a=24,strokeWidth:l=2,absoluteStrokeWidth:u,className:f="",children:h,...m},v)=>y.createElement("svg",{ref:v,...sb,width:a,height:a,stroke:i,strokeWidth:u?Number(l)*24/Number(a):l,className:["lucide",`lucide-${ab(e)}`,f].join(" "),...m},[...n.map(([x,b])=>y.createElement(x,b)),...Array.isArray(h)?h:[h]]));return o.displayName=`${e}`,o};/** + */const Yb=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim(),Te=(e,n)=>{const r=v.forwardRef(({color:i="currentColor",size:a=24,strokeWidth:l=2,absoluteStrokeWidth:u,className:d="",children:h,...m},y)=>v.createElement("svg",{ref:y,...Ub,width:a,height:a,stroke:i,strokeWidth:u?Number(l)*24/Number(a):l,className:["lucide",`lucide-${Yb(e)}`,d].join(" "),...m},[...n.map(([x,b])=>v.createElement(x,b)),...Array.isArray(h)?h:[h]]));return r.displayName=`${e}`,r};/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("AlertCircle",[["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"}]]);/** + */Te("AlertCircle",[["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"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Beef",[["circle",{cx:"12.5",cy:"8.5",r:"2.5",key:"9738u8"}],["path",{d:"M12.5 2a6.5 6.5 0 0 0-6.22 4.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3A6.5 6.5 0 0 0 12.5 2Z",key:"o0f6za"}],["path",{d:"m18.5 6 2.19 4.5a6.48 6.48 0 0 1 .31 2 6.49 6.49 0 0 1-2.6 5.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5",key:"k7p6i0"}]]);/** + */Te("Beef",[["circle",{cx:"12.5",cy:"8.5",r:"2.5",key:"9738u8"}],["path",{d:"M12.5 2a6.5 6.5 0 0 0-6.22 4.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3A6.5 6.5 0 0 0 12.5 2Z",key:"o0f6za"}],["path",{d:"m18.5 6 2.19 4.5a6.48 6.48 0 0 1 .31 2 6.49 6.49 0 0 1-2.6 5.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5",key:"k7p6i0"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** + */Te("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/** + */Te("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const r2=Oe("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + */const _2=Te("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lb=Oe("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + */const Xb=Te("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** + */Te("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + */Te("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const o2=Oe("ChevronsUpDown",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);/** + */const D2=Te("ChevronsUpDown",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** + */Te("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Copy",[["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"}]]);/** + */Te("Copy",[["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"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("EyeOff",[["path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24",key:"1jxqfv"}],["path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68",key:"9wicm4"}],["path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61",key:"1jreej"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]);/** + */Te("EyeOff",[["path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24",key:"1jxqfv"}],["path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68",key:"9wicm4"}],["path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61",key:"1jreej"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Eye",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + */Te("Eye",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("GlassWater",[["path",{d:"M15.2 22H8.8a2 2 0 0 1-2-1.79L5 3h14l-1.81 17.21A2 2 0 0 1 15.2 22Z",key:"48rfw3"}],["path",{d:"M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0",key:"mjntcy"}]]);/** + */Te("GlassWater",[["path",{d:"M15.2 22H8.8a2 2 0 0 1-2-1.79L5 3h14l-1.81 17.21A2 2 0 0 1 15.2 22Z",key:"48rfw3"}],["path",{d:"M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0",key:"mjntcy"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/** + */Te("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]);/** + */Te("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const cb=Oe("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + */const Gb=Te("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);/** + */Te("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** + */Te("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** + */Te("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Om=Oe("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** + */const r1=Te("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Save",[["path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z",key:"1owoqh"}],["polyline",{points:"17 21 17 13 7 13 7 21",key:"1md35c"}],["polyline",{points:"7 3 7 8 15 8",key:"8nz8an"}]]);/** + */Te("Save",[["path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z",key:"1owoqh"}],["polyline",{points:"17 21 17 13 7 13 7 21",key:"1md35c"}],["polyline",{points:"7 3 7 8 15 8",key:"8nz8an"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ub=Oe("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + */const Kb=Te("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/** + */Te("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Skull",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["path",{d:"M8 20v2h8v-2",key:"ded4og"}],["path",{d:"m12.5 17-.5-1-.5 1h1z",key:"3me087"}],["path",{d:"M16 20a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20",key:"xq9p5u"}]]);/** + */Te("Skull",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["path",{d:"M8 20v2h8v-2",key:"ded4og"}],["path",{d:"m12.5 17-.5-1-.5 1h1z",key:"3me087"}],["path",{d:"M16 20a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20",key:"xq9p5u"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Sparkles",[["path",{d:"m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z",key:"17u4zn"}],["path",{d:"M5 3v4",key:"bklmnn"}],["path",{d:"M19 17v4",key:"iiml17"}],["path",{d:"M3 5h4",key:"nem4j1"}],["path",{d:"M17 19h4",key:"lbex7p"}]]);/** + */Te("Sparkles",[["path",{d:"m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z",key:"17u4zn"}],["path",{d:"M5 3v4",key:"bklmnn"}],["path",{d:"M19 17v4",key:"iiml17"}],["path",{d:"M3 5h4",key:"nem4j1"}],["path",{d:"M17 19h4",key:"lbex7p"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]);/** + */Te("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** + */Te("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/** + */Te("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const i2=Oe("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** + */const L2=Te("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** * @license lucide-react v0.344.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */Oe("Zap",[["polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2",key:"45s27k"}]]);const li=y.forwardRef(({className:e,variant:n,size:o,asChild:i=!1,isLoading:a=!1,children:l,disabled:u,...f},h)=>{const m=i?cw:"button",v=u||a;return w.jsx(m,{className:Se(ib({variant:n,size:o,className:e})),ref:h,disabled:v,...f,children:a?w.jsxs(w.Fragment,{children:[w.jsx(cb,{className:"mr-2 h-4 w-4 animate-spin"}),l]}):l})});li.displayName="MriButton";const s2=y.forwardRef(({className:e,size:n="default",leftIcon:o,rightIcon:i,error:a,...l},u)=>{const f=!!a,h=typeof a=="string"?a:null;return w.jsxs("div",{className:"w-full space-y-1",children:[w.jsxs("div",{className:"relative flex items-center",children:[o&&w.jsx("div",{className:"absolute left-3 flex items-center justify-center text-muted-foreground pointer-events-none [&>svg]:size-4",children:o}),w.jsx("input",{...l,ref:u,className:Se("w-full rounded-lg border bg-background/50 text-foreground focus:border-ring focus:outline-none placeholder:text-muted-foreground transition-colors disabled:opacity-50",n==="default"?"h-9 text-sm":"h-8 text-xs",o?"pl-9":"px-3",i?"pr-9":"px-3",f?"border-destructive focus:border-destructive":"border-input",e)}),i&&w.jsx("div",{className:"absolute right-3 flex items-center justify-center text-muted-foreground pointer-events-none [&>svg]:size-4",children:i})]}),h&&w.jsx("p",{className:"text-[10px] font-medium text-destructive px-1 animate-in fade-in slide-in-from-top-1",children:h})]})});s2.displayName="MriInput";function ws(e){const n=fb(e),o=y.forwardRef((i,a)=>{const{children:l,...u}=i,f=y.Children.toArray(l),h=f.find(pb);if(h){const m=h.props.children,v=f.map(x=>x===h?y.Children.count(m)>1?y.Children.only(null):y.isValidElement(m)?m.props.children:null:x);return w.jsx(n,{...u,ref:a,children:y.isValidElement(m)?y.cloneElement(m,void 0,v):null})}return w.jsx(n,{...u,ref:a,children:l})});return o.displayName=`${e}.Slot`,o}function fb(e){const n=y.forwardRef((o,i)=>{const{children:a,...l}=o;if(y.isValidElement(a)){const u=mb(a),f=hb(l,a.props);return a.type!==y.Fragment&&(f.ref=i?Hr(i,u):u),y.cloneElement(a,f)}return y.Children.count(a)>1?y.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var db=Symbol("radix.slottable");function pb(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===db}function hb(e,n){const o={...n};for(const i in n){const a=e[i],l=n[i];/^on[A-Z]/.test(i)?a&&l?o[i]=(...u)=>{const f=l(...u);return a(...u),f}:a&&(o[i]=a):i==="style"?o[i]={...a,...l}:i==="className"&&(o[i]=[a,l].filter(Boolean).join(" "))}return{...e,...o}}function mb(e){var n,o;let i=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,a=i&&"isReactWarning"in i&&i.isReactWarning;return a?e.ref:(i=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,a=i&&"isReactWarning"in i&&i.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var gb=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ye=gb.reduce((e,n)=>{const o=ws(`Primitive.${n}`),i=y.forwardRef((a,l)=>{const{asChild:u,...f}=a,h=u?o:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),w.jsx(h,{...f,ref:l})});return i.displayName=`Primitive.${n}`,{...e,[n]:i}},{});function vb(e,n){e&&md.flushSync(()=>e.dispatchEvent(n))}function yb(e,n){return y.useReducer((o,i)=>n[o][i]??o,e)}var Cn=e=>{const{present:n,children:o}=e,i=xb(n),a=typeof o=="function"?o({present:i.isPresent}):y.Children.only(o),l=nt(i.ref,wb(a));return typeof o=="function"||i.isPresent?y.cloneElement(a,{ref:l}):null};Cn.displayName="Presence";function xb(e){const[n,o]=y.useState(),i=y.useRef(null),a=y.useRef(e),l=y.useRef("none"),u=e?"mounted":"unmounted",[f,h]=yb(u,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const m=Ka(i.current);l.current=f==="mounted"?m:"none"},[f]),Kt(()=>{const m=i.current,v=a.current;if(v!==e){const x=l.current,b=Ka(m);e?h("MOUNT"):b==="none"||(m==null?void 0:m.display)==="none"?h("UNMOUNT"):h(v&&x!==b?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,h]),Kt(()=>{if(n){let m;const v=n.ownerDocument.defaultView??window,x=C=>{const N=Ka(i.current).includes(CSS.escape(C.animationName));if(C.target===n&&N&&(h("ANIMATION_END"),!a.current)){const k=n.style.animationFillMode;n.style.animationFillMode="forwards",m=v.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=k)})}},b=C=>{C.target===n&&(l.current=Ka(i.current))};return n.addEventListener("animationstart",b),n.addEventListener("animationcancel",x),n.addEventListener("animationend",x),()=>{v.clearTimeout(m),n.removeEventListener("animationstart",b),n.removeEventListener("animationcancel",x),n.removeEventListener("animationend",x)}}else h("ANIMATION_END")},[n,h]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:y.useCallback(m=>{i.current=m?getComputedStyle(m):null,o(m)},[])}}function Ka(e){return(e==null?void 0:e.animationName)||"none"}function wb(e){var n,o;let i=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,a=i&&"isReactWarning"in i&&i.isReactWarning;return a?e.ref:(i=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,a=i&&"isReactWarning"in i&&i.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}function bb(e,n){const o=y.createContext(n),i=l=>{const{children:u,...f}=l,h=y.useMemo(()=>f,Object.values(f));return w.jsx(o.Provider,{value:h,children:u})};i.displayName=e+"Provider";function a(l){const u=y.useContext(o);if(u)return u;if(n!==void 0)return n;throw new Error(`\`${l}\` must be used within \`${e}\``)}return[i,a]}function ko(e,n=[]){let o=[];function i(l,u){const f=y.createContext(u),h=o.length;o=[...o,u];const m=x=>{var b;const{scope:C,children:N,...k}=x,j=((b=C==null?void 0:C[e])==null?void 0:b[h])||f,M=y.useMemo(()=>k,Object.values(k));return w.jsx(j.Provider,{value:M,children:N})};m.displayName=l+"Provider";function v(x,b){var C;const N=((C=b==null?void 0:b[e])==null?void 0:C[h])||f,k=y.useContext(N);if(k)return k;if(u!==void 0)return u;throw new Error(`\`${x}\` must be used within \`${l}\``)}return[m,v]}const a=()=>{const l=o.map(u=>y.createContext(u));return function(u){const f=(u==null?void 0:u[e])||l;return y.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return a.scopeName=e,[i,Sb(a,...n)]}function Sb(...e){const n=e[0];if(e.length===1)return n;const o=()=>{const i=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(a){const l=i.reduce((u,{useScope:f,scopeName:h})=>{const m=f(a)[`__scope${h}`];return{...u,...m}},{});return y.useMemo(()=>({[`__scope${n.scopeName}`]:l}),[l])}};return o.scopeName=n.scopeName,o}var Cb=y.createContext(void 0);function a2(e){const n=y.useContext(Cb);return e||n||"ltr"}function kb(e,[n,o]){return Math.min(o,Math.max(n,e))}function Je(e,n,{checkForDefaultPrevented:o=!0}={}){return function(i){if(e==null||e(i),o===!1||!i.defaultPrevented)return n==null?void 0:n(i)}}function jb(e,n){return y.useReducer((o,i)=>n[o][i]??o,e)}var yd="ScrollArea",[l2]=ko(yd),[Eb,cn]=l2(yd),c2=y.forwardRef((e,n)=>{const{__scopeScrollArea:o,type:i="hover",dir:a,scrollHideDelay:l=600,...u}=e,[f,h]=y.useState(null),[m,v]=y.useState(null),[x,b]=y.useState(null),[C,N]=y.useState(null),[k,j]=y.useState(null),[M,E]=y.useState(0),[R,z]=y.useState(0),[L,A]=y.useState(!1),[D,F]=y.useState(!1),W=nt(n,oe=>h(oe)),J=a2(a);return w.jsx(Eb,{scope:o,type:i,dir:J,scrollHideDelay:l,scrollArea:f,viewport:m,onViewportChange:v,content:x,onContentChange:b,scrollbarX:C,onScrollbarXChange:N,scrollbarXEnabled:L,onScrollbarXEnabledChange:A,scrollbarY:k,onScrollbarYChange:j,scrollbarYEnabled:D,onScrollbarYEnabledChange:F,onCornerWidthChange:E,onCornerHeightChange:z,children:w.jsx(Ye.div,{dir:J,...u,ref:W,style:{position:"relative","--radix-scroll-area-corner-width":M+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})});c2.displayName=yd;var u2="ScrollAreaViewport",f2=y.forwardRef((e,n)=>{const{__scopeScrollArea:o,children:i,nonce:a,...l}=e,u=cn(u2,o),f=y.useRef(null),h=nt(n,f,u.onViewportChange);return w.jsxs(w.Fragment,{children:[w.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),w.jsx(Ye.div,{"data-radix-scroll-area-viewport":"",...l,ref:h,style:{overflowX:u.scrollbarXEnabled?"scroll":"hidden",overflowY:u.scrollbarYEnabled?"scroll":"hidden",...e.style},children:w.jsx("div",{ref:u.onContentChange,style:{minWidth:"100%",display:"table"},children:i})})]})});f2.displayName=u2;var Bn="ScrollAreaScrollbar",xd=y.forwardRef((e,n)=>{const{forceMount:o,...i}=e,a=cn(Bn,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:u}=a,f=e.orientation==="horizontal";return y.useEffect(()=>(f?l(!0):u(!0),()=>{f?l(!1):u(!1)}),[f,l,u]),a.type==="hover"?w.jsx(Nb,{...i,ref:n,forceMount:o}):a.type==="scroll"?w.jsx(Mb,{...i,ref:n,forceMount:o}):a.type==="auto"?w.jsx(d2,{...i,ref:n,forceMount:o}):a.type==="always"?w.jsx(wd,{...i,ref:n}):null});xd.displayName=Bn;var Nb=y.forwardRef((e,n)=>{const{forceMount:o,...i}=e,a=cn(Bn,e.__scopeScrollArea),[l,u]=y.useState(!1);return y.useEffect(()=>{const f=a.scrollArea;let h=0;if(f){const m=()=>{window.clearTimeout(h),u(!0)},v=()=>{h=window.setTimeout(()=>u(!1),a.scrollHideDelay)};return f.addEventListener("pointerenter",m),f.addEventListener("pointerleave",v),()=>{window.clearTimeout(h),f.removeEventListener("pointerenter",m),f.removeEventListener("pointerleave",v)}}},[a.scrollArea,a.scrollHideDelay]),w.jsx(Cn,{present:o||l,children:w.jsx(d2,{"data-state":l?"visible":"hidden",...i,ref:n})})}),Mb=y.forwardRef((e,n)=>{const{forceMount:o,...i}=e,a=cn(Bn,e.__scopeScrollArea),l=e.orientation==="horizontal",u=Rl(()=>h("SCROLL_END"),100),[f,h]=jb("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return y.useEffect(()=>{if(f==="idle"){const m=window.setTimeout(()=>h("HIDE"),a.scrollHideDelay);return()=>window.clearTimeout(m)}},[f,a.scrollHideDelay,h]),y.useEffect(()=>{const m=a.viewport,v=l?"scrollLeft":"scrollTop";if(m){let x=m[v];const b=()=>{const C=m[v];x!==C&&(h("SCROLL"),u()),x=C};return m.addEventListener("scroll",b),()=>m.removeEventListener("scroll",b)}},[a.viewport,l,h,u]),w.jsx(Cn,{present:o||f!=="hidden",children:w.jsx(wd,{"data-state":f==="hidden"?"hidden":"visible",...i,ref:n,onPointerEnter:Je(e.onPointerEnter,()=>h("POINTER_ENTER")),onPointerLeave:Je(e.onPointerLeave,()=>h("POINTER_LEAVE"))})})}),d2=y.forwardRef((e,n)=>{const o=cn(Bn,e.__scopeScrollArea),{forceMount:i,...a}=e,[l,u]=y.useState(!1),f=e.orientation==="horizontal",h=Rl(()=>{if(o.viewport){const m=o.viewport.offsetWidth{const{orientation:o="vertical",...i}=e,a=cn(Bn,e.__scopeScrollArea),l=y.useRef(null),u=y.useRef(0),[f,h]=y.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),m=v2(f.viewport,f.content),v={...i,sizes:f,onSizesChange:h,hasThumb:m>0&&m<1,onThumbChange:b=>l.current=b,onThumbPointerUp:()=>u.current=0,onThumbPointerDown:b=>u.current=b};function x(b,C){return Ob(b,u.current,f,C)}return o==="horizontal"?w.jsx(Ab,{...v,ref:n,onThumbPositionChange:()=>{if(a.viewport&&l.current){const b=a.viewport.scrollLeft,C=_m(b,f,a.dir);l.current.style.transform=`translate3d(${C}px, 0, 0)`}},onWheelScroll:b=>{a.viewport&&(a.viewport.scrollLeft=b)},onDragScroll:b=>{a.viewport&&(a.viewport.scrollLeft=x(b,a.dir))}}):o==="vertical"?w.jsx(Pb,{...v,ref:n,onThumbPositionChange:()=>{if(a.viewport&&l.current){const b=a.viewport.scrollTop,C=_m(b,f);l.current.style.transform=`translate3d(0, ${C}px, 0)`}},onWheelScroll:b=>{a.viewport&&(a.viewport.scrollTop=b)},onDragScroll:b=>{a.viewport&&(a.viewport.scrollTop=x(b))}}):null}),Ab=y.forwardRef((e,n)=>{const{sizes:o,onSizesChange:i,...a}=e,l=cn(Bn,e.__scopeScrollArea),[u,f]=y.useState(),h=y.useRef(null),m=nt(n,h,l.onScrollbarXChange);return y.useEffect(()=>{h.current&&f(getComputedStyle(h.current))},[h]),w.jsx(h2,{"data-orientation":"horizontal",...a,ref:m,sizes:o,style:{bottom:0,left:l.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:l.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Pl(o)+"px",...e.style},onThumbPointerDown:v=>e.onThumbPointerDown(v.x),onDragScroll:v=>e.onDragScroll(v.x),onWheelScroll:(v,x)=>{if(l.viewport){const b=l.viewport.scrollLeft+v.deltaX;e.onWheelScroll(b),x2(b,x)&&v.preventDefault()}},onResize:()=>{h.current&&l.viewport&&u&&i({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:h.current.clientWidth,paddingStart:gl(u.paddingLeft),paddingEnd:gl(u.paddingRight)}})}})}),Pb=y.forwardRef((e,n)=>{const{sizes:o,onSizesChange:i,...a}=e,l=cn(Bn,e.__scopeScrollArea),[u,f]=y.useState(),h=y.useRef(null),m=nt(n,h,l.onScrollbarYChange);return y.useEffect(()=>{h.current&&f(getComputedStyle(h.current))},[h]),w.jsx(h2,{"data-orientation":"vertical",...a,ref:m,sizes:o,style:{top:0,right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Pl(o)+"px",...e.style},onThumbPointerDown:v=>e.onThumbPointerDown(v.y),onDragScroll:v=>e.onDragScroll(v.y),onWheelScroll:(v,x)=>{if(l.viewport){const b=l.viewport.scrollTop+v.deltaY;e.onWheelScroll(b),x2(b,x)&&v.preventDefault()}},onResize:()=>{h.current&&l.viewport&&u&&i({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:h.current.clientHeight,paddingStart:gl(u.paddingTop),paddingEnd:gl(u.paddingBottom)}})}})}),[Rb,p2]=l2(Bn),h2=y.forwardRef((e,n)=>{const{__scopeScrollArea:o,sizes:i,hasThumb:a,onThumbChange:l,onThumbPointerUp:u,onThumbPointerDown:f,onThumbPositionChange:h,onDragScroll:m,onWheelScroll:v,onResize:x,...b}=e,C=cn(Bn,o),[N,k]=y.useState(null),j=nt(n,W=>k(W)),M=y.useRef(null),E=y.useRef(""),R=C.viewport,z=i.content-i.viewport,L=Lt(v),A=Lt(h),D=Rl(x,10);function F(W){if(M.current){const J=W.clientX-M.current.left,oe=W.clientY-M.current.top;m({x:J,y:oe})}}return y.useEffect(()=>{const W=J=>{const oe=J.target;N!=null&&N.contains(oe)&&L(J,z)};return document.addEventListener("wheel",W,{passive:!1}),()=>document.removeEventListener("wheel",W,{passive:!1})},[R,N,z,L]),y.useEffect(A,[i,A]),ci(N,D),ci(C.content,D),w.jsx(Rb,{scope:o,scrollbar:N,hasThumb:a,onThumbChange:Lt(l),onThumbPointerUp:Lt(u),onThumbPositionChange:A,onThumbPointerDown:Lt(f),children:w.jsx(Ye.div,{...b,ref:j,style:{position:"absolute",...b.style},onPointerDown:Je(e.onPointerDown,W=>{W.button===0&&(W.target.setPointerCapture(W.pointerId),M.current=N.getBoundingClientRect(),E.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",C.viewport&&(C.viewport.style.scrollBehavior="auto"),F(W))}),onPointerMove:Je(e.onPointerMove,F),onPointerUp:Je(e.onPointerUp,W=>{const J=W.target;J.hasPointerCapture(W.pointerId)&&J.releasePointerCapture(W.pointerId),document.body.style.webkitUserSelect=E.current,C.viewport&&(C.viewport.style.scrollBehavior=""),M.current=null})})})}),ml="ScrollAreaThumb",m2=y.forwardRef((e,n)=>{const{forceMount:o,...i}=e,a=p2(ml,e.__scopeScrollArea);return w.jsx(Cn,{present:o||a.hasThumb,children:w.jsx(Ib,{ref:n,...i})})}),Ib=y.forwardRef((e,n)=>{const{__scopeScrollArea:o,style:i,...a}=e,l=cn(ml,o),u=p2(ml,o),{onThumbPositionChange:f}=u,h=nt(n,x=>u.onThumbChange(x)),m=y.useRef(void 0),v=Rl(()=>{m.current&&(m.current(),m.current=void 0)},100);return y.useEffect(()=>{const x=l.viewport;if(x){const b=()=>{if(v(),!m.current){const C=_b(x,f);m.current=C,f()}};return f(),x.addEventListener("scroll",b),()=>x.removeEventListener("scroll",b)}},[l.viewport,v,f]),w.jsx(Ye.div,{"data-state":u.hasThumb?"visible":"hidden",...a,ref:h,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:Je(e.onPointerDownCapture,x=>{const b=x.target.getBoundingClientRect(),C=x.clientX-b.left,N=x.clientY-b.top;u.onThumbPointerDown({x:C,y:N})}),onPointerUp:Je(e.onPointerUp,u.onThumbPointerUp)})});m2.displayName=ml;var bd="ScrollAreaCorner",g2=y.forwardRef((e,n)=>{const o=cn(bd,e.__scopeScrollArea),i=!!(o.scrollbarX&&o.scrollbarY);return o.type!=="scroll"&&i?w.jsx(zb,{...e,ref:n}):null});g2.displayName=bd;var zb=y.forwardRef((e,n)=>{const{__scopeScrollArea:o,...i}=e,a=cn(bd,o),[l,u]=y.useState(0),[f,h]=y.useState(0),m=!!(l&&f);return ci(a.scrollbarX,()=>{var v;const x=((v=a.scrollbarX)==null?void 0:v.offsetHeight)||0;a.onCornerHeightChange(x),h(x)}),ci(a.scrollbarY,()=>{var v;const x=((v=a.scrollbarY)==null?void 0:v.offsetWidth)||0;a.onCornerWidthChange(x),u(x)}),m?w.jsx(Ye.div,{...i,ref:n,style:{width:l,height:f,position:"absolute",right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function gl(e){return e?parseInt(e,10):0}function v2(e,n){const o=e/n;return isNaN(o)?0:o}function Pl(e){const n=v2(e.viewport,e.content),o=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,i=(e.scrollbar.size-o)*n;return Math.max(i,18)}function Ob(e,n,o,i="ltr"){const a=Pl(o),l=a/2,u=n||l,f=a-u,h=o.scrollbar.paddingStart+u,m=o.scrollbar.size-o.scrollbar.paddingEnd-f,v=o.content-o.viewport,x=i==="ltr"?[0,v]:[v*-1,0];return y2([h,m],x)(e)}function _m(e,n,o="ltr"){const i=Pl(n),a=n.scrollbar.paddingStart+n.scrollbar.paddingEnd,l=n.scrollbar.size-a,u=n.content-n.viewport,f=l-i,h=o==="ltr"?[0,u]:[u*-1,0],m=kb(e,h);return y2([0,u],[0,f])(m)}function y2(e,n){return o=>{if(e[0]===e[1]||n[0]===n[1])return n[0];const i=(n[1]-n[0])/(e[1]-e[0]);return n[0]+i*(o-e[0])}}function x2(e,n){return e>0&&e{})=>{let o={left:e.scrollLeft,top:e.scrollTop},i=0;return(function a(){const l={left:e.scrollLeft,top:e.scrollTop},u=o.left!==l.left,f=o.top!==l.top;(u||f)&&n(),o=l,i=window.requestAnimationFrame(a)})(),()=>window.cancelAnimationFrame(i)};function Rl(e,n){const o=Lt(e),i=y.useRef(0);return y.useEffect(()=>()=>window.clearTimeout(i.current),[]),y.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(o,n)},[o,n])}function ci(e,n){const o=Lt(n);Kt(()=>{let i=0;if(e){const a=new ResizeObserver(()=>{cancelAnimationFrame(i),i=window.requestAnimationFrame(o)});return a.observe(e),()=>{window.cancelAnimationFrame(i),a.unobserve(e)}}},[e,o])}var w2=c2,Db=f2,Tb=g2;const Lb=y.forwardRef(({className:e,children:n,...o},i)=>w.jsxs(w2,{ref:i,className:Se("relative overflow-hidden",e),...o,children:[w.jsx(Db,{className:"h-full w-full rounded-[inherit]",children:n}),w.jsx(b2,{}),w.jsx(Tb,{})]}));Lb.displayName=w2.displayName;const b2=y.forwardRef(({className:e,orientation:n="vertical",...o},i)=>w.jsx(xd,{ref:i,orientation:n,className:Se("flex touch-none select-none transition-colors",n==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",n==="horizontal"&&"h-2.5 border-t border-t-transparent p-[1px]",e),...o,children:w.jsx(m2,{className:"relative flex-1 rounded-full bg-border"})}));b2.displayName=xd.displayName;const S2=y.forwardRef(({checked:e,onCheckedChange:n,disabled:o,size:i="default",className:a,id:l,...u},f)=>{const h=i==="sm"?"w-7 h-4 after:h-3 after:w-3":"w-9 h-5 after:h-4 after:w-4";return w.jsxs("label",{className:Se("relative inline-flex items-center shrink-0",o?"cursor-not-allowed opacity-50":"cursor-pointer",a),children:[w.jsx("input",{ref:f,id:l,type:"checkbox",checked:e,disabled:o,onChange:m=>n(m.target.checked),className:"sr-only peer","aria-label":u["aria-label"]}),w.jsx("div",{className:Se("rounded-full border border-border bg-muted transition-colors","peer-checked:bg-primary peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2 ring-offset-background",'after:content-[""] after:absolute after:top-[2px] after:left-[2px]',"after:bg-white after:rounded-full after:transition-transform","peer-checked:after:translate-x-full",h)})]})});S2.displayName="MriSwitch";const Fb=y.forwardRef(({className:e,error:n,hint:o,resize:i="vertical",onChange:a,...l},u)=>{const f=!!n,h=typeof n=="string"?n:null,m=y.useRef(null),v=y.useCallback(C=>{m.current=C,typeof u=="function"?u(C):u&&(u.current=C)},[u]),x=C=>{i==="auto"&&m.current&&(m.current.style.height="auto",m.current.style.height=`${m.current.scrollHeight}px`),a==null||a(C)},b={auto:"resize-none overflow-hidden",vertical:"resize-y",none:"resize-none"}[i];return w.jsxs("div",{className:"w-full space-y-1",children:[w.jsx("textarea",{...l,ref:v,onChange:x,className:Se("w-full rounded-lg border bg-background/50 text-foreground text-sm px-3 py-2","focus:border-ring focus:outline-none placeholder:text-muted-foreground transition-colors","disabled:opacity-50 disabled:cursor-not-allowed",b,f?"border-destructive focus:border-destructive":"border-input",e)}),(h||o)&&w.jsx("p",{className:Se("text-[10px] font-medium px-1",h?"text-destructive animate-in fade-in slide-in-from-top-1":"text-muted-foreground"),children:h||o})]})});Fb.displayName="MriTextarea";function $b(e){const n=e+"CollectionProvider",[o,i]=ko(n),[a,l]=o(n,{collectionRef:{current:null},itemMap:new Map}),u=k=>{const{scope:j,children:M}=k,E=ke.useRef(null),R=ke.useRef(new Map).current;return w.jsx(a,{scope:j,itemMap:R,collectionRef:E,children:M})};u.displayName=n;const f=e+"CollectionSlot",h=ws(f),m=ke.forwardRef((k,j)=>{const{scope:M,children:E}=k,R=l(f,M),z=nt(j,R.collectionRef);return w.jsx(h,{ref:z,children:E})});m.displayName=f;const v=e+"CollectionItemSlot",x="data-radix-collection-item",b=ws(v),C=ke.forwardRef((k,j)=>{const{scope:M,children:E,...R}=k,z=ke.useRef(null),L=nt(j,z),A=l(v,M);return ke.useEffect(()=>(A.itemMap.set(z,{ref:z,...R}),()=>void A.itemMap.delete(z))),w.jsx(b,{[x]:"",ref:L,children:E})});C.displayName=v;function N(k){const j=l(e+"CollectionConsumer",k);return ke.useCallback(()=>{const M=j.collectionRef.current;if(!M)return[];const E=Array.from(M.querySelectorAll(`[${x}]`));return Array.from(j.itemMap.values()).sort((R,z)=>E.indexOf(R.ref.current)-E.indexOf(z.ref.current))},[j.collectionRef,j.itemMap])}return[{Provider:u,Slot:m,ItemSlot:C},N,i]}var Hb=sd[" useInsertionEffect ".trim().toString()]||Kt;function Ms({prop:e,defaultProp:n,onChange:o=()=>{},caller:i}){const[a,l,u]=Vb({defaultProp:n,onChange:o}),f=e!==void 0,h=f?e:a;{const v=y.useRef(e!==void 0);y.useEffect(()=>{const x=v.current;x!==f&&console.warn(`${i} is changing from ${x?"controlled":"uncontrolled"} to ${f?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),v.current=f},[f,i])}const m=y.useCallback(v=>{var x;if(f){const b=Wb(v)?v(e):v;b!==e&&((x=u.current)==null||x.call(u,b))}else l(v)},[f,e,l,u]);return[h,m]}function Vb({defaultProp:e,onChange:n}){const[o,i]=y.useState(e),a=y.useRef(o),l=y.useRef(n);return Hb(()=>{l.current=n},[n]),y.useEffect(()=>{var u;a.current!==o&&((u=l.current)==null||u.call(l,o),a.current=o)},[o,a]),[o,i,l]}function Wb(e){return typeof e=="function"}var Bb=sd[" useId ".trim().toString()]||(()=>{}),Ub=0;function ln(e){const[n,o]=y.useState(Bb());return Kt(()=>{o(i=>i??String(Ub++))},[e]),n?`radix-${n}`:""}var Il="Collapsible",[Yb,C2]=ko(Il),[Xb,Sd]=Yb(Il),k2=y.forwardRef((e,n)=>{const{__scopeCollapsible:o,open:i,defaultOpen:a,disabled:l,onOpenChange:u,...f}=e,[h,m]=Ms({prop:i,defaultProp:a??!1,onChange:u,caller:Il});return w.jsx(Xb,{scope:o,disabled:l,contentId:ln(),open:h,onOpenToggle:y.useCallback(()=>m(v=>!v),[m]),children:w.jsx(Ye.div,{"data-state":kd(h),"data-disabled":l?"":void 0,...f,ref:n})})});k2.displayName=Il;var j2="CollapsibleTrigger",E2=y.forwardRef((e,n)=>{const{__scopeCollapsible:o,...i}=e,a=Sd(j2,o);return w.jsx(Ye.button,{type:"button","aria-controls":a.contentId,"aria-expanded":a.open||!1,"data-state":kd(a.open),"data-disabled":a.disabled?"":void 0,disabled:a.disabled,...i,ref:n,onClick:Je(e.onClick,a.onOpenToggle)})});E2.displayName=j2;var Cd="CollapsibleContent",N2=y.forwardRef((e,n)=>{const{forceMount:o,...i}=e,a=Sd(Cd,e.__scopeCollapsible);return w.jsx(Cn,{present:o||a.open,children:({present:l})=>w.jsx(Gb,{...i,ref:n,present:l})})});N2.displayName=Cd;var Gb=y.forwardRef((e,n)=>{const{__scopeCollapsible:o,present:i,children:a,...l}=e,u=Sd(Cd,o),[f,h]=y.useState(i),m=y.useRef(null),v=nt(n,m),x=y.useRef(0),b=x.current,C=y.useRef(0),N=C.current,k=u.open||f,j=y.useRef(k),M=y.useRef(void 0);return y.useEffect(()=>{const E=requestAnimationFrame(()=>j.current=!1);return()=>cancelAnimationFrame(E)},[]),Kt(()=>{const E=m.current;if(E){M.current=M.current||{transitionDuration:E.style.transitionDuration,animationName:E.style.animationName},E.style.transitionDuration="0s",E.style.animationName="none";const R=E.getBoundingClientRect();x.current=R.height,C.current=R.width,j.current||(E.style.transitionDuration=M.current.transitionDuration,E.style.animationName=M.current.animationName),h(i)}},[u.open,i]),w.jsx(Ye.div,{"data-state":kd(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!k,...l,ref:v,style:{"--radix-collapsible-content-height":b?`${b}px`:void 0,"--radix-collapsible-content-width":N?`${N}px`:void 0,...e.style},children:k&&a})});function kd(e){return e?"open":"closed"}var Kb=k2,qb=E2,Qb=N2,kn="Accordion",Zb=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[jd,Jb,e6]=$b(kn),[zl]=ko(kn,[e6,C2]),Ed=C2(),t6=ke.forwardRef((e,n)=>{const{type:o,...i}=e,a=i,l=i;return w.jsx(jd.Provider,{scope:e.__scopeAccordion,children:o==="multiple"?w.jsx(i6,{...l,ref:n}):w.jsx(o6,{...a,ref:n})})});t6.displayName=kn;var[M2,n6]=zl(kn),[A2,r6]=zl(kn,{collapsible:!1}),o6=ke.forwardRef((e,n)=>{const{value:o,defaultValue:i,onValueChange:a=()=>{},collapsible:l=!1,...u}=e,[f,h]=Ms({prop:o,defaultProp:i??"",onChange:a,caller:kn});return w.jsx(M2,{scope:e.__scopeAccordion,value:ke.useMemo(()=>f?[f]:[],[f]),onItemOpen:h,onItemClose:ke.useCallback(()=>l&&h(""),[l,h]),children:w.jsx(A2,{scope:e.__scopeAccordion,collapsible:l,children:w.jsx(P2,{...u,ref:n})})})}),i6=ke.forwardRef((e,n)=>{const{value:o,defaultValue:i,onValueChange:a=()=>{},...l}=e,[u,f]=Ms({prop:o,defaultProp:i??[],onChange:a,caller:kn}),h=ke.useCallback(v=>f((x=[])=>[...x,v]),[f]),m=ke.useCallback(v=>f((x=[])=>x.filter(b=>b!==v)),[f]);return w.jsx(M2,{scope:e.__scopeAccordion,value:u,onItemOpen:h,onItemClose:m,children:w.jsx(A2,{scope:e.__scopeAccordion,collapsible:!0,children:w.jsx(P2,{...l,ref:n})})})}),[s6,Ol]=zl(kn),P2=ke.forwardRef((e,n)=>{const{__scopeAccordion:o,disabled:i,dir:a,orientation:l="vertical",...u}=e,f=ke.useRef(null),h=nt(f,n),m=Jb(o),v=a2(a)==="ltr",x=Je(e.onKeyDown,b=>{var C;if(!Zb.includes(b.key))return;const N=b.target,k=m().filter(F=>{var W;return!((W=F.ref.current)!=null&&W.disabled)}),j=k.findIndex(F=>F.ref.current===N),M=k.length;if(j===-1)return;b.preventDefault();let E=j;const R=0,z=M-1,L=()=>{E=j+1,E>z&&(E=R)},A=()=>{E=j-1,E{const{__scopeAccordion:o,value:i,...a}=e,l=Ol(vl,o),u=n6(vl,o),f=Ed(o),h=ln(),m=i&&u.value.includes(i)||!1,v=l.disabled||e.disabled;return w.jsx(a6,{scope:o,open:m,disabled:v,triggerId:h,children:w.jsx(Kb,{"data-orientation":l.orientation,"data-state":T2(m),...f,...a,ref:n,disabled:v,open:m,onOpenChange:x=>{x?u.onItemOpen(i):u.onItemClose(i)}})})});R2.displayName=vl;var I2="AccordionHeader",z2=ke.forwardRef((e,n)=>{const{__scopeAccordion:o,...i}=e,a=Ol(kn,o),l=Nd(I2,o);return w.jsx(Ye.h3,{"data-orientation":a.orientation,"data-state":T2(l.open),"data-disabled":l.disabled?"":void 0,...i,ref:n})});z2.displayName=I2;var jf="AccordionTrigger",O2=ke.forwardRef((e,n)=>{const{__scopeAccordion:o,...i}=e,a=Ol(kn,o),l=Nd(jf,o),u=r6(jf,o),f=Ed(o);return w.jsx(jd.ItemSlot,{scope:o,children:w.jsx(qb,{"aria-disabled":l.open&&!u.collapsible||void 0,"data-orientation":a.orientation,id:l.triggerId,...f,...i,ref:n})})});O2.displayName=jf;var _2="AccordionContent",D2=ke.forwardRef((e,n)=>{const{__scopeAccordion:o,...i}=e,a=Ol(kn,o),l=Nd(_2,o),u=Ed(o);return w.jsx(Qb,{role:"region","aria-labelledby":l.triggerId,"data-orientation":a.orientation,...u,...i,ref:n,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});D2.displayName=_2;function T2(e){return e?"open":"closed"}var l6=R2,c6=z2,L2=O2,F2=D2;const u6=y.forwardRef(({className:e,...n},o)=>w.jsx(l6,{ref:o,className:Se("border-b border-border_primary",e),...n}));u6.displayName="MriAccordionItem";const f6=y.forwardRef(({className:e,children:n,...o},i)=>w.jsx(c6,{className:"flex",children:w.jsxs(L2,{ref:i,className:Se("flex flex-1 items-center justify-between gap-4 py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",e),...o,children:[n,w.jsx(lb,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200"})]})}));f6.displayName=L2.displayName;const d6=y.forwardRef(({className:e,children:n,...o},i)=>w.jsx(F2,{ref:i,className:"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...o,children:w.jsx("div",{className:Se("pb-4 pt-0",e),children:n})}));d6.displayName=F2.displayName;const p6=y.forwardRef(({className:e,glow:n=!1,children:o,...i},a)=>w.jsxs("div",{ref:a,className:Se("rounded-xl border bg-card text-card-foreground shadow",n&&"relative overflow-hidden group transition-all",e),...i,children:[n&&w.jsx("div",{className:"pointer-events-none absolute inset-0 bg-gradient-to-br from-primary/10 to-transparent opacity-0 transition-opacity duration-500 group-hover:opacity-100"}),n?w.jsx("div",{className:"relative",children:o}):o]}));p6.displayName="MriCard";const h6=y.forwardRef(({className:e,...n},o)=>w.jsx("div",{ref:o,className:Se("flex flex-col space-y-1.5 p-6",e),...n}));h6.displayName="MriCardHeader";const m6=y.forwardRef(({className:e,...n},o)=>w.jsx("div",{ref:o,className:Se("font-semibold leading-none tracking-tight",e),...n}));m6.displayName="MriCardTitle";const g6=y.forwardRef(({className:e,...n},o)=>w.jsx("div",{ref:o,className:Se("text-sm text-muted-foreground",e),...n}));g6.displayName="MriCardDescription";const v6=y.forwardRef(({className:e,...n},o)=>w.jsx("div",{ref:o,className:Se("p-6 pt-0",e),...n}));v6.displayName="MriCardContent";const y6=y.forwardRef(({className:e,...n},o)=>w.jsx("div",{ref:o,className:Se("flex items-center p-6 pt-0",e),...n}));y6.displayName="MriCardFooter";function x6(e,n=globalThis==null?void 0:globalThis.document){const o=Lt(e);y.useEffect(()=>{const i=a=>{a.key==="Escape"&&o(a)};return n.addEventListener("keydown",i,{capture:!0}),()=>n.removeEventListener("keydown",i,{capture:!0})},[o,n])}var w6="DismissableLayer",Ef="dismissableLayer.update",b6="dismissableLayer.pointerDownOutside",S6="dismissableLayer.focusOutside",Dm,$2=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Md=y.forwardRef((e,n)=>{const{disableOutsidePointerEvents:o=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:l,onInteractOutside:u,onDismiss:f,...h}=e,m=y.useContext($2),[v,x]=y.useState(null),b=(v==null?void 0:v.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,C]=y.useState({}),N=nt(n,D=>x(D)),k=Array.from(m.layers),[j]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),M=k.indexOf(j),E=v?k.indexOf(v):-1,R=m.layersWithOutsidePointerEventsDisabled.size>0,z=E>=M,L=j6(D=>{const F=D.target,W=[...m.branches].some(J=>J.contains(F));!z||W||(a==null||a(D),u==null||u(D),D.defaultPrevented||f==null||f())},b),A=E6(D=>{const F=D.target;[...m.branches].some(W=>W.contains(F))||(l==null||l(D),u==null||u(D),D.defaultPrevented||f==null||f())},b);return x6(D=>{E===m.layers.size-1&&(i==null||i(D),!D.defaultPrevented&&f&&(D.preventDefault(),f()))},b),y.useEffect(()=>{if(v)return o&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(Dm=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(v)),m.layers.add(v),Tm(),()=>{o&&m.layersWithOutsidePointerEventsDisabled.size===1&&(b.body.style.pointerEvents=Dm)}},[v,b,o,m]),y.useEffect(()=>()=>{v&&(m.layers.delete(v),m.layersWithOutsidePointerEventsDisabled.delete(v),Tm())},[v,m]),y.useEffect(()=>{const D=()=>C({});return document.addEventListener(Ef,D),()=>document.removeEventListener(Ef,D)},[]),w.jsx(Ye.div,{...h,ref:N,style:{pointerEvents:R?z?"auto":"none":void 0,...e.style},onFocusCapture:Je(e.onFocusCapture,A.onFocusCapture),onBlurCapture:Je(e.onBlurCapture,A.onBlurCapture),onPointerDownCapture:Je(e.onPointerDownCapture,L.onPointerDownCapture)})});Md.displayName=w6;var C6="DismissableLayerBranch",k6=y.forwardRef((e,n)=>{const o=y.useContext($2),i=y.useRef(null),a=nt(n,i);return y.useEffect(()=>{const l=i.current;if(l)return o.branches.add(l),()=>{o.branches.delete(l)}},[o.branches]),w.jsx(Ye.div,{...e,ref:a})});k6.displayName=C6;function j6(e,n=globalThis==null?void 0:globalThis.document){const o=Lt(e),i=y.useRef(!1),a=y.useRef(()=>{});return y.useEffect(()=>{const l=f=>{if(f.target&&!i.current){let h=function(){H2(b6,o,m,{discrete:!0})};const m={originalEvent:f};f.pointerType==="touch"?(n.removeEventListener("click",a.current),a.current=h,n.addEventListener("click",a.current,{once:!0})):h()}else n.removeEventListener("click",a.current);i.current=!1},u=window.setTimeout(()=>{n.addEventListener("pointerdown",l)},0);return()=>{window.clearTimeout(u),n.removeEventListener("pointerdown",l),n.removeEventListener("click",a.current)}},[n,o]),{onPointerDownCapture:()=>i.current=!0}}function E6(e,n=globalThis==null?void 0:globalThis.document){const o=Lt(e),i=y.useRef(!1);return y.useEffect(()=>{const a=l=>{l.target&&!i.current&&H2(S6,o,{originalEvent:l},{discrete:!1})};return n.addEventListener("focusin",a),()=>n.removeEventListener("focusin",a)},[n,o]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function Tm(){const e=new CustomEvent(Ef);document.dispatchEvent(e)}function H2(e,n,o,{discrete:i}){const a=o.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:o});n&&a.addEventListener(e,n,{once:!0}),i?vb(a,l):a.dispatchEvent(l)}var Yu=0;function V2(){y.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Lm()),document.body.insertAdjacentElement("beforeend",e[1]??Lm()),Yu++,()=>{Yu===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(n=>n.remove()),Yu--}},[])}function Lm(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Xu="focusScope.autoFocusOnMount",Gu="focusScope.autoFocusOnUnmount",Fm={bubbles:!1,cancelable:!0},N6="FocusScope",Ad=y.forwardRef((e,n)=>{const{loop:o=!1,trapped:i=!1,onMountAutoFocus:a,onUnmountAutoFocus:l,...u}=e,[f,h]=y.useState(null),m=Lt(a),v=Lt(l),x=y.useRef(null),b=nt(n,k=>h(k)),C=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(i){let k=function(R){if(C.paused||!f)return;const z=R.target;f.contains(z)?x.current=z:Dr(x.current,{select:!0})},j=function(R){if(C.paused||!f)return;const z=R.relatedTarget;z!==null&&(f.contains(z)||Dr(x.current,{select:!0}))},M=function(R){if(document.activeElement===document.body)for(const z of R)z.removedNodes.length>0&&Dr(f)};document.addEventListener("focusin",k),document.addEventListener("focusout",j);const E=new MutationObserver(M);return f&&E.observe(f,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",k),document.removeEventListener("focusout",j),E.disconnect()}}},[i,f,C.paused]),y.useEffect(()=>{if(f){Hm.add(C);const k=document.activeElement;if(!f.contains(k)){const j=new CustomEvent(Xu,Fm);f.addEventListener(Xu,m),f.dispatchEvent(j),j.defaultPrevented||(M6(z6(W2(f)),{select:!0}),document.activeElement===k&&Dr(f))}return()=>{f.removeEventListener(Xu,m),setTimeout(()=>{const j=new CustomEvent(Gu,Fm);f.addEventListener(Gu,v),f.dispatchEvent(j),j.defaultPrevented||Dr(k??document.body,{select:!0}),f.removeEventListener(Gu,v),Hm.remove(C)},0)}}},[f,m,v,C]);const N=y.useCallback(k=>{if(!o&&!i||C.paused)return;const j=k.key==="Tab"&&!k.altKey&&!k.ctrlKey&&!k.metaKey,M=document.activeElement;if(j&&M){const E=k.currentTarget,[R,z]=A6(E);R&&z?!k.shiftKey&&M===z?(k.preventDefault(),o&&Dr(R,{select:!0})):k.shiftKey&&M===R&&(k.preventDefault(),o&&Dr(z,{select:!0})):M===E&&k.preventDefault()}},[o,i,C.paused]);return w.jsx(Ye.div,{tabIndex:-1,...u,ref:b,onKeyDown:N})});Ad.displayName=N6;function M6(e,{select:n=!1}={}){const o=document.activeElement;for(const i of e)if(Dr(i,{select:n}),document.activeElement!==o)return}function A6(e){const n=W2(e),o=$m(n,e),i=$m(n.reverse(),e);return[o,i]}function W2(e){const n=[],o=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const a=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||a?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)n.push(o.currentNode);return n}function $m(e,n){for(const o of e)if(!P6(o,{upTo:n}))return o}function P6(e,{upTo:n}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(n!==void 0&&e===n)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function R6(e){return e instanceof HTMLInputElement&&"select"in e}function Dr(e,{select:n=!1}={}){if(e&&e.focus){const o=document.activeElement;e.focus({preventScroll:!0}),e!==o&&R6(e)&&n&&e.select()}}var Hm=I6();function I6(){let e=[];return{add(n){const o=e[0];n!==o&&(o==null||o.pause()),e=Vm(e,n),e.unshift(n)},remove(n){var o;e=Vm(e,n),(o=e[0])==null||o.resume()}}}function Vm(e,n){const o=[...e],i=o.indexOf(n);return i!==-1&&o.splice(i,1),o}function z6(e){return e.filter(n=>n.tagName!=="A")}const O6=["top","right","bottom","left"],Vr=Math.min,Xt=Math.max,yl=Math.round,qa=Math.floor,$n=e=>({x:e,y:e}),_6={left:"right",right:"left",bottom:"top",top:"bottom"},D6={start:"end",end:"start"};function Nf(e,n,o){return Xt(e,Vr(n,o))}function lr(e,n){return typeof e=="function"?e(n):e}function cr(e){return e.split("-")[0]}function hi(e){return e.split("-")[1]}function Pd(e){return e==="x"?"y":"x"}function Rd(e){return e==="y"?"height":"width"}const T6=new Set(["top","bottom"]);function _n(e){return T6.has(cr(e))?"y":"x"}function Id(e){return Pd(_n(e))}function L6(e,n,o){o===void 0&&(o=!1);const i=hi(e),a=Id(e),l=Rd(a);let u=a==="x"?i===(o?"end":"start")?"right":"left":i==="start"?"bottom":"top";return n.reference[l]>n.floating[l]&&(u=xl(u)),[u,xl(u)]}function F6(e){const n=xl(e);return[Mf(e),n,Mf(n)]}function Mf(e){return e.replace(/start|end/g,n=>D6[n])}const Wm=["left","right"],Bm=["right","left"],$6=["top","bottom"],H6=["bottom","top"];function V6(e,n,o){switch(e){case"top":case"bottom":return o?n?Bm:Wm:n?Wm:Bm;case"left":case"right":return n?$6:H6;default:return[]}}function W6(e,n,o,i){const a=hi(e);let l=V6(cr(e),o==="start",i);return a&&(l=l.map(u=>u+"-"+a),n&&(l=l.concat(l.map(Mf)))),l}function xl(e){return e.replace(/left|right|bottom|top/g,n=>_6[n])}function B6(e){return{top:0,right:0,bottom:0,left:0,...e}}function B2(e){return typeof e!="number"?B6(e):{top:e,right:e,bottom:e,left:e}}function wl(e){const{x:n,y:o,width:i,height:a}=e;return{width:i,height:a,top:o,left:n,right:n+i,bottom:o+a,x:n,y:o}}function Um(e,n,o){let{reference:i,floating:a}=e;const l=_n(n),u=Id(n),f=Rd(u),h=cr(n),m=l==="y",v=i.x+i.width/2-a.width/2,x=i.y+i.height/2-a.height/2,b=i[f]/2-a[f]/2;let C;switch(h){case"top":C={x:v,y:i.y-a.height};break;case"bottom":C={x:v,y:i.y+i.height};break;case"right":C={x:i.x+i.width,y:x};break;case"left":C={x:i.x-a.width,y:x};break;default:C={x:i.x,y:i.y}}switch(hi(n)){case"start":C[u]-=b*(o&&m?-1:1);break;case"end":C[u]+=b*(o&&m?-1:1);break}return C}const U6=async(e,n,o)=>{const{placement:i="bottom",strategy:a="absolute",middleware:l=[],platform:u}=o,f=l.filter(Boolean),h=await(u.isRTL==null?void 0:u.isRTL(n));let m=await u.getElementRects({reference:e,floating:n,strategy:a}),{x:v,y:x}=Um(m,i,h),b=i,C={},N=0;for(let k=0;k({name:"arrow",options:e,async fn(n){const{x:o,y:i,placement:a,rects:l,platform:u,elements:f,middlewareData:h}=n,{element:m,padding:v=0}=lr(e,n)||{};if(m==null)return{};const x=B2(v),b={x:o,y:i},C=Id(a),N=Rd(C),k=await u.getDimensions(m),j=C==="y",M=j?"top":"left",E=j?"bottom":"right",R=j?"clientHeight":"clientWidth",z=l.reference[N]+l.reference[C]-b[C]-l.floating[N],L=b[C]-l.reference[C],A=await(u.getOffsetParent==null?void 0:u.getOffsetParent(m));let D=A?A[R]:0;(!D||!await(u.isElement==null?void 0:u.isElement(A)))&&(D=f.floating[R]||l.floating[N]);const F=z/2-L/2,W=D/2-k[N]/2-1,J=Vr(x[M],W),oe=Vr(x[E],W),B=J,de=D-k[N]-oe,ie=D/2-k[N]/2+F,ue=Nf(B,ie,de),ae=!h.arrow&&hi(a)!=null&&ie!==ue&&l.reference[N]/2-(ieie<=0)){var oe,B;const ie=(((oe=l.flip)==null?void 0:oe.index)||0)+1,ue=D[ie];if(ue&&(!(x==="alignment"&&E!==_n(ue))||J.every(fe=>_n(fe.placement)===E?fe.overflows[0]>0:!0)))return{data:{index:ie,overflows:J},reset:{placement:ue}};let ae=(B=J.filter(fe=>fe.overflows[0]<=0).sort((fe,U)=>fe.overflows[1]-U.overflows[1])[0])==null?void 0:B.placement;if(!ae)switch(C){case"bestFit":{var de;const fe=(de=J.filter(U=>{if(A){const Q=_n(U.placement);return Q===E||Q==="y"}return!0}).map(U=>[U.placement,U.overflows.filter(Q=>Q>0).reduce((Q,Z)=>Q+Z,0)]).sort((U,Q)=>U[1]-Q[1])[0])==null?void 0:de[0];fe&&(ae=fe);break}case"initialPlacement":ae=f;break}if(a!==ae)return{reset:{placement:ae}}}return{}}}};function Ym(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function Xm(e){return O6.some(n=>e[n]>=0)}const G6=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:o}=n,{strategy:i="referenceHidden",...a}=lr(e,n);switch(i){case"referenceHidden":{const l=await bs(n,{...a,elementContext:"reference"}),u=Ym(l,o.reference);return{data:{referenceHiddenOffsets:u,referenceHidden:Xm(u)}}}case"escaped":{const l=await bs(n,{...a,altBoundary:!0}),u=Ym(l,o.floating);return{data:{escapedOffsets:u,escaped:Xm(u)}}}default:return{}}}}},U2=new Set(["left","top"]);async function K6(e,n){const{placement:o,platform:i,elements:a}=e,l=await(i.isRTL==null?void 0:i.isRTL(a.floating)),u=cr(o),f=hi(o),h=_n(o)==="y",m=U2.has(u)?-1:1,v=l&&h?-1:1,x=lr(n,e);let{mainAxis:b,crossAxis:C,alignmentAxis:N}=typeof x=="number"?{mainAxis:x,crossAxis:0,alignmentAxis:null}:{mainAxis:x.mainAxis||0,crossAxis:x.crossAxis||0,alignmentAxis:x.alignmentAxis};return f&&typeof N=="number"&&(C=f==="end"?N*-1:N),h?{x:C*v,y:b*m}:{x:b*m,y:C*v}}const q6=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var o,i;const{x:a,y:l,placement:u,middlewareData:f}=n,h=await K6(n,e);return u===((o=f.offset)==null?void 0:o.placement)&&(i=f.arrow)!=null&&i.alignmentOffset?{}:{x:a+h.x,y:l+h.y,data:{...h,placement:u}}}}},Q6=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:o,y:i,placement:a}=n,{mainAxis:l=!0,crossAxis:u=!1,limiter:f={fn:j=>{let{x:M,y:E}=j;return{x:M,y:E}}},...h}=lr(e,n),m={x:o,y:i},v=await bs(n,h),x=_n(cr(a)),b=Pd(x);let C=m[b],N=m[x];if(l){const j=b==="y"?"top":"left",M=b==="y"?"bottom":"right",E=C+v[j],R=C-v[M];C=Nf(E,C,R)}if(u){const j=x==="y"?"top":"left",M=x==="y"?"bottom":"right",E=N+v[j],R=N-v[M];N=Nf(E,N,R)}const k=f.fn({...n,[b]:C,[x]:N});return{...k,data:{x:k.x-o,y:k.y-i,enabled:{[b]:l,[x]:u}}}}}},Z6=function(e){return e===void 0&&(e={}),{options:e,fn(n){const{x:o,y:i,placement:a,rects:l,middlewareData:u}=n,{offset:f=0,mainAxis:h=!0,crossAxis:m=!0}=lr(e,n),v={x:o,y:i},x=_n(a),b=Pd(x);let C=v[b],N=v[x];const k=lr(f,n),j=typeof k=="number"?{mainAxis:k,crossAxis:0}:{mainAxis:0,crossAxis:0,...k};if(h){const R=b==="y"?"height":"width",z=l.reference[b]-l.floating[R]+j.mainAxis,L=l.reference[b]+l.reference[R]-j.mainAxis;CL&&(C=L)}if(m){var M,E;const R=b==="y"?"width":"height",z=U2.has(cr(a)),L=l.reference[x]-l.floating[R]+(z&&((M=u.offset)==null?void 0:M[x])||0)+(z?0:j.crossAxis),A=l.reference[x]+l.reference[R]+(z?0:((E=u.offset)==null?void 0:E[x])||0)-(z?j.crossAxis:0);NA&&(N=A)}return{[b]:C,[x]:N}}}},J6=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){var o,i;const{placement:a,rects:l,platform:u,elements:f}=n,{apply:h=()=>{},...m}=lr(e,n),v=await bs(n,m),x=cr(a),b=hi(a),C=_n(a)==="y",{width:N,height:k}=l.floating;let j,M;x==="top"||x==="bottom"?(j=x,M=b===(await(u.isRTL==null?void 0:u.isRTL(f.floating))?"start":"end")?"left":"right"):(M=x,j=b==="end"?"top":"bottom");const E=k-v.top-v.bottom,R=N-v.left-v.right,z=Vr(k-v[j],E),L=Vr(N-v[M],R),A=!n.middlewareData.shift;let D=z,F=L;if((o=n.middlewareData.shift)!=null&&o.enabled.x&&(F=R),(i=n.middlewareData.shift)!=null&&i.enabled.y&&(D=E),A&&!b){const J=Xt(v.left,0),oe=Xt(v.right,0),B=Xt(v.top,0),de=Xt(v.bottom,0);C?F=N-2*(J!==0||oe!==0?J+oe:Xt(v.left,v.right)):D=k-2*(B!==0||de!==0?B+de:Xt(v.top,v.bottom))}await h({...n,availableWidth:F,availableHeight:D});const W=await u.getDimensions(f.floating);return N!==W.width||k!==W.height?{reset:{rects:!0}}:{}}}};function _l(){return typeof window<"u"}function mi(e){return Y2(e)?(e.nodeName||"").toLowerCase():"#document"}function Gt(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function Un(e){var n;return(n=(Y2(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function Y2(e){return _l()?e instanceof Node||e instanceof Gt(e).Node:!1}function wn(e){return _l()?e instanceof Element||e instanceof Gt(e).Element:!1}function Hn(e){return _l()?e instanceof HTMLElement||e instanceof Gt(e).HTMLElement:!1}function Gm(e){return!_l()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Gt(e).ShadowRoot}const e8=new Set(["inline","contents"]);function As(e){const{overflow:n,overflowX:o,overflowY:i,display:a}=bn(e);return/auto|scroll|overlay|hidden|clip/.test(n+i+o)&&!e8.has(a)}const t8=new Set(["table","td","th"]);function n8(e){return t8.has(mi(e))}const r8=[":popover-open",":modal"];function Dl(e){return r8.some(n=>{try{return e.matches(n)}catch{return!1}})}const o8=["transform","translate","scale","rotate","perspective"],i8=["transform","translate","scale","rotate","perspective","filter"],s8=["paint","layout","strict","content"];function zd(e){const n=Od(),o=wn(e)?bn(e):e;return o8.some(i=>o[i]?o[i]!=="none":!1)||(o.containerType?o.containerType!=="normal":!1)||!n&&(o.backdropFilter?o.backdropFilter!=="none":!1)||!n&&(o.filter?o.filter!=="none":!1)||i8.some(i=>(o.willChange||"").includes(i))||s8.some(i=>(o.contain||"").includes(i))}function a8(e){let n=Wr(e);for(;Hn(n)&&!ui(n);){if(zd(n))return n;if(Dl(n))return null;n=Wr(n)}return null}function Od(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const l8=new Set(["html","body","#document"]);function ui(e){return l8.has(mi(e))}function bn(e){return Gt(e).getComputedStyle(e)}function Tl(e){return wn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Wr(e){if(mi(e)==="html")return e;const n=e.assignedSlot||e.parentNode||Gm(e)&&e.host||Un(e);return Gm(n)?n.host:n}function X2(e){const n=Wr(e);return ui(n)?e.ownerDocument?e.ownerDocument.body:e.body:Hn(n)&&As(n)?n:X2(n)}function Ss(e,n,o){var i;n===void 0&&(n=[]),o===void 0&&(o=!0);const a=X2(e),l=a===((i=e.ownerDocument)==null?void 0:i.body),u=Gt(a);if(l){const f=Af(u);return n.concat(u,u.visualViewport||[],As(a)?a:[],f&&o?Ss(f):[])}return n.concat(a,Ss(a,[],o))}function Af(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function G2(e){const n=bn(e);let o=parseFloat(n.width)||0,i=parseFloat(n.height)||0;const a=Hn(e),l=a?e.offsetWidth:o,u=a?e.offsetHeight:i,f=yl(o)!==l||yl(i)!==u;return f&&(o=l,i=u),{width:o,height:i,$:f}}function _d(e){return wn(e)?e:e.contextElement}function ii(e){const n=_d(e);if(!Hn(n))return $n(1);const o=n.getBoundingClientRect(),{width:i,height:a,$:l}=G2(n);let u=(l?yl(o.width):o.width)/i,f=(l?yl(o.height):o.height)/a;return(!u||!Number.isFinite(u))&&(u=1),(!f||!Number.isFinite(f))&&(f=1),{x:u,y:f}}const c8=$n(0);function K2(e){const n=Gt(e);return!Od()||!n.visualViewport?c8:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function u8(e,n,o){return n===void 0&&(n=!1),!o||n&&o!==Gt(e)?!1:n}function xo(e,n,o,i){n===void 0&&(n=!1),o===void 0&&(o=!1);const a=e.getBoundingClientRect(),l=_d(e);let u=$n(1);n&&(i?wn(i)&&(u=ii(i)):u=ii(e));const f=u8(l,o,i)?K2(l):$n(0);let h=(a.left+f.x)/u.x,m=(a.top+f.y)/u.y,v=a.width/u.x,x=a.height/u.y;if(l){const b=Gt(l),C=i&&wn(i)?Gt(i):i;let N=b,k=Af(N);for(;k&&i&&C!==N;){const j=ii(k),M=k.getBoundingClientRect(),E=bn(k),R=M.left+(k.clientLeft+parseFloat(E.paddingLeft))*j.x,z=M.top+(k.clientTop+parseFloat(E.paddingTop))*j.y;h*=j.x,m*=j.y,v*=j.x,x*=j.y,h+=R,m+=z,N=Gt(k),k=Af(N)}}return wl({width:v,height:x,x:h,y:m})}function Ll(e,n){const o=Tl(e).scrollLeft;return n?n.left+o:xo(Un(e)).left+o}function q2(e,n){const o=e.getBoundingClientRect(),i=o.left+n.scrollLeft-Ll(e,o),a=o.top+n.scrollTop;return{x:i,y:a}}function f8(e){let{elements:n,rect:o,offsetParent:i,strategy:a}=e;const l=a==="fixed",u=Un(i),f=n?Dl(n.floating):!1;if(i===u||f&&l)return o;let h={scrollLeft:0,scrollTop:0},m=$n(1);const v=$n(0),x=Hn(i);if((x||!x&&!l)&&((mi(i)!=="body"||As(u))&&(h=Tl(i)),Hn(i))){const C=xo(i);m=ii(i),v.x=C.x+i.clientLeft,v.y=C.y+i.clientTop}const b=u&&!x&&!l?q2(u,h):$n(0);return{width:o.width*m.x,height:o.height*m.y,x:o.x*m.x-h.scrollLeft*m.x+v.x+b.x,y:o.y*m.y-h.scrollTop*m.y+v.y+b.y}}function d8(e){return Array.from(e.getClientRects())}function p8(e){const n=Un(e),o=Tl(e),i=e.ownerDocument.body,a=Xt(n.scrollWidth,n.clientWidth,i.scrollWidth,i.clientWidth),l=Xt(n.scrollHeight,n.clientHeight,i.scrollHeight,i.clientHeight);let u=-o.scrollLeft+Ll(e);const f=-o.scrollTop;return bn(i).direction==="rtl"&&(u+=Xt(n.clientWidth,i.clientWidth)-a),{width:a,height:l,x:u,y:f}}const Km=25;function h8(e,n){const o=Gt(e),i=Un(e),a=o.visualViewport;let l=i.clientWidth,u=i.clientHeight,f=0,h=0;if(a){l=a.width,u=a.height;const v=Od();(!v||v&&n==="fixed")&&(f=a.offsetLeft,h=a.offsetTop)}const m=Ll(i);if(m<=0){const v=i.ownerDocument,x=v.body,b=getComputedStyle(x),C=v.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,N=Math.abs(i.clientWidth-x.clientWidth-C);N<=Km&&(l-=N)}else m<=Km&&(l+=m);return{width:l,height:u,x:f,y:h}}const m8=new Set(["absolute","fixed"]);function g8(e,n){const o=xo(e,!0,n==="fixed"),i=o.top+e.clientTop,a=o.left+e.clientLeft,l=Hn(e)?ii(e):$n(1),u=e.clientWidth*l.x,f=e.clientHeight*l.y,h=a*l.x,m=i*l.y;return{width:u,height:f,x:h,y:m}}function qm(e,n,o){let i;if(n==="viewport")i=h8(e,o);else if(n==="document")i=p8(Un(e));else if(wn(n))i=g8(n,o);else{const a=K2(e);i={x:n.x-a.x,y:n.y-a.y,width:n.width,height:n.height}}return wl(i)}function Q2(e,n){const o=Wr(e);return o===n||!wn(o)||ui(o)?!1:bn(o).position==="fixed"||Q2(o,n)}function v8(e,n){const o=n.get(e);if(o)return o;let i=Ss(e,[],!1).filter(f=>wn(f)&&mi(f)!=="body"),a=null;const l=bn(e).position==="fixed";let u=l?Wr(e):e;for(;wn(u)&&!ui(u);){const f=bn(u),h=zd(u);!h&&f.position==="fixed"&&(a=null),(l?!h&&!a:!h&&f.position==="static"&&a&&m8.has(a.position)||As(u)&&!h&&Q2(e,u))?i=i.filter(m=>m!==u):a=f,u=Wr(u)}return n.set(e,i),i}function y8(e){let{element:n,boundary:o,rootBoundary:i,strategy:a}=e;const l=[...o==="clippingAncestors"?Dl(n)?[]:v8(n,this._c):[].concat(o),i],u=l[0],f=l.reduce((h,m)=>{const v=qm(n,m,a);return h.top=Xt(v.top,h.top),h.right=Vr(v.right,h.right),h.bottom=Vr(v.bottom,h.bottom),h.left=Xt(v.left,h.left),h},qm(n,u,a));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function x8(e){const{width:n,height:o}=G2(e);return{width:n,height:o}}function w8(e,n,o){const i=Hn(n),a=Un(n),l=o==="fixed",u=xo(e,!0,l,n);let f={scrollLeft:0,scrollTop:0};const h=$n(0);function m(){h.x=Ll(a)}if(i||!i&&!l)if((mi(n)!=="body"||As(a))&&(f=Tl(n)),i){const C=xo(n,!0,l,n);h.x=C.x+n.clientLeft,h.y=C.y+n.clientTop}else a&&m();l&&!i&&a&&m();const v=a&&!i&&!l?q2(a,f):$n(0),x=u.left+f.scrollLeft-h.x-v.x,b=u.top+f.scrollTop-h.y-v.y;return{x,y:b,width:u.width,height:u.height}}function Ku(e){return bn(e).position==="static"}function Qm(e,n){if(!Hn(e)||bn(e).position==="fixed")return null;if(n)return n(e);let o=e.offsetParent;return Un(e)===o&&(o=o.ownerDocument.body),o}function Z2(e,n){const o=Gt(e);if(Dl(e))return o;if(!Hn(e)){let a=Wr(e);for(;a&&!ui(a);){if(wn(a)&&!Ku(a))return a;a=Wr(a)}return o}let i=Qm(e,n);for(;i&&n8(i)&&Ku(i);)i=Qm(i,n);return i&&ui(i)&&Ku(i)&&!zd(i)?o:i||a8(e)||o}const b8=async function(e){const n=this.getOffsetParent||Z2,o=this.getDimensions,i=await o(e.floating);return{reference:w8(e.reference,await n(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function S8(e){return bn(e).direction==="rtl"}const C8={convertOffsetParentRelativeRectToViewportRelativeRect:f8,getDocumentElement:Un,getClippingRect:y8,getOffsetParent:Z2,getElementRects:b8,getClientRects:d8,getDimensions:x8,getScale:ii,isElement:wn,isRTL:S8};function J2(e,n){return e.x===n.x&&e.y===n.y&&e.width===n.width&&e.height===n.height}function k8(e,n){let o=null,i;const a=Un(e);function l(){var f;clearTimeout(i),(f=o)==null||f.disconnect(),o=null}function u(f,h){f===void 0&&(f=!1),h===void 0&&(h=1),l();const m=e.getBoundingClientRect(),{left:v,top:x,width:b,height:C}=m;if(f||n(),!b||!C)return;const N=qa(x),k=qa(a.clientWidth-(v+b)),j=qa(a.clientHeight-(x+C)),M=qa(v),E={rootMargin:-N+"px "+-k+"px "+-j+"px "+-M+"px",threshold:Xt(0,Vr(1,h))||1};let R=!0;function z(L){const A=L[0].intersectionRatio;if(A!==h){if(!R)return u();A?u(!1,A):i=setTimeout(()=>{u(!1,1e-7)},1e3)}A===1&&!J2(m,e.getBoundingClientRect())&&u(),R=!1}try{o=new IntersectionObserver(z,{...E,root:a.ownerDocument})}catch{o=new IntersectionObserver(z,E)}o.observe(e)}return u(!0),l}function j8(e,n,o,i){i===void 0&&(i={});const{ancestorScroll:a=!0,ancestorResize:l=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:f=typeof IntersectionObserver=="function",animationFrame:h=!1}=i,m=_d(e),v=a||l?[...m?Ss(m):[],...Ss(n)]:[];v.forEach(M=>{a&&M.addEventListener("scroll",o,{passive:!0}),l&&M.addEventListener("resize",o)});const x=m&&f?k8(m,o):null;let b=-1,C=null;u&&(C=new ResizeObserver(M=>{let[E]=M;E&&E.target===m&&C&&(C.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var R;(R=C)==null||R.observe(n)})),o()}),m&&!h&&C.observe(m),C.observe(n));let N,k=h?xo(e):null;h&&j();function j(){const M=xo(e);k&&!J2(k,M)&&o(),k=M,N=requestAnimationFrame(j)}return o(),()=>{var M;v.forEach(E=>{a&&E.removeEventListener("scroll",o),l&&E.removeEventListener("resize",o)}),x==null||x(),(M=C)==null||M.disconnect(),C=null,h&&cancelAnimationFrame(N)}}const E8=q6,N8=Q6,M8=X6,A8=J6,P8=G6,Zm=Y6,R8=Z6,I8=(e,n,o)=>{const i=new Map,a={platform:C8,...o},l={...a.platform,_c:i};return U6(e,n,{...a,platform:l})};var z8=typeof document<"u",O8=function(){},il=z8?y.useLayoutEffect:O8;function bl(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let o,i,a;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(o=e.length,o!==n.length)return!1;for(i=o;i--!==0;)if(!bl(e[i],n[i]))return!1;return!0}if(a=Object.keys(e),o=a.length,o!==Object.keys(n).length)return!1;for(i=o;i--!==0;)if(!{}.hasOwnProperty.call(n,a[i]))return!1;for(i=o;i--!==0;){const l=a[i];if(!(l==="_owner"&&e.$$typeof)&&!bl(e[l],n[l]))return!1}return!0}return e!==e&&n!==n}function ev(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Jm(e,n){const o=ev(e);return Math.round(n*o)/o}function qu(e){const n=y.useRef(e);return il(()=>{n.current=e}),n}function _8(e){e===void 0&&(e={});const{placement:n="bottom",strategy:o="absolute",middleware:i=[],platform:a,elements:{reference:l,floating:u}={},transform:f=!0,whileElementsMounted:h,open:m}=e,[v,x]=y.useState({x:0,y:0,strategy:o,placement:n,middlewareData:{},isPositioned:!1}),[b,C]=y.useState(i);bl(b,i)||C(i);const[N,k]=y.useState(null),[j,M]=y.useState(null),E=y.useCallback(U=>{U!==A.current&&(A.current=U,k(U))},[]),R=y.useCallback(U=>{U!==D.current&&(D.current=U,M(U))},[]),z=l||N,L=u||j,A=y.useRef(null),D=y.useRef(null),F=y.useRef(v),W=h!=null,J=qu(h),oe=qu(a),B=qu(m),de=y.useCallback(()=>{if(!A.current||!D.current)return;const U={placement:n,strategy:o,middleware:b};oe.current&&(U.platform=oe.current),I8(A.current,D.current,U).then(Q=>{const Z={...Q,isPositioned:B.current!==!1};ie.current&&!bl(F.current,Z)&&(F.current=Z,md.flushSync(()=>{x(Z)}))})},[b,n,o,oe,B]);il(()=>{m===!1&&F.current.isPositioned&&(F.current.isPositioned=!1,x(U=>({...U,isPositioned:!1})))},[m]);const ie=y.useRef(!1);il(()=>(ie.current=!0,()=>{ie.current=!1}),[]),il(()=>{if(z&&(A.current=z),L&&(D.current=L),z&&L){if(J.current)return J.current(z,L,de);de()}},[z,L,de,J,W]);const ue=y.useMemo(()=>({reference:A,floating:D,setReference:E,setFloating:R}),[E,R]),ae=y.useMemo(()=>({reference:z,floating:L}),[z,L]),fe=y.useMemo(()=>{const U={position:o,left:0,top:0};if(!ae.floating)return U;const Q=Jm(ae.floating,v.x),Z=Jm(ae.floating,v.y);return f?{...U,transform:"translate("+Q+"px, "+Z+"px)",...ev(ae.floating)>=1.5&&{willChange:"transform"}}:{position:o,left:Q,top:Z}},[o,f,ae.floating,v.x,v.y]);return y.useMemo(()=>({...v,update:de,refs:ue,elements:ae,floatingStyles:fe}),[v,de,ue,ae,fe])}const D8=e=>{function n(o){return{}.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){const{element:i,padding:a}=typeof e=="function"?e(o):e;return i&&n(i)?i.current!=null?Zm({element:i.current,padding:a}).fn(o):{}:i?Zm({element:i,padding:a}).fn(o):{}}}},T8=(e,n)=>({...E8(e),options:[e,n]}),L8=(e,n)=>({...N8(e),options:[e,n]}),F8=(e,n)=>({...R8(e),options:[e,n]}),$8=(e,n)=>({...M8(e),options:[e,n]}),H8=(e,n)=>({...A8(e),options:[e,n]}),V8=(e,n)=>({...P8(e),options:[e,n]}),W8=(e,n)=>({...D8(e),options:[e,n]});var B8="Arrow",tv=y.forwardRef((e,n)=>{const{children:o,width:i=10,height:a=5,...l}=e;return w.jsx(Ye.svg,{...l,ref:n,width:i,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?o:w.jsx("polygon",{points:"0,0 30,0 15,10"})})});tv.displayName=B8;var U8=tv;function Y8(e){const[n,o]=y.useState(void 0);return Kt(()=>{if(e){o({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(a=>{if(!Array.isArray(a)||!a.length)return;const l=a[0];let u,f;if("borderBoxSize"in l){const h=l.borderBoxSize,m=Array.isArray(h)?h[0]:h;u=m.inlineSize,f=m.blockSize}else u=e.offsetWidth,f=e.offsetHeight;o({width:u,height:f})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else o(void 0)},[e]),n}var Dd="Popper",[nv,rv]=ko(Dd),[X8,ov]=nv(Dd),iv=e=>{const{__scopePopper:n,children:o}=e,[i,a]=y.useState(null);return w.jsx(X8,{scope:n,anchor:i,onAnchorChange:a,children:o})};iv.displayName=Dd;var sv="PopperAnchor",av=y.forwardRef((e,n)=>{const{__scopePopper:o,virtualRef:i,...a}=e,l=ov(sv,o),u=y.useRef(null),f=nt(n,u),h=y.useRef(null);return y.useEffect(()=>{const m=h.current;h.current=(i==null?void 0:i.current)||u.current,m!==h.current&&l.onAnchorChange(h.current)}),i?null:w.jsx(Ye.div,{...a,ref:f})});av.displayName=sv;var Td="PopperContent",[G8,K8]=nv(Td),lv=y.forwardRef((e,n)=>{var o,i,a,l,u,f;const{__scopePopper:h,side:m="bottom",sideOffset:v=0,align:x="center",alignOffset:b=0,arrowPadding:C=0,avoidCollisions:N=!0,collisionBoundary:k=[],collisionPadding:j=0,sticky:M="partial",hideWhenDetached:E=!1,updatePositionStrategy:R="optimized",onPlaced:z,...L}=e,A=ov(Td,h),[D,F]=y.useState(null),W=nt(n,Rt=>F(Rt)),[J,oe]=y.useState(null),B=Y8(J),de=(B==null?void 0:B.width)??0,ie=(B==null?void 0:B.height)??0,ue=m+(x!=="center"?"-"+x:""),ae=typeof j=="number"?j:{top:0,right:0,bottom:0,left:0,...j},fe=Array.isArray(k)?k:[k],U=fe.length>0,Q={padding:ae,boundary:fe.filter(Q8),altBoundary:U},{refs:Z,floatingStyles:_,placement:I,isPositioned:G,middlewareData:ee}=_8({strategy:"fixed",placement:ue,whileElementsMounted:(...Rt)=>j8(...Rt,{animationFrame:R==="always"}),elements:{reference:A.anchor},middleware:[T8({mainAxis:v+ie,alignmentAxis:b}),N&&L8({mainAxis:!0,crossAxis:!1,limiter:M==="partial"?F8():void 0,...Q}),N&&$8({...Q}),H8({...Q,apply:({elements:Rt,rects:Yn,availableWidth:Kr,availableHeight:qr})=>{const{width:pr,height:jo}=Yn.reference,Zt=Rt.floating.style;Zt.setProperty("--radix-popper-available-width",`${Kr}px`),Zt.setProperty("--radix-popper-available-height",`${qr}px`),Zt.setProperty("--radix-popper-anchor-width",`${pr}px`),Zt.setProperty("--radix-popper-anchor-height",`${jo}px`)}}),J&&W8({element:J,padding:C}),Z8({arrowWidth:de,arrowHeight:ie}),E&&V8({strategy:"referenceHidden",...Q})]}),[K,ne]=fv(I),se=Lt(z);Kt(()=>{G&&(se==null||se())},[G,se]);const he=(o=ee.arrow)==null?void 0:o.x,ce=(i=ee.arrow)==null?void 0:i.y,Ie=((a=ee.arrow)==null?void 0:a.centerOffset)!==0,[Le,vt]=y.useState();return Kt(()=>{D&&vt(window.getComputedStyle(D).zIndex)},[D]),w.jsx("div",{ref:Z.setFloating,"data-radix-popper-content-wrapper":"",style:{..._,transform:G?_.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Le,"--radix-popper-transform-origin":[(l=ee.transformOrigin)==null?void 0:l.x,(u=ee.transformOrigin)==null?void 0:u.y].join(" "),...((f=ee.hide)==null?void 0:f.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:w.jsx(G8,{scope:h,placedSide:K,onArrowChange:oe,arrowX:he,arrowY:ce,shouldHideArrow:Ie,children:w.jsx(Ye.div,{"data-side":K,"data-align":ne,...L,ref:W,style:{...L.style,animation:G?void 0:"none"}})})})});lv.displayName=Td;var cv="PopperArrow",q8={top:"bottom",right:"left",bottom:"top",left:"right"},uv=y.forwardRef(function(e,n){const{__scopePopper:o,...i}=e,a=K8(cv,o),l=q8[a.placedSide];return w.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:w.jsx(U8,{...i,ref:n,style:{...i.style,display:"block"}})})});uv.displayName=cv;function Q8(e){return e!==null}var Z8=e=>({name:"transformOrigin",options:e,fn(n){var o,i,a;const{placement:l,rects:u,middlewareData:f}=n,h=((o=f.arrow)==null?void 0:o.centerOffset)!==0,m=h?0:e.arrowWidth,v=h?0:e.arrowHeight,[x,b]=fv(l),C={start:"0%",center:"50%",end:"100%"}[b],N=(((i=f.arrow)==null?void 0:i.x)??0)+m/2,k=(((a=f.arrow)==null?void 0:a.y)??0)+v/2;let j="",M="";return x==="bottom"?(j=h?C:`${N}px`,M=`${-v}px`):x==="top"?(j=h?C:`${N}px`,M=`${u.floating.height+v}px`):x==="right"?(j=`${-v}px`,M=h?C:`${k}px`):x==="left"&&(j=`${u.floating.width+v}px`,M=h?C:`${k}px`),{data:{x:j,y:M}}}});function fv(e){const[n,o="center"]=e.split("-");return[n,o]}var J8=iv,dv=av,eS=lv,tS=uv,nS="Portal",Ld=y.forwardRef((e,n)=>{var o;const{container:i,...a}=e,[l,u]=y.useState(!1);Kt(()=>u(!0),[]);const f=i||l&&((o=globalThis==null?void 0:globalThis.document)==null?void 0:o.body);return f?rw.createPortal(w.jsx(Ye.div,{...a,ref:n}),f):null});Ld.displayName=nS;var rS=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},Qo=new WeakMap,Qa=new WeakMap,Za={},Qu=0,pv=function(e){return e&&(e.host||pv(e.parentNode))},oS=function(e,n){return n.map(function(o){if(e.contains(o))return o;var i=pv(o);return i&&e.contains(i)?i:(console.error("aria-hidden",o,"in not contained inside",e,". Doing nothing"),null)}).filter(function(o){return!!o})},iS=function(e,n,o,i){var a=oS(n,Array.isArray(e)?e:[e]);Za[o]||(Za[o]=new WeakMap);var l=Za[o],u=[],f=new Set,h=new Set(a),m=function(x){!x||f.has(x)||(f.add(x),m(x.parentNode))};a.forEach(m);var v=function(x){!x||h.has(x)||Array.prototype.forEach.call(x.children,function(b){if(f.has(b))v(b);else try{var C=b.getAttribute(i),N=C!==null&&C!=="false",k=(Qo.get(b)||0)+1,j=(l.get(b)||0)+1;Qo.set(b,k),l.set(b,j),u.push(b),k===1&&N&&Qa.set(b,!0),j===1&&b.setAttribute(o,"true"),N||b.setAttribute(i,"true")}catch(M){console.error("aria-hidden: cannot operate on ",b,M)}})};return v(n),f.clear(),Qu++,function(){u.forEach(function(x){var b=Qo.get(x)-1,C=l.get(x)-1;Qo.set(x,b),l.set(x,C),b||(Qa.has(x)||x.removeAttribute(i),Qa.delete(x)),C||x.removeAttribute(o)}),Qu--,Qu||(Qo=new WeakMap,Qo=new WeakMap,Qa=new WeakMap,Za={})}},hv=function(e,n,o){o===void 0&&(o="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),a=rS(e);return a?(i.push.apply(i,Array.from(a.querySelectorAll("[aria-live], script"))),iS(i,a,o,"aria-hidden")):function(){return null}},On=function(){return On=Object.assign||function(e){for(var n,o=1,i=arguments.length;o"u")return SS;var n=CS(e),o=document.documentElement.clientWidth,i=window.innerWidth;return{left:n[0],top:n[1],right:n[2],gap:Math.max(0,i-o+n[2]-n[0])}},jS=yv(),si="data-scroll-locked",ES=function(e,n,o,i){var a=e.left,l=e.top,u=e.right,f=e.gap;return o===void 0&&(o="margin"),` - .`.concat(aS,` { + */Te("Zap",[["polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2",key:"45s27k"}]]);const xi=v.forwardRef(({className:e,variant:n,size:r,asChild:i=!1,isLoading:a=!1,children:l,disabled:u,...d},h)=>{const m=i?Gw:"button",y=u||a;return w.jsx(m,{className:Se(Wb({variant:n,size:r,className:e})),ref:h,disabled:y,...d,children:a?w.jsxs(w.Fragment,{children:[w.jsx(Gb,{className:"mr-2 h-4 w-4 animate-spin"}),l]}):l})});xi.displayName="MriButton";const F2=v.forwardRef(({className:e,size:n="default",leftIcon:r,rightIcon:i,error:a,...l},u)=>{const d=!!a,h=typeof a=="string"?a:null;return w.jsxs("div",{className:"w-full space-y-1",children:[w.jsxs("div",{className:"relative flex items-center",children:[r&&w.jsx("div",{className:"absolute left-3 flex items-center justify-center text-muted-foreground pointer-events-none [&>svg]:size-4",children:r}),w.jsx("input",{...l,ref:u,className:Se("w-full rounded-lg border bg-background/50 text-foreground focus:border-ring focus:outline-none placeholder:text-muted-foreground transition-colors disabled:opacity-50",n==="default"?"h-9 text-sm":"h-8 text-xs",r?"pl-9":"px-3",i?"pr-9":"px-3",d?"border-destructive focus:border-destructive":"border-input",e)}),i&&w.jsx("div",{className:"absolute right-3 flex items-center justify-center text-muted-foreground pointer-events-none [&>svg]:size-4",children:i})]}),h&&w.jsx("p",{className:"text-[10px] font-medium text-destructive px-1 animate-in fade-in slide-in-from-top-1",children:h})]})});F2.displayName="MriInput";function Is(e){const n=qb(e),r=v.forwardRef((i,a)=>{const{children:l,...u}=i,d=v.Children.toArray(l),h=d.find(Jb);if(h){const m=h.props.children,y=d.map(x=>x===h?v.Children.count(m)>1?v.Children.only(null):v.isValidElement(m)?m.props.children:null:x);return w.jsx(n,{...u,ref:a,children:v.isValidElement(m)?v.cloneElement(m,void 0,y):null})}return w.jsx(n,{...u,ref:a,children:l})});return r.displayName=`${e}.Slot`,r}function qb(e){const n=v.forwardRef((r,i)=>{const{children:a,...l}=r;if(v.isValidElement(a)){const u=e6(a),d=Zb(l,a.props);return a.type!==v.Fragment&&(d.ref=i?Yr(i,u):u),v.cloneElement(a,d)}return v.Children.count(a)>1?v.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var Qb=Symbol("radix.slottable");function Jb(e){return v.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Qb}function Zb(e,n){const r={...n};for(const i in n){const a=e[i],l=n[i];/^on[A-Z]/.test(i)?a&&l?r[i]=(...u)=>{const d=l(...u);return a(...u),d}:a&&(r[i]=a):i==="style"?r[i]={...a,...l}:i==="className"&&(r[i]=[a,l].filter(Boolean).join(" "))}return{...e,...r}}function e6(e){var n,r;let i=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,a=i&&"isReactWarning"in i&&i.isReactWarning;return a?e.ref:(i=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,a=i&&"isReactWarning"in i&&i.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var t6=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Xe=t6.reduce((e,n)=>{const r=Is(`Primitive.${n}`),i=v.forwardRef((a,l)=>{const{asChild:u,...d}=a,h=u?r:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),w.jsx(h,{...d,ref:l})});return i.displayName=`Primitive.${n}`,{...e,[n]:i}},{});function n6(e,n){e&&If.flushSync(()=>e.dispatchEvent(n))}function r6(e,n){return v.useReducer((r,i)=>n[r][i]??r,e)}var Nn=e=>{const{present:n,children:r}=e,i=o6(n),a=typeof r=="function"?r({present:i.isPresent}):v.Children.only(r),l=rt(i.ref,i6(a));return typeof r=="function"||i.isPresent?v.cloneElement(a,{ref:l}):null};Nn.displayName="Presence";function o6(e){const[n,r]=v.useState(),i=v.useRef(null),a=v.useRef(e),l=v.useRef("none"),u=e?"mounted":"unmounted",[d,h]=r6(u,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return v.useEffect(()=>{const m=il(i.current);l.current=d==="mounted"?m:"none"},[d]),Zt(()=>{const m=i.current,y=a.current;if(y!==e){const x=l.current,b=il(m);e?h("MOUNT"):b==="none"||(m==null?void 0:m.display)==="none"?h("UNMOUNT"):h(y&&x!==b?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,h]),Zt(()=>{if(n){let m;const y=n.ownerDocument.defaultView??window,x=C=>{const N=il(i.current).includes(CSS.escape(C.animationName));if(C.target===n&&N&&(h("ANIMATION_END"),!a.current)){const E=n.style.animationFillMode;n.style.animationFillMode="forwards",m=y.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=E)})}},b=C=>{C.target===n&&(l.current=il(i.current))};return n.addEventListener("animationstart",b),n.addEventListener("animationcancel",x),n.addEventListener("animationend",x),()=>{y.clearTimeout(m),n.removeEventListener("animationstart",b),n.removeEventListener("animationcancel",x),n.removeEventListener("animationend",x)}}else h("ANIMATION_END")},[n,h]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:v.useCallback(m=>{i.current=m?getComputedStyle(m):null,r(m)},[])}}function il(e){return(e==null?void 0:e.animationName)||"none"}function i6(e){var n,r;let i=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,a=i&&"isReactWarning"in i&&i.isReactWarning;return a?e.ref:(i=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,a=i&&"isReactWarning"in i&&i.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}function s6(e,n){const r=v.createContext(n),i=l=>{const{children:u,...d}=l,h=v.useMemo(()=>d,Object.values(d));return w.jsx(r.Provider,{value:h,children:u})};i.displayName=e+"Provider";function a(l){const u=v.useContext(r);if(u)return u;if(n!==void 0)return n;throw new Error(`\`${l}\` must be used within \`${e}\``)}return[i,a]}function Io(e,n=[]){let r=[];function i(l,u){const d=v.createContext(u),h=r.length;r=[...r,u];const m=x=>{var b;const{scope:C,children:N,...E}=x,j=((b=C==null?void 0:C[e])==null?void 0:b[h])||d,A=v.useMemo(()=>E,Object.values(E));return w.jsx(j.Provider,{value:A,children:N})};m.displayName=l+"Provider";function y(x,b){var C;const N=((C=b==null?void 0:b[e])==null?void 0:C[h])||d,E=v.useContext(N);if(E)return E;if(u!==void 0)return u;throw new Error(`\`${x}\` must be used within \`${l}\``)}return[m,y]}const a=()=>{const l=r.map(u=>v.createContext(u));return function(u){const d=(u==null?void 0:u[e])||l;return v.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return a.scopeName=e,[i,a6(a,...n)]}function a6(...e){const n=e[0];if(e.length===1)return n;const r=()=>{const i=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(a){const l=i.reduce((u,{useScope:d,scopeName:h})=>{const m=d(a)[`__scope${h}`];return{...u,...m}},{});return v.useMemo(()=>({[`__scope${n.scopeName}`]:l}),[l])}};return r.scopeName=n.scopeName,r}var l6=v.createContext(void 0);function $2(e){const n=v.useContext(l6);return e||n||"ltr"}function c6(e,[n,r]){return Math.min(r,Math.max(n,e))}function et(e,n,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e==null||e(i),r===!1||!i.defaultPrevented)return n==null?void 0:n(i)}}function u6(e,n){return v.useReducer((r,i)=>n[r][i]??r,e)}var Tf="ScrollArea",[H2]=Io(Tf),[d6,pn]=H2(Tf),V2=v.forwardRef((e,n)=>{const{__scopeScrollArea:r,type:i="hover",dir:a,scrollHideDelay:l=600,...u}=e,[d,h]=v.useState(null),[m,y]=v.useState(null),[x,b]=v.useState(null),[C,N]=v.useState(null),[E,j]=v.useState(null),[A,k]=v.useState(0),[M,P]=v.useState(0),[L,H]=v.useState(!1),[_,F]=v.useState(!1),W=rt(n,ie=>h(ie)),Z=$2(a);return w.jsx(d6,{scope:r,type:i,dir:Z,scrollHideDelay:l,scrollArea:d,viewport:m,onViewportChange:y,content:x,onContentChange:b,scrollbarX:C,onScrollbarXChange:N,scrollbarXEnabled:L,onScrollbarXEnabledChange:H,scrollbarY:E,onScrollbarYChange:j,scrollbarYEnabled:_,onScrollbarYEnabledChange:F,onCornerWidthChange:k,onCornerHeightChange:P,children:w.jsx(Xe.div,{dir:Z,...u,ref:W,style:{position:"relative","--radix-scroll-area-corner-width":A+"px","--radix-scroll-area-corner-height":M+"px",...e.style}})})});V2.displayName=Tf;var B2="ScrollAreaViewport",W2=v.forwardRef((e,n)=>{const{__scopeScrollArea:r,children:i,nonce:a,...l}=e,u=pn(B2,r),d=v.useRef(null),h=rt(n,d,u.onViewportChange);return w.jsxs(w.Fragment,{children:[w.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),w.jsx(Xe.div,{"data-radix-scroll-area-viewport":"",...l,ref:h,style:{overflowX:u.scrollbarXEnabled?"scroll":"hidden",overflowY:u.scrollbarYEnabled?"scroll":"hidden",...e.style},children:w.jsx("div",{ref:u.onContentChange,style:{minWidth:"100%",display:"table"},children:i})})]})});W2.displayName=B2;var Kn="ScrollAreaScrollbar",_f=v.forwardRef((e,n)=>{const{forceMount:r,...i}=e,a=pn(Kn,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:u}=a,d=e.orientation==="horizontal";return v.useEffect(()=>(d?l(!0):u(!0),()=>{d?l(!1):u(!1)}),[d,l,u]),a.type==="hover"?w.jsx(f6,{...i,ref:n,forceMount:r}):a.type==="scroll"?w.jsx(p6,{...i,ref:n,forceMount:r}):a.type==="auto"?w.jsx(U2,{...i,ref:n,forceMount:r}):a.type==="always"?w.jsx(Df,{...i,ref:n}):null});_f.displayName=Kn;var f6=v.forwardRef((e,n)=>{const{forceMount:r,...i}=e,a=pn(Kn,e.__scopeScrollArea),[l,u]=v.useState(!1);return v.useEffect(()=>{const d=a.scrollArea;let h=0;if(d){const m=()=>{window.clearTimeout(h),u(!0)},y=()=>{h=window.setTimeout(()=>u(!1),a.scrollHideDelay)};return d.addEventListener("pointerenter",m),d.addEventListener("pointerleave",y),()=>{window.clearTimeout(h),d.removeEventListener("pointerenter",m),d.removeEventListener("pointerleave",y)}}},[a.scrollArea,a.scrollHideDelay]),w.jsx(Nn,{present:r||l,children:w.jsx(U2,{"data-state":l?"visible":"hidden",...i,ref:n})})}),p6=v.forwardRef((e,n)=>{const{forceMount:r,...i}=e,a=pn(Kn,e.__scopeScrollArea),l=e.orientation==="horizontal",u=Bl(()=>h("SCROLL_END"),100),[d,h]=u6("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return v.useEffect(()=>{if(d==="idle"){const m=window.setTimeout(()=>h("HIDE"),a.scrollHideDelay);return()=>window.clearTimeout(m)}},[d,a.scrollHideDelay,h]),v.useEffect(()=>{const m=a.viewport,y=l?"scrollLeft":"scrollTop";if(m){let x=m[y];const b=()=>{const C=m[y];x!==C&&(h("SCROLL"),u()),x=C};return m.addEventListener("scroll",b),()=>m.removeEventListener("scroll",b)}},[a.viewport,l,h,u]),w.jsx(Nn,{present:r||d!=="hidden",children:w.jsx(Df,{"data-state":d==="hidden"?"hidden":"visible",...i,ref:n,onPointerEnter:et(e.onPointerEnter,()=>h("POINTER_ENTER")),onPointerLeave:et(e.onPointerLeave,()=>h("POINTER_LEAVE"))})})}),U2=v.forwardRef((e,n)=>{const r=pn(Kn,e.__scopeScrollArea),{forceMount:i,...a}=e,[l,u]=v.useState(!1),d=e.orientation==="horizontal",h=Bl(()=>{if(r.viewport){const m=r.viewport.offsetWidth{const{orientation:r="vertical",...i}=e,a=pn(Kn,e.__scopeScrollArea),l=v.useRef(null),u=v.useRef(0),[d,h]=v.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),m=q2(d.viewport,d.content),y={...i,sizes:d,onSizesChange:h,hasThumb:m>0&&m<1,onThumbChange:b=>l.current=b,onThumbPointerUp:()=>u.current=0,onThumbPointerDown:b=>u.current=b};function x(b,C){return x6(b,u.current,d,C)}return r==="horizontal"?w.jsx(h6,{...y,ref:n,onThumbPositionChange:()=>{if(a.viewport&&l.current){const b=a.viewport.scrollLeft,C=o1(b,d,a.dir);l.current.style.transform=`translate3d(${C}px, 0, 0)`}},onWheelScroll:b=>{a.viewport&&(a.viewport.scrollLeft=b)},onDragScroll:b=>{a.viewport&&(a.viewport.scrollLeft=x(b,a.dir))}}):r==="vertical"?w.jsx(m6,{...y,ref:n,onThumbPositionChange:()=>{if(a.viewport&&l.current){const b=a.viewport.scrollTop,C=o1(b,d);l.current.style.transform=`translate3d(0, ${C}px, 0)`}},onWheelScroll:b=>{a.viewport&&(a.viewport.scrollTop=b)},onDragScroll:b=>{a.viewport&&(a.viewport.scrollTop=x(b))}}):null}),h6=v.forwardRef((e,n)=>{const{sizes:r,onSizesChange:i,...a}=e,l=pn(Kn,e.__scopeScrollArea),[u,d]=v.useState(),h=v.useRef(null),m=rt(n,h,l.onScrollbarXChange);return v.useEffect(()=>{h.current&&d(getComputedStyle(h.current))},[h]),w.jsx(X2,{"data-orientation":"horizontal",...a,ref:m,sizes:r,style:{bottom:0,left:l.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:l.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Vl(r)+"px",...e.style},onThumbPointerDown:y=>e.onThumbPointerDown(y.x),onDragScroll:y=>e.onDragScroll(y.x),onWheelScroll:(y,x)=>{if(l.viewport){const b=l.viewport.scrollLeft+y.deltaX;e.onWheelScroll(b),J2(b,x)&&y.preventDefault()}},onResize:()=>{h.current&&l.viewport&&u&&i({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:h.current.clientWidth,paddingStart:Ml(u.paddingLeft),paddingEnd:Ml(u.paddingRight)}})}})}),m6=v.forwardRef((e,n)=>{const{sizes:r,onSizesChange:i,...a}=e,l=pn(Kn,e.__scopeScrollArea),[u,d]=v.useState(),h=v.useRef(null),m=rt(n,h,l.onScrollbarYChange);return v.useEffect(()=>{h.current&&d(getComputedStyle(h.current))},[h]),w.jsx(X2,{"data-orientation":"vertical",...a,ref:m,sizes:r,style:{top:0,right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Vl(r)+"px",...e.style},onThumbPointerDown:y=>e.onThumbPointerDown(y.y),onDragScroll:y=>e.onDragScroll(y.y),onWheelScroll:(y,x)=>{if(l.viewport){const b=l.viewport.scrollTop+y.deltaY;e.onWheelScroll(b),J2(b,x)&&y.preventDefault()}},onResize:()=>{h.current&&l.viewport&&u&&i({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:h.current.clientHeight,paddingStart:Ml(u.paddingTop),paddingEnd:Ml(u.paddingBottom)}})}})}),[g6,Y2]=H2(Kn),X2=v.forwardRef((e,n)=>{const{__scopeScrollArea:r,sizes:i,hasThumb:a,onThumbChange:l,onThumbPointerUp:u,onThumbPointerDown:d,onThumbPositionChange:h,onDragScroll:m,onWheelScroll:y,onResize:x,...b}=e,C=pn(Kn,r),[N,E]=v.useState(null),j=rt(n,W=>E(W)),A=v.useRef(null),k=v.useRef(""),M=C.viewport,P=i.content-i.viewport,L=Ht(y),H=Ht(h),_=Bl(x,10);function F(W){if(A.current){const Z=W.clientX-A.current.left,ie=W.clientY-A.current.top;m({x:Z,y:ie})}}return v.useEffect(()=>{const W=Z=>{const ie=Z.target;N!=null&&N.contains(ie)&&L(Z,P)};return document.addEventListener("wheel",W,{passive:!1}),()=>document.removeEventListener("wheel",W,{passive:!1})},[M,N,P,L]),v.useEffect(H,[i,H]),wi(N,_),wi(C.content,_),w.jsx(g6,{scope:r,scrollbar:N,hasThumb:a,onThumbChange:Ht(l),onThumbPointerUp:Ht(u),onThumbPositionChange:H,onThumbPointerDown:Ht(d),children:w.jsx(Xe.div,{...b,ref:j,style:{position:"absolute",...b.style},onPointerDown:et(e.onPointerDown,W=>{W.button===0&&(W.target.setPointerCapture(W.pointerId),A.current=N.getBoundingClientRect(),k.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",C.viewport&&(C.viewport.style.scrollBehavior="auto"),F(W))}),onPointerMove:et(e.onPointerMove,F),onPointerUp:et(e.onPointerUp,W=>{const Z=W.target;Z.hasPointerCapture(W.pointerId)&&Z.releasePointerCapture(W.pointerId),document.body.style.webkitUserSelect=k.current,C.viewport&&(C.viewport.style.scrollBehavior=""),A.current=null})})})}),Nl="ScrollAreaThumb",G2=v.forwardRef((e,n)=>{const{forceMount:r,...i}=e,a=Y2(Nl,e.__scopeScrollArea);return w.jsx(Nn,{present:r||a.hasThumb,children:w.jsx(y6,{ref:n,...i})})}),y6=v.forwardRef((e,n)=>{const{__scopeScrollArea:r,style:i,...a}=e,l=pn(Nl,r),u=Y2(Nl,r),{onThumbPositionChange:d}=u,h=rt(n,x=>u.onThumbChange(x)),m=v.useRef(void 0),y=Bl(()=>{m.current&&(m.current(),m.current=void 0)},100);return v.useEffect(()=>{const x=l.viewport;if(x){const b=()=>{if(y(),!m.current){const C=w6(x,d);m.current=C,d()}};return d(),x.addEventListener("scroll",b),()=>x.removeEventListener("scroll",b)}},[l.viewport,y,d]),w.jsx(Xe.div,{"data-state":u.hasThumb?"visible":"hidden",...a,ref:h,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:et(e.onPointerDownCapture,x=>{const b=x.target.getBoundingClientRect(),C=x.clientX-b.left,N=x.clientY-b.top;u.onThumbPointerDown({x:C,y:N})}),onPointerUp:et(e.onPointerUp,u.onThumbPointerUp)})});G2.displayName=Nl;var Lf="ScrollAreaCorner",K2=v.forwardRef((e,n)=>{const r=pn(Lf,e.__scopeScrollArea),i=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&i?w.jsx(v6,{...e,ref:n}):null});K2.displayName=Lf;var v6=v.forwardRef((e,n)=>{const{__scopeScrollArea:r,...i}=e,a=pn(Lf,r),[l,u]=v.useState(0),[d,h]=v.useState(0),m=!!(l&&d);return wi(a.scrollbarX,()=>{var y;const x=((y=a.scrollbarX)==null?void 0:y.offsetHeight)||0;a.onCornerHeightChange(x),h(x)}),wi(a.scrollbarY,()=>{var y;const x=((y=a.scrollbarY)==null?void 0:y.offsetWidth)||0;a.onCornerWidthChange(x),u(x)}),m?w.jsx(Xe.div,{...i,ref:n,style:{width:l,height:d,position:"absolute",right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function Ml(e){return e?parseInt(e,10):0}function q2(e,n){const r=e/n;return isNaN(r)?0:r}function Vl(e){const n=q2(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,i=(e.scrollbar.size-r)*n;return Math.max(i,18)}function x6(e,n,r,i="ltr"){const a=Vl(r),l=a/2,u=n||l,d=a-u,h=r.scrollbar.paddingStart+u,m=r.scrollbar.size-r.scrollbar.paddingEnd-d,y=r.content-r.viewport,x=i==="ltr"?[0,y]:[y*-1,0];return Q2([h,m],x)(e)}function o1(e,n,r="ltr"){const i=Vl(n),a=n.scrollbar.paddingStart+n.scrollbar.paddingEnd,l=n.scrollbar.size-a,u=n.content-n.viewport,d=l-i,h=r==="ltr"?[0,u]:[u*-1,0],m=c6(e,h);return Q2([0,u],[0,d])(m)}function Q2(e,n){return r=>{if(e[0]===e[1]||n[0]===n[1])return n[0];const i=(n[1]-n[0])/(e[1]-e[0]);return n[0]+i*(r-e[0])}}function J2(e,n){return e>0&&e{})=>{let r={left:e.scrollLeft,top:e.scrollTop},i=0;return(function a(){const l={left:e.scrollLeft,top:e.scrollTop},u=r.left!==l.left,d=r.top!==l.top;(u||d)&&n(),r=l,i=window.requestAnimationFrame(a)})(),()=>window.cancelAnimationFrame(i)};function Bl(e,n){const r=Ht(e),i=v.useRef(0);return v.useEffect(()=>()=>window.clearTimeout(i.current),[]),v.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(r,n)},[r,n])}function wi(e,n){const r=Ht(n);Zt(()=>{let i=0;if(e){const a=new ResizeObserver(()=>{cancelAnimationFrame(i),i=window.requestAnimationFrame(r)});return a.observe(e),()=>{window.cancelAnimationFrame(i),a.unobserve(e)}}},[e,r])}var Z2=V2,b6=W2,S6=K2;const C6=v.forwardRef(({className:e,children:n,...r},i)=>w.jsxs(Z2,{ref:i,className:Se("relative overflow-hidden",e),...r,children:[w.jsx(b6,{className:"h-full w-full rounded-[inherit]",children:n}),w.jsx(ey,{}),w.jsx(S6,{})]}));C6.displayName=Z2.displayName;const ey=v.forwardRef(({className:e,orientation:n="vertical",...r},i)=>w.jsx(_f,{ref:i,orientation:n,className:Se("flex touch-none select-none transition-colors",n==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",n==="horizontal"&&"h-2.5 border-t border-t-transparent p-[1px]",e),...r,children:w.jsx(G2,{className:"relative flex-1 rounded-full bg-border"})}));ey.displayName=_f.displayName;const ty=v.forwardRef(({checked:e,onCheckedChange:n,disabled:r,size:i="default",className:a,id:l,...u},d)=>{const h=i==="sm"?"w-7 h-4 after:h-3 after:w-3":"w-9 h-5 after:h-4 after:w-4";return w.jsxs("label",{className:Se("relative inline-flex items-center shrink-0",r?"cursor-not-allowed opacity-50":"cursor-pointer",a),children:[w.jsx("input",{ref:d,id:l,type:"checkbox",checked:e,disabled:r,onChange:m=>n(m.target.checked),className:"sr-only peer","aria-label":u["aria-label"]}),w.jsx("div",{className:Se("rounded-full border border-border bg-muted transition-colors","peer-checked:bg-primary peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2 ring-offset-background",'after:content-[""] after:absolute after:top-[2px] after:left-[2px]',"after:bg-white after:rounded-full after:transition-transform","peer-checked:after:translate-x-full",h)})]})});ty.displayName="MriSwitch";const k6=v.forwardRef(({className:e,error:n,hint:r,resize:i="vertical",onChange:a,...l},u)=>{const d=!!n,h=typeof n=="string"?n:null,m=v.useRef(null),y=v.useCallback(C=>{m.current=C,typeof u=="function"?u(C):u&&(u.current=C)},[u]),x=C=>{i==="auto"&&m.current&&(m.current.style.height="auto",m.current.style.height=`${m.current.scrollHeight}px`),a==null||a(C)},b={auto:"resize-none overflow-hidden",vertical:"resize-y",none:"resize-none"}[i];return w.jsxs("div",{className:"w-full space-y-1",children:[w.jsx("textarea",{...l,ref:y,onChange:x,className:Se("w-full rounded-lg border bg-background/50 text-foreground text-sm px-3 py-2","focus:border-ring focus:outline-none placeholder:text-muted-foreground transition-colors","disabled:opacity-50 disabled:cursor-not-allowed",b,d?"border-destructive focus:border-destructive":"border-input",e)}),(h||r)&&w.jsx("p",{className:Se("text-[10px] font-medium px-1",h?"text-destructive animate-in fade-in slide-in-from-top-1":"text-muted-foreground"),children:h||r})]})});k6.displayName="MriTextarea";function j6(e){const n=e+"CollectionProvider",[r,i]=Io(n),[a,l]=r(n,{collectionRef:{current:null},itemMap:new Map}),u=E=>{const{scope:j,children:A}=E,k=ke.useRef(null),M=ke.useRef(new Map).current;return w.jsx(a,{scope:j,itemMap:M,collectionRef:k,children:A})};u.displayName=n;const d=e+"CollectionSlot",h=Is(d),m=ke.forwardRef((E,j)=>{const{scope:A,children:k}=E,M=l(d,A),P=rt(j,M.collectionRef);return w.jsx(h,{ref:P,children:k})});m.displayName=d;const y=e+"CollectionItemSlot",x="data-radix-collection-item",b=Is(y),C=ke.forwardRef((E,j)=>{const{scope:A,children:k,...M}=E,P=ke.useRef(null),L=rt(j,P),H=l(y,A);return ke.useEffect(()=>(H.itemMap.set(P,{ref:P,...M}),()=>void H.itemMap.delete(P))),w.jsx(b,{[x]:"",ref:L,children:k})});C.displayName=y;function N(E){const j=l(e+"CollectionConsumer",E);return ke.useCallback(()=>{const A=j.collectionRef.current;if(!A)return[];const k=Array.from(A.querySelectorAll(`[${x}]`));return Array.from(j.itemMap.values()).sort((M,P)=>k.indexOf(M.ref.current)-k.indexOf(P.ref.current))},[j.collectionRef,j.itemMap])}return[{Provider:u,Slot:m,ItemSlot:C},N,i]}var E6=Sf[" useInsertionEffect ".trim().toString()]||Zt;function Fs({prop:e,defaultProp:n,onChange:r=()=>{},caller:i}){const[a,l,u]=N6({defaultProp:n,onChange:r}),d=e!==void 0,h=d?e:a;{const y=v.useRef(e!==void 0);v.useEffect(()=>{const x=y.current;x!==d&&console.warn(`${i} is changing from ${x?"controlled":"uncontrolled"} to ${d?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),y.current=d},[d,i])}const m=v.useCallback(y=>{var x;if(d){const b=M6(y)?y(e):y;b!==e&&((x=u.current)==null||x.call(u,b))}else l(y)},[d,e,l,u]);return[h,m]}function N6({defaultProp:e,onChange:n}){const[r,i]=v.useState(e),a=v.useRef(r),l=v.useRef(n);return E6(()=>{l.current=n},[n]),v.useEffect(()=>{var u;a.current!==r&&((u=l.current)==null||u.call(l,r),a.current=r)},[r,a]),[r,i,l]}function M6(e){return typeof e=="function"}var A6=Sf[" useId ".trim().toString()]||(()=>{}),P6=0;function fn(e){const[n,r]=v.useState(A6());return Zt(()=>{r(i=>i??String(P6++))},[e]),n?`radix-${n}`:""}var Wl="Collapsible",[R6,ny]=Io(Wl),[I6,Ff]=R6(Wl),ry=v.forwardRef((e,n)=>{const{__scopeCollapsible:r,open:i,defaultOpen:a,disabled:l,onOpenChange:u,...d}=e,[h,m]=Fs({prop:i,defaultProp:a??!1,onChange:u,caller:Wl});return w.jsx(I6,{scope:r,disabled:l,contentId:fn(),open:h,onOpenToggle:v.useCallback(()=>m(y=>!y),[m]),children:w.jsx(Xe.div,{"data-state":Hf(h),"data-disabled":l?"":void 0,...d,ref:n})})});ry.displayName=Wl;var oy="CollapsibleTrigger",iy=v.forwardRef((e,n)=>{const{__scopeCollapsible:r,...i}=e,a=Ff(oy,r);return w.jsx(Xe.button,{type:"button","aria-controls":a.contentId,"aria-expanded":a.open||!1,"data-state":Hf(a.open),"data-disabled":a.disabled?"":void 0,disabled:a.disabled,...i,ref:n,onClick:et(e.onClick,a.onOpenToggle)})});iy.displayName=oy;var $f="CollapsibleContent",sy=v.forwardRef((e,n)=>{const{forceMount:r,...i}=e,a=Ff($f,e.__scopeCollapsible);return w.jsx(Nn,{present:r||a.open,children:({present:l})=>w.jsx(z6,{...i,ref:n,present:l})})});sy.displayName=$f;var z6=v.forwardRef((e,n)=>{const{__scopeCollapsible:r,present:i,children:a,...l}=e,u=Ff($f,r),[d,h]=v.useState(i),m=v.useRef(null),y=rt(n,m),x=v.useRef(0),b=x.current,C=v.useRef(0),N=C.current,E=u.open||d,j=v.useRef(E),A=v.useRef(void 0);return v.useEffect(()=>{const k=requestAnimationFrame(()=>j.current=!1);return()=>cancelAnimationFrame(k)},[]),Zt(()=>{const k=m.current;if(k){A.current=A.current||{transitionDuration:k.style.transitionDuration,animationName:k.style.animationName},k.style.transitionDuration="0s",k.style.animationName="none";const M=k.getBoundingClientRect();x.current=M.height,C.current=M.width,j.current||(k.style.transitionDuration=A.current.transitionDuration,k.style.animationName=A.current.animationName),h(i)}},[u.open,i]),w.jsx(Xe.div,{"data-state":Hf(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!E,...l,ref:y,style:{"--radix-collapsible-content-height":b?`${b}px`:void 0,"--radix-collapsible-content-width":N?`${N}px`:void 0,...e.style},children:E&&a})});function Hf(e){return e?"open":"closed"}var O6=ry,T6=iy,_6=sy,Mn="Accordion",D6=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[Vf,L6,F6]=j6(Mn),[Ul]=Io(Mn,[F6,ny]),Bf=ny(),$6=ke.forwardRef((e,n)=>{const{type:r,...i}=e,a=i,l=i;return w.jsx(Vf.Provider,{scope:e.__scopeAccordion,children:r==="multiple"?w.jsx(W6,{...l,ref:n}):w.jsx(B6,{...a,ref:n})})});$6.displayName=Mn;var[ay,H6]=Ul(Mn),[ly,V6]=Ul(Mn,{collapsible:!1}),B6=ke.forwardRef((e,n)=>{const{value:r,defaultValue:i,onValueChange:a=()=>{},collapsible:l=!1,...u}=e,[d,h]=Fs({prop:r,defaultProp:i??"",onChange:a,caller:Mn});return w.jsx(ay,{scope:e.__scopeAccordion,value:ke.useMemo(()=>d?[d]:[],[d]),onItemOpen:h,onItemClose:ke.useCallback(()=>l&&h(""),[l,h]),children:w.jsx(ly,{scope:e.__scopeAccordion,collapsible:l,children:w.jsx(cy,{...u,ref:n})})})}),W6=ke.forwardRef((e,n)=>{const{value:r,defaultValue:i,onValueChange:a=()=>{},...l}=e,[u,d]=Fs({prop:r,defaultProp:i??[],onChange:a,caller:Mn}),h=ke.useCallback(y=>d((x=[])=>[...x,y]),[d]),m=ke.useCallback(y=>d((x=[])=>x.filter(b=>b!==y)),[d]);return w.jsx(ay,{scope:e.__scopeAccordion,value:u,onItemOpen:h,onItemClose:m,children:w.jsx(ly,{scope:e.__scopeAccordion,collapsible:!0,children:w.jsx(cy,{...l,ref:n})})})}),[U6,Yl]=Ul(Mn),cy=ke.forwardRef((e,n)=>{const{__scopeAccordion:r,disabled:i,dir:a,orientation:l="vertical",...u}=e,d=ke.useRef(null),h=rt(d,n),m=L6(r),y=$2(a)==="ltr",x=et(e.onKeyDown,b=>{var C;if(!D6.includes(b.key))return;const N=b.target,E=m().filter(F=>{var W;return!((W=F.ref.current)!=null&&W.disabled)}),j=E.findIndex(F=>F.ref.current===N),A=E.length;if(j===-1)return;b.preventDefault();let k=j;const M=0,P=A-1,L=()=>{k=j+1,k>P&&(k=M)},H=()=>{k=j-1,k{const{__scopeAccordion:r,value:i,...a}=e,l=Yl(Al,r),u=H6(Al,r),d=Bf(r),h=fn(),m=i&&u.value.includes(i)||!1,y=l.disabled||e.disabled;return w.jsx(Y6,{scope:r,open:m,disabled:y,triggerId:h,children:w.jsx(O6,{"data-orientation":l.orientation,"data-state":gy(m),...d,...a,ref:n,disabled:y,open:m,onOpenChange:x=>{x?u.onItemOpen(i):u.onItemClose(i)}})})});uy.displayName=Al;var dy="AccordionHeader",fy=ke.forwardRef((e,n)=>{const{__scopeAccordion:r,...i}=e,a=Yl(Mn,r),l=Wf(dy,r);return w.jsx(Xe.h3,{"data-orientation":a.orientation,"data-state":gy(l.open),"data-disabled":l.disabled?"":void 0,...i,ref:n})});fy.displayName=dy;var Fd="AccordionTrigger",py=ke.forwardRef((e,n)=>{const{__scopeAccordion:r,...i}=e,a=Yl(Mn,r),l=Wf(Fd,r),u=V6(Fd,r),d=Bf(r);return w.jsx(Vf.ItemSlot,{scope:r,children:w.jsx(T6,{"aria-disabled":l.open&&!u.collapsible||void 0,"data-orientation":a.orientation,id:l.triggerId,...d,...i,ref:n})})});py.displayName=Fd;var hy="AccordionContent",my=ke.forwardRef((e,n)=>{const{__scopeAccordion:r,...i}=e,a=Yl(Mn,r),l=Wf(hy,r),u=Bf(r);return w.jsx(_6,{role:"region","aria-labelledby":l.triggerId,"data-orientation":a.orientation,...u,...i,ref:n,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});my.displayName=hy;function gy(e){return e?"open":"closed"}var X6=uy,G6=fy,yy=py,vy=my;const K6=v.forwardRef(({className:e,...n},r)=>w.jsx(X6,{ref:r,className:Se("border-b border-border_primary",e),...n}));K6.displayName="MriAccordionItem";const q6=v.forwardRef(({className:e,children:n,...r},i)=>w.jsx(G6,{className:"flex",children:w.jsxs(yy,{ref:i,className:Se("flex flex-1 items-center justify-between gap-4 py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",e),...r,children:[n,w.jsx(Xb,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200"})]})}));q6.displayName=yy.displayName;const Q6=v.forwardRef(({className:e,children:n,...r},i)=>w.jsx(vy,{ref:i,className:"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...r,children:w.jsx("div",{className:Se("pb-4 pt-0",e),children:n})}));Q6.displayName=vy.displayName;const J6=v.forwardRef(({className:e,glow:n=!1,children:r,...i},a)=>w.jsxs("div",{ref:a,className:Se("rounded-xl border bg-card text-card-foreground shadow",n&&"relative overflow-hidden group transition-all",e),...i,children:[n&&w.jsx("div",{className:"pointer-events-none absolute inset-0 bg-gradient-to-br from-primary/10 to-transparent opacity-0 transition-opacity duration-500 group-hover:opacity-100"}),n?w.jsx("div",{className:"relative",children:r}):r]}));J6.displayName="MriCard";const Z6=v.forwardRef(({className:e,...n},r)=>w.jsx("div",{ref:r,className:Se("flex flex-col space-y-1.5 p-6",e),...n}));Z6.displayName="MriCardHeader";const eS=v.forwardRef(({className:e,...n},r)=>w.jsx("div",{ref:r,className:Se("font-semibold leading-none tracking-tight",e),...n}));eS.displayName="MriCardTitle";const tS=v.forwardRef(({className:e,...n},r)=>w.jsx("div",{ref:r,className:Se("text-sm text-muted-foreground",e),...n}));tS.displayName="MriCardDescription";const nS=v.forwardRef(({className:e,...n},r)=>w.jsx("div",{ref:r,className:Se("p-6 pt-0",e),...n}));nS.displayName="MriCardContent";const rS=v.forwardRef(({className:e,...n},r)=>w.jsx("div",{ref:r,className:Se("flex items-center p-6 pt-0",e),...n}));rS.displayName="MriCardFooter";function oS(e,n=globalThis==null?void 0:globalThis.document){const r=Ht(e);v.useEffect(()=>{const i=a=>{a.key==="Escape"&&r(a)};return n.addEventListener("keydown",i,{capture:!0}),()=>n.removeEventListener("keydown",i,{capture:!0})},[r,n])}var iS="DismissableLayer",$d="dismissableLayer.update",sS="dismissableLayer.pointerDownOutside",aS="dismissableLayer.focusOutside",i1,xy=v.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Uf=v.forwardRef((e,n)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:l,onInteractOutside:u,onDismiss:d,...h}=e,m=v.useContext(xy),[y,x]=v.useState(null),b=(y==null?void 0:y.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,C]=v.useState({}),N=rt(n,_=>x(_)),E=Array.from(m.layers),[j]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),A=E.indexOf(j),k=y?E.indexOf(y):-1,M=m.layersWithOutsidePointerEventsDisabled.size>0,P=k>=A,L=uS(_=>{const F=_.target,W=[...m.branches].some(Z=>Z.contains(F));!P||W||(a==null||a(_),u==null||u(_),_.defaultPrevented||d==null||d())},b),H=dS(_=>{const F=_.target;[...m.branches].some(W=>W.contains(F))||(l==null||l(_),u==null||u(_),_.defaultPrevented||d==null||d())},b);return oS(_=>{k===m.layers.size-1&&(i==null||i(_),!_.defaultPrevented&&d&&(_.preventDefault(),d()))},b),v.useEffect(()=>{if(y)return r&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(i1=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(y)),m.layers.add(y),s1(),()=>{r&&m.layersWithOutsidePointerEventsDisabled.size===1&&(b.body.style.pointerEvents=i1)}},[y,b,r,m]),v.useEffect(()=>()=>{y&&(m.layers.delete(y),m.layersWithOutsidePointerEventsDisabled.delete(y),s1())},[y,m]),v.useEffect(()=>{const _=()=>C({});return document.addEventListener($d,_),()=>document.removeEventListener($d,_)},[]),w.jsx(Xe.div,{...h,ref:N,style:{pointerEvents:M?P?"auto":"none":void 0,...e.style},onFocusCapture:et(e.onFocusCapture,H.onFocusCapture),onBlurCapture:et(e.onBlurCapture,H.onBlurCapture),onPointerDownCapture:et(e.onPointerDownCapture,L.onPointerDownCapture)})});Uf.displayName=iS;var lS="DismissableLayerBranch",cS=v.forwardRef((e,n)=>{const r=v.useContext(xy),i=v.useRef(null),a=rt(n,i);return v.useEffect(()=>{const l=i.current;if(l)return r.branches.add(l),()=>{r.branches.delete(l)}},[r.branches]),w.jsx(Xe.div,{...e,ref:a})});cS.displayName=lS;function uS(e,n=globalThis==null?void 0:globalThis.document){const r=Ht(e),i=v.useRef(!1),a=v.useRef(()=>{});return v.useEffect(()=>{const l=d=>{if(d.target&&!i.current){let h=function(){wy(sS,r,m,{discrete:!0})};const m={originalEvent:d};d.pointerType==="touch"?(n.removeEventListener("click",a.current),a.current=h,n.addEventListener("click",a.current,{once:!0})):h()}else n.removeEventListener("click",a.current);i.current=!1},u=window.setTimeout(()=>{n.addEventListener("pointerdown",l)},0);return()=>{window.clearTimeout(u),n.removeEventListener("pointerdown",l),n.removeEventListener("click",a.current)}},[n,r]),{onPointerDownCapture:()=>i.current=!0}}function dS(e,n=globalThis==null?void 0:globalThis.document){const r=Ht(e),i=v.useRef(!1);return v.useEffect(()=>{const a=l=>{l.target&&!i.current&&wy(aS,r,{originalEvent:l},{discrete:!1})};return n.addEventListener("focusin",a),()=>n.removeEventListener("focusin",a)},[n,r]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function s1(){const e=new CustomEvent($d);document.dispatchEvent(e)}function wy(e,n,r,{discrete:i}){const a=r.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});n&&a.addEventListener(e,n,{once:!0}),i?n6(a,l):a.dispatchEvent(l)}var sd=0;function by(){v.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??a1()),document.body.insertAdjacentElement("beforeend",e[1]??a1()),sd++,()=>{sd===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(n=>n.remove()),sd--}},[])}function a1(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var ad="focusScope.autoFocusOnMount",ld="focusScope.autoFocusOnUnmount",l1={bubbles:!1,cancelable:!0},fS="FocusScope",Yf=v.forwardRef((e,n)=>{const{loop:r=!1,trapped:i=!1,onMountAutoFocus:a,onUnmountAutoFocus:l,...u}=e,[d,h]=v.useState(null),m=Ht(a),y=Ht(l),x=v.useRef(null),b=rt(n,E=>h(E)),C=v.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;v.useEffect(()=>{if(i){let E=function(M){if(C.paused||!d)return;const P=M.target;d.contains(P)?x.current=P:Hr(x.current,{select:!0})},j=function(M){if(C.paused||!d)return;const P=M.relatedTarget;P!==null&&(d.contains(P)||Hr(x.current,{select:!0}))},A=function(M){if(document.activeElement===document.body)for(const P of M)P.removedNodes.length>0&&Hr(d)};document.addEventListener("focusin",E),document.addEventListener("focusout",j);const k=new MutationObserver(A);return d&&k.observe(d,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",E),document.removeEventListener("focusout",j),k.disconnect()}}},[i,d,C.paused]),v.useEffect(()=>{if(d){u1.add(C);const E=document.activeElement;if(!d.contains(E)){const j=new CustomEvent(ad,l1);d.addEventListener(ad,m),d.dispatchEvent(j),j.defaultPrevented||(pS(vS(Sy(d)),{select:!0}),document.activeElement===E&&Hr(d))}return()=>{d.removeEventListener(ad,m),setTimeout(()=>{const j=new CustomEvent(ld,l1);d.addEventListener(ld,y),d.dispatchEvent(j),j.defaultPrevented||Hr(E??document.body,{select:!0}),d.removeEventListener(ld,y),u1.remove(C)},0)}}},[d,m,y,C]);const N=v.useCallback(E=>{if(!r&&!i||C.paused)return;const j=E.key==="Tab"&&!E.altKey&&!E.ctrlKey&&!E.metaKey,A=document.activeElement;if(j&&A){const k=E.currentTarget,[M,P]=hS(k);M&&P?!E.shiftKey&&A===P?(E.preventDefault(),r&&Hr(M,{select:!0})):E.shiftKey&&A===M&&(E.preventDefault(),r&&Hr(P,{select:!0})):A===k&&E.preventDefault()}},[r,i,C.paused]);return w.jsx(Xe.div,{tabIndex:-1,...u,ref:b,onKeyDown:N})});Yf.displayName=fS;function pS(e,{select:n=!1}={}){const r=document.activeElement;for(const i of e)if(Hr(i,{select:n}),document.activeElement!==r)return}function hS(e){const n=Sy(e),r=c1(n,e),i=c1(n.reverse(),e);return[r,i]}function Sy(e){const n=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const a=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||a?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)n.push(r.currentNode);return n}function c1(e,n){for(const r of e)if(!mS(r,{upTo:n}))return r}function mS(e,{upTo:n}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(n!==void 0&&e===n)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function gS(e){return e instanceof HTMLInputElement&&"select"in e}function Hr(e,{select:n=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&gS(e)&&n&&e.select()}}var u1=yS();function yS(){let e=[];return{add(n){const r=e[0];n!==r&&(r==null||r.pause()),e=d1(e,n),e.unshift(n)},remove(n){var r;e=d1(e,n),(r=e[0])==null||r.resume()}}}function d1(e,n){const r=[...e],i=r.indexOf(n);return i!==-1&&r.splice(i,1),r}function vS(e){return e.filter(n=>n.tagName!=="A")}const xS=["top","right","bottom","left"],Xr=Math.min,qt=Math.max,Pl=Math.round,sl=Math.floor,Un=e=>({x:e,y:e}),wS={left:"right",right:"left",bottom:"top",top:"bottom"},bS={start:"end",end:"start"};function Hd(e,n,r){return qt(e,Xr(n,r))}function pr(e,n){return typeof e=="function"?e(n):e}function hr(e){return e.split("-")[0]}function ji(e){return e.split("-")[1]}function Xf(e){return e==="x"?"y":"x"}function Gf(e){return e==="y"?"height":"width"}const SS=new Set(["top","bottom"]);function $n(e){return SS.has(hr(e))?"y":"x"}function Kf(e){return Xf($n(e))}function CS(e,n,r){r===void 0&&(r=!1);const i=ji(e),a=Kf(e),l=Gf(a);let u=a==="x"?i===(r?"end":"start")?"right":"left":i==="start"?"bottom":"top";return n.reference[l]>n.floating[l]&&(u=Rl(u)),[u,Rl(u)]}function kS(e){const n=Rl(e);return[Vd(e),n,Vd(n)]}function Vd(e){return e.replace(/start|end/g,n=>bS[n])}const f1=["left","right"],p1=["right","left"],jS=["top","bottom"],ES=["bottom","top"];function NS(e,n,r){switch(e){case"top":case"bottom":return r?n?p1:f1:n?f1:p1;case"left":case"right":return n?jS:ES;default:return[]}}function MS(e,n,r,i){const a=ji(e);let l=NS(hr(e),r==="start",i);return a&&(l=l.map(u=>u+"-"+a),n&&(l=l.concat(l.map(Vd)))),l}function Rl(e){return e.replace(/left|right|bottom|top/g,n=>wS[n])}function AS(e){return{top:0,right:0,bottom:0,left:0,...e}}function Cy(e){return typeof e!="number"?AS(e):{top:e,right:e,bottom:e,left:e}}function Il(e){const{x:n,y:r,width:i,height:a}=e;return{width:i,height:a,top:r,left:n,right:n+i,bottom:r+a,x:n,y:r}}function h1(e,n,r){let{reference:i,floating:a}=e;const l=$n(n),u=Kf(n),d=Gf(u),h=hr(n),m=l==="y",y=i.x+i.width/2-a.width/2,x=i.y+i.height/2-a.height/2,b=i[d]/2-a[d]/2;let C;switch(h){case"top":C={x:y,y:i.y-a.height};break;case"bottom":C={x:y,y:i.y+i.height};break;case"right":C={x:i.x+i.width,y:x};break;case"left":C={x:i.x-a.width,y:x};break;default:C={x:i.x,y:i.y}}switch(ji(n)){case"start":C[u]-=b*(r&&m?-1:1);break;case"end":C[u]+=b*(r&&m?-1:1);break}return C}const PS=async(e,n,r)=>{const{placement:i="bottom",strategy:a="absolute",middleware:l=[],platform:u}=r,d=l.filter(Boolean),h=await(u.isRTL==null?void 0:u.isRTL(n));let m=await u.getElementRects({reference:e,floating:n,strategy:a}),{x:y,y:x}=h1(m,i,h),b=i,C={},N=0;for(let E=0;E({name:"arrow",options:e,async fn(n){const{x:r,y:i,placement:a,rects:l,platform:u,elements:d,middlewareData:h}=n,{element:m,padding:y=0}=pr(e,n)||{};if(m==null)return{};const x=Cy(y),b={x:r,y:i},C=Kf(a),N=Gf(C),E=await u.getDimensions(m),j=C==="y",A=j?"top":"left",k=j?"bottom":"right",M=j?"clientHeight":"clientWidth",P=l.reference[N]+l.reference[C]-b[C]-l.floating[N],L=b[C]-l.reference[C],H=await(u.getOffsetParent==null?void 0:u.getOffsetParent(m));let _=H?H[M]:0;(!_||!await(u.isElement==null?void 0:u.isElement(H)))&&(_=d.floating[M]||l.floating[N]);const F=P/2-L/2,W=_/2-E[N]/2-1,Z=Xr(x[A],W),ie=Xr(x[k],W),U=Z,de=_-E[N]-ie,se=_/2-E[N]/2+F,ce=Hd(U,se,de),ae=!h.arrow&&ji(a)!=null&&se!==ce&&l.reference[N]/2-(sese<=0)){var ie,U;const se=(((ie=l.flip)==null?void 0:ie.index)||0)+1,ce=_[se];if(ce&&(!(x==="alignment"&&k!==$n(ce))||Z.every(oe=>$n(oe.placement)===k?oe.overflows[0]>0:!0)))return{data:{index:se,overflows:Z},reset:{placement:ce}};let ae=(U=Z.filter(oe=>oe.overflows[0]<=0).sort((oe,Y)=>oe.overflows[1]-Y.overflows[1])[0])==null?void 0:U.placement;if(!ae)switch(C){case"bestFit":{var de;const oe=(de=Z.filter(Y=>{if(H){const I=$n(Y.placement);return I===k||I==="y"}return!0}).map(Y=>[Y.placement,Y.overflows.filter(I=>I>0).reduce((I,q)=>I+q,0)]).sort((Y,I)=>Y[1]-I[1])[0])==null?void 0:de[0];oe&&(ae=oe);break}case"initialPlacement":ae=d;break}if(a!==ae)return{reset:{placement:ae}}}return{}}}};function m1(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function g1(e){return xS.some(n=>e[n]>=0)}const zS=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:r}=n,{strategy:i="referenceHidden",...a}=pr(e,n);switch(i){case"referenceHidden":{const l=await zs(n,{...a,elementContext:"reference"}),u=m1(l,r.reference);return{data:{referenceHiddenOffsets:u,referenceHidden:g1(u)}}}case"escaped":{const l=await zs(n,{...a,altBoundary:!0}),u=m1(l,r.floating);return{data:{escapedOffsets:u,escaped:g1(u)}}}default:return{}}}}},ky=new Set(["left","top"]);async function OS(e,n){const{placement:r,platform:i,elements:a}=e,l=await(i.isRTL==null?void 0:i.isRTL(a.floating)),u=hr(r),d=ji(r),h=$n(r)==="y",m=ky.has(u)?-1:1,y=l&&h?-1:1,x=pr(n,e);let{mainAxis:b,crossAxis:C,alignmentAxis:N}=typeof x=="number"?{mainAxis:x,crossAxis:0,alignmentAxis:null}:{mainAxis:x.mainAxis||0,crossAxis:x.crossAxis||0,alignmentAxis:x.alignmentAxis};return d&&typeof N=="number"&&(C=d==="end"?N*-1:N),h?{x:C*y,y:b*m}:{x:b*m,y:C*y}}const TS=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var r,i;const{x:a,y:l,placement:u,middlewareData:d}=n,h=await OS(n,e);return u===((r=d.offset)==null?void 0:r.placement)&&(i=d.arrow)!=null&&i.alignmentOffset?{}:{x:a+h.x,y:l+h.y,data:{...h,placement:u}}}}},_S=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:r,y:i,placement:a}=n,{mainAxis:l=!0,crossAxis:u=!1,limiter:d={fn:j=>{let{x:A,y:k}=j;return{x:A,y:k}}},...h}=pr(e,n),m={x:r,y:i},y=await zs(n,h),x=$n(hr(a)),b=Xf(x);let C=m[b],N=m[x];if(l){const j=b==="y"?"top":"left",A=b==="y"?"bottom":"right",k=C+y[j],M=C-y[A];C=Hd(k,C,M)}if(u){const j=x==="y"?"top":"left",A=x==="y"?"bottom":"right",k=N+y[j],M=N-y[A];N=Hd(k,N,M)}const E=d.fn({...n,[b]:C,[x]:N});return{...E,data:{x:E.x-r,y:E.y-i,enabled:{[b]:l,[x]:u}}}}}},DS=function(e){return e===void 0&&(e={}),{options:e,fn(n){const{x:r,y:i,placement:a,rects:l,middlewareData:u}=n,{offset:d=0,mainAxis:h=!0,crossAxis:m=!0}=pr(e,n),y={x:r,y:i},x=$n(a),b=Xf(x);let C=y[b],N=y[x];const E=pr(d,n),j=typeof E=="number"?{mainAxis:E,crossAxis:0}:{mainAxis:0,crossAxis:0,...E};if(h){const M=b==="y"?"height":"width",P=l.reference[b]-l.floating[M]+j.mainAxis,L=l.reference[b]+l.reference[M]-j.mainAxis;CL&&(C=L)}if(m){var A,k;const M=b==="y"?"width":"height",P=ky.has(hr(a)),L=l.reference[x]-l.floating[M]+(P&&((A=u.offset)==null?void 0:A[x])||0)+(P?0:j.crossAxis),H=l.reference[x]+l.reference[M]+(P?0:((k=u.offset)==null?void 0:k[x])||0)-(P?j.crossAxis:0);NH&&(N=H)}return{[b]:C,[x]:N}}}},LS=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){var r,i;const{placement:a,rects:l,platform:u,elements:d}=n,{apply:h=()=>{},...m}=pr(e,n),y=await zs(n,m),x=hr(a),b=ji(a),C=$n(a)==="y",{width:N,height:E}=l.floating;let j,A;x==="top"||x==="bottom"?(j=x,A=b===(await(u.isRTL==null?void 0:u.isRTL(d.floating))?"start":"end")?"left":"right"):(A=x,j=b==="end"?"top":"bottom");const k=E-y.top-y.bottom,M=N-y.left-y.right,P=Xr(E-y[j],k),L=Xr(N-y[A],M),H=!n.middlewareData.shift;let _=P,F=L;if((r=n.middlewareData.shift)!=null&&r.enabled.x&&(F=M),(i=n.middlewareData.shift)!=null&&i.enabled.y&&(_=k),H&&!b){const Z=qt(y.left,0),ie=qt(y.right,0),U=qt(y.top,0),de=qt(y.bottom,0);C?F=N-2*(Z!==0||ie!==0?Z+ie:qt(y.left,y.right)):_=E-2*(U!==0||de!==0?U+de:qt(y.top,y.bottom))}await h({...n,availableWidth:F,availableHeight:_});const W=await u.getDimensions(d.floating);return N!==W.width||E!==W.height?{reset:{rects:!0}}:{}}}};function Xl(){return typeof window<"u"}function Ei(e){return jy(e)?(e.nodeName||"").toLowerCase():"#document"}function Jt(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function qn(e){var n;return(n=(jy(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function jy(e){return Xl()?e instanceof Node||e instanceof Jt(e).Node:!1}function kn(e){return Xl()?e instanceof Element||e instanceof Jt(e).Element:!1}function Yn(e){return Xl()?e instanceof HTMLElement||e instanceof Jt(e).HTMLElement:!1}function y1(e){return!Xl()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Jt(e).ShadowRoot}const FS=new Set(["inline","contents"]);function $s(e){const{overflow:n,overflowX:r,overflowY:i,display:a}=jn(e);return/auto|scroll|overlay|hidden|clip/.test(n+i+r)&&!FS.has(a)}const $S=new Set(["table","td","th"]);function HS(e){return $S.has(Ei(e))}const VS=[":popover-open",":modal"];function Gl(e){return VS.some(n=>{try{return e.matches(n)}catch{return!1}})}const BS=["transform","translate","scale","rotate","perspective"],WS=["transform","translate","scale","rotate","perspective","filter"],US=["paint","layout","strict","content"];function qf(e){const n=Qf(),r=kn(e)?jn(e):e;return BS.some(i=>r[i]?r[i]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!n&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!n&&(r.filter?r.filter!=="none":!1)||WS.some(i=>(r.willChange||"").includes(i))||US.some(i=>(r.contain||"").includes(i))}function YS(e){let n=Gr(e);for(;Yn(n)&&!bi(n);){if(qf(n))return n;if(Gl(n))return null;n=Gr(n)}return null}function Qf(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const XS=new Set(["html","body","#document"]);function bi(e){return XS.has(Ei(e))}function jn(e){return Jt(e).getComputedStyle(e)}function Kl(e){return kn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Gr(e){if(Ei(e)==="html")return e;const n=e.assignedSlot||e.parentNode||y1(e)&&e.host||qn(e);return y1(n)?n.host:n}function Ey(e){const n=Gr(e);return bi(n)?e.ownerDocument?e.ownerDocument.body:e.body:Yn(n)&&$s(n)?n:Ey(n)}function Os(e,n,r){var i;n===void 0&&(n=[]),r===void 0&&(r=!0);const a=Ey(e),l=a===((i=e.ownerDocument)==null?void 0:i.body),u=Jt(a);if(l){const d=Bd(u);return n.concat(u,u.visualViewport||[],$s(a)?a:[],d&&r?Os(d):[])}return n.concat(a,Os(a,[],r))}function Bd(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ny(e){const n=jn(e);let r=parseFloat(n.width)||0,i=parseFloat(n.height)||0;const a=Yn(e),l=a?e.offsetWidth:r,u=a?e.offsetHeight:i,d=Pl(r)!==l||Pl(i)!==u;return d&&(r=l,i=u),{width:r,height:i,$:d}}function Jf(e){return kn(e)?e:e.contextElement}function mi(e){const n=Jf(e);if(!Yn(n))return Un(1);const r=n.getBoundingClientRect(),{width:i,height:a,$:l}=Ny(n);let u=(l?Pl(r.width):r.width)/i,d=(l?Pl(r.height):r.height)/a;return(!u||!Number.isFinite(u))&&(u=1),(!d||!Number.isFinite(d))&&(d=1),{x:u,y:d}}const GS=Un(0);function My(e){const n=Jt(e);return!Qf()||!n.visualViewport?GS:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function KS(e,n,r){return n===void 0&&(n=!1),!r||n&&r!==Jt(e)?!1:n}function No(e,n,r,i){n===void 0&&(n=!1),r===void 0&&(r=!1);const a=e.getBoundingClientRect(),l=Jf(e);let u=Un(1);n&&(i?kn(i)&&(u=mi(i)):u=mi(e));const d=KS(l,r,i)?My(l):Un(0);let h=(a.left+d.x)/u.x,m=(a.top+d.y)/u.y,y=a.width/u.x,x=a.height/u.y;if(l){const b=Jt(l),C=i&&kn(i)?Jt(i):i;let N=b,E=Bd(N);for(;E&&i&&C!==N;){const j=mi(E),A=E.getBoundingClientRect(),k=jn(E),M=A.left+(E.clientLeft+parseFloat(k.paddingLeft))*j.x,P=A.top+(E.clientTop+parseFloat(k.paddingTop))*j.y;h*=j.x,m*=j.y,y*=j.x,x*=j.y,h+=M,m+=P,N=Jt(E),E=Bd(N)}}return Il({width:y,height:x,x:h,y:m})}function ql(e,n){const r=Kl(e).scrollLeft;return n?n.left+r:No(qn(e)).left+r}function Ay(e,n){const r=e.getBoundingClientRect(),i=r.left+n.scrollLeft-ql(e,r),a=r.top+n.scrollTop;return{x:i,y:a}}function qS(e){let{elements:n,rect:r,offsetParent:i,strategy:a}=e;const l=a==="fixed",u=qn(i),d=n?Gl(n.floating):!1;if(i===u||d&&l)return r;let h={scrollLeft:0,scrollTop:0},m=Un(1);const y=Un(0),x=Yn(i);if((x||!x&&!l)&&((Ei(i)!=="body"||$s(u))&&(h=Kl(i)),Yn(i))){const C=No(i);m=mi(i),y.x=C.x+i.clientLeft,y.y=C.y+i.clientTop}const b=u&&!x&&!l?Ay(u,h):Un(0);return{width:r.width*m.x,height:r.height*m.y,x:r.x*m.x-h.scrollLeft*m.x+y.x+b.x,y:r.y*m.y-h.scrollTop*m.y+y.y+b.y}}function QS(e){return Array.from(e.getClientRects())}function JS(e){const n=qn(e),r=Kl(e),i=e.ownerDocument.body,a=qt(n.scrollWidth,n.clientWidth,i.scrollWidth,i.clientWidth),l=qt(n.scrollHeight,n.clientHeight,i.scrollHeight,i.clientHeight);let u=-r.scrollLeft+ql(e);const d=-r.scrollTop;return jn(i).direction==="rtl"&&(u+=qt(n.clientWidth,i.clientWidth)-a),{width:a,height:l,x:u,y:d}}const v1=25;function ZS(e,n){const r=Jt(e),i=qn(e),a=r.visualViewport;let l=i.clientWidth,u=i.clientHeight,d=0,h=0;if(a){l=a.width,u=a.height;const y=Qf();(!y||y&&n==="fixed")&&(d=a.offsetLeft,h=a.offsetTop)}const m=ql(i);if(m<=0){const y=i.ownerDocument,x=y.body,b=getComputedStyle(x),C=y.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,N=Math.abs(i.clientWidth-x.clientWidth-C);N<=v1&&(l-=N)}else m<=v1&&(l+=m);return{width:l,height:u,x:d,y:h}}const e8=new Set(["absolute","fixed"]);function t8(e,n){const r=No(e,!0,n==="fixed"),i=r.top+e.clientTop,a=r.left+e.clientLeft,l=Yn(e)?mi(e):Un(1),u=e.clientWidth*l.x,d=e.clientHeight*l.y,h=a*l.x,m=i*l.y;return{width:u,height:d,x:h,y:m}}function x1(e,n,r){let i;if(n==="viewport")i=ZS(e,r);else if(n==="document")i=JS(qn(e));else if(kn(n))i=t8(n,r);else{const a=My(e);i={x:n.x-a.x,y:n.y-a.y,width:n.width,height:n.height}}return Il(i)}function Py(e,n){const r=Gr(e);return r===n||!kn(r)||bi(r)?!1:jn(r).position==="fixed"||Py(r,n)}function n8(e,n){const r=n.get(e);if(r)return r;let i=Os(e,[],!1).filter(d=>kn(d)&&Ei(d)!=="body"),a=null;const l=jn(e).position==="fixed";let u=l?Gr(e):e;for(;kn(u)&&!bi(u);){const d=jn(u),h=qf(u);!h&&d.position==="fixed"&&(a=null),(l?!h&&!a:!h&&d.position==="static"&&a&&e8.has(a.position)||$s(u)&&!h&&Py(e,u))?i=i.filter(m=>m!==u):a=d,u=Gr(u)}return n.set(e,i),i}function r8(e){let{element:n,boundary:r,rootBoundary:i,strategy:a}=e;const l=[...r==="clippingAncestors"?Gl(n)?[]:n8(n,this._c):[].concat(r),i],u=l[0],d=l.reduce((h,m)=>{const y=x1(n,m,a);return h.top=qt(y.top,h.top),h.right=Xr(y.right,h.right),h.bottom=Xr(y.bottom,h.bottom),h.left=qt(y.left,h.left),h},x1(n,u,a));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function o8(e){const{width:n,height:r}=Ny(e);return{width:n,height:r}}function i8(e,n,r){const i=Yn(n),a=qn(n),l=r==="fixed",u=No(e,!0,l,n);let d={scrollLeft:0,scrollTop:0};const h=Un(0);function m(){h.x=ql(a)}if(i||!i&&!l)if((Ei(n)!=="body"||$s(a))&&(d=Kl(n)),i){const C=No(n,!0,l,n);h.x=C.x+n.clientLeft,h.y=C.y+n.clientTop}else a&&m();l&&!i&&a&&m();const y=a&&!i&&!l?Ay(a,d):Un(0),x=u.left+d.scrollLeft-h.x-y.x,b=u.top+d.scrollTop-h.y-y.y;return{x,y:b,width:u.width,height:u.height}}function cd(e){return jn(e).position==="static"}function w1(e,n){if(!Yn(e)||jn(e).position==="fixed")return null;if(n)return n(e);let r=e.offsetParent;return qn(e)===r&&(r=r.ownerDocument.body),r}function Ry(e,n){const r=Jt(e);if(Gl(e))return r;if(!Yn(e)){let a=Gr(e);for(;a&&!bi(a);){if(kn(a)&&!cd(a))return a;a=Gr(a)}return r}let i=w1(e,n);for(;i&&HS(i)&&cd(i);)i=w1(i,n);return i&&bi(i)&&cd(i)&&!qf(i)?r:i||YS(e)||r}const s8=async function(e){const n=this.getOffsetParent||Ry,r=this.getDimensions,i=await r(e.floating);return{reference:i8(e.reference,await n(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function a8(e){return jn(e).direction==="rtl"}const l8={convertOffsetParentRelativeRectToViewportRelativeRect:qS,getDocumentElement:qn,getClippingRect:r8,getOffsetParent:Ry,getElementRects:s8,getClientRects:QS,getDimensions:o8,getScale:mi,isElement:kn,isRTL:a8};function Iy(e,n){return e.x===n.x&&e.y===n.y&&e.width===n.width&&e.height===n.height}function c8(e,n){let r=null,i;const a=qn(e);function l(){var d;clearTimeout(i),(d=r)==null||d.disconnect(),r=null}function u(d,h){d===void 0&&(d=!1),h===void 0&&(h=1),l();const m=e.getBoundingClientRect(),{left:y,top:x,width:b,height:C}=m;if(d||n(),!b||!C)return;const N=sl(x),E=sl(a.clientWidth-(y+b)),j=sl(a.clientHeight-(x+C)),A=sl(y),k={rootMargin:-N+"px "+-E+"px "+-j+"px "+-A+"px",threshold:qt(0,Xr(1,h))||1};let M=!0;function P(L){const H=L[0].intersectionRatio;if(H!==h){if(!M)return u();H?u(!1,H):i=setTimeout(()=>{u(!1,1e-7)},1e3)}H===1&&!Iy(m,e.getBoundingClientRect())&&u(),M=!1}try{r=new IntersectionObserver(P,{...k,root:a.ownerDocument})}catch{r=new IntersectionObserver(P,k)}r.observe(e)}return u(!0),l}function u8(e,n,r,i){i===void 0&&(i={});const{ancestorScroll:a=!0,ancestorResize:l=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:h=!1}=i,m=Jf(e),y=a||l?[...m?Os(m):[],...Os(n)]:[];y.forEach(A=>{a&&A.addEventListener("scroll",r,{passive:!0}),l&&A.addEventListener("resize",r)});const x=m&&d?c8(m,r):null;let b=-1,C=null;u&&(C=new ResizeObserver(A=>{let[k]=A;k&&k.target===m&&C&&(C.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var M;(M=C)==null||M.observe(n)})),r()}),m&&!h&&C.observe(m),C.observe(n));let N,E=h?No(e):null;h&&j();function j(){const A=No(e);E&&!Iy(E,A)&&r(),E=A,N=requestAnimationFrame(j)}return r(),()=>{var A;y.forEach(k=>{a&&k.removeEventListener("scroll",r),l&&k.removeEventListener("resize",r)}),x==null||x(),(A=C)==null||A.disconnect(),C=null,h&&cancelAnimationFrame(N)}}const d8=TS,f8=_S,p8=IS,h8=LS,m8=zS,b1=RS,g8=DS,y8=(e,n,r)=>{const i=new Map,a={platform:l8,...r},l={...a.platform,_c:i};return PS(e,n,{...a,platform:l})};var v8=typeof document<"u",x8=function(){},yl=v8?v.useLayoutEffect:x8;function zl(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let r,i,a;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==n.length)return!1;for(i=r;i--!==0;)if(!zl(e[i],n[i]))return!1;return!0}if(a=Object.keys(e),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!{}.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){const l=a[i];if(!(l==="_owner"&&e.$$typeof)&&!zl(e[l],n[l]))return!1}return!0}return e!==e&&n!==n}function zy(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function S1(e,n){const r=zy(e);return Math.round(n*r)/r}function ud(e){const n=v.useRef(e);return yl(()=>{n.current=e}),n}function w8(e){e===void 0&&(e={});const{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:a,elements:{reference:l,floating:u}={},transform:d=!0,whileElementsMounted:h,open:m}=e,[y,x]=v.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[b,C]=v.useState(i);zl(b,i)||C(i);const[N,E]=v.useState(null),[j,A]=v.useState(null),k=v.useCallback(Y=>{Y!==H.current&&(H.current=Y,E(Y))},[]),M=v.useCallback(Y=>{Y!==_.current&&(_.current=Y,A(Y))},[]),P=l||N,L=u||j,H=v.useRef(null),_=v.useRef(null),F=v.useRef(y),W=h!=null,Z=ud(h),ie=ud(a),U=ud(m),de=v.useCallback(()=>{if(!H.current||!_.current)return;const Y={placement:n,strategy:r,middleware:b};ie.current&&(Y.platform=ie.current),y8(H.current,_.current,Y).then(I=>{const q={...I,isPositioned:U.current!==!1};se.current&&!zl(F.current,q)&&(F.current=q,If.flushSync(()=>{x(q)}))})},[b,n,r,ie,U]);yl(()=>{m===!1&&F.current.isPositioned&&(F.current.isPositioned=!1,x(Y=>({...Y,isPositioned:!1})))},[m]);const se=v.useRef(!1);yl(()=>(se.current=!0,()=>{se.current=!1}),[]),yl(()=>{if(P&&(H.current=P),L&&(_.current=L),P&&L){if(Z.current)return Z.current(P,L,de);de()}},[P,L,de,Z,W]);const ce=v.useMemo(()=>({reference:H,floating:_,setReference:k,setFloating:M}),[k,M]),ae=v.useMemo(()=>({reference:P,floating:L}),[P,L]),oe=v.useMemo(()=>{const Y={position:r,left:0,top:0};if(!ae.floating)return Y;const I=S1(ae.floating,y.x),q=S1(ae.floating,y.y);return d?{...Y,transform:"translate("+I+"px, "+q+"px)",...zy(ae.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:I,top:q}},[r,d,ae.floating,y.x,y.y]);return v.useMemo(()=>({...y,update:de,refs:ce,elements:ae,floatingStyles:oe}),[y,de,ce,ae,oe])}const b8=e=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:i,padding:a}=typeof e=="function"?e(r):e;return i&&n(i)?i.current!=null?b1({element:i.current,padding:a}).fn(r):{}:i?b1({element:i,padding:a}).fn(r):{}}}},S8=(e,n)=>({...d8(e),options:[e,n]}),C8=(e,n)=>({...f8(e),options:[e,n]}),k8=(e,n)=>({...g8(e),options:[e,n]}),j8=(e,n)=>({...p8(e),options:[e,n]}),E8=(e,n)=>({...h8(e),options:[e,n]}),N8=(e,n)=>({...m8(e),options:[e,n]}),M8=(e,n)=>({...b8(e),options:[e,n]});var A8="Arrow",Oy=v.forwardRef((e,n)=>{const{children:r,width:i=10,height:a=5,...l}=e;return w.jsx(Xe.svg,{...l,ref:n,width:i,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:w.jsx("polygon",{points:"0,0 30,0 15,10"})})});Oy.displayName=A8;var P8=Oy;function R8(e){const[n,r]=v.useState(void 0);return Zt(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(a=>{if(!Array.isArray(a)||!a.length)return;const l=a[0];let u,d;if("borderBoxSize"in l){const h=l.borderBoxSize,m=Array.isArray(h)?h[0]:h;u=m.inlineSize,d=m.blockSize}else u=e.offsetWidth,d=e.offsetHeight;r({width:u,height:d})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else r(void 0)},[e]),n}var Zf="Popper",[Ty,_y]=Io(Zf),[I8,Dy]=Ty(Zf),Ly=e=>{const{__scopePopper:n,children:r}=e,[i,a]=v.useState(null);return w.jsx(I8,{scope:n,anchor:i,onAnchorChange:a,children:r})};Ly.displayName=Zf;var Fy="PopperAnchor",$y=v.forwardRef((e,n)=>{const{__scopePopper:r,virtualRef:i,...a}=e,l=Dy(Fy,r),u=v.useRef(null),d=rt(n,u),h=v.useRef(null);return v.useEffect(()=>{const m=h.current;h.current=(i==null?void 0:i.current)||u.current,m!==h.current&&l.onAnchorChange(h.current)}),i?null:w.jsx(Xe.div,{...a,ref:d})});$y.displayName=Fy;var e0="PopperContent",[z8,O8]=Ty(e0),Hy=v.forwardRef((e,n)=>{var r,i,a,l,u,d;const{__scopePopper:h,side:m="bottom",sideOffset:y=0,align:x="center",alignOffset:b=0,arrowPadding:C=0,avoidCollisions:N=!0,collisionBoundary:E=[],collisionPadding:j=0,sticky:A="partial",hideWhenDetached:k=!1,updatePositionStrategy:M="optimized",onPlaced:P,...L}=e,H=Dy(e0,h),[_,F]=v.useState(null),W=rt(n,Ot=>F(Ot)),[Z,ie]=v.useState(null),U=R8(Z),de=(U==null?void 0:U.width)??0,se=(U==null?void 0:U.height)??0,ce=m+(x!=="center"?"-"+x:""),ae=typeof j=="number"?j:{top:0,right:0,bottom:0,left:0,...j},oe=Array.isArray(E)?E:[E],Y=oe.length>0,I={padding:ae,boundary:oe.filter(_8),altBoundary:Y},{refs:q,floatingStyles:T,placement:z,isPositioned:K,middlewareData:ee}=w8({strategy:"fixed",placement:ce,whileElementsMounted:(...Ot)=>u8(...Ot,{animationFrame:M==="always"}),elements:{reference:H.anchor},middleware:[S8({mainAxis:y+se,alignmentAxis:b}),N&&C8({mainAxis:!0,crossAxis:!1,limiter:A==="partial"?k8():void 0,...I}),N&&j8({...I}),E8({...I,apply:({elements:Ot,rects:Qn,availableWidth:eo,availableHeight:to})=>{const{width:vr,height:zo}=Qn.reference,nn=Ot.floating.style;nn.setProperty("--radix-popper-available-width",`${eo}px`),nn.setProperty("--radix-popper-available-height",`${to}px`),nn.setProperty("--radix-popper-anchor-width",`${vr}px`),nn.setProperty("--radix-popper-anchor-height",`${zo}px`)}}),Z&&M8({element:Z,padding:C}),D8({arrowWidth:de,arrowHeight:se}),k&&N8({strategy:"referenceHidden",...I})]}),[Q,ne]=Wy(z),le=Ht(P);Zt(()=>{K&&(le==null||le())},[K,le]);const he=(r=ee.arrow)==null?void 0:r.x,fe=(i=ee.arrow)==null?void 0:i.y,Ie=((a=ee.arrow)==null?void 0:a.centerOffset)!==0,[Le,vt]=v.useState();return Zt(()=>{_&&vt(window.getComputedStyle(_).zIndex)},[_]),w.jsx("div",{ref:q.setFloating,"data-radix-popper-content-wrapper":"",style:{...T,transform:K?T.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Le,"--radix-popper-transform-origin":[(l=ee.transformOrigin)==null?void 0:l.x,(u=ee.transformOrigin)==null?void 0:u.y].join(" "),...((d=ee.hide)==null?void 0:d.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:w.jsx(z8,{scope:h,placedSide:Q,onArrowChange:ie,arrowX:he,arrowY:fe,shouldHideArrow:Ie,children:w.jsx(Xe.div,{"data-side":Q,"data-align":ne,...L,ref:W,style:{...L.style,animation:K?void 0:"none"}})})})});Hy.displayName=e0;var Vy="PopperArrow",T8={top:"bottom",right:"left",bottom:"top",left:"right"},By=v.forwardRef(function(e,n){const{__scopePopper:r,...i}=e,a=O8(Vy,r),l=T8[a.placedSide];return w.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:w.jsx(P8,{...i,ref:n,style:{...i.style,display:"block"}})})});By.displayName=Vy;function _8(e){return e!==null}var D8=e=>({name:"transformOrigin",options:e,fn(n){var r,i,a;const{placement:l,rects:u,middlewareData:d}=n,h=((r=d.arrow)==null?void 0:r.centerOffset)!==0,m=h?0:e.arrowWidth,y=h?0:e.arrowHeight,[x,b]=Wy(l),C={start:"0%",center:"50%",end:"100%"}[b],N=(((i=d.arrow)==null?void 0:i.x)??0)+m/2,E=(((a=d.arrow)==null?void 0:a.y)??0)+y/2;let j="",A="";return x==="bottom"?(j=h?C:`${N}px`,A=`${-y}px`):x==="top"?(j=h?C:`${N}px`,A=`${u.floating.height+y}px`):x==="right"?(j=`${-y}px`,A=h?C:`${E}px`):x==="left"&&(j=`${u.floating.width+y}px`,A=h?C:`${E}px`),{data:{x:j,y:A}}}});function Wy(e){const[n,r="center"]=e.split("-");return[n,r]}var L8=Ly,Uy=$y,F8=Hy,$8=By,H8="Portal",t0=v.forwardRef((e,n)=>{var r;const{container:i,...a}=e,[l,u]=v.useState(!1);Zt(()=>u(!0),[]);const d=i||l&&((r=globalThis==null?void 0:globalThis.document)==null?void 0:r.body);return d?Vw.createPortal(w.jsx(Xe.div,{...a,ref:n}),d):null});t0.displayName=H8;var V8=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},si=new WeakMap,al=new WeakMap,ll={},dd=0,Yy=function(e){return e&&(e.host||Yy(e.parentNode))},B8=function(e,n){return n.map(function(r){if(e.contains(r))return r;var i=Yy(r);return i&&e.contains(i)?i:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},W8=function(e,n,r,i){var a=B8(n,Array.isArray(e)?e:[e]);ll[r]||(ll[r]=new WeakMap);var l=ll[r],u=[],d=new Set,h=new Set(a),m=function(x){!x||d.has(x)||(d.add(x),m(x.parentNode))};a.forEach(m);var y=function(x){!x||h.has(x)||Array.prototype.forEach.call(x.children,function(b){if(d.has(b))y(b);else try{var C=b.getAttribute(i),N=C!==null&&C!=="false",E=(si.get(b)||0)+1,j=(l.get(b)||0)+1;si.set(b,E),l.set(b,j),u.push(b),E===1&&N&&al.set(b,!0),j===1&&b.setAttribute(r,"true"),N||b.setAttribute(i,"true")}catch(A){console.error("aria-hidden: cannot operate on ",b,A)}})};return y(n),d.clear(),dd++,function(){u.forEach(function(x){var b=si.get(x)-1,C=l.get(x)-1;si.set(x,b),l.set(x,C),b||(al.has(x)||x.removeAttribute(i),al.delete(x)),C||x.removeAttribute(r)}),dd--,dd||(si=new WeakMap,si=new WeakMap,al=new WeakMap,ll={})}},Xy=function(e,n,r){r===void 0&&(r="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),a=V8(e);return a?(i.push.apply(i,Array.from(a.querySelectorAll("[aria-live], script"))),W8(i,a,r,"aria-hidden")):function(){return null}},Fn=function(){return Fn=Object.assign||function(e){for(var n,r=1,i=arguments.length;r"u")return aC;var n=lC(e),r=document.documentElement.clientWidth,i=window.innerWidth;return{left:n[0],top:n[1],right:n[2],gap:Math.max(0,i-r+n[2]-n[0])}},uC=Qy(),gi="data-scroll-locked",dC=function(e,n,r,i){var a=e.left,l=e.top,u=e.right,d=e.gap;return r===void 0&&(r="margin"),` + .`.concat(Y8,` { overflow: hidden `).concat(i,`; - padding-right: `).concat(f,"px ").concat(i,`; + padding-right: `).concat(d,"px ").concat(i,`; } - body[`).concat(si,`] { + body[`).concat(gi,`] { overflow: hidden `).concat(i,`; overscroll-behavior: contain; - `).concat([n&&"position: relative ".concat(i,";"),o==="margin"&&` + `).concat([n&&"position: relative ".concat(i,";"),r==="margin"&&` padding-left: `.concat(a,`px; padding-top: `).concat(l,`px; padding-right: `).concat(u,`px; margin-left:0; margin-top:0; - margin-right: `).concat(f,"px ").concat(i,`; - `),o==="padding"&&"padding-right: ".concat(f,"px ").concat(i,";")].filter(Boolean).join(""),` + margin-right: `).concat(d,"px ").concat(i,`; + `),r==="padding"&&"padding-right: ".concat(d,"px ").concat(i,";")].filter(Boolean).join(""),` } - .`).concat(sl,` { - right: `).concat(f,"px ").concat(i,`; + .`).concat(vl,` { + right: `).concat(d,"px ").concat(i,`; } - .`).concat(al,` { - margin-right: `).concat(f,"px ").concat(i,`; + .`).concat(xl,` { + margin-right: `).concat(d,"px ").concat(i,`; } - .`).concat(sl," .").concat(sl,` { + .`).concat(vl," .").concat(vl,` { right: 0 `).concat(i,`; } - .`).concat(al," .").concat(al,` { + .`).concat(xl," .").concat(xl,` { margin-right: 0 `).concat(i,`; } - body[`).concat(si,`] { - `).concat(lS,": ").concat(f,`px; + body[`).concat(gi,`] { + `).concat(X8,": ").concat(d,`px; } -`)},t1=function(){var e=parseInt(document.body.getAttribute(si)||"0",10);return isFinite(e)?e:0},NS=function(){y.useEffect(function(){return document.body.setAttribute(si,(t1()+1).toString()),function(){var e=t1()-1;e<=0?document.body.removeAttribute(si):document.body.setAttribute(si,e.toString())}},[])},MS=function(e){var n=e.noRelative,o=e.noImportant,i=e.gapMode,a=i===void 0?"margin":i;NS();var l=y.useMemo(function(){return kS(a)},[a]);return y.createElement(jS,{styles:ES(l,!n,a,o?"":"!important")})},Pf=!1;if(typeof window<"u")try{var Ja=Object.defineProperty({},"passive",{get:function(){return Pf=!0,!0}});window.addEventListener("test",Ja,Ja),window.removeEventListener("test",Ja,Ja)}catch{Pf=!1}var Zo=Pf?{passive:!1}:!1,AS=function(e){return e.tagName==="TEXTAREA"},xv=function(e,n){if(!(e instanceof Element))return!1;var o=window.getComputedStyle(e);return o[n]!=="hidden"&&!(o.overflowY===o.overflowX&&!AS(e)&&o[n]==="visible")},PS=function(e){return xv(e,"overflowY")},RS=function(e){return xv(e,"overflowX")},n1=function(e,n){var o=n.ownerDocument,i=n;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var a=wv(e,i);if(a){var l=bv(e,i),u=l[1],f=l[2];if(u>f)return!0}i=i.parentNode}while(i&&i!==o.body);return!1},IS=function(e){var n=e.scrollTop,o=e.scrollHeight,i=e.clientHeight;return[n,o,i]},zS=function(e){var n=e.scrollLeft,o=e.scrollWidth,i=e.clientWidth;return[n,o,i]},wv=function(e,n){return e==="v"?PS(n):RS(n)},bv=function(e,n){return e==="v"?IS(n):zS(n)},OS=function(e,n){return e==="h"&&n==="rtl"?-1:1},_S=function(e,n,o,i,a){var l=OS(e,window.getComputedStyle(n).direction),u=l*i,f=o.target,h=n.contains(f),m=!1,v=u>0,x=0,b=0;do{if(!f)break;var C=bv(e,f),N=C[0],k=C[1],j=C[2],M=k-j-l*N;(N||M)&&wv(e,f)&&(x+=M,b+=N);var E=f.parentNode;f=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!h&&f!==document.body||h&&(n.contains(f)||n===f));return(v&&Math.abs(x)<1||!v&&Math.abs(b)<1)&&(m=!0),m},el=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},r1=function(e){return[e.deltaX,e.deltaY]},o1=function(e){return e&&"current"in e?e.current:e},DS=function(e,n){return e[0]===n[0]&&e[1]===n[1]},TS=function(e){return` +`)},k1=function(){var e=parseInt(document.body.getAttribute(gi)||"0",10);return isFinite(e)?e:0},fC=function(){v.useEffect(function(){return document.body.setAttribute(gi,(k1()+1).toString()),function(){var e=k1()-1;e<=0?document.body.removeAttribute(gi):document.body.setAttribute(gi,e.toString())}},[])},pC=function(e){var n=e.noRelative,r=e.noImportant,i=e.gapMode,a=i===void 0?"margin":i;fC();var l=v.useMemo(function(){return cC(a)},[a]);return v.createElement(uC,{styles:dC(l,!n,a,r?"":"!important")})},Wd=!1;if(typeof window<"u")try{var cl=Object.defineProperty({},"passive",{get:function(){return Wd=!0,!0}});window.addEventListener("test",cl,cl),window.removeEventListener("test",cl,cl)}catch{Wd=!1}var ai=Wd?{passive:!1}:!1,hC=function(e){return e.tagName==="TEXTAREA"},Jy=function(e,n){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[n]!=="hidden"&&!(r.overflowY===r.overflowX&&!hC(e)&&r[n]==="visible")},mC=function(e){return Jy(e,"overflowY")},gC=function(e){return Jy(e,"overflowX")},j1=function(e,n){var r=n.ownerDocument,i=n;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var a=Zy(e,i);if(a){var l=ev(e,i),u=l[1],d=l[2];if(u>d)return!0}i=i.parentNode}while(i&&i!==r.body);return!1},yC=function(e){var n=e.scrollTop,r=e.scrollHeight,i=e.clientHeight;return[n,r,i]},vC=function(e){var n=e.scrollLeft,r=e.scrollWidth,i=e.clientWidth;return[n,r,i]},Zy=function(e,n){return e==="v"?mC(n):gC(n)},ev=function(e,n){return e==="v"?yC(n):vC(n)},xC=function(e,n){return e==="h"&&n==="rtl"?-1:1},wC=function(e,n,r,i,a){var l=xC(e,window.getComputedStyle(n).direction),u=l*i,d=r.target,h=n.contains(d),m=!1,y=u>0,x=0,b=0;do{if(!d)break;var C=ev(e,d),N=C[0],E=C[1],j=C[2],A=E-j-l*N;(N||A)&&Zy(e,d)&&(x+=A,b+=N);var k=d.parentNode;d=k&&k.nodeType===Node.DOCUMENT_FRAGMENT_NODE?k.host:k}while(!h&&d!==document.body||h&&(n.contains(d)||n===d));return(y&&Math.abs(x)<1||!y&&Math.abs(b)<1)&&(m=!0),m},ul=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},E1=function(e){return[e.deltaX,e.deltaY]},N1=function(e){return e&&"current"in e?e.current:e},bC=function(e,n){return e[0]===n[0]&&e[1]===n[1]},SC=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},LS=0,Jo=[];function FS(e){var n=y.useRef([]),o=y.useRef([0,0]),i=y.useRef(),a=y.useState(LS++)[0],l=y.useState(yv)[0],u=y.useRef(e);y.useEffect(function(){u.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var k=sS([e.lockRef.current],(e.shards||[]).map(o1)).filter(Boolean);return k.forEach(function(j){return j.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),k.forEach(function(j){return j.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var f=y.useCallback(function(k,j){if("touches"in k&&k.touches.length===2||k.type==="wheel"&&k.ctrlKey)return!u.current.allowPinchZoom;var M=el(k),E=o.current,R="deltaX"in k?k.deltaX:E[0]-M[0],z="deltaY"in k?k.deltaY:E[1]-M[1],L,A=k.target,D=Math.abs(R)>Math.abs(z)?"h":"v";if("touches"in k&&D==="h"&&A.type==="range")return!1;var F=window.getSelection(),W=F&&F.anchorNode,J=W?W===A||W.contains(A):!1;if(J)return!1;var oe=n1(D,A);if(!oe)return!0;if(oe?L=D:(L=D==="v"?"h":"v",oe=n1(D,A)),!oe)return!1;if(!i.current&&"changedTouches"in k&&(R||z)&&(i.current=L),!L)return!0;var B=i.current||L;return _S(B,j,k,B==="h"?R:z)},[]),h=y.useCallback(function(k){var j=k;if(!(!Jo.length||Jo[Jo.length-1]!==l)){var M="deltaY"in j?r1(j):el(j),E=n.current.filter(function(L){return L.name===j.type&&(L.target===j.target||j.target===L.shadowParent)&&DS(L.delta,M)})[0];if(E&&E.should){j.cancelable&&j.preventDefault();return}if(!E){var R=(u.current.shards||[]).map(o1).filter(Boolean).filter(function(L){return L.contains(j.target)}),z=R.length>0?f(j,R[0]):!u.current.noIsolation;z&&j.cancelable&&j.preventDefault()}}},[]),m=y.useCallback(function(k,j,M,E){var R={name:k,delta:j,target:M,should:E,shadowParent:$S(M)};n.current.push(R),setTimeout(function(){n.current=n.current.filter(function(z){return z!==R})},1)},[]),v=y.useCallback(function(k){o.current=el(k),i.current=void 0},[]),x=y.useCallback(function(k){m(k.type,r1(k),k.target,f(k,e.lockRef.current))},[]),b=y.useCallback(function(k){m(k.type,el(k),k.target,f(k,e.lockRef.current))},[]);y.useEffect(function(){return Jo.push(l),e.setCallbacks({onScrollCapture:x,onWheelCapture:x,onTouchMoveCapture:b}),document.addEventListener("wheel",h,Zo),document.addEventListener("touchmove",h,Zo),document.addEventListener("touchstart",v,Zo),function(){Jo=Jo.filter(function(k){return k!==l}),document.removeEventListener("wheel",h,Zo),document.removeEventListener("touchmove",h,Zo),document.removeEventListener("touchstart",v,Zo)}},[]);var C=e.removeScrollBar,N=e.inert;return y.createElement(y.Fragment,null,N?y.createElement(l,{styles:TS(a)}):null,C?y.createElement(MS,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function $S(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const HS=mS(vv,FS);var Fd=y.forwardRef(function(e,n){return y.createElement(Fl,On({},e,{ref:n,sideCar:HS}))});Fd.classNames=Fl.classNames;var $l="Popover",[Sv]=ko($l,[rv]),Ps=rv(),[VS,Gr]=Sv($l),Cv=e=>{const{__scopePopover:n,children:o,open:i,defaultOpen:a,onOpenChange:l,modal:u=!1}=e,f=Ps(n),h=y.useRef(null),[m,v]=y.useState(!1),[x,b]=Ms({prop:i,defaultProp:a??!1,onChange:l,caller:$l});return w.jsx(J8,{...f,children:w.jsx(VS,{scope:n,contentId:ln(),triggerRef:h,open:x,onOpenChange:b,onOpenToggle:y.useCallback(()=>b(C=>!C),[b]),hasCustomAnchor:m,onCustomAnchorAdd:y.useCallback(()=>v(!0),[]),onCustomAnchorRemove:y.useCallback(()=>v(!1),[]),modal:u,children:o})})};Cv.displayName=$l;var kv="PopoverAnchor",WS=y.forwardRef((e,n)=>{const{__scopePopover:o,...i}=e,a=Gr(kv,o),l=Ps(o),{onCustomAnchorAdd:u,onCustomAnchorRemove:f}=a;return y.useEffect(()=>(u(),()=>f()),[u,f]),w.jsx(dv,{...l,...i,ref:n})});WS.displayName=kv;var jv="PopoverTrigger",Ev=y.forwardRef((e,n)=>{const{__scopePopover:o,...i}=e,a=Gr(jv,o),l=Ps(o),u=nt(n,a.triggerRef),f=w.jsx(Ye.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":Rv(a.open),...i,ref:u,onClick:Je(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?f:w.jsx(dv,{asChild:!0,...l,children:f})});Ev.displayName=jv;var $d="PopoverPortal",[BS,US]=Sv($d,{forceMount:void 0}),Nv=e=>{const{__scopePopover:n,forceMount:o,children:i,container:a}=e,l=Gr($d,n);return w.jsx(BS,{scope:n,forceMount:o,children:w.jsx(Cn,{present:o||l.open,children:w.jsx(Ld,{asChild:!0,container:a,children:i})})})};Nv.displayName=$d;var fi="PopoverContent",Mv=y.forwardRef((e,n)=>{const o=US(fi,e.__scopePopover),{forceMount:i=o.forceMount,...a}=e,l=Gr(fi,e.__scopePopover);return w.jsx(Cn,{present:i||l.open,children:l.modal?w.jsx(XS,{...a,ref:n}):w.jsx(GS,{...a,ref:n})})});Mv.displayName=fi;var YS=ws("PopoverContent.RemoveScroll"),XS=y.forwardRef((e,n)=>{const o=Gr(fi,e.__scopePopover),i=y.useRef(null),a=nt(n,i),l=y.useRef(!1);return y.useEffect(()=>{const u=i.current;if(u)return hv(u)},[]),w.jsx(Fd,{as:YS,allowPinchZoom:!0,children:w.jsx(Av,{...e,ref:a,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Je(e.onCloseAutoFocus,u=>{var f;u.preventDefault(),l.current||(f=o.triggerRef.current)==null||f.focus()}),onPointerDownOutside:Je(e.onPointerDownOutside,u=>{const f=u.detail.originalEvent,h=f.button===0&&f.ctrlKey===!0,m=f.button===2||h;l.current=m},{checkForDefaultPrevented:!1}),onFocusOutside:Je(e.onFocusOutside,u=>u.preventDefault(),{checkForDefaultPrevented:!1})})})}),GS=y.forwardRef((e,n)=>{const o=Gr(fi,e.__scopePopover),i=y.useRef(!1),a=y.useRef(!1);return w.jsx(Av,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{var u,f;(u=e.onCloseAutoFocus)==null||u.call(e,l),l.defaultPrevented||(i.current||(f=o.triggerRef.current)==null||f.focus(),l.preventDefault()),i.current=!1,a.current=!1},onInteractOutside:l=>{var u,f;(u=e.onInteractOutside)==null||u.call(e,l),l.defaultPrevented||(i.current=!0,l.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const h=l.target;(f=o.triggerRef.current)!=null&&f.contains(h)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&a.current&&l.preventDefault()}})}),Av=y.forwardRef((e,n)=>{const{__scopePopover:o,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:l,disableOutsidePointerEvents:u,onEscapeKeyDown:f,onPointerDownOutside:h,onFocusOutside:m,onInteractOutside:v,...x}=e,b=Gr(fi,o),C=Ps(o);return V2(),w.jsx(Ad,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:a,onUnmountAutoFocus:l,children:w.jsx(Md,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:v,onEscapeKeyDown:f,onPointerDownOutside:h,onFocusOutside:m,onDismiss:()=>b.onOpenChange(!1),children:w.jsx(eS,{"data-state":Rv(b.open),role:"dialog",id:b.contentId,...C,...x,ref:n,style:{...x.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),Pv="PopoverClose",KS=y.forwardRef((e,n)=>{const{__scopePopover:o,...i}=e,a=Gr(Pv,o);return w.jsx(Ye.button,{type:"button",...i,ref:n,onClick:Je(e.onClick,()=>a.onOpenChange(!1))})});KS.displayName=Pv;var qS="PopoverArrow",QS=y.forwardRef((e,n)=>{const{__scopePopover:o,...i}=e,a=Ps(o);return w.jsx(tS,{...a,...i,ref:n})});QS.displayName=qS;function Rv(e){return e?"open":"closed"}var ZS=Cv,JS=Ev,eC=Nv,Iv=Mv;const zv=ZS,Ov=JS,Hd=y.forwardRef(({className:e,align:n="center",sideOffset:o=4,portal:i=!0,...a},l)=>{const u=w.jsx(Iv,{ref:l,align:n,sideOffset:o,className:Se("z-[100] w-72 rounded-md border border-border_primary bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...a});return i?w.jsx(eC,{children:u}):u});Hd.displayName=Iv.displayName;var i1=1,tC=.9,nC=.8,rC=.17,tf=.1,nf=.999,oC=.9999,iC=.99,sC=/[\\\/_+.#"@\[\(\{&]/,aC=/[\\\/_+.#"@\[\(\{&]/g,lC=/[\s-]/,_v=/[\s-]/g;function Rf(e,n,o,i,a,l,u){if(l===n.length)return a===e.length?i1:iC;var f=`${a},${l}`;if(u[f]!==void 0)return u[f];for(var h=i.charAt(l),m=o.indexOf(h,a),v=0,x,b,C,N;m>=0;)x=Rf(e,n,o,i,m+1,l+1,u),x>v&&(m===a?x*=i1:sC.test(e.charAt(m-1))?(x*=nC,C=e.slice(a,m-1).match(aC),C&&a>0&&(x*=Math.pow(nf,C.length))):lC.test(e.charAt(m-1))?(x*=tC,N=e.slice(a,m-1).match(_v),N&&a>0&&(x*=Math.pow(nf,N.length))):(x*=rC,a>0&&(x*=Math.pow(nf,m-a))),e.charAt(m)!==n.charAt(l)&&(x*=oC)),(xx&&(x=b*tf)),x>v&&(v=x),m=o.indexOf(h,m+1);return u[f]=v,v}function s1(e){return e.toLowerCase().replace(_v," ")}function cC(e,n,o){return e=o&&o.length>0?`${e+" "+o.join(" ")}`:e,Rf(e,n,s1(e),s1(n),0,0,{})}var Hl="Dialog",[Dv]=ko(Hl),[uC,jn]=Dv(Hl),Tv=e=>{const{__scopeDialog:n,children:o,open:i,defaultOpen:a,onOpenChange:l,modal:u=!0}=e,f=y.useRef(null),h=y.useRef(null),[m,v]=Ms({prop:i,defaultProp:a??!1,onChange:l,caller:Hl});return w.jsx(uC,{scope:n,triggerRef:f,contentRef:h,contentId:ln(),titleId:ln(),descriptionId:ln(),open:m,onOpenChange:v,onOpenToggle:y.useCallback(()=>v(x=>!x),[v]),modal:u,children:o})};Tv.displayName=Hl;var Lv="DialogTrigger",fC=y.forwardRef((e,n)=>{const{__scopeDialog:o,...i}=e,a=jn(Lv,o),l=nt(n,a.triggerRef);return w.jsx(Ye.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":Bd(a.open),...i,ref:l,onClick:Je(e.onClick,a.onOpenToggle)})});fC.displayName=Lv;var Vd="DialogPortal",[dC,Fv]=Dv(Vd,{forceMount:void 0}),$v=e=>{const{__scopeDialog:n,forceMount:o,children:i,container:a}=e,l=jn(Vd,n);return w.jsx(dC,{scope:n,forceMount:o,children:y.Children.map(i,u=>w.jsx(Cn,{present:o||l.open,children:w.jsx(Ld,{asChild:!0,container:a,children:u})}))})};$v.displayName=Vd;var Sl="DialogOverlay",Hv=y.forwardRef((e,n)=>{const o=Fv(Sl,e.__scopeDialog),{forceMount:i=o.forceMount,...a}=e,l=jn(Sl,e.__scopeDialog);return l.modal?w.jsx(Cn,{present:i||l.open,children:w.jsx(hC,{...a,ref:n})}):null});Hv.displayName=Sl;var pC=ws("DialogOverlay.RemoveScroll"),hC=y.forwardRef((e,n)=>{const{__scopeDialog:o,...i}=e,a=jn(Sl,o);return w.jsx(Fd,{as:pC,allowPinchZoom:!0,shards:[a.contentRef],children:w.jsx(Ye.div,{"data-state":Bd(a.open),...i,ref:n,style:{pointerEvents:"auto",...i.style}})})}),wo="DialogContent",Vv=y.forwardRef((e,n)=>{const o=Fv(wo,e.__scopeDialog),{forceMount:i=o.forceMount,...a}=e,l=jn(wo,e.__scopeDialog);return w.jsx(Cn,{present:i||l.open,children:l.modal?w.jsx(mC,{...a,ref:n}):w.jsx(gC,{...a,ref:n})})});Vv.displayName=wo;var mC=y.forwardRef((e,n)=>{const o=jn(wo,e.__scopeDialog),i=y.useRef(null),a=nt(n,o.contentRef,i);return y.useEffect(()=>{const l=i.current;if(l)return hv(l)},[]),w.jsx(Wv,{...e,ref:a,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Je(e.onCloseAutoFocus,l=>{var u;l.preventDefault(),(u=o.triggerRef.current)==null||u.focus()}),onPointerDownOutside:Je(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,f=u.button===0&&u.ctrlKey===!0;(u.button===2||f)&&l.preventDefault()}),onFocusOutside:Je(e.onFocusOutside,l=>l.preventDefault())})}),gC=y.forwardRef((e,n)=>{const o=jn(wo,e.__scopeDialog),i=y.useRef(!1),a=y.useRef(!1);return w.jsx(Wv,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{var u,f;(u=e.onCloseAutoFocus)==null||u.call(e,l),l.defaultPrevented||(i.current||(f=o.triggerRef.current)==null||f.focus(),l.preventDefault()),i.current=!1,a.current=!1},onInteractOutside:l=>{var u,f;(u=e.onInteractOutside)==null||u.call(e,l),l.defaultPrevented||(i.current=!0,l.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const h=l.target;(f=o.triggerRef.current)!=null&&f.contains(h)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&a.current&&l.preventDefault()}})}),Wv=y.forwardRef((e,n)=>{const{__scopeDialog:o,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:l,...u}=e,f=jn(wo,o),h=y.useRef(null),m=nt(n,h);return V2(),w.jsxs(w.Fragment,{children:[w.jsx(Ad,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:a,onUnmountAutoFocus:l,children:w.jsx(Md,{role:"dialog",id:f.contentId,"aria-describedby":f.descriptionId,"aria-labelledby":f.titleId,"data-state":Bd(f.open),...u,ref:m,onDismiss:()=>f.onOpenChange(!1)})}),w.jsxs(w.Fragment,{children:[w.jsx(vC,{titleId:f.titleId}),w.jsx(xC,{contentRef:h,descriptionId:f.descriptionId})]})]})}),Wd="DialogTitle",Bv=y.forwardRef((e,n)=>{const{__scopeDialog:o,...i}=e,a=jn(Wd,o);return w.jsx(Ye.h2,{id:a.titleId,...i,ref:n})});Bv.displayName=Wd;var Uv="DialogDescription",Yv=y.forwardRef((e,n)=>{const{__scopeDialog:o,...i}=e,a=jn(Uv,o);return w.jsx(Ye.p,{id:a.descriptionId,...i,ref:n})});Yv.displayName=Uv;var Xv="DialogClose",Gv=y.forwardRef((e,n)=>{const{__scopeDialog:o,...i}=e,a=jn(Xv,o);return w.jsx(Ye.button,{type:"button",...i,ref:n,onClick:Je(e.onClick,()=>a.onOpenChange(!1))})});Gv.displayName=Xv;function Bd(e){return e?"open":"closed"}var Kv="DialogTitleWarning",[Wj,qv]=bb(Kv,{contentName:wo,titleName:Wd,docsSlug:"dialog"}),vC=({titleId:e})=>{const n=qv(Kv),o=`\`${n.contentName}\` requires a \`${n.titleName}\` for the component to be accessible for screen reader users. +`)},CC=0,li=[];function kC(e){var n=v.useRef([]),r=v.useRef([0,0]),i=v.useRef(),a=v.useState(CC++)[0],l=v.useState(Qy)[0],u=v.useRef(e);v.useEffect(function(){u.current=e},[e]),v.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var E=U8([e.lockRef.current],(e.shards||[]).map(N1)).filter(Boolean);return E.forEach(function(j){return j.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),E.forEach(function(j){return j.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var d=v.useCallback(function(E,j){if("touches"in E&&E.touches.length===2||E.type==="wheel"&&E.ctrlKey)return!u.current.allowPinchZoom;var A=ul(E),k=r.current,M="deltaX"in E?E.deltaX:k[0]-A[0],P="deltaY"in E?E.deltaY:k[1]-A[1],L,H=E.target,_=Math.abs(M)>Math.abs(P)?"h":"v";if("touches"in E&&_==="h"&&H.type==="range")return!1;var F=window.getSelection(),W=F&&F.anchorNode,Z=W?W===H||W.contains(H):!1;if(Z)return!1;var ie=j1(_,H);if(!ie)return!0;if(ie?L=_:(L=_==="v"?"h":"v",ie=j1(_,H)),!ie)return!1;if(!i.current&&"changedTouches"in E&&(M||P)&&(i.current=L),!L)return!0;var U=i.current||L;return wC(U,j,E,U==="h"?M:P)},[]),h=v.useCallback(function(E){var j=E;if(!(!li.length||li[li.length-1]!==l)){var A="deltaY"in j?E1(j):ul(j),k=n.current.filter(function(L){return L.name===j.type&&(L.target===j.target||j.target===L.shadowParent)&&bC(L.delta,A)})[0];if(k&&k.should){j.cancelable&&j.preventDefault();return}if(!k){var M=(u.current.shards||[]).map(N1).filter(Boolean).filter(function(L){return L.contains(j.target)}),P=M.length>0?d(j,M[0]):!u.current.noIsolation;P&&j.cancelable&&j.preventDefault()}}},[]),m=v.useCallback(function(E,j,A,k){var M={name:E,delta:j,target:A,should:k,shadowParent:jC(A)};n.current.push(M),setTimeout(function(){n.current=n.current.filter(function(P){return P!==M})},1)},[]),y=v.useCallback(function(E){r.current=ul(E),i.current=void 0},[]),x=v.useCallback(function(E){m(E.type,E1(E),E.target,d(E,e.lockRef.current))},[]),b=v.useCallback(function(E){m(E.type,ul(E),E.target,d(E,e.lockRef.current))},[]);v.useEffect(function(){return li.push(l),e.setCallbacks({onScrollCapture:x,onWheelCapture:x,onTouchMoveCapture:b}),document.addEventListener("wheel",h,ai),document.addEventListener("touchmove",h,ai),document.addEventListener("touchstart",y,ai),function(){li=li.filter(function(E){return E!==l}),document.removeEventListener("wheel",h,ai),document.removeEventListener("touchmove",h,ai),document.removeEventListener("touchstart",y,ai)}},[]);var C=e.removeScrollBar,N=e.inert;return v.createElement(v.Fragment,null,N?v.createElement(l,{styles:SC(a)}):null,C?v.createElement(pC,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function jC(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const EC=eC(qy,kC);var n0=v.forwardRef(function(e,n){return v.createElement(Ql,Fn({},e,{ref:n,sideCar:EC}))});n0.classNames=Ql.classNames;var Jl="Popover",[tv]=Io(Jl,[_y]),Hs=_y(),[NC,Zr]=tv(Jl),nv=e=>{const{__scopePopover:n,children:r,open:i,defaultOpen:a,onOpenChange:l,modal:u=!1}=e,d=Hs(n),h=v.useRef(null),[m,y]=v.useState(!1),[x,b]=Fs({prop:i,defaultProp:a??!1,onChange:l,caller:Jl});return w.jsx(L8,{...d,children:w.jsx(NC,{scope:n,contentId:fn(),triggerRef:h,open:x,onOpenChange:b,onOpenToggle:v.useCallback(()=>b(C=>!C),[b]),hasCustomAnchor:m,onCustomAnchorAdd:v.useCallback(()=>y(!0),[]),onCustomAnchorRemove:v.useCallback(()=>y(!1),[]),modal:u,children:r})})};nv.displayName=Jl;var rv="PopoverAnchor",MC=v.forwardRef((e,n)=>{const{__scopePopover:r,...i}=e,a=Zr(rv,r),l=Hs(r),{onCustomAnchorAdd:u,onCustomAnchorRemove:d}=a;return v.useEffect(()=>(u(),()=>d()),[u,d]),w.jsx(Uy,{...l,...i,ref:n})});MC.displayName=rv;var ov="PopoverTrigger",iv=v.forwardRef((e,n)=>{const{__scopePopover:r,...i}=e,a=Zr(ov,r),l=Hs(r),u=rt(n,a.triggerRef),d=w.jsx(Xe.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":uv(a.open),...i,ref:u,onClick:et(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?d:w.jsx(Uy,{asChild:!0,...l,children:d})});iv.displayName=ov;var r0="PopoverPortal",[AC,PC]=tv(r0,{forceMount:void 0}),sv=e=>{const{__scopePopover:n,forceMount:r,children:i,container:a}=e,l=Zr(r0,n);return w.jsx(AC,{scope:n,forceMount:r,children:w.jsx(Nn,{present:r||l.open,children:w.jsx(t0,{asChild:!0,container:a,children:i})})})};sv.displayName=r0;var Si="PopoverContent",av=v.forwardRef((e,n)=>{const r=PC(Si,e.__scopePopover),{forceMount:i=r.forceMount,...a}=e,l=Zr(Si,e.__scopePopover);return w.jsx(Nn,{present:i||l.open,children:l.modal?w.jsx(IC,{...a,ref:n}):w.jsx(zC,{...a,ref:n})})});av.displayName=Si;var RC=Is("PopoverContent.RemoveScroll"),IC=v.forwardRef((e,n)=>{const r=Zr(Si,e.__scopePopover),i=v.useRef(null),a=rt(n,i),l=v.useRef(!1);return v.useEffect(()=>{const u=i.current;if(u)return Xy(u)},[]),w.jsx(n0,{as:RC,allowPinchZoom:!0,children:w.jsx(lv,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:et(e.onCloseAutoFocus,u=>{var d;u.preventDefault(),l.current||(d=r.triggerRef.current)==null||d.focus()}),onPointerDownOutside:et(e.onPointerDownOutside,u=>{const d=u.detail.originalEvent,h=d.button===0&&d.ctrlKey===!0,m=d.button===2||h;l.current=m},{checkForDefaultPrevented:!1}),onFocusOutside:et(e.onFocusOutside,u=>u.preventDefault(),{checkForDefaultPrevented:!1})})})}),zC=v.forwardRef((e,n)=>{const r=Zr(Si,e.__scopePopover),i=v.useRef(!1),a=v.useRef(!1);return w.jsx(lv,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{var u,d;(u=e.onCloseAutoFocus)==null||u.call(e,l),l.defaultPrevented||(i.current||(d=r.triggerRef.current)==null||d.focus(),l.preventDefault()),i.current=!1,a.current=!1},onInteractOutside:l=>{var u,d;(u=e.onInteractOutside)==null||u.call(e,l),l.defaultPrevented||(i.current=!0,l.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const h=l.target;(d=r.triggerRef.current)!=null&&d.contains(h)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&a.current&&l.preventDefault()}})}),lv=v.forwardRef((e,n)=>{const{__scopePopover:r,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:l,disableOutsidePointerEvents:u,onEscapeKeyDown:d,onPointerDownOutside:h,onFocusOutside:m,onInteractOutside:y,...x}=e,b=Zr(Si,r),C=Hs(r);return by(),w.jsx(Yf,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:a,onUnmountAutoFocus:l,children:w.jsx(Uf,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:y,onEscapeKeyDown:d,onPointerDownOutside:h,onFocusOutside:m,onDismiss:()=>b.onOpenChange(!1),children:w.jsx(F8,{"data-state":uv(b.open),role:"dialog",id:b.contentId,...C,...x,ref:n,style:{...x.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),cv="PopoverClose",OC=v.forwardRef((e,n)=>{const{__scopePopover:r,...i}=e,a=Zr(cv,r);return w.jsx(Xe.button,{type:"button",...i,ref:n,onClick:et(e.onClick,()=>a.onOpenChange(!1))})});OC.displayName=cv;var TC="PopoverArrow",_C=v.forwardRef((e,n)=>{const{__scopePopover:r,...i}=e,a=Hs(r);return w.jsx($8,{...a,...i,ref:n})});_C.displayName=TC;function uv(e){return e?"open":"closed"}var DC=nv,LC=iv,FC=sv,dv=av;const fv=DC,pv=LC,o0=v.forwardRef(({className:e,align:n="center",sideOffset:r=4,portal:i=!0,...a},l)=>{const u=w.jsx(dv,{ref:l,align:n,sideOffset:r,className:Se("z-[100] w-72 rounded-md border border-border_primary bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...a});return i?w.jsx(FC,{children:u}):u});o0.displayName=dv.displayName;var M1=1,$C=.9,HC=.8,VC=.17,md=.1,gd=.999,BC=.9999,WC=.99,UC=/[\\\/_+.#"@\[\(\{&]/,YC=/[\\\/_+.#"@\[\(\{&]/g,XC=/[\s-]/,hv=/[\s-]/g;function Ud(e,n,r,i,a,l,u){if(l===n.length)return a===e.length?M1:WC;var d=`${a},${l}`;if(u[d]!==void 0)return u[d];for(var h=i.charAt(l),m=r.indexOf(h,a),y=0,x,b,C,N;m>=0;)x=Ud(e,n,r,i,m+1,l+1,u),x>y&&(m===a?x*=M1:UC.test(e.charAt(m-1))?(x*=HC,C=e.slice(a,m-1).match(YC),C&&a>0&&(x*=Math.pow(gd,C.length))):XC.test(e.charAt(m-1))?(x*=$C,N=e.slice(a,m-1).match(hv),N&&a>0&&(x*=Math.pow(gd,N.length))):(x*=VC,a>0&&(x*=Math.pow(gd,m-a))),e.charAt(m)!==n.charAt(l)&&(x*=BC)),(xx&&(x=b*md)),x>y&&(y=x),m=r.indexOf(h,m+1);return u[d]=y,y}function A1(e){return e.toLowerCase().replace(hv," ")}function GC(e,n,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Ud(e,n,A1(e),A1(n),0,0,{})}var Zl="Dialog",[mv]=Io(Zl),[KC,An]=mv(Zl),gv=e=>{const{__scopeDialog:n,children:r,open:i,defaultOpen:a,onOpenChange:l,modal:u=!0}=e,d=v.useRef(null),h=v.useRef(null),[m,y]=Fs({prop:i,defaultProp:a??!1,onChange:l,caller:Zl});return w.jsx(KC,{scope:n,triggerRef:d,contentRef:h,contentId:fn(),titleId:fn(),descriptionId:fn(),open:m,onOpenChange:y,onOpenToggle:v.useCallback(()=>y(x=>!x),[y]),modal:u,children:r})};gv.displayName=Zl;var yv="DialogTrigger",qC=v.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,a=An(yv,r),l=rt(n,a.triggerRef);return w.jsx(Xe.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":a0(a.open),...i,ref:l,onClick:et(e.onClick,a.onOpenToggle)})});qC.displayName=yv;var i0="DialogPortal",[QC,vv]=mv(i0,{forceMount:void 0}),xv=e=>{const{__scopeDialog:n,forceMount:r,children:i,container:a}=e,l=An(i0,n);return w.jsx(QC,{scope:n,forceMount:r,children:v.Children.map(i,u=>w.jsx(Nn,{present:r||l.open,children:w.jsx(t0,{asChild:!0,container:a,children:u})}))})};xv.displayName=i0;var Ol="DialogOverlay",wv=v.forwardRef((e,n)=>{const r=vv(Ol,e.__scopeDialog),{forceMount:i=r.forceMount,...a}=e,l=An(Ol,e.__scopeDialog);return l.modal?w.jsx(Nn,{present:i||l.open,children:w.jsx(ZC,{...a,ref:n})}):null});wv.displayName=Ol;var JC=Is("DialogOverlay.RemoveScroll"),ZC=v.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,a=An(Ol,r);return w.jsx(n0,{as:JC,allowPinchZoom:!0,shards:[a.contentRef],children:w.jsx(Xe.div,{"data-state":a0(a.open),...i,ref:n,style:{pointerEvents:"auto",...i.style}})})}),Mo="DialogContent",bv=v.forwardRef((e,n)=>{const r=vv(Mo,e.__scopeDialog),{forceMount:i=r.forceMount,...a}=e,l=An(Mo,e.__scopeDialog);return w.jsx(Nn,{present:i||l.open,children:l.modal?w.jsx(ek,{...a,ref:n}):w.jsx(tk,{...a,ref:n})})});bv.displayName=Mo;var ek=v.forwardRef((e,n)=>{const r=An(Mo,e.__scopeDialog),i=v.useRef(null),a=rt(n,r.contentRef,i);return v.useEffect(()=>{const l=i.current;if(l)return Xy(l)},[]),w.jsx(Sv,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:et(e.onCloseAutoFocus,l=>{var u;l.preventDefault(),(u=r.triggerRef.current)==null||u.focus()}),onPointerDownOutside:et(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0;(u.button===2||d)&&l.preventDefault()}),onFocusOutside:et(e.onFocusOutside,l=>l.preventDefault())})}),tk=v.forwardRef((e,n)=>{const r=An(Mo,e.__scopeDialog),i=v.useRef(!1),a=v.useRef(!1);return w.jsx(Sv,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{var u,d;(u=e.onCloseAutoFocus)==null||u.call(e,l),l.defaultPrevented||(i.current||(d=r.triggerRef.current)==null||d.focus(),l.preventDefault()),i.current=!1,a.current=!1},onInteractOutside:l=>{var u,d;(u=e.onInteractOutside)==null||u.call(e,l),l.defaultPrevented||(i.current=!0,l.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const h=l.target;(d=r.triggerRef.current)!=null&&d.contains(h)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&a.current&&l.preventDefault()}})}),Sv=v.forwardRef((e,n)=>{const{__scopeDialog:r,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:l,...u}=e,d=An(Mo,r),h=v.useRef(null),m=rt(n,h);return by(),w.jsxs(w.Fragment,{children:[w.jsx(Yf,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:a,onUnmountAutoFocus:l,children:w.jsx(Uf,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":a0(d.open),...u,ref:m,onDismiss:()=>d.onOpenChange(!1)})}),w.jsxs(w.Fragment,{children:[w.jsx(nk,{titleId:d.titleId}),w.jsx(ok,{contentRef:h,descriptionId:d.descriptionId})]})]})}),s0="DialogTitle",Cv=v.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,a=An(s0,r);return w.jsx(Xe.h2,{id:a.titleId,...i,ref:n})});Cv.displayName=s0;var kv="DialogDescription",jv=v.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,a=An(kv,r);return w.jsx(Xe.p,{id:a.descriptionId,...i,ref:n})});jv.displayName=kv;var Ev="DialogClose",Nv=v.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,a=An(Ev,r);return w.jsx(Xe.button,{type:"button",...i,ref:n,onClick:et(e.onClick,()=>a.onOpenChange(!1))})});Nv.displayName=Ev;function a0(e){return e?"open":"closed"}var Mv="DialogTitleWarning",[eN,Av]=s6(Mv,{contentName:Mo,titleName:s0,docsSlug:"dialog"}),nk=({titleId:e})=>{const n=Av(Mv),r=`\`${n.contentName}\` requires a \`${n.titleName}\` for the component to be accessible for screen reader users. If you want to hide the \`${n.titleName}\`, you can wrap it with our VisuallyHidden component. -For more information, see https://radix-ui.com/primitives/docs/components/${n.docsSlug}`;return y.useEffect(()=>{e&&(document.getElementById(e)||console.error(o))},[o,e]),null},yC="DialogDescriptionWarning",xC=({contentRef:e,descriptionId:n})=>{const o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${qv(yC).contentName}}.`;return y.useEffect(()=>{var i;const a=(i=e.current)==null?void 0:i.getAttribute("aria-describedby");n&&a&&(document.getElementById(n)||console.warn(o))},[o,e,n]),null},wC=Tv,Qv=$v,Ud=Hv,Zv=Vv,Jv=Bv,ey=Yv,bC=Gv,ss='[cmdk-group=""]',rf='[cmdk-group-items=""]',SC='[cmdk-group-heading=""]',ty='[cmdk-item=""]',a1=`${ty}:not([aria-disabled="true"])`,If="cmdk-item-select",ei="data-value",CC=(e,n,o)=>cC(e,n,o),ny=y.createContext(void 0),Rs=()=>y.useContext(ny),ry=y.createContext(void 0),Yd=()=>y.useContext(ry),oy=y.createContext(void 0),iy=y.forwardRef((e,n)=>{let o=ti(()=>{var I,G;return{search:"",value:(G=(I=e.value)!=null?I:e.defaultValue)!=null?G:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=ti(()=>new Set),a=ti(()=>new Map),l=ti(()=>new Map),u=ti(()=>new Set),f=sy(e),{label:h,children:m,value:v,onValueChange:x,filter:b,shouldFilter:C,loop:N,disablePointerSelection:k=!1,vimBindings:j=!0,...M}=e,E=ln(),R=ln(),z=ln(),L=y.useRef(null),A=OC();bo(()=>{if(v!==void 0){let I=v.trim();o.current.value=I,D.emit()}},[v]),bo(()=>{A(6,de)},[]);let D=y.useMemo(()=>({subscribe:I=>(u.current.add(I),()=>u.current.delete(I)),snapshot:()=>o.current,setState:(I,G,ee)=>{var K,ne,se,he;if(!Object.is(o.current[I],G)){if(o.current[I]=G,I==="search")B(),J(),A(1,oe);else if(I==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let ce=document.getElementById(z);ce?ce.focus():(K=document.getElementById(E))==null||K.focus()}if(A(7,()=>{var ce;o.current.selectedItemId=(ce=ie())==null?void 0:ce.id,D.emit()}),ee||A(5,de),((ne=f.current)==null?void 0:ne.value)!==void 0){let ce=G??"";(he=(se=f.current).onValueChange)==null||he.call(se,ce);return}}D.emit()}},emit:()=>{u.current.forEach(I=>I())}}),[]),F=y.useMemo(()=>({value:(I,G,ee)=>{var K;G!==((K=l.current.get(I))==null?void 0:K.value)&&(l.current.set(I,{value:G,keywords:ee}),o.current.filtered.items.set(I,W(G,ee)),A(2,()=>{J(),D.emit()}))},item:(I,G)=>(i.current.add(I),G&&(a.current.has(G)?a.current.get(G).add(I):a.current.set(G,new Set([I]))),A(3,()=>{B(),J(),o.current.value||oe(),D.emit()}),()=>{l.current.delete(I),i.current.delete(I),o.current.filtered.items.delete(I);let ee=ie();A(4,()=>{B(),(ee==null?void 0:ee.getAttribute("id"))===I&&oe(),D.emit()})}),group:I=>(a.current.has(I)||a.current.set(I,new Set),()=>{l.current.delete(I),a.current.delete(I)}),filter:()=>f.current.shouldFilter,label:h||e["aria-label"],getDisablePointerSelection:()=>f.current.disablePointerSelection,listId:E,inputId:z,labelId:R,listInnerRef:L}),[]);function W(I,G){var ee,K;let ne=(K=(ee=f.current)==null?void 0:ee.filter)!=null?K:CC;return I?ne(I,o.current.search,G):0}function J(){if(!o.current.search||f.current.shouldFilter===!1)return;let I=o.current.filtered.items,G=[];o.current.filtered.groups.forEach(K=>{let ne=a.current.get(K),se=0;ne.forEach(he=>{let ce=I.get(he);se=Math.max(ce,se)}),G.push([K,se])});let ee=L.current;ue().sort((K,ne)=>{var se,he;let ce=K.getAttribute("id"),Ie=ne.getAttribute("id");return((se=I.get(Ie))!=null?se:0)-((he=I.get(ce))!=null?he:0)}).forEach(K=>{let ne=K.closest(rf);ne?ne.appendChild(K.parentElement===ne?K:K.closest(`${rf} > *`)):ee.appendChild(K.parentElement===ee?K:K.closest(`${rf} > *`))}),G.sort((K,ne)=>ne[1]-K[1]).forEach(K=>{var ne;let se=(ne=L.current)==null?void 0:ne.querySelector(`${ss}[${ei}="${encodeURIComponent(K[0])}"]`);se==null||se.parentElement.appendChild(se)})}function oe(){let I=ue().find(ee=>ee.getAttribute("aria-disabled")!=="true"),G=I==null?void 0:I.getAttribute(ei);D.setState("value",G||void 0)}function B(){var I,G,ee,K;if(!o.current.search||f.current.shouldFilter===!1){o.current.filtered.count=i.current.size;return}o.current.filtered.groups=new Set;let ne=0;for(let se of i.current){let he=(G=(I=l.current.get(se))==null?void 0:I.value)!=null?G:"",ce=(K=(ee=l.current.get(se))==null?void 0:ee.keywords)!=null?K:[],Ie=W(he,ce);o.current.filtered.items.set(se,Ie),Ie>0&&ne++}for(let[se,he]of a.current)for(let ce of he)if(o.current.filtered.items.get(ce)>0){o.current.filtered.groups.add(se);break}o.current.filtered.count=ne}function de(){var I,G,ee;let K=ie();K&&(((I=K.parentElement)==null?void 0:I.firstChild)===K&&((ee=(G=K.closest(ss))==null?void 0:G.querySelector(SC))==null||ee.scrollIntoView({block:"nearest"})),K.scrollIntoView({block:"nearest"}))}function ie(){var I;return(I=L.current)==null?void 0:I.querySelector(`${ty}[aria-selected="true"]`)}function ue(){var I;return Array.from(((I=L.current)==null?void 0:I.querySelectorAll(a1))||[])}function ae(I){let G=ue()[I];G&&D.setState("value",G.getAttribute(ei))}function fe(I){var G;let ee=ie(),K=ue(),ne=K.findIndex(he=>he===ee),se=K[ne+I];(G=f.current)!=null&&G.loop&&(se=ne+I<0?K[K.length-1]:ne+I===K.length?K[0]:K[ne+I]),se&&D.setState("value",se.getAttribute(ei))}function U(I){let G=ie(),ee=G==null?void 0:G.closest(ss),K;for(;ee&&!K;)ee=I>0?IC(ee,ss):zC(ee,ss),K=ee==null?void 0:ee.querySelector(a1);K?D.setState("value",K.getAttribute(ei)):fe(I)}let Q=()=>ae(ue().length-1),Z=I=>{I.preventDefault(),I.metaKey?Q():I.altKey?U(1):fe(1)},_=I=>{I.preventDefault(),I.metaKey?ae(0):I.altKey?U(-1):fe(-1)};return y.createElement(Sn.div,{ref:n,tabIndex:-1,...M,"cmdk-root":"",onKeyDown:I=>{var G;(G=M.onKeyDown)==null||G.call(M,I);let ee=I.nativeEvent.isComposing||I.keyCode===229;if(!(I.defaultPrevented||ee))switch(I.key){case"n":case"j":{j&&I.ctrlKey&&Z(I);break}case"ArrowDown":{Z(I);break}case"p":case"k":{j&&I.ctrlKey&&_(I);break}case"ArrowUp":{_(I);break}case"Home":{I.preventDefault(),ae(0);break}case"End":{I.preventDefault(),Q();break}case"Enter":{I.preventDefault();let K=ie();if(K){let ne=new Event(If);K.dispatchEvent(ne)}}}}},y.createElement("label",{"cmdk-label":"",htmlFor:F.inputId,id:F.labelId,style:DC},h),Vl(e,I=>y.createElement(ry.Provider,{value:D},y.createElement(ny.Provider,{value:F},I))))}),kC=y.forwardRef((e,n)=>{var o,i;let a=ln(),l=y.useRef(null),u=y.useContext(oy),f=Rs(),h=sy(e),m=(i=(o=h.current)==null?void 0:o.forceMount)!=null?i:u==null?void 0:u.forceMount;bo(()=>{if(!m)return f.item(a,u==null?void 0:u.id)},[m]);let v=ay(a,l,[e.value,e.children,l],e.keywords),x=Yd(),b=Br(A=>A.value&&A.value===v.current),C=Br(A=>m||f.filter()===!1?!0:A.search?A.filtered.items.get(a)>0:!0);y.useEffect(()=>{let A=l.current;if(!(!A||e.disabled))return A.addEventListener(If,N),()=>A.removeEventListener(If,N)},[C,e.onSelect,e.disabled]);function N(){var A,D;k(),(D=(A=h.current).onSelect)==null||D.call(A,v.current)}function k(){x.setState("value",v.current,!0)}if(!C)return null;let{disabled:j,value:M,onSelect:E,forceMount:R,keywords:z,...L}=e;return y.createElement(Sn.div,{ref:Hr(l,n),...L,id:a,"cmdk-item":"",role:"option","aria-disabled":!!j,"aria-selected":!!b,"data-disabled":!!j,"data-selected":!!b,onPointerMove:j||f.getDisablePointerSelection()?void 0:k,onClick:j?void 0:N},e.children)}),jC=y.forwardRef((e,n)=>{let{heading:o,children:i,forceMount:a,...l}=e,u=ln(),f=y.useRef(null),h=y.useRef(null),m=ln(),v=Rs(),x=Br(C=>a||v.filter()===!1?!0:C.search?C.filtered.groups.has(u):!0);bo(()=>v.group(u),[]),ay(u,f,[e.value,e.heading,h]);let b=y.useMemo(()=>({id:u,forceMount:a}),[a]);return y.createElement(Sn.div,{ref:Hr(f,n),...l,"cmdk-group":"",role:"presentation",hidden:x?void 0:!0},o&&y.createElement("div",{ref:h,"cmdk-group-heading":"","aria-hidden":!0,id:m},o),Vl(e,C=>y.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":o?m:void 0},y.createElement(oy.Provider,{value:b},C))))}),EC=y.forwardRef((e,n)=>{let{alwaysRender:o,...i}=e,a=y.useRef(null),l=Br(u=>!u.search);return!o&&!l?null:y.createElement(Sn.div,{ref:Hr(a,n),...i,"cmdk-separator":"",role:"separator"})}),NC=y.forwardRef((e,n)=>{let{onValueChange:o,...i}=e,a=e.value!=null,l=Yd(),u=Br(m=>m.search),f=Br(m=>m.selectedItemId),h=Rs();return y.useEffect(()=>{e.value!=null&&l.setState("search",e.value)},[e.value]),y.createElement(Sn.input,{ref:n,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":h.listId,"aria-labelledby":h.labelId,"aria-activedescendant":f,id:h.inputId,type:"text",value:a?e.value:u,onChange:m=>{a||l.setState("search",m.target.value),o==null||o(m.target.value)}})}),MC=y.forwardRef((e,n)=>{let{children:o,label:i="Suggestions",...a}=e,l=y.useRef(null),u=y.useRef(null),f=Br(m=>m.selectedItemId),h=Rs();return y.useEffect(()=>{if(u.current&&l.current){let m=u.current,v=l.current,x,b=new ResizeObserver(()=>{x=requestAnimationFrame(()=>{let C=m.offsetHeight;v.style.setProperty("--cmdk-list-height",C.toFixed(1)+"px")})});return b.observe(m),()=>{cancelAnimationFrame(x),b.unobserve(m)}}},[]),y.createElement(Sn.div,{ref:Hr(l,n),...a,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":f,"aria-label":i,id:h.listId},Vl(e,m=>y.createElement("div",{ref:Hr(u,h.listInnerRef),"cmdk-list-sizer":""},m)))}),AC=y.forwardRef((e,n)=>{let{open:o,onOpenChange:i,overlayClassName:a,contentClassName:l,container:u,...f}=e;return y.createElement(wC,{open:o,onOpenChange:i},y.createElement(Qv,{container:u},y.createElement(Ud,{"cmdk-overlay":"",className:a}),y.createElement(Zv,{"aria-label":e.label,"cmdk-dialog":"",className:l},y.createElement(iy,{ref:n,...f}))))}),PC=y.forwardRef((e,n)=>Br(o=>o.filtered.count===0)?y.createElement(Sn.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),RC=y.forwardRef((e,n)=>{let{progress:o,children:i,label:a="Loading...",...l}=e;return y.createElement(Sn.div,{ref:n,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":o,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},Vl(e,u=>y.createElement("div",{"aria-hidden":!0},u)))}),$t=Object.assign(iy,{List:MC,Item:kC,Input:NC,Group:jC,Separator:EC,Dialog:AC,Empty:PC,Loading:RC});function IC(e,n){let o=e.nextElementSibling;for(;o;){if(o.matches(n))return o;o=o.nextElementSibling}}function zC(e,n){let o=e.previousElementSibling;for(;o;){if(o.matches(n))return o;o=o.previousElementSibling}}function sy(e){let n=y.useRef(e);return bo(()=>{n.current=e}),n}var bo=typeof window>"u"?y.useEffect:y.useLayoutEffect;function ti(e){let n=y.useRef();return n.current===void 0&&(n.current=e()),n}function Br(e){let n=Yd(),o=()=>e(n.snapshot());return y.useSyncExternalStore(n.subscribe,o,o)}function ay(e,n,o,i=[]){let a=y.useRef(),l=Rs();return bo(()=>{var u;let f=(()=>{var m;for(let v of o){if(typeof v=="string")return v.trim();if(typeof v=="object"&&"current"in v)return v.current?(m=v.current.textContent)==null?void 0:m.trim():a.current}})(),h=i.map(m=>m.trim());l.value(e,f,h),(u=n.current)==null||u.setAttribute(ei,f),a.current=f}),a}var OC=()=>{let[e,n]=y.useState(),o=ti(()=>new Map);return bo(()=>{o.current.forEach(i=>i()),o.current=new Map},[e]),(i,a)=>{o.current.set(i,a),n({})}};function _C(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function Vl({asChild:e,children:n},o){return e&&y.isValidElement(n)?y.cloneElement(_C(n),{ref:n.ref},o(n.props.children)):o(n)}var DC={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const Xd=y.forwardRef(({className:e,...n},o)=>w.jsx($t,{ref:o,className:Se("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...n}));Xd.displayName=$t.displayName;const Gd=y.forwardRef(({className:e,...n},o)=>w.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[w.jsx(ub,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),w.jsx($t.Input,{ref:o,className:Se("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...n})]}));Gd.displayName=$t.Input.displayName;const Kd=y.forwardRef(({className:e,...n},o)=>w.jsx($t.List,{ref:o,className:Se("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...n}));Kd.displayName=$t.List.displayName;const qd=y.forwardRef((e,n)=>w.jsx($t.Empty,{ref:n,className:"py-6 text-center text-sm",...e}));qd.displayName=$t.Empty.displayName;const Qd=y.forwardRef(({className:e,...n},o)=>w.jsx($t.Group,{ref:o,className:Se("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...n}));Qd.displayName=$t.Group.displayName;const TC=y.forwardRef(({className:e,...n},o)=>w.jsx($t.Separator,{ref:o,className:Se("-mx-1 h-px bg-border",e),...n}));TC.displayName=$t.Separator.displayName;const Cl=y.forwardRef(({className:e,...n},o)=>w.jsx($t.Item,{ref:o,className:Se("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground",e),...n}));Cl.displayName=$t.Item.displayName;const LC=Qv,FC=bC,ly=y.forwardRef(({className:e,...n},o)=>w.jsx(Ud,{ref:o,className:Se("fixed inset-0 z-50 bg-black/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...n}));ly.displayName=Ud.displayName;const $C={bottom:"fixed inset-x-0 bottom-0 mt-24 h-auto max-h-[90vh] rounded-t-[10px] border-t border-x data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom",top:"fixed inset-x-0 top-0 mb-24 h-auto max-h-[90vh] rounded-b-[10px] border-b border-x data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top",right:"fixed inset-y-0 right-0 h-full w-full max-w-2xl rounded-l-[10px] border-l border-y data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right",left:"fixed inset-y-0 left-0 h-full w-full max-w-2xl rounded-r-[10px] border-r border-y data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left"},HC=y.forwardRef(({className:e,children:n,side:o="bottom",hideHandle:i=!1,...a},l)=>w.jsxs(LC,{children:[w.jsx(ly,{}),w.jsxs(Zv,{ref:l,className:Se("z-50 flex flex-col border-border bg-card shadow-2xl transition-transform duration-300","data-[state=open]:animate-in data-[state=closed]:animate-out",$C[o],e),...a,children:[o==="bottom"&&!i&&w.jsx("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted shrink-0"}),w.jsx("div",{className:Se("flex-1 overflow-y-auto",o==="bottom"?"p-6 pt-2":"p-0"),children:n}),w.jsxs(FC,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[w.jsx(i2,{className:"h-4 w-4"}),w.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));HC.displayName="MriDrawerContent";const VC=y.forwardRef(({className:e,...n},o)=>w.jsx(Jv,{ref:o,className:Se("text-lg font-semibold leading-none tracking-tight",e),...n}));VC.displayName=Jv.displayName;const WC=y.forwardRef(({className:e,...n},o)=>w.jsx(ey,{ref:o,className:Se("text-sm text-muted-foreground",e),...n}));WC.displayName=ey.displayName;function BC({options:e,value:n,onChange:o,placeholder:i,searchPlaceholder:a="Search...",emptyMessage:l="No results found.",className:u,disabled:f,isLoading:h=!1,error:m,portal:v=!0,size:x="default",clearable:b=!1,creatable:C=!1,createLabelPrefix:N="Create"}){const[k,j]=y.useState(!1),[M,E]=y.useState(""),R=e.find(L=>String(L.value)===String(n)),z=C&&M.trim()!==""&&!e.some(L=>String(L.label).toLowerCase()===M.toLowerCase());return w.jsxs(zv,{open:k,onOpenChange:j,children:[w.jsx(Ov,{asChild:!0,children:w.jsxs("div",{className:"w-full space-y-1",children:[w.jsxs(li,{variant:"outline",role:"combobox",disabled:f||h,isLoading:h,"aria-expanded":k,size:x,className:Se("w-full justify-between bg-background border-border hover:bg-muted hover:text-foreground text-foreground",m&&"border-destructive focus:ring-destructive",u),children:[w.jsx("span",{className:"truncate",children:R?R.label:w.jsx("span",{className:"text-muted-foreground font-normal",children:i??"Select..."})}),w.jsx(o2,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]}),typeof m=="string"&&w.jsx("p",{className:"text-[10px] font-medium text-destructive px-1 animate-in fade-in slide-in-from-top-1",children:m})]})}),w.jsx(Hd,{portal:v,className:"w-[--radix-popover-trigger-width] p-0 border-border bg-popover z-[100]",children:w.jsxs(Xd,{className:"bg-transparent text-popover-foreground",children:[w.jsx(Gd,{placeholder:a,className:"h-9",value:M,onValueChange:E}),w.jsx(qd,{children:z?w.jsxs("div",{className:"flex items-center gap-2 cursor-pointer hover:text-primary transition-colors px-4 py-2",onClick:()=>{o(M),j(!1),E("")},children:[w.jsx(Om,{className:"w-4 h-4"}),w.jsxs("span",{children:[N,' "',M,'"']})]}):w.jsx("span",{children:l})}),w.jsx(Kd,{className:"max-h-60 overflow-auto p-1 custom-scrollbar",onWheel:L=>L.stopPropagation(),children:w.jsxs(Qd,{children:[e.map(L=>w.jsxs(Cl,{value:`${String(L.label)} ${String(L.value)}`,onSelect:()=>{const A=String(L.value);b&&String(n)===A?o(""):o(A),j(!1),E("")},className:"aria-selected:bg-accent aria-selected:text-accent-foreground rounded-md cursor-pointer",children:[w.jsx(r2,{className:Se("mr-2 h-4 w-4 text-primary",String(n)===String(L.value)?"opacity-100":"opacity-0")}),w.jsx("span",{className:"truncate",children:L.label})]},L.value)),z&&w.jsxs(Cl,{value:M,onSelect:()=>{o(M),j(!1),E("")},className:"text-primary font-medium",children:[w.jsx(Om,{className:"mr-2 h-4 w-4"}),N,' "',M,'"']})]})})]})})]})}function UC({options:e,value:n,onChange:o,placeholder:i,searchPlaceholder:a="Search...",emptyMessage:l="No results found.",className:u,disabled:f,isLoading:h=!1,error:m,portal:v=!0,maxVisibleValues:x=3}){const[b,C]=y.useState(!1),N=y.useCallback(j=>{n.includes(j)?o(n.filter(M=>M!==j)):o([...n,j])},[n,o]),k=e.filter(j=>n.includes(j.value));return w.jsxs(zv,{open:b,onOpenChange:C,children:[w.jsx(Ov,{asChild:!0,children:w.jsxs("div",{className:"w-full space-y-1",children:[w.jsxs(li,{variant:"outline",role:"combobox",disabled:f||h,isLoading:h,"aria-expanded":b,className:Se("w-full justify-between bg-background border-border hover:bg-muted hover:text-foreground text-foreground min-h-[40px] h-auto py-2",m&&"border-destructive focus:ring-destructive",u),children:[w.jsx("div",{className:"flex flex-wrap gap-1 items-center max-w-[90%]",children:k.length>0?w.jsxs(w.Fragment,{children:[k.slice(0,x).map(j=>w.jsxs(zm,{variant:"secondary",className:"flex items-center gap-1 pr-1 bg-primary/10 text-primary border-primary/20 hover:bg-primary/20 transition-colors",children:[w.jsx("span",{className:"truncate max-w-[100px]",children:j.label}),w.jsx("button",{className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onKeyDown:M=>{M.key==="Enter"&&N(j.value)},onMouseDown:M=>{M.preventDefault(),M.stopPropagation()},onClick:()=>N(j.value),children:w.jsx(i2,{className:"h-3 w-3 text-primary/60 hover:text-primary transition-colors"})})]},j.value)),k.length>x&&w.jsxs(zm,{variant:"secondary",className:"bg-muted text-muted-foreground border-border",children:["+",k.length-x]})]}):w.jsx("span",{className:"text-muted-foreground font-normal",children:i??"Select options..."})}),w.jsx(o2,{className:"h-4 w-4 shrink-0 opacity-50"})]}),typeof m=="string"&&w.jsx("p",{className:"text-[10px] font-medium text-destructive px-1 animate-in fade-in slide-in-from-top-1",children:m})]})}),w.jsx(Hd,{portal:v,className:"w-[--radix-popover-trigger-width] p-0 border-border bg-popover z-[100] shadow-2xl overflow-hidden rounded-xl",children:w.jsxs(Xd,{className:"bg-transparent text-popover-foreground",children:[w.jsx(Gd,{placeholder:a,className:"h-10 border-none focus:ring-0 bg-transparent"}),w.jsx(qd,{className:"py-6 text-sm text-center text-muted-foreground",children:l}),w.jsx(Kd,{className:"max-h-64 overflow-auto p-1.5 space-y-0.5 custom-scrollbar",onWheel:j=>j.stopPropagation(),children:w.jsx(Qd,{children:e.map(j=>w.jsx(Cl,{value:j.label,onSelect:()=>N(j.value),className:"aria-selected:bg-primary/10 aria-selected:text-primary rounded-lg cursor-pointer flex items-center justify-between py-2.5 px-3 transition-all active:scale-[0.98]",children:w.jsxs("div",{className:"flex items-center gap-2",children:[w.jsx("div",{className:Se("w-4 h-4 rounded border flex items-center justify-center transition-all duration-200",n.includes(j.value)?"bg-primary border-primary":"border-border bg-background"),children:n.includes(j.value)&&w.jsx(r2,{className:"h-3 w-3 text-primary-foreground stroke-[3px]"})}),w.jsx("span",{className:Se("text-sm font-medium",n.includes(j.value)?"text-primary":"text-foreground"),children:j.label})]})},j.value))})})]})})]})}function YC(e){return e.multiple===!0?w.jsx(UC,{...e}):w.jsx(BC,{...e})}var XC=(e,n,o,i,a,l,u,f)=>{let h=document.documentElement,m=["light","dark"];function v(C){(Array.isArray(e)?e:[e]).forEach(N=>{let k=N==="class",j=k&&l?a.map(M=>l[M]||M):a;k?(h.classList.remove(...j),h.classList.add(l&&l[C]?l[C]:C)):h.setAttribute(N,C)}),x(C)}function x(C){f&&m.includes(C)&&(h.style.colorScheme=C)}function b(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(i)v(i);else try{let C=localStorage.getItem(n)||o,N=u&&C==="system"?b():C;v(N)}catch{}};y.createContext(void 0);y.memo(({forcedTheme:e,storageKey:n,attribute:o,enableSystem:i,enableColorScheme:a,defaultTheme:l,value:u,themes:f,nonce:h,scriptProps:m})=>{let v=JSON.stringify([o,n,l,e,f,u,i,a]).slice(1,-1);return y.createElement("script",{...m,suppressHydrationWarning:!0,nonce:typeof window>"u"?h:"",dangerouslySetInnerHTML:{__html:`(${XC.toString()})(${v})`}})});Array.from({length:24},(e,n)=>n);Array.from({length:60},(e,n)=>n);const GC={default:"from-primary/10 to-primary/5 border-primary/20 text-primary",warning:"from-amber-500/10 to-amber-500/5 border-amber-500/20 text-amber-500",info:"from-blue-500/10 to-blue-500/5 border-blue-500/20 text-blue-500",success:"from-emerald-500/10 to-emerald-500/5 border-emerald-500/20 text-emerald-500",purple:"from-purple-500/10 to-purple-500/5 border-purple-500/20 text-purple-500",indigo:"from-indigo-500/10 to-indigo-500/5 border-indigo-500/20 text-indigo-500",orange:"from-orange-500/10 to-orange-500/5 border-orange-500/20 text-orange-500",destructive:"from-destructive/10 to-destructive/5 border-destructive/20 text-destructive"},KC=y.forwardRef(({title:e,value:n,icon:o,variant:i="default",trend:a,className:l,...u},f)=>w.jsxs("div",{ref:f,className:Se("p-6 rounded-2xl border bg-gradient-to-br transition-all hover:scale-[1.02] duration-300 group",GC[i],l),...u,children:[w.jsx("div",{className:"flex items-start justify-between mb-4",children:w.jsx("div",{className:"p-2.5 rounded-xl bg-background/50 border border-current/10 group-hover:border-current/20 transition-colors",children:o})}),w.jsxs("div",{className:"space-y-1",children:[w.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:e}),w.jsx("h3",{className:"text-3xl font-black tracking-tight text-foreground tabular-nums",children:n}),a&&w.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:a})]})]}));KC.displayName="MriStatCard";var fs=function(){return fs=Object.assign||function(e){for(var n,o=1,i=arguments.length;o=0||(a[o]=e[o]);return a}function l1(e){var n=y.useRef(e),o=y.useRef(function(i){n.current&&n.current(i)});return n.current=e,o.current}var Cs=function(e,n,o){return n===void 0&&(n=0),o===void 0&&(o=1),e>o?o:e0:j.buttons>0)&&a.current?l(c1(a.current,j,f.current)):k(!1)},N=function(){return k(!1)};function k(j){var M=h.current,E=zf(a.current),R=j?E.addEventListener:E.removeEventListener;R(M?"touchmove":"mousemove",C),R(M?"touchend":"mouseup",N)}return[function(j){var M=j.nativeEvent,E=a.current;if(E&&(u1(M),!(function(z,L){return L&&!ds(z)})(M,h.current)&&E)){if(ds(M)){h.current=!0;var R=M.changedTouches||[];R.length&&(f.current=R[0].identifier)}E.focus(),l(c1(E,M,f.current)),k(!0)}},function(j){var M=j.which||j.keyCode;M<37||M>40||(j.preventDefault(),u({left:M===39?.05:M===37?-.05:0,top:M===40?.05:M===38?-.05:0}))},k]},[u,l]),v=m[0],x=m[1],b=m[2];return y.useEffect(function(){return b},[b]),ke.createElement("div",cy({},i,{onTouchStart:v,onMouseDown:v,className:"react-colorful__interactive",ref:a,onKeyDown:x,tabIndex:0,role:"slider"}))}),fy=function(e){return e.filter(Boolean).join(" ")},dy=function(e){var n=e.color,o=e.left,i=e.top,a=i===void 0?.5:i,l=fy(["react-colorful__pointer",e.className]);return ke.createElement("div",{className:l,style:{top:100*a+"%",left:100*o+"%"}},ke.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:n}}))},go=function(e,n,o){return n===void 0&&(n=0),o===void 0&&(o=Math.pow(10,n)),Math.round(o*e)/o},JC=function(e){var n=e.s,o=e.v,i=e.a,a=(200-n)*o/100;return{h:go(e.h),s:go(a>0&&a<200?n*o/100/(a<=100?a:200-a)*100:0),l:go(a/2),a:go(i,2)}},Of=function(e){var n=JC(e);return"hsl("+n.h+", "+n.s+"%, "+n.l+"%)"};ke.memo(function(e){var n=e.hue,o=e.onChange,i=fy(["react-colorful__hue",e.className]);return ke.createElement("div",{className:i},ke.createElement(uy,{onMove:function(a){o({h:360*a.left})},onKey:function(a){o({h:Cs(n+360*a.left,0,360)})},"aria-label":"Hue","aria-valuenow":go(n),"aria-valuemax":"360","aria-valuemin":"0"},ke.createElement(dy,{className:"react-colorful__hue-pointer",left:n/360,color:Of({h:n,s:100,v:100,a:1})})))});ke.memo(function(e){var n=e.hsva,o=e.onChange,i={backgroundColor:Of({h:n.h,s:100,v:100,a:1})};return ke.createElement("div",{className:"react-colorful__saturation",style:i},ke.createElement(uy,{onMove:function(a){o({s:100*a.left,v:100-100*a.top})},onKey:function(a){o({s:Cs(n.s+100*a.left,0,100),v:Cs(n.v-100*a.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+go(n.s)+"%, Brightness "+go(n.v)+"%"},ke.createElement(dy,{className:"react-colorful__saturation-pointer",top:1-n.v/100,left:n.s/100,color:Of(n)})))});var ek={grad:.9,turn:360,rad:360/(2*Math.PI)},rr=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},ut=function(e,n,o){return n===void 0&&(n=0),o===void 0&&(o=Math.pow(10,n)),Math.round(o*e)/o+0},sn=function(e,n,o){return n===void 0&&(n=0),o===void 0&&(o=1),e>o?o:e>n?e:n},py=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},f1=function(e){return{r:sn(e.r,0,255),g:sn(e.g,0,255),b:sn(e.b,0,255),a:sn(e.a)}},of=function(e){return{r:ut(e.r),g:ut(e.g),b:ut(e.b),a:ut(e.a,3)}},tk=/^#([0-9a-f]{3,8})$/i,tl=function(e){var n=e.toString(16);return n.length<2?"0"+n:n},hy=function(e){var n=e.r,o=e.g,i=e.b,a=e.a,l=Math.max(n,o,i),u=l-Math.min(n,o,i),f=u?l===n?(o-i)/u:l===o?2+(i-n)/u:4+(n-o)/u:0;return{h:60*(f<0?f+6:f),s:l?u/l*100:0,v:l/255*100,a}},my=function(e){var n=e.h,o=e.s,i=e.v,a=e.a;n=n/360*6,o/=100,i/=100;var l=Math.floor(n),u=i*(1-o),f=i*(1-(n-l)*o),h=i*(1-(1-n+l)*o),m=l%6;return{r:255*[i,f,u,u,h,i][m],g:255*[h,i,i,f,u,u][m],b:255*[u,u,h,i,i,f][m],a}},d1=function(e){return{h:py(e.h),s:sn(e.s,0,100),l:sn(e.l,0,100),a:sn(e.a)}},p1=function(e){return{h:ut(e.h),s:ut(e.s),l:ut(e.l),a:ut(e.a,3)}},h1=function(e){return my((o=(n=e).s,{h:n.h,s:(o*=((i=n.l)<50?i:100-i)/100)>0?2*o/(i+o)*100:0,v:i+o,a:n.a}));var n,o,i},ps=function(e){return{h:(n=hy(e)).h,s:(a=(200-(o=n.s))*(i=n.v)/100)>0&&a<200?o*i/100/(a<=100?a:200-a)*100:0,l:a/2,a:n.a};var n,o,i,a},nk=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,rk=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ok=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ik=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,_f={string:[[function(e){var n=tk.exec(e);return n?(e=n[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?ut(parseInt(e[3]+e[3],16)/255,2):1}:e.length===6||e.length===8?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:e.length===8?ut(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var n=ok.exec(e)||ik.exec(e);return n?n[2]!==n[4]||n[4]!==n[6]?null:f1({r:Number(n[1])/(n[2]?100/255:1),g:Number(n[3])/(n[4]?100/255:1),b:Number(n[5])/(n[6]?100/255:1),a:n[7]===void 0?1:Number(n[7])/(n[8]?100:1)}):null},"rgb"],[function(e){var n=nk.exec(e)||rk.exec(e);if(!n)return null;var o,i,a=d1({h:(o=n[1],i=n[2],i===void 0&&(i="deg"),Number(o)*(ek[i]||1)),s:Number(n[3]),l:Number(n[4]),a:n[5]===void 0?1:Number(n[5])/(n[6]?100:1)});return h1(a)},"hsl"]],object:[[function(e){var n=e.r,o=e.g,i=e.b,a=e.a,l=a===void 0?1:a;return rr(n)&&rr(o)&&rr(i)?f1({r:Number(n),g:Number(o),b:Number(i),a:Number(l)}):null},"rgb"],[function(e){var n=e.h,o=e.s,i=e.l,a=e.a,l=a===void 0?1:a;if(!rr(n)||!rr(o)||!rr(i))return null;var u=d1({h:Number(n),s:Number(o),l:Number(i),a:Number(l)});return h1(u)},"hsl"],[function(e){var n=e.h,o=e.s,i=e.v,a=e.a,l=a===void 0?1:a;if(!rr(n)||!rr(o)||!rr(i))return null;var u=(function(f){return{h:py(f.h),s:sn(f.s,0,100),v:sn(f.v,0,100),a:sn(f.a)}})({h:Number(n),s:Number(o),v:Number(i),a:Number(l)});return my(u)},"hsv"]]},m1=function(e,n){for(var o=0;o=.5},e.prototype.toHex=function(){return n=of(this.rgba),o=n.r,i=n.g,a=n.b,u=(l=n.a)<1?tl(ut(255*l)):"","#"+tl(o)+tl(i)+tl(a)+u;var n,o,i,a,l,u},e.prototype.toRgb=function(){return of(this.rgba)},e.prototype.toRgbString=function(){return n=of(this.rgba),o=n.r,i=n.g,a=n.b,(l=n.a)<1?"rgba("+o+", "+i+", "+a+", "+l+")":"rgb("+o+", "+i+", "+a+")";var n,o,i,a,l},e.prototype.toHsl=function(){return p1(ps(this.rgba))},e.prototype.toHslString=function(){return n=p1(ps(this.rgba)),o=n.h,i=n.s,a=n.l,(l=n.a)<1?"hsla("+o+", "+i+"%, "+a+"%, "+l+")":"hsl("+o+", "+i+"%, "+a+"%)";var n,o,i,a,l},e.prototype.toHsv=function(){return n=hy(this.rgba),{h:ut(n.h),s:ut(n.s),v:ut(n.v),a:ut(n.a,3)};var n},e.prototype.invert=function(){return or({r:255-(n=this.rgba).r,g:255-n.g,b:255-n.b,a:n.a});var n},e.prototype.saturate=function(n){return n===void 0&&(n=.1),or(sf(this.rgba,n))},e.prototype.desaturate=function(n){return n===void 0&&(n=.1),or(sf(this.rgba,-n))},e.prototype.grayscale=function(){return or(sf(this.rgba,-1))},e.prototype.lighten=function(n){return n===void 0&&(n=.1),or(g1(this.rgba,n))},e.prototype.darken=function(n){return n===void 0&&(n=.1),or(g1(this.rgba,-n))},e.prototype.rotate=function(n){return n===void 0&&(n=15),this.hue(this.hue()+n)},e.prototype.alpha=function(n){return typeof n=="number"?or({r:(o=this.rgba).r,g:o.g,b:o.b,a:n}):ut(this.rgba.a,3);var o},e.prototype.hue=function(n){var o=ps(this.rgba);return typeof n=="number"?or({h:n,s:o.s,l:o.l,a:o.a}):ut(o.h)},e.prototype.isEqual=function(n){return this.toHex()===or(n).toHex()},e})(),or=function(e){return e instanceof Df?e:new Df(e)},v1=[],ak=function(e){e.forEach(function(n){v1.indexOf(n)<0&&(n(Df,_f),v1.push(n))})};function lk(e,n){var o={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},i={};for(var a in o)i[o[a]]=a;var l={};e.prototype.toName=function(u){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var f,h,m=i[this.toHex()];if(m)return m;if(u!=null&&u.closest){var v=this.toRgb(),x=1/0,b="black";if(!l.length)for(var C in o)l[C]=new e(o[C]).toRgb();for(var N in o){var k=(f=v,h=l[N],Math.pow(f.r-h.r,2)+Math.pow(f.g-h.g,2)+Math.pow(f.b-h.b,2));kw.jsx("div",{className:"relative w-full overflow-auto",children:w.jsx("table",{ref:o,className:Se("w-full caption-bottom text-sm",e),...n})}));ck.displayName="MriTable";const uk=y.forwardRef(({className:e,...n},o)=>w.jsx("thead",{ref:o,className:Se("[&_tr]:border-b",e),...n}));uk.displayName="MriTableHeader";const fk=y.forwardRef(({className:e,...n},o)=>w.jsx("tbody",{ref:o,className:Se("[&_tr:last-child]:border-0",e),...n}));fk.displayName="MriTableBody";const dk=y.forwardRef(({className:e,...n},o)=>w.jsx("tfoot",{ref:o,className:Se("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...n}));dk.displayName="MriTableFooter";const pk=y.forwardRef(({className:e,...n},o)=>w.jsx("tr",{ref:o,className:Se("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...n}));pk.displayName="MriTableRow";const hk=y.forwardRef(({className:e,...n},o)=>w.jsx("th",{ref:o,className:Se("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[0.5px]",e),...n}));hk.displayName="MriTableHead";const mk=y.forwardRef(({className:e,...n},o)=>w.jsx("td",{ref:o,className:Se("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[0.5px]",e),...n}));mk.displayName="MriTableCell";const gk=y.forwardRef(({className:e,...n},o)=>w.jsx("caption",{ref:o,className:Se("mt-4 text-sm text-muted-foreground",e),...n}));gk.displayName="MriTableCaption";function Ee(e,n,o){const i=[];return e&&i.push(`drop-shadow(0px 0px ${e}px ${n})`),o!==100&&i.push(`contrast(${o}%)`),i.join(" ")}function qt({icon:e,cx:n,cy:o,scaling:i,color:a,translateX:l=0,translateY:u=0,filter:f}){const[h,m]=e.viewBox,v=n*2*i,x=n-v/2+l,b=o-v/2+u,C=Array.isArray(e.paths)?e.paths:[e.paths];return w.jsx("svg",{x,y:b,width:v,height:v,viewBox:`0 0 ${h} ${m}`,style:f?{filter:f}:void 0,overflow:"visible",children:C.map((N,k)=>w.jsx("path",{d:N,fill:a},k))})}qt.displayName="MriShapeIcon";const gy=y.forwardRef(({displayOutline:e=!0,height:n=50,width:o=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:f=.4,iconTranslateX:h=0,iconTranslateY:m=0,innerColor:v="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:k=100,progressDropShadowAmount:j=0,progressValue:M=100,ringSize:E=4,rotateDegree:R=0,translateX:z=0,translateY:L=0},A)=>{const D=Math.max(n,o)/2,F=D-E/2,W=F*2*Math.PI,J=W-M/100*W,oe=[R>0?`rotate(${R} ${D} ${D})`:"",`translate(${z} ${L})`].filter(Boolean).join(" "),B=F-E/2+.1;return w.jsxs("svg",{ref:A,width:D*2,height:D*2,viewBox:`0 0 ${D*2} ${D*2}`,overflow:"visible",children:[w.jsxs("g",{transform:oe,children:[w.jsx("circle",{fill:v,stroke:"transparent",strokeDashoffset:0,strokeDasharray:`${W} ${W}`,strokeWidth:E-.6,r:B,cx:D,cy:D,transform:`rotate(-90, ${D}, ${D})`}),e&&w.jsx("circle",{fill:"transparent",stroke:x,strokeDashoffset:0,strokeDasharray:`${W} ${W}`,strokeWidth:E,r:F,cx:D,cy:D,transform:`rotate(-90, ${D}, ${D})`,style:{filter:Ee(C,x,b)}}),w.jsx("circle",{stroke:N,fill:"transparent",strokeDashoffset:J,strokeDasharray:`${W} ${W}`,strokeWidth:E,r:F,cx:D,cy:D,transform:`rotate(-90, ${D}, ${D})`,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,k)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(qt,{icon:i,cx:D,cy:D,scaling:f,color:a,translateX:h,translateY:m})})]})});gy.displayName="MriCircleRing";const vy=y.forwardRef(({height:e=50,width:n=50,icon:o=null,iconColor:i="currentColor",iconContrast:a=100,iconDropShadowAmount:l=0,iconScaling:u=.4,iconTranslateX:f=0,iconTranslateY:h=1,progressColor:m="currentColor",progressContrast:v=100,progressDropShadowAmount:x=0,progressValue:b=100,borderSize:C=4,rotateDegree:N=0,translateX:k=0,translateY:j=0,name:M="icon"},E)=>{const R=Math.max(e,n),z=R/2,L=z,A=z-L/2,D=R-b/100*R,F=[N>0?`rotate(${N} ${z} ${e/4})`:"",`translate(${k} ${j})`].filter(Boolean).join(" "),W=`${M||"icon"}-cut-out-circle`;return w.jsxs("svg",{ref:E,width:z*2,height:z*2,viewBox:`0 0 ${z*2} ${z*2}`,overflow:"visible",children:[w.jsx("defs",{children:w.jsx("clipPath",{id:W,children:w.jsx("circle",{strokeWidth:L,r:z,cx:z,cy:z})})}),w.jsxs("g",{transform:F,children:[w.jsx("circle",{stroke:"black",fill:"transparent",strokeWidth:C,r:A*2+C/2,cx:z,cy:z,shapeRendering:"geometricPrecision"}),w.jsx("line",{x1:"50%",y1:"100%",x2:"50%",y2:"0%",stroke:m,strokeDasharray:R,strokeDashoffset:D,strokeWidth:R,clipPath:`url(#${W})`,shapeRendering:"geometricPrecision",style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(x,m,v)}})]}),o&&w.jsx("g",{style:{filter:Ee(l,i,a)},children:w.jsx(qt,{icon:o,cx:z,cy:z,scaling:u,color:i,translateX:f,translateY:h})})]})});vy.displayName="MriCircleFill";const yy=y.forwardRef(({displayOutline:e=!0,height:n=50,width:o=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:f=.4,iconTranslateX:h=0,iconTranslateY:m=1,innerColor:v="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:k=100,progressDropShadowAmount:j=0,progressValue:M=100,ringSize:E=4,borderGap:R=.85,rotateDegree:z=0,translateX:L=0,translateY:A=0},D)=>{const F=Math.max(n,o)/2,W=F-E/2,J=W*2*Math.PI,oe=W*(R??.85),B=J*(R??.85),de=B-M/100*B,ie=[z>0?`rotate(${z} ${F} ${F})`:"",`translate(${L} ${A})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:D,width:F*2,height:F*2,viewBox:`0 0 ${F*2} ${F*2}`,overflow:"visible",children:[w.jsxs("g",{transform:ie,children:[w.jsx("circle",{fill:v,r:W+1,cx:F,cy:F,transform:`rotate(-90, ${F}, ${F})`}),e&&w.jsx("circle",{fill:"transparent",stroke:x,strokeDashoffset:0,strokeDasharray:`${B} ${B}`,strokeWidth:E,r:oe,cx:F,cy:F,transform:`rotate(-90, ${F}, ${F})`,style:{filter:Ee(C,x,b)}}),w.jsx("circle",{stroke:N,fill:"transparent",strokeDashoffset:de,strokeDasharray:`${B} ${B}`,strokeWidth:E,r:oe,cx:F,cy:F,transform:`rotate(-90, ${F}, ${F})`,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,k)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(qt,{icon:i,cx:F,cy:F,scaling:f,color:a,translateX:h,translateY:m})})]})});yy.displayName="MriInnerCircle";function y1(e,n,o,i){const a=e-(100-n)/100*e;let l=0,u=`0 ${Math.floor(i/2)}`;const f=(e-o*i)/o;if(a=a){const m=a-l;if(m<.1)break;return u+=` ${m} ${e}`,u}u+=` ${f} ${i}`,l+=f+i}const h=u.lastIndexOf(" ");return u=u.substring(0,h),u+=` ${e}`,u}const xy=y.forwardRef(({height:e=50,width:n=50,icon:o=null,iconColor:i="currentColor",iconContrast:a=100,iconDropShadowAmount:l=0,iconScaling:u=.4,iconTranslateX:f=0,iconTranslateY:h=1,innerColor:m="#212121",outlineColor:v="currentColor",outlineContrast:x=100,outlineDropShadowAmount:b=0,progressColor:C="currentColor",progressContrast:N=100,progressDropShadowAmount:k=0,progressValue:j=100,ringSize:M=4,borderGap:E=.85,dashes:R=8,gap:z=4,rotateDegree:L=0,translateX:A=0,translateY:D=0},F)=>{const W=Math.max(e,n)/2,J=W-M/2,oe=J*2*Math.PI,B=J*E,de=oe*E,ie=y1(de,j,R,z),ue=y1(de,100,R,z),ae=[L>0?`rotate(${L} ${W} ${W})`:"",`translate(${A} ${D})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:F,width:W*2,height:W*2,viewBox:`0 0 ${W*2} ${W*2}`,overflow:"visible",children:[w.jsxs("g",{transform:ae,children:[w.jsx("circle",{fill:m,r:J+3,cx:W,cy:W,transform:`rotate(-90, ${W}, ${W})`}),w.jsx("circle",{fill:"transparent",stroke:v,strokeDasharray:ue,strokeWidth:M,r:B,cx:W,cy:W,transform:`rotate(-90, ${W}, ${W})`,style:{filter:Ee(b,v,x)}}),w.jsx("circle",{stroke:C,fill:"transparent",strokeDasharray:ie,strokeWidth:M,r:B,cx:W,cy:W,transform:`rotate(-90, ${W}, ${W})`,style:{filter:Ee(k,C,N)}})]}),o&&w.jsx("g",{style:{filter:Ee(l,i,a)},children:w.jsx(qt,{icon:o,cx:W,cy:W,scaling:u,color:i,translateX:f,translateY:h})})]})});xy.displayName="MriSplitCircle";const wy=y.forwardRef(({displayOutline:e=!0,height:n=50,icon:o=null,iconColor:i="currentColor",iconScaling:a=.45,iconTranslateX:l=0,iconTranslateY:u=0,innerColor:f="#212121",innerColorOpacity:h=1,outlineColor:m="currentColor",outlineColorOpacity:v=.4,progressColor:x="currentColor",progressValue:b=100,ringSize:C=4,rotateDegree:N=0,translateX:k=0,translateY:j=0,maxLengthDisplay:M=100,maxProgressValue:E=100,showInnerBG:R=!1,displayNumber:z=0,text:L=""},A)=>{const D=n/2,F=D-C/2,W=F*2*Math.PI,J=Math.min(b,E)/E*100,oe=W-J/(100/M)/100*W,B=W-M/100*W,[de,ie]=y.useState(z),ue=y.useRef({from:z,to:z,start:0,raf:0});y.useEffect(()=>{const ne=ue.current;cancelAnimationFrame(ne.raf),ne.from=de,ne.to=z,ne.start=performance.now();const se=600;function he(ce){const Ie=ce-ne.start,Le=Math.min(Ie/se,1);ie(ne.from+(ne.to-ne.from)*Le),Le<1&&(ne.raf=requestAnimationFrame(he))}return ne.raf=requestAnimationFrame(he),()=>cancelAnimationFrame(ne.raf)},[z]);const ae=[N>0?`rotate(${N} ${D} ${D})`:"",`translate(${k} ${j})`].filter(Boolean).join(" ");let fe=null,U=[0,0,512,512];o&&(U=[0,0,o.viewBox[0],o.viewBox[1]],fe=o.paths);const Q=D*2*a,Z=D-Q/2+l,_=D-Q/2+u,[I,G,ee,K]=U;return w.jsxs("svg",{ref:A,width:D*2,height:D*2,viewBox:`0 0 ${D*2} ${D*2}`,overflow:"visible",children:[w.jsxs("g",{transform:ae,children:[e&&w.jsx("circle",{opacity:v,fill:"transparent",stroke:m,strokeDashoffset:B,strokeDasharray:`${W} ${W}`,strokeWidth:C,r:F,cx:D,cy:D,transform:`rotate(-90, ${D}, ${D})`}),R&&w.jsx("circle",{fill:f,fillOpacity:h,stroke:"transparent",strokeWidth:C-.6,r:F-C/2+.1,cx:D,cy:D}),w.jsx("circle",{stroke:x,fill:"transparent",strokeDashoffset:oe,strokeDasharray:`${W} ${W}`,strokeWidth:C,r:F,cx:D,cy:D,transform:`rotate(-90, ${D}, ${D})`,style:{transition:"stroke-dashoffset 0.6s linear"}})]}),L&&w.jsxs(w.Fragment,{children:[w.jsx("text",{className:"vehicle-number",fill:"white",x:"50%",y:"45%",dominantBaseline:"middle",textAnchor:"middle",children:Math.floor(de)}),w.jsx("text",{className:"vehicle-text",fill:"white",x:"50%",y:"70%",dominantBaseline:"middle",textAnchor:"middle",children:L})]}),fe&&w.jsx("svg",{x:Z,y:_,width:Q,height:Q,viewBox:`${I} ${G} ${ee} ${K}`,children:Array.isArray(fe)?fe.map((ne,se)=>w.jsx("path",{d:ne,fill:i},se)):w.jsx("path",{d:fe,fill:i})})]})});wy.displayName="MriPartialCircleRing";const by=y.forwardRef(({displayOutline:e=!0,height:n=50,width:o=20,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:f=.45,iconTranslateX:h=0,iconTranslateY:m=0,innerColor:v="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:k=100,progressDropShadowAmount:j=0,progressValue:M=100,ringSize:E=4,rotateDegree:R=0,translateX:z=0,translateY:L=0},A)=>{const D=o/2,F=2*(n-o)+Math.PI*(o-E),W=F-M/100*F,J=o/2,oe=n/2,B=[R>0?`rotate(${R} ${J} ${oe})`:"",`translate(${z} ${L})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:A,width:o,height:n,viewBox:`0 0 ${o} ${n}`,overflow:"visible",children:[w.jsxs("g",{transform:B,children:[w.jsx("rect",{x:0,y:0,width:o,height:n,rx:D,ry:D,fill:v}),e&&w.jsx("rect",{x:E/2,y:E/2,width:o-E,height:n-E,rx:D-E/2,ry:D-E/2,fill:"transparent",stroke:x,strokeWidth:E,style:{filter:Ee(C,x,b)}}),w.jsx("rect",{x:E/2,y:E/2,width:o-E,height:n-E,rx:D-E/2,ry:D-E/2,fill:"transparent",stroke:N,strokeWidth:E,strokeDasharray:`${F} ${F}`,strokeDashoffset:W,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,k)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(qt,{icon:i,cx:J,cy:oe,scaling:f,color:a,translateX:h,translateY:m})})]})});by.displayName="MriPillRing";const Sy=y.forwardRef(({height:e=50,width:n=50,icon:o=null,iconColor:i="currentColor",iconContrast:a=100,iconDropShadowAmount:l=0,iconScaling:u=.28,innerColor:f="#212121",outlineColor:h="currentColor",outlineContrast:m=100,outlineDropShadowAmount:v=0,progressColor:x="currentColor",progressContrast:b=100,progressDropShadowAmount:C=0,progressValue:N=100,translateX:k=0,translateY:j=0,xAxisRound:M=5,yAxisRound:E=5,barHeight:R,cardRadius:z},L)=>{const A=e*.07,D=e*u,F=e*.09,W=R??e*.078,J=n-2*A,oe=N/100*J,B=Math.min(M,W/2),de=Math.min(E,W/2),ie=k||j?`translate(${k} ${j})`:void 0;return w.jsxs("div",{ref:L,style:{width:n,padding:A,borderRadius:z??e*.056,backgroundColor:f,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",boxSizing:"border-box",transform:ie},children:[o&&w.jsx("div",{style:{marginBottom:F,filter:Ee(l,i,a)},children:w.jsx("svg",{width:D,height:D,viewBox:`0 0 ${o.viewBox[0]} ${o.viewBox[1]}`,style:{display:"block",fill:i},children:Array.isArray(o.paths)?o.paths.map((ue,ae)=>w.jsx("path",{d:ue,fill:i},ae)):w.jsx("path",{d:o.paths,fill:i})})}),w.jsxs("svg",{width:J,height:W,overflow:"visible",style:{display:"block"},children:[w.jsx("rect",{width:J,height:W,fill:h,rx:B,ry:de,style:{filter:Ee(v,h,m)}}),w.jsx("rect",{width:oe,height:W,fill:x,rx:B,ry:de,style:{transition:"width 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(C,x,b)}})]})]})});Sy.displayName="MriBadgeShape";const Cy=y.forwardRef(({height:e=50,width:n=50,icon:o=null,iconColor:i="currentColor",iconContrast:a=100,iconDropShadowAmount:l=0,iconScaling:u=.45,iconTranslateX:f=0,iconTranslateY:h=0,outlineColor:m="currentColor",outlineContrast:v=100,outlineDropShadowAmount:x=0,progressColor:b="currentColor",progressContrast:C=100,progressDropShadowAmount:N=0,progressValue:k=100,rotateDegree:j=0,translateX:M=0,translateY:E=0},R)=>{const z=n-k/100*n,L=[j>0?`rotate(${j} ${e/2} ${n/4})`:"",`translate(${M} ${E})`].filter(Boolean).join(" ");return w.jsx("div",{ref:R,className:"border-4 border-black relative",children:w.jsxs("svg",{height:e-8,width:n,children:[w.jsxs("g",{transform:L,children:[w.jsx("line",{stroke:m,x1:"0%",y1:"50%",x2:"100%",y2:"50%",strokeWidth:e-8,style:{filter:Ee(x,m,v)}}),w.jsx("line",{x1:"0%",y1:"50%",x2:"100%",y2:"50%",stroke:b,fill:"transparent",strokeDasharray:n,strokeDashoffset:z,strokeWidth:e-8,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(N,b,C)}})]}),o&&w.jsx("g",{dominantBaseline:"middle",style:{filter:Ee(l,i,a)},children:w.jsx(qt,{icon:o,cx:n/2,cy:(e-8)/2,scaling:u,color:i,translateX:f,translateY:h})})]})})});Cy.displayName="MriHorizontalBar";const ky=y.forwardRef(({height:e=50,width:n=50,icon:o=null,iconColor:i="currentColor",iconContrast:a=100,iconDropShadowAmount:l=0,iconScaling:u=.45,progressColor:f="currentColor",progressValue:h=100},m)=>w.jsxs("div",{ref:m,style:{display:"flex",flexDirection:"column",alignItems:"center",color:f,fontSize:e,width:n,height:e},children:[o&&w.jsx("svg",{width:n*u*2,height:n*u*2,viewBox:`0 0 ${o.viewBox[0]} ${o.viewBox[1]}`,style:{display:"block",fill:i,filter:Ee(l,i,a)},children:Array.isArray(o.paths)?o.paths.map((v,x)=>w.jsx("path",{d:v,fill:i},x)):w.jsx("path",{d:o.paths,fill:i})}),w.jsxs("span",{style:{fontSize:e*.3,fontWeight:700,color:f},children:[Math.round(h),"%"]})]}));ky.displayName="MriIconPercentage";const jy=y.forwardRef(({height:e=50,width:n=50,icon:o=null,iconColor:i="currentColor",iconContrast:a=100,iconDropShadowAmount:l=0,iconScaling:u=.45,iconTranslateX:f=0,iconTranslateY:h=3,innerColor:m="#212121",outlineColor:v="currentColor",outlineContrast:x=100,outlineDropShadowAmount:b=0,progressColor:C="currentColor",progressContrast:N=100,progressDropShadowAmount:k=0,progressValue:j=100,borderSize:M=3,name:E="icon"},R)=>{const z=j/100*e,L=`${E}-sq-fill-clip`;return w.jsxs("svg",{ref:R,width:n,height:e,overflow:"visible",children:[w.jsx("defs",{children:w.jsx("clipPath",{id:L,children:w.jsx("rect",{width:n,height:e,rx:2,ry:2})})}),w.jsx("rect",{width:n,height:e,fill:m}),w.jsx("rect",{x:0,y:e-z,width:n,height:z,fill:C,clipPath:`url(#${L})`,style:{transition:"y 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), height 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(k,C,N)}}),w.jsx("rect",{width:n-.2,height:e-.2,fill:"transparent",stroke:v,strokeWidth:M,style:{filter:Ee(b,v,x)}}),o&&w.jsx("g",{style:{filter:Ee(l,i,a)},children:w.jsx(qt,{icon:o,cx:n/2,cy:e/2,scaling:u,color:i,translateX:f,translateY:h})})]})});jy.displayName="MriSquareFill";const Ey=y.forwardRef(({displayOutline:e=!0,height:n=50,width:o=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:f=.45,iconTranslateX:h=0,iconTranslateY:m=3,innerColor:v="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:k=100,progressDropShadowAmount:j=0,progressValue:M=100,ringSize:E=4,rotateDegree:R=0,translateX:z=0,translateY:L=0},A)=>{const D=(o+n)*2,F=D-M/100*D,W=[R>0?`rotate(${R} 0 0)`:"",`translate(${z} ${L})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:A,width:o,height:n,transform:W,overflow:"visible",children:[w.jsxs("g",{children:[e&&w.jsx("rect",{stroke:x,width:o,height:n,strokeWidth:E,strokeDasharray:`${D} ${D}`,shapeRendering:"geometricPrecision",strokeDashoffset:0,fill:"transparent",style:{filter:Ee(C,x,b)}}),w.jsx("rect",{fill:v,transform:`translate(${E/2-.1} ${E/2-.3})`,stroke:"transparent",shapeRendering:"geometricPrecision",width:o-E+.2,height:n-E+.2,strokeDasharray:`${D} ${D}`,strokeDashoffset:0}),w.jsx("rect",{stroke:N,fill:"transparent",width:o,height:n,strokeWidth:E-.1,strokeDasharray:`${D} ${D}`,strokeDashoffset:F,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,k)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(qt,{icon:i,cx:o/2,cy:n/2,scaling:f,color:a,translateX:h,translateY:m})})]})});Ey.displayName="MriSquareRing";const lf="M19 1l-5.545 11.236L1 13.819l9 8.776L7.91 37 19 30.764 30.09 37 28 22.595l9-8.776-12.455-1.583z",Ny=y.forwardRef(({displayOutline:e=!0,height:n=50,width:o=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:f=.35,iconTranslateX:h=0,iconTranslateY:m=3,innerColor:v="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:k=100,progressDropShadowAmount:j=0,progressValue:M=100,ringSize:E=4,rotateDegree:R=0,translateX:z=0,translateY:L=0},A)=>{const D=y.useRef(null),[F,W]=y.useState(0);y.useEffect(()=>{if(D.current)try{W(D.current.getTotalLength())}catch{}},[]);const J=F-M/100*F,oe=19,B=19,de=E/Math.min(o/38,n/40),ie=`star-clip-${y.useId()}`,ue=[R>0?`rotate(${R} ${oe} ${B})`:"",`translate(${z} ${L})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:A,width:o,height:n,viewBox:"0 0 38 40",overflow:"visible",children:[w.jsx("defs",{children:w.jsx("clipPath",{id:ie,children:w.jsx("path",{d:lf})})}),w.jsxs("g",{transform:ue,children:[w.jsx("rect",{width:"38",height:"40",fill:v,clipPath:`url(#${ie})`}),e&&F>0&&w.jsx("path",{d:lf,fill:"transparent",stroke:x,strokeWidth:de,strokeLinejoin:"round",strokeDasharray:`${F} ${F}`,strokeDashoffset:0,style:{filter:Ee(C,x,b)}}),w.jsx("path",{ref:D,d:lf,stroke:N,strokeWidth:de,strokeLinejoin:"round",fill:"transparent",strokeDasharray:F>0?`${F} ${F}`:void 0,strokeDashoffset:F>0?J:void 0,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,k)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(qt,{icon:i,cx:oe,cy:B,scaling:f,color:a,translateX:h,translateY:m})})]})});Ny.displayName="MriStarRing";const cf="M8.384 1.226a.463.463 0 0 0-.768 0l-4.56 6.468a.537.537 0 0 0 0 .612l4.56 6.469a.463.463 0 0 0 .768 0l4.56-6.469a.537.537 0 0 0 0-.612l-4.56-6.468z",My=y.forwardRef(({displayOutline:e=!0,height:n=50,width:o=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:f=.35,iconTranslateX:h=0,iconTranslateY:m=.7,innerColor:v="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:k=100,progressDropShadowAmount:j=0,progressValue:M=100,ringSize:E=4,rotateDegree:R=0,translateX:z=0,translateY:L=0},A)=>{const D=y.useRef(null),[F,W]=y.useState(0);y.useEffect(()=>{if(D.current)try{W(D.current.getTotalLength())}catch{}},[]);const J=F-M/100*F,oe=[R>0?`rotate(${R} 8 8)`:"",`translate(${z} ${L})`].filter(Boolean).join(" "),B=8,de=8,ie=E/(Math.min(o,n)/16);return w.jsx("div",{ref:A,style:{margin:"0 -7px"},children:w.jsxs("svg",{version:"1.1",width:o,height:n,viewBox:"0 0 16 16",transform:"scale(-1,1)",overflow:"visible",children:[w.jsxs("g",{transform:oe,children:[e&&F>0&&w.jsx("path",{d:cf,fill:"transparent",stroke:x,strokeWidth:ie,strokeDasharray:`${F} ${F}`,strokeDashoffset:0,style:{filter:Ee(C,x,b)}}),w.jsx("svg",{viewBox:"-1.5 4.5 19 7",children:w.jsx("path",{d:cf,strokeWidth:E-.3,fill:v,stroke:"transparent"})}),w.jsx("path",{ref:D,d:cf,stroke:N,strokeWidth:ie,fill:"transparent",strokeDasharray:F>0?`${F} ${F}`:void 0,strokeDashoffset:F>0?J:void 0,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,k)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(qt,{icon:i,cx:B,cy:de,scaling:f,color:a,translateX:h,translateY:m})})]})})});My.displayName="MriDiamondRing";const uf="M21 2L3 12v10l18 10 18-10V12L21 2z",Ay=y.forwardRef(({displayOutline:e=!0,height:n=50,width:o=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:f=.35,iconTranslateX:h=0,iconTranslateY:m=.7,innerColor:v="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:k=100,progressDropShadowAmount:j=0,progressValue:M=100,ringSize:E=4,rotateDegree:R=0,translateX:z=0,translateY:L=0},A)=>{const D=y.useRef(null),[F,W]=y.useState(0);y.useEffect(()=>{if(D.current)try{W(D.current.getTotalLength())}catch{}},[]);const J=F-M/100*F,oe=21,B=17,de=E/Math.min(o/40,n/34),ie=[R>0?`rotate(${R} ${oe} ${B})`:"",`translate(${z} ${L})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:A,width:o,height:n,viewBox:"1 0 40 34",overflow:"visible",children:[w.jsxs("g",{transform:ie,children:[w.jsx("path",{d:uf,fill:v,stroke:"transparent"}),e&&F>0&&w.jsx("path",{d:uf,fill:"transparent",stroke:x,strokeWidth:de,strokeDasharray:`${F} ${F}`,strokeDashoffset:0,style:{filter:Ee(C,x,b)}}),w.jsx("path",{ref:D,d:uf,stroke:N,strokeWidth:de,fill:"transparent",strokeDasharray:F>0?`${F} ${F}`:void 0,strokeDashoffset:F>0?J:void 0,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,k)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(qt,{icon:i,cx:oe,cy:B,scaling:f,color:a,translateX:h,translateY:m})})]})});Ay.displayName="MriHexagonRing";const ff="M21.87,19.29,13.13,4.14a1.29,1.29,0,0,0-2.26,0L2.13,19.29a1.27,1.27,0,0,0,1.13,1.86H20.74A1.27,1.27,0,0,0,21.87,19.29Z",Py=y.forwardRef(({displayOutline:e=!0,height:n=50,width:o=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:f=.35,iconTranslateX:h=0,iconTranslateY:m=3,innerColor:v="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:k=100,progressDropShadowAmount:j=0,progressValue:M=100,ringSize:E=4,rotateDegree:R=0,translateX:z=0,translateY:L=0},A)=>{const D=y.useRef(null),[F,W]=y.useState(0);y.useEffect(()=>{if(D.current)try{W(D.current.getTotalLength())}catch{}},[]);const J=F-M/100*F,oe=12,B=12,de=E/Math.min(o/24,n/24),ie=[R>0?`rotate(${R} ${oe} ${B})`:"",`translate(${z} ${L})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:A,width:o,height:n,viewBox:"0 0 24 24",overflow:"visible",children:[w.jsxs("g",{transform:ie,children:[w.jsx("path",{d:ff,fill:v,stroke:"transparent"}),e&&F>0&&w.jsx("path",{d:ff,fill:"transparent",stroke:x,strokeWidth:de,strokeDasharray:`${F} ${F}`,strokeDashoffset:0,style:{filter:Ee(C,x,b)}}),w.jsx("path",{ref:D,d:ff,stroke:N,strokeWidth:de,fill:"transparent",strokeDasharray:F>0?`${F} ${F}`:void 0,strokeDashoffset:F>0?J:void 0,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,k)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(qt,{icon:i,cx:oe,cy:B,scaling:f,color:a,translateX:h,translateY:m})})]})});Py.displayName="MriTriangleRing";function po(e,n,o,i){const a=(i-90)*Math.PI/180;return{x:e+o*Math.cos(a),y:n+o*Math.sin(a)}}function x1(e,n,o,i,a){if(a<=0)return"";const l=po(e,n,o,i),u=po(e,n,o,i+a),f=a>180?1:0;return`M${l.x.toFixed(3)},${l.y.toFixed(3)} A${o},${o} 0 ${f} 1 ${u.x.toFixed(3)},${u.y.toFixed(3)}`}const Ry=y.forwardRef(({size:e,value:n,minValue:o,maxValue:i,arcLength:a,rotation:l,majorTickInterval:u,minorTickCount:f,ringSize:h,color:m,outlineColor:v,outlineOpacity:x,needleStyle:b,showValue:C,unit:N,label:k,odometer:j},M)=>{const E=e/2,R=e/2,z=y.useMemo(()=>{const ue=e/2-2,ae=a/100*360,fe=ue-h/2,U=fe-h/2-3,Q=ue*.12,Z=ue*.065,_=U-Q-ue*.05,I=fe*.88,G=Math.max(4,ue*.065),ee=Math.max(o,Math.min(i,n)),K=i>o?(ee-o)/(i-o):0,ne=l+K*ae,se=x1(E,R,fe,l,ae),he=x1(E,R,fe,l,K*ae),ce=[];for(let Le=o;Le<=i+u*.001;Le+=u)ce.push(parseFloat(Math.min(Le,i).toFixed(10)));ce[ce.length-1]0){const jo=ce[Le+1];for(let Zt=1;Zt<=f;Zt++){const Qr=Rt+Zt/(f+1)*((jo-o)/(i-o)-Rt),Xn=l+Qr*ae,Eo=po(E,R,U,Xn),vi=po(E,R,U-Z,Xn);Ie.push({x1:Eo.x,y1:Eo.y,x2:vi.x,y2:vi.y,isMajor:!1,labelX:0,labelY:0})}}}return{outerR:ue,trackR:fe,hubR:G,needleR:I,ticks:Ie,track:se,progress:he,valueDeg:ne,cval:ee}},[e,n,o,i,a,l,u,f,h,E,R]),{outerR:L,hubR:A,needleR:D,ticks:F,track:W,progress:J,valueDeg:oe,cval:B}=z,de=L*.145,ie=Math.max(1.5,L*.025);return w.jsxs("svg",{ref:M,width:e,height:e,viewBox:`0 0 ${e} ${e}`,style:{display:"block",overflow:"visible"},children:[w.jsx("circle",{cx:E,cy:R,r:L,fill:"rgba(0,0,0,0.88)"}),w.jsx("circle",{cx:E,cy:R,r:L,fill:"none",stroke:"rgba(255,255,255,0.07)",strokeWidth:"1.5"}),W&&w.jsx("path",{d:W,fill:"none",stroke:v,strokeOpacity:x,strokeWidth:h,strokeLinecap:"round"}),J&&w.jsx("path",{d:J,fill:"none",stroke:m,strokeWidth:h,strokeLinecap:"round"}),F.map((ue,ae)=>w.jsx("line",{x1:ue.x1.toFixed(2),y1:ue.y1.toFixed(2),x2:ue.x2.toFixed(2),y2:ue.y2.toFixed(2),stroke:ue.isMajor?"rgba(255,255,255,0.85)":"rgba(255,255,255,0.38)",strokeWidth:ue.isMajor?1.5:.9,strokeLinecap:"round"},ae)),F.filter(ue=>ue.isMajor).map((ue,ae)=>w.jsx("text",{x:ue.labelX.toFixed(2),y:ue.labelY.toFixed(2),textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,255,255,0.8)",fontSize:de.toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"400",children:ue.label},ae)),b==="needle"&&w.jsxs(w.Fragment,{children:[w.jsxs("g",{transform:`translate(${E},${R}) rotate(${oe})`,children:[w.jsx("line",{x1:"0",y1:A+1,x2:"0",y2:-D,stroke:"white",strokeWidth:ie,strokeLinecap:"round",opacity:"0.95"}),w.jsx("line",{x1:"0",y1:A+1,x2:"0",y2:L*.12,stroke:"rgba(255,255,255,0.4)",strokeWidth:ie*1.6,strokeLinecap:"round"})]}),w.jsx("circle",{cx:E,cy:R,r:A,fill:m}),w.jsx("circle",{cx:E,cy:R,r:A*.45,fill:"rgba(0,0,0,0.6)"}),C&&w.jsxs(w.Fragment,{children:[w.jsx("text",{x:E,y:R+L*.3,textAnchor:"middle",dominantBaseline:"middle",fill:"white",fontSize:(L*.22).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"700",children:Math.round(B)}),N&&w.jsx("text",{x:E,y:R+L*.46,textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,255,255,0.5)",fontSize:(L*.11).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"500",letterSpacing:"2",children:N.toUpperCase()}),j&&(()=>{const ue=L*.92,ae=L*.26,fe=E-ue/2,U=R+L*.52,Q=U+ae/2,Z=(L*.148).toFixed(1),_=j.replace(/\d/g,"8");return w.jsxs(w.Fragment,{children:[w.jsx("rect",{x:fe.toFixed(2),y:U.toFixed(2),width:ue.toFixed(2),height:ae.toFixed(2),rx:"2",ry:"2",fill:"rgba(4,9,5,0.92)",stroke:"rgba(90,160,100,0.18)",strokeWidth:"0.5"}),w.jsx("text",{x:E,y:Q.toFixed(2),textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(110,200,120,0.13)",fontSize:Z,fontFamily:'"Courier New", monospace',children:_}),w.jsx("text",{x:E,y:Q.toFixed(2),textAnchor:"middle",dominantBaseline:"middle",fill:"#82de8c",fontSize:Z,fontFamily:'"Courier New", monospace',fontWeight:"600",children:j})]})})()]})]}),b==="digital"&&w.jsxs(w.Fragment,{children:[w.jsx("circle",{cx:E,cy:R,r:L*.38,fill:"rgba(0,0,0,0.45)"}),C&&w.jsx("text",{x:E,y:N?R-L*.06:R,textAnchor:"middle",dominantBaseline:"middle",fill:"white",fontSize:(L*.3).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"700",letterSpacing:"-0.5",children:Math.round(B)}),N&&w.jsx("text",{x:E,y:R+L*.22,textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,255,255,0.55)",fontSize:(L*.12).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"500",letterSpacing:"2",children:N.toUpperCase()})]}),b==="arc"&&C&&w.jsx("text",{x:E,y:R,textAnchor:"middle",dominantBaseline:"middle",fill:"white",fontSize:(L*.26).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"700",children:Math.round(B)}),k&&!(b==="needle"&&j)&&w.jsx("text",{x:E,y:R+L*(b==="needle"?.6:.55),textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,255,255,0.38)",fontSize:(L*.095).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"400",letterSpacing:"1.5",children:k.toUpperCase()})]})});Ry.displayName="MriAnalogGauge";function w1(e,n,o,i){const a=(i-90)*Math.PI/180;return{x:e+o*Math.cos(a),y:n+o*Math.sin(a)}}const vk=[[0,1,!0],[10,.5,!1],[-10,.5,!1],[20,.5,!1],[-20,.5,!1],[30,.75,!0],[-30,.75,!0],[45,.55,!1],[-45,.55,!1],[60,.75,!0],[-60,.75,!0]],Iy=y.forwardRef(({size:e,pitch:n,roll:o},i)=>{const a=`ah-clip-${y.useId()}`,l=e/2,u=e/2,f=e/2-2,h=f-4,m=h/50,v=n*m,x=o,b=h*2.8,C=f*.88,N=f*.08,k=[h*.18,h*.28,h*.38],j=f*.1,M=[];for(const E of[-30,-20,-10,-5,5,10,20,30]){const R=Math.abs(E),z=R>=20?2:R>=10?1:0;M.push({deg:E,y:-E*m,w:k[z],major:R%10===0})}return w.jsxs("svg",{ref:i,width:e,height:e,viewBox:`0 0 ${e} ${e}`,style:{display:"block",overflow:"visible"},children:[w.jsx("defs",{children:w.jsx("clipPath",{id:a,children:w.jsx("circle",{cx:l,cy:u,r:h})})}),w.jsx("g",{clipPath:`url(#${a})`,children:w.jsxs("g",{transform:`translate(${l},${u}) rotate(${x}) translate(0,${v.toFixed(2)})`,children:[w.jsx("rect",{x:-b,y:-b,width:b*2,height:b,fill:"#1a4fa0"}),w.jsx("rect",{x:-b,y:0,width:b*2,height:b,fill:"#7a5230"}),w.jsx("rect",{x:-b,y:-4,width:b*2,height:4,fill:"rgba(255,255,255,0.06)"}),w.jsx("line",{x1:-b,y1:0,x2:b,y2:0,stroke:"rgba(255,255,255,0.92)",strokeWidth:1.5}),M.map(({deg:E,y:R,w:z,major:L})=>w.jsxs("g",{children:[w.jsx("line",{x1:-z,y1:R,x2:z,y2:R,stroke:"rgba(255,255,255,0.75)",strokeWidth:L?1.2:.85,strokeLinecap:"round"}),L&&w.jsxs(w.Fragment,{children:[w.jsx("text",{x:-z-3,y:R,textAnchor:"end",dominantBaseline:"middle",fill:"rgba(255,255,255,0.65)",fontSize:j,fontFamily:"system-ui, sans-serif",children:Math.abs(E)}),w.jsx("text",{x:z+3,y:R,textAnchor:"start",dominantBaseline:"middle",fill:"rgba(255,255,255,0.65)",fontSize:j,fontFamily:"system-ui, sans-serif",children:Math.abs(E)})]})]},E))]})}),w.jsx("circle",{cx:l,cy:u,r:f,fill:"none",stroke:"rgba(0,0,0,0.75)",strokeWidth:5}),w.jsx("circle",{cx:l,cy:u,r:f,fill:"none",stroke:"rgba(255,255,255,0.07)",strokeWidth:1.5}),vk.map(([E,R,z])=>{const L=N*R,A=w1(l,u,C,E),D=w1(l,u,C-L,E);return w.jsx("line",{x1:A.x.toFixed(2),y1:A.y.toFixed(2),x2:D.x.toFixed(2),y2:D.y.toFixed(2),stroke:z?"rgba(255,255,255,0.85)":"rgba(255,255,255,0.5)",strokeWidth:z?1.5:1,strokeLinecap:"round"},E)}),w.jsx("g",{transform:`rotate(${x}, ${l}, ${u})`,children:w.jsx("path",{d:`M ${l} ${(u-C+1).toFixed(1)} L ${(l-5).toFixed(1)} ${(u-C+11).toFixed(1)} L ${(l+5).toFixed(1)} ${(u-C+11).toFixed(1)} Z`,fill:"white",opacity:.92})}),w.jsx("line",{x1:l-f*.38,y1:u,x2:l-f*.1,y2:u,stroke:"#f59e0b",strokeWidth:2.5,strokeLinecap:"round"}),w.jsx("line",{x1:l+f*.1,y1:u,x2:l+f*.38,y2:u,stroke:"#f59e0b",strokeWidth:2.5,strokeLinecap:"round"}),w.jsx("circle",{cx:l,cy:u,r:2.5,fill:"#f59e0b"}),w.jsx("line",{x1:l,y1:u,x2:l,y2:u-f*.1,stroke:"#f59e0b",strokeWidth:1.5,strokeLinecap:"round"}),w.jsx("line",{x1:l-f*.09,y1:u,x2:l-f*.14,y2:u,stroke:"white",strokeWidth:1,opacity:.35}),w.jsx("line",{x1:l+f*.09,y1:u,x2:l+f*.14,y2:u,stroke:"white",strokeWidth:1,opacity:.35})]})});Iy.displayName="MriArtificialHorizon";function In(e,n,o,i){const a=(i-90)*Math.PI/180;return{x:e+o*Math.cos(a),y:n+o*Math.sin(a)}}function b1(e,n,o,i,a){const l=In(e,n,o,i),u=In(e,n,o,i+a);return`M${l.x.toFixed(3)},${l.y.toFixed(3)} A${o},${o} 0 0 1 ${u.x.toFixed(3)},${u.y.toFixed(3)}`}const S1=35,yk=[[10,.6],[20,.8],[30,1],[-10,.6],[-20,.8],[-30,1]],zy=y.forwardRef(({size:e,roll:n},o)=>{const i=e/2,a=e/2,l=e/2-2,u=l*.6,f=l*.22,h=f*.4,m=l*.07,v=145,x=70,b=180-Math.max(-S1,Math.min(S1,n)),C=In(i,a,u,b),N=In(i,a,u,219),k=In(i,a,u,141),j=Math.abs(Math.round(n)),M=n<-.5?"PORT":n>.5?"STBD":"LEVEL",E=n<-.5?"rgba(255,110,110,0.85)":n>.5?"rgba(110,220,130,0.85)":"rgba(255,255,255,0.45)";return w.jsxs("svg",{ref:o,width:e,height:e,viewBox:`0 0 ${e} ${e}`,style:{display:"block"},children:[w.jsx("circle",{cx:i,cy:a,r:l,fill:"rgba(0,0,0,0.88)"}),w.jsx("circle",{cx:i,cy:a,r:l,fill:"none",stroke:"rgba(255,255,255,0.07)",strokeWidth:1.5}),w.jsx("path",{d:b1(i,a,u,v,x),fill:"none",stroke:"rgba(255,255,255,0.10)",strokeWidth:f,strokeLinecap:"round"}),w.jsx("path",{d:b1(i,a,u-f*.16,v,x),fill:"none",stroke:"rgba(255,255,255,0.07)",strokeWidth:f*.32,strokeLinecap:"round"}),yk.map(([R,z])=>{const L=180-R,A=m*z,D=In(i,a,u-f/2-2,L),F=In(i,a,u+f/2+2,L),W=In(i,a,u-f/2-A-4,L),J=Math.abs(R)===30;return w.jsxs("g",{children:[w.jsx("line",{x1:D.x.toFixed(2),y1:D.y.toFixed(2),x2:F.x.toFixed(2),y2:F.y.toFixed(2),stroke:J?"rgba(255,255,255,0.75)":"rgba(255,255,255,0.40)",strokeWidth:J?1.5:1,strokeLinecap:"round"}),J&&w.jsx("text",{x:W.x.toFixed(2),y:W.y.toFixed(2),textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,255,255,0.45)",fontSize:(l*.095).toFixed(1),fontFamily:"system-ui, sans-serif",children:Math.abs(R)})]},R)}),(()=>{const R=In(i,a,u-f/2-2,180),z=In(i,a,u+f/2+2,180);return w.jsx("line",{x1:R.x.toFixed(2),y1:R.y.toFixed(2),x2:z.x.toFixed(2),y2:z.y.toFixed(2),stroke:"rgba(255,255,255,0.9)",strokeWidth:2,strokeLinecap:"round"})})(),w.jsx("circle",{cx:C.x.toFixed(2),cy:C.y.toFixed(2),r:h,fill:"#f59e0b"}),w.jsx("circle",{cx:C.x.toFixed(2),cy:C.y.toFixed(2),r:h,fill:"none",stroke:"rgba(0,0,0,0.30)",strokeWidth:1}),w.jsx("circle",{cx:(C.x-h*.25).toFixed(2),cy:(C.y-h*.28).toFixed(2),r:(h*.3).toFixed(2),fill:"rgba(255,255,255,0.35)"}),w.jsx("text",{x:N.x.toFixed(2),y:N.y.toFixed(2),textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,110,110,0.80)",fontSize:(l*.13).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"700",children:"P"}),w.jsx("text",{x:k.x.toFixed(2),y:k.y.toFixed(2),textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(110,220,130,0.80)",fontSize:(l*.13).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"700",children:"S"}),w.jsxs("text",{x:i,y:a-l*.1,textAnchor:"middle",dominantBaseline:"middle",fill:"white",fontSize:(l*.3).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"700",children:[j,"°"]}),w.jsx("text",{x:i,y:a+l*.16,textAnchor:"middle",dominantBaseline:"middle",fill:E,fontSize:(l*.1).toFixed(1),fontFamily:"system-ui, sans-serif",letterSpacing:"1.5",children:M}),w.jsx("text",{x:i,y:a+l*.36,textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,255,255,0.22)",fontSize:(l*.085).toFixed(1),fontFamily:"system-ui, sans-serif",letterSpacing:"1.5",children:"HEEL"})]})});zy.displayName="MriClinometer";function Oy(e){return{viewBox:[e.icon[0],e.icon[1]],paths:e.icon[4]}}function Ht(e){const{icon:n,...o}=e;return{...o,icon:n?Oy(n):null}}function xk(e){return g.jsx(Sy,{...Ht(e)})}function C1(e){return g.jsx(gy,{...Ht(e)})}function wk(e){return g.jsx(vy,{...Ht(e)})}function bk(e){return g.jsx(My,{...Ht(e)})}function Sk(e){return g.jsx(Ay,{...Ht(e)})}function Ck(e){return g.jsx(Cy,{...Ht(e)})}function kk(e){return g.jsx(ky,{...Ht(e)})}function jk(e){return g.jsx(yy,{...Ht(e)})}function Ek(e){return g.jsx(by,{...Ht(e)})}function Nk(e){return g.jsx(xy,{...Ht(e)})}function Mk(e){return g.jsx(jy,{...Ht(e)})}function Ak(e){return g.jsx(Ey,{...Ht(e)})}function Pk(e){return g.jsx(Ny,{...Ht(e)})}function Rk({height:e=50,width:n=50}){return g.jsx("div",{style:{width:n,height:e}})}function Ik(e){return g.jsx(Py,{...Ht(e)})}function Tf({hudIconInfo:e}){const{shape:n,isShowing:o,...i}=e;switch(n){case"badge":return g.jsx(xk,{...i});case"circle-ring":return g.jsx(C1,{...i});case"circle-fill":return g.jsx(wk,{...i});case"diamond-ring":return g.jsx(bk,{...i});case"hexagon-ring":return g.jsx(Sk,{...i});case"horizontal-bar":return g.jsx(Ck,{...i});case"icon-percentage":return g.jsx(kk,{...i});case"inner-circle":return g.jsx(jk,{...i});case"pill-ring":return g.jsx(Ek,{...i});case"split-circle":return g.jsx(Nk,{...i});case"square-fill":return g.jsx(Mk,{...i});case"square-ring":return g.jsx(Ak,{...i});case"star-ring":return g.jsx(Pk,{...i});case"transparent":return g.jsx(Rk,{...i});case"triangle-ring":return g.jsx(Ik,{...i});default:return g.jsx(C1,{...i})}}function zk({isReversed:e=!1,iconsToShow:n=[],iconsToNotShow:o=[]}){const i=Te(x=>x.icons),a=Te(x=>x.showingOrder),l=Te(x=>x.designMode),u=Te(x=>x.designProgress),f=Pt(x=>x.icons),h=Pt(x=>x.globalColorSettings),m=Sf(x=>x.icons);let v=n.length?n:a;return e&&(v=[...v].reverse()),g.jsxs(g.Fragment,{children:[v.map(x=>{const b=i[x],C=f[x];if(!C)return null;const N=l?h.editSingleIconName===x?h.editSingleIconStage:0:C.currentEffect,k=C.colorEffects[N],j=m[x];if(!(b.isShowing&&!o.includes(x)||l))return null;const E={...b,progressColor:k.progressColor,progressContrast:k.progressContrast,progressDropShadowAmount:k.progressDropShadowAmount,progressValue:l?u:b.progressValue,iconColor:j?j.iconColor:k.iconColor,iconContrast:k.iconContrast,iconDropShadowAmount:k.iconDropShadowAmount,outlineColor:k.outlineColor,outlineContrast:k.outlineContrast,outlineDropShadowAmount:k.outlineDropShadowAmount,innerColor:k.innerColor};return g.jsx("div",{className:"my-auto",children:g.jsx(Tf,{hudIconInfo:E})},x)}),Object.entries(m).map(([x,b])=>!b.name||!b.isShowing&&!l?null:g.jsx("div",{className:"my-auto",children:g.jsx(Tf,{hudIconInfo:b})},x))]})}const Ok={biohazard:hg,database:Eg,dollarsign:Mg,dumbbell:vg,exclamation:pd,lightbulb:lg,locationarrow:fg,swimming:wg,wind:Sg,bolt:xg,brain:Ng,carbattery:K4,droplet:a5,fire:X4,gaspump:H4,gear:n5,heart:e5,house:o5,info:L4,meteor:gg,microphone:fd,oilcan:jg,parachutebox:mg,person:F4,question:Z4,radiation:B4,shield:d5,skull:i5,star:Y4,tachometer:bg,thermometer:W4,triangle:p5,trophy:u5,user:ug,userslash:dd,virus:Q4,wrench:t5,xmark:c5,zap:s5};function Lf(e){if(!e)return null;const n=e.toLowerCase().replace(/[^a-z0-9]/g,"");return Ok[n]??null}const _k=new Set(["progressColor","outlineColor","iconColor","innerColor","progressContrast","outlineContrast","iconContrast","progressDropShadowAmount","outlineDropShadowAmount","iconDropShadowAmount","progressValue","icon","iconName","isShowing","name"]);function Dk({panel:e}){const[n,o]=y.useState(!1),i=Te(a=>a.icons.health);if(e.hudIconInfo){const a={...e.hudIconInfo};typeof a.icon=="string"?a.icon=Lf(a.icon):!a.icon&&a.iconName&&(a.icon=Lf(a.iconName));const l=a.shape??i.shape??"inner-circle",f={...ho(l,{}),height:i.height,width:i.width,...i.ringSize!=null&&{ringSize:i.ringSize},...i.borderGap!=null&&{borderGap:i.borderGap},...i.iconScaling!=null&&{iconScaling:i.iconScaling},shape:l};for(const[h,m]of Object.entries(a))m!=null&&_k.has(h)&&(f[h]=m);return f.progressColor||(f.progressColor="#3b82f6"),f.outlineColor||(f.outlineColor="rgba(59,130,246,0.4)"),f.iconColor||(f.iconColor="#ffffff"),f.progressContrast==null&&(f.progressContrast=100),f.iconContrast==null&&(f.iconContrast=100),f.outlineContrast==null&&(f.outlineContrast=100),f.progressDropShadowAmount==null&&(f.progressDropShadowAmount=0),f.iconDropShadowAmount==null&&(f.iconDropShadowAmount=0),f.outlineDropShadowAmount==null&&(f.outlineDropShadowAmount=0),f.progressValue==null&&(f.progressValue=0),g.jsxs("div",{className:"flex flex-col items-center gap-[6px] text-white text-[12px] text-center",children:[g.jsx(Tf,{hudIconInfo:f}),e.title&&g.jsx("div",{className:"opacity-85 text-[11px] mt-1",children:e.title}),e.value!==void 0&&g.jsx("div",{className:"font-bold",children:e.value})]})}return g.jsxs("div",{className:"flex flex-col items-center gap-[4px] text-white text-[12px] text-center w-[56px]",children:[e.icon&&!n&&g.jsx("div",{className:"w-[44px] h-[44px] rounded-full flex items-center justify-center p-[2px] bg-black/[0.12] border border-white/[0.06]",children:g.jsx("img",{src:`assets/panels/${e.icon}`,alt:e.title||e.id,className:"w-[36px] h-[36px] object-contain block mx-auto",onError:a=>{o(!0),a.target.style.display="none"}})}),n&&g.jsx("div",{className:"text-[14px] opacity-90",children:e.title?e.title.charAt(0):"#"}),e.title&&g.jsx("div",{className:"text-[11px] opacity-90 mt-[2px]",children:e.title}),e.value!==void 0&&g.jsx("div",{className:"font-bold text-[12px]",children:e.value})]})}function Tk(){const e=cs(o=>o.panels),n=Object.values(e).filter(o=>o.isShowing!==!1);return n.length?g.jsx("div",{className:"flex flex-row gap-[10px] pointer-events-none",children:n.map(o=>g.jsx("div",{className:"my-auto pointer-events-auto",children:g.jsx(Dk,{panel:o})},o.id))}):null}/*! +For more information, see https://radix-ui.com/primitives/docs/components/${n.docsSlug}`;return v.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},rk="DialogDescriptionWarning",ok=({contentRef:e,descriptionId:n})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Av(rk).contentName}}.`;return v.useEffect(()=>{var i;const a=(i=e.current)==null?void 0:i.getAttribute("aria-describedby");n&&a&&(document.getElementById(n)||console.warn(r))},[r,e,n]),null},ik=gv,Pv=xv,l0=wv,Rv=bv,Iv=Cv,zv=jv,sk=Nv,xs='[cmdk-group=""]',yd='[cmdk-group-items=""]',ak='[cmdk-group-heading=""]',Ov='[cmdk-item=""]',P1=`${Ov}:not([aria-disabled="true"])`,Yd="cmdk-item-select",ci="data-value",lk=(e,n,r)=>GC(e,n,r),Tv=v.createContext(void 0),Vs=()=>v.useContext(Tv),_v=v.createContext(void 0),c0=()=>v.useContext(_v),Dv=v.createContext(void 0),Lv=v.forwardRef((e,n)=>{let r=ui(()=>{var z,K;return{search:"",value:(K=(z=e.value)!=null?z:e.defaultValue)!=null?K:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=ui(()=>new Set),a=ui(()=>new Map),l=ui(()=>new Map),u=ui(()=>new Set),d=Fv(e),{label:h,children:m,value:y,onValueChange:x,filter:b,shouldFilter:C,loop:N,disablePointerSelection:E=!1,vimBindings:j=!0,...A}=e,k=fn(),M=fn(),P=fn(),L=v.useRef(null),H=xk();Ao(()=>{if(y!==void 0){let z=y.trim();r.current.value=z,_.emit()}},[y]),Ao(()=>{H(6,de)},[]);let _=v.useMemo(()=>({subscribe:z=>(u.current.add(z),()=>u.current.delete(z)),snapshot:()=>r.current,setState:(z,K,ee)=>{var Q,ne,le,he;if(!Object.is(r.current[z],K)){if(r.current[z]=K,z==="search")U(),Z(),H(1,ie);else if(z==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let fe=document.getElementById(P);fe?fe.focus():(Q=document.getElementById(k))==null||Q.focus()}if(H(7,()=>{var fe;r.current.selectedItemId=(fe=se())==null?void 0:fe.id,_.emit()}),ee||H(5,de),((ne=d.current)==null?void 0:ne.value)!==void 0){let fe=K??"";(he=(le=d.current).onValueChange)==null||he.call(le,fe);return}}_.emit()}},emit:()=>{u.current.forEach(z=>z())}}),[]),F=v.useMemo(()=>({value:(z,K,ee)=>{var Q;K!==((Q=l.current.get(z))==null?void 0:Q.value)&&(l.current.set(z,{value:K,keywords:ee}),r.current.filtered.items.set(z,W(K,ee)),H(2,()=>{Z(),_.emit()}))},item:(z,K)=>(i.current.add(z),K&&(a.current.has(K)?a.current.get(K).add(z):a.current.set(K,new Set([z]))),H(3,()=>{U(),Z(),r.current.value||ie(),_.emit()}),()=>{l.current.delete(z),i.current.delete(z),r.current.filtered.items.delete(z);let ee=se();H(4,()=>{U(),(ee==null?void 0:ee.getAttribute("id"))===z&&ie(),_.emit()})}),group:z=>(a.current.has(z)||a.current.set(z,new Set),()=>{l.current.delete(z),a.current.delete(z)}),filter:()=>d.current.shouldFilter,label:h||e["aria-label"],getDisablePointerSelection:()=>d.current.disablePointerSelection,listId:k,inputId:P,labelId:M,listInnerRef:L}),[]);function W(z,K){var ee,Q;let ne=(Q=(ee=d.current)==null?void 0:ee.filter)!=null?Q:lk;return z?ne(z,r.current.search,K):0}function Z(){if(!r.current.search||d.current.shouldFilter===!1)return;let z=r.current.filtered.items,K=[];r.current.filtered.groups.forEach(Q=>{let ne=a.current.get(Q),le=0;ne.forEach(he=>{let fe=z.get(he);le=Math.max(fe,le)}),K.push([Q,le])});let ee=L.current;ce().sort((Q,ne)=>{var le,he;let fe=Q.getAttribute("id"),Ie=ne.getAttribute("id");return((le=z.get(Ie))!=null?le:0)-((he=z.get(fe))!=null?he:0)}).forEach(Q=>{let ne=Q.closest(yd);ne?ne.appendChild(Q.parentElement===ne?Q:Q.closest(`${yd} > *`)):ee.appendChild(Q.parentElement===ee?Q:Q.closest(`${yd} > *`))}),K.sort((Q,ne)=>ne[1]-Q[1]).forEach(Q=>{var ne;let le=(ne=L.current)==null?void 0:ne.querySelector(`${xs}[${ci}="${encodeURIComponent(Q[0])}"]`);le==null||le.parentElement.appendChild(le)})}function ie(){let z=ce().find(ee=>ee.getAttribute("aria-disabled")!=="true"),K=z==null?void 0:z.getAttribute(ci);_.setState("value",K||void 0)}function U(){var z,K,ee,Q;if(!r.current.search||d.current.shouldFilter===!1){r.current.filtered.count=i.current.size;return}r.current.filtered.groups=new Set;let ne=0;for(let le of i.current){let he=(K=(z=l.current.get(le))==null?void 0:z.value)!=null?K:"",fe=(Q=(ee=l.current.get(le))==null?void 0:ee.keywords)!=null?Q:[],Ie=W(he,fe);r.current.filtered.items.set(le,Ie),Ie>0&&ne++}for(let[le,he]of a.current)for(let fe of he)if(r.current.filtered.items.get(fe)>0){r.current.filtered.groups.add(le);break}r.current.filtered.count=ne}function de(){var z,K,ee;let Q=se();Q&&(((z=Q.parentElement)==null?void 0:z.firstChild)===Q&&((ee=(K=Q.closest(xs))==null?void 0:K.querySelector(ak))==null||ee.scrollIntoView({block:"nearest"})),Q.scrollIntoView({block:"nearest"}))}function se(){var z;return(z=L.current)==null?void 0:z.querySelector(`${Ov}[aria-selected="true"]`)}function ce(){var z;return Array.from(((z=L.current)==null?void 0:z.querySelectorAll(P1))||[])}function ae(z){let K=ce()[z];K&&_.setState("value",K.getAttribute(ci))}function oe(z){var K;let ee=se(),Q=ce(),ne=Q.findIndex(he=>he===ee),le=Q[ne+z];(K=d.current)!=null&&K.loop&&(le=ne+z<0?Q[Q.length-1]:ne+z===Q.length?Q[0]:Q[ne+z]),le&&_.setState("value",le.getAttribute(ci))}function Y(z){let K=se(),ee=K==null?void 0:K.closest(xs),Q;for(;ee&&!Q;)ee=z>0?yk(ee,xs):vk(ee,xs),Q=ee==null?void 0:ee.querySelector(P1);Q?_.setState("value",Q.getAttribute(ci)):oe(z)}let I=()=>ae(ce().length-1),q=z=>{z.preventDefault(),z.metaKey?I():z.altKey?Y(1):oe(1)},T=z=>{z.preventDefault(),z.metaKey?ae(0):z.altKey?Y(-1):oe(-1)};return v.createElement(En.div,{ref:n,tabIndex:-1,...A,"cmdk-root":"",onKeyDown:z=>{var K;(K=A.onKeyDown)==null||K.call(A,z);let ee=z.nativeEvent.isComposing||z.keyCode===229;if(!(z.defaultPrevented||ee))switch(z.key){case"n":case"j":{j&&z.ctrlKey&&q(z);break}case"ArrowDown":{q(z);break}case"p":case"k":{j&&z.ctrlKey&&T(z);break}case"ArrowUp":{T(z);break}case"Home":{z.preventDefault(),ae(0);break}case"End":{z.preventDefault(),I();break}case"Enter":{z.preventDefault();let Q=se();if(Q){let ne=new Event(Yd);Q.dispatchEvent(ne)}}}}},v.createElement("label",{"cmdk-label":"",htmlFor:F.inputId,id:F.labelId,style:bk},h),ec(e,z=>v.createElement(_v.Provider,{value:_},v.createElement(Tv.Provider,{value:F},z))))}),ck=v.forwardRef((e,n)=>{var r,i;let a=fn(),l=v.useRef(null),u=v.useContext(Dv),d=Vs(),h=Fv(e),m=(i=(r=h.current)==null?void 0:r.forceMount)!=null?i:u==null?void 0:u.forceMount;Ao(()=>{if(!m)return d.item(a,u==null?void 0:u.id)},[m]);let y=$v(a,l,[e.value,e.children,l],e.keywords),x=c0(),b=Kr(H=>H.value&&H.value===y.current),C=Kr(H=>m||d.filter()===!1?!0:H.search?H.filtered.items.get(a)>0:!0);v.useEffect(()=>{let H=l.current;if(!(!H||e.disabled))return H.addEventListener(Yd,N),()=>H.removeEventListener(Yd,N)},[C,e.onSelect,e.disabled]);function N(){var H,_;E(),(_=(H=h.current).onSelect)==null||_.call(H,y.current)}function E(){x.setState("value",y.current,!0)}if(!C)return null;let{disabled:j,value:A,onSelect:k,forceMount:M,keywords:P,...L}=e;return v.createElement(En.div,{ref:Yr(l,n),...L,id:a,"cmdk-item":"",role:"option","aria-disabled":!!j,"aria-selected":!!b,"data-disabled":!!j,"data-selected":!!b,onPointerMove:j||d.getDisablePointerSelection()?void 0:E,onClick:j?void 0:N},e.children)}),uk=v.forwardRef((e,n)=>{let{heading:r,children:i,forceMount:a,...l}=e,u=fn(),d=v.useRef(null),h=v.useRef(null),m=fn(),y=Vs(),x=Kr(C=>a||y.filter()===!1?!0:C.search?C.filtered.groups.has(u):!0);Ao(()=>y.group(u),[]),$v(u,d,[e.value,e.heading,h]);let b=v.useMemo(()=>({id:u,forceMount:a}),[a]);return v.createElement(En.div,{ref:Yr(d,n),...l,"cmdk-group":"",role:"presentation",hidden:x?void 0:!0},r&&v.createElement("div",{ref:h,"cmdk-group-heading":"","aria-hidden":!0,id:m},r),ec(e,C=>v.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?m:void 0},v.createElement(Dv.Provider,{value:b},C))))}),dk=v.forwardRef((e,n)=>{let{alwaysRender:r,...i}=e,a=v.useRef(null),l=Kr(u=>!u.search);return!r&&!l?null:v.createElement(En.div,{ref:Yr(a,n),...i,"cmdk-separator":"",role:"separator"})}),fk=v.forwardRef((e,n)=>{let{onValueChange:r,...i}=e,a=e.value!=null,l=c0(),u=Kr(m=>m.search),d=Kr(m=>m.selectedItemId),h=Vs();return v.useEffect(()=>{e.value!=null&&l.setState("search",e.value)},[e.value]),v.createElement(En.input,{ref:n,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":h.listId,"aria-labelledby":h.labelId,"aria-activedescendant":d,id:h.inputId,type:"text",value:a?e.value:u,onChange:m=>{a||l.setState("search",m.target.value),r==null||r(m.target.value)}})}),pk=v.forwardRef((e,n)=>{let{children:r,label:i="Suggestions",...a}=e,l=v.useRef(null),u=v.useRef(null),d=Kr(m=>m.selectedItemId),h=Vs();return v.useEffect(()=>{if(u.current&&l.current){let m=u.current,y=l.current,x,b=new ResizeObserver(()=>{x=requestAnimationFrame(()=>{let C=m.offsetHeight;y.style.setProperty("--cmdk-list-height",C.toFixed(1)+"px")})});return b.observe(m),()=>{cancelAnimationFrame(x),b.unobserve(m)}}},[]),v.createElement(En.div,{ref:Yr(l,n),...a,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":d,"aria-label":i,id:h.listId},ec(e,m=>v.createElement("div",{ref:Yr(u,h.listInnerRef),"cmdk-list-sizer":""},m)))}),hk=v.forwardRef((e,n)=>{let{open:r,onOpenChange:i,overlayClassName:a,contentClassName:l,container:u,...d}=e;return v.createElement(ik,{open:r,onOpenChange:i},v.createElement(Pv,{container:u},v.createElement(l0,{"cmdk-overlay":"",className:a}),v.createElement(Rv,{"aria-label":e.label,"cmdk-dialog":"",className:l},v.createElement(Lv,{ref:n,...d}))))}),mk=v.forwardRef((e,n)=>Kr(r=>r.filtered.count===0)?v.createElement(En.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),gk=v.forwardRef((e,n)=>{let{progress:r,children:i,label:a="Loading...",...l}=e;return v.createElement(En.div,{ref:n,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},ec(e,u=>v.createElement("div",{"aria-hidden":!0},u)))}),Bt=Object.assign(Lv,{List:pk,Item:ck,Input:fk,Group:uk,Separator:dk,Dialog:hk,Empty:mk,Loading:gk});function yk(e,n){let r=e.nextElementSibling;for(;r;){if(r.matches(n))return r;r=r.nextElementSibling}}function vk(e,n){let r=e.previousElementSibling;for(;r;){if(r.matches(n))return r;r=r.previousElementSibling}}function Fv(e){let n=v.useRef(e);return Ao(()=>{n.current=e}),n}var Ao=typeof window>"u"?v.useEffect:v.useLayoutEffect;function ui(e){let n=v.useRef();return n.current===void 0&&(n.current=e()),n}function Kr(e){let n=c0(),r=()=>e(n.snapshot());return v.useSyncExternalStore(n.subscribe,r,r)}function $v(e,n,r,i=[]){let a=v.useRef(),l=Vs();return Ao(()=>{var u;let d=(()=>{var m;for(let y of r){if(typeof y=="string")return y.trim();if(typeof y=="object"&&"current"in y)return y.current?(m=y.current.textContent)==null?void 0:m.trim():a.current}})(),h=i.map(m=>m.trim());l.value(e,d,h),(u=n.current)==null||u.setAttribute(ci,d),a.current=d}),a}var xk=()=>{let[e,n]=v.useState(),r=ui(()=>new Map);return Ao(()=>{r.current.forEach(i=>i()),r.current=new Map},[e]),(i,a)=>{r.current.set(i,a),n({})}};function wk(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function ec({asChild:e,children:n},r){return e&&v.isValidElement(n)?v.cloneElement(wk(n),{ref:n.ref},r(n.props.children)):r(n)}var bk={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const u0=v.forwardRef(({className:e,...n},r)=>w.jsx(Bt,{ref:r,className:Se("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...n}));u0.displayName=Bt.displayName;const d0=v.forwardRef(({className:e,...n},r)=>w.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[w.jsx(Kb,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),w.jsx(Bt.Input,{ref:r,className:Se("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...n})]}));d0.displayName=Bt.Input.displayName;const f0=v.forwardRef(({className:e,...n},r)=>w.jsx(Bt.List,{ref:r,className:Se("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...n}));f0.displayName=Bt.List.displayName;const p0=v.forwardRef((e,n)=>w.jsx(Bt.Empty,{ref:n,className:"py-6 text-center text-sm",...e}));p0.displayName=Bt.Empty.displayName;const h0=v.forwardRef(({className:e,...n},r)=>w.jsx(Bt.Group,{ref:r,className:Se("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...n}));h0.displayName=Bt.Group.displayName;const Sk=v.forwardRef(({className:e,...n},r)=>w.jsx(Bt.Separator,{ref:r,className:Se("-mx-1 h-px bg-border",e),...n}));Sk.displayName=Bt.Separator.displayName;const Tl=v.forwardRef(({className:e,...n},r)=>w.jsx(Bt.Item,{ref:r,className:Se("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground",e),...n}));Tl.displayName=Bt.Item.displayName;const Ck=Pv,kk=sk,Hv=v.forwardRef(({className:e,...n},r)=>w.jsx(l0,{ref:r,className:Se("fixed inset-0 z-50 bg-black/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...n}));Hv.displayName=l0.displayName;const jk={bottom:"fixed inset-x-0 bottom-0 mt-24 h-auto max-h-[90vh] rounded-t-[10px] border-t border-x data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom",top:"fixed inset-x-0 top-0 mb-24 h-auto max-h-[90vh] rounded-b-[10px] border-b border-x data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top",right:"fixed inset-y-0 right-0 h-full w-full max-w-2xl rounded-l-[10px] border-l border-y data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right",left:"fixed inset-y-0 left-0 h-full w-full max-w-2xl rounded-r-[10px] border-r border-y data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left"},Ek=v.forwardRef(({className:e,children:n,side:r="bottom",hideHandle:i=!1,...a},l)=>w.jsxs(Ck,{children:[w.jsx(Hv,{}),w.jsxs(Rv,{ref:l,className:Se("z-50 flex flex-col border-border bg-card shadow-2xl transition-transform duration-300","data-[state=open]:animate-in data-[state=closed]:animate-out",jk[r],e),...a,children:[r==="bottom"&&!i&&w.jsx("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted shrink-0"}),w.jsx("div",{className:Se("flex-1 overflow-y-auto",r==="bottom"?"p-6 pt-2":"p-0"),children:n}),w.jsxs(kk,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[w.jsx(L2,{className:"h-4 w-4"}),w.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Ek.displayName="MriDrawerContent";const Nk=v.forwardRef(({className:e,...n},r)=>w.jsx(Iv,{ref:r,className:Se("text-lg font-semibold leading-none tracking-tight",e),...n}));Nk.displayName=Iv.displayName;const Mk=v.forwardRef(({className:e,...n},r)=>w.jsx(zv,{ref:r,className:Se("text-sm text-muted-foreground",e),...n}));Mk.displayName=zv.displayName;function Ak({options:e,value:n,onChange:r,placeholder:i,searchPlaceholder:a="Search...",emptyMessage:l="No results found.",className:u,disabled:d,isLoading:h=!1,error:m,portal:y=!0,size:x="default",clearable:b=!1,creatable:C=!1,createLabelPrefix:N="Create"}){const[E,j]=v.useState(!1),[A,k]=v.useState(""),M=e.find(L=>String(L.value)===String(n)),P=C&&A.trim()!==""&&!e.some(L=>String(L.label).toLowerCase()===A.toLowerCase());return w.jsxs(fv,{open:E,onOpenChange:j,children:[w.jsx(pv,{asChild:!0,children:w.jsxs("div",{className:"w-full space-y-1",children:[w.jsxs(xi,{variant:"outline",role:"combobox",disabled:d||h,isLoading:h,"aria-expanded":E,size:x,className:Se("w-full justify-between bg-background border-border hover:bg-muted hover:text-foreground text-foreground",m&&"border-destructive focus:ring-destructive",u),children:[w.jsx("span",{className:"truncate",children:M?M.label:w.jsx("span",{className:"text-muted-foreground font-normal",children:i??"Select..."})}),w.jsx(D2,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]}),typeof m=="string"&&w.jsx("p",{className:"text-[10px] font-medium text-destructive px-1 animate-in fade-in slide-in-from-top-1",children:m})]})}),w.jsx(o0,{portal:y,className:"w-[--radix-popover-trigger-width] p-0 border-border bg-popover z-[100]",children:w.jsxs(u0,{className:"bg-transparent text-popover-foreground",children:[w.jsx(d0,{placeholder:a,className:"h-9",value:A,onValueChange:k}),w.jsx(p0,{children:P?w.jsxs("div",{className:"flex items-center gap-2 cursor-pointer hover:text-primary transition-colors px-4 py-2",onClick:()=>{r(A),j(!1),k("")},children:[w.jsx(r1,{className:"w-4 h-4"}),w.jsxs("span",{children:[N,' "',A,'"']})]}):w.jsx("span",{children:l})}),w.jsx(f0,{className:"max-h-60 overflow-auto p-1 custom-scrollbar",onWheel:L=>L.stopPropagation(),children:w.jsxs(h0,{children:[e.map(L=>w.jsxs(Tl,{value:`${String(L.label)} ${String(L.value)}`,onSelect:()=>{const H=String(L.value);b&&String(n)===H?r(""):r(H),j(!1),k("")},className:"aria-selected:bg-accent aria-selected:text-accent-foreground rounded-md cursor-pointer",children:[w.jsx(_2,{className:Se("mr-2 h-4 w-4 text-primary",String(n)===String(L.value)?"opacity-100":"opacity-0")}),w.jsx("span",{className:"truncate",children:L.label})]},L.value)),P&&w.jsxs(Tl,{value:A,onSelect:()=>{r(A),j(!1),k("")},className:"text-primary font-medium",children:[w.jsx(r1,{className:"mr-2 h-4 w-4"}),N,' "',A,'"']})]})})]})})]})}function Pk({options:e,value:n,onChange:r,placeholder:i,searchPlaceholder:a="Search...",emptyMessage:l="No results found.",className:u,disabled:d,isLoading:h=!1,error:m,portal:y=!0,maxVisibleValues:x=3}){const[b,C]=v.useState(!1),N=v.useCallback(j=>{n.includes(j)?r(n.filter(A=>A!==j)):r([...n,j])},[n,r]),E=e.filter(j=>n.includes(j.value));return w.jsxs(fv,{open:b,onOpenChange:C,children:[w.jsx(pv,{asChild:!0,children:w.jsxs("div",{className:"w-full space-y-1",children:[w.jsxs(xi,{variant:"outline",role:"combobox",disabled:d||h,isLoading:h,"aria-expanded":b,className:Se("w-full justify-between bg-background border-border hover:bg-muted hover:text-foreground text-foreground min-h-[40px] h-auto py-2",m&&"border-destructive focus:ring-destructive",u),children:[w.jsx("div",{className:"flex flex-wrap gap-1 items-center max-w-[90%]",children:E.length>0?w.jsxs(w.Fragment,{children:[E.slice(0,x).map(j=>w.jsxs(n1,{variant:"secondary",className:"flex items-center gap-1 pr-1 bg-primary/10 text-primary border-primary/20 hover:bg-primary/20 transition-colors",children:[w.jsx("span",{className:"truncate max-w-[100px]",children:j.label}),w.jsx("button",{className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onKeyDown:A=>{A.key==="Enter"&&N(j.value)},onMouseDown:A=>{A.preventDefault(),A.stopPropagation()},onClick:()=>N(j.value),children:w.jsx(L2,{className:"h-3 w-3 text-primary/60 hover:text-primary transition-colors"})})]},j.value)),E.length>x&&w.jsxs(n1,{variant:"secondary",className:"bg-muted text-muted-foreground border-border",children:["+",E.length-x]})]}):w.jsx("span",{className:"text-muted-foreground font-normal",children:i??"Select options..."})}),w.jsx(D2,{className:"h-4 w-4 shrink-0 opacity-50"})]}),typeof m=="string"&&w.jsx("p",{className:"text-[10px] font-medium text-destructive px-1 animate-in fade-in slide-in-from-top-1",children:m})]})}),w.jsx(o0,{portal:y,className:"w-[--radix-popover-trigger-width] p-0 border-border bg-popover z-[100] shadow-2xl overflow-hidden rounded-xl",children:w.jsxs(u0,{className:"bg-transparent text-popover-foreground",children:[w.jsx(d0,{placeholder:a,className:"h-10 border-none focus:ring-0 bg-transparent"}),w.jsx(p0,{className:"py-6 text-sm text-center text-muted-foreground",children:l}),w.jsx(f0,{className:"max-h-64 overflow-auto p-1.5 space-y-0.5 custom-scrollbar",onWheel:j=>j.stopPropagation(),children:w.jsx(h0,{children:e.map(j=>w.jsx(Tl,{value:j.label,onSelect:()=>N(j.value),className:"aria-selected:bg-primary/10 aria-selected:text-primary rounded-lg cursor-pointer flex items-center justify-between py-2.5 px-3 transition-all active:scale-[0.98]",children:w.jsxs("div",{className:"flex items-center gap-2",children:[w.jsx("div",{className:Se("w-4 h-4 rounded border flex items-center justify-center transition-all duration-200",n.includes(j.value)?"bg-primary border-primary":"border-border bg-background"),children:n.includes(j.value)&&w.jsx(_2,{className:"h-3 w-3 text-primary-foreground stroke-[3px]"})}),w.jsx("span",{className:Se("text-sm font-medium",n.includes(j.value)?"text-primary":"text-foreground"),children:j.label})]})},j.value))})})]})})]})}function Rk(e){return e.multiple===!0?w.jsx(Pk,{...e}):w.jsx(Ak,{...e})}var Ik=(e,n,r,i,a,l,u,d)=>{let h=document.documentElement,m=["light","dark"];function y(C){(Array.isArray(e)?e:[e]).forEach(N=>{let E=N==="class",j=E&&l?a.map(A=>l[A]||A):a;E?(h.classList.remove(...j),h.classList.add(l&&l[C]?l[C]:C)):h.setAttribute(N,C)}),x(C)}function x(C){d&&m.includes(C)&&(h.style.colorScheme=C)}function b(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(i)y(i);else try{let C=localStorage.getItem(n)||r,N=u&&C==="system"?b():C;y(N)}catch{}};v.createContext(void 0);v.memo(({forcedTheme:e,storageKey:n,attribute:r,enableSystem:i,enableColorScheme:a,defaultTheme:l,value:u,themes:d,nonce:h,scriptProps:m})=>{let y=JSON.stringify([r,n,l,e,d,u,i,a]).slice(1,-1);return v.createElement("script",{...m,suppressHydrationWarning:!0,nonce:typeof window>"u"?h:"",dangerouslySetInnerHTML:{__html:`(${Ik.toString()})(${y})`}})});Array.from({length:24},(e,n)=>n);Array.from({length:60},(e,n)=>n);const zk={default:"from-primary/10 to-primary/5 border-primary/20 text-primary",warning:"from-amber-500/10 to-amber-500/5 border-amber-500/20 text-amber-500",info:"from-blue-500/10 to-blue-500/5 border-blue-500/20 text-blue-500",success:"from-emerald-500/10 to-emerald-500/5 border-emerald-500/20 text-emerald-500",purple:"from-purple-500/10 to-purple-500/5 border-purple-500/20 text-purple-500",indigo:"from-indigo-500/10 to-indigo-500/5 border-indigo-500/20 text-indigo-500",orange:"from-orange-500/10 to-orange-500/5 border-orange-500/20 text-orange-500",destructive:"from-destructive/10 to-destructive/5 border-destructive/20 text-destructive"},Ok=v.forwardRef(({title:e,value:n,icon:r,variant:i="default",trend:a,className:l,...u},d)=>w.jsxs("div",{ref:d,className:Se("p-6 rounded-2xl border bg-gradient-to-br transition-all hover:scale-[1.02] duration-300 group",zk[i],l),...u,children:[w.jsx("div",{className:"flex items-start justify-between mb-4",children:w.jsx("div",{className:"p-2.5 rounded-xl bg-background/50 border border-current/10 group-hover:border-current/20 transition-colors",children:r})}),w.jsxs("div",{className:"space-y-1",children:[w.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:e}),w.jsx("h3",{className:"text-3xl font-black tracking-tight text-foreground tabular-nums",children:n}),a&&w.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:a})]})]}));Ok.displayName="MriStatCard";var ks=function(){return ks=Object.assign||function(e){for(var n,r=1,i=arguments.length;r=0||(a[r]=e[r]);return a}function R1(e){var n=v.useRef(e),r=v.useRef(function(i){n.current&&n.current(i)});return n.current=e,r.current}var Ts=function(e,n,r){return n===void 0&&(n=0),r===void 0&&(r=1),e>r?r:e0:j.buttons>0)&&a.current?l(I1(a.current,j,d.current)):E(!1)},N=function(){return E(!1)};function E(j){var A=h.current,k=Xd(a.current),M=j?k.addEventListener:k.removeEventListener;M(A?"touchmove":"mousemove",C),M(A?"touchend":"mouseup",N)}return[function(j){var A=j.nativeEvent,k=a.current;if(k&&(z1(A),!(function(P,L){return L&&!js(P)})(A,h.current)&&k)){if(js(A)){h.current=!0;var M=A.changedTouches||[];M.length&&(d.current=M[0].identifier)}k.focus(),l(I1(k,A,d.current)),E(!0)}},function(j){var A=j.which||j.keyCode;A<37||A>40||(j.preventDefault(),u({left:A===39?.05:A===37?-.05:0,top:A===40?.05:A===38?-.05:0}))},E]},[u,l]),y=m[0],x=m[1],b=m[2];return v.useEffect(function(){return b},[b]),ke.createElement("div",Vv({},i,{onTouchStart:y,onMouseDown:y,className:"react-colorful__interactive",ref:a,onKeyDown:x,tabIndex:0,role:"slider"}))}),Wv=function(e){return e.filter(Boolean).join(" ")},Uv=function(e){var n=e.color,r=e.left,i=e.top,a=i===void 0?.5:i,l=Wv(["react-colorful__pointer",e.className]);return ke.createElement("div",{className:l,style:{top:100*a+"%",left:100*r+"%"}},ke.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:n}}))},Co=function(e,n,r){return n===void 0&&(n=0),r===void 0&&(r=Math.pow(10,n)),Math.round(r*e)/r},Lk=function(e){var n=e.s,r=e.v,i=e.a,a=(200-n)*r/100;return{h:Co(e.h),s:Co(a>0&&a<200?n*r/100/(a<=100?a:200-a)*100:0),l:Co(a/2),a:Co(i,2)}},Gd=function(e){var n=Lk(e);return"hsl("+n.h+", "+n.s+"%, "+n.l+"%)"};ke.memo(function(e){var n=e.hue,r=e.onChange,i=Wv(["react-colorful__hue",e.className]);return ke.createElement("div",{className:i},ke.createElement(Bv,{onMove:function(a){r({h:360*a.left})},onKey:function(a){r({h:Ts(n+360*a.left,0,360)})},"aria-label":"Hue","aria-valuenow":Co(n),"aria-valuemax":"360","aria-valuemin":"0"},ke.createElement(Uv,{className:"react-colorful__hue-pointer",left:n/360,color:Gd({h:n,s:100,v:100,a:1})})))});ke.memo(function(e){var n=e.hsva,r=e.onChange,i={backgroundColor:Gd({h:n.h,s:100,v:100,a:1})};return ke.createElement("div",{className:"react-colorful__saturation",style:i},ke.createElement(Bv,{onMove:function(a){r({s:100*a.left,v:100-100*a.top})},onKey:function(a){r({s:Ts(n.s+100*a.left,0,100),v:Ts(n.v-100*a.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Co(n.s)+"%, Brightness "+Co(n.v)+"%"},ke.createElement(Uv,{className:"react-colorful__saturation-pointer",top:1-n.v/100,left:n.s/100,color:Gd(n)})))});var Fk={grad:.9,turn:360,rad:360/(2*Math.PI)},lr=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},ht=function(e,n,r){return n===void 0&&(n=0),r===void 0&&(r=Math.pow(10,n)),Math.round(r*e)/r+0},dn=function(e,n,r){return n===void 0&&(n=0),r===void 0&&(r=1),e>r?r:e>n?e:n},Yv=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},O1=function(e){return{r:dn(e.r,0,255),g:dn(e.g,0,255),b:dn(e.b,0,255),a:dn(e.a)}},vd=function(e){return{r:ht(e.r),g:ht(e.g),b:ht(e.b),a:ht(e.a,3)}},$k=/^#([0-9a-f]{3,8})$/i,dl=function(e){var n=e.toString(16);return n.length<2?"0"+n:n},Xv=function(e){var n=e.r,r=e.g,i=e.b,a=e.a,l=Math.max(n,r,i),u=l-Math.min(n,r,i),d=u?l===n?(r-i)/u:l===r?2+(i-n)/u:4+(n-r)/u:0;return{h:60*(d<0?d+6:d),s:l?u/l*100:0,v:l/255*100,a}},Gv=function(e){var n=e.h,r=e.s,i=e.v,a=e.a;n=n/360*6,r/=100,i/=100;var l=Math.floor(n),u=i*(1-r),d=i*(1-(n-l)*r),h=i*(1-(1-n+l)*r),m=l%6;return{r:255*[i,d,u,u,h,i][m],g:255*[h,i,i,d,u,u][m],b:255*[u,u,h,i,i,d][m],a}},T1=function(e){return{h:Yv(e.h),s:dn(e.s,0,100),l:dn(e.l,0,100),a:dn(e.a)}},_1=function(e){return{h:ht(e.h),s:ht(e.s),l:ht(e.l),a:ht(e.a,3)}},D1=function(e){return Gv((r=(n=e).s,{h:n.h,s:(r*=((i=n.l)<50?i:100-i)/100)>0?2*r/(i+r)*100:0,v:i+r,a:n.a}));var n,r,i},Es=function(e){return{h:(n=Xv(e)).h,s:(a=(200-(r=n.s))*(i=n.v)/100)>0&&a<200?r*i/100/(a<=100?a:200-a)*100:0,l:a/2,a:n.a};var n,r,i,a},Hk=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Vk=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Bk=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Wk=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Kd={string:[[function(e){var n=$k.exec(e);return n?(e=n[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?ht(parseInt(e[3]+e[3],16)/255,2):1}:e.length===6||e.length===8?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:e.length===8?ht(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var n=Bk.exec(e)||Wk.exec(e);return n?n[2]!==n[4]||n[4]!==n[6]?null:O1({r:Number(n[1])/(n[2]?100/255:1),g:Number(n[3])/(n[4]?100/255:1),b:Number(n[5])/(n[6]?100/255:1),a:n[7]===void 0?1:Number(n[7])/(n[8]?100:1)}):null},"rgb"],[function(e){var n=Hk.exec(e)||Vk.exec(e);if(!n)return null;var r,i,a=T1({h:(r=n[1],i=n[2],i===void 0&&(i="deg"),Number(r)*(Fk[i]||1)),s:Number(n[3]),l:Number(n[4]),a:n[5]===void 0?1:Number(n[5])/(n[6]?100:1)});return D1(a)},"hsl"]],object:[[function(e){var n=e.r,r=e.g,i=e.b,a=e.a,l=a===void 0?1:a;return lr(n)&&lr(r)&&lr(i)?O1({r:Number(n),g:Number(r),b:Number(i),a:Number(l)}):null},"rgb"],[function(e){var n=e.h,r=e.s,i=e.l,a=e.a,l=a===void 0?1:a;if(!lr(n)||!lr(r)||!lr(i))return null;var u=T1({h:Number(n),s:Number(r),l:Number(i),a:Number(l)});return D1(u)},"hsl"],[function(e){var n=e.h,r=e.s,i=e.v,a=e.a,l=a===void 0?1:a;if(!lr(n)||!lr(r)||!lr(i))return null;var u=(function(d){return{h:Yv(d.h),s:dn(d.s,0,100),v:dn(d.v,0,100),a:dn(d.a)}})({h:Number(n),s:Number(r),v:Number(i),a:Number(l)});return Gv(u)},"hsv"]]},L1=function(e,n){for(var r=0;r=.5},e.prototype.toHex=function(){return n=vd(this.rgba),r=n.r,i=n.g,a=n.b,u=(l=n.a)<1?dl(ht(255*l)):"","#"+dl(r)+dl(i)+dl(a)+u;var n,r,i,a,l,u},e.prototype.toRgb=function(){return vd(this.rgba)},e.prototype.toRgbString=function(){return n=vd(this.rgba),r=n.r,i=n.g,a=n.b,(l=n.a)<1?"rgba("+r+", "+i+", "+a+", "+l+")":"rgb("+r+", "+i+", "+a+")";var n,r,i,a,l},e.prototype.toHsl=function(){return _1(Es(this.rgba))},e.prototype.toHslString=function(){return n=_1(Es(this.rgba)),r=n.h,i=n.s,a=n.l,(l=n.a)<1?"hsla("+r+", "+i+"%, "+a+"%, "+l+")":"hsl("+r+", "+i+"%, "+a+"%)";var n,r,i,a,l},e.prototype.toHsv=function(){return n=Xv(this.rgba),{h:ht(n.h),s:ht(n.s),v:ht(n.v),a:ht(n.a,3)};var n},e.prototype.invert=function(){return cr({r:255-(n=this.rgba).r,g:255-n.g,b:255-n.b,a:n.a});var n},e.prototype.saturate=function(n){return n===void 0&&(n=.1),cr(xd(this.rgba,n))},e.prototype.desaturate=function(n){return n===void 0&&(n=.1),cr(xd(this.rgba,-n))},e.prototype.grayscale=function(){return cr(xd(this.rgba,-1))},e.prototype.lighten=function(n){return n===void 0&&(n=.1),cr(F1(this.rgba,n))},e.prototype.darken=function(n){return n===void 0&&(n=.1),cr(F1(this.rgba,-n))},e.prototype.rotate=function(n){return n===void 0&&(n=15),this.hue(this.hue()+n)},e.prototype.alpha=function(n){return typeof n=="number"?cr({r:(r=this.rgba).r,g:r.g,b:r.b,a:n}):ht(this.rgba.a,3);var r},e.prototype.hue=function(n){var r=Es(this.rgba);return typeof n=="number"?cr({h:n,s:r.s,l:r.l,a:r.a}):ht(r.h)},e.prototype.isEqual=function(n){return this.toHex()===cr(n).toHex()},e})(),cr=function(e){return e instanceof qd?e:new qd(e)},$1=[],Yk=function(e){e.forEach(function(n){$1.indexOf(n)<0&&(n(qd,Kd),$1.push(n))})};function Xk(e,n){var r={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},i={};for(var a in r)i[r[a]]=a;var l={};e.prototype.toName=function(u){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var d,h,m=i[this.toHex()];if(m)return m;if(u!=null&&u.closest){var y=this.toRgb(),x=1/0,b="black";if(!l.length)for(var C in r)l[C]=new e(r[C]).toRgb();for(var N in r){var E=(d=y,h=l[N],Math.pow(d.r-h.r,2)+Math.pow(d.g-h.g,2)+Math.pow(d.b-h.b,2));Ew.jsx("div",{className:"relative w-full overflow-auto",children:w.jsx("table",{ref:r,className:Se("w-full caption-bottom text-sm",e),...n})}));Gk.displayName="MriTable";const Kk=v.forwardRef(({className:e,...n},r)=>w.jsx("thead",{ref:r,className:Se("[&_tr]:border-b",e),...n}));Kk.displayName="MriTableHeader";const qk=v.forwardRef(({className:e,...n},r)=>w.jsx("tbody",{ref:r,className:Se("[&_tr:last-child]:border-0",e),...n}));qk.displayName="MriTableBody";const Qk=v.forwardRef(({className:e,...n},r)=>w.jsx("tfoot",{ref:r,className:Se("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...n}));Qk.displayName="MriTableFooter";const Jk=v.forwardRef(({className:e,...n},r)=>w.jsx("tr",{ref:r,className:Se("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...n}));Jk.displayName="MriTableRow";const Zk=v.forwardRef(({className:e,...n},r)=>w.jsx("th",{ref:r,className:Se("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[0.5px]",e),...n}));Zk.displayName="MriTableHead";const e7=v.forwardRef(({className:e,...n},r)=>w.jsx("td",{ref:r,className:Se("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[0.5px]",e),...n}));e7.displayName="MriTableCell";const t7=v.forwardRef(({className:e,...n},r)=>w.jsx("caption",{ref:r,className:Se("mt-4 text-sm text-muted-foreground",e),...n}));t7.displayName="MriTableCaption";function Ee(e,n,r){const i=[];return e&&i.push(`drop-shadow(0px 0px ${e}px ${n})`),r!==100&&i.push(`contrast(${r}%)`),i.join(" ")}function en({icon:e,cx:n,cy:r,scaling:i,color:a,translateX:l=0,translateY:u=0,filter:d}){const[h,m]=e.viewBox,y=n*2*i,x=n-y/2+l,b=r-y/2+u,C=Array.isArray(e.paths)?e.paths:[e.paths];return w.jsx("svg",{x,y:b,width:y,height:y,viewBox:`0 0 ${h} ${m}`,style:d?{filter:d}:void 0,overflow:"visible",children:C.map((N,E)=>w.jsx("path",{d:N,fill:a},E))})}en.displayName="MriShapeIcon";const Kv=v.forwardRef(({displayOutline:e=!0,height:n=50,width:r=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:d=.4,iconTranslateX:h=0,iconTranslateY:m=0,innerColor:y="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:E=100,progressDropShadowAmount:j=0,progressValue:A=100,ringSize:k=4,rotateDegree:M=0,translateX:P=0,translateY:L=0},H)=>{const _=Math.max(n,r)/2,F=_-k/2,W=F*2*Math.PI,Z=W-A/100*W,ie=[M>0?`rotate(${M} ${_} ${_})`:"",`translate(${P} ${L})`].filter(Boolean).join(" "),U=F-k/2+.1;return w.jsxs("svg",{ref:H,width:_*2,height:_*2,viewBox:`0 0 ${_*2} ${_*2}`,overflow:"visible",children:[w.jsxs("g",{transform:ie,children:[w.jsx("circle",{fill:y,stroke:"transparent",strokeDashoffset:0,strokeDasharray:`${W} ${W}`,strokeWidth:k-.6,r:U,cx:_,cy:_,transform:`rotate(-90, ${_}, ${_})`}),e&&w.jsx("circle",{fill:"transparent",stroke:x,strokeDashoffset:0,strokeDasharray:`${W} ${W}`,strokeWidth:k,r:F,cx:_,cy:_,transform:`rotate(-90, ${_}, ${_})`,style:{filter:Ee(C,x,b)}}),w.jsx("circle",{stroke:N,fill:"transparent",strokeDashoffset:Z,strokeDasharray:`${W} ${W}`,strokeWidth:k,r:F,cx:_,cy:_,transform:`rotate(-90, ${_}, ${_})`,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,E)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(en,{icon:i,cx:_,cy:_,scaling:d,color:a,translateX:h,translateY:m})})]})});Kv.displayName="MriCircleRing";const qv=v.forwardRef(({height:e=50,width:n=50,icon:r=null,iconColor:i="currentColor",iconContrast:a=100,iconDropShadowAmount:l=0,iconScaling:u=.4,iconTranslateX:d=0,iconTranslateY:h=1,progressColor:m="currentColor",progressContrast:y=100,progressDropShadowAmount:x=0,progressValue:b=100,borderSize:C=4,rotateDegree:N=0,translateX:E=0,translateY:j=0,name:A="icon"},k)=>{const M=Math.max(e,n),P=M/2,L=P,H=P-L/2,_=M-b/100*M,F=[N>0?`rotate(${N} ${P} ${e/4})`:"",`translate(${E} ${j})`].filter(Boolean).join(" "),W=`${A||"icon"}-cut-out-circle`;return w.jsxs("svg",{ref:k,width:P*2,height:P*2,viewBox:`0 0 ${P*2} ${P*2}`,overflow:"visible",children:[w.jsx("defs",{children:w.jsx("clipPath",{id:W,children:w.jsx("circle",{strokeWidth:L,r:P,cx:P,cy:P})})}),w.jsxs("g",{transform:F,children:[w.jsx("circle",{stroke:"black",fill:"transparent",strokeWidth:C,r:H*2+C/2,cx:P,cy:P,shapeRendering:"geometricPrecision"}),w.jsx("line",{x1:"50%",y1:"100%",x2:"50%",y2:"0%",stroke:m,strokeDasharray:M,strokeDashoffset:_,strokeWidth:M,clipPath:`url(#${W})`,shapeRendering:"geometricPrecision",style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(x,m,y)}})]}),r&&w.jsx("g",{style:{filter:Ee(l,i,a)},children:w.jsx(en,{icon:r,cx:P,cy:P,scaling:u,color:i,translateX:d,translateY:h})})]})});qv.displayName="MriCircleFill";const Qv=v.forwardRef(({displayOutline:e=!0,height:n=50,width:r=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:d=.4,iconTranslateX:h=0,iconTranslateY:m=1,innerColor:y="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:E=100,progressDropShadowAmount:j=0,progressValue:A=100,ringSize:k=4,borderGap:M=.85,rotateDegree:P=0,translateX:L=0,translateY:H=0},_)=>{const F=Math.max(n,r)/2,W=F-k/2,Z=W*2*Math.PI,ie=W*(M??.85),U=Z*(M??.85),de=U-A/100*U,se=[P>0?`rotate(${P} ${F} ${F})`:"",`translate(${L} ${H})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:_,width:F*2,height:F*2,viewBox:`0 0 ${F*2} ${F*2}`,overflow:"visible",children:[w.jsxs("g",{transform:se,children:[w.jsx("circle",{fill:y,r:W+1,cx:F,cy:F,transform:`rotate(-90, ${F}, ${F})`}),e&&w.jsx("circle",{fill:"transparent",stroke:x,strokeDashoffset:0,strokeDasharray:`${U} ${U}`,strokeWidth:k,r:ie,cx:F,cy:F,transform:`rotate(-90, ${F}, ${F})`,style:{filter:Ee(C,x,b)}}),w.jsx("circle",{stroke:N,fill:"transparent",strokeDashoffset:de,strokeDasharray:`${U} ${U}`,strokeWidth:k,r:ie,cx:F,cy:F,transform:`rotate(-90, ${F}, ${F})`,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,E)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(en,{icon:i,cx:F,cy:F,scaling:d,color:a,translateX:h,translateY:m})})]})});Qv.displayName="MriInnerCircle";function H1(e,n,r,i){const a=e-(100-n)/100*e;let l=0,u=`0 ${Math.floor(i/2)}`;const d=(e-r*i)/r;if(a=a){const m=a-l;if(m<.1)break;return u+=` ${m} ${e}`,u}u+=` ${d} ${i}`,l+=d+i}const h=u.lastIndexOf(" ");return u=u.substring(0,h),u+=` ${e}`,u}const Jv=v.forwardRef(({height:e=50,width:n=50,icon:r=null,iconColor:i="currentColor",iconContrast:a=100,iconDropShadowAmount:l=0,iconScaling:u=.4,iconTranslateX:d=0,iconTranslateY:h=1,innerColor:m="#212121",outlineColor:y="currentColor",outlineContrast:x=100,outlineDropShadowAmount:b=0,progressColor:C="currentColor",progressContrast:N=100,progressDropShadowAmount:E=0,progressValue:j=100,ringSize:A=4,borderGap:k=.85,dashes:M=8,gap:P=4,rotateDegree:L=0,translateX:H=0,translateY:_=0},F)=>{const W=Math.max(e,n)/2,Z=W-A/2,ie=Z*2*Math.PI,U=Z*k,de=ie*k,se=H1(de,j,M,P),ce=H1(de,100,M,P),ae=[L>0?`rotate(${L} ${W} ${W})`:"",`translate(${H} ${_})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:F,width:W*2,height:W*2,viewBox:`0 0 ${W*2} ${W*2}`,overflow:"visible",children:[w.jsxs("g",{transform:ae,children:[w.jsx("circle",{fill:m,r:Z+3,cx:W,cy:W,transform:`rotate(-90, ${W}, ${W})`}),w.jsx("circle",{fill:"transparent",stroke:y,strokeDasharray:ce,strokeWidth:A,r:U,cx:W,cy:W,transform:`rotate(-90, ${W}, ${W})`,style:{filter:Ee(b,y,x)}}),w.jsx("circle",{stroke:C,fill:"transparent",strokeDasharray:se,strokeWidth:A,r:U,cx:W,cy:W,transform:`rotate(-90, ${W}, ${W})`,style:{filter:Ee(E,C,N)}})]}),r&&w.jsx("g",{style:{filter:Ee(l,i,a)},children:w.jsx(en,{icon:r,cx:W,cy:W,scaling:u,color:i,translateX:d,translateY:h})})]})});Jv.displayName="MriSplitCircle";const Zv=v.forwardRef(({displayOutline:e=!0,height:n=50,icon:r=null,iconColor:i="currentColor",iconScaling:a=.45,iconTranslateX:l=0,iconTranslateY:u=0,innerColor:d="#212121",innerColorOpacity:h=1,outlineColor:m="currentColor",outlineColorOpacity:y=.4,progressColor:x="currentColor",progressValue:b=100,ringSize:C=4,rotateDegree:N=0,translateX:E=0,translateY:j=0,maxLengthDisplay:A=100,maxProgressValue:k=100,showInnerBG:M=!1,displayNumber:P=0,text:L=""},H)=>{const _=n/2,F=_-C/2,W=F*2*Math.PI,Z=Math.min(b,k)/k*100,ie=W-Z/(100/A)/100*W,U=W-A/100*W,[de,se]=v.useState(P),ce=v.useRef({from:P,to:P,start:0,raf:0});v.useEffect(()=>{const ne=ce.current;cancelAnimationFrame(ne.raf),ne.from=de,ne.to=P,ne.start=performance.now();const le=600;function he(fe){const Ie=fe-ne.start,Le=Math.min(Ie/le,1);se(ne.from+(ne.to-ne.from)*Le),Le<1&&(ne.raf=requestAnimationFrame(he))}return ne.raf=requestAnimationFrame(he),()=>cancelAnimationFrame(ne.raf)},[P]);const ae=[N>0?`rotate(${N} ${_} ${_})`:"",`translate(${E} ${j})`].filter(Boolean).join(" ");let oe=null,Y=[0,0,512,512];r&&(Y=[0,0,r.viewBox[0],r.viewBox[1]],oe=r.paths);const I=_*2*a,q=_-I/2+l,T=_-I/2+u,[z,K,ee,Q]=Y;return w.jsxs("svg",{ref:H,width:_*2,height:_*2,viewBox:`0 0 ${_*2} ${_*2}`,overflow:"visible",children:[w.jsxs("g",{transform:ae,children:[e&&w.jsx("circle",{opacity:y,fill:"transparent",stroke:m,strokeDashoffset:U,strokeDasharray:`${W} ${W}`,strokeWidth:C,r:F,cx:_,cy:_,transform:`rotate(-90, ${_}, ${_})`}),M&&w.jsx("circle",{fill:d,fillOpacity:h,stroke:"transparent",strokeWidth:C-.6,r:F-C/2+.1,cx:_,cy:_}),w.jsx("circle",{stroke:x,fill:"transparent",strokeDashoffset:ie,strokeDasharray:`${W} ${W}`,strokeWidth:C,r:F,cx:_,cy:_,transform:`rotate(-90, ${_}, ${_})`,style:{transition:"stroke-dashoffset 0.6s linear"}})]}),L&&w.jsxs(w.Fragment,{children:[w.jsx("text",{className:"vehicle-number",fill:"white",x:"50%",y:"45%",dominantBaseline:"middle",textAnchor:"middle",children:Math.floor(de)}),w.jsx("text",{className:"vehicle-text",fill:"white",x:"50%",y:"70%",dominantBaseline:"middle",textAnchor:"middle",children:L})]}),oe&&w.jsx("svg",{x:q,y:T,width:I,height:I,viewBox:`${z} ${K} ${ee} ${Q}`,children:Array.isArray(oe)?oe.map((ne,le)=>w.jsx("path",{d:ne,fill:i},le)):w.jsx("path",{d:oe,fill:i})})]})});Zv.displayName="MriPartialCircleRing";const ex=v.forwardRef(({displayOutline:e=!0,height:n=50,width:r=20,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:d=.45,iconTranslateX:h=0,iconTranslateY:m=0,innerColor:y="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:E=100,progressDropShadowAmount:j=0,progressValue:A=100,ringSize:k=4,rotateDegree:M=0,translateX:P=0,translateY:L=0},H)=>{const _=r/2,F=2*(n-r)+Math.PI*(r-k),W=F-A/100*F,Z=r/2,ie=n/2,U=[M>0?`rotate(${M} ${Z} ${ie})`:"",`translate(${P} ${L})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:H,width:r,height:n,viewBox:`0 0 ${r} ${n}`,overflow:"visible",children:[w.jsxs("g",{transform:U,children:[w.jsx("rect",{x:0,y:0,width:r,height:n,rx:_,ry:_,fill:y}),e&&w.jsx("rect",{x:k/2,y:k/2,width:r-k,height:n-k,rx:_-k/2,ry:_-k/2,fill:"transparent",stroke:x,strokeWidth:k,style:{filter:Ee(C,x,b)}}),w.jsx("rect",{x:k/2,y:k/2,width:r-k,height:n-k,rx:_-k/2,ry:_-k/2,fill:"transparent",stroke:N,strokeWidth:k,strokeDasharray:`${F} ${F}`,strokeDashoffset:W,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,E)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(en,{icon:i,cx:Z,cy:ie,scaling:d,color:a,translateX:h,translateY:m})})]})});ex.displayName="MriPillRing";const tx=v.forwardRef(({height:e=50,width:n=50,icon:r=null,iconColor:i="currentColor",iconContrast:a=100,iconDropShadowAmount:l=0,iconScaling:u=.28,innerColor:d="#212121",outlineColor:h="currentColor",outlineContrast:m=100,outlineDropShadowAmount:y=0,progressColor:x="currentColor",progressContrast:b=100,progressDropShadowAmount:C=0,progressValue:N=100,translateX:E=0,translateY:j=0,xAxisRound:A=5,yAxisRound:k=5,barHeight:M,cardRadius:P},L)=>{const H=e*.07,_=e*u,F=e*.09,W=M??e*.078,Z=n-2*H,ie=N/100*Z,U=Math.min(A,W/2),de=Math.min(k,W/2),se=E||j?`translate(${E} ${j})`:void 0;return w.jsxs("div",{ref:L,style:{width:n,padding:H,borderRadius:P??e*.056,backgroundColor:d,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",boxSizing:"border-box",transform:se},children:[r&&w.jsx("div",{style:{marginBottom:F,filter:Ee(l,i,a)},children:w.jsx("svg",{width:_,height:_,viewBox:`0 0 ${r.viewBox[0]} ${r.viewBox[1]}`,style:{display:"block",fill:i},children:Array.isArray(r.paths)?r.paths.map((ce,ae)=>w.jsx("path",{d:ce,fill:i},ae)):w.jsx("path",{d:r.paths,fill:i})})}),w.jsxs("svg",{width:Z,height:W,overflow:"visible",style:{display:"block"},children:[w.jsx("rect",{width:Z,height:W,fill:h,rx:U,ry:de,style:{filter:Ee(y,h,m)}}),w.jsx("rect",{width:ie,height:W,fill:x,rx:U,ry:de,style:{transition:"width 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(C,x,b)}})]})]})});tx.displayName="MriBadgeShape";const nx=v.forwardRef(({height:e=50,width:n=50,icon:r=null,iconColor:i="currentColor",iconContrast:a=100,iconDropShadowAmount:l=0,iconScaling:u=.45,iconTranslateX:d=0,iconTranslateY:h=0,outlineColor:m="currentColor",outlineContrast:y=100,outlineDropShadowAmount:x=0,progressColor:b="currentColor",progressContrast:C=100,progressDropShadowAmount:N=0,progressValue:E=100,rotateDegree:j=0,translateX:A=0,translateY:k=0},M)=>{const P=n-E/100*n,L=[j>0?`rotate(${j} ${e/2} ${n/4})`:"",`translate(${A} ${k})`].filter(Boolean).join(" ");return w.jsx("div",{ref:M,className:"border-4 border-black relative",children:w.jsxs("svg",{height:e-8,width:n,children:[w.jsxs("g",{transform:L,children:[w.jsx("line",{stroke:m,x1:"0%",y1:"50%",x2:"100%",y2:"50%",strokeWidth:e-8,style:{filter:Ee(x,m,y)}}),w.jsx("line",{x1:"0%",y1:"50%",x2:"100%",y2:"50%",stroke:b,fill:"transparent",strokeDasharray:n,strokeDashoffset:P,strokeWidth:e-8,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(N,b,C)}})]}),r&&w.jsx("g",{dominantBaseline:"middle",style:{filter:Ee(l,i,a)},children:w.jsx(en,{icon:r,cx:n/2,cy:(e-8)/2,scaling:u,color:i,translateX:d,translateY:h})})]})})});nx.displayName="MriHorizontalBar";const rx=v.forwardRef(({height:e=50,width:n=50,icon:r=null,iconColor:i="currentColor",iconContrast:a=100,iconDropShadowAmount:l=0,iconScaling:u=.45,progressColor:d="currentColor",progressValue:h=100},m)=>w.jsxs("div",{ref:m,style:{display:"flex",flexDirection:"column",alignItems:"center",color:d,fontSize:e,width:n,height:e},children:[r&&w.jsx("svg",{width:n*u*2,height:n*u*2,viewBox:`0 0 ${r.viewBox[0]} ${r.viewBox[1]}`,style:{display:"block",fill:i,filter:Ee(l,i,a)},children:Array.isArray(r.paths)?r.paths.map((y,x)=>w.jsx("path",{d:y,fill:i},x)):w.jsx("path",{d:r.paths,fill:i})}),w.jsxs("span",{style:{fontSize:e*.3,fontWeight:700,color:d},children:[Math.round(h),"%"]})]}));rx.displayName="MriIconPercentage";const ox=v.forwardRef(({height:e=50,width:n=50,icon:r=null,iconColor:i="currentColor",iconContrast:a=100,iconDropShadowAmount:l=0,iconScaling:u=.45,iconTranslateX:d=0,iconTranslateY:h=3,innerColor:m="#212121",outlineColor:y="currentColor",outlineContrast:x=100,outlineDropShadowAmount:b=0,progressColor:C="currentColor",progressContrast:N=100,progressDropShadowAmount:E=0,progressValue:j=100,borderSize:A=3,name:k="icon"},M)=>{const P=j/100*e,L=`${k}-sq-fill-clip`;return w.jsxs("svg",{ref:M,width:n,height:e,overflow:"visible",children:[w.jsx("defs",{children:w.jsx("clipPath",{id:L,children:w.jsx("rect",{width:n,height:e,rx:2,ry:2})})}),w.jsx("rect",{width:n,height:e,fill:m}),w.jsx("rect",{x:0,y:e-P,width:n,height:P,fill:C,clipPath:`url(#${L})`,style:{transition:"y 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), height 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(E,C,N)}}),w.jsx("rect",{width:n-.2,height:e-.2,fill:"transparent",stroke:y,strokeWidth:A,style:{filter:Ee(b,y,x)}}),r&&w.jsx("g",{style:{filter:Ee(l,i,a)},children:w.jsx(en,{icon:r,cx:n/2,cy:e/2,scaling:u,color:i,translateX:d,translateY:h})})]})});ox.displayName="MriSquareFill";const ix=v.forwardRef(({displayOutline:e=!0,height:n=50,width:r=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:d=.45,iconTranslateX:h=0,iconTranslateY:m=3,innerColor:y="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:E=100,progressDropShadowAmount:j=0,progressValue:A=100,ringSize:k=4,rotateDegree:M=0,translateX:P=0,translateY:L=0},H)=>{const _=(r+n)*2,F=_-A/100*_,W=[M>0?`rotate(${M} 0 0)`:"",`translate(${P} ${L})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:H,width:r,height:n,transform:W,overflow:"visible",children:[w.jsxs("g",{children:[e&&w.jsx("rect",{stroke:x,width:r,height:n,strokeWidth:k,strokeDasharray:`${_} ${_}`,shapeRendering:"geometricPrecision",strokeDashoffset:0,fill:"transparent",style:{filter:Ee(C,x,b)}}),w.jsx("rect",{fill:y,transform:`translate(${k/2-.1} ${k/2-.3})`,stroke:"transparent",shapeRendering:"geometricPrecision",width:r-k+.2,height:n-k+.2,strokeDasharray:`${_} ${_}`,strokeDashoffset:0}),w.jsx("rect",{stroke:N,fill:"transparent",width:r,height:n,strokeWidth:k-.1,strokeDasharray:`${_} ${_}`,strokeDashoffset:F,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,E)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(en,{icon:i,cx:r/2,cy:n/2,scaling:d,color:a,translateX:h,translateY:m})})]})});ix.displayName="MriSquareRing";const bd="M19 1l-5.545 11.236L1 13.819l9 8.776L7.91 37 19 30.764 30.09 37 28 22.595l9-8.776-12.455-1.583z",sx=v.forwardRef(({displayOutline:e=!0,height:n=50,width:r=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:d=.35,iconTranslateX:h=0,iconTranslateY:m=3,innerColor:y="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:E=100,progressDropShadowAmount:j=0,progressValue:A=100,ringSize:k=4,rotateDegree:M=0,translateX:P=0,translateY:L=0},H)=>{const _=v.useRef(null),[F,W]=v.useState(0);v.useEffect(()=>{if(_.current)try{W(_.current.getTotalLength())}catch{}},[]);const Z=F-A/100*F,ie=19,U=19,de=k/Math.min(r/38,n/40),se=`star-clip-${v.useId()}`,ce=[M>0?`rotate(${M} ${ie} ${U})`:"",`translate(${P} ${L})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:H,width:r,height:n,viewBox:"0 0 38 40",overflow:"visible",children:[w.jsx("defs",{children:w.jsx("clipPath",{id:se,children:w.jsx("path",{d:bd})})}),w.jsxs("g",{transform:ce,children:[w.jsx("rect",{width:"38",height:"40",fill:y,clipPath:`url(#${se})`}),e&&F>0&&w.jsx("path",{d:bd,fill:"transparent",stroke:x,strokeWidth:de,strokeLinejoin:"round",strokeDasharray:`${F} ${F}`,strokeDashoffset:0,style:{filter:Ee(C,x,b)}}),w.jsx("path",{ref:_,d:bd,stroke:N,strokeWidth:de,strokeLinejoin:"round",fill:"transparent",strokeDasharray:F>0?`${F} ${F}`:void 0,strokeDashoffset:F>0?Z:void 0,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,E)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(en,{icon:i,cx:ie,cy:U,scaling:d,color:a,translateX:h,translateY:m})})]})});sx.displayName="MriStarRing";const Sd="M8.384 1.226a.463.463 0 0 0-.768 0l-4.56 6.468a.537.537 0 0 0 0 .612l4.56 6.469a.463.463 0 0 0 .768 0l4.56-6.469a.537.537 0 0 0 0-.612l-4.56-6.468z",ax=v.forwardRef(({displayOutline:e=!0,height:n=50,width:r=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:d=.35,iconTranslateX:h=0,iconTranslateY:m=.7,innerColor:y="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:E=100,progressDropShadowAmount:j=0,progressValue:A=100,ringSize:k=4,rotateDegree:M=0,translateX:P=0,translateY:L=0},H)=>{const _=v.useRef(null),[F,W]=v.useState(0);v.useEffect(()=>{if(_.current)try{W(_.current.getTotalLength())}catch{}},[]);const Z=F-A/100*F,ie=[M>0?`rotate(${M} 8 8)`:"",`translate(${P} ${L})`].filter(Boolean).join(" "),U=8,de=8,se=k/(Math.min(r,n)/16);return w.jsx("div",{ref:H,style:{margin:"0 -7px"},children:w.jsxs("svg",{version:"1.1",width:r,height:n,viewBox:"0 0 16 16",transform:"scale(-1,1)",overflow:"visible",children:[w.jsxs("g",{transform:ie,children:[e&&F>0&&w.jsx("path",{d:Sd,fill:"transparent",stroke:x,strokeWidth:se,strokeDasharray:`${F} ${F}`,strokeDashoffset:0,style:{filter:Ee(C,x,b)}}),w.jsx("svg",{viewBox:"-1.5 4.5 19 7",children:w.jsx("path",{d:Sd,strokeWidth:k-.3,fill:y,stroke:"transparent"})}),w.jsx("path",{ref:_,d:Sd,stroke:N,strokeWidth:se,fill:"transparent",strokeDasharray:F>0?`${F} ${F}`:void 0,strokeDashoffset:F>0?Z:void 0,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,E)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(en,{icon:i,cx:U,cy:de,scaling:d,color:a,translateX:h,translateY:m})})]})})});ax.displayName="MriDiamondRing";const Cd="M21 2L3 12v10l18 10 18-10V12L21 2z",lx=v.forwardRef(({displayOutline:e=!0,height:n=50,width:r=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:d=.35,iconTranslateX:h=0,iconTranslateY:m=.7,innerColor:y="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:E=100,progressDropShadowAmount:j=0,progressValue:A=100,ringSize:k=4,rotateDegree:M=0,translateX:P=0,translateY:L=0},H)=>{const _=v.useRef(null),[F,W]=v.useState(0);v.useEffect(()=>{if(_.current)try{W(_.current.getTotalLength())}catch{}},[]);const Z=F-A/100*F,ie=21,U=17,de=k/Math.min(r/40,n/34),se=[M>0?`rotate(${M} ${ie} ${U})`:"",`translate(${P} ${L})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:H,width:r,height:n,viewBox:"1 0 40 34",overflow:"visible",children:[w.jsxs("g",{transform:se,children:[w.jsx("path",{d:Cd,fill:y,stroke:"transparent"}),e&&F>0&&w.jsx("path",{d:Cd,fill:"transparent",stroke:x,strokeWidth:de,strokeDasharray:`${F} ${F}`,strokeDashoffset:0,style:{filter:Ee(C,x,b)}}),w.jsx("path",{ref:_,d:Cd,stroke:N,strokeWidth:de,fill:"transparent",strokeDasharray:F>0?`${F} ${F}`:void 0,strokeDashoffset:F>0?Z:void 0,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,E)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(en,{icon:i,cx:ie,cy:U,scaling:d,color:a,translateX:h,translateY:m})})]})});lx.displayName="MriHexagonRing";const kd="M21.87,19.29,13.13,4.14a1.29,1.29,0,0,0-2.26,0L2.13,19.29a1.27,1.27,0,0,0,1.13,1.86H20.74A1.27,1.27,0,0,0,21.87,19.29Z",cx=v.forwardRef(({displayOutline:e=!0,height:n=50,width:r=50,icon:i=null,iconColor:a="currentColor",iconContrast:l=100,iconDropShadowAmount:u=0,iconScaling:d=.35,iconTranslateX:h=0,iconTranslateY:m=3,innerColor:y="#212121",outlineColor:x="currentColor",outlineContrast:b=100,outlineDropShadowAmount:C=0,progressColor:N="currentColor",progressContrast:E=100,progressDropShadowAmount:j=0,progressValue:A=100,ringSize:k=4,rotateDegree:M=0,translateX:P=0,translateY:L=0},H)=>{const _=v.useRef(null),[F,W]=v.useState(0);v.useEffect(()=>{if(_.current)try{W(_.current.getTotalLength())}catch{}},[]);const Z=F-A/100*F,ie=12,U=12,de=k/Math.min(r/24,n/24),se=[M>0?`rotate(${M} ${ie} ${U})`:"",`translate(${P} ${L})`].filter(Boolean).join(" ");return w.jsxs("svg",{ref:H,width:r,height:n,viewBox:"0 0 24 24",overflow:"visible",children:[w.jsxs("g",{transform:se,children:[w.jsx("path",{d:kd,fill:y,stroke:"transparent"}),e&&F>0&&w.jsx("path",{d:kd,fill:"transparent",stroke:x,strokeWidth:de,strokeDasharray:`${F} ${F}`,strokeDashoffset:0,style:{filter:Ee(C,x,b)}}),w.jsx("path",{ref:_,d:kd,stroke:N,strokeWidth:de,fill:"transparent",strokeDasharray:F>0?`${F} ${F}`:void 0,strokeDashoffset:F>0?Z:void 0,style:{transition:"stroke-dashoffset 0.6s cubic-bezier(0.215, 0.61, 0.355, 1)",filter:Ee(j,N,E)}})]}),i&&w.jsx("g",{style:{filter:Ee(u,a,l)},children:w.jsx(en,{icon:i,cx:ie,cy:U,scaling:d,color:a,translateX:h,translateY:m})})]})});cx.displayName="MriTriangleRing";function xo(e,n,r,i){const a=(i-90)*Math.PI/180;return{x:e+r*Math.cos(a),y:n+r*Math.sin(a)}}function V1(e,n,r,i,a){if(a<=0)return"";const l=xo(e,n,r,i),u=xo(e,n,r,i+a),d=a>180?1:0;return`M${l.x.toFixed(3)},${l.y.toFixed(3)} A${r},${r} 0 ${d} 1 ${u.x.toFixed(3)},${u.y.toFixed(3)}`}const ux=v.forwardRef(({size:e,value:n,minValue:r,maxValue:i,arcLength:a,rotation:l,majorTickInterval:u,minorTickCount:d,ringSize:h,color:m,outlineColor:y,outlineOpacity:x,needleStyle:b,showValue:C,unit:N,label:E,odometer:j},A)=>{const k=e/2,M=e/2,P=v.useMemo(()=>{const ce=e/2-2,ae=a/100*360,oe=ce-h/2,Y=oe-h/2-3,I=ce*.12,q=ce*.065,T=Y-I-ce*.05,z=oe*.88,K=Math.max(4,ce*.065),ee=Math.max(r,Math.min(i,n)),Q=i>r?(ee-r)/(i-r):0,ne=l+Q*ae,le=V1(k,M,oe,l,ae),he=V1(k,M,oe,l,Q*ae),fe=[];for(let Le=r;Le<=i+u*.001;Le+=u)fe.push(parseFloat(Math.min(Le,i).toFixed(10)));fe[fe.length-1]0){const zo=fe[Le+1];for(let nn=1;nn<=d;nn++){const no=Ot+nn/(d+1)*((zo-r)/(i-r)-Ot),Jn=l+no*ae,Oo=xo(k,M,Y,Jn),Mi=xo(k,M,Y-q,Jn);Ie.push({x1:Oo.x,y1:Oo.y,x2:Mi.x,y2:Mi.y,isMajor:!1,labelX:0,labelY:0})}}}return{outerR:ce,trackR:oe,hubR:K,needleR:z,ticks:Ie,track:le,progress:he,valueDeg:ne,cval:ee}},[e,n,r,i,a,l,u,d,h,k,M]),{outerR:L,hubR:H,needleR:_,ticks:F,track:W,progress:Z,valueDeg:ie,cval:U}=P,de=L*.145,se=Math.max(1.5,L*.025);return w.jsxs("svg",{ref:A,width:e,height:e,viewBox:`0 0 ${e} ${e}`,style:{display:"block",overflow:"visible"},children:[w.jsx("circle",{cx:k,cy:M,r:L,fill:"rgba(0,0,0,0.88)"}),w.jsx("circle",{cx:k,cy:M,r:L,fill:"none",stroke:"rgba(255,255,255,0.07)",strokeWidth:"1.5"}),W&&w.jsx("path",{d:W,fill:"none",stroke:y,strokeOpacity:x,strokeWidth:h,strokeLinecap:"round"}),Z&&w.jsx("path",{d:Z,fill:"none",stroke:m,strokeWidth:h,strokeLinecap:"round"}),F.map((ce,ae)=>w.jsx("line",{x1:ce.x1.toFixed(2),y1:ce.y1.toFixed(2),x2:ce.x2.toFixed(2),y2:ce.y2.toFixed(2),stroke:ce.isMajor?"rgba(255,255,255,0.85)":"rgba(255,255,255,0.38)",strokeWidth:ce.isMajor?1.5:.9,strokeLinecap:"round"},ae)),F.filter(ce=>ce.isMajor).map((ce,ae)=>w.jsx("text",{x:ce.labelX.toFixed(2),y:ce.labelY.toFixed(2),textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,255,255,0.8)",fontSize:de.toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"400",children:ce.label},ae)),b==="needle"&&w.jsxs(w.Fragment,{children:[w.jsxs("g",{transform:`translate(${k},${M}) rotate(${ie})`,children:[w.jsx("line",{x1:"0",y1:H+1,x2:"0",y2:-_,stroke:"white",strokeWidth:se,strokeLinecap:"round",opacity:"0.95"}),w.jsx("line",{x1:"0",y1:H+1,x2:"0",y2:L*.12,stroke:"rgba(255,255,255,0.4)",strokeWidth:se*1.6,strokeLinecap:"round"})]}),w.jsx("circle",{cx:k,cy:M,r:H,fill:m}),w.jsx("circle",{cx:k,cy:M,r:H*.45,fill:"rgba(0,0,0,0.6)"}),C&&w.jsxs(w.Fragment,{children:[w.jsx("text",{x:k,y:M+L*.3,textAnchor:"middle",dominantBaseline:"middle",fill:"white",fontSize:(L*.22).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"700",children:Math.round(U)}),N&&w.jsx("text",{x:k,y:M+L*.46,textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,255,255,0.5)",fontSize:(L*.11).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"500",letterSpacing:"2",children:N.toUpperCase()}),j&&(()=>{const ce=L*.92,ae=L*.26,oe=k-ce/2,Y=M+L*.52,I=Y+ae/2,q=(L*.148).toFixed(1),T=j.replace(/\d/g,"8");return w.jsxs(w.Fragment,{children:[w.jsx("rect",{x:oe.toFixed(2),y:Y.toFixed(2),width:ce.toFixed(2),height:ae.toFixed(2),rx:"2",ry:"2",fill:"rgba(4,9,5,0.92)",stroke:"rgba(90,160,100,0.18)",strokeWidth:"0.5"}),w.jsx("text",{x:k,y:I.toFixed(2),textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(110,200,120,0.13)",fontSize:q,fontFamily:'"Courier New", monospace',children:T}),w.jsx("text",{x:k,y:I.toFixed(2),textAnchor:"middle",dominantBaseline:"middle",fill:"#82de8c",fontSize:q,fontFamily:'"Courier New", monospace',fontWeight:"600",children:j})]})})()]})]}),b==="digital"&&w.jsxs(w.Fragment,{children:[w.jsx("circle",{cx:k,cy:M,r:L*.38,fill:"rgba(0,0,0,0.45)"}),C&&w.jsx("text",{x:k,y:N?M-L*.06:M,textAnchor:"middle",dominantBaseline:"middle",fill:"white",fontSize:(L*.3).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"700",letterSpacing:"-0.5",children:Math.round(U)}),N&&w.jsx("text",{x:k,y:M+L*.22,textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,255,255,0.55)",fontSize:(L*.12).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"500",letterSpacing:"2",children:N.toUpperCase()})]}),b==="arc"&&C&&w.jsx("text",{x:k,y:M,textAnchor:"middle",dominantBaseline:"middle",fill:"white",fontSize:(L*.26).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"700",children:Math.round(U)}),E&&!(b==="needle"&&j)&&w.jsx("text",{x:k,y:M+L*(b==="needle"?.6:.55),textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,255,255,0.38)",fontSize:(L*.095).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"400",letterSpacing:"1.5",children:E.toUpperCase()})]})});ux.displayName="MriAnalogGauge";function B1(e,n,r,i){const a=(i-90)*Math.PI/180;return{x:e+r*Math.cos(a),y:n+r*Math.sin(a)}}const n7=[[0,1,!0],[10,.5,!1],[-10,.5,!1],[20,.5,!1],[-20,.5,!1],[30,.75,!0],[-30,.75,!0],[45,.55,!1],[-45,.55,!1],[60,.75,!0],[-60,.75,!0]],dx=v.forwardRef(({size:e,pitch:n,roll:r},i)=>{const a=`ah-clip-${v.useId()}`,l=e/2,u=e/2,d=e/2-2,h=d-4,m=h/50,y=n*m,x=r,b=h*2.8,C=d*.88,N=d*.08,E=[h*.18,h*.28,h*.38],j=d*.1,A=[];for(const k of[-30,-20,-10,-5,5,10,20,30]){const M=Math.abs(k),P=M>=20?2:M>=10?1:0;A.push({deg:k,y:-k*m,w:E[P],major:M%10===0})}return w.jsxs("svg",{ref:i,width:e,height:e,viewBox:`0 0 ${e} ${e}`,style:{display:"block",overflow:"visible"},children:[w.jsx("defs",{children:w.jsx("clipPath",{id:a,children:w.jsx("circle",{cx:l,cy:u,r:h})})}),w.jsx("g",{clipPath:`url(#${a})`,children:w.jsxs("g",{transform:`translate(${l},${u}) rotate(${x}) translate(0,${y.toFixed(2)})`,children:[w.jsx("rect",{x:-b,y:-b,width:b*2,height:b,fill:"#1a4fa0"}),w.jsx("rect",{x:-b,y:0,width:b*2,height:b,fill:"#7a5230"}),w.jsx("rect",{x:-b,y:-4,width:b*2,height:4,fill:"rgba(255,255,255,0.06)"}),w.jsx("line",{x1:-b,y1:0,x2:b,y2:0,stroke:"rgba(255,255,255,0.92)",strokeWidth:1.5}),A.map(({deg:k,y:M,w:P,major:L})=>w.jsxs("g",{children:[w.jsx("line",{x1:-P,y1:M,x2:P,y2:M,stroke:"rgba(255,255,255,0.75)",strokeWidth:L?1.2:.85,strokeLinecap:"round"}),L&&w.jsxs(w.Fragment,{children:[w.jsx("text",{x:-P-3,y:M,textAnchor:"end",dominantBaseline:"middle",fill:"rgba(255,255,255,0.65)",fontSize:j,fontFamily:"system-ui, sans-serif",children:Math.abs(k)}),w.jsx("text",{x:P+3,y:M,textAnchor:"start",dominantBaseline:"middle",fill:"rgba(255,255,255,0.65)",fontSize:j,fontFamily:"system-ui, sans-serif",children:Math.abs(k)})]})]},k))]})}),w.jsx("circle",{cx:l,cy:u,r:d,fill:"none",stroke:"rgba(0,0,0,0.75)",strokeWidth:5}),w.jsx("circle",{cx:l,cy:u,r:d,fill:"none",stroke:"rgba(255,255,255,0.07)",strokeWidth:1.5}),n7.map(([k,M,P])=>{const L=N*M,H=B1(l,u,C,k),_=B1(l,u,C-L,k);return w.jsx("line",{x1:H.x.toFixed(2),y1:H.y.toFixed(2),x2:_.x.toFixed(2),y2:_.y.toFixed(2),stroke:P?"rgba(255,255,255,0.85)":"rgba(255,255,255,0.5)",strokeWidth:P?1.5:1,strokeLinecap:"round"},k)}),w.jsx("g",{transform:`rotate(${x}, ${l}, ${u})`,children:w.jsx("path",{d:`M ${l} ${(u-C+1).toFixed(1)} L ${(l-5).toFixed(1)} ${(u-C+11).toFixed(1)} L ${(l+5).toFixed(1)} ${(u-C+11).toFixed(1)} Z`,fill:"white",opacity:.92})}),w.jsx("line",{x1:l-d*.38,y1:u,x2:l-d*.1,y2:u,stroke:"#f59e0b",strokeWidth:2.5,strokeLinecap:"round"}),w.jsx("line",{x1:l+d*.1,y1:u,x2:l+d*.38,y2:u,stroke:"#f59e0b",strokeWidth:2.5,strokeLinecap:"round"}),w.jsx("circle",{cx:l,cy:u,r:2.5,fill:"#f59e0b"}),w.jsx("line",{x1:l,y1:u,x2:l,y2:u-d*.1,stroke:"#f59e0b",strokeWidth:1.5,strokeLinecap:"round"}),w.jsx("line",{x1:l-d*.09,y1:u,x2:l-d*.14,y2:u,stroke:"white",strokeWidth:1,opacity:.35}),w.jsx("line",{x1:l+d*.09,y1:u,x2:l+d*.14,y2:u,stroke:"white",strokeWidth:1,opacity:.35})]})});dx.displayName="MriArtificialHorizon";function _n(e,n,r,i){const a=(i-90)*Math.PI/180;return{x:e+r*Math.cos(a),y:n+r*Math.sin(a)}}function W1(e,n,r,i,a){const l=_n(e,n,r,i),u=_n(e,n,r,i+a);return`M${l.x.toFixed(3)},${l.y.toFixed(3)} A${r},${r} 0 0 1 ${u.x.toFixed(3)},${u.y.toFixed(3)}`}const U1=35,r7=[[10,.6],[20,.8],[30,1],[-10,.6],[-20,.8],[-30,1]],fx=v.forwardRef(({size:e,roll:n},r)=>{const i=e/2,a=e/2,l=e/2-2,u=l*.6,d=l*.22,h=d*.4,m=l*.07,y=145,x=70,b=180-Math.max(-U1,Math.min(U1,n)),C=_n(i,a,u,b),N=_n(i,a,u,219),E=_n(i,a,u,141),j=Math.abs(Math.round(n)),A=n<-.5?"PORT":n>.5?"STBD":"LEVEL",k=n<-.5?"rgba(255,110,110,0.85)":n>.5?"rgba(110,220,130,0.85)":"rgba(255,255,255,0.45)";return w.jsxs("svg",{ref:r,width:e,height:e,viewBox:`0 0 ${e} ${e}`,style:{display:"block"},children:[w.jsx("circle",{cx:i,cy:a,r:l,fill:"rgba(0,0,0,0.88)"}),w.jsx("circle",{cx:i,cy:a,r:l,fill:"none",stroke:"rgba(255,255,255,0.07)",strokeWidth:1.5}),w.jsx("path",{d:W1(i,a,u,y,x),fill:"none",stroke:"rgba(255,255,255,0.10)",strokeWidth:d,strokeLinecap:"round"}),w.jsx("path",{d:W1(i,a,u-d*.16,y,x),fill:"none",stroke:"rgba(255,255,255,0.07)",strokeWidth:d*.32,strokeLinecap:"round"}),r7.map(([M,P])=>{const L=180-M,H=m*P,_=_n(i,a,u-d/2-2,L),F=_n(i,a,u+d/2+2,L),W=_n(i,a,u-d/2-H-4,L),Z=Math.abs(M)===30;return w.jsxs("g",{children:[w.jsx("line",{x1:_.x.toFixed(2),y1:_.y.toFixed(2),x2:F.x.toFixed(2),y2:F.y.toFixed(2),stroke:Z?"rgba(255,255,255,0.75)":"rgba(255,255,255,0.40)",strokeWidth:Z?1.5:1,strokeLinecap:"round"}),Z&&w.jsx("text",{x:W.x.toFixed(2),y:W.y.toFixed(2),textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,255,255,0.45)",fontSize:(l*.095).toFixed(1),fontFamily:"system-ui, sans-serif",children:Math.abs(M)})]},M)}),(()=>{const M=_n(i,a,u-d/2-2,180),P=_n(i,a,u+d/2+2,180);return w.jsx("line",{x1:M.x.toFixed(2),y1:M.y.toFixed(2),x2:P.x.toFixed(2),y2:P.y.toFixed(2),stroke:"rgba(255,255,255,0.9)",strokeWidth:2,strokeLinecap:"round"})})(),w.jsx("circle",{cx:C.x.toFixed(2),cy:C.y.toFixed(2),r:h,fill:"#f59e0b"}),w.jsx("circle",{cx:C.x.toFixed(2),cy:C.y.toFixed(2),r:h,fill:"none",stroke:"rgba(0,0,0,0.30)",strokeWidth:1}),w.jsx("circle",{cx:(C.x-h*.25).toFixed(2),cy:(C.y-h*.28).toFixed(2),r:(h*.3).toFixed(2),fill:"rgba(255,255,255,0.35)"}),w.jsx("text",{x:N.x.toFixed(2),y:N.y.toFixed(2),textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,110,110,0.80)",fontSize:(l*.13).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"700",children:"P"}),w.jsx("text",{x:E.x.toFixed(2),y:E.y.toFixed(2),textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(110,220,130,0.80)",fontSize:(l*.13).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"700",children:"S"}),w.jsxs("text",{x:i,y:a-l*.1,textAnchor:"middle",dominantBaseline:"middle",fill:"white",fontSize:(l*.3).toFixed(1),fontFamily:"system-ui, sans-serif",fontWeight:"700",children:[j,"°"]}),w.jsx("text",{x:i,y:a+l*.16,textAnchor:"middle",dominantBaseline:"middle",fill:k,fontSize:(l*.1).toFixed(1),fontFamily:"system-ui, sans-serif",letterSpacing:"1.5",children:A}),w.jsx("text",{x:i,y:a+l*.36,textAnchor:"middle",dominantBaseline:"middle",fill:"rgba(255,255,255,0.22)",fontSize:(l*.085).toFixed(1),fontFamily:"system-ui, sans-serif",letterSpacing:"1.5",children:"HEEL"})]})});fx.displayName="MriClinometer";function px(e){return{viewBox:[e.icon[0],e.icon[1]],paths:e.icon[4]}}function Wt(e){const{icon:n,...r}=e;return{...r,icon:n?px(n):null}}function o7(e){return p.jsx(tx,{...Wt(e)})}function Y1(e){return p.jsx(Kv,{...Wt(e)})}function i7(e){return p.jsx(qv,{...Wt(e)})}function s7(e){return p.jsx(ax,{...Wt(e)})}function a7(e){return p.jsx(lx,{...Wt(e)})}function l7(e){return p.jsx(nx,{...Wt(e)})}function c7(e){return p.jsx(rx,{...Wt(e)})}function u7(e){return p.jsx(Qv,{...Wt(e)})}function d7(e){return p.jsx(ex,{...Wt(e)})}function f7(e){return p.jsx(Jv,{...Wt(e)})}function p7(e){return p.jsx(ox,{...Wt(e)})}function h7(e){return p.jsx(ix,{...Wt(e)})}function m7(e){return p.jsx(sx,{...Wt(e)})}function g7({height:e=50,width:n=50}){return p.jsx("div",{style:{width:n,height:e}})}function y7(e){return p.jsx(cx,{...Wt(e)})}function Qd({hudIconInfo:e}){const{shape:n,isShowing:r,...i}=e;switch(n){case"badge":return p.jsx(o7,{...i});case"circle-ring":return p.jsx(Y1,{...i});case"circle-fill":return p.jsx(i7,{...i});case"diamond-ring":return p.jsx(s7,{...i});case"hexagon-ring":return p.jsx(a7,{...i});case"horizontal-bar":return p.jsx(l7,{...i});case"icon-percentage":return p.jsx(c7,{...i});case"inner-circle":return p.jsx(u7,{...i});case"pill-ring":return p.jsx(d7,{...i});case"split-circle":return p.jsx(f7,{...i});case"square-fill":return p.jsx(p7,{...i});case"square-ring":return p.jsx(h7,{...i});case"star-ring":return p.jsx(m7,{...i});case"transparent":return p.jsx(g7,{...i});case"triangle-ring":return p.jsx(y7,{...i});default:return p.jsx(Y1,{...i})}}const v7=["harness"];function x7({isReversed:e=!1,iconsToShow:n=[],iconsToNotShow:r=[]}){const i=Oe(N=>N.icons),a=Oe(N=>N.showingOrder),l=Oe(N=>N.designMode),u=Oe(N=>N.designProgress),d=jt(N=>N.icons),h=jt(N=>N.globalColorSettings),m=_d(N=>N.icons),y=fr(N=>N.theme),x=He(N=>N.show),b=y==="digital"&&x;let C=n.length?n:a;return e&&(C=[...C].reverse()),p.jsxs(p.Fragment,{children:[C.map(N=>{const E=i[N],j=d[N];if(!j)return null;const A=l?h.editSingleIconName===N?h.editSingleIconStage:0:j.currentEffect,k=j.colorEffects[A],M=m[N],P=b&&!l&&v7.includes(N);if(!(E.isShowing&&!r.includes(N)&&!P||l))return null;const H={...E,progressColor:k.progressColor,progressContrast:k.progressContrast,progressDropShadowAmount:k.progressDropShadowAmount,progressValue:l?u:E.progressValue,iconColor:M?M.iconColor:k.iconColor,iconContrast:k.iconContrast,iconDropShadowAmount:k.iconDropShadowAmount,outlineColor:k.outlineColor,outlineContrast:k.outlineContrast,outlineDropShadowAmount:k.outlineDropShadowAmount,innerColor:k.innerColor};return p.jsx("div",{className:"my-auto",children:p.jsx(Qd,{hudIconInfo:H})},N)}),Object.entries(m).map(([N,E])=>!E.name||!E.isShowing&&!l?null:p.jsx("div",{className:"my-auto",children:p.jsx(Qd,{hudIconInfo:E})},N))]})}const w7={biohazard:$g,database:Jg,dollarsign:e2,dumbbell:Bg,exclamation:Af,lightbulb:Og,locationarrow:Dg,swimming:Yg,wind:Gg,bolt:Ug,brain:Zg,carbattery:P4,droplet:V4,fire:M4,gaspump:S4,gear:D4,heart:T4,house:F4,info:x4,meteor:Vg,microphone:Nf,oilcan:Qg,parachutebox:Hg,person:w4,question:z4,radiation:j4,shield:X4,skull:$4,star:N4,tachometer:Xg,thermometer:k4,triangle:G4,trophy:U4,user:_g,userslash:Mf,virus:I4,wrench:_4,xmark:W4,zap:H4};function Jd(e){if(!e)return null;const n=e.toLowerCase().replace(/[^a-z0-9]/g,"");return w7[n]??null}const b7=new Set(["progressColor","outlineColor","iconColor","innerColor","progressContrast","outlineContrast","iconContrast","progressDropShadowAmount","outlineDropShadowAmount","iconDropShadowAmount","progressValue","icon","iconName","isShowing","name"]);function S7({panel:e}){const[n,r]=v.useState(!1),i=Oe(a=>a.icons.health);if(e.hudIconInfo){const a={...e.hudIconInfo};typeof a.icon=="string"?a.icon=Jd(a.icon):!a.icon&&a.iconName&&(a.icon=Jd(a.iconName));const l=a.shape??i.shape??"inner-circle",d={...wo(l,{}),height:i.height,width:i.width,...i.ringSize!=null&&{ringSize:i.ringSize},...i.borderGap!=null&&{borderGap:i.borderGap},...i.iconScaling!=null&&{iconScaling:i.iconScaling},shape:l};for(const[h,m]of Object.entries(a))m!=null&&b7.has(h)&&(d[h]=m);return d.progressColor||(d.progressColor="#3b82f6"),d.outlineColor||(d.outlineColor="rgba(59,130,246,0.4)"),d.iconColor||(d.iconColor="#ffffff"),d.progressContrast==null&&(d.progressContrast=100),d.iconContrast==null&&(d.iconContrast=100),d.outlineContrast==null&&(d.outlineContrast=100),d.progressDropShadowAmount==null&&(d.progressDropShadowAmount=0),d.iconDropShadowAmount==null&&(d.iconDropShadowAmount=0),d.outlineDropShadowAmount==null&&(d.outlineDropShadowAmount=0),d.progressValue==null&&(d.progressValue=0),p.jsxs("div",{className:"flex flex-col items-center gap-[6px] text-white text-[12px] text-center",children:[p.jsx(Qd,{hudIconInfo:d}),e.title&&p.jsx("div",{className:"opacity-85 text-[11px] mt-1",children:e.title}),e.value!==void 0&&p.jsx("div",{className:"font-bold",children:e.value})]})}return p.jsxs("div",{className:"flex flex-col items-center gap-[4px] text-white text-[12px] text-center w-[56px]",children:[e.icon&&!n&&p.jsx("div",{className:"w-[44px] h-[44px] rounded-full flex items-center justify-center p-[2px] bg-black/[0.12] border border-white/[0.06]",children:p.jsx("img",{src:`assets/panels/${e.icon}`,alt:e.title||e.id,className:"w-[36px] h-[36px] object-contain block mx-auto",onError:a=>{r(!0),a.target.style.display="none"}})}),n&&p.jsx("div",{className:"text-[14px] opacity-90",children:e.title?e.title.charAt(0):"#"}),e.title&&p.jsx("div",{className:"text-[11px] opacity-90 mt-[2px]",children:e.title}),e.value!==void 0&&p.jsx("div",{className:"font-bold text-[12px]",children:e.value})]})}function C7(){const e=Ss(r=>r.panels),n=Object.values(e).filter(r=>r.isShowing!==!1);return n.length?p.jsx("div",{className:"flex flex-row gap-[10px] pointer-events-none",children:n.map(r=>p.jsx("div",{className:"my-auto pointer-events-auto",children:p.jsx(S7,{panel:r})},r.id))}):null}/*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. - */function Lk(e,n,o){return(n=$k(n))in e?Object.defineProperty(e,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[n]=o,e}function k1(e,n){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),o.push.apply(o,i)}return o}function te(e){for(var n=1;n{};let Zd={},_y={},Dy=null,Ty={mark:j1,measure:j1};try{typeof window<"u"&&(Zd=window),typeof document<"u"&&(_y=document),typeof MutationObserver<"u"&&(Dy=MutationObserver),typeof performance<"u"&&(Ty=performance)}catch{}const{userAgent:E1=""}=Zd.navigator||{},Ur=Zd,Be=_y,N1=Dy,nl=Ty;Ur.document;const dr=!!Be.documentElement&&!!Be.head&&typeof Be.addEventListener=="function"&&typeof Be.createElement=="function",Ly=~E1.indexOf("MSIE")||~E1.indexOf("Trident/");var Hk=/fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,Vk=/Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i,Fy={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fab:"brands","fa-brands":"brands"},duotone:{fa:"solid",fad:"solid","fa-solid":"solid","fa-duotone":"solid",fadr:"regular","fa-regular":"regular",fadl:"light","fa-light":"light",fadt:"thin","fa-thin":"thin"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid",fasdr:"regular","fa-regular":"regular",fasdl:"light","fa-light":"light",fasdt:"thin","fa-thin":"thin"}},Wk={GROUP:"duotone-group",PRIMARY:"primary",SECONDARY:"secondary"},$y=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],Ct="classic",Wl="duotone",Bk="sharp",Uk="sharp-duotone",Hy=[Ct,Wl,Bk,Uk],Yk={classic:{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},duotone:{900:"fad",400:"fadr",300:"fadl",100:"fadt"},sharp:{900:"fass",400:"fasr",300:"fasl",100:"fast"},"sharp-duotone":{900:"fasds",400:"fasdr",300:"fasdl",100:"fasdt"}},Xk={"Font Awesome 6 Free":{900:"fas",400:"far"},"Font Awesome 6 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 6 Brands":{400:"fab",normal:"fab"},"Font Awesome 6 Duotone":{900:"fad",400:"fadr",normal:"fadr",300:"fadl",100:"fadt"},"Font Awesome 6 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 6 Sharp Duotone":{900:"fasds",400:"fasdr",normal:"fasdr",300:"fasdl",100:"fasdt"}},Gk=new Map([["classic",{defaultShortPrefixId:"fas",defaultStyleId:"solid",styleIds:["solid","regular","light","thin","brands"],futureStyleIds:[],defaultFontWeight:900}],["sharp",{defaultShortPrefixId:"fass",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["duotone",{defaultShortPrefixId:"fad",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp-duotone",{defaultShortPrefixId:"fasds",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}]]),Kk={classic:{solid:"fas",regular:"far",light:"fal",thin:"fat",brands:"fab"},duotone:{solid:"fad",regular:"fadr",light:"fadl",thin:"fadt"},sharp:{solid:"fass",regular:"fasr",light:"fasl",thin:"fast"},"sharp-duotone":{solid:"fasds",regular:"fasdr",light:"fasdl",thin:"fasdt"}},qk=["fak","fa-kit","fakd","fa-kit-duotone"],M1={kit:{fak:"kit","fa-kit":"kit"},"kit-duotone":{fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"}},Qk=["kit"],Zk={kit:{"fa-kit":"fak"}},Jk=["fak","fakd"],e7={kit:{fak:"fa-kit"}},A1={kit:{kit:"fak"},"kit-duotone":{"kit-duotone":"fakd"}},rl={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},t7=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],n7=["fak","fa-kit","fakd","fa-kit-duotone"],r7={"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}},o7={classic:{"fa-brands":"fab","fa-duotone":"fad","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"},duotone:{"fa-regular":"fadr","fa-light":"fadl","fa-thin":"fadt"},sharp:{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"},"sharp-duotone":{"fa-solid":"fasds","fa-regular":"fasdr","fa-light":"fasdl","fa-thin":"fasdt"}},i7={classic:["fas","far","fal","fat","fad"],duotone:["fadr","fadl","fadt"],sharp:["fass","fasr","fasl","fast"],"sharp-duotone":["fasds","fasdr","fasdl","fasdt"]},Ff={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},duotone:{fadr:"fa-regular",fadl:"fa-light",fadt:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid",fasdr:"fa-regular",fasdl:"fa-light",fasdt:"fa-thin"}},s7=["fa-solid","fa-regular","fa-light","fa-thin","fa-duotone","fa-brands"],$f=["fa","fas","far","fal","fat","fad","fadr","fadl","fadt","fab","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt",...t7,...s7],a7=["solid","regular","light","thin","duotone","brands"],Vy=[1,2,3,4,5,6,7,8,9,10],l7=Vy.concat([11,12,13,14,15,16,17,18,19,20]),c7=[...Object.keys(i7),...a7,"2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","fw","inverse","layers-counter","layers-text","layers","li","pull-left","pull-right","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul",rl.GROUP,rl.SWAP_OPACITY,rl.PRIMARY,rl.SECONDARY].concat(Vy.map(e=>"".concat(e,"x"))).concat(l7.map(e=>"w-".concat(e))),u7={"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"}};const ur="___FONT_AWESOME___",Hf=16,Wy="fa",By="svg-inline--fa",So="data-fa-i2svg",Vf="data-fa-pseudo-element",f7="data-fa-pseudo-element-pending",Jd="data-prefix",e0="data-icon",P1="fontawesome-i2svg",d7="async",p7=["HTML","HEAD","STYLE","SCRIPT"],Uy=(()=>{try{return!0}catch{return!1}})();function Is(e){return new Proxy(e,{get(n,o){return o in n?n[o]:n[Ct]}})}const Yy=te({},Fy);Yy[Ct]=te(te(te(te({},{"fa-duotone":"duotone"}),Fy[Ct]),M1.kit),M1["kit-duotone"]);const h7=Is(Yy),Wf=te({},Kk);Wf[Ct]=te(te(te(te({},{duotone:"fad"}),Wf[Ct]),A1.kit),A1["kit-duotone"]);const R1=Is(Wf),Bf=te({},Ff);Bf[Ct]=te(te({},Bf[Ct]),e7.kit);const t0=Is(Bf),Uf=te({},o7);Uf[Ct]=te(te({},Uf[Ct]),Zk.kit);Is(Uf);const m7=Hk,Xy="fa-layers-text",g7=Vk,v7=te({},Yk);Is(v7);const y7=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],df=Wk,x7=[...Qk,...c7],hs=Ur.FontAwesomeConfig||{};function w7(e){var n=Be.querySelector("script["+e+"]");if(n)return n.getAttribute(e)}function b7(e){return e===""?!0:e==="false"?!1:e==="true"?!0:e}Be&&typeof Be.querySelector=="function"&&[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(n=>{let[o,i]=n;const a=b7(w7(o));a!=null&&(hs[i]=a)});const Gy={styleDefault:"solid",familyDefault:Ct,cssPrefix:Wy,replacementClass:By,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};hs.familyPrefix&&(hs.cssPrefix=hs.familyPrefix);const di=te(te({},Gy),hs);di.autoReplaceSvg||(di.observeMutations=!1);const ye={};Object.keys(Gy).forEach(e=>{Object.defineProperty(ye,e,{enumerable:!0,set:function(n){di[e]=n,ms.forEach(o=>o(ye))},get:function(){return di[e]}})});Object.defineProperty(ye,"familyPrefix",{enumerable:!0,set:function(e){di.cssPrefix=e,ms.forEach(n=>n(ye))},get:function(){return di.cssPrefix}});Ur.FontAwesomeConfig=ye;const ms=[];function S7(e){return ms.push(e),()=>{ms.splice(ms.indexOf(e),1)}}const _r=Hf,Dn={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function C7(e){if(!e||!dr)return;const n=Be.createElement("style");n.setAttribute("type","text/css"),n.innerHTML=e;const o=Be.head.childNodes;let i=null;for(let a=o.length-1;a>-1;a--){const l=o[a],u=(l.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(u)>-1&&(i=l)}return Be.head.insertBefore(n,i),e}const k7="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function ks(){let e=12,n="";for(;e-- >0;)n+=k7[Math.random()*62|0];return n}function gi(e){const n=[];for(let o=(e||[]).length>>>0;o--;)n[o]=e[o];return n}function n0(e){return e.classList?gi(e.classList):(e.getAttribute("class")||"").split(" ").filter(n=>n)}function Ky(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function j7(e){return Object.keys(e||{}).reduce((n,o)=>n+"".concat(o,'="').concat(Ky(e[o]),'" '),"").trim()}function Bl(e){return Object.keys(e||{}).reduce((n,o)=>n+"".concat(o,": ").concat(e[o].trim(),";"),"")}function r0(e){return e.size!==Dn.size||e.x!==Dn.x||e.y!==Dn.y||e.rotate!==Dn.rotate||e.flipX||e.flipY}function E7(e){let{transform:n,containerWidth:o,iconWidth:i}=e;const a={transform:"translate(".concat(o/2," 256)")},l="translate(".concat(n.x*32,", ").concat(n.y*32,") "),u="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") "),f="rotate(".concat(n.rotate," 0 0)"),h={transform:"".concat(l," ").concat(u," ").concat(f)},m={transform:"translate(".concat(i/2*-1," -256)")};return{outer:a,inner:h,path:m}}function N7(e){let{transform:n,width:o=Hf,height:i=Hf,startCentered:a=!1}=e,l="";return a&&Ly?l+="translate(".concat(n.x/_r-o/2,"em, ").concat(n.y/_r-i/2,"em) "):a?l+="translate(calc(-50% + ".concat(n.x/_r,"em), calc(-50% + ").concat(n.y/_r,"em)) "):l+="translate(".concat(n.x/_r,"em, ").concat(n.y/_r,"em) "),l+="scale(".concat(n.size/_r*(n.flipX?-1:1),", ").concat(n.size/_r*(n.flipY?-1:1),") "),l+="rotate(".concat(n.rotate,"deg) "),l}var M7=`:root, :host { + */function k7(e,n,r){return(n=E7(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function X1(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,i)}return r}function te(e){for(var n=1;n{};let m0={},hx={},mx=null,gx={mark:G1,measure:G1};try{typeof window<"u"&&(m0=window),typeof document<"u"&&(hx=document),typeof MutationObserver<"u"&&(mx=MutationObserver),typeof performance<"u"&&(gx=performance)}catch{}const{userAgent:K1=""}=m0.navigator||{},qr=m0,Ue=hx,q1=mx,fl=gx;qr.document;const yr=!!Ue.documentElement&&!!Ue.head&&typeof Ue.addEventListener=="function"&&typeof Ue.createElement=="function",yx=~K1.indexOf("MSIE")||~K1.indexOf("Trident/");var N7=/fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,M7=/Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i,vx={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fab:"brands","fa-brands":"brands"},duotone:{fa:"solid",fad:"solid","fa-solid":"solid","fa-duotone":"solid",fadr:"regular","fa-regular":"regular",fadl:"light","fa-light":"light",fadt:"thin","fa-thin":"thin"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid",fasdr:"regular","fa-regular":"regular",fasdl:"light","fa-light":"light",fasdt:"thin","fa-thin":"thin"}},A7={GROUP:"duotone-group",PRIMARY:"primary",SECONDARY:"secondary"},xx=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],Et="classic",tc="duotone",P7="sharp",R7="sharp-duotone",wx=[Et,tc,P7,R7],I7={classic:{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},duotone:{900:"fad",400:"fadr",300:"fadl",100:"fadt"},sharp:{900:"fass",400:"fasr",300:"fasl",100:"fast"},"sharp-duotone":{900:"fasds",400:"fasdr",300:"fasdl",100:"fasdt"}},z7={"Font Awesome 6 Free":{900:"fas",400:"far"},"Font Awesome 6 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 6 Brands":{400:"fab",normal:"fab"},"Font Awesome 6 Duotone":{900:"fad",400:"fadr",normal:"fadr",300:"fadl",100:"fadt"},"Font Awesome 6 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 6 Sharp Duotone":{900:"fasds",400:"fasdr",normal:"fasdr",300:"fasdl",100:"fasdt"}},O7=new Map([["classic",{defaultShortPrefixId:"fas",defaultStyleId:"solid",styleIds:["solid","regular","light","thin","brands"],futureStyleIds:[],defaultFontWeight:900}],["sharp",{defaultShortPrefixId:"fass",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["duotone",{defaultShortPrefixId:"fad",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp-duotone",{defaultShortPrefixId:"fasds",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}]]),T7={classic:{solid:"fas",regular:"far",light:"fal",thin:"fat",brands:"fab"},duotone:{solid:"fad",regular:"fadr",light:"fadl",thin:"fadt"},sharp:{solid:"fass",regular:"fasr",light:"fasl",thin:"fast"},"sharp-duotone":{solid:"fasds",regular:"fasdr",light:"fasdl",thin:"fasdt"}},_7=["fak","fa-kit","fakd","fa-kit-duotone"],Q1={kit:{fak:"kit","fa-kit":"kit"},"kit-duotone":{fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"}},D7=["kit"],L7={kit:{"fa-kit":"fak"}},F7=["fak","fakd"],$7={kit:{fak:"fa-kit"}},J1={kit:{kit:"fak"},"kit-duotone":{"kit-duotone":"fakd"}},pl={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},H7=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],V7=["fak","fa-kit","fakd","fa-kit-duotone"],B7={"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}},W7={classic:{"fa-brands":"fab","fa-duotone":"fad","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"},duotone:{"fa-regular":"fadr","fa-light":"fadl","fa-thin":"fadt"},sharp:{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"},"sharp-duotone":{"fa-solid":"fasds","fa-regular":"fasdr","fa-light":"fasdl","fa-thin":"fasdt"}},U7={classic:["fas","far","fal","fat","fad"],duotone:["fadr","fadl","fadt"],sharp:["fass","fasr","fasl","fast"],"sharp-duotone":["fasds","fasdr","fasdl","fasdt"]},Zd={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},duotone:{fadr:"fa-regular",fadl:"fa-light",fadt:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid",fasdr:"fa-regular",fasdl:"fa-light",fasdt:"fa-thin"}},Y7=["fa-solid","fa-regular","fa-light","fa-thin","fa-duotone","fa-brands"],ef=["fa","fas","far","fal","fat","fad","fadr","fadl","fadt","fab","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt",...H7,...Y7],X7=["solid","regular","light","thin","duotone","brands"],bx=[1,2,3,4,5,6,7,8,9,10],G7=bx.concat([11,12,13,14,15,16,17,18,19,20]),K7=[...Object.keys(U7),...X7,"2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","fw","inverse","layers-counter","layers-text","layers","li","pull-left","pull-right","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul",pl.GROUP,pl.SWAP_OPACITY,pl.PRIMARY,pl.SECONDARY].concat(bx.map(e=>"".concat(e,"x"))).concat(G7.map(e=>"w-".concat(e))),q7={"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"}};const mr="___FONT_AWESOME___",tf=16,Sx="fa",Cx="svg-inline--fa",Po="data-fa-i2svg",nf="data-fa-pseudo-element",Q7="data-fa-pseudo-element-pending",g0="data-prefix",y0="data-icon",Z1="fontawesome-i2svg",J7="async",Z7=["HTML","HEAD","STYLE","SCRIPT"],kx=(()=>{try{return!0}catch{return!1}})();function Bs(e){return new Proxy(e,{get(n,r){return r in n?n[r]:n[Et]}})}const jx=te({},vx);jx[Et]=te(te(te(te({},{"fa-duotone":"duotone"}),vx[Et]),Q1.kit),Q1["kit-duotone"]);const e9=Bs(jx),rf=te({},T7);rf[Et]=te(te(te(te({},{duotone:"fad"}),rf[Et]),J1.kit),J1["kit-duotone"]);const eg=Bs(rf),of=te({},Zd);of[Et]=te(te({},of[Et]),$7.kit);const v0=Bs(of),sf=te({},W7);sf[Et]=te(te({},sf[Et]),L7.kit);Bs(sf);const t9=N7,Ex="fa-layers-text",n9=M7,r9=te({},I7);Bs(r9);const o9=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],jd=A7,i9=[...D7,...K7],Ns=qr.FontAwesomeConfig||{};function s9(e){var n=Ue.querySelector("script["+e+"]");if(n)return n.getAttribute(e)}function a9(e){return e===""?!0:e==="false"?!1:e==="true"?!0:e}Ue&&typeof Ue.querySelector=="function"&&[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(n=>{let[r,i]=n;const a=a9(s9(r));a!=null&&(Ns[i]=a)});const Nx={styleDefault:"solid",familyDefault:Et,cssPrefix:Sx,replacementClass:Cx,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};Ns.familyPrefix&&(Ns.cssPrefix=Ns.familyPrefix);const Ci=te(te({},Nx),Ns);Ci.autoReplaceSvg||(Ci.observeMutations=!1);const ve={};Object.keys(Nx).forEach(e=>{Object.defineProperty(ve,e,{enumerable:!0,set:function(n){Ci[e]=n,Ms.forEach(r=>r(ve))},get:function(){return Ci[e]}})});Object.defineProperty(ve,"familyPrefix",{enumerable:!0,set:function(e){Ci.cssPrefix=e,Ms.forEach(n=>n(ve))},get:function(){return Ci.cssPrefix}});qr.FontAwesomeConfig=ve;const Ms=[];function l9(e){return Ms.push(e),()=>{Ms.splice(Ms.indexOf(e),1)}}const $r=tf,Hn={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function c9(e){if(!e||!yr)return;const n=Ue.createElement("style");n.setAttribute("type","text/css"),n.innerHTML=e;const r=Ue.head.childNodes;let i=null;for(let a=r.length-1;a>-1;a--){const l=r[a],u=(l.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(u)>-1&&(i=l)}return Ue.head.insertBefore(n,i),e}const u9="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function _s(){let e=12,n="";for(;e-- >0;)n+=u9[Math.random()*62|0];return n}function Ni(e){const n=[];for(let r=(e||[]).length>>>0;r--;)n[r]=e[r];return n}function x0(e){return e.classList?Ni(e.classList):(e.getAttribute("class")||"").split(" ").filter(n=>n)}function Mx(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function d9(e){return Object.keys(e||{}).reduce((n,r)=>n+"".concat(r,'="').concat(Mx(e[r]),'" '),"").trim()}function nc(e){return Object.keys(e||{}).reduce((n,r)=>n+"".concat(r,": ").concat(e[r].trim(),";"),"")}function w0(e){return e.size!==Hn.size||e.x!==Hn.x||e.y!==Hn.y||e.rotate!==Hn.rotate||e.flipX||e.flipY}function f9(e){let{transform:n,containerWidth:r,iconWidth:i}=e;const a={transform:"translate(".concat(r/2," 256)")},l="translate(".concat(n.x*32,", ").concat(n.y*32,") "),u="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") "),d="rotate(".concat(n.rotate," 0 0)"),h={transform:"".concat(l," ").concat(u," ").concat(d)},m={transform:"translate(".concat(i/2*-1," -256)")};return{outer:a,inner:h,path:m}}function p9(e){let{transform:n,width:r=tf,height:i=tf,startCentered:a=!1}=e,l="";return a&&yx?l+="translate(".concat(n.x/$r-r/2,"em, ").concat(n.y/$r-i/2,"em) "):a?l+="translate(calc(-50% + ".concat(n.x/$r,"em), calc(-50% + ").concat(n.y/$r,"em)) "):l+="translate(".concat(n.x/$r,"em, ").concat(n.y/$r,"em) "),l+="scale(".concat(n.size/$r*(n.flipX?-1:1),", ").concat(n.size/$r*(n.flipY?-1:1),") "),l+="rotate(".concat(n.rotate,"deg) "),l}var h9=`:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; @@ -823,11 +823,17 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; -}`;function qy(){const e=Wy,n=By,o=ye.cssPrefix,i=ye.replacementClass;let a=M7;if(o!==e||i!==n){const l=new RegExp("\\.".concat(e,"\\-"),"g"),u=new RegExp("\\--".concat(e,"\\-"),"g"),f=new RegExp("\\.".concat(n),"g");a=a.replace(l,".".concat(o,"-")).replace(u,"--".concat(o,"-")).replace(f,".".concat(i))}return a}let I1=!1;function pf(){ye.autoAddCss&&!I1&&(C7(qy()),I1=!0)}var A7={mixout(){return{dom:{css:qy,insertCss:pf}}},hooks(){return{beforeDOMElementCreation(){pf()},beforeI2svg(){pf()}}}};const fr=Ur||{};fr[ur]||(fr[ur]={});fr[ur].styles||(fr[ur].styles={});fr[ur].hooks||(fr[ur].hooks={});fr[ur].shims||(fr[ur].shims=[]);var Tn=fr[ur];const Qy=[],Zy=function(){Be.removeEventListener("DOMContentLoaded",Zy),kl=1,Qy.map(e=>e())};let kl=!1;dr&&(kl=(Be.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(Be.readyState),kl||Be.addEventListener("DOMContentLoaded",Zy));function P7(e){dr&&(kl?setTimeout(e,0):Qy.push(e))}function zs(e){const{tag:n,attributes:o={},children:i=[]}=e;return typeof e=="string"?Ky(e):"<".concat(n," ").concat(j7(o),">").concat(i.map(zs).join(""),"")}function z1(e,n,o){if(e&&e[n]&&e[n][o])return{prefix:n,iconName:o,icon:e[n][o]}}var hf=function(n,o,i,a){var l=Object.keys(n),u=l.length,f=o,h,m,v;for(i===void 0?(h=1,v=n[l[0]]):(h=0,v=i);h=55296&&a<=56319&&o=55296&&i<=56319&&o>n+1&&(a=e.charCodeAt(n+1),a>=56320&&a<=57343)?(i-55296)*1024+a-56320+65536:i}function O1(e){return Object.keys(e).reduce((n,o)=>{const i=e[o];return!!i.icon?n[i.iconName]=i.icon:n[o]=i,n},{})}function Xf(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{skipHooks:i=!1}=o,a=O1(n);typeof Tn.hooks.addPack=="function"&&!i?Tn.hooks.addPack(e,O1(n)):Tn.styles[e]=te(te({},Tn.styles[e]||{}),a),e==="fas"&&Xf("fa",n)}const{styles:js,shims:z7}=Tn,Jy=Object.keys(t0),O7=Jy.reduce((e,n)=>(e[n]=Object.keys(t0[n]),e),{});let o0=null,ex={},tx={},nx={},rx={},ox={};function _7(e){return~x7.indexOf(e)}function D7(e,n){const o=n.split("-"),i=o[0],a=o.slice(1).join("-");return i===e&&a!==""&&!_7(a)?a:null}const ix=()=>{const e=i=>hf(js,(a,l,u)=>(a[u]=hf(l,i,{}),a),{});ex=e((i,a,l)=>(a[3]&&(i[a[3]]=l),a[2]&&a[2].filter(f=>typeof f=="number").forEach(f=>{i[f.toString(16)]=l}),i)),tx=e((i,a,l)=>(i[l]=l,a[2]&&a[2].filter(f=>typeof f=="string").forEach(f=>{i[f]=l}),i)),ox=e((i,a,l)=>{const u=a[2];return i[l]=l,u.forEach(f=>{i[f]=l}),i});const n="far"in js||ye.autoFetchSvg,o=hf(z7,(i,a)=>{const l=a[0];let u=a[1];const f=a[2];return u==="far"&&!n&&(u="fas"),typeof l=="string"&&(i.names[l]={prefix:u,iconName:f}),typeof l=="number"&&(i.unicodes[l.toString(16)]={prefix:u,iconName:f}),i},{names:{},unicodes:{}});nx=o.names,rx=o.unicodes,o0=Ul(ye.styleDefault,{family:ye.familyDefault})};S7(e=>{o0=Ul(e.styleDefault,{family:ye.familyDefault})});ix();function i0(e,n){return(ex[e]||{})[n]}function T7(e,n){return(tx[e]||{})[n]}function vo(e,n){return(ox[e]||{})[n]}function sx(e){return nx[e]||{prefix:null,iconName:null}}function L7(e){const n=rx[e],o=i0("fas",e);return n||(o?{prefix:"fas",iconName:o}:null)||{prefix:null,iconName:null}}function Yr(){return o0}const ax=()=>({prefix:null,iconName:null,rest:[]});function F7(e){let n=Ct;const o=Jy.reduce((i,a)=>(i[a]="".concat(ye.cssPrefix,"-").concat(a),i),{});return Hy.forEach(i=>{(e.includes(o[i])||e.some(a=>O7[i].includes(a)))&&(n=i)}),n}function Ul(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{family:o=Ct}=n,i=h7[o][e];if(o===Wl&&!e)return"fad";const a=R1[o][e]||R1[o][i],l=e in Tn.styles?e:null;return a||l||null}function $7(e){let n=[],o=null;return e.forEach(i=>{const a=D7(ye.cssPrefix,i);a?o=a:i&&n.push(i)}),{iconName:o,rest:n}}function _1(e){return e.sort().filter((n,o,i)=>i.indexOf(n)===o)}function Yl(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{skipLookups:o=!1}=n;let i=null;const a=$f.concat(n7),l=_1(e.filter(x=>a.includes(x))),u=_1(e.filter(x=>!$f.includes(x))),f=l.filter(x=>(i=x,!$y.includes(x))),[h=null]=f,m=F7(l),v=te(te({},$7(u)),{},{prefix:Ul(h,{family:m})});return te(te(te({},v),B7({values:e,family:m,styles:js,config:ye,canonical:v,givenPrefix:i})),H7(o,i,v))}function H7(e,n,o){let{prefix:i,iconName:a}=o;if(e||!i||!a)return{prefix:i,iconName:a};const l=n==="fa"?sx(a):{},u=vo(i,a);return a=l.iconName||u||a,i=l.prefix||i,i==="far"&&!js.far&&js.fas&&!ye.autoFetchSvg&&(i="fas"),{prefix:i,iconName:a}}const V7=Hy.filter(e=>e!==Ct||e!==Wl),W7=Object.keys(Ff).filter(e=>e!==Ct).map(e=>Object.keys(Ff[e])).flat();function B7(e){const{values:n,family:o,canonical:i,givenPrefix:a="",styles:l={},config:u={}}=e,f=o===Wl,h=n.includes("fa-duotone")||n.includes("fad"),m=u.familyDefault==="duotone",v=i.prefix==="fad"||i.prefix==="fa-duotone";if(!f&&(h||m||v)&&(i.prefix="fad"),(n.includes("fa-brands")||n.includes("fab"))&&(i.prefix="fab"),!i.prefix&&V7.includes(o)&&(Object.keys(l).find(b=>W7.includes(b))||u.autoFetchSvg)){const b=Gk.get(o).defaultShortPrefixId;i.prefix=b,i.iconName=vo(i.prefix,i.iconName)||i.iconName}return(i.prefix==="fa"||a==="fa")&&(i.prefix=Yr()||"fas"),i}class U7{constructor(){this.definitions={}}add(){for(var n=arguments.length,o=new Array(n),i=0;i{this.definitions[l]=te(te({},this.definitions[l]||{}),a[l]),Xf(l,a[l]);const u=t0[Ct][l];u&&Xf(u,a[l]),ix()})}reset(){this.definitions={}}_pullDefinitions(n,o){const i=o.prefix&&o.iconName&&o.icon?{0:o}:o;return Object.keys(i).map(a=>{const{prefix:l,iconName:u,icon:f}=i[a],h=f[2];n[l]||(n[l]={}),h.length>0&&h.forEach(m=>{typeof m=="string"&&(n[l][m]=f)}),n[l][u]=f}),n}}let D1=[],ni={};const ai={},Y7=Object.keys(ai);function X7(e,n){let{mixoutsTo:o}=n;return D1=e,ni={},Object.keys(ai).forEach(i=>{Y7.indexOf(i)===-1&&delete ai[i]}),D1.forEach(i=>{const a=i.mixout?i.mixout():{};if(Object.keys(a).forEach(l=>{typeof a[l]=="function"&&(o[l]=a[l]),typeof a[l]=="object"&&Object.keys(a[l]).forEach(u=>{o[l]||(o[l]={}),o[l][u]=a[l][u]})}),i.hooks){const l=i.hooks();Object.keys(l).forEach(u=>{ni[u]||(ni[u]=[]),ni[u].push(l[u])})}i.provides&&i.provides(ai)}),o}function Gf(e,n){for(var o=arguments.length,i=new Array(o>2?o-2:0),a=2;a{n=u.apply(null,[n,...i])}),n}function Co(e){for(var n=arguments.length,o=new Array(n>1?n-1:0),i=1;i{l.apply(null,o)})}function Xr(){const e=arguments[0],n=Array.prototype.slice.call(arguments,1);return ai[e]?ai[e].apply(null,n):void 0}function Kf(e){e.prefix==="fa"&&(e.prefix="fas");let{iconName:n}=e;const o=e.prefix||Yr();if(n)return n=vo(o,n)||n,z1(lx.definitions,o,n)||z1(Tn.styles,o,n)}const lx=new U7,G7=()=>{ye.autoReplaceSvg=!1,ye.observeMutations=!1,Co("noAuto")},K7={i2svg:function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return dr?(Co("beforeI2svg",e),Xr("pseudoElements2svg",e),Xr("i2svg",e)):Promise.reject(new Error("Operation requires a DOM of some kind."))},watch:function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:n}=e;ye.autoReplaceSvg===!1&&(ye.autoReplaceSvg=!0),ye.observeMutations=!0,P7(()=>{Q7({autoReplaceSvgRoot:n}),Co("watch",e)})}},q7={icon:e=>{if(e===null)return null;if(typeof e=="object"&&e.prefix&&e.iconName)return{prefix:e.prefix,iconName:vo(e.prefix,e.iconName)||e.iconName};if(Array.isArray(e)&&e.length===2){const n=e[1].indexOf("fa-")===0?e[1].slice(3):e[1],o=Ul(e[0]);return{prefix:o,iconName:vo(o,n)||n}}if(typeof e=="string"&&(e.indexOf("".concat(ye.cssPrefix,"-"))>-1||e.match(m7))){const n=Yl(e.split(" "),{skipLookups:!0});return{prefix:n.prefix||Yr(),iconName:vo(n.prefix,n.iconName)||n.iconName}}if(typeof e=="string"){const n=Yr();return{prefix:n,iconName:vo(n,e)||e}}}},Qt={noAuto:G7,config:ye,dom:K7,parse:q7,library:lx,findIconDefinition:Kf,toHtml:zs},Q7=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:n=Be}=e;(Object.keys(Tn.styles).length>0||ye.autoFetchSvg)&&dr&&ye.autoReplaceSvg&&Qt.dom.i2svg({node:n})};function Xl(e,n){return Object.defineProperty(e,"abstract",{get:n}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(o=>zs(o))}}),Object.defineProperty(e,"node",{get:function(){if(!dr)return;const o=Be.createElement("div");return o.innerHTML=e.html,o.children}}),e}function Z7(e){let{children:n,main:o,mask:i,attributes:a,styles:l,transform:u}=e;if(r0(u)&&o.found&&!i.found){const{width:f,height:h}=o,m={x:f/h/2,y:.5};a.style=Bl(te(te({},l),{},{"transform-origin":"".concat(m.x+u.x/16,"em ").concat(m.y+u.y/16,"em")}))}return[{tag:"svg",attributes:a,children:n}]}function J7(e){let{prefix:n,iconName:o,children:i,attributes:a,symbol:l}=e;const u=l===!0?"".concat(n,"-").concat(ye.cssPrefix,"-").concat(o):l;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:te(te({},a),{},{id:u}),children:i}]}]}function s0(e){const{icons:{main:n,mask:o},prefix:i,iconName:a,transform:l,symbol:u,title:f,maskId:h,titleId:m,extra:v,watchable:x=!1}=e,{width:b,height:C}=o.found?o:n,N=Jk.includes(i),k=[ye.replacementClass,a?"".concat(ye.cssPrefix,"-").concat(a):""].filter(L=>v.classes.indexOf(L)===-1).filter(L=>L!==""||!!L).concat(v.classes).join(" ");let j={children:[],attributes:te(te({},v.attributes),{},{"data-prefix":i,"data-icon":a,class:k,role:v.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(b," ").concat(C)})};const M=N&&!~v.classes.indexOf("fa-fw")?{width:"".concat(b/C*16*.0625,"em")}:{};x&&(j.attributes[So]=""),f&&(j.children.push({tag:"title",attributes:{id:j.attributes["aria-labelledby"]||"title-".concat(m||ks())},children:[f]}),delete j.attributes.title);const E=te(te({},j),{},{prefix:i,iconName:a,main:n,mask:o,maskId:h,transform:l,symbol:u,styles:te(te({},M),v.styles)}),{children:R,attributes:z}=o.found&&n.found?Xr("generateAbstractMask",E)||{children:[],attributes:{}}:Xr("generateAbstractIcon",E)||{children:[],attributes:{}};return E.children=R,E.attributes=z,u?J7(E):Z7(E)}function T1(e){const{content:n,width:o,height:i,transform:a,title:l,extra:u,watchable:f=!1}=e,h=te(te(te({},u.attributes),l?{title:l}:{}),{},{class:u.classes.join(" ")});f&&(h[So]="");const m=te({},u.styles);r0(a)&&(m.transform=N7({transform:a,startCentered:!0,width:o,height:i}),m["-webkit-transform"]=m.transform);const v=Bl(m);v.length>0&&(h.style=v);const x=[];return x.push({tag:"span",attributes:h,children:[n]}),l&&x.push({tag:"span",attributes:{class:"sr-only"},children:[l]}),x}function e9(e){const{content:n,title:o,extra:i}=e,a=te(te(te({},i.attributes),o?{title:o}:{}),{},{class:i.classes.join(" ")}),l=Bl(i.styles);l.length>0&&(a.style=l);const u=[];return u.push({tag:"span",attributes:a,children:[n]}),o&&u.push({tag:"span",attributes:{class:"sr-only"},children:[o]}),u}const{styles:mf}=Tn;function qf(e){const n=e[0],o=e[1],[i]=e.slice(4);let a=null;return Array.isArray(i)?a={tag:"g",attributes:{class:"".concat(ye.cssPrefix,"-").concat(df.GROUP)},children:[{tag:"path",attributes:{class:"".concat(ye.cssPrefix,"-").concat(df.SECONDARY),fill:"currentColor",d:i[0]}},{tag:"path",attributes:{class:"".concat(ye.cssPrefix,"-").concat(df.PRIMARY),fill:"currentColor",d:i[1]}}]}:a={tag:"path",attributes:{fill:"currentColor",d:i}},{found:!0,width:n,height:o,icon:a}}const t9={found:!1,width:512,height:512};function n9(e,n){!Uy&&!ye.showMissingIcons&&e&&console.error('Icon with name "'.concat(e,'" and prefix "').concat(n,'" is missing.'))}function Qf(e,n){let o=n;return n==="fa"&&ye.styleDefault!==null&&(n=Yr()),new Promise((i,a)=>{if(o==="fa"){const l=sx(e)||{};e=l.iconName||e,n=l.prefix||n}if(e&&n&&mf[n]&&mf[n][e]){const l=mf[n][e];return i(qf(l))}n9(e,n),i(te(te({},t9),{},{icon:ye.showMissingIcons&&e?Xr("missingIconAbstract")||{}:{}}))})}const L1=()=>{},Zf=ye.measurePerformance&&nl&&nl.mark&&nl.measure?nl:{mark:L1,measure:L1},us='FA "6.7.2"',r9=e=>(Zf.mark("".concat(us," ").concat(e," begins")),()=>cx(e)),cx=e=>{Zf.mark("".concat(us," ").concat(e," ends")),Zf.measure("".concat(us," ").concat(e),"".concat(us," ").concat(e," begins"),"".concat(us," ").concat(e," ends"))};var a0={begin:r9,end:cx};const ll=()=>{};function F1(e){return typeof(e.getAttribute?e.getAttribute(So):null)=="string"}function o9(e){const n=e.getAttribute?e.getAttribute(Jd):null,o=e.getAttribute?e.getAttribute(e0):null;return n&&o}function i9(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(ye.replacementClass)}function s9(){return ye.autoReplaceSvg===!0?cl.replace:cl[ye.autoReplaceSvg]||cl.replace}function a9(e){return Be.createElementNS("http://www.w3.org/2000/svg",e)}function l9(e){return Be.createElement(e)}function ux(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{ceFn:o=e.tag==="svg"?a9:l9}=n;if(typeof e=="string")return Be.createTextNode(e);const i=o(e.tag);return Object.keys(e.attributes||[]).forEach(function(l){i.setAttribute(l,e.attributes[l])}),(e.children||[]).forEach(function(l){i.appendChild(ux(l,{ceFn:o}))}),i}function c9(e){let n=" ".concat(e.outerHTML," ");return n="".concat(n,"Font Awesome fontawesome.com "),n}const cl={replace:function(e){const n=e[0];if(n.parentNode)if(e[1].forEach(o=>{n.parentNode.insertBefore(ux(o),n)}),n.getAttribute(So)===null&&ye.keepOriginalSource){let o=Be.createComment(c9(n));n.parentNode.replaceChild(o,n)}else n.remove()},nest:function(e){const n=e[0],o=e[1];if(~n0(n).indexOf(ye.replacementClass))return cl.replace(e);const i=new RegExp("".concat(ye.cssPrefix,"-.*"));if(delete o[0].attributes.id,o[0].attributes.class){const l=o[0].attributes.class.split(" ").reduce((u,f)=>(f===ye.replacementClass||f.match(i)?u.toSvg.push(f):u.toNode.push(f),u),{toNode:[],toSvg:[]});o[0].attributes.class=l.toSvg.join(" "),l.toNode.length===0?n.removeAttribute("class"):n.setAttribute("class",l.toNode.join(" "))}const a=o.map(l=>zs(l)).join(` -`);n.setAttribute(So,""),n.innerHTML=a}};function $1(e){e()}function fx(e,n){const o=typeof n=="function"?n:ll;if(e.length===0)o();else{let i=$1;ye.mutateApproach===d7&&(i=Ur.requestAnimationFrame||$1),i(()=>{const a=s9(),l=a0.begin("mutate");e.map(a),l(),o()})}}let l0=!1;function dx(){l0=!0}function Jf(){l0=!1}let jl=null;function H1(e){if(!N1||!ye.observeMutations)return;const{treeCallback:n=ll,nodeCallback:o=ll,pseudoElementsCallback:i=ll,observeMutationsRoot:a=Be}=e;jl=new N1(l=>{if(l0)return;const u=Yr();gi(l).forEach(f=>{if(f.type==="childList"&&f.addedNodes.length>0&&!F1(f.addedNodes[0])&&(ye.searchPseudoElements&&i(f.target),n(f.target)),f.type==="attributes"&&f.target.parentNode&&ye.searchPseudoElements&&i(f.target.parentNode),f.type==="attributes"&&F1(f.target)&&~y7.indexOf(f.attributeName))if(f.attributeName==="class"&&o9(f.target)){const{prefix:h,iconName:m}=Yl(n0(f.target));f.target.setAttribute(Jd,h||u),m&&f.target.setAttribute(e0,m)}else i9(f.target)&&o(f.target)})}),dr&&jl.observe(a,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}function u9(){jl&&jl.disconnect()}function f9(e){const n=e.getAttribute("style");let o=[];return n&&(o=n.split(";").reduce((i,a)=>{const l=a.split(":"),u=l[0],f=l.slice(1);return u&&f.length>0&&(i[u]=f.join(":").trim()),i},{})),o}function d9(e){const n=e.getAttribute("data-prefix"),o=e.getAttribute("data-icon"),i=e.innerText!==void 0?e.innerText.trim():"";let a=Yl(n0(e));return a.prefix||(a.prefix=Yr()),n&&o&&(a.prefix=n,a.iconName=o),a.iconName&&a.prefix||(a.prefix&&i.length>0&&(a.iconName=T7(a.prefix,e.innerText)||i0(a.prefix,Yf(e.innerText))),!a.iconName&&ye.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(a.iconName=e.firstChild.data)),a}function p9(e){const n=gi(e.attributes).reduce((a,l)=>(a.name!=="class"&&a.name!=="style"&&(a[l.name]=l.value),a),{}),o=e.getAttribute("title"),i=e.getAttribute("data-fa-title-id");return ye.autoA11y&&(o?n["aria-labelledby"]="".concat(ye.replacementClass,"-title-").concat(i||ks()):(n["aria-hidden"]="true",n.focusable="false")),n}function h9(){return{iconName:null,title:null,titleId:null,prefix:null,transform:Dn,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function V1(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0};const{iconName:o,prefix:i,rest:a}=d9(e),l=p9(e),u=Gf("parseNodeAttributes",{},e);let f=n.styleParser?f9(e):[];return te({iconName:o,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:i,transform:Dn,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:a,styles:f,attributes:l}},u)}const{styles:m9}=Tn;function px(e){const n=ye.autoReplaceSvg==="nest"?V1(e,{styleParser:!1}):V1(e);return~n.extra.classes.indexOf(Xy)?Xr("generateLayersText",e,n):Xr("generateSvgReplacementMutation",e,n)}function g9(){return[...qk,...$f]}function W1(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!dr)return Promise.resolve();const o=Be.documentElement.classList,i=v=>o.add("".concat(P1,"-").concat(v)),a=v=>o.remove("".concat(P1,"-").concat(v)),l=ye.autoFetchSvg?g9():$y.concat(Object.keys(m9));l.includes("fa")||l.push("fa");const u=[".".concat(Xy,":not([").concat(So,"])")].concat(l.map(v=>".".concat(v,":not([").concat(So,"])"))).join(", ");if(u.length===0)return Promise.resolve();let f=[];try{f=gi(e.querySelectorAll(u))}catch{}if(f.length>0)i("pending"),a("complete");else return Promise.resolve();const h=a0.begin("onTree"),m=f.reduce((v,x)=>{try{const b=px(x);b&&v.push(b)}catch(b){Uy||b.name==="MissingIcon"&&console.error(b)}return v},[]);return new Promise((v,x)=>{Promise.all(m).then(b=>{fx(b,()=>{i("active"),i("complete"),a("pending"),typeof n=="function"&&n(),h(),v()})}).catch(b=>{h(),x(b)})})}function v9(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;px(e).then(o=>{o&&fx([o],n)})}function y9(e){return function(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=(n||{}).icon?n:Kf(n||{});let{mask:a}=o;return a&&(a=(a||{}).icon?a:Kf(a||{})),e(i,te(te({},o),{},{mask:a}))}}const x9=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:o=Dn,symbol:i=!1,mask:a=null,maskId:l=null,title:u=null,titleId:f=null,classes:h=[],attributes:m={},styles:v={}}=n;if(!e)return;const{prefix:x,iconName:b,icon:C}=e;return Xl(te({type:"icon"},e),()=>(Co("beforeDOMElementCreation",{iconDefinition:e,params:n}),ye.autoA11y&&(u?m["aria-labelledby"]="".concat(ye.replacementClass,"-title-").concat(f||ks()):(m["aria-hidden"]="true",m.focusable="false")),s0({icons:{main:qf(C),mask:a?qf(a.icon):{found:!1,width:null,height:null,icon:{}}},prefix:x,iconName:b,transform:te(te({},Dn),o),symbol:i,title:u,maskId:l,titleId:f,extra:{attributes:m,styles:v,classes:h}})))};var w9={mixout(){return{icon:y9(x9)}},hooks(){return{mutationObserverCallbacks(e){return e.treeCallback=W1,e.nodeCallback=v9,e}}},provides(e){e.i2svg=function(n){const{node:o=Be,callback:i=()=>{}}=n;return W1(o,i)},e.generateSvgReplacementMutation=function(n,o){const{iconName:i,title:a,titleId:l,prefix:u,transform:f,symbol:h,mask:m,maskId:v,extra:x}=o;return new Promise((b,C)=>{Promise.all([Qf(i,u),m.iconName?Qf(m.iconName,m.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(N=>{let[k,j]=N;b([n,s0({icons:{main:k,mask:j},prefix:u,iconName:i,transform:f,symbol:h,maskId:v,title:a,titleId:l,extra:x,watchable:!0})])}).catch(C)})},e.generateAbstractIcon=function(n){let{children:o,attributes:i,main:a,transform:l,styles:u}=n;const f=Bl(u);f.length>0&&(i.style=f);let h;return r0(l)&&(h=Xr("generateAbstractTransformGrouping",{main:a,transform:l,containerWidth:a.width,iconWidth:a.width})),o.push(h||a.icon),{children:o,attributes:i}}}},b9={mixout(){return{layer(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{classes:o=[]}=n;return Xl({type:"layer"},()=>{Co("beforeDOMElementCreation",{assembler:e,params:n});let i=[];return e(a=>{Array.isArray(a)?a.map(l=>{i=i.concat(l.abstract)}):i=i.concat(a.abstract)}),[{tag:"span",attributes:{class:["".concat(ye.cssPrefix,"-layers"),...o].join(" ")},children:i}]})}}}},S9={mixout(){return{counter(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{title:o=null,classes:i=[],attributes:a={},styles:l={}}=n;return Xl({type:"counter",content:e},()=>(Co("beforeDOMElementCreation",{content:e,params:n}),e9({content:e.toString(),title:o,extra:{attributes:a,styles:l,classes:["".concat(ye.cssPrefix,"-layers-counter"),...i]}})))}}}},C9={mixout(){return{text(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:o=Dn,title:i=null,classes:a=[],attributes:l={},styles:u={}}=n;return Xl({type:"text",content:e},()=>(Co("beforeDOMElementCreation",{content:e,params:n}),T1({content:e,transform:te(te({},Dn),o),title:i,extra:{attributes:l,styles:u,classes:["".concat(ye.cssPrefix,"-layers-text"),...a]}})))}}},provides(e){e.generateLayersText=function(n,o){const{title:i,transform:a,extra:l}=o;let u=null,f=null;if(Ly){const h=parseInt(getComputedStyle(n).fontSize,10),m=n.getBoundingClientRect();u=m.width/h,f=m.height/h}return ye.autoA11y&&!i&&(l.attributes["aria-hidden"]="true"),Promise.resolve([n,T1({content:n.innerHTML,width:u,height:f,transform:a,title:i,extra:l,watchable:!0})])}}};const k9=new RegExp('"',"ug"),B1=[1105920,1112319],U1=te(te(te(te({},{FontAwesome:{normal:"fas",400:"fas"}}),Xk),u7),r7),ed=Object.keys(U1).reduce((e,n)=>(e[n.toLowerCase()]=U1[n],e),{}),j9=Object.keys(ed).reduce((e,n)=>{const o=ed[n];return e[n]=o[900]||[...Object.entries(o)][0][1],e},{});function E9(e){const n=e.replace(k9,""),o=I7(n,0),i=o>=B1[0]&&o<=B1[1],a=n.length===2?n[0]===n[1]:!1;return{value:Yf(a?n[0]:n),isSecondary:i||a}}function N9(e,n){const o=e.replace(/^['"]|['"]$/g,"").toLowerCase(),i=parseInt(n),a=isNaN(i)?"normal":i;return(ed[o]||{})[a]||j9[o]}function Y1(e,n){const o="".concat(f7).concat(n.replace(":","-"));return new Promise((i,a)=>{if(e.getAttribute(o)!==null)return i();const u=gi(e.children).filter(b=>b.getAttribute(Vf)===n)[0],f=Ur.getComputedStyle(e,n),h=f.getPropertyValue("font-family"),m=h.match(g7),v=f.getPropertyValue("font-weight"),x=f.getPropertyValue("content");if(u&&!m)return e.removeChild(u),i();if(m&&x!=="none"&&x!==""){const b=f.getPropertyValue("content");let C=N9(h,v);const{value:N,isSecondary:k}=E9(b),j=m[0].startsWith("FontAwesome");let M=i0(C,N),E=M;if(j){const R=L7(N);R.iconName&&R.prefix&&(M=R.iconName,C=R.prefix)}if(M&&!k&&(!u||u.getAttribute(Jd)!==C||u.getAttribute(e0)!==E)){e.setAttribute(o,E),u&&e.removeChild(u);const R=h9(),{extra:z}=R;z.attributes[Vf]=n,Qf(M,C).then(L=>{const A=s0(te(te({},R),{},{icons:{main:L,mask:ax()},prefix:C,iconName:E,extra:z,watchable:!0})),D=Be.createElementNS("http://www.w3.org/2000/svg","svg");n==="::before"?e.insertBefore(D,e.firstChild):e.appendChild(D),D.outerHTML=A.map(F=>zs(F)).join(` -`),e.removeAttribute(o),i()}).catch(a)}else i()}else i()})}function M9(e){return Promise.all([Y1(e,"::before"),Y1(e,"::after")])}function A9(e){return e.parentNode!==document.head&&!~p7.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(Vf)&&(!e.parentNode||e.parentNode.tagName!=="svg")}function X1(e){if(dr)return new Promise((n,o)=>{const i=gi(e.querySelectorAll("*")).filter(A9).map(M9),a=a0.begin("searchPseudoElements");dx(),Promise.all(i).then(()=>{a(),Jf(),n()}).catch(()=>{a(),Jf(),o()})})}var P9={hooks(){return{mutationObserverCallbacks(e){return e.pseudoElementsCallback=X1,e}}},provides(e){e.pseudoElements2svg=function(n){const{node:o=Be}=n;ye.searchPseudoElements&&X1(o)}}};let G1=!1;var R9={mixout(){return{dom:{unwatch(){dx(),G1=!0}}}},hooks(){return{bootstrap(){H1(Gf("mutationObserverCallbacks",{}))},noAuto(){u9()},watch(e){const{observeMutationsRoot:n}=e;G1?Jf():H1(Gf("mutationObserverCallbacks",{observeMutationsRoot:n}))}}}};const K1=e=>{let n={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e.toLowerCase().split(" ").reduce((o,i)=>{const a=i.toLowerCase().split("-"),l=a[0];let u=a.slice(1).join("-");if(l&&u==="h")return o.flipX=!0,o;if(l&&u==="v")return o.flipY=!0,o;if(u=parseFloat(u),isNaN(u))return o;switch(l){case"grow":o.size=o.size+u;break;case"shrink":o.size=o.size-u;break;case"left":o.x=o.x-u;break;case"right":o.x=o.x+u;break;case"up":o.y=o.y-u;break;case"down":o.y=o.y+u;break;case"rotate":o.rotate=o.rotate+u;break}return o},n)};var I9={mixout(){return{parse:{transform:e=>K1(e)}}},hooks(){return{parseNodeAttributes(e,n){const o=n.getAttribute("data-fa-transform");return o&&(e.transform=K1(o)),e}}},provides(e){e.generateAbstractTransformGrouping=function(n){let{main:o,transform:i,containerWidth:a,iconWidth:l}=n;const u={transform:"translate(".concat(a/2," 256)")},f="translate(".concat(i.x*32,", ").concat(i.y*32,") "),h="scale(".concat(i.size/16*(i.flipX?-1:1),", ").concat(i.size/16*(i.flipY?-1:1),") "),m="rotate(".concat(i.rotate," 0 0)"),v={transform:"".concat(f," ").concat(h," ").concat(m)},x={transform:"translate(".concat(l/2*-1," -256)")},b={outer:u,inner:v,path:x};return{tag:"g",attributes:te({},b.outer),children:[{tag:"g",attributes:te({},b.inner),children:[{tag:o.icon.tag,children:o.icon.children,attributes:te(te({},o.icon.attributes),b.path)}]}]}}}};const gf={x:0,y:0,width:"100%",height:"100%"};function q1(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||n)&&(e.attributes.fill="black"),e}function z9(e){return e.tag==="g"?e.children:[e]}var O9={hooks(){return{parseNodeAttributes(e,n){const o=n.getAttribute("data-fa-mask"),i=o?Yl(o.split(" ").map(a=>a.trim())):ax();return i.prefix||(i.prefix=Yr()),e.mask=i,e.maskId=n.getAttribute("data-fa-mask-id"),e}}},provides(e){e.generateAbstractMask=function(n){let{children:o,attributes:i,main:a,mask:l,maskId:u,transform:f}=n;const{width:h,icon:m}=a,{width:v,icon:x}=l,b=E7({transform:f,containerWidth:v,iconWidth:h}),C={tag:"rect",attributes:te(te({},gf),{},{fill:"white"})},N=m.children?{children:m.children.map(q1)}:{},k={tag:"g",attributes:te({},b.inner),children:[q1(te({tag:m.tag,attributes:te(te({},m.attributes),b.path)},N))]},j={tag:"g",attributes:te({},b.outer),children:[k]},M="mask-".concat(u||ks()),E="clip-".concat(u||ks()),R={tag:"mask",attributes:te(te({},gf),{},{id:M,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[C,j]},z={tag:"defs",children:[{tag:"clipPath",attributes:{id:E},children:z9(x)},R]};return o.push(z,{tag:"rect",attributes:te({fill:"currentColor","clip-path":"url(#".concat(E,")"),mask:"url(#".concat(M,")")},gf)}),{children:o,attributes:i}}}},_9={provides(e){let n=!1;Ur.matchMedia&&(n=Ur.matchMedia("(prefers-reduced-motion: reduce)").matches),e.missingIconAbstract=function(){const o=[],i={fill:"currentColor"},a={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};o.push({tag:"path",attributes:te(te({},i),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});const l=te(te({},a),{},{attributeName:"opacity"}),u={tag:"circle",attributes:te(te({},i),{},{cx:"256",cy:"364",r:"28"}),children:[]};return n||u.children.push({tag:"animate",attributes:te(te({},a),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:te(te({},l),{},{values:"1;0;1;1;0;1;"})}),o.push(u),o.push({tag:"path",attributes:te(te({},i),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:n?[]:[{tag:"animate",attributes:te(te({},l),{},{values:"1;0;0;0;0;1;"})}]}),n||o.push({tag:"path",attributes:te(te({},i),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:te(te({},l),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:o}}}},D9={hooks(){return{parseNodeAttributes(e,n){const o=n.getAttribute("data-fa-symbol"),i=o===null?!1:o===""?!0:o;return e.symbol=i,e}}}},T9=[A7,w9,b9,S9,C9,P9,R9,I9,O9,_9,D9];X7(T9,{mixoutsTo:Qt});Qt.noAuto;Qt.config;Qt.library;Qt.dom;const td=Qt.parse;Qt.findIconDefinition;Qt.toHtml;const L9=Qt.icon;Qt.layer;Qt.text;Qt.counter;var vf={exports:{}},yf,Q1;function F9(){if(Q1)return yf;Q1=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return yf=e,yf}var xf,Z1;function $9(){if(Z1)return xf;Z1=1;var e=F9();function n(){}function o(){}return o.resetWarningCache=n,xf=function(){function i(u,f,h,m,v,x){if(x!==e){var b=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw b.name="Invariant Violation",b}}i.isRequired=i;function a(){return i}var l={array:i,bigint:i,bool:i,func:i,number:i,object:i,string:i,symbol:i,any:i,arrayOf:a,element:i,elementType:i,instanceOf:a,node:i,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:o,resetWarningCache:n};return l.PropTypes=l,l},xf}var J1;function H9(){return J1||(J1=1,vf.exports=$9()()),vf.exports}var V9=H9();const je=Nl(V9);var W9={};function nd(e,n){(n==null||n>e.length)&&(n=e.length);for(var o=0,i=Array(n);oj}for(var M=0;M2&&arguments[2]!==void 0?arguments[2]:{};if(typeof n=="string")return n;var i=(n.children||[]).map(function(h){return gx(e,h)}),a=Object.keys(n.attributes||{}).reduce(function(h,m){var v=n.attributes[m];switch(m){case"class":h.attrs.className=v,delete n.attributes.class;break;case"style":h.attrs.style=aj(v);break;default:m.indexOf("aria-")===0||m.indexOf("data-")===0?h.attrs[m.toLowerCase()]=v:h.attrs[mx(m)]=v}return h},{attrs:{}}),l=o.style,u=l===void 0?{}:l,f=q9(o,ij);return a.attrs.style=zn(zn({},a.attrs.style),u),e.apply(void 0,[n.tag,zn(zn({},a.attrs),f)].concat(rd(i)))}var vx=!1;try{vx=!0}catch{}function lj(){if(!vx&&console&&typeof console.error=="function"){var e;(e=console).error.apply(e,arguments)}}function ng(e){if(e&&El(e)==="object"&&e.prefix&&e.iconName&&e.icon)return e;if(td.icon)return td.icon(e);if(e===null)return null;if(e&&El(e)==="object"&&e.prefix&&e.iconName)return e;if(Array.isArray(e)&&e.length===2)return{prefix:e[0],iconName:e[1]};if(typeof e=="string")return{prefix:"fas",iconName:e}}function wf(e,n){return Array.isArray(n)&&n.length>0||!Array.isArray(n)&&n?Tr({},e,n):{}}var rg={border:!1,className:"",mask:null,maskId:null,fixedWidth:!1,inverse:!1,flip:!1,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,rotateBy:!1,size:null,spin:!1,spinPulse:!1,spinReverse:!1,beat:!1,fade:!1,beatFade:!1,bounce:!1,shake:!1,symbol:!1,title:"",titleId:null,transform:null,swapOpacity:!1,widthAuto:!1},ar=ke.forwardRef(function(e,n){var o=zn(zn({},rg),e),i=o.icon,a=o.mask,l=o.symbol,u=o.className,f=o.title,h=o.titleId,m=o.maskId,v=ng(i),x=wf("classes",[].concat(rd(nj(o)),rd((u||"").split(" ")))),b=wf("transform",typeof o.transform=="string"?td.transform(o.transform):o.transform),C=wf("mask",ng(a)),N=L9(v,zn(zn(zn(zn({},x),b),C),{},{symbol:l,title:f,titleId:h,maskId:m}));if(!N)return lj("Could not find icon",v),null;var k=N.abstract,j={ref:n};return Object.keys(o).forEach(function(M){rg.hasOwnProperty(M)||(j[M]=o[M])}),cj(k[0],j)});ar.displayName="FontAwesomeIcon";ar.propTypes={beat:je.bool,border:je.bool,beatFade:je.bool,bounce:je.bool,className:je.string,fade:je.bool,flash:je.bool,mask:je.oneOfType([je.object,je.array,je.string]),maskId:je.string,fixedWidth:je.bool,inverse:je.bool,flip:je.oneOf([!0,!1,"horizontal","vertical","both"]),icon:je.oneOfType([je.object,je.array,je.string]),listItem:je.bool,pull:je.oneOf(["right","left"]),pulse:je.bool,rotation:je.oneOf([0,90,180,270]),rotateBy:je.bool,shake:je.bool,size:je.oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:je.bool,spinPulse:je.bool,spinReverse:je.bool,symbol:je.oneOfType([je.bool,je.string]),title:je.string,titleId:je.string,transform:je.oneOfType([je.string,je.object]),swapOpacity:je.bool,widthAuto:je.bool};var cj=gx.bind(null,ke.createElement);const yx=y.createContext(1);function mt({id:e,label:n,zIndex:o=10,canRotate:i=!1,canResize:a=!0,children:l}){const u=Pe(I=>I.active),f=Pe(I=>I.elements[e]),h=Pe(I=>I.move),m=Pe(I=>I.toggleHidden),v=Pe(I=>I.toggleVertical),x=Pe(I=>I.rescale),b=Pe(I=>I.reset),C=Pe(I=>I.permissions[e]),N=(C==null?void 0:C.canMove)??!0,k=(C==null?void 0:C.canHide)??!0,j=a&&((C==null?void 0:C.canResize)??!0),M=(f==null?void 0:f.dx)??0,E=(f==null?void 0:f.dy)??0,R=(f==null?void 0:f.hidden)??!1,z=(f==null?void 0:f.vertical)??!1,L=(f==null?void 0:f.scale)??1,[A,D]=y.useState(!1),[F,W]=y.useState(null),J=y.useRef({startX:0,startY:0,startDx:0,startDy:0}),oe=y.useRef({minDx:-1/0,maxDx:1/0,minDy:-1/0,maxDy:1/0}),B=y.useRef(null),de=y.useRef(null),ie=y.useRef(M),ue=y.useRef(E);ie.current=M,ue.current=E;const ae=20;y.useLayoutEffect(()=>{if(!u||!B.current)return;const I=B.current,G=de.current;let ee=1/0,K=1/0,ne=-1/0,se=-1/0;for(const he of Array.from(I.querySelectorAll("*"))){if(G&&(he===G||G.contains(he))||he instanceof SVGElement&&!(he instanceof SVGSVGElement))continue;const ce=he.getBoundingClientRect();ce.width===0&&ce.height===0||(ee=Math.min(ee,ce.left),K=Math.min(K,ce.top),ne=Math.max(ne,ce.right),se=Math.max(se,ce.bottom))}if(ee!==1/0){const he=ie.current,ce=ue.current;W({l:ee-he,t:K-ce,r:ne-he,b:se-ce})}return()=>W(null)},[u]);const fe=y.useCallback(I=>{I.preventDefault(),I.stopPropagation();const G=B.current;if(G){const ne=de.current;let se=1/0,he=1/0,ce=-1/0,Ie=-1/0;for(const Le of Array.from(G.querySelectorAll("*"))){if(ne&&(Le===ne||ne.contains(Le))||Le instanceof SVGElement&&!(Le instanceof SVGSVGElement))continue;const vt=Le.getBoundingClientRect();vt.width===0&&vt.height===0||(se=Math.min(se,vt.left),he=Math.min(he,vt.top),ce=Math.max(ce,vt.right),Ie=Math.max(Ie,vt.bottom))}se!==1/0&&(oe.current={minDx:ae-se+M,maxDx:window.innerWidth-ae-ce+M,minDy:ae-he+E,maxDy:window.innerHeight-ae-Ie+E})}J.current={startX:I.clientX,startY:I.clientY,startDx:M,startDy:E},D(!0);const ee=ne=>{const{minDx:se,maxDx:he,minDy:ce,maxDy:Ie}=oe.current,Le=Math.max(se,Math.min(he,J.current.startDx+ne.clientX-J.current.startX)),vt=Math.max(ce,Math.min(Ie,J.current.startDy+ne.clientY-J.current.startY));h(e,Le,vt)},K=()=>{D(!1),window.removeEventListener("mousemove",ee),window.removeEventListener("mouseup",K)};window.addEventListener("mousemove",ee),window.addEventListener("mouseup",K)},[M,E,e,h]);if(R&&!u)return null;const U=M!==0||E!==0,Q=Math.abs(L-1)>.005,Z=U?`translate(${M}px, ${E}px)`:void 0,_=F?{x:(F.l+F.r)/2,y:(F.t+F.b)/2}:null;return g.jsxs("div",{ref:B,style:{position:"fixed",inset:0,overflow:"visible",pointerEvents:"none",zIndex:o,transform:Z,opacity:R?.3:1},children:[g.jsx(yx.Provider,{value:L,children:l}),u&&F&&N&&g.jsx("div",{style:{position:"absolute",left:F.l,top:F.t,width:F.r-F.l,height:F.b-F.t,pointerEvents:"auto",cursor:A?"grabbing":"grab",zIndex:9997},onMouseDown:fe}),A&&F&&g.jsx("div",{style:{position:"absolute",left:F.l-6,top:F.t-6,width:F.r-F.l+12,height:F.b-F.t+12,border:"2px solid hsl(var(--primary))",boxShadow:"0 0 12px hsl(var(--primary) / 0.5), inset 0 0 8px hsl(var(--primary) / 0.15)",borderRadius:6,pointerEvents:"none",zIndex:9998}}),u&&F&&_&&(N||k||j)&&g.jsxs("div",{ref:de,style:{position:"absolute",left:_.x,top:F.b+8,transform:"translate(-50%, 0)",pointerEvents:"auto",display:"flex",alignItems:"center",gap:6,background:A?"hsl(var(--primary) / 0.22)":"hsl(var(--card))",border:`1px solid ${A?"hsl(var(--primary))":"hsl(var(--border))"}`,borderRadius:8,padding:"4px 8px",color:"white",fontSize:12,fontWeight:600,userSelect:"none",boxShadow:A?"0 0 10px hsl(var(--primary) / 0.4), 0 2px 8px rgba(0,0,0,0.5)":"0 2px 8px rgba(0,0,0,0.5)",cursor:N?A?"grabbing":"grab":"default",zIndex:9999,whiteSpace:"nowrap",opacity:A?.5:1,transition:"background 0.1s, border-color 0.1s, opacity 0.1s"},onMouseDown:N?fe:void 0,children:[N&&g.jsx(ar,{icon:kg,style:{color:A?"hsl(var(--foreground))":"hsl(var(--muted-foreground))",fontSize:11,flexShrink:0}}),g.jsx("span",{style:{color:A?"hsl(var(--primary))":"hsl(var(--muted-foreground))",letterSpacing:"0.04em"},children:n}),k&&g.jsx(as,{title:R?"Mostrar":"Ocultar",onClick:()=>m(e),icon:R?pg:cg}),N&&i&&g.jsx(as,{title:z?"Horizontal":"Vertical",onClick:()=>v(e),icon:f5,color:z?"rgba(167,243,208,0.9)":"rgba(255,255,255,0.55)"}),j&&g.jsxs(g.Fragment,{children:[g.jsx(as,{title:"Diminuir",onClick:()=>x(e,L/1.1),icon:yg,color:"rgba(255,255,255,0.7)"}),g.jsxs("span",{style:{color:Q?"hsl(var(--foreground))":"hsl(var(--muted-foreground) / 0.5)",fontSize:10,minWidth:28,textAlign:"center",userSelect:"none"},children:[Math.round(L*100),"%"]}),g.jsx(as,{title:"Aumentar",onClick:()=>x(e,L*1.1),icon:Cg,color:"rgba(255,255,255,0.7)"})]}),N&&(U||Q)&&g.jsx(as,{title:"Resetar posição",onClick:()=>b(e),icon:dg,color:"hsl(var(--destructive))"})]})]})}function as({title:e,onClick:n,icon:o,color:i="rgba(255,255,255,0.8)"}){return g.jsx("button",{style:{background:"none",border:"none",color:i,cursor:"pointer",padding:"0 2px",lineHeight:1,flexShrink:0},title:e,onMouseDown:a=>a.stopPropagation(),onClick:a=>{a.stopPropagation(),n()},children:g.jsx(ar,{icon:o,style:{fontSize:12}})})}function uj(){const e=Te(m=>m.show),n=ct(m=>m.layout),o=ct(m=>m.iconBetweenSpacing),i=ct(m=>m.yAxisSpacing),a=ct(m=>m.xAxisSpacing),l=Pe(m=>{var v;return((v=m.elements.statusBar)==null?void 0:v.vertical)??!1});if(!e&&!an)return null;const u={gap:`${o}px`,marginBottom:`${i}px`,marginLeft:`${a}px`},f=g.jsxs("div",{style:{display:"flex",flexDirection:l?"column":"row",alignItems:"center",gap:`${o}px`},children:[g.jsx(zk,{}),g.jsx(Tk,{})]});let h;return n==="center-bottom-row"?h=g.jsx("div",{className:"absolute bottom-[0.3vw] w-[100vw]",children:g.jsx("div",{className:"static flex flex-col mx-auto",style:{width:"max-content",...u},children:f})}):n==="bottom-right-row"?h=g.jsx("div",{className:"absolute bottom-[0.3vw] right-[0.3vw] flex flex-col",style:u,children:f}):n==="left-bottom-column"?h=g.jsx("div",{className:"absolute bottom-[0.3vw] left-[1vh]",children:g.jsx("div",{className:"static flex flex-col",style:u,children:f})}):n==="right-bottom-column"?h=g.jsx("div",{className:"absolute bottom-[0.3vw] right-[1vh]",children:g.jsx("div",{className:"static flex flex-col",style:u,children:f})}):n==="top-left-row"?h=g.jsx("div",{className:"absolute top-[0.3vw] left-[0.3vw] flex flex-col",style:u,children:f}):n==="top-right-row"?h=g.jsx("div",{className:"absolute top-[0.3vw] right-[0.3vw] flex flex-col",style:u,children:f}):h=g.jsx("div",{className:"absolute bottom-[0.3vw] left-[0.3vw] flex flex-col standard-layout",style:u,children:f}),g.jsx(mt,{id:"statusBar",label:"Barra de Status",zIndex:20,canRotate:!0,children:h})}function xn({name:e,disabled:n=!1,disabledText:o="",className:i="",onClick:a}){return g.jsx(li,{disabled:n,onClick:a,className:`my-2 w-[150px] uppercase font-bold ${i}`,children:n&&o?o:e})}function ht({checked:e,primaryText:n,secondaryText:o="",onChange:i}){return g.jsxs("div",{className:`flex flex-row gap-4 py-3 cursor-pointer select-none ${o?"items-center":""}`,onClick:()=>i(!e),children:[g.jsx("div",{className:`grid place-content-center shrink-0 rounded-[0.15em] border-[0.15em] -translate-y-[0.075em] transition-colors ${e?"border-primary bg-primary":"border-primary/45 bg-card"}`,style:{width:"1.6em",height:"1.6em"},children:e&&g.jsx("svg",{viewBox:"0 0 12 12",width:"10",height:"10",fill:"none",children:g.jsx("polyline",{points:"1.5,6.5 4.5,9.5 10.5,2.5",stroke:"hsl(var(--primary-foreground))",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),o?g.jsxs("div",{className:"flex flex-col text-foreground",children:[g.jsx("span",{className:"text-[1.2em] leading-tight mb-1",children:n}),g.jsx("span",{className:"text-[1.1em] leading-tight text-muted-foreground",children:o})]}):g.jsx("span",{className:"text-[1.2em] leading-tight text-foreground",children:n})]})}function Es({checked:e,checkedText:n="",uncheckedText:o="",center:i=!1,onChange:a}){return g.jsxs("div",{className:"flex flex-row items-center pt-2 pb-4 gap-3 select-none",style:i?{justifyContent:"center"}:{},children:[g.jsx(S2,{checked:e,onCheckedChange:a,"aria-label":n||o||"toggle"}),n&&o?g.jsx("span",{className:"text-[1.2em] leading-tight text-foreground",children:e?n:o}):null]})}const fj=""+new URL("mri-logo.png",import.meta.url).href;function dj(){return g.jsx("img",{src:fj,alt:"MRI Qbox Brasil",className:"w-full h-auto object-contain rounded-lg",draggable:!1})}function pj(){const e=Wn(A=>A.translations),n=Ae(A=>A.isRestarting),o=Ae(A=>A.isOutMapChecked),i=Ae(A=>A.isOutCompassChecked),a=Ae(A=>A.isCompassFollowChecked),l=Ae(A=>A.isOpenMenuSoundsChecked),u=Ae(A=>A.isResetSoundsChecked),f=Ae(A=>A.isListSoundsChecked),h=Ae(A=>A.isMapNotifyChecked),m=Ae(A=>A.isLowFuelAlertChecked),v=Ae(A=>A.isCinematicNotifyChecked),x=Ae(A=>A.isMapEnabledChecked),b=Ae(A=>A.isToggleMapShapeChecked),C=Ae(A=>A.isShowCompassChecked),N=Ae(A=>A.isShowStreetsChecked),k=Ae(A=>A.isPointerShowChecked),j=Ae(A=>A.isCinematicModeChecked),M=Ae(A=>A.isUseMPHChecked),E=Pe(A=>A.enabled),R=Te(A=>A.dynamicIcons),z=Ae.setState,L=Te.getState;return g.jsxs("div",{className:"text-sm flex flex-col",style:{color:"hsl(var(--muted-foreground))"},children:[g.jsxs("div",{className:"mx-4 mb-5 mt-3",children:[g.jsx("div",{className:"float-right w-[25%]",children:g.jsx(dj,{})}),g.jsx("div",{className:"-mx-4 mb-4 text-xl",style:{color:"hsl(var(--foreground))"},children:g.jsx("p",{children:e.resetHud})}),g.jsx(xn,{name:e.resetHud,disabled:n,disabledText:e.resettingHud,className:"whitespace-nowrap hover:bg-red-600",onClick:()=>{$e("restartHud"),z({isRestarting:!0})}}),g.jsx("p",{className:"text-base",children:e.resetHudDescription}),g.jsx(xn,{name:e.resetSettings,className:"hover:bg-red-600",onClick:()=>{Ae.getState().resetHudMenuSetting(),Ae.getState().sendMenuSettingsToClient()}}),g.jsx("p",{className:"text-base",children:e.resetSettingsDescriptionLine1}),g.jsx("p",{className:"text-base",children:e.resetSettingsDescriptionLine2})]}),E&&g.jsxs(g.Fragment,{children:[g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),g.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:g.jsx("p",{children:e.positioningMenu})}),g.jsxs("div",{className:"mx-4 mb-4 flex flex-col gap-3",children:[g.jsxs("div",{children:[g.jsx(xn,{name:e.openPositioningMode,onClick:()=>{$e("switchToPositioningMode"),Ae.setState({show:!1}),Pe.setState({active:!0})}}),g.jsx("p",{className:"text-base",children:e.openPositioningModeDescription})]}),g.jsxs("div",{children:[g.jsx(xn,{name:e.resetAllPositions,className:"hover:bg-red-600",onClick:()=>Pe.getState().resetAll()}),g.jsx("p",{className:"text-base",children:e.resetAllPositionsDescription})]})]})]}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),g.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:g.jsx("p",{children:e.optionsMenu})}),g.jsxs("div",{className:"mx-4 mb-4 flex flex-col",children:[g.jsx(ht,{checked:o,primaryText:e.minimapVehicleCheckBoxPrimary,secondaryText:e.minimapVehicleCheckBoxSecondary,onChange:A=>{z({isOutMapChecked:A}),$e("showOutMap",{checked:A})}}),g.jsx(ht,{checked:i,primaryText:e.compassVehicleCheckBoxPrimary,secondaryText:e.compassVehicleCheckBoxSecondary,onChange:A=>{z({isOutCompassChecked:A}),$e("showOutCompass",{checked:A})}}),g.jsx(ht,{checked:a,primaryText:e.compassFollowCheckBoxPrimary,secondaryText:e.compassFollowCheckBoxSecondary,onChange:A=>{z({isCompassFollowChecked:A}),$e("showFollowCompass",{checked:A})}})]}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),g.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:g.jsx("p",{children:e.notificationsMenu})}),g.jsxs("div",{className:"mx-4 mb-4 flex flex-col",children:[g.jsx(ht,{checked:l,primaryText:e.menuSoundEffectsEnabled,onChange:A=>{z({isOpenMenuSoundsChecked:A}),$e("openMenuSounds",{checked:A})}}),g.jsx(ht,{checked:u,primaryText:e.resetSoundEffectsEnabled,onChange:A=>{z({isResetSoundsChecked:A}),$e("resetHudSounds",{checked:A})}}),g.jsx(ht,{checked:f,primaryText:e.guiSoundEffectsEnabled,onChange:A=>{z({isListSoundsChecked:A}),$e("checklistSounds",{checked:A})}}),g.jsx(ht,{checked:h,primaryText:e.mapNotificationsEnabled,onChange:A=>{z({isMapNotifyChecked:A}),$e("showMapNotif",{checked:A})}}),g.jsx(ht,{checked:m,primaryText:e.lowFuelNotificationsEnabled,onChange:A=>{z({isLowFuelAlertChecked:A}),$e("showFuelAlert",{checked:A})}}),g.jsx(ht,{checked:v,primaryText:e.cinematicModeNotificationEnabled,onChange:A=>{z({isCinematicNotifyChecked:A}),$e("showCinematicNotif",{checked:A})}})]}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),g.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:g.jsx("p",{children:e.statusMenu})}),g.jsx("div",{className:"mx-4 mb-4 flex flex-col",children:["health","armor","hunger","thirst","stress","oxygen"].map(A=>g.jsx(ht,{checked:R[A],primaryText:e[`show${A.charAt(0).toUpperCase()+A.slice(1)}Always`],onChange:D=>{L().updateShowingDynamicIcon(A,D),$e("dynamicChange")}},A))}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),g.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:g.jsx("p",{children:e.vehicleMenu})}),g.jsxs("div",{className:"mx-4 mb-4 flex flex-col",children:[g.jsx(Es,{checked:b==="circle",checkedText:e.minimapTypeCircle,uncheckedText:e.minimapTypeSquare,onChange:A=>{const D=A?"circle":"square";z({isToggleMapShapeChecked:D}),$e("ToggleMapShape",{shape:D})}}),g.jsx("p",{className:"font-semibold text-base pb-2",children:e.minimapTypeDescription}),g.jsx(Es,{checked:M,checkedText:e.metricsTypeMiles,uncheckedText:e.metricsTypeKmh,onChange:A=>{z({isUseMPHChecked:A}),$e("toggleSpeedUnit",{useMPH:A})}}),g.jsx("p",{className:"font-semibold text-base pb-2",children:e.metricsTypeDescription}),g.jsx(ht,{checked:x,primaryText:e.minimapEnabled,onChange:A=>{z({isMapEnabledChecked:A}),$e("HideMap",{checked:A})}}),g.jsx(ht,{checked:R.engine,primaryText:e.showEngineAlways,onChange:A=>{L().updateShowingDynamicIcon("engine",A),$e("dynamicChange")}}),g.jsx(ht,{checked:R.nitro,primaryText:e.showNitroAlways,onChange:A=>{L().updateShowingDynamicIcon("nitro",A),$e("dynamicChange")}})]}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),g.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:g.jsx("p",{children:e.compassMenu})}),g.jsxs("div",{className:"mx-4 mb-4 flex flex-col",children:[g.jsx(ht,{checked:C,primaryText:e.compassEnabled,secondaryText:e.compassEnabledDescription,onChange:A=>{z({isShowCompassChecked:A}),$e("showCompassBase",{checked:A})}}),g.jsx(ht,{checked:N,primaryText:e.showStreetNamesEnabled,secondaryText:e.showStreetNamesDescription,onChange:A=>{z({isShowStreetsChecked:A}),$e("showStreetsNames",{checked:A})}}),g.jsx(ht,{checked:k,primaryText:e.showCompassPointerEnabled,secondaryText:e.showCompassPointerDescription,onChange:A=>{z({isPointerShowChecked:A}),$e("showPointerIndex",{checked:A})}})]}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),g.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:g.jsx("p",{children:e.cinematicMenu})}),g.jsx("div",{className:"mx-4 mb-4 flex flex-row gap-5",children:g.jsx(ht,{checked:j,primaryText:e.showCinematicBarsEnabled,onChange:A=>{z({isCinematicModeChecked:A}),$e("cinematicMode",{checked:A})}})})]})}function Os({name:e,icon:n=null,color:o="currentColor",children:i,defaultOpen:a=!1}){const[l,u]=y.useState(a);let f=null,h=512,m=512;if(n){h=n.icon[0],m=n.icon[1];const v=n.icon[4];f=Array.isArray(v)?v[0]:v}return g.jsxs("div",{children:[g.jsxs("button",{type:"button",onClick:()=>u(v=>!v),className:"w-full flex flex-row items-center text-lg font-semibold px-3 py-3 bg-transparent border-none cursor-pointer text-left text-foreground hover:text-primary transition-colors focus:outline-none",children:[g.jsx("div",{className:"w-8 grid place-items-center shrink-0 text-muted-foreground",children:f&&g.jsx("svg",{width:"16",height:"16",viewBox:`0 0 ${h} ${m}`,children:g.jsx("path",{d:f,fill:o==="white"?"currentColor":o})})}),g.jsx("p",{className:"ml-3",children:e}),g.jsx("span",{className:"ml-auto transition-transform duration-200 text-muted-foreground",style:{transform:l?"rotate(180deg)":"rotate(0deg)",lineHeight:.5},children:g.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",stroke:"currentColor",fill:"currentColor",children:g.jsx("path",{d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})})]}),l&&g.jsx("div",{className:"pb-4",children:i})]})}function hj(e){return e.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function gs({values:e,value:n,onChange:o}){const i=e.map(a=>({label:hj(a),value:a}));return g.jsx(YC,{options:i,value:n,onChange:o,className:"w-full"})}function og(e,n,o){const i=Math.max(n,Math.min(o,e));return Math.round(i*100)/100}function Me({value:e,min:n=0,max:o=10,step:i=1,onChange:a}){function l(f){a(og(e+f*i,n,o))}function u(f){const h=f.target.value;if(h.endsWith("."))return;const m=Number(h);isNaN(m)||a(og(m,n,o))}return g.jsxs("div",{className:"flex flex-row mx-auto h-10 w-30 rounded border border-border overflow-hidden",children:[g.jsx("button",{type:"button",onClick:()=>l(-1),className:"font-semibold text-muted-foreground h-full w-8 flex bg-card border-r border-border cursor-pointer transition-colors hover:bg-muted hover:text-foreground focus:outline-none",children:g.jsx("span",{className:"mx-auto mt-[10%] text-lg font-bold",children:"-"})}),g.jsx("input",{type:"text",value:e,onChange:u,className:"w-14 p-1 text-base focus:outline-none text-center bg-background text-foreground"}),g.jsx("button",{type:"button",onClick:()=>l(1),className:"font-semibold text-muted-foreground h-full w-8 flex bg-card border-l border-border cursor-pointer transition-colors hover:bg-muted hover:text-foreground focus:outline-none",children:g.jsx("span",{className:"mx-auto mt-[10%] text-lg font-bold",children:"+"})})]})}function $r({color:e,onChange:n}){const o=e&&e!==""?e:"#3b82f6";return g.jsx("div",{className:"flex flex-col items-center mx-auto rounded-lg overflow-hidden w-[40px] h-[40px] border-2 border-border",children:g.jsx("input",{type:"color",value:o.length===9?o.slice(0,7):o,onChange:i=>n(i.target.value),className:"w-[60px] h-[60px] -translate-x-[10px] -translate-y-[10px] cursor-pointer border-none bg-transparent",title:o})})}function mj(){var l;const e=Wn(u=>u.translations),n=Te(u=>u.globalIconSettings),o=Pt(u=>u.globalColorSettings),i=Te.getState,a=Pt.getState;return g.jsxs(Os,{name:e.globalStatusIconsSettings,icon:U4,color:"white",children:[g.jsx("div",{className:"flex justify-center mb-8",children:g.jsxs("div",{className:"w-50",children:[g.jsx("p",{className:"text-lg text-center mb-2",children:e.iconShape}),g.jsx(gs,{values:sg,value:n.shape??"circle-ring",onChange:u=>{i().updateAllShapes(u),a().updateAllIconShapeEditableColor(u)}})]})}),g.jsxs("div",{className:"mx-8",children:[g.jsx("p",{className:"text-sm font-semibold uppercase",style:{color:"hsl(var(--muted-foreground))",letterSpacing:"0.06em"},children:e.globalSizeAndPositionSection}),g.jsx("hr",{className:"mb-6",style:{borderColor:"hsl(var(--border))"}})]}),g.jsxs("div",{className:"mx-4 grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-6 items-end",children:[g.jsx(Qe,{label:e.widthSize,children:g.jsx(Me,{min:1,max:200,value:n.width??50,onChange:i().updateAllWidth})}),g.jsx(Qe,{label:e.heightSize,children:g.jsx(Me,{min:1,max:200,value:n.height??50,onChange:i().updateAllHeight})}),n.ringSize!=null&&g.jsx(Qe,{label:e.ringSize,children:g.jsx(Me,{min:1,max:25,step:.5,value:n.ringSize,onChange:i().updateAllRingSize})}),n.displayOutline!=null&&g.jsx(Qe,{label:e.showProgressOutline,children:g.jsx(Es,{center:!0,checked:n.displayOutline,onChange:i().updateAllDisplayOutline})}),g.jsx(Qe,{label:e.xAxisPosition,children:g.jsx(Me,{min:-20,max:20,step:.25,value:n.translateX??0,onChange:i().updateAllTranslateX})}),g.jsx(Qe,{label:e.yAxisPosition,children:g.jsx(Me,{min:-20,max:20,step:.25,value:n.translateY??0,onChange:i().updateAllTranslateY})}),g.jsx(Qe,{label:e.rotation,children:g.jsx(Me,{min:0,max:360,value:n.rotateDegree??0,onChange:i().updateAllRotateDegree})}),g.jsx(Qe,{label:e.iconXAxisPosition,children:g.jsx(Me,{min:-10,max:10,step:.01,value:n.iconTranslateX??0,onChange:i().updateAllTranslateIconX})}),g.jsx(Qe,{label:e.iconYAxisPosition,children:g.jsx(Me,{min:-10,max:10,step:.01,value:n.iconTranslateY??0,onChange:i().updateAllTranslateIconY})}),g.jsx(Qe,{label:e.iconSize,children:g.jsx(Me,{min:0,max:3,step:.01,value:n.iconScaling??.4,onChange:i().updateAllIconScale})}),n.xAxisRound!=null&&g.jsx(Qe,{label:e.xAxisCurve,children:g.jsx(Me,{min:0,max:100,value:n.xAxisRound,onChange:i().updateAllRoundXAxis})}),n.yAxisRound!=null&&g.jsx(Qe,{label:e.yAxisCurve,children:g.jsx(Me,{min:0,max:100,value:n.yAxisRound,onChange:i().updateAllRoundYAxis})})]}),g.jsxs("div",{className:"mx-8 mt-8",children:[g.jsx("p",{className:"text-sm font-semibold uppercase",style:{color:"hsl(var(--muted-foreground))",letterSpacing:"0.06em"},children:e.globalColorSection}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}})]}),g.jsxs("div",{className:"mx-4 mt-6 mb-10 grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-6",children:[g.jsx(Qe,{label:e.progressColor,children:g.jsx($r,{color:o.progressColor,onChange:u=>a().updateAllDefaultEffectColorSetting("progressColor",u)})}),g.jsx(Qe,{label:e.progressContrast,children:g.jsx(Me,{min:0,max:300,value:o.progressContrast,onChange:u=>a().updateAllDefaultEffectColorSetting("progressContrast",u)})}),g.jsx(Qe,{label:e.progressShadow,children:g.jsx(Me,{min:0,max:20,value:o.progressDropShadowAmount,onChange:u=>a().updateAllDefaultEffectColorSetting("progressDropShadowAmount",u)})}),g.jsx(Qe,{label:e.iconColor,children:g.jsx($r,{color:o.iconColor,onChange:u=>a().updateAllDefaultEffectColorSetting("iconColor",u)})}),g.jsx(Qe,{label:e.iconContrast,children:g.jsx(Me,{min:0,max:300,value:o.iconContrast,onChange:u=>a().updateAllDefaultEffectColorSetting("iconContrast",u)})}),g.jsx(Qe,{label:e.iconShadow,children:g.jsx(Me,{min:0,max:20,value:o.iconDropShadowAmount,onChange:u=>a().updateAllDefaultEffectColorSetting("iconDropShadowAmount",u)})}),g.jsx(Qe,{label:e.outlineColor,children:g.jsx($r,{color:o.outlineColor,onChange:u=>a().updateAllDefaultEffectColorSetting("outlineColor",u)})}),g.jsx(Qe,{label:e.outlineContrast,children:g.jsx(Me,{min:0,max:300,value:o.outlineContrast,onChange:u=>a().updateAllDefaultEffectColorSetting("outlineContrast",u)})}),g.jsx(Qe,{label:e.outlineShadow,children:g.jsx(Me,{min:0,max:20,value:o.outlineDropShadowAmount,onChange:u=>a().updateAllDefaultEffectColorSetting("outlineDropShadowAmount",u)})}),((l=o.editableColors)==null?void 0:l.innerColor)&&g.jsx(Qe,{label:e.innerColor,children:g.jsx($r,{color:o.innerColor,onChange:u=>a().updateAllDefaultEffectColorSetting("innerColor",u)})})]})]})}function Qe({label:e,children:n}){return g.jsxs("div",{className:"flex flex-col mx-auto items-center",children:[g.jsx("p",{className:"text-base text-center mb-2",children:e}),n]})}const gj=["#FFFFFF","rgb(33, 171, 97)","#326dbf","#dd6e14","#1a7cad","rgb(220, 6, 6)","rgb(138, 168, 189)","rgb(255, 72, 133)","rgb(185, 255, 40)","#3FA554","rgb(182, 72, 255)","rgb(255, 72, 133)","#D64763","rgb(0, 0, 0)"];function vj(){var M;const e=Wn(E=>E.translations),n=Te(E=>E.icons),o=Pt(E=>E.icons),i=Te.getState,a=Pt.getState,[l,u]=y.useState("voice"),[f,h]=y.useState(0),m=n[l],v=o[l],x=(v==null?void 0:v.colorEffects)??[],b=x.map(E=>E.name),C=x[f]??x[0],N=bf.indexOf(l),k=gj[N]??"#FFFFFF";y.useEffect(()=>{Pt.setState(E=>({globalColorSettings:{...E.globalColorSettings,editSingleIconName:l,editSingleIconStage:f}}))},[l,f]);function j(E){u(E),h(0)}return g.jsxs(Os,{name:e.singleStatusIconSettings,color:k,children:[g.jsxs("div",{className:"flex flex-row mb-8 mt-4",children:[g.jsx("div",{className:"flex-1",children:g.jsxs("div",{className:"max-w-50 ml-8",children:[g.jsx("p",{className:"text-lg text-center mb-2",children:e.iconStatusToEdit}),g.jsx(gs,{values:[...bf],value:l,onChange:j})]})}),g.jsxs("div",{className:"w-50",children:[g.jsx("p",{className:"text-lg text-center mb-2",children:e.iconShape}),g.jsx(gs,{values:sg,value:(m==null?void 0:m.shape)??"circle-ring",onChange:E=>{i().updateIconShape(l,E),a().updateIconShapeEditableColor(l,E)}})]}),g.jsx("div",{className:"flex-1"})]}),g.jsxs("div",{className:"mx-8",children:[g.jsx("p",{className:"text-sm font-semibold uppercase",style:{color:"hsl(var(--muted-foreground))",letterSpacing:"0.06em"},children:e.singleIconSizeAndPositionSection}),g.jsx("hr",{className:"mb-6",style:{borderColor:"hsl(var(--border))"}})]}),g.jsxs("div",{className:"mx-4 grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-6 items-end",children:[g.jsx(Ze,{label:e.widthSize,children:g.jsx(Me,{min:1,max:200,value:(m==null?void 0:m.width)??50,onChange:E=>i().updateIconSetting(l,"width",E)})}),g.jsx(Ze,{label:e.heightSize,children:g.jsx(Me,{min:1,max:200,value:(m==null?void 0:m.height)??50,onChange:E=>i().updateIconSetting(l,"height",E)})}),(m==null?void 0:m.ringSize)!=null&&g.jsx(Ze,{label:e.ringSize,children:g.jsx(Me,{min:1,max:25,step:.5,value:m.ringSize,onChange:E=>i().updateIconSetting(l,"ringSize",E)})}),(m==null?void 0:m.displayOutline)!=null&&g.jsx(Ze,{label:e.showProgressOutline,children:g.jsx(Es,{center:!0,checked:m.displayOutline,onChange:E=>i().updateIconSetting(l,"displayOutline",E)})}),g.jsx(Ze,{label:e.xAxisPosition,children:g.jsx(Me,{min:-20,max:20,step:.25,value:(m==null?void 0:m.translateX)??0,onChange:E=>i().updateIconSetting(l,"translateX",E)})}),g.jsx(Ze,{label:e.yAxisPosition,children:g.jsx(Me,{min:-20,max:20,step:.25,value:(m==null?void 0:m.translateY)??0,onChange:E=>i().updateIconSetting(l,"translateY",E)})}),g.jsx(Ze,{label:e.rotation,children:g.jsx(Me,{min:0,max:360,value:(m==null?void 0:m.rotateDegree)??0,onChange:E=>i().updateIconSetting(l,"rotateDegree",E)})}),g.jsx(Ze,{label:e.iconXAxisPosition,children:g.jsx(Me,{min:-10,max:10,step:.01,value:(m==null?void 0:m.iconTranslateX)??0,onChange:E=>i().updateIconSetting(l,"iconTranslateX",E)})}),g.jsx(Ze,{label:e.iconYAxisPosition,children:g.jsx(Me,{min:-10,max:10,step:.01,value:(m==null?void 0:m.iconTranslateY)??0,onChange:E=>i().updateIconSetting(l,"iconTranslateY",E)})}),g.jsx(Ze,{label:e.iconSize,children:g.jsx(Me,{min:0,max:3,step:.01,value:(m==null?void 0:m.iconScaling)??.4,onChange:E=>i().updateIconSetting(l,"iconScaling",E)})}),(m==null?void 0:m.xAxisRound)!=null&&g.jsx(Ze,{label:e.xAxisCurve,children:g.jsx(Me,{min:0,max:100,value:m.xAxisRound,onChange:E=>i().updateIconSetting(l,"xAxisRound",E)})}),(m==null?void 0:m.yAxisRound)!=null&&g.jsx(Ze,{label:e.yAxisCurve,children:g.jsx(Me,{min:0,max:100,value:m.yAxisRound,onChange:E=>i().updateIconSetting(l,"yAxisRound",E)})})]}),g.jsxs("div",{className:"mx-8 mt-8",children:[g.jsx("p",{className:"text-sm font-semibold uppercase",style:{color:"hsl(var(--muted-foreground))",letterSpacing:"0.06em"},children:e.singleIconColorSection}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}})]}),b.length>1&&g.jsx("div",{className:"flex flex-row justify-center mt-4",children:g.jsxs("div",{className:"w-50",children:[g.jsx("p",{className:"text-lg text-center mb-2",children:e.iconState}),g.jsx(gs,{values:b,value:b[f]??b[0],onChange:E=>h(b.indexOf(E))})]})}),C&&g.jsxs("div",{className:"mx-4 mt-6 mb-10 grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-6",children:[g.jsx(Ze,{label:e.progressColor,children:g.jsx($r,{color:C.progressColor,onChange:E=>a().updateColorSetting(l,f,"progressColor",E)})}),g.jsx(Ze,{label:e.progressContrast,children:g.jsx(Me,{min:0,max:300,value:C.progressContrast,onChange:E=>a().updateColorSetting(l,f,"progressContrast",E)})}),g.jsx(Ze,{label:e.progressShadow,children:g.jsx(Me,{min:0,max:20,value:C.progressDropShadowAmount,onChange:E=>a().updateColorSetting(l,f,"progressDropShadowAmount",E)})}),g.jsx(Ze,{label:e.iconColor,children:g.jsx($r,{color:C.iconColor,onChange:E=>a().updateColorSetting(l,f,"iconColor",E)})}),g.jsx(Ze,{label:e.iconContrast,children:g.jsx(Me,{min:0,max:300,value:C.iconContrast,onChange:E=>a().updateColorSetting(l,f,"iconContrast",E)})}),g.jsx(Ze,{label:e.iconShadow,children:g.jsx(Me,{min:0,max:20,value:C.iconDropShadowAmount,onChange:E=>a().updateColorSetting(l,f,"iconDropShadowAmount",E)})}),g.jsx(Ze,{label:e.outlineColor,children:g.jsx($r,{color:C.outlineColor,onChange:E=>a().updateColorSetting(l,f,"outlineColor",E)})}),g.jsx(Ze,{label:e.outlineContrast,children:g.jsx(Me,{min:0,max:300,value:C.outlineContrast,onChange:E=>a().updateColorSetting(l,f,"outlineContrast",E)})}),g.jsx(Ze,{label:e.outlineShadow,children:g.jsx(Me,{min:0,max:20,value:C.outlineDropShadowAmount,onChange:E=>a().updateColorSetting(l,f,"outlineDropShadowAmount",E)})}),((M=v==null?void 0:v.editableColors)==null?void 0:M.innerColor)&&g.jsx(Ze,{label:e.innerColor,children:g.jsx($r,{color:C.innerColor,onChange:E=>a().updateColorSetting(l,f,"innerColor",E)})})]})]})}function Ze({label:e,children:n}){return g.jsxs("div",{className:"flex flex-col mx-auto items-center",children:[g.jsx("p",{className:"text-base text-center mb-2",children:e}),n]})}function yj(){const e=Wn(u=>u.translations),n=ct(u=>u.layout),o=ct(u=>u.iconBetweenSpacing),i=ct(u=>u.yAxisSpacing),a=ct(u=>u.xAxisSpacing),l=ct.getState;return g.jsx(Os,{name:e.globalStatusIconLayoutSettings,icon:q4,color:"white",children:g.jsxs("div",{className:"text-sm flex flex-col",style:{color:"hsl(var(--muted-foreground))"},children:[g.jsx("div",{className:"flex justify-center mb-4",children:g.jsxs("div",{className:"w-55",children:[g.jsx("p",{className:"text-lg text-center mb-2",children:e.iconLayout}),g.jsx(gs,{values:[...P4],value:n,onChange:u=>l().updateLayout(u)})]})}),g.jsxs("div",{className:"mx-4 grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-6 items-end mb-8",children:[g.jsxs("div",{children:[g.jsx("p",{className:"text-base text-center mb-2",children:e.betweenIconSpacing}),g.jsx(Me,{min:-100,max:200,value:o,onChange:u=>ct.setState({iconBetweenSpacing:u})})]}),g.jsxs("div",{children:[g.jsx("p",{className:"text-base text-center mb-2",children:e.yAxisSpacing}),g.jsx(Me,{min:-100,max:500,value:i,onChange:u=>ct.setState({yAxisSpacing:u})})]}),g.jsxs("div",{children:[g.jsx("p",{className:"text-base text-center mb-2",children:e.xAxisSpacing}),g.jsx(Me,{min:-100,max:500,value:a,onChange:u=>ct.setState({xAxisSpacing:u})})]})]})]})})}function xj(){const e=Wn(n=>n.translations);return g.jsx(Os,{name:e.utilityFunctions,icon:J4,color:"white",children:g.jsx("div",{className:"flex flex-row mx-4",children:g.jsx(xn,{name:e.copyProgressColorsToIconsColors,className:"h-15 w-55 whitespace-normal text-center",onClick:()=>Pt.getState().updateIconColorToProgressColor()})})})}function wj({value:e,onChange:n,onBlur:o}){return g.jsx(s2,{type:"text",value:e,onChange:i=>n(i.target.value),onBlur:o,autoFocus:!0,className:"text-center"})}function bj(){const e=Wn(m=>m.translations),n=Cf(m=>m.profiles),{addNewProfile:o,saveHUDToProfile:i,applyProfileToHud:a,deleteProfile:l,renameProfile:u}=Cf.getState(),[f,h]=y.useState(null);return g.jsx(Os,{name:e.customizationProfiles,icon:ug,color:"white",children:g.jsxs("div",{className:"mx-4 grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-8 items-center",children:[n.map((m,v)=>g.jsxs("div",{className:"flex flex-col justify-end items-center border-2 p-3 border-border rounded-lg my-3",children:[f===v?g.jsx(wj,{value:m.name,onChange:x=>u(v,x),onBlur:()=>h(null)}):g.jsx("p",{className:"text-xl font-semibold text-center cursor-pointer",onClick:()=>h(v),children:m.name}),g.jsx(xn,{name:e.saveHudToProfile,onClick:()=>i(v)}),g.jsx(xn,{name:e.applyProfileToHud,onClick:()=>a(v)}),g.jsx(xn,{name:e.deleteProfile,className:"hover:bg-red-600",onClick:()=>l(v)})]},v)),n.length<6&&g.jsx("div",{className:"flex flex-col",children:g.jsx(xn,{name:e.addNewProfile,className:"w-[100px]",onClick:o})})]})})}function Sj(){const e=Wn(l=>l.translations),n=Te(l=>l.designMode),o=Te(l=>l.saveUIState),i=Ae(l=>l.adminOnly),a=Ae(l=>l.isAdmin);return g.jsxs("div",{className:"text-sm flex flex-col select-none",style:{color:"hsl(var(--muted-foreground))"},children:[g.jsxs("div",{className:"my-3 flex flex-row items-center",style:{color:"hsl(var(--foreground))"},children:[g.jsx("div",{className:"flex-1 flex flex-col justify-center min-w-min",children:g.jsx("p",{className:"ml-3 p-0",children:e.statusIconsSettings})}),g.jsxs("div",{className:"text-base",children:[g.jsx("p",{children:e.designMode}),g.jsx(Es,{center:!0,checked:n,onChange:l=>Te.setState({designMode:l})})]}),g.jsxs("div",{className:"flex flex-1 min-w-min justify-end gap-2",children:[g.jsx(xn,{name:e.resetStatusIconSettings,className:"mr-5 hover:bg-red-600",onClick:()=>{Te.getState().resetPlayerStatusIcons(),Pt.getState().resetColorEffects(),ct.getState().resetLayout()}}),i&&a&&g.jsx(xn,{name:e.saveChangesToServer,disabled:o!=="ready",onClick:()=>{_g(),Te.setState({saveUIState:"updating"})}})]})]}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),g.jsx(mj,{}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),g.jsx(vj,{}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),g.jsx(yj,{}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),g.jsx(xj,{}),g.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),g.jsx(bj,{})]})}const Cj=[{key:"hud",labelKey:"generalTab",icon:r5,adminOnly:!1,content:pj},{key:"status",labelKey:"customizationTab",icon:$4,adminOnly:!0,content:Sj}];function kj(){const e=Ae(N=>N.show),n=Ae(N=>N.adminOnly),o=Ae(N=>N.isAdmin),i=Wn(N=>N.translations),[a,l]=y.useState("hud"),u=y.useRef({x:Math.round(window.innerWidth/5),y:Math.round(window.innerHeight/5)}),[f,h]=y.useState(u.current),m=y.useRef(!1),v=y.useRef({mx:0,my:0,ox:0,oy:0}),x=y.useCallback(N=>{m.current=!0,v.current={mx:N.clientX,my:N.clientY,ox:u.current.x,oy:u.current.y};const k=M=>{if(!m.current)return;const E=v.current.ox+(M.clientX-v.current.mx),R=v.current.oy+(M.clientY-v.current.my);u.current={x:E,y:R},h({x:E,y:R})},j=()=>{m.current=!1,window.removeEventListener("mousemove",k),window.removeEventListener("mouseup",j)};window.addEventListener("mousemove",k),window.addEventListener("mouseup",j)},[]);if(!e)return null;const b=Cj.filter(N=>!N.adminOnly||!n||n&&o),C=b.find(N=>N.key===a)??b[0];return g.jsxs("section",{className:"w-[60vw] h-[60vh] flex flex-col rounded-t-2xl text-foreground bg-background/95 border border-primary/25 shadow-[0_8px_32px_rgba(0,0,0,0.7)]",style:{position:"fixed",left:f.x,top:f.y,zIndex:90},children:[g.jsx("div",{className:"drag-bar rounded-t-2xl select-none bg-card/80 border-b border-primary/20",onMouseDown:x,style:{cursor:"grab"},children:g.jsx("svg",{role:"img","aria-label":"drag handle",viewBox:"0 0 24 24",height:24,width:24,className:"mx-auto text-primary/60",style:{opacity:.4},children:g.jsx("path",{fill:"currentColor",d:"M3,15V13H5V15H3M3,11V9H5V11H3M7,15V13H9V15H7M7,11V9H9V11H7M11,15V13H13V15H11M11,11V9H13V11H11M15,15V13H17V15H15M15,11V9H17V11H15M19,15V13H21V15H19M19,11V9H21V11H19Z"})})}),g.jsxs("div",{className:"flex font-semibold",style:{height:"calc(100% - 24px)"},children:[g.jsx("div",{className:"flex flex-col w-1/6 bg-card/90 border-r border-primary/20",children:b.map(N=>{const k=N.icon.icon[0],j=N.icon.icon[1],M=N.icon.icon[4],E=C.key===N.key;return g.jsxs("div",{className:`px-4 py-4 flex flex-row gap-3 cursor-pointer select-none transition-colors border-l-2 ${E?"bg-primary/15 border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,onClick:()=>l(N.key),children:[g.jsx("svg",{width:"16",height:"16",viewBox:`0 0 ${k} ${j}`,className:"shrink-0 mt-0.5",children:g.jsx("path",{d:M,fill:"currentColor"})}),g.jsx("span",{children:i[N.labelKey]})]},N.key)})}),b.map(N=>g.jsx("div",{className:"flex-col w-5/6 px-5 overflow-y-scroll bg-background/60",style:{display:C.key===N.key?"flex":"none"},children:g.jsx(N.content,{})},N.key))]})]})}function jj(){const e=At(o=>o.show),n=Pe(o=>o.elements.minimap);return y.useEffect(()=>{const o=(n==null?void 0:n.dx)??0,i=(n==null?void 0:n.dy)??0;$e("minimapPosition",{x:o/window.innerWidth,y:i/window.innerHeight})},[n==null?void 0:n.dx,n==null?void 0:n.dy]),!e&&!an?null:g.jsx(mt,{id:"minimap",label:"Minimapa",zIndex:8,children:g.jsx("div",{style:{position:"absolute",bottom:"7.9%",left:"1.3%",width:0,textAlign:"center"},children:g.jsx("div",{"aria-hidden":!0,style:{bottom:"6.30%",width:"29vh",height:"18.5vh",position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},children:an})})})}function Ej(){const e=Fr(k=>k.show),n=Fr(k=>k.heading),o=Fr(k=>k.streetName),i=Fr(k=>k.crossingRoad),a=Ae(k=>k.isShowCompassChecked),l=Ae(k=>k.isShowStreetsChecked),u=Ae(k=>k.isPointerShowChecked),f=Pe(k=>k.active),[h,m]=y.useState(n),v=y.useRef(n),x=y.useRef(0),b=y.useRef(0),C=y.useRef(n),N=y.useRef(n);return y.useEffect(()=>{const k=v.current;if(k>230&&n<-50||k<-50&&n>230){m(n),C.current=n,N.current=n,v.current=n;return}v.current=n,C.current=h,N.current=n,b.current=performance.now(),cancelAnimationFrame(x.current);const M=600;function E(R){const z=R-b.current,L=Math.min(z/M,1),A=C.current+(N.current-C.current)*L;m(A),L<1&&(x.current=requestAnimationFrame(E))}return x.current=requestAnimationFrame(E),()=>cancelAnimationFrame(x.current)},[n]),!e&&!an&&!f?null:g.jsx(mt,{id:"compassHud",label:"Bússola",zIndex:12,children:g.jsxs("div",{style:{position:"absolute",margin:"0 auto",left:0,right:0,top:"-0.8vh",width:150,height:"auto"},children:[(l||an)&&g.jsxs("div",{style:{position:"relative",top:"1.3vh",fontFamily:"Arial, Helvetica, sans-serif",fontSize:"1.4vh",letterSpacing:"0.7px",fontVariant:"small-caps",fontWeight:800,textShadow:"0 0 1px rgba(0,0,0,0.6), 0 0 1px rgba(0,0,0,0.6), 0 0 1px rgba(0,0,0,0.6), 0 0 1px rgba(0,0,0,0.6)"},children:[g.jsx("div",{style:{position:"absolute",right:"135%",whiteSpace:"nowrap",color:"rgb(255,255,255)"},children:o}),g.jsx("div",{style:{position:"absolute",left:"135%",whiteSpace:"nowrap",color:"rgb(255,255,255)"},children:i})]}),g.jsxs("div",{style:{position:"relative"},children:[u&&g.jsx("div",{style:{position:"absolute",margin:"0 auto",top:"-2%",left:0,right:0,fontFamily:"'Yantramanav', sans-serif",color:"rgb(255,255,255)",fontSize:"2.2vh",textAlign:"center",textShadow:"0 0 1px rgba(0,0,0,0.6), 0 0 1px rgba(0,0,0,0.6), 0 0 1px rgba(0,0,0,0.6), 0 0 1px rgba(0,0,0,0.6)",zIndex:1},children:"˅"}),(a||an)&&g.jsxs(g.Fragment,{children:[g.jsxs("svg",{style:{position:"relative",width:"100%",height:"2vh",fontFamily:"'Yantramanav', sans-serif",fontSize:"0.35vh",fontWeight:700},viewBox:`${h} 0 180 5`,children:[g.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"-90"}),g.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"9",x:"-45"}),g.jsx("rect",{width:"4.5",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"0"}),g.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"9",x:"45"}),g.jsx("rect",{width:"4.5",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"90"}),g.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"9",x:"135"}),g.jsx("rect",{width:"4.5",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"180"}),g.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"9",x:"225"}),g.jsx("rect",{width:"4.5",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"270"}),g.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"9",x:"315"}),g.jsx("rect",{width:"4.5",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"360"}),g.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"9",x:"405"}),g.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"450"})]}),g.jsxs("svg",{style:{position:"relative",width:"100%",top:"-0.5vh",height:"3.5vh",paddingLeft:"0.12vw",fontFamily:"Arial, Helvetica, sans-serif",fontSize:"2vh",letterSpacing:"0.7px",fontVariant:"small-caps",fontWeight:600},viewBox:`${h} 0 180 1.5`,children:[g.jsx("text",{x:"0",y:"1.5",dominantBaseline:"middle",textAnchor:"middle",fill:"yellow",children:"N"}),g.jsx("text",{x:"360",y:"1.5",dominantBaseline:"middle",textAnchor:"middle",fill:"yellow",children:"N"}),g.jsx("text",{x:"315",y:"-11",dominantBaseline:"middle",textAnchor:"middle",fill:"white",fontSize:"1.4vh",fontWeight:"800",children:"NW"}),g.jsx("text",{x:"-45",y:"-11",dominantBaseline:"middle",textAnchor:"middle",fill:"white",fontSize:"1.4vh",fontWeight:"800",children:"NW"}),g.jsx("text",{x:"45",y:"-11",dominantBaseline:"middle",textAnchor:"middle",fill:"white",fontSize:"1.4vh",fontWeight:"800",children:"NE"}),g.jsx("text",{x:"405",y:"-11",dominantBaseline:"middle",textAnchor:"middle",fill:"white",fontSize:"1.4vh",fontWeight:"800",children:"NE"}),g.jsx("text",{x:"90",y:"1.5",dominantBaseline:"middle",textAnchor:"middle",fill:"white",children:"E"}),g.jsx("text",{x:"135",y:"-11",dominantBaseline:"middle",textAnchor:"middle",fill:"white",fontSize:"1.4vh",fontWeight:"800",children:"SE"}),g.jsx("text",{x:"180",y:"1.5",dominantBaseline:"middle",textAnchor:"middle",fill:"white",children:"S"}),g.jsx("text",{x:"225",y:"-11",dominantBaseline:"middle",textAnchor:"middle",fill:"white",fontSize:"1.4vh",fontWeight:"800",children:"SW"}),g.jsx("text",{x:"270",y:"1.5",dominantBaseline:"middle",textAnchor:"middle",fill:"white",children:"W"})]})]})]})]})})}function Nj(){const e=ir(h=>h.cash),n=ir(h=>h.bank),o=ir(h=>h.show),i=ir(h=>h.showConstant),a=ir(h=>h.isPlus),l=ir(h=>h.isMinus),f={fontFamily:"'Pricedown Bl', sans-serif",textAlign:"right",textShadow:"-1px -1px 0 rgba(0,0,0,0.7), 1px -1px 0 rgba(0,0,0,0.7), -1px 1px 0 rgba(0,0,0,0.7), 1px 1px 0 rgba(0,0,0,0.7)"};return g.jsx(mt,{id:"moneyHud",label:"Dinheiro",zIndex:12,children:g.jsxs("div",{style:{position:"absolute",right:"2vw",top:"5vh",fontWeight:400,fontSize:40},children:[(o||i)&&g.jsxs("p",{children:[g.jsx("span",{style:{...f,color:"#00ac31"},children:"$ "}),g.jsx("span",{style:{...f,color:"#ffffff"},children:e})]}),(o||i)&&g.jsxs("p",{children:[g.jsx("span",{style:{...f,color:"#00ac31"},children:"$ "}),g.jsx("span",{style:{...f,color:"#00ac31"},children:n})]}),o&&a&&g.jsxs("p",{children:[g.jsx("span",{style:{...f,fontSize:50,color:"#00ac31"},children:"+ "}),g.jsx("span",{style:{...f,color:"#ffffff"},children:e})]}),o&&l&&g.jsxs("p",{children:[g.jsx("span",{style:{...f,fontSize:50,color:"#ac0000"},children:"- "}),g.jsx("span",{style:{...f,color:"#ffffff"},children:e})]})]})})}function Ln(e){return g.jsx(Ry,{...e})}function yn({style:e,children:n}){const o=y.useContext(yx);return g.jsx("div",{style:e,children:g.jsx("div",{style:{display:"inline-block",transform:o!==1?`scale(${o})`:void 0,transformOrigin:"center"},children:n})})}function Mj(e,n=120,o=.3){const[i,a]=y.useState(e),l=y.useRef(e),u=y.useRef(e),f=y.useRef(null);return u.current=e,y.useEffect(()=>{let h=0;const m=v=>{const x=f.current??v;f.current=v;const b=v-x,C=l.current,N=u.current,k=N-C,j=Math.abs(k)<=o?N:C+k*(1-Math.exp(-b/n));j!==C&&(l.current=j,a(j)),h=requestAnimationFrame(m)};return h=requestAnimationFrame(m),()=>{cancelAnimationFrame(h),f.current=null}},[n,o]),i}function Aj(){const e=At(j=>j.show),n=At(j=>j.speed),o=Mj(n,70),i=At(j=>j.fuel),a=At(j=>j.odometer),l=At(j=>j.fuelColor),u=At(j=>j.showSeatBelt),f=At(j=>j.seatbeltColor),h=At(j=>j.useMPH),m=Lr(j=>j.show),v=sr(j=>j.show),x=Pe(j=>j.active);if(!e&&!an&&!x)return null;const b=h?120:200,C=h?"mph":"km/h",N=20,k=a>0?`${a.toLocaleString("pt-BR")} ${h?"mi":"km"}`:void 0;return g.jsxs(g.Fragment,{children:[g.jsx(mt,{id:"speedometer",label:"Velocímetro",zIndex:10,children:g.jsx(yn,{style:{position:"fixed",bottom:"12.21vh",left:"17.69vw",pointerEvents:"none"},children:g.jsx(Ln,{size:140,value:o,minValue:0,maxValue:b,arcLength:75,rotation:225,majorTickInterval:N,minorTickCount:4,ringSize:5,color:"#ffffff",outlineColor:"#ffffff",outlineOpacity:.22,needleStyle:"needle",showValue:!0,unit:C,label:"SPEED",odometer:k})})}),(!m&&!v||x||an)&&g.jsx(mt,{id:"fuelgauge",label:"Combustível",zIndex:10,children:g.jsx(yn,{style:{position:"fixed",bottom:"6.44vh",left:"22.61vw",pointerEvents:"none"},children:g.jsx(Ln,{size:88,value:i,minValue:0,maxValue:100,arcLength:75,rotation:225,majorTickInterval:25,minorTickCount:1,ringSize:4,color:l,outlineColor:l,outlineOpacity:.28,needleStyle:"needle",showValue:!0,unit:"%",label:"FUEL"})})}),u&&g.jsx(mt,{id:"seatbelt",label:"Cinto",zIndex:10,canResize:!1,children:g.jsx("div",{style:{position:"fixed",bottom:"8.09vh",left:"17.91vw",pointerEvents:"none"},children:g.jsx(Pj,{color:f})})})]})}function Pj({color:e}){const n=dd,o=n.icon[4],i=n.icon[0],a=n.icon[1];return g.jsx("svg",{width:"22",height:"22",viewBox:`0 0 ${i} ${a}`,overflow:"visible",children:g.jsx("path",{d:o,fill:e,transform:"scale(1.1)"})})}function Rj({icon:e,...n}){return g.jsx(wy,{...n,icon:e?Oy(e):null})}function Ij({cfg:e,value:n,icon:o}){const i=Pe(B=>B.active),a=Pe(B=>B.permissions.dynamicGauges),l=Pe(B=>B.gaugeOverrides[e.id]),u=Pe(B=>B.setGaugePosition),f=Pe(B=>B.setGaugeVisibility),h=Pe(B=>B.rescaleGauge),m=Pe(B=>B.resetGauge),v=(a==null?void 0:a.canMove)??!0,x=(a==null?void 0:a.canHide)??!0,b=(a==null?void 0:a.canResize)??!0,C=(l==null?void 0:l.isShowing)!==!1,N=(l==null?void 0:l.x)!=null||(l==null?void 0:l.y)!=null,k=(l==null?void 0:l.scale)??1,j=Math.round(e.size*k),M=Math.abs(k-1)>.005,[E,R]=y.useState(null),[z,L]=y.useState(!1),A=y.useRef({startMouseX:0,startMouseY:0,startCfgX:0,startCfgY:0}),D=(l==null?void 0:l.x)??e.x,F=(l==null?void 0:l.y)??e.y,W=(E==null?void 0:E.x)??D,J=(E==null?void 0:E.y)??F,oe=y.useCallback(B=>{B.preventDefault(),B.stopPropagation(),A.current={startMouseX:B.clientX,startMouseY:B.clientY,startCfgX:D,startCfgY:F},L(!0);const de=j/2+10,ie=de/window.innerWidth*100,ue=100-ie,ae=de/window.innerHeight*100,fe=100-ae,U=(_,I)=>({x:Math.max(ie,Math.min(ue,_)),y:Math.max(ae,Math.min(fe,I))}),Q=_=>{const I=A.current.startCfgX+(_.clientX-A.current.startMouseX)/window.innerWidth*100,G=A.current.startCfgY+(_.clientY-A.current.startMouseY)/window.innerHeight*100;R(U(I,G))},Z=_=>{const I=A.current.startCfgX+(_.clientX-A.current.startMouseX)/window.innerWidth*100,G=A.current.startCfgY+(_.clientY-A.current.startMouseY)/window.innerHeight*100,ee=U(I,G);u(e.id,ee.x,ee.y),R(null),L(!1),window.removeEventListener("mousemove",Q),window.removeEventListener("mouseup",Z)};window.addEventListener("mousemove",Q),window.addEventListener("mouseup",Z)},[e.id,e.size,D,F,u]);return!C&&!i?null:g.jsxs("div",{style:{position:"fixed",left:`${W}vw`,top:`${J}vh`,transform:"translate(-50%, -50%)",pointerEvents:"none",zIndex:20,opacity:!C&&i?.35:1,userSelect:"none"},children:[z&&g.jsx("div",{style:{position:"absolute",inset:-6,borderRadius:"50%",border:"2px solid hsl(var(--primary))",boxShadow:"0 0 12px hsl(var(--primary) / 0.5), inset 0 0 8px hsl(var(--primary) / 0.15)",pointerEvents:"none"}}),e.style==="analog"?g.jsx(Ln,{size:j,value:n,minValue:e.minValue??0,maxValue:e.maxValue,arcLength:e.arcLength,rotation:e.rotation,majorTickInterval:e.majorTickInterval??Math.ceil(e.maxValue/5),minorTickCount:e.minorTickCount??4,ringSize:e.ringSize,color:z?"hsl(var(--primary))":e.color,outlineColor:z?"hsl(var(--primary))":e.outlineColor,outlineOpacity:e.outlineOpacity,needleStyle:e.needleStyle??"needle",showValue:e.showValue,unit:e.unit,label:e.label}):g.jsx(Rj,{height:j,width:j,progressValue:n,maxProgressValue:e.maxValue,maxLengthDisplay:e.arcLength,rotateDegree:e.rotation,ringSize:e.ringSize,progressColor:z?"hsl(var(--primary))":e.color,outlineColor:z?"hsl(var(--primary))":e.outlineColor,outlineColorOpacity:e.outlineOpacity,displayOutline:!0,icon:o,iconColor:z?"hsl(var(--primary))":e.color,iconScaling:.38,text:e.showValue?e.label??"":"",displayNumber:e.showValue?Math.round(n):0}),i&&v&&g.jsx("div",{style:{position:"absolute",left:0,top:0,width:j,height:j,borderRadius:"50%",pointerEvents:"auto",cursor:z?"grabbing":"grab",zIndex:9997},onMouseDown:oe}),i&&(v||x)&&g.jsxs("div",{style:{position:"absolute",left:j/2,top:j+8,transform:"translate(-50%, 0)",display:"flex",alignItems:"center",gap:5,background:z?"hsl(var(--primary) / 0.22)":"hsl(var(--card))",border:`1px solid ${z?"hsl(var(--primary))":"hsl(var(--border))"}`,borderRadius:7,padding:"3px 8px",color:"white",fontSize:11,fontWeight:600,whiteSpace:"nowrap",boxShadow:z?"0 0 10px hsl(var(--primary) / 0.4), 0 2px 8px rgba(0,0,0,0.5)":"0 2px 8px rgba(0,0,0,0.5)",pointerEvents:"auto",cursor:"default",zIndex:9999,opacity:z?.5:1,transition:"background 0.1s, border-color 0.1s, opacity 0.1s"},children:[v&&g.jsx(ar,{icon:kg,style:{color:z?"hsl(var(--foreground))":"hsl(var(--muted-foreground))",fontSize:10}}),g.jsx("span",{style:{color:z?"hsl(var(--primary))":"hsl(var(--muted-foreground))"},children:e.label??e.id}),x&&g.jsx("button",{style:{background:"none",border:"none",color:"rgba(255,255,255,0.75)",cursor:"pointer",padding:"0 2px",lineHeight:1},title:C?"Ocultar":"Mostrar",onMouseDown:B=>B.stopPropagation(),onClick:()=>f(e.id,!C),children:g.jsx(ar,{icon:C?cg:pg,style:{fontSize:11}})}),b&&g.jsxs(g.Fragment,{children:[g.jsx("button",{style:{background:"none",border:"none",color:"rgba(255,255,255,0.7)",cursor:"pointer",padding:"0 2px",lineHeight:1},title:"Diminuir",onMouseDown:B=>B.stopPropagation(),onClick:()=>h(e.id,k/1.1),children:g.jsx(ar,{icon:yg,style:{fontSize:10}})}),g.jsxs("span",{style:{color:M?"hsl(var(--foreground))":"hsl(var(--muted-foreground) / 0.5)",fontSize:10,minWidth:28,textAlign:"center",userSelect:"none"},children:[Math.round(k*100),"%"]}),g.jsx("button",{style:{background:"none",border:"none",color:"rgba(255,255,255,0.7)",cursor:"pointer",padding:"0 2px",lineHeight:1},title:"Aumentar",onMouseDown:B=>B.stopPropagation(),onClick:()=>h(e.id,k*1.1),children:g.jsx(ar,{icon:Cg,style:{fontSize:10}})})]}),v&&(N||M)&&g.jsx("button",{style:{background:"none",border:"none",color:"hsl(var(--destructive))",cursor:"pointer",padding:"0 2px",lineHeight:1},title:"Resetar posição",onMouseDown:B=>B.stopPropagation(),onClick:()=>m(e.id),children:g.jsx(ar,{icon:dg,style:{fontSize:11}})})]})]})}function zj(){const e=fo(i=>i.configs),n=fo(i=>i.runtime),o=Object.values(e);return o.length?g.jsx(g.Fragment,{children:o.map(i=>{var a;return g.jsx(Ij,{cfg:i,value:((a=n[i.id])==null?void 0:a.value)??0,icon:Lf(i.iconName)},i.id)})}):null}function Oj(e){return g.jsx(Iy,{...e})}function _j(){const e=sr(x=>x.show),n=sr(x=>x.airspeed),o=sr(x=>x.altitude),i=sr(x=>x.verticalSpeed),a=sr(x=>x.pitch),l=sr(x=>x.roll),u=At(x=>x.fuel),f=At(x=>x.fuelColor),h=Pe(x=>x.active);if(!e&&!h)return null;const m=(o%1e3+1e3)%1e3,v=Math.floor(o/1e3);return g.jsxs(g.Fragment,{children:[g.jsx(mt,{id:"aircraftHorizon",label:"Horizonte",zIndex:15,children:g.jsx(yn,{style:{position:"fixed",bottom:"2.16vh",left:"43.43vw",pointerEvents:"none"},children:g.jsx(Oj,{size:160,pitch:a,roll:l})})}),g.jsx(mt,{id:"aircraftAsi",label:"Velocidade",zIndex:15,children:g.jsx(yn,{style:{position:"fixed",bottom:"2vh",left:"52vw",pointerEvents:"none"},children:g.jsx(Ln,{size:120,value:n,minValue:0,maxValue:400,arcLength:75,rotation:225,majorTickInterval:50,minorTickCount:4,ringSize:5,color:"#00cfff",outlineColor:"#00cfff",outlineOpacity:.25,needleStyle:"needle",showValue:!0,unit:"km/h",label:"SPEED"})})}),g.jsx(mt,{id:"aircraftAlt",label:"Altímetro",zIndex:15,children:g.jsx(yn,{style:{position:"fixed",bottom:"2vh",left:"37vw",pointerEvents:"none"},children:g.jsx(Ln,{size:120,value:m,minValue:0,maxValue:1e3,arcLength:100,rotation:0,majorTickInterval:100,minorTickCount:4,ringSize:5,color:"#f59e0b",outlineColor:"#f59e0b",outlineOpacity:.25,needleStyle:"needle",showValue:!0,unit:"m",label:v>0?`ALT +${v}K`:"ALT"})})}),g.jsx(mt,{id:"aircraftVsi",label:"Vel.Vertical",zIndex:15,children:g.jsx(yn,{style:{position:"fixed",bottom:"2vh",left:"32vw",pointerEvents:"none"},children:g.jsx(Ln,{size:100,value:i,minValue:-30,maxValue:30,arcLength:75,rotation:225,majorTickInterval:10,minorTickCount:1,ringSize:5,color:"#a78bfa",outlineColor:"#a78bfa",outlineOpacity:.25,needleStyle:"needle",showValue:!0,unit:"m/s",label:"VSI"})})}),g.jsx(mt,{id:"aircraftFuel",label:"Combustível",zIndex:15,children:g.jsx(yn,{style:{position:"fixed",bottom:"2vh",left:"58vw",pointerEvents:"none"},children:g.jsx(Ln,{size:88,value:u,minValue:0,maxValue:100,arcLength:75,rotation:225,majorTickInterval:25,minorTickCount:1,ringSize:4,color:f,outlineColor:f,outlineOpacity:.28,needleStyle:"needle",showValue:!0,unit:"%",label:"FUEL"})})})]})}function Dj(e){return g.jsx(zy,{...e})}function Tj(){const e=Lr(u=>u.show),n=Lr(u=>u.speedKnots),o=Lr(u=>u.rpm),i=Lr(u=>u.pitch),a=Lr(u=>u.roll),l=Pe(u=>u.active);return!e&&!l?null:g.jsxs(g.Fragment,{children:[g.jsx(mt,{id:"marineHeel",label:"Escora",zIndex:15,children:g.jsx(yn,{style:{position:"fixed",bottom:"4.5vh",right:"21vw",pointerEvents:"none"},children:g.jsx(Dj,{size:130,roll:a})})}),g.jsx(mt,{id:"marineSpeed",label:"Velocidade",zIndex:15,children:g.jsx(yn,{style:{position:"fixed",bottom:"4.5vh",right:"14vw",pointerEvents:"none"},children:g.jsx(Ln,{size:120,value:n,minValue:0,maxValue:50,arcLength:75,rotation:225,majorTickInterval:10,minorTickCount:1,ringSize:5,color:"#38bdf8",outlineColor:"#38bdf8",outlineOpacity:.25,needleStyle:"needle",showValue:!0,unit:"kn",label:"SPEED"})})}),g.jsx(mt,{id:"marineRpm",label:"RPM",zIndex:15,children:g.jsx(yn,{style:{position:"fixed",bottom:"4.5vh",right:"8vw",pointerEvents:"none"},children:g.jsx(Ln,{size:110,value:o,minValue:0,maxValue:100,arcLength:75,rotation:225,majorTickInterval:25,minorTickCount:1,ringSize:5,color:"#34d399",outlineColor:"#34d399",outlineOpacity:.25,needleStyle:"needle",showValue:!0,unit:"%",label:"RPM"})})}),g.jsx(mt,{id:"marineTrim",label:"Trim",zIndex:15,children:g.jsx(yn,{style:{position:"fixed",bottom:"4.5vh",right:"2vw",pointerEvents:"none"},children:g.jsx(Ln,{size:100,value:i,minValue:-20,maxValue:20,arcLength:75,rotation:225,majorTickInterval:10,minorTickCount:1,ringSize:5,color:"#fb923c",outlineColor:"#fb923c",outlineOpacity:.25,needleStyle:"needle",showValue:!0,unit:"°",label:"TRIM"})})})]})}function Lj(){const e=Pe(l=>l.active),n=Pe(l=>l.toggle),o=Pe(l=>l.resetAll),i=Wn(l=>l.translations);function a(){$e("closePositioningMode"),n()}return e?g.jsxs(g.Fragment,{children:[g.jsx("div",{style:{position:"fixed",inset:0,zIndex:30,pointerEvents:"none",backgroundImage:` +}`;function Ax(){const e=Sx,n=Cx,r=ve.cssPrefix,i=ve.replacementClass;let a=h9;if(r!==e||i!==n){const l=new RegExp("\\.".concat(e,"\\-"),"g"),u=new RegExp("\\--".concat(e,"\\-"),"g"),d=new RegExp("\\.".concat(n),"g");a=a.replace(l,".".concat(r,"-")).replace(u,"--".concat(r,"-")).replace(d,".".concat(i))}return a}let tg=!1;function Ed(){ve.autoAddCss&&!tg&&(c9(Ax()),tg=!0)}var m9={mixout(){return{dom:{css:Ax,insertCss:Ed}}},hooks(){return{beforeDOMElementCreation(){Ed()},beforeI2svg(){Ed()}}}};const gr=qr||{};gr[mr]||(gr[mr]={});gr[mr].styles||(gr[mr].styles={});gr[mr].hooks||(gr[mr].hooks={});gr[mr].shims||(gr[mr].shims=[]);var Vn=gr[mr];const Px=[],Rx=function(){Ue.removeEventListener("DOMContentLoaded",Rx),_l=1,Px.map(e=>e())};let _l=!1;yr&&(_l=(Ue.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(Ue.readyState),_l||Ue.addEventListener("DOMContentLoaded",Rx));function g9(e){yr&&(_l?setTimeout(e,0):Px.push(e))}function Ws(e){const{tag:n,attributes:r={},children:i=[]}=e;return typeof e=="string"?Mx(e):"<".concat(n," ").concat(d9(r),">").concat(i.map(Ws).join(""),"")}function ng(e,n,r){if(e&&e[n]&&e[n][r])return{prefix:n,iconName:r,icon:e[n][r]}}var Nd=function(n,r,i,a){var l=Object.keys(n),u=l.length,d=r,h,m,y;for(i===void 0?(h=1,y=n[l[0]]):(h=0,y=i);h=55296&&a<=56319&&r=55296&&i<=56319&&r>n+1&&(a=e.charCodeAt(n+1),a>=56320&&a<=57343)?(i-55296)*1024+a-56320+65536:i}function rg(e){return Object.keys(e).reduce((n,r)=>{const i=e[r];return!!i.icon?n[i.iconName]=i.icon:n[r]=i,n},{})}function lf(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{skipHooks:i=!1}=r,a=rg(n);typeof Vn.hooks.addPack=="function"&&!i?Vn.hooks.addPack(e,rg(n)):Vn.styles[e]=te(te({},Vn.styles[e]||{}),a),e==="fas"&&lf("fa",n)}const{styles:Ds,shims:x9}=Vn,Ix=Object.keys(v0),w9=Ix.reduce((e,n)=>(e[n]=Object.keys(v0[n]),e),{});let b0=null,zx={},Ox={},Tx={},_x={},Dx={};function b9(e){return~i9.indexOf(e)}function S9(e,n){const r=n.split("-"),i=r[0],a=r.slice(1).join("-");return i===e&&a!==""&&!b9(a)?a:null}const Lx=()=>{const e=i=>Nd(Ds,(a,l,u)=>(a[u]=Nd(l,i,{}),a),{});zx=e((i,a,l)=>(a[3]&&(i[a[3]]=l),a[2]&&a[2].filter(d=>typeof d=="number").forEach(d=>{i[d.toString(16)]=l}),i)),Ox=e((i,a,l)=>(i[l]=l,a[2]&&a[2].filter(d=>typeof d=="string").forEach(d=>{i[d]=l}),i)),Dx=e((i,a,l)=>{const u=a[2];return i[l]=l,u.forEach(d=>{i[d]=l}),i});const n="far"in Ds||ve.autoFetchSvg,r=Nd(x9,(i,a)=>{const l=a[0];let u=a[1];const d=a[2];return u==="far"&&!n&&(u="fas"),typeof l=="string"&&(i.names[l]={prefix:u,iconName:d}),typeof l=="number"&&(i.unicodes[l.toString(16)]={prefix:u,iconName:d}),i},{names:{},unicodes:{}});Tx=r.names,_x=r.unicodes,b0=rc(ve.styleDefault,{family:ve.familyDefault})};l9(e=>{b0=rc(e.styleDefault,{family:ve.familyDefault})});Lx();function S0(e,n){return(zx[e]||{})[n]}function C9(e,n){return(Ox[e]||{})[n]}function ko(e,n){return(Dx[e]||{})[n]}function Fx(e){return Tx[e]||{prefix:null,iconName:null}}function k9(e){const n=_x[e],r=S0("fas",e);return n||(r?{prefix:"fas",iconName:r}:null)||{prefix:null,iconName:null}}function Qr(){return b0}const $x=()=>({prefix:null,iconName:null,rest:[]});function j9(e){let n=Et;const r=Ix.reduce((i,a)=>(i[a]="".concat(ve.cssPrefix,"-").concat(a),i),{});return wx.forEach(i=>{(e.includes(r[i])||e.some(a=>w9[i].includes(a)))&&(n=i)}),n}function rc(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{family:r=Et}=n,i=e9[r][e];if(r===tc&&!e)return"fad";const a=eg[r][e]||eg[r][i],l=e in Vn.styles?e:null;return a||l||null}function E9(e){let n=[],r=null;return e.forEach(i=>{const a=S9(ve.cssPrefix,i);a?r=a:i&&n.push(i)}),{iconName:r,rest:n}}function og(e){return e.sort().filter((n,r,i)=>i.indexOf(n)===r)}function oc(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{skipLookups:r=!1}=n;let i=null;const a=ef.concat(V7),l=og(e.filter(x=>a.includes(x))),u=og(e.filter(x=>!ef.includes(x))),d=l.filter(x=>(i=x,!xx.includes(x))),[h=null]=d,m=j9(l),y=te(te({},E9(u)),{},{prefix:rc(h,{family:m})});return te(te(te({},y),P9({values:e,family:m,styles:Ds,config:ve,canonical:y,givenPrefix:i})),N9(r,i,y))}function N9(e,n,r){let{prefix:i,iconName:a}=r;if(e||!i||!a)return{prefix:i,iconName:a};const l=n==="fa"?Fx(a):{},u=ko(i,a);return a=l.iconName||u||a,i=l.prefix||i,i==="far"&&!Ds.far&&Ds.fas&&!ve.autoFetchSvg&&(i="fas"),{prefix:i,iconName:a}}const M9=wx.filter(e=>e!==Et||e!==tc),A9=Object.keys(Zd).filter(e=>e!==Et).map(e=>Object.keys(Zd[e])).flat();function P9(e){const{values:n,family:r,canonical:i,givenPrefix:a="",styles:l={},config:u={}}=e,d=r===tc,h=n.includes("fa-duotone")||n.includes("fad"),m=u.familyDefault==="duotone",y=i.prefix==="fad"||i.prefix==="fa-duotone";if(!d&&(h||m||y)&&(i.prefix="fad"),(n.includes("fa-brands")||n.includes("fab"))&&(i.prefix="fab"),!i.prefix&&M9.includes(r)&&(Object.keys(l).find(b=>A9.includes(b))||u.autoFetchSvg)){const b=O7.get(r).defaultShortPrefixId;i.prefix=b,i.iconName=ko(i.prefix,i.iconName)||i.iconName}return(i.prefix==="fa"||a==="fa")&&(i.prefix=Qr()||"fas"),i}class R9{constructor(){this.definitions={}}add(){for(var n=arguments.length,r=new Array(n),i=0;i{this.definitions[l]=te(te({},this.definitions[l]||{}),a[l]),lf(l,a[l]);const u=v0[Et][l];u&&lf(u,a[l]),Lx()})}reset(){this.definitions={}}_pullDefinitions(n,r){const i=r.prefix&&r.iconName&&r.icon?{0:r}:r;return Object.keys(i).map(a=>{const{prefix:l,iconName:u,icon:d}=i[a],h=d[2];n[l]||(n[l]={}),h.length>0&&h.forEach(m=>{typeof m=="string"&&(n[l][m]=d)}),n[l][u]=d}),n}}let ig=[],di={};const yi={},I9=Object.keys(yi);function z9(e,n){let{mixoutsTo:r}=n;return ig=e,di={},Object.keys(yi).forEach(i=>{I9.indexOf(i)===-1&&delete yi[i]}),ig.forEach(i=>{const a=i.mixout?i.mixout():{};if(Object.keys(a).forEach(l=>{typeof a[l]=="function"&&(r[l]=a[l]),typeof a[l]=="object"&&Object.keys(a[l]).forEach(u=>{r[l]||(r[l]={}),r[l][u]=a[l][u]})}),i.hooks){const l=i.hooks();Object.keys(l).forEach(u=>{di[u]||(di[u]=[]),di[u].push(l[u])})}i.provides&&i.provides(yi)}),r}function cf(e,n){for(var r=arguments.length,i=new Array(r>2?r-2:0),a=2;a{n=u.apply(null,[n,...i])}),n}function Ro(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{l.apply(null,r)})}function Jr(){const e=arguments[0],n=Array.prototype.slice.call(arguments,1);return yi[e]?yi[e].apply(null,n):void 0}function uf(e){e.prefix==="fa"&&(e.prefix="fas");let{iconName:n}=e;const r=e.prefix||Qr();if(n)return n=ko(r,n)||n,ng(Hx.definitions,r,n)||ng(Vn.styles,r,n)}const Hx=new R9,O9=()=>{ve.autoReplaceSvg=!1,ve.observeMutations=!1,Ro("noAuto")},T9={i2svg:function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return yr?(Ro("beforeI2svg",e),Jr("pseudoElements2svg",e),Jr("i2svg",e)):Promise.reject(new Error("Operation requires a DOM of some kind."))},watch:function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:n}=e;ve.autoReplaceSvg===!1&&(ve.autoReplaceSvg=!0),ve.observeMutations=!0,g9(()=>{D9({autoReplaceSvgRoot:n}),Ro("watch",e)})}},_9={icon:e=>{if(e===null)return null;if(typeof e=="object"&&e.prefix&&e.iconName)return{prefix:e.prefix,iconName:ko(e.prefix,e.iconName)||e.iconName};if(Array.isArray(e)&&e.length===2){const n=e[1].indexOf("fa-")===0?e[1].slice(3):e[1],r=rc(e[0]);return{prefix:r,iconName:ko(r,n)||n}}if(typeof e=="string"&&(e.indexOf("".concat(ve.cssPrefix,"-"))>-1||e.match(t9))){const n=oc(e.split(" "),{skipLookups:!0});return{prefix:n.prefix||Qr(),iconName:ko(n.prefix,n.iconName)||n.iconName}}if(typeof e=="string"){const n=Qr();return{prefix:n,iconName:ko(n,e)||e}}}},tn={noAuto:O9,config:ve,dom:T9,parse:_9,library:Hx,findIconDefinition:uf,toHtml:Ws},D9=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:n=Ue}=e;(Object.keys(Vn.styles).length>0||ve.autoFetchSvg)&&yr&&ve.autoReplaceSvg&&tn.dom.i2svg({node:n})};function ic(e,n){return Object.defineProperty(e,"abstract",{get:n}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(r=>Ws(r))}}),Object.defineProperty(e,"node",{get:function(){if(!yr)return;const r=Ue.createElement("div");return r.innerHTML=e.html,r.children}}),e}function L9(e){let{children:n,main:r,mask:i,attributes:a,styles:l,transform:u}=e;if(w0(u)&&r.found&&!i.found){const{width:d,height:h}=r,m={x:d/h/2,y:.5};a.style=nc(te(te({},l),{},{"transform-origin":"".concat(m.x+u.x/16,"em ").concat(m.y+u.y/16,"em")}))}return[{tag:"svg",attributes:a,children:n}]}function F9(e){let{prefix:n,iconName:r,children:i,attributes:a,symbol:l}=e;const u=l===!0?"".concat(n,"-").concat(ve.cssPrefix,"-").concat(r):l;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:te(te({},a),{},{id:u}),children:i}]}]}function C0(e){const{icons:{main:n,mask:r},prefix:i,iconName:a,transform:l,symbol:u,title:d,maskId:h,titleId:m,extra:y,watchable:x=!1}=e,{width:b,height:C}=r.found?r:n,N=F7.includes(i),E=[ve.replacementClass,a?"".concat(ve.cssPrefix,"-").concat(a):""].filter(L=>y.classes.indexOf(L)===-1).filter(L=>L!==""||!!L).concat(y.classes).join(" ");let j={children:[],attributes:te(te({},y.attributes),{},{"data-prefix":i,"data-icon":a,class:E,role:y.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(b," ").concat(C)})};const A=N&&!~y.classes.indexOf("fa-fw")?{width:"".concat(b/C*16*.0625,"em")}:{};x&&(j.attributes[Po]=""),d&&(j.children.push({tag:"title",attributes:{id:j.attributes["aria-labelledby"]||"title-".concat(m||_s())},children:[d]}),delete j.attributes.title);const k=te(te({},j),{},{prefix:i,iconName:a,main:n,mask:r,maskId:h,transform:l,symbol:u,styles:te(te({},A),y.styles)}),{children:M,attributes:P}=r.found&&n.found?Jr("generateAbstractMask",k)||{children:[],attributes:{}}:Jr("generateAbstractIcon",k)||{children:[],attributes:{}};return k.children=M,k.attributes=P,u?F9(k):L9(k)}function sg(e){const{content:n,width:r,height:i,transform:a,title:l,extra:u,watchable:d=!1}=e,h=te(te(te({},u.attributes),l?{title:l}:{}),{},{class:u.classes.join(" ")});d&&(h[Po]="");const m=te({},u.styles);w0(a)&&(m.transform=p9({transform:a,startCentered:!0,width:r,height:i}),m["-webkit-transform"]=m.transform);const y=nc(m);y.length>0&&(h.style=y);const x=[];return x.push({tag:"span",attributes:h,children:[n]}),l&&x.push({tag:"span",attributes:{class:"sr-only"},children:[l]}),x}function $9(e){const{content:n,title:r,extra:i}=e,a=te(te(te({},i.attributes),r?{title:r}:{}),{},{class:i.classes.join(" ")}),l=nc(i.styles);l.length>0&&(a.style=l);const u=[];return u.push({tag:"span",attributes:a,children:[n]}),r&&u.push({tag:"span",attributes:{class:"sr-only"},children:[r]}),u}const{styles:Md}=Vn;function df(e){const n=e[0],r=e[1],[i]=e.slice(4);let a=null;return Array.isArray(i)?a={tag:"g",attributes:{class:"".concat(ve.cssPrefix,"-").concat(jd.GROUP)},children:[{tag:"path",attributes:{class:"".concat(ve.cssPrefix,"-").concat(jd.SECONDARY),fill:"currentColor",d:i[0]}},{tag:"path",attributes:{class:"".concat(ve.cssPrefix,"-").concat(jd.PRIMARY),fill:"currentColor",d:i[1]}}]}:a={tag:"path",attributes:{fill:"currentColor",d:i}},{found:!0,width:n,height:r,icon:a}}const H9={found:!1,width:512,height:512};function V9(e,n){!kx&&!ve.showMissingIcons&&e&&console.error('Icon with name "'.concat(e,'" and prefix "').concat(n,'" is missing.'))}function ff(e,n){let r=n;return n==="fa"&&ve.styleDefault!==null&&(n=Qr()),new Promise((i,a)=>{if(r==="fa"){const l=Fx(e)||{};e=l.iconName||e,n=l.prefix||n}if(e&&n&&Md[n]&&Md[n][e]){const l=Md[n][e];return i(df(l))}V9(e,n),i(te(te({},H9),{},{icon:ve.showMissingIcons&&e?Jr("missingIconAbstract")||{}:{}}))})}const ag=()=>{},pf=ve.measurePerformance&&fl&&fl.mark&&fl.measure?fl:{mark:ag,measure:ag},Cs='FA "6.7.2"',B9=e=>(pf.mark("".concat(Cs," ").concat(e," begins")),()=>Vx(e)),Vx=e=>{pf.mark("".concat(Cs," ").concat(e," ends")),pf.measure("".concat(Cs," ").concat(e),"".concat(Cs," ").concat(e," begins"),"".concat(Cs," ").concat(e," ends"))};var k0={begin:B9,end:Vx};const wl=()=>{};function lg(e){return typeof(e.getAttribute?e.getAttribute(Po):null)=="string"}function W9(e){const n=e.getAttribute?e.getAttribute(g0):null,r=e.getAttribute?e.getAttribute(y0):null;return n&&r}function U9(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(ve.replacementClass)}function Y9(){return ve.autoReplaceSvg===!0?bl.replace:bl[ve.autoReplaceSvg]||bl.replace}function X9(e){return Ue.createElementNS("http://www.w3.org/2000/svg",e)}function G9(e){return Ue.createElement(e)}function Bx(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{ceFn:r=e.tag==="svg"?X9:G9}=n;if(typeof e=="string")return Ue.createTextNode(e);const i=r(e.tag);return Object.keys(e.attributes||[]).forEach(function(l){i.setAttribute(l,e.attributes[l])}),(e.children||[]).forEach(function(l){i.appendChild(Bx(l,{ceFn:r}))}),i}function K9(e){let n=" ".concat(e.outerHTML," ");return n="".concat(n,"Font Awesome fontawesome.com "),n}const bl={replace:function(e){const n=e[0];if(n.parentNode)if(e[1].forEach(r=>{n.parentNode.insertBefore(Bx(r),n)}),n.getAttribute(Po)===null&&ve.keepOriginalSource){let r=Ue.createComment(K9(n));n.parentNode.replaceChild(r,n)}else n.remove()},nest:function(e){const n=e[0],r=e[1];if(~x0(n).indexOf(ve.replacementClass))return bl.replace(e);const i=new RegExp("".concat(ve.cssPrefix,"-.*"));if(delete r[0].attributes.id,r[0].attributes.class){const l=r[0].attributes.class.split(" ").reduce((u,d)=>(d===ve.replacementClass||d.match(i)?u.toSvg.push(d):u.toNode.push(d),u),{toNode:[],toSvg:[]});r[0].attributes.class=l.toSvg.join(" "),l.toNode.length===0?n.removeAttribute("class"):n.setAttribute("class",l.toNode.join(" "))}const a=r.map(l=>Ws(l)).join(` +`);n.setAttribute(Po,""),n.innerHTML=a}};function cg(e){e()}function Wx(e,n){const r=typeof n=="function"?n:wl;if(e.length===0)r();else{let i=cg;ve.mutateApproach===J7&&(i=qr.requestAnimationFrame||cg),i(()=>{const a=Y9(),l=k0.begin("mutate");e.map(a),l(),r()})}}let j0=!1;function Ux(){j0=!0}function hf(){j0=!1}let Dl=null;function ug(e){if(!q1||!ve.observeMutations)return;const{treeCallback:n=wl,nodeCallback:r=wl,pseudoElementsCallback:i=wl,observeMutationsRoot:a=Ue}=e;Dl=new q1(l=>{if(j0)return;const u=Qr();Ni(l).forEach(d=>{if(d.type==="childList"&&d.addedNodes.length>0&&!lg(d.addedNodes[0])&&(ve.searchPseudoElements&&i(d.target),n(d.target)),d.type==="attributes"&&d.target.parentNode&&ve.searchPseudoElements&&i(d.target.parentNode),d.type==="attributes"&&lg(d.target)&&~o9.indexOf(d.attributeName))if(d.attributeName==="class"&&W9(d.target)){const{prefix:h,iconName:m}=oc(x0(d.target));d.target.setAttribute(g0,h||u),m&&d.target.setAttribute(y0,m)}else U9(d.target)&&r(d.target)})}),yr&&Dl.observe(a,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}function q9(){Dl&&Dl.disconnect()}function Q9(e){const n=e.getAttribute("style");let r=[];return n&&(r=n.split(";").reduce((i,a)=>{const l=a.split(":"),u=l[0],d=l.slice(1);return u&&d.length>0&&(i[u]=d.join(":").trim()),i},{})),r}function J9(e){const n=e.getAttribute("data-prefix"),r=e.getAttribute("data-icon"),i=e.innerText!==void 0?e.innerText.trim():"";let a=oc(x0(e));return a.prefix||(a.prefix=Qr()),n&&r&&(a.prefix=n,a.iconName=r),a.iconName&&a.prefix||(a.prefix&&i.length>0&&(a.iconName=C9(a.prefix,e.innerText)||S0(a.prefix,af(e.innerText))),!a.iconName&&ve.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(a.iconName=e.firstChild.data)),a}function Z9(e){const n=Ni(e.attributes).reduce((a,l)=>(a.name!=="class"&&a.name!=="style"&&(a[l.name]=l.value),a),{}),r=e.getAttribute("title"),i=e.getAttribute("data-fa-title-id");return ve.autoA11y&&(r?n["aria-labelledby"]="".concat(ve.replacementClass,"-title-").concat(i||_s()):(n["aria-hidden"]="true",n.focusable="false")),n}function ej(){return{iconName:null,title:null,titleId:null,prefix:null,transform:Hn,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function dg(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0};const{iconName:r,prefix:i,rest:a}=J9(e),l=Z9(e),u=cf("parseNodeAttributes",{},e);let d=n.styleParser?Q9(e):[];return te({iconName:r,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:i,transform:Hn,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:a,styles:d,attributes:l}},u)}const{styles:tj}=Vn;function Yx(e){const n=ve.autoReplaceSvg==="nest"?dg(e,{styleParser:!1}):dg(e);return~n.extra.classes.indexOf(Ex)?Jr("generateLayersText",e,n):Jr("generateSvgReplacementMutation",e,n)}function nj(){return[..._7,...ef]}function fg(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!yr)return Promise.resolve();const r=Ue.documentElement.classList,i=y=>r.add("".concat(Z1,"-").concat(y)),a=y=>r.remove("".concat(Z1,"-").concat(y)),l=ve.autoFetchSvg?nj():xx.concat(Object.keys(tj));l.includes("fa")||l.push("fa");const u=[".".concat(Ex,":not([").concat(Po,"])")].concat(l.map(y=>".".concat(y,":not([").concat(Po,"])"))).join(", ");if(u.length===0)return Promise.resolve();let d=[];try{d=Ni(e.querySelectorAll(u))}catch{}if(d.length>0)i("pending"),a("complete");else return Promise.resolve();const h=k0.begin("onTree"),m=d.reduce((y,x)=>{try{const b=Yx(x);b&&y.push(b)}catch(b){kx||b.name==="MissingIcon"&&console.error(b)}return y},[]);return new Promise((y,x)=>{Promise.all(m).then(b=>{Wx(b,()=>{i("active"),i("complete"),a("pending"),typeof n=="function"&&n(),h(),y()})}).catch(b=>{h(),x(b)})})}function rj(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;Yx(e).then(r=>{r&&Wx([r],n)})}function oj(e){return function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=(n||{}).icon?n:uf(n||{});let{mask:a}=r;return a&&(a=(a||{}).icon?a:uf(a||{})),e(i,te(te({},r),{},{mask:a}))}}const ij=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:r=Hn,symbol:i=!1,mask:a=null,maskId:l=null,title:u=null,titleId:d=null,classes:h=[],attributes:m={},styles:y={}}=n;if(!e)return;const{prefix:x,iconName:b,icon:C}=e;return ic(te({type:"icon"},e),()=>(Ro("beforeDOMElementCreation",{iconDefinition:e,params:n}),ve.autoA11y&&(u?m["aria-labelledby"]="".concat(ve.replacementClass,"-title-").concat(d||_s()):(m["aria-hidden"]="true",m.focusable="false")),C0({icons:{main:df(C),mask:a?df(a.icon):{found:!1,width:null,height:null,icon:{}}},prefix:x,iconName:b,transform:te(te({},Hn),r),symbol:i,title:u,maskId:l,titleId:d,extra:{attributes:m,styles:y,classes:h}})))};var sj={mixout(){return{icon:oj(ij)}},hooks(){return{mutationObserverCallbacks(e){return e.treeCallback=fg,e.nodeCallback=rj,e}}},provides(e){e.i2svg=function(n){const{node:r=Ue,callback:i=()=>{}}=n;return fg(r,i)},e.generateSvgReplacementMutation=function(n,r){const{iconName:i,title:a,titleId:l,prefix:u,transform:d,symbol:h,mask:m,maskId:y,extra:x}=r;return new Promise((b,C)=>{Promise.all([ff(i,u),m.iconName?ff(m.iconName,m.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(N=>{let[E,j]=N;b([n,C0({icons:{main:E,mask:j},prefix:u,iconName:i,transform:d,symbol:h,maskId:y,title:a,titleId:l,extra:x,watchable:!0})])}).catch(C)})},e.generateAbstractIcon=function(n){let{children:r,attributes:i,main:a,transform:l,styles:u}=n;const d=nc(u);d.length>0&&(i.style=d);let h;return w0(l)&&(h=Jr("generateAbstractTransformGrouping",{main:a,transform:l,containerWidth:a.width,iconWidth:a.width})),r.push(h||a.icon),{children:r,attributes:i}}}},aj={mixout(){return{layer(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{classes:r=[]}=n;return ic({type:"layer"},()=>{Ro("beforeDOMElementCreation",{assembler:e,params:n});let i=[];return e(a=>{Array.isArray(a)?a.map(l=>{i=i.concat(l.abstract)}):i=i.concat(a.abstract)}),[{tag:"span",attributes:{class:["".concat(ve.cssPrefix,"-layers"),...r].join(" ")},children:i}]})}}}},lj={mixout(){return{counter(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{title:r=null,classes:i=[],attributes:a={},styles:l={}}=n;return ic({type:"counter",content:e},()=>(Ro("beforeDOMElementCreation",{content:e,params:n}),$9({content:e.toString(),title:r,extra:{attributes:a,styles:l,classes:["".concat(ve.cssPrefix,"-layers-counter"),...i]}})))}}}},cj={mixout(){return{text(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:r=Hn,title:i=null,classes:a=[],attributes:l={},styles:u={}}=n;return ic({type:"text",content:e},()=>(Ro("beforeDOMElementCreation",{content:e,params:n}),sg({content:e,transform:te(te({},Hn),r),title:i,extra:{attributes:l,styles:u,classes:["".concat(ve.cssPrefix,"-layers-text"),...a]}})))}}},provides(e){e.generateLayersText=function(n,r){const{title:i,transform:a,extra:l}=r;let u=null,d=null;if(yx){const h=parseInt(getComputedStyle(n).fontSize,10),m=n.getBoundingClientRect();u=m.width/h,d=m.height/h}return ve.autoA11y&&!i&&(l.attributes["aria-hidden"]="true"),Promise.resolve([n,sg({content:n.innerHTML,width:u,height:d,transform:a,title:i,extra:l,watchable:!0})])}}};const uj=new RegExp('"',"ug"),pg=[1105920,1112319],hg=te(te(te(te({},{FontAwesome:{normal:"fas",400:"fas"}}),z7),q7),B7),mf=Object.keys(hg).reduce((e,n)=>(e[n.toLowerCase()]=hg[n],e),{}),dj=Object.keys(mf).reduce((e,n)=>{const r=mf[n];return e[n]=r[900]||[...Object.entries(r)][0][1],e},{});function fj(e){const n=e.replace(uj,""),r=v9(n,0),i=r>=pg[0]&&r<=pg[1],a=n.length===2?n[0]===n[1]:!1;return{value:af(a?n[0]:n),isSecondary:i||a}}function pj(e,n){const r=e.replace(/^['"]|['"]$/g,"").toLowerCase(),i=parseInt(n),a=isNaN(i)?"normal":i;return(mf[r]||{})[a]||dj[r]}function mg(e,n){const r="".concat(Q7).concat(n.replace(":","-"));return new Promise((i,a)=>{if(e.getAttribute(r)!==null)return i();const u=Ni(e.children).filter(b=>b.getAttribute(nf)===n)[0],d=qr.getComputedStyle(e,n),h=d.getPropertyValue("font-family"),m=h.match(n9),y=d.getPropertyValue("font-weight"),x=d.getPropertyValue("content");if(u&&!m)return e.removeChild(u),i();if(m&&x!=="none"&&x!==""){const b=d.getPropertyValue("content");let C=pj(h,y);const{value:N,isSecondary:E}=fj(b),j=m[0].startsWith("FontAwesome");let A=S0(C,N),k=A;if(j){const M=k9(N);M.iconName&&M.prefix&&(A=M.iconName,C=M.prefix)}if(A&&!E&&(!u||u.getAttribute(g0)!==C||u.getAttribute(y0)!==k)){e.setAttribute(r,k),u&&e.removeChild(u);const M=ej(),{extra:P}=M;P.attributes[nf]=n,ff(A,C).then(L=>{const H=C0(te(te({},M),{},{icons:{main:L,mask:$x()},prefix:C,iconName:k,extra:P,watchable:!0})),_=Ue.createElementNS("http://www.w3.org/2000/svg","svg");n==="::before"?e.insertBefore(_,e.firstChild):e.appendChild(_),_.outerHTML=H.map(F=>Ws(F)).join(` +`),e.removeAttribute(r),i()}).catch(a)}else i()}else i()})}function hj(e){return Promise.all([mg(e,"::before"),mg(e,"::after")])}function mj(e){return e.parentNode!==document.head&&!~Z7.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(nf)&&(!e.parentNode||e.parentNode.tagName!=="svg")}function gg(e){if(yr)return new Promise((n,r)=>{const i=Ni(e.querySelectorAll("*")).filter(mj).map(hj),a=k0.begin("searchPseudoElements");Ux(),Promise.all(i).then(()=>{a(),hf(),n()}).catch(()=>{a(),hf(),r()})})}var gj={hooks(){return{mutationObserverCallbacks(e){return e.pseudoElementsCallback=gg,e}}},provides(e){e.pseudoElements2svg=function(n){const{node:r=Ue}=n;ve.searchPseudoElements&&gg(r)}}};let yg=!1;var yj={mixout(){return{dom:{unwatch(){Ux(),yg=!0}}}},hooks(){return{bootstrap(){ug(cf("mutationObserverCallbacks",{}))},noAuto(){q9()},watch(e){const{observeMutationsRoot:n}=e;yg?hf():ug(cf("mutationObserverCallbacks",{observeMutationsRoot:n}))}}}};const vg=e=>{let n={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e.toLowerCase().split(" ").reduce((r,i)=>{const a=i.toLowerCase().split("-"),l=a[0];let u=a.slice(1).join("-");if(l&&u==="h")return r.flipX=!0,r;if(l&&u==="v")return r.flipY=!0,r;if(u=parseFloat(u),isNaN(u))return r;switch(l){case"grow":r.size=r.size+u;break;case"shrink":r.size=r.size-u;break;case"left":r.x=r.x-u;break;case"right":r.x=r.x+u;break;case"up":r.y=r.y-u;break;case"down":r.y=r.y+u;break;case"rotate":r.rotate=r.rotate+u;break}return r},n)};var vj={mixout(){return{parse:{transform:e=>vg(e)}}},hooks(){return{parseNodeAttributes(e,n){const r=n.getAttribute("data-fa-transform");return r&&(e.transform=vg(r)),e}}},provides(e){e.generateAbstractTransformGrouping=function(n){let{main:r,transform:i,containerWidth:a,iconWidth:l}=n;const u={transform:"translate(".concat(a/2," 256)")},d="translate(".concat(i.x*32,", ").concat(i.y*32,") "),h="scale(".concat(i.size/16*(i.flipX?-1:1),", ").concat(i.size/16*(i.flipY?-1:1),") "),m="rotate(".concat(i.rotate," 0 0)"),y={transform:"".concat(d," ").concat(h," ").concat(m)},x={transform:"translate(".concat(l/2*-1," -256)")},b={outer:u,inner:y,path:x};return{tag:"g",attributes:te({},b.outer),children:[{tag:"g",attributes:te({},b.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:te(te({},r.icon.attributes),b.path)}]}]}}}};const Ad={x:0,y:0,width:"100%",height:"100%"};function xg(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||n)&&(e.attributes.fill="black"),e}function xj(e){return e.tag==="g"?e.children:[e]}var wj={hooks(){return{parseNodeAttributes(e,n){const r=n.getAttribute("data-fa-mask"),i=r?oc(r.split(" ").map(a=>a.trim())):$x();return i.prefix||(i.prefix=Qr()),e.mask=i,e.maskId=n.getAttribute("data-fa-mask-id"),e}}},provides(e){e.generateAbstractMask=function(n){let{children:r,attributes:i,main:a,mask:l,maskId:u,transform:d}=n;const{width:h,icon:m}=a,{width:y,icon:x}=l,b=f9({transform:d,containerWidth:y,iconWidth:h}),C={tag:"rect",attributes:te(te({},Ad),{},{fill:"white"})},N=m.children?{children:m.children.map(xg)}:{},E={tag:"g",attributes:te({},b.inner),children:[xg(te({tag:m.tag,attributes:te(te({},m.attributes),b.path)},N))]},j={tag:"g",attributes:te({},b.outer),children:[E]},A="mask-".concat(u||_s()),k="clip-".concat(u||_s()),M={tag:"mask",attributes:te(te({},Ad),{},{id:A,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[C,j]},P={tag:"defs",children:[{tag:"clipPath",attributes:{id:k},children:xj(x)},M]};return r.push(P,{tag:"rect",attributes:te({fill:"currentColor","clip-path":"url(#".concat(k,")"),mask:"url(#".concat(A,")")},Ad)}),{children:r,attributes:i}}}},bj={provides(e){let n=!1;qr.matchMedia&&(n=qr.matchMedia("(prefers-reduced-motion: reduce)").matches),e.missingIconAbstract=function(){const r=[],i={fill:"currentColor"},a={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};r.push({tag:"path",attributes:te(te({},i),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});const l=te(te({},a),{},{attributeName:"opacity"}),u={tag:"circle",attributes:te(te({},i),{},{cx:"256",cy:"364",r:"28"}),children:[]};return n||u.children.push({tag:"animate",attributes:te(te({},a),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:te(te({},l),{},{values:"1;0;1;1;0;1;"})}),r.push(u),r.push({tag:"path",attributes:te(te({},i),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:n?[]:[{tag:"animate",attributes:te(te({},l),{},{values:"1;0;0;0;0;1;"})}]}),n||r.push({tag:"path",attributes:te(te({},i),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:te(te({},l),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:r}}}},Sj={hooks(){return{parseNodeAttributes(e,n){const r=n.getAttribute("data-fa-symbol"),i=r===null?!1:r===""?!0:r;return e.symbol=i,e}}}},Cj=[m9,sj,aj,lj,cj,gj,yj,vj,wj,bj,Sj];z9(Cj,{mixoutsTo:tn});tn.noAuto;tn.config;tn.library;tn.dom;const gf=tn.parse;tn.findIconDefinition;tn.toHtml;const kj=tn.icon;tn.layer;tn.text;tn.counter;var Pd={exports:{}},Rd,wg;function jj(){if(wg)return Rd;wg=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Rd=e,Rd}var Id,bg;function Ej(){if(bg)return Id;bg=1;var e=jj();function n(){}function r(){}return r.resetWarningCache=n,Id=function(){function i(u,d,h,m,y,x){if(x!==e){var b=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw b.name="Invariant Violation",b}}i.isRequired=i;function a(){return i}var l={array:i,bigint:i,bool:i,func:i,number:i,object:i,string:i,symbol:i,any:i,arrayOf:a,element:i,elementType:i,instanceOf:a,node:i,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:r,resetWarningCache:n};return l.PropTypes=l,l},Id}var Sg;function Nj(){return Sg||(Sg=1,Pd.exports=Ej()()),Pd.exports}var Mj=Nj();const je=Fl(Mj);var Aj={};function yf(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);rj}for(var A=0;A2&&arguments[2]!==void 0?arguments[2]:{};if(typeof n=="string")return n;var i=(n.children||[]).map(function(h){return Kx(e,h)}),a=Object.keys(n.attributes||{}).reduce(function(h,m){var y=n.attributes[m];switch(m){case"class":h.attrs.className=y,delete n.attributes.class;break;case"style":h.attrs.style=Xj(y);break;default:m.indexOf("aria-")===0||m.indexOf("data-")===0?h.attrs[m.toLowerCase()]=y:h.attrs[Gx(m)]=y}return h},{attrs:{}}),l=r.style,u=l===void 0?{}:l,d=_j(r,Uj);return a.attrs.style=Ln(Ln({},a.attrs.style),u),e.apply(void 0,[n.tag,Ln(Ln({},a.attrs),d)].concat(vf(i)))}var qx=!1;try{qx=!0}catch{}function Gj(){if(!qx&&console&&typeof console.error=="function"){var e;(e=console).error.apply(e,arguments)}}function jg(e){if(e&&Ll(e)==="object"&&e.prefix&&e.iconName&&e.icon)return e;if(gf.icon)return gf.icon(e);if(e===null)return null;if(e&&Ll(e)==="object"&&e.prefix&&e.iconName)return e;if(Array.isArray(e)&&e.length===2)return{prefix:e[0],iconName:e[1]};if(typeof e=="string")return{prefix:"fas",iconName:e}}function zd(e,n){return Array.isArray(n)&&n.length>0||!Array.isArray(n)&&n?Vr({},e,n):{}}var Eg={border:!1,className:"",mask:null,maskId:null,fixedWidth:!1,inverse:!1,flip:!1,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,rotateBy:!1,size:null,spin:!1,spinPulse:!1,spinReverse:!1,beat:!1,fade:!1,beatFade:!1,bounce:!1,shake:!1,symbol:!1,title:"",titleId:null,transform:null,swapOpacity:!1,widthAuto:!1},dr=ke.forwardRef(function(e,n){var r=Ln(Ln({},Eg),e),i=r.icon,a=r.mask,l=r.symbol,u=r.className,d=r.title,h=r.titleId,m=r.maskId,y=jg(i),x=zd("classes",[].concat(vf(Vj(r)),vf((u||"").split(" ")))),b=zd("transform",typeof r.transform=="string"?gf.transform(r.transform):r.transform),C=zd("mask",jg(a)),N=kj(y,Ln(Ln(Ln(Ln({},x),b),C),{},{symbol:l,title:d,titleId:h,maskId:m}));if(!N)return Gj("Could not find icon",y),null;var E=N.abstract,j={ref:n};return Object.keys(r).forEach(function(A){Eg.hasOwnProperty(A)||(j[A]=r[A])}),Kj(E[0],j)});dr.displayName="FontAwesomeIcon";dr.propTypes={beat:je.bool,border:je.bool,beatFade:je.bool,bounce:je.bool,className:je.string,fade:je.bool,flash:je.bool,mask:je.oneOfType([je.object,je.array,je.string]),maskId:je.string,fixedWidth:je.bool,inverse:je.bool,flip:je.oneOf([!0,!1,"horizontal","vertical","both"]),icon:je.oneOfType([je.object,je.array,je.string]),listItem:je.bool,pull:je.oneOf(["right","left"]),pulse:je.bool,rotation:je.oneOf([0,90,180,270]),rotateBy:je.bool,shake:je.bool,size:je.oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:je.bool,spinPulse:je.bool,spinReverse:je.bool,symbol:je.oneOfType([je.bool,je.string]),title:je.string,titleId:je.string,transform:je.oneOfType([je.string,je.object]),swapOpacity:je.bool,widthAuto:je.bool};var Kj=Kx.bind(null,ke.createElement);const Qx=v.createContext(1);function lt({id:e,label:n,zIndex:r=10,canRotate:i=!1,canResize:a=!0,children:l}){const u=Pe(z=>z.active),d=Pe(z=>z.elements[e]),h=Pe(z=>z.move),m=Pe(z=>z.toggleHidden),y=Pe(z=>z.toggleVertical),x=Pe(z=>z.rescale),b=Pe(z=>z.reset),C=Pe(z=>z.permissions[e]),N=(C==null?void 0:C.canMove)??!0,E=(C==null?void 0:C.canHide)??!0,j=a&&((C==null?void 0:C.canResize)??!0),A=(d==null?void 0:d.dx)??0,k=(d==null?void 0:d.dy)??0,M=(d==null?void 0:d.hidden)??!1,P=(d==null?void 0:d.vertical)??!1,L=(d==null?void 0:d.scale)??1,[H,_]=v.useState(!1),[F,W]=v.useState(null),Z=v.useRef({startX:0,startY:0,startDx:0,startDy:0}),ie=v.useRef({minDx:-1/0,maxDx:1/0,minDy:-1/0,maxDy:1/0}),U=v.useRef(null),de=v.useRef(null),se=v.useRef(A),ce=v.useRef(k);se.current=A,ce.current=k;const ae=20;v.useLayoutEffect(()=>{if(!u||!U.current)return;const z=U.current,K=de.current;let ee=1/0,Q=1/0,ne=-1/0,le=-1/0;for(const he of Array.from(z.querySelectorAll("*"))){if(K&&(he===K||K.contains(he))||he instanceof SVGElement&&!(he instanceof SVGSVGElement))continue;const fe=he.getBoundingClientRect();fe.width===0&&fe.height===0||(ee=Math.min(ee,fe.left),Q=Math.min(Q,fe.top),ne=Math.max(ne,fe.right),le=Math.max(le,fe.bottom))}if(ee!==1/0){const he=se.current,fe=ce.current;W({l:ee-he,t:Q-fe,r:ne-he,b:le-fe})}return()=>W(null)},[u]);const oe=v.useCallback(z=>{z.preventDefault(),z.stopPropagation();const K=U.current;if(K){const ne=de.current;let le=1/0,he=1/0,fe=-1/0,Ie=-1/0;for(const Le of Array.from(K.querySelectorAll("*"))){if(ne&&(Le===ne||ne.contains(Le))||Le instanceof SVGElement&&!(Le instanceof SVGSVGElement))continue;const vt=Le.getBoundingClientRect();vt.width===0&&vt.height===0||(le=Math.min(le,vt.left),he=Math.min(he,vt.top),fe=Math.max(fe,vt.right),Ie=Math.max(Ie,vt.bottom))}le!==1/0&&(ie.current={minDx:ae-le+A,maxDx:window.innerWidth-ae-fe+A,minDy:ae-he+k,maxDy:window.innerHeight-ae-Ie+k})}Z.current={startX:z.clientX,startY:z.clientY,startDx:A,startDy:k},_(!0);const ee=ne=>{const{minDx:le,maxDx:he,minDy:fe,maxDy:Ie}=ie.current,Le=Math.max(le,Math.min(he,Z.current.startDx+ne.clientX-Z.current.startX)),vt=Math.max(fe,Math.min(Ie,Z.current.startDy+ne.clientY-Z.current.startY));h(e,Le,vt)},Q=()=>{_(!1),window.removeEventListener("mousemove",ee),window.removeEventListener("mouseup",Q)};window.addEventListener("mousemove",ee),window.addEventListener("mouseup",Q)},[A,k,e,h]);if(M&&!u)return null;const Y=A!==0||k!==0,I=Math.abs(L-1)>.005,q=Y?`translate(${A}px, ${k}px)`:void 0,T=F?{x:(F.l+F.r)/2,y:(F.t+F.b)/2}:null;return p.jsxs("div",{ref:U,style:{position:"fixed",inset:0,overflow:"visible",pointerEvents:"none",zIndex:r,transform:q,opacity:M?.3:1},children:[p.jsx(Qx.Provider,{value:L,children:l}),u&&F&&N&&p.jsx("div",{style:{position:"absolute",left:F.l,top:F.t,width:F.r-F.l,height:F.b-F.t,pointerEvents:"auto",cursor:H?"grabbing":"grab",zIndex:9997},onMouseDown:oe}),H&&F&&p.jsx("div",{style:{position:"absolute",left:F.l-6,top:F.t-6,width:F.r-F.l+12,height:F.b-F.t+12,border:"2px solid hsl(var(--primary))",boxShadow:"0 0 12px hsl(var(--primary) / 0.5), inset 0 0 8px hsl(var(--primary) / 0.15)",borderRadius:6,pointerEvents:"none",zIndex:9998}}),u&&F&&T&&(N||E||j)&&p.jsxs("div",{ref:de,style:{position:"absolute",left:T.x,top:F.b+8,transform:"translate(-50%, 0)",pointerEvents:"auto",display:"flex",alignItems:"center",gap:6,background:H?"hsl(var(--primary) / 0.22)":"hsl(var(--card))",border:`1px solid ${H?"hsl(var(--primary))":"hsl(var(--border))"}`,borderRadius:8,padding:"4px 8px",color:"white",fontSize:12,fontWeight:600,userSelect:"none",boxShadow:H?"0 0 10px hsl(var(--primary) / 0.4), 0 2px 8px rgba(0,0,0,0.5)":"0 2px 8px rgba(0,0,0,0.5)",cursor:N?H?"grabbing":"grab":"default",zIndex:9999,whiteSpace:"nowrap",opacity:H?.5:1,transition:"background 0.1s, border-color 0.1s, opacity 0.1s"},onMouseDown:N?oe:void 0,children:[N&&p.jsx(dr,{icon:qg,style:{color:H?"hsl(var(--foreground))":"hsl(var(--muted-foreground))",fontSize:11,flexShrink:0}}),p.jsx("span",{style:{color:H?"hsl(var(--primary))":"hsl(var(--muted-foreground))",letterSpacing:"0.04em"},children:n}),E&&p.jsx(ws,{title:M?"Mostrar":"Ocultar",onClick:()=>m(e),icon:M?Fg:Tg}),N&&i&&p.jsx(ws,{title:P?"Horizontal":"Vertical",onClick:()=>y(e),icon:Y4,color:P?"rgba(167,243,208,0.9)":"rgba(255,255,255,0.55)"}),j&&p.jsxs(p.Fragment,{children:[p.jsx(ws,{title:"Diminuir",onClick:()=>x(e,L/1.1),icon:Wg,color:"rgba(255,255,255,0.7)"}),p.jsxs("span",{style:{color:I?"hsl(var(--foreground))":"hsl(var(--muted-foreground) / 0.5)",fontSize:10,minWidth:28,textAlign:"center",userSelect:"none"},children:[Math.round(L*100),"%"]}),p.jsx(ws,{title:"Aumentar",onClick:()=>x(e,L*1.1),icon:Kg,color:"rgba(255,255,255,0.7)"})]}),N&&(Y||I)&&p.jsx(ws,{title:"Resetar posição",onClick:()=>b(e),icon:Lg,color:"hsl(var(--destructive))"})]})]})}function ws({title:e,onClick:n,icon:r,color:i="rgba(255,255,255,0.8)"}){return p.jsx("button",{style:{background:"none",border:"none",color:i,cursor:"pointer",padding:"0 2px",lineHeight:1,flexShrink:0},title:e,onMouseDown:a=>a.stopPropagation(),onClick:a=>{a.stopPropagation(),n()},children:p.jsx(dr,{icon:r,style:{fontSize:12}})})}function qj(){const e=Oe(m=>m.show),n=pt(m=>m.layout),r=pt(m=>m.iconBetweenSpacing),i=pt(m=>m.yAxisSpacing),a=pt(m=>m.xAxisSpacing),l=Pe(m=>{var y;return((y=m.elements.statusBar)==null?void 0:y.vertical)??!1});if(!e&&!zt)return null;const u={gap:`${r}px`,marginBottom:`${i}px`,marginLeft:`${a}px`},d=p.jsxs("div",{style:{display:"flex",flexDirection:l?"column":"row",alignItems:"center",gap:`${r}px`},children:[p.jsx(x7,{}),p.jsx(C7,{})]});let h;return n==="center-bottom-row"?h=p.jsx("div",{className:"absolute bottom-[0.3vw] w-[100vw]",children:p.jsx("div",{className:"static flex flex-col mx-auto",style:{width:"max-content",...u},children:d})}):n==="bottom-right-row"?h=p.jsx("div",{className:"absolute bottom-[0.3vw] right-[0.3vw] flex flex-col",style:u,children:d}):n==="left-bottom-column"?h=p.jsx("div",{className:"absolute bottom-[0.3vw] left-[1vh]",children:p.jsx("div",{className:"static flex flex-col",style:u,children:d})}):n==="right-bottom-column"?h=p.jsx("div",{className:"absolute bottom-[0.3vw] right-[1vh]",children:p.jsx("div",{className:"static flex flex-col",style:u,children:d})}):n==="top-left-row"?h=p.jsx("div",{className:"absolute top-[0.3vw] left-[0.3vw] flex flex-col",style:u,children:d}):n==="top-right-row"?h=p.jsx("div",{className:"absolute top-[0.3vw] right-[0.3vw] flex flex-col",style:u,children:d}):h=p.jsx("div",{className:"absolute bottom-[0.3vw] left-[0.3vw] flex flex-col standard-layout",style:u,children:d}),p.jsx(lt,{id:"statusBar",label:"Barra de Status",zIndex:20,canRotate:!0,children:h})}function Cn({name:e,disabled:n=!1,disabledText:r="",className:i="",onClick:a}){return p.jsx(xi,{disabled:n,onClick:a,className:`my-2 w-[150px] uppercase font-bold ${i}`,children:n&&r?r:e})}function ft({checked:e,primaryText:n,secondaryText:r="",onChange:i}){return p.jsxs("div",{className:`flex flex-row gap-4 py-3 cursor-pointer select-none ${r?"items-center":""}`,onClick:()=>i(!e),children:[p.jsx("div",{className:`grid place-content-center shrink-0 rounded-[0.15em] border-[0.15em] -translate-y-[0.075em] transition-colors ${e?"border-primary bg-primary":"border-primary/45 bg-card"}`,style:{width:"1.6em",height:"1.6em"},children:e&&p.jsx("svg",{viewBox:"0 0 12 12",width:"10",height:"10",fill:"none",children:p.jsx("polyline",{points:"1.5,6.5 4.5,9.5 10.5,2.5",stroke:"hsl(var(--primary-foreground))",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),r?p.jsxs("div",{className:"flex flex-col text-foreground",children:[p.jsx("span",{className:"text-[1.2em] leading-tight mb-1",children:n}),p.jsx("span",{className:"text-[1.1em] leading-tight text-muted-foreground",children:r})]}):p.jsx("span",{className:"text-[1.2em] leading-tight text-foreground",children:n})]})}function jo({checked:e,checkedText:n="",uncheckedText:r="",center:i=!1,onChange:a}){return p.jsxs("div",{className:"flex flex-row items-center pt-2 pb-4 gap-3 select-none",style:i?{justifyContent:"center"}:{},children:[p.jsx(ty,{checked:e,onCheckedChange:a,"aria-label":n||r||"toggle"}),n&&r?p.jsx("span",{className:"text-[1.2em] leading-tight text-foreground",children:e?n:r}):null]})}function Qj(e){return e.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Ur({values:e,value:n,onChange:r}){const i=e.map(a=>({label:Qj(a),value:a}));return p.jsx(Rk,{options:i,value:n,onChange:r,className:"w-full"})}const Jj=""+new URL("mri-logo.png",import.meta.url).href;function Zj(){return p.jsx("img",{src:Jj,alt:"MRI Qbox Brasil",className:"w-full h-auto object-contain rounded-lg",draggable:!1})}function eE(){const e=Gn(I=>I.translations),n=Me(I=>I.isRestarting),r=Me(I=>I.isOutMapChecked),i=Me(I=>I.isOutCompassChecked),a=Me(I=>I.isCompassFollowChecked),l=Me(I=>I.isOpenMenuSoundsChecked),u=Me(I=>I.isResetSoundsChecked),d=Me(I=>I.isListSoundsChecked),h=Me(I=>I.isMapNotifyChecked),m=Me(I=>I.isLowFuelAlertChecked),y=Me(I=>I.isCinematicNotifyChecked),x=Me(I=>I.isMapEnabledChecked),b=Me(I=>I.isToggleMapShapeChecked),C=Me(I=>I.isShowCompassChecked),N=Me(I=>I.isShowStreetsChecked),E=Me(I=>I.isPointerShowChecked),j=Me(I=>I.isCinematicModeChecked),A=Me(I=>I.isUseMPHChecked),k=Pe(I=>I.enabled),M=Me(I=>I.isAdmin),P=fr(I=>I.theme),L=fr(I=>I.variant),H=fr(I=>I.setTheme),_=fr(I=>I.setVariant),F=Kt(I=>I.skin),W=Kt(I=>I.palette),Z=Kt(I=>I.vitalStyle),ie=Kt(I=>I.frameless),U=Kt(I=>I.setSkin),de=Kt(I=>I.setPalette),se=Kt(I=>I.setVitalStyle),ce=Kt(I=>I.setFrameless),ae=Oe(I=>I.dynamicIcons),oe=Me.setState,Y=Oe.getState;return p.jsxs("div",{className:"text-sm flex flex-col",style:{color:"hsl(var(--muted-foreground))"},children:[p.jsxs("div",{className:"mx-4 mb-5 mt-3",children:[p.jsx("div",{className:"float-right w-[25%]",children:p.jsx(Zj,{})}),p.jsx("div",{className:"-mx-4 mb-4 text-xl",style:{color:"hsl(var(--foreground))"},children:p.jsx("p",{children:e.resetHud})}),p.jsx(Cn,{name:e.resetHud,disabled:n,disabledText:e.resettingHud,className:"whitespace-nowrap hover:bg-red-600",onClick:()=>{$e("restartHud"),oe({isRestarting:!0})}}),p.jsx("p",{className:"text-base",children:e.resetHudDescription}),p.jsx(Cn,{name:e.resetSettings,className:"hover:bg-red-600",onClick:()=>{Me.getState().resetHudMenuSetting(),Me.getState().sendMenuSettingsToClient()}}),p.jsx("p",{className:"text-base",children:e.resetSettingsDescriptionLine1}),p.jsx("p",{className:"text-base",children:e.resetSettingsDescriptionLine2})]}),k&&p.jsxs(p.Fragment,{children:[p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:p.jsx("p",{children:e.positioningMenu})}),p.jsxs("div",{className:"mx-4 mb-4 flex flex-col gap-3",children:[p.jsxs("div",{children:[p.jsx(Cn,{name:e.openPositioningMode,onClick:()=>{$e("switchToPositioningMode"),Me.setState({show:!1}),Pe.setState({active:!0})}}),p.jsx("p",{className:"text-base",children:e.openPositioningModeDescription})]}),p.jsxs("div",{children:[p.jsx(Cn,{name:e.resetAllPositions,className:"hover:bg-red-600",onClick:()=>Pe.getState().resetAll()}),p.jsx("p",{className:"text-base",children:e.resetAllPositionsDescription})]})]})]}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:p.jsx("p",{children:e.optionsMenu})}),p.jsxs("div",{className:"mx-4 mb-4 flex flex-col",children:[p.jsx(ft,{checked:r,primaryText:e.minimapVehicleCheckBoxPrimary,secondaryText:e.minimapVehicleCheckBoxSecondary,onChange:I=>{oe({isOutMapChecked:I}),$e("showOutMap",{checked:I})}}),p.jsx(ft,{checked:i,primaryText:e.compassVehicleCheckBoxPrimary,secondaryText:e.compassVehicleCheckBoxSecondary,onChange:I=>{oe({isOutCompassChecked:I}),$e("showOutCompass",{checked:I})}}),p.jsx(ft,{checked:a,primaryText:e.compassFollowCheckBoxPrimary,secondaryText:e.compassFollowCheckBoxSecondary,onChange:I=>{oe({isCompassFollowChecked:I}),$e("showFollowCompass",{checked:I})}})]}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:p.jsx("p",{children:e.notificationsMenu})}),p.jsxs("div",{className:"mx-4 mb-4 flex flex-col",children:[p.jsx(ft,{checked:l,primaryText:e.menuSoundEffectsEnabled,onChange:I=>{oe({isOpenMenuSoundsChecked:I}),$e("openMenuSounds",{checked:I})}}),p.jsx(ft,{checked:u,primaryText:e.resetSoundEffectsEnabled,onChange:I=>{oe({isResetSoundsChecked:I}),$e("resetHudSounds",{checked:I})}}),p.jsx(ft,{checked:d,primaryText:e.guiSoundEffectsEnabled,onChange:I=>{oe({isListSoundsChecked:I}),$e("checklistSounds",{checked:I})}}),p.jsx(ft,{checked:h,primaryText:e.mapNotificationsEnabled,onChange:I=>{oe({isMapNotifyChecked:I}),$e("showMapNotif",{checked:I})}}),p.jsx(ft,{checked:m,primaryText:e.lowFuelNotificationsEnabled,onChange:I=>{oe({isLowFuelAlertChecked:I}),$e("showFuelAlert",{checked:I})}}),p.jsx(ft,{checked:y,primaryText:e.cinematicModeNotificationEnabled,onChange:I=>{oe({isCinematicNotifyChecked:I}),$e("showCinematicNotif",{checked:I})}})]}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:p.jsx("p",{children:e.statusMenu})}),p.jsx("div",{className:"mx-4 mb-4 flex flex-col",children:["health","armor","hunger","thirst","stress","oxygen"].map(I=>p.jsx(ft,{checked:ae[I],primaryText:e[`show${I.charAt(0).toUpperCase()+I.slice(1)}Always`],onChange:q=>{Y().updateShowingDynamicIcon(I,q),$e("dynamicChange")}},I))}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:p.jsx("p",{children:e.vehicleMenu})}),p.jsxs("div",{className:"mx-4 mb-4 flex flex-col",children:[p.jsx(jo,{checked:b==="circle",checkedText:e.minimapTypeCircle,uncheckedText:e.minimapTypeSquare,onChange:I=>{const q=I?"circle":"square";oe({isToggleMapShapeChecked:q}),$e("ToggleMapShape",{shape:q})}}),p.jsx("p",{className:"font-semibold text-base pb-2",children:e.minimapTypeDescription}),p.jsx(jo,{checked:A,checkedText:e.metricsTypeMiles,uncheckedText:e.metricsTypeKmh,onChange:I=>{oe({isUseMPHChecked:I}),$e("toggleSpeedUnit",{useMPH:I})}}),p.jsx("p",{className:"font-semibold text-base pb-2",children:e.metricsTypeDescription}),p.jsx("p",{className:"font-semibold text-base pt-1",style:{color:"hsl(var(--foreground))"},children:e.vehicleThemeLabel}),p.jsxs("div",{style:{opacity:M?1:.5,pointerEvents:M?"auto":"none"},children:[p.jsx(jo,{checked:P==="digital",checkedText:e.vehicleThemeDigital,uncheckedText:e.vehicleThemeClassic,onChange:I=>H(I?"digital":"classic")}),P==="digital"&&p.jsxs("div",{className:"pb-2",children:[p.jsx("p",{className:"font-semibold text-base pb-1",children:e.vehicleSpeedoVariantLabel}),p.jsx(Ur,{values:Rw,value:L,onChange:I=>_(I)}),p.jsx("p",{className:"text-base pt-1",children:e.vehicleSpeedoVariantDescription})]})]}),p.jsx("p",{className:"font-semibold text-base pb-2",children:M?e.vehicleThemeDescription:e.vehicleThemeAdminOnly}),p.jsx(ft,{checked:x,primaryText:e.minimapEnabled,onChange:I=>{oe({isMapEnabledChecked:I}),$e("HideMap",{checked:I})}}),p.jsx(ft,{checked:ae.engine,primaryText:e.showEngineAlways,onChange:I=>{Y().updateShowingDynamicIcon("engine",I),$e("dynamicChange")}}),p.jsx(ft,{checked:ae.nitro,primaryText:e.showNitroAlways,onChange:I=>{Y().updateShowingDynamicIcon("nitro",I),$e("dynamicChange")}})]}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:p.jsx("p",{children:e.playerSkinLabel})}),p.jsxs("div",{className:"mx-4 mb-4 flex flex-col",style:{opacity:M?1:.5,pointerEvents:M?"auto":"none"},children:[p.jsx(jo,{checked:F==="sobrenatural",checkedText:e.playerSkinSupernatural,uncheckedText:e.playerSkinClassic,onChange:I=>U(I?"sobrenatural":"classic")}),F==="sobrenatural"&&p.jsxs("div",{className:"flex flex-col gap-3 pb-2",children:[p.jsxs("div",{children:[p.jsx("p",{className:"font-semibold text-base pb-1",children:e.skinPaletteLabel}),p.jsx(Ur,{values:a2,value:W,onChange:I=>de(I)})]}),p.jsxs("div",{children:[p.jsx("p",{className:"font-semibold text-base pb-1",children:e.skinStyleLabel}),p.jsx(Ur,{values:l2,value:Z,onChange:I=>se(I)})]}),p.jsx(ft,{checked:ie,primaryText:e.skinFramelessLabel,onChange:I=>ce(I)})]}),p.jsx("p",{className:"font-semibold text-base pb-2",children:M?e.playerSkinDescription:e.playerSkinAdminOnly})]}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:p.jsx("p",{children:e.compassMenu})}),p.jsxs("div",{className:"mx-4 mb-4 flex flex-col",children:[p.jsx(ft,{checked:C,primaryText:e.compassEnabled,secondaryText:e.compassEnabledDescription,onChange:I=>{oe({isShowCompassChecked:I}),$e("showCompassBase",{checked:I})}}),p.jsx(ft,{checked:N,primaryText:e.showStreetNamesEnabled,secondaryText:e.showStreetNamesDescription,onChange:I=>{oe({isShowStreetsChecked:I}),$e("showStreetsNames",{checked:I})}}),p.jsx(ft,{checked:E,primaryText:e.showCompassPointerEnabled,secondaryText:e.showCompassPointerDescription,onChange:I=>{oe({isPointerShowChecked:I}),$e("showPointerIndex",{checked:I})}})]}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx("div",{className:"my-3 text-base font-semibold",style:{color:"hsl(var(--muted-foreground))",textTransform:"uppercase",letterSpacing:"0.06em"},children:p.jsx("p",{children:e.cinematicMenu})}),p.jsx("div",{className:"mx-4 mb-4 flex flex-row gap-5",children:p.jsx(ft,{checked:j,primaryText:e.showCinematicBarsEnabled,onChange:I=>{oe({isCinematicModeChecked:I}),$e("cinematicMode",{checked:I})}})})]})}function Us({name:e,icon:n=null,color:r="currentColor",children:i,defaultOpen:a=!1}){const[l,u]=v.useState(a);let d=null,h=512,m=512;if(n){h=n.icon[0],m=n.icon[1];const y=n.icon[4];d=Array.isArray(y)?y[0]:y}return p.jsxs("div",{children:[p.jsxs("button",{type:"button",onClick:()=>u(y=>!y),className:"w-full flex flex-row items-center text-lg font-semibold px-3 py-3 bg-transparent border-none cursor-pointer text-left text-foreground hover:text-primary transition-colors focus:outline-none",children:[p.jsx("div",{className:"w-8 grid place-items-center shrink-0 text-muted-foreground",children:d&&p.jsx("svg",{width:"16",height:"16",viewBox:`0 0 ${h} ${m}`,children:p.jsx("path",{d,fill:r==="white"?"currentColor":r})})}),p.jsx("p",{className:"ml-3",children:e}),p.jsx("span",{className:"ml-auto transition-transform duration-200 text-muted-foreground",style:{transform:l?"rotate(180deg)":"rotate(0deg)",lineHeight:.5},children:p.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",stroke:"currentColor",fill:"currentColor",children:p.jsx("path",{d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})})]}),l&&p.jsx("div",{className:"pb-4",children:i})]})}function Ng(e,n,r){const i=Math.max(n,Math.min(r,e));return Math.round(i*100)/100}function Ae({value:e,min:n=0,max:r=10,step:i=1,onChange:a}){function l(d){a(Ng(e+d*i,n,r))}function u(d){const h=d.target.value;if(h.endsWith("."))return;const m=Number(h);isNaN(m)||a(Ng(m,n,r))}return p.jsxs("div",{className:"flex flex-row mx-auto h-10 w-30 rounded border border-border overflow-hidden",children:[p.jsx("button",{type:"button",onClick:()=>l(-1),className:"font-semibold text-muted-foreground h-full w-8 flex bg-card border-r border-border cursor-pointer transition-colors hover:bg-muted hover:text-foreground focus:outline-none",children:p.jsx("span",{className:"mx-auto mt-[10%] text-lg font-bold",children:"-"})}),p.jsx("input",{type:"text",value:e,onChange:u,className:"w-14 p-1 text-base focus:outline-none text-center bg-background text-foreground"}),p.jsx("button",{type:"button",onClick:()=>l(1),className:"font-semibold text-muted-foreground h-full w-8 flex bg-card border-l border-border cursor-pointer transition-colors hover:bg-muted hover:text-foreground focus:outline-none",children:p.jsx("span",{className:"mx-auto mt-[10%] text-lg font-bold",children:"+"})})]})}function Wr({color:e,onChange:n}){const r=e&&e!==""?e:"#3b82f6";return p.jsx("div",{className:"flex flex-col items-center mx-auto rounded-lg overflow-hidden w-[40px] h-[40px] border-2 border-border",children:p.jsx("input",{type:"color",value:r.length===9?r.slice(0,7):r,onChange:i=>n(i.target.value),className:"w-[60px] h-[60px] -translate-x-[10px] -translate-y-[10px] cursor-pointer border-none bg-transparent",title:r})})}function tE(){var l;const e=Gn(u=>u.translations),n=Oe(u=>u.globalIconSettings),r=jt(u=>u.globalColorSettings),i=Oe.getState,a=jt.getState;return p.jsxs(Us,{name:e.globalStatusIconsSettings,icon:E4,color:"white",children:[p.jsx("div",{className:"flex justify-center mb-8",children:p.jsxs("div",{className:"w-50",children:[p.jsx("p",{className:"text-lg text-center mb-2",children:e.iconShape}),p.jsx(Ur,{values:Pg,value:n.shape??"circle-ring",onChange:u=>{i().updateAllShapes(u),a().updateAllIconShapeEditableColor(u)}})]})}),p.jsxs("div",{className:"mx-8",children:[p.jsx("p",{className:"text-sm font-semibold uppercase",style:{color:"hsl(var(--muted-foreground))",letterSpacing:"0.06em"},children:e.globalSizeAndPositionSection}),p.jsx("hr",{className:"mb-6",style:{borderColor:"hsl(var(--border))"}})]}),p.jsxs("div",{className:"mx-4 grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-6 items-end",children:[p.jsx(Je,{label:e.widthSize,children:p.jsx(Ae,{min:1,max:200,value:n.width??50,onChange:i().updateAllWidth})}),p.jsx(Je,{label:e.heightSize,children:p.jsx(Ae,{min:1,max:200,value:n.height??50,onChange:i().updateAllHeight})}),n.ringSize!=null&&p.jsx(Je,{label:e.ringSize,children:p.jsx(Ae,{min:1,max:25,step:.5,value:n.ringSize,onChange:i().updateAllRingSize})}),n.displayOutline!=null&&p.jsx(Je,{label:e.showProgressOutline,children:p.jsx(jo,{center:!0,checked:n.displayOutline,onChange:i().updateAllDisplayOutline})}),p.jsx(Je,{label:e.xAxisPosition,children:p.jsx(Ae,{min:-20,max:20,step:.25,value:n.translateX??0,onChange:i().updateAllTranslateX})}),p.jsx(Je,{label:e.yAxisPosition,children:p.jsx(Ae,{min:-20,max:20,step:.25,value:n.translateY??0,onChange:i().updateAllTranslateY})}),p.jsx(Je,{label:e.rotation,children:p.jsx(Ae,{min:0,max:360,value:n.rotateDegree??0,onChange:i().updateAllRotateDegree})}),p.jsx(Je,{label:e.iconXAxisPosition,children:p.jsx(Ae,{min:-10,max:10,step:.01,value:n.iconTranslateX??0,onChange:i().updateAllTranslateIconX})}),p.jsx(Je,{label:e.iconYAxisPosition,children:p.jsx(Ae,{min:-10,max:10,step:.01,value:n.iconTranslateY??0,onChange:i().updateAllTranslateIconY})}),p.jsx(Je,{label:e.iconSize,children:p.jsx(Ae,{min:0,max:3,step:.01,value:n.iconScaling??.4,onChange:i().updateAllIconScale})}),n.xAxisRound!=null&&p.jsx(Je,{label:e.xAxisCurve,children:p.jsx(Ae,{min:0,max:100,value:n.xAxisRound,onChange:i().updateAllRoundXAxis})}),n.yAxisRound!=null&&p.jsx(Je,{label:e.yAxisCurve,children:p.jsx(Ae,{min:0,max:100,value:n.yAxisRound,onChange:i().updateAllRoundYAxis})})]}),p.jsxs("div",{className:"mx-8 mt-8",children:[p.jsx("p",{className:"text-sm font-semibold uppercase",style:{color:"hsl(var(--muted-foreground))",letterSpacing:"0.06em"},children:e.globalColorSection}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}})]}),p.jsxs("div",{className:"mx-4 mt-6 mb-10 grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-6",children:[p.jsx(Je,{label:e.progressColor,children:p.jsx(Wr,{color:r.progressColor,onChange:u=>a().updateAllDefaultEffectColorSetting("progressColor",u)})}),p.jsx(Je,{label:e.progressContrast,children:p.jsx(Ae,{min:0,max:300,value:r.progressContrast,onChange:u=>a().updateAllDefaultEffectColorSetting("progressContrast",u)})}),p.jsx(Je,{label:e.progressShadow,children:p.jsx(Ae,{min:0,max:20,value:r.progressDropShadowAmount,onChange:u=>a().updateAllDefaultEffectColorSetting("progressDropShadowAmount",u)})}),p.jsx(Je,{label:e.iconColor,children:p.jsx(Wr,{color:r.iconColor,onChange:u=>a().updateAllDefaultEffectColorSetting("iconColor",u)})}),p.jsx(Je,{label:e.iconContrast,children:p.jsx(Ae,{min:0,max:300,value:r.iconContrast,onChange:u=>a().updateAllDefaultEffectColorSetting("iconContrast",u)})}),p.jsx(Je,{label:e.iconShadow,children:p.jsx(Ae,{min:0,max:20,value:r.iconDropShadowAmount,onChange:u=>a().updateAllDefaultEffectColorSetting("iconDropShadowAmount",u)})}),p.jsx(Je,{label:e.outlineColor,children:p.jsx(Wr,{color:r.outlineColor,onChange:u=>a().updateAllDefaultEffectColorSetting("outlineColor",u)})}),p.jsx(Je,{label:e.outlineContrast,children:p.jsx(Ae,{min:0,max:300,value:r.outlineContrast,onChange:u=>a().updateAllDefaultEffectColorSetting("outlineContrast",u)})}),p.jsx(Je,{label:e.outlineShadow,children:p.jsx(Ae,{min:0,max:20,value:r.outlineDropShadowAmount,onChange:u=>a().updateAllDefaultEffectColorSetting("outlineDropShadowAmount",u)})}),((l=r.editableColors)==null?void 0:l.innerColor)&&p.jsx(Je,{label:e.innerColor,children:p.jsx(Wr,{color:r.innerColor,onChange:u=>a().updateAllDefaultEffectColorSetting("innerColor",u)})})]})]})}function Je({label:e,children:n}){return p.jsxs("div",{className:"flex flex-col mx-auto items-center",children:[p.jsx("p",{className:"text-base text-center mb-2",children:e}),n]})}const nE=["#FFFFFF","rgb(33, 171, 97)","#326dbf","#dd6e14","#1a7cad","rgb(220, 6, 6)","rgb(138, 168, 189)","rgb(255, 72, 133)","rgb(185, 255, 40)","#3FA554","rgb(182, 72, 255)","rgb(255, 72, 133)","#D64763","rgb(0, 0, 0)"];function rE(){var A;const e=Gn(k=>k.translations),n=Oe(k=>k.icons),r=jt(k=>k.icons),i=Oe.getState,a=jt.getState,[l,u]=v.useState("voice"),[d,h]=v.useState(0),m=n[l],y=r[l],x=(y==null?void 0:y.colorEffects)??[],b=x.map(k=>k.name),C=x[d]??x[0],N=Td.indexOf(l),E=nE[N]??"#FFFFFF";v.useEffect(()=>{jt.setState(k=>({globalColorSettings:{...k.globalColorSettings,editSingleIconName:l,editSingleIconStage:d}}))},[l,d]);function j(k){u(k),h(0)}return p.jsxs(Us,{name:e.singleStatusIconSettings,color:E,children:[p.jsxs("div",{className:"flex flex-row mb-8 mt-4",children:[p.jsx("div",{className:"flex-1",children:p.jsxs("div",{className:"max-w-50 ml-8",children:[p.jsx("p",{className:"text-lg text-center mb-2",children:e.iconStatusToEdit}),p.jsx(Ur,{values:[...Td],value:l,onChange:j})]})}),p.jsxs("div",{className:"w-50",children:[p.jsx("p",{className:"text-lg text-center mb-2",children:e.iconShape}),p.jsx(Ur,{values:Pg,value:(m==null?void 0:m.shape)??"circle-ring",onChange:k=>{i().updateIconShape(l,k),a().updateIconShapeEditableColor(l,k)}})]}),p.jsx("div",{className:"flex-1"})]}),p.jsxs("div",{className:"mx-8",children:[p.jsx("p",{className:"text-sm font-semibold uppercase",style:{color:"hsl(var(--muted-foreground))",letterSpacing:"0.06em"},children:e.singleIconSizeAndPositionSection}),p.jsx("hr",{className:"mb-6",style:{borderColor:"hsl(var(--border))"}})]}),p.jsxs("div",{className:"mx-4 grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-6 items-end",children:[p.jsx(Ze,{label:e.widthSize,children:p.jsx(Ae,{min:1,max:200,value:(m==null?void 0:m.width)??50,onChange:k=>i().updateIconSetting(l,"width",k)})}),p.jsx(Ze,{label:e.heightSize,children:p.jsx(Ae,{min:1,max:200,value:(m==null?void 0:m.height)??50,onChange:k=>i().updateIconSetting(l,"height",k)})}),(m==null?void 0:m.ringSize)!=null&&p.jsx(Ze,{label:e.ringSize,children:p.jsx(Ae,{min:1,max:25,step:.5,value:m.ringSize,onChange:k=>i().updateIconSetting(l,"ringSize",k)})}),(m==null?void 0:m.displayOutline)!=null&&p.jsx(Ze,{label:e.showProgressOutline,children:p.jsx(jo,{center:!0,checked:m.displayOutline,onChange:k=>i().updateIconSetting(l,"displayOutline",k)})}),p.jsx(Ze,{label:e.xAxisPosition,children:p.jsx(Ae,{min:-20,max:20,step:.25,value:(m==null?void 0:m.translateX)??0,onChange:k=>i().updateIconSetting(l,"translateX",k)})}),p.jsx(Ze,{label:e.yAxisPosition,children:p.jsx(Ae,{min:-20,max:20,step:.25,value:(m==null?void 0:m.translateY)??0,onChange:k=>i().updateIconSetting(l,"translateY",k)})}),p.jsx(Ze,{label:e.rotation,children:p.jsx(Ae,{min:0,max:360,value:(m==null?void 0:m.rotateDegree)??0,onChange:k=>i().updateIconSetting(l,"rotateDegree",k)})}),p.jsx(Ze,{label:e.iconXAxisPosition,children:p.jsx(Ae,{min:-10,max:10,step:.01,value:(m==null?void 0:m.iconTranslateX)??0,onChange:k=>i().updateIconSetting(l,"iconTranslateX",k)})}),p.jsx(Ze,{label:e.iconYAxisPosition,children:p.jsx(Ae,{min:-10,max:10,step:.01,value:(m==null?void 0:m.iconTranslateY)??0,onChange:k=>i().updateIconSetting(l,"iconTranslateY",k)})}),p.jsx(Ze,{label:e.iconSize,children:p.jsx(Ae,{min:0,max:3,step:.01,value:(m==null?void 0:m.iconScaling)??.4,onChange:k=>i().updateIconSetting(l,"iconScaling",k)})}),(m==null?void 0:m.xAxisRound)!=null&&p.jsx(Ze,{label:e.xAxisCurve,children:p.jsx(Ae,{min:0,max:100,value:m.xAxisRound,onChange:k=>i().updateIconSetting(l,"xAxisRound",k)})}),(m==null?void 0:m.yAxisRound)!=null&&p.jsx(Ze,{label:e.yAxisCurve,children:p.jsx(Ae,{min:0,max:100,value:m.yAxisRound,onChange:k=>i().updateIconSetting(l,"yAxisRound",k)})})]}),p.jsxs("div",{className:"mx-8 mt-8",children:[p.jsx("p",{className:"text-sm font-semibold uppercase",style:{color:"hsl(var(--muted-foreground))",letterSpacing:"0.06em"},children:e.singleIconColorSection}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}})]}),b.length>1&&p.jsx("div",{className:"flex flex-row justify-center mt-4",children:p.jsxs("div",{className:"w-50",children:[p.jsx("p",{className:"text-lg text-center mb-2",children:e.iconState}),p.jsx(Ur,{values:b,value:b[d]??b[0],onChange:k=>h(b.indexOf(k))})]})}),C&&p.jsxs("div",{className:"mx-4 mt-6 mb-10 grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-6",children:[p.jsx(Ze,{label:e.progressColor,children:p.jsx(Wr,{color:C.progressColor,onChange:k=>a().updateColorSetting(l,d,"progressColor",k)})}),p.jsx(Ze,{label:e.progressContrast,children:p.jsx(Ae,{min:0,max:300,value:C.progressContrast,onChange:k=>a().updateColorSetting(l,d,"progressContrast",k)})}),p.jsx(Ze,{label:e.progressShadow,children:p.jsx(Ae,{min:0,max:20,value:C.progressDropShadowAmount,onChange:k=>a().updateColorSetting(l,d,"progressDropShadowAmount",k)})}),p.jsx(Ze,{label:e.iconColor,children:p.jsx(Wr,{color:C.iconColor,onChange:k=>a().updateColorSetting(l,d,"iconColor",k)})}),p.jsx(Ze,{label:e.iconContrast,children:p.jsx(Ae,{min:0,max:300,value:C.iconContrast,onChange:k=>a().updateColorSetting(l,d,"iconContrast",k)})}),p.jsx(Ze,{label:e.iconShadow,children:p.jsx(Ae,{min:0,max:20,value:C.iconDropShadowAmount,onChange:k=>a().updateColorSetting(l,d,"iconDropShadowAmount",k)})}),p.jsx(Ze,{label:e.outlineColor,children:p.jsx(Wr,{color:C.outlineColor,onChange:k=>a().updateColorSetting(l,d,"outlineColor",k)})}),p.jsx(Ze,{label:e.outlineContrast,children:p.jsx(Ae,{min:0,max:300,value:C.outlineContrast,onChange:k=>a().updateColorSetting(l,d,"outlineContrast",k)})}),p.jsx(Ze,{label:e.outlineShadow,children:p.jsx(Ae,{min:0,max:20,value:C.outlineDropShadowAmount,onChange:k=>a().updateColorSetting(l,d,"outlineDropShadowAmount",k)})}),((A=y==null?void 0:y.editableColors)==null?void 0:A.innerColor)&&p.jsx(Ze,{label:e.innerColor,children:p.jsx(Wr,{color:C.innerColor,onChange:k=>a().updateColorSetting(l,d,"innerColor",k)})})]})]})}function Ze({label:e,children:n}){return p.jsxs("div",{className:"flex flex-col mx-auto items-center",children:[p.jsx("p",{className:"text-base text-center mb-2",children:e}),n]})}function oE(){const e=Gn(u=>u.translations),n=pt(u=>u.layout),r=pt(u=>u.iconBetweenSpacing),i=pt(u=>u.yAxisSpacing),a=pt(u=>u.xAxisSpacing),l=pt.getState;return p.jsx(Us,{name:e.globalStatusIconLayoutSettings,icon:R4,color:"white",children:p.jsxs("div",{className:"text-sm flex flex-col",style:{color:"hsl(var(--muted-foreground))"},children:[p.jsx("div",{className:"flex justify-center mb-4",children:p.jsxs("div",{className:"w-55",children:[p.jsx("p",{className:"text-lg text-center mb-2",children:e.iconLayout}),p.jsx(Ur,{values:[...d4],value:n,onChange:u=>l().updateLayout(u)})]})}),p.jsxs("div",{className:"mx-4 grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-6 items-end mb-8",children:[p.jsxs("div",{children:[p.jsx("p",{className:"text-base text-center mb-2",children:e.betweenIconSpacing}),p.jsx(Ae,{min:-100,max:200,value:r,onChange:u=>pt.setState({iconBetweenSpacing:u})})]}),p.jsxs("div",{children:[p.jsx("p",{className:"text-base text-center mb-2",children:e.yAxisSpacing}),p.jsx(Ae,{min:-100,max:500,value:i,onChange:u=>pt.setState({yAxisSpacing:u})})]}),p.jsxs("div",{children:[p.jsx("p",{className:"text-base text-center mb-2",children:e.xAxisSpacing}),p.jsx(Ae,{min:-100,max:500,value:a,onChange:u=>pt.setState({xAxisSpacing:u})})]})]})]})})}function iE(){const e=Gn(n=>n.translations);return p.jsx(Us,{name:e.utilityFunctions,icon:O4,color:"white",children:p.jsx("div",{className:"flex flex-row mx-4",children:p.jsx(Cn,{name:e.copyProgressColorsToIconsColors,className:"h-15 w-55 whitespace-normal text-center",onClick:()=>jt.getState().updateIconColorToProgressColor()})})})}function sE({value:e,onChange:n,onBlur:r}){return p.jsx(F2,{type:"text",value:e,onChange:i=>n(i.target.value),onBlur:r,autoFocus:!0,className:"text-center"})}function aE(){const e=Gn(m=>m.translations),n=Dd(m=>m.profiles),{addNewProfile:r,saveHUDToProfile:i,applyProfileToHud:a,deleteProfile:l,renameProfile:u}=Dd.getState(),[d,h]=v.useState(null);return p.jsx(Us,{name:e.customizationProfiles,icon:_g,color:"white",children:p.jsxs("div",{className:"mx-4 grid grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-8 items-center",children:[n.map((m,y)=>p.jsxs("div",{className:"flex flex-col justify-end items-center border-2 p-3 border-border rounded-lg my-3",children:[d===y?p.jsx(sE,{value:m.name,onChange:x=>u(y,x),onBlur:()=>h(null)}):p.jsx("p",{className:"text-xl font-semibold text-center cursor-pointer",onClick:()=>h(y),children:m.name}),p.jsx(Cn,{name:e.saveHudToProfile,onClick:()=>i(y)}),p.jsx(Cn,{name:e.applyProfileToHud,onClick:()=>a(y)}),p.jsx(Cn,{name:e.deleteProfile,className:"hover:bg-red-600",onClick:()=>l(y)})]},y)),n.length<6&&p.jsx("div",{className:"flex flex-col",children:p.jsx(Cn,{name:e.addNewProfile,className:"w-[100px]",onClick:r})})]})})}function lE(){const e=Gn(l=>l.translations),n=Oe(l=>l.designMode),r=Oe(l=>l.saveUIState),i=Me(l=>l.adminOnly),a=Me(l=>l.isAdmin);return p.jsxs("div",{className:"text-sm flex flex-col select-none",style:{color:"hsl(var(--muted-foreground))"},children:[p.jsxs("div",{className:"my-3 flex flex-row items-center",style:{color:"hsl(var(--foreground))"},children:[p.jsx("div",{className:"flex-1 flex flex-col justify-center min-w-min",children:p.jsx("p",{className:"ml-3 p-0",children:e.statusIconsSettings})}),p.jsxs("div",{className:"text-base",children:[p.jsx("p",{children:e.designMode}),p.jsx(jo,{center:!0,checked:n,onChange:l=>Oe.setState({designMode:l})})]}),p.jsxs("div",{className:"flex flex-1 min-w-min justify-end gap-2",children:[p.jsx(Cn,{name:e.resetStatusIconSettings,className:"mr-5 hover:bg-red-600",onClick:()=>{Oe.getState().resetPlayerStatusIcons(),jt.getState().resetColorEffects(),pt.getState().resetLayout()}}),i&&a&&p.jsx(Cn,{name:e.saveChangesToServer,disabled:r!=="ready",onClick:()=>{h2(),Oe.setState({saveUIState:"updating"})}})]})]}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx(tE,{}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx(rE,{}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx(oE,{}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx(iE,{}),p.jsx("hr",{style:{borderColor:"hsl(var(--border))"}}),p.jsx(aE,{})]})}const cE=[{key:"hud",labelKey:"generalTab",icon:L4,adminOnly:!1,content:eE},{key:"status",labelKey:"customizationTab",icon:b4,adminOnly:!0,content:lE}];function uE(){const e=Me(N=>N.show),n=Me(N=>N.adminOnly),r=Me(N=>N.isAdmin),i=Gn(N=>N.translations),[a,l]=v.useState("hud"),u=v.useRef({x:Math.round(window.innerWidth/5),y:Math.round(window.innerHeight/5)}),[d,h]=v.useState(u.current),m=v.useRef(!1),y=v.useRef({mx:0,my:0,ox:0,oy:0}),x=v.useCallback(N=>{m.current=!0,y.current={mx:N.clientX,my:N.clientY,ox:u.current.x,oy:u.current.y};const E=A=>{if(!m.current)return;const k=y.current.ox+(A.clientX-y.current.mx),M=y.current.oy+(A.clientY-y.current.my);u.current={x:k,y:M},h({x:k,y:M})},j=()=>{m.current=!1,window.removeEventListener("mousemove",E),window.removeEventListener("mouseup",j)};window.addEventListener("mousemove",E),window.addEventListener("mouseup",j)},[]);if(!e)return null;const b=cE.filter(N=>!N.adminOnly||!n||n&&r),C=b.find(N=>N.key===a)??b[0];return p.jsxs("section",{className:"w-[60vw] h-[60vh] flex flex-col rounded-t-2xl text-foreground bg-background/95 border border-primary/25 shadow-[0_8px_32px_rgba(0,0,0,0.7)]",style:{position:"fixed",left:d.x,top:d.y,zIndex:90},children:[p.jsx("div",{className:"drag-bar rounded-t-2xl select-none bg-card/80 border-b border-primary/20",onMouseDown:x,style:{cursor:"grab"},children:p.jsx("svg",{role:"img","aria-label":"drag handle",viewBox:"0 0 24 24",height:24,width:24,className:"mx-auto text-primary/60",style:{opacity:.4},children:p.jsx("path",{fill:"currentColor",d:"M3,15V13H5V15H3M3,11V9H5V11H3M7,15V13H9V15H7M7,11V9H9V11H7M11,15V13H13V15H11M11,11V9H13V11H11M15,15V13H17V15H15M15,11V9H17V11H15M19,15V13H21V15H19M19,11V9H21V11H19Z"})})}),p.jsxs("div",{className:"flex font-semibold",style:{height:"calc(100% - 24px)"},children:[p.jsx("div",{className:"flex flex-col w-1/6 bg-card/90 border-r border-primary/20",children:b.map(N=>{const E=N.icon.icon[0],j=N.icon.icon[1],A=N.icon.icon[4],k=C.key===N.key;return p.jsxs("div",{className:`px-4 py-4 flex flex-row gap-3 cursor-pointer select-none transition-colors border-l-2 ${k?"bg-primary/15 border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,onClick:()=>l(N.key),children:[p.jsx("svg",{width:"16",height:"16",viewBox:`0 0 ${E} ${j}`,className:"shrink-0 mt-0.5",children:p.jsx("path",{d:A,fill:"currentColor"})}),p.jsx("span",{children:i[N.labelKey]})]},N.key)})}),b.map(N=>p.jsx("div",{className:"flex-col w-5/6 px-5 overflow-y-scroll bg-background/60",style:{display:C.key===N.key?"flex":"none"},children:p.jsx(N.content,{})},N.key))]})]})}function dE(){const e=He(r=>r.show),n=Pe(r=>r.elements.minimap);return v.useEffect(()=>{const r=(n==null?void 0:n.dx)??0,i=(n==null?void 0:n.dy)??0;$e("minimapPosition",{x:r/window.innerWidth,y:i/window.innerHeight})},[n==null?void 0:n.dx,n==null?void 0:n.dy]),!e&&!zt?null:p.jsx(lt,{id:"minimap",label:"Minimapa",zIndex:8,children:p.jsx("div",{style:{position:"absolute",bottom:"7.9%",left:"1.3%",width:0,textAlign:"center"},children:p.jsx("div",{"aria-hidden":!0,style:{bottom:"6.30%",width:"29vh",height:"18.5vh",position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},children:zt})})})}function fE(){const e=Br(A=>A.show),n=Br(A=>A.heading),r=Br(A=>A.streetName),i=Br(A=>A.crossingRoad),a=Me(A=>A.isShowCompassChecked),l=Me(A=>A.isShowStreetsChecked),u=Me(A=>A.isPointerShowChecked),d=Pe(A=>A.active),h=fr(A=>A.theme),m=He(A=>A.show),[y,x]=v.useState(n),b=v.useRef(n),C=v.useRef(0),N=v.useRef(0),E=v.useRef(n),j=v.useRef(n);return v.useEffect(()=>{const A=b.current;if(A>230&&n<-50||A<-50&&n>230){x(n),E.current=n,j.current=n,b.current=n;return}b.current=n,E.current=y,j.current=n,N.current=performance.now(),cancelAnimationFrame(C.current);const M=600;function P(L){const H=L-N.current,_=Math.min(H/M,1),F=E.current+(j.current-E.current)*_;x(F),_<1&&(C.current=requestAnimationFrame(P))}return C.current=requestAnimationFrame(P),()=>cancelAnimationFrame(C.current)},[n]),!e&&!zt&&!d||h==="digital"&&m&&!d?null:p.jsx(lt,{id:"compassHud",label:"Bússola",zIndex:12,children:p.jsxs("div",{style:{position:"absolute",margin:"0 auto",left:0,right:0,top:"-0.8vh",width:150,height:"auto"},children:[(l||zt)&&p.jsxs("div",{style:{position:"relative",top:"1.3vh",fontFamily:"Arial, Helvetica, sans-serif",fontSize:"1.4vh",letterSpacing:"0.7px",fontVariant:"small-caps",fontWeight:800,textShadow:"0 0 1px rgba(0,0,0,0.6), 0 0 1px rgba(0,0,0,0.6), 0 0 1px rgba(0,0,0,0.6), 0 0 1px rgba(0,0,0,0.6)"},children:[p.jsx("div",{style:{position:"absolute",right:"135%",whiteSpace:"nowrap",color:"rgb(255,255,255)"},children:r}),p.jsx("div",{style:{position:"absolute",left:"135%",whiteSpace:"nowrap",color:"rgb(255,255,255)"},children:i})]}),p.jsxs("div",{style:{position:"relative"},children:[u&&p.jsx("div",{style:{position:"absolute",margin:"0 auto",top:"-2%",left:0,right:0,fontFamily:"'Yantramanav', sans-serif",color:"rgb(255,255,255)",fontSize:"2.2vh",textAlign:"center",textShadow:"0 0 1px rgba(0,0,0,0.6), 0 0 1px rgba(0,0,0,0.6), 0 0 1px rgba(0,0,0,0.6), 0 0 1px rgba(0,0,0,0.6)",zIndex:1},children:"˅"}),(a||zt)&&p.jsxs(p.Fragment,{children:[p.jsxs("svg",{style:{position:"relative",width:"100%",height:"2vh",fontFamily:"'Yantramanav', sans-serif",fontSize:"0.35vh",fontWeight:700},viewBox:`${y} 0 180 5`,children:[p.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"-90"}),p.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"9",x:"-45"}),p.jsx("rect",{width:"4.5",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"0"}),p.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"9",x:"45"}),p.jsx("rect",{width:"4.5",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"90"}),p.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"9",x:"135"}),p.jsx("rect",{width:"4.5",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"180"}),p.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"9",x:"225"}),p.jsx("rect",{width:"4.5",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"270"}),p.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"9",x:"315"}),p.jsx("rect",{width:"4.5",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"360"}),p.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"9",x:"405"}),p.jsx("rect",{width:"3",stroke:"black",fill:"white",strokeWidth:"0.5",strokeOpacity:"0.6",height:"20",x:"450"})]}),p.jsxs("svg",{style:{position:"relative",width:"100%",top:"-0.5vh",height:"3.5vh",paddingLeft:"0.12vw",fontFamily:"Arial, Helvetica, sans-serif",fontSize:"2vh",letterSpacing:"0.7px",fontVariant:"small-caps",fontWeight:600},viewBox:`${y} 0 180 1.5`,children:[p.jsx("text",{x:"0",y:"1.5",dominantBaseline:"middle",textAnchor:"middle",fill:"yellow",children:"N"}),p.jsx("text",{x:"360",y:"1.5",dominantBaseline:"middle",textAnchor:"middle",fill:"yellow",children:"N"}),p.jsx("text",{x:"315",y:"-11",dominantBaseline:"middle",textAnchor:"middle",fill:"white",fontSize:"1.4vh",fontWeight:"800",children:"NW"}),p.jsx("text",{x:"-45",y:"-11",dominantBaseline:"middle",textAnchor:"middle",fill:"white",fontSize:"1.4vh",fontWeight:"800",children:"NW"}),p.jsx("text",{x:"45",y:"-11",dominantBaseline:"middle",textAnchor:"middle",fill:"white",fontSize:"1.4vh",fontWeight:"800",children:"NE"}),p.jsx("text",{x:"405",y:"-11",dominantBaseline:"middle",textAnchor:"middle",fill:"white",fontSize:"1.4vh",fontWeight:"800",children:"NE"}),p.jsx("text",{x:"90",y:"1.5",dominantBaseline:"middle",textAnchor:"middle",fill:"white",children:"E"}),p.jsx("text",{x:"135",y:"-11",dominantBaseline:"middle",textAnchor:"middle",fill:"white",fontSize:"1.4vh",fontWeight:"800",children:"SE"}),p.jsx("text",{x:"180",y:"1.5",dominantBaseline:"middle",textAnchor:"middle",fill:"white",children:"S"}),p.jsx("text",{x:"225",y:"-11",dominantBaseline:"middle",textAnchor:"middle",fill:"white",fontSize:"1.4vh",fontWeight:"800",children:"SW"}),p.jsx("text",{x:"270",y:"1.5",dominantBaseline:"middle",textAnchor:"middle",fill:"white",children:"W"})]})]})]})]})})}function pE(){const e=bn(h=>h.cash),n=bn(h=>h.bank),r=bn(h=>h.show),i=bn(h=>h.showConstant),a=bn(h=>h.isPlus),l=bn(h=>h.isMinus),d={fontFamily:"'Pricedown Bl', sans-serif",textAlign:"right",textShadow:"-1px -1px 0 rgba(0,0,0,0.7), 1px -1px 0 rgba(0,0,0,0.7), -1px 1px 0 rgba(0,0,0,0.7), 1px 1px 0 rgba(0,0,0,0.7)"};return p.jsx(lt,{id:"moneyHud",label:"Dinheiro",zIndex:12,children:p.jsxs("div",{style:{position:"absolute",right:"2vw",top:"5vh",fontWeight:400,fontSize:40},children:[(r||i)&&p.jsxs("p",{children:[p.jsx("span",{style:{...d,color:"#00ac31"},children:"$ "}),p.jsx("span",{style:{...d,color:"#ffffff"},children:e})]}),(r||i)&&p.jsxs("p",{children:[p.jsx("span",{style:{...d,color:"#00ac31"},children:"$ "}),p.jsx("span",{style:{...d,color:"#00ac31"},children:n})]}),r&&a&&p.jsxs("p",{children:[p.jsx("span",{style:{...d,fontSize:50,color:"#00ac31"},children:"+ "}),p.jsx("span",{style:{...d,color:"#ffffff"},children:e})]}),r&&l&&p.jsxs("p",{children:[p.jsx("span",{style:{...d,fontSize:50,color:"#ac0000"},children:"- "}),p.jsx("span",{style:{...d,color:"#ffffff"},children:e})]})]})})}function Bn(e){return p.jsx(ux,{...e})}function Qt({style:e,children:n}){const r=v.useContext(Qx);return p.jsx("div",{style:e,children:p.jsx("div",{style:{display:"inline-block",transform:r!==1?`scale(${r})`:void 0,transformOrigin:"center"},children:n})})}function wf(e,n=120,r=.3){const[i,a]=v.useState(e),l=v.useRef(e),u=v.useRef(e),d=v.useRef(null);return u.current=e,v.useEffect(()=>{let h=0;const m=y=>{const x=d.current??y;d.current=y;const b=y-x,C=l.current,N=u.current,E=N-C,j=Math.abs(E)<=r?N:C+E*(1-Math.exp(-b/n));j!==C&&(l.current=j,a(j)),h=requestAnimationFrame(m)};return h=requestAnimationFrame(m),()=>{cancelAnimationFrame(h),d.current=null}},[n,r]),i}const It="'Chakra Petch', 'Yantramanav', sans-serif",hE=8e3,Jx="#ffc24d",E0="#ff5a52",mE=[9,11,13,15,17,19,21,23,25,27];function vi(e,n,r){return Math.max(n,Math.min(r,e))}function Mg(e,n){return e>50?n:e>22?Jx:E0}function gE(e,n){const[r,i]=v.useState(0),a=v.useRef(e);a.current=e;const l=v.useRef(e),u=v.useRef(0);return v.useEffect(()=>{let d=0,h=performance.now();const m=y=>{const x=(y-h)/1e3;if(h=y,x>0){const b=(a.current-l.current)/x;l.current=a.current;const C=vi(b/n*100*4,0,100);u.current+=(C-u.current)*(1-Math.exp(-x/.18)),i(u.current)}d=requestAnimationFrame(m)};return d=requestAnimationFrame(m),()=>cancelAnimationFrame(d)},[n]),r}function yE(){const e=He(P=>P.show),n=He(P=>P.speed),r=wf(n,70),i=He(P=>P.fuel),a=He(P=>P.engine),l=He(P=>P.rpm),u=wf(l,90),d=He(P=>P.gear),h=He(P=>P.heading),m=He(P=>P.showSeatBelt),y=He(P=>P.useMPH),x=Rf(P=>P.accentColor),b=fr(P=>P.variant),C=ur(P=>P.show),N=Dn(P=>P.show),E=Pe(P=>P.active),j=y?120:200,A=gE(r,j);if(!e&&!zt&&!E||(C||N)&&!E&&!zt)return null;const k=((360-h)%360+360)%360,M={speed:r,speedInt:Math.round(r),speedMax:j,speedUnit:y?"MPH":"KM/H",fuel:vi(Math.round(i),0,100),eng:vi(Math.round(a),0,100),boost:Math.round(A),rpm:u,gear:d,bearing:k,beltOn:!m,accent:x,variant:b};return p.jsxs(p.Fragment,{children:[p.jsx(yo,{id:"digitalCompass",label:"Bússola",left:"50%",bottom:230,children:p.jsx(CE,{bearing:M.bearing,accent:M.accent})}),p.jsx(yo,{id:"digitalSpeedo",label:"Velocímetro",left:"50%",bottom:90,children:p.jsx(vE,{variant:M.variant,speedInt:M.speedInt,frac:vi(M.speed/M.speedMax,0,1),unit:M.speedUnit,accent:M.accent})}),p.jsx(yo,{id:"digitalFuel",label:"Combustível",left:"calc(50% - 200px)",bottom:108,children:p.jsx(Od,{value:M.fuel,label:"FUEL",height:78,color:Mg(M.fuel,M.accent)})}),p.jsx(yo,{id:"digitalEngine",label:"Motor",left:"calc(50% - 158px)",bottom:108,children:p.jsx(Od,{value:M.eng,label:"ENG",height:78,color:Mg(M.eng,M.accent)})}),p.jsx(yo,{id:"digitalTurbo",label:"Turbo",left:"calc(50% + 178px)",bottom:122,children:p.jsx(Od,{value:M.boost,label:"TURBO",height:60,color:M.accent,glow:!0})}),p.jsx(yo,{id:"digitalBelt",label:"Cinto",left:"calc(50% + 178px)",bottom:92,canResize:!1,children:p.jsx(xE,{on:M.beltOn,accent:M.accent})}),p.jsx(yo,{id:"digitalTach",label:"Tacômetro",left:"50%",bottom:50,children:p.jsx(wE,{rpm:M.rpm,gear:M.gear,accent:M.accent})})]})}function yo({id:e,label:n,left:r,bottom:i,canResize:a=!0,children:l}){return p.jsx(lt,{id:e,label:n,zIndex:10,canResize:a,children:p.jsx(Qt,{style:{position:"fixed",left:r,bottom:i,transform:"translateX(-50%)",pointerEvents:"none",fontFamily:It},children:l})})}function vE({variant:e,speedInt:n,frac:r,unit:i,accent:a}){const l="0 0 22px rgba(70,224,255,0.32)",u="rgba(255,255,255,0.07)";if(e==="linear")return p.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:11,width:280},children:[p.jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:11},children:[p.jsx("div",{style:{font:`600 72px ${It}`,color:"#fff",lineHeight:.78,textShadow:l},children:n}),p.jsx("div",{style:{font:`500 11px ${It}`,letterSpacing:"0.3em",color:"rgba(255,255,255,0.5)"},children:i})]}),p.jsxs("div",{style:{position:"relative",width:"100%",height:6,borderRadius:4,background:"rgba(255,255,255,0.08)",overflow:"hidden"},children:[p.jsx("div",{style:{position:"absolute",left:0,top:0,bottom:0,borderRadius:4,width:`${r*100}%`,background:a,boxShadow:`0 0 12px ${a}`}}),p.jsx("div",{style:{position:"absolute",inset:0,backgroundImage:"repeating-linear-gradient(90deg, rgba(8,11,15,0.85) 0 1px, transparent 1px 26px)"}})]})]});if(e==="arc"){const x=Math.PI*120,b="M 20 140 A 120 120 0 0 1 260 140";return p.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center"},children:[p.jsxs("svg",{width:280,height:146,viewBox:"0 0 280 146",style:{overflow:"visible"},children:[p.jsx("path",{d:b,fill:"none",stroke:u,strokeWidth:28,strokeLinecap:"butt"}),p.jsx("path",{d:b,fill:"none",stroke:a,strokeWidth:28,strokeLinecap:"butt",strokeDasharray:x,strokeDashoffset:x*(1-r)})]}),p.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",marginTop:-62},children:[p.jsx("div",{style:{font:`600 56px ${It}`,color:"#fff",lineHeight:.85,textShadow:l},children:n}),p.jsx("div",{style:{font:`500 10px ${It}`,letterSpacing:"0.32em",color:"rgba(255,255,255,0.5)",marginTop:5},children:i})]})]})}return p.jsxs("div",{style:{position:"relative",width:206,height:206},children:[p.jsx("div",{style:{position:"absolute",inset:0,borderRadius:"50%",background:`conic-gradient(${a} ${r*100}%, ${u} 0)`,WebkitMask:"radial-gradient(circle, transparent 80px, #000 81px)",mask:"radial-gradient(circle, transparent 80px, #000 81px)"}}),p.jsx("div",{style:{position:"absolute",inset:16,borderRadius:"50%",border:"1px solid rgba(255,255,255,0.05)"}}),p.jsxs("div",{style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},children:[p.jsx("div",{style:{font:`600 60px ${It}`,color:"#fff",lineHeight:.85,textShadow:l},children:n}),p.jsx("div",{style:{font:`500 10px ${It}`,letterSpacing:"0.32em",color:"rgba(255,255,255,0.5)",marginTop:7},children:i})]})]})}function Od({value:e,label:n,height:r,color:i,glow:a=!1}){return p.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:7},children:[p.jsx("div",{style:{font:`600 10px ${It}`,color:"#fff"},children:e}),p.jsx("div",{style:{position:"relative",width:7,height:r,borderRadius:5,background:"rgba(255,255,255,0.08)",overflow:"hidden"},children:p.jsx("div",{style:{position:"absolute",left:0,right:0,bottom:0,height:`${vi(e,0,100)}%`,background:i,borderRadius:5,boxShadow:a?`0 0 8px ${i}`:void 0,transition:"height 0.12s ease-out"}})}),p.jsx("div",{style:{font:`500 9px ${It}`,letterSpacing:"0.16em",color:"rgba(255,255,255,0.45)"},children:n})]})}function xE({on:e,accent:n}){const r=e?n:E0;return p.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 9px",borderRadius:20,background:e?"rgba(70,224,255,0.1)":"rgba(255,90,82,0.12)",border:`1px solid ${e?"rgba(70,224,255,0.32)":"rgba(255,90,82,0.4)"}`},children:[p.jsx("div",{style:{width:6,height:6,borderRadius:"50%",background:r,boxShadow:`0 0 8px ${r}`}}),p.jsx("div",{style:{font:`600 9px ${It}`,letterSpacing:"0.16em",color:r},children:"BELT"})]})}function wE({rpm:e,gear:n,accent:r}){const i=Math.round(vi(e/hE,0,1)*10),a=n>0?String(n):"N";return p.jsxs("div",{style:{display:"flex",alignItems:"flex-end",gap:16},children:[p.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",lineHeight:1},children:[p.jsx("div",{style:{font:`700 22px ${It}`,color:"#fff"},children:a}),p.jsx("div",{style:{font:`500 8px ${It}`,letterSpacing:"0.2em",color:"rgba(255,255,255,0.4)",marginTop:3},children:"GEAR"})]}),p.jsx("div",{style:{display:"flex",alignItems:"flex-end",gap:3,height:28},children:mE.map((l,u)=>{const d=u=8?E0:u>=7?Jx:r:"rgba(255,255,255,0.10)";return p.jsx("div",{style:{width:5,borderRadius:2,height:l,background:d}},u)})}),p.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",lineHeight:1},children:[p.jsx("div",{style:{font:`600 16px ${It}`,color:"#fff"},children:Math.round(e)}),p.jsx("div",{style:{font:`500 8px ${It}`,letterSpacing:"0.2em",color:"rgba(255,255,255,0.4)",marginTop:3},children:"RPM"})]})]})}const bE={0:"N",45:"NE",90:"E",135:"SE",180:"S",225:"SW",270:"W",315:"NW"},SE=(()=>{const e=[];for(let n=0;n<=720;n+=15){const r=n%45===0;e.push({left:n*3,h:r?12:6,col:r?"rgba(255,255,255,0.72)":"rgba(255,255,255,0.20)",label:r&&bE[n%360]||""})}return e})();function CE({bearing:e,accent:n}){const r=118-e*3;return p.jsxs("svg",{width:236,height:34,viewBox:"0 0 236 34",style:{overflow:"hidden",display:"block"},children:[p.jsx("g",{transform:`translate(${r} 0)`,children:SE.map((i,a)=>p.jsxs("g",{children:[p.jsx("rect",{x:i.left-.5,y:34-i.h,width:1,height:i.h,fill:i.col}),i.label&&p.jsx("text",{x:i.left,y:13,textAnchor:"middle",fill:i.col,style:{font:`600 10px ${It}`},children:i.label})]},a))}),p.jsx("line",{x1:118,y1:7,x2:118,y2:34,stroke:n,strokeOpacity:.7,strokeWidth:1}),p.jsx("polygon",{points:"113,0 123,0 118,6",fill:n})]})}function kE(){return fr(n=>n.theme)==="digital"?p.jsx(yE,{}):p.jsx(jE,{})}function jE(){const e=He(j=>j.show),n=He(j=>j.speed),r=wf(n,70),i=He(j=>j.fuel),a=He(j=>j.odometer),l=He(j=>j.fuelColor),u=He(j=>j.showSeatBelt),d=He(j=>j.seatbeltColor),h=He(j=>j.useMPH),m=ur(j=>j.show),y=Dn(j=>j.show),x=Pe(j=>j.active);if(!e&&!zt&&!x)return null;const b=h?120:200,C=h?"mph":"km/h",N=20,E=a>0?`${a.toLocaleString("pt-BR")} ${h?"mi":"km"}`:void 0;return p.jsxs(p.Fragment,{children:[p.jsx(lt,{id:"speedometer",label:"Velocímetro",zIndex:10,children:p.jsx(Qt,{style:{position:"fixed",bottom:"12.21vh",left:"17.69vw",pointerEvents:"none"},children:p.jsx(Bn,{size:140,value:r,minValue:0,maxValue:b,arcLength:75,rotation:225,majorTickInterval:N,minorTickCount:4,ringSize:5,color:"#ffffff",outlineColor:"#ffffff",outlineOpacity:.22,needleStyle:"needle",showValue:!0,unit:C,label:"SPEED",odometer:E})})}),(!m&&!y||x||zt)&&p.jsx(lt,{id:"fuelgauge",label:"Combustível",zIndex:10,children:p.jsx(Qt,{style:{position:"fixed",bottom:"6.44vh",left:"22.61vw",pointerEvents:"none"},children:p.jsx(Bn,{size:88,value:i,minValue:0,maxValue:100,arcLength:75,rotation:225,majorTickInterval:25,minorTickCount:1,ringSize:4,color:l,outlineColor:l,outlineOpacity:.28,needleStyle:"needle",showValue:!0,unit:"%",label:"FUEL"})})}),u&&p.jsx(lt,{id:"seatbelt",label:"Cinto",zIndex:10,canResize:!1,children:p.jsx("div",{style:{position:"fixed",bottom:"8.09vh",left:"17.91vw",pointerEvents:"none"},children:p.jsx(EE,{color:d})})})]})}function EE({color:e}){const n=Mf,r=n.icon[4],i=n.icon[0],a=n.icon[1];return p.jsx("svg",{width:"22",height:"22",viewBox:`0 0 ${i} ${a}`,overflow:"visible",children:p.jsx("path",{d:r,fill:e,transform:"scale(1.1)"})})}function NE({icon:e,...n}){return p.jsx(Zv,{...n,icon:e?px(e):null})}function ME({cfg:e,value:n,icon:r}){const i=Pe(U=>U.active),a=Pe(U=>U.permissions.dynamicGauges),l=Pe(U=>U.gaugeOverrides[e.id]),u=Pe(U=>U.setGaugePosition),d=Pe(U=>U.setGaugeVisibility),h=Pe(U=>U.rescaleGauge),m=Pe(U=>U.resetGauge),y=(a==null?void 0:a.canMove)??!0,x=(a==null?void 0:a.canHide)??!0,b=(a==null?void 0:a.canResize)??!0,C=(l==null?void 0:l.isShowing)!==!1,N=(l==null?void 0:l.x)!=null||(l==null?void 0:l.y)!=null,E=(l==null?void 0:l.scale)??1,j=Math.round(e.size*E),A=Math.abs(E-1)>.005,[k,M]=v.useState(null),[P,L]=v.useState(!1),H=v.useRef({startMouseX:0,startMouseY:0,startCfgX:0,startCfgY:0}),_=(l==null?void 0:l.x)??e.x,F=(l==null?void 0:l.y)??e.y,W=(k==null?void 0:k.x)??_,Z=(k==null?void 0:k.y)??F,ie=v.useCallback(U=>{U.preventDefault(),U.stopPropagation(),H.current={startMouseX:U.clientX,startMouseY:U.clientY,startCfgX:_,startCfgY:F},L(!0);const de=j/2+10,se=de/window.innerWidth*100,ce=100-se,ae=de/window.innerHeight*100,oe=100-ae,Y=(T,z)=>({x:Math.max(se,Math.min(ce,T)),y:Math.max(ae,Math.min(oe,z))}),I=T=>{const z=H.current.startCfgX+(T.clientX-H.current.startMouseX)/window.innerWidth*100,K=H.current.startCfgY+(T.clientY-H.current.startMouseY)/window.innerHeight*100;M(Y(z,K))},q=T=>{const z=H.current.startCfgX+(T.clientX-H.current.startMouseX)/window.innerWidth*100,K=H.current.startCfgY+(T.clientY-H.current.startMouseY)/window.innerHeight*100,ee=Y(z,K);u(e.id,ee.x,ee.y),M(null),L(!1),window.removeEventListener("mousemove",I),window.removeEventListener("mouseup",q)};window.addEventListener("mousemove",I),window.addEventListener("mouseup",q)},[e.id,e.size,_,F,u]);return!C&&!i?null:p.jsxs("div",{style:{position:"fixed",left:`${W}vw`,top:`${Z}vh`,transform:"translate(-50%, -50%)",pointerEvents:"none",zIndex:20,opacity:!C&&i?.35:1,userSelect:"none"},children:[P&&p.jsx("div",{style:{position:"absolute",inset:-6,borderRadius:"50%",border:"2px solid hsl(var(--primary))",boxShadow:"0 0 12px hsl(var(--primary) / 0.5), inset 0 0 8px hsl(var(--primary) / 0.15)",pointerEvents:"none"}}),e.style==="analog"?p.jsx(Bn,{size:j,value:n,minValue:e.minValue??0,maxValue:e.maxValue,arcLength:e.arcLength,rotation:e.rotation,majorTickInterval:e.majorTickInterval??Math.ceil(e.maxValue/5),minorTickCount:e.minorTickCount??4,ringSize:e.ringSize,color:P?"hsl(var(--primary))":e.color,outlineColor:P?"hsl(var(--primary))":e.outlineColor,outlineOpacity:e.outlineOpacity,needleStyle:e.needleStyle??"needle",showValue:e.showValue,unit:e.unit,label:e.label}):p.jsx(NE,{height:j,width:j,progressValue:n,maxProgressValue:e.maxValue,maxLengthDisplay:e.arcLength,rotateDegree:e.rotation,ringSize:e.ringSize,progressColor:P?"hsl(var(--primary))":e.color,outlineColor:P?"hsl(var(--primary))":e.outlineColor,outlineColorOpacity:e.outlineOpacity,displayOutline:!0,icon:r,iconColor:P?"hsl(var(--primary))":e.color,iconScaling:.38,text:e.showValue?e.label??"":"",displayNumber:e.showValue?Math.round(n):0}),i&&y&&p.jsx("div",{style:{position:"absolute",left:0,top:0,width:j,height:j,borderRadius:"50%",pointerEvents:"auto",cursor:P?"grabbing":"grab",zIndex:9997},onMouseDown:ie}),i&&(y||x)&&p.jsxs("div",{style:{position:"absolute",left:j/2,top:j+8,transform:"translate(-50%, 0)",display:"flex",alignItems:"center",gap:5,background:P?"hsl(var(--primary) / 0.22)":"hsl(var(--card))",border:`1px solid ${P?"hsl(var(--primary))":"hsl(var(--border))"}`,borderRadius:7,padding:"3px 8px",color:"white",fontSize:11,fontWeight:600,whiteSpace:"nowrap",boxShadow:P?"0 0 10px hsl(var(--primary) / 0.4), 0 2px 8px rgba(0,0,0,0.5)":"0 2px 8px rgba(0,0,0,0.5)",pointerEvents:"auto",cursor:"default",zIndex:9999,opacity:P?.5:1,transition:"background 0.1s, border-color 0.1s, opacity 0.1s"},children:[y&&p.jsx(dr,{icon:qg,style:{color:P?"hsl(var(--foreground))":"hsl(var(--muted-foreground))",fontSize:10}}),p.jsx("span",{style:{color:P?"hsl(var(--primary))":"hsl(var(--muted-foreground))"},children:e.label??e.id}),x&&p.jsx("button",{style:{background:"none",border:"none",color:"rgba(255,255,255,0.75)",cursor:"pointer",padding:"0 2px",lineHeight:1},title:C?"Ocultar":"Mostrar",onMouseDown:U=>U.stopPropagation(),onClick:()=>d(e.id,!C),children:p.jsx(dr,{icon:C?Tg:Fg,style:{fontSize:11}})}),b&&p.jsxs(p.Fragment,{children:[p.jsx("button",{style:{background:"none",border:"none",color:"rgba(255,255,255,0.7)",cursor:"pointer",padding:"0 2px",lineHeight:1},title:"Diminuir",onMouseDown:U=>U.stopPropagation(),onClick:()=>h(e.id,E/1.1),children:p.jsx(dr,{icon:Wg,style:{fontSize:10}})}),p.jsxs("span",{style:{color:A?"hsl(var(--foreground))":"hsl(var(--muted-foreground) / 0.5)",fontSize:10,minWidth:28,textAlign:"center",userSelect:"none"},children:[Math.round(E*100),"%"]}),p.jsx("button",{style:{background:"none",border:"none",color:"rgba(255,255,255,0.7)",cursor:"pointer",padding:"0 2px",lineHeight:1},title:"Aumentar",onMouseDown:U=>U.stopPropagation(),onClick:()=>h(e.id,E*1.1),children:p.jsx(dr,{icon:Kg,style:{fontSize:10}})})]}),y&&(N||A)&&p.jsx("button",{style:{background:"none",border:"none",color:"hsl(var(--destructive))",cursor:"pointer",padding:"0 2px",lineHeight:1},title:"Resetar posição",onMouseDown:U=>U.stopPropagation(),onClick:()=>m(e.id),children:p.jsx(dr,{icon:Lg,style:{fontSize:11}})})]})]})}function AE(){const e=vo(i=>i.configs),n=vo(i=>i.runtime),r=Object.values(e);return r.length?p.jsx(p.Fragment,{children:r.map(i=>{var a;return p.jsx(ME,{cfg:i,value:((a=n[i.id])==null?void 0:a.value)??0,icon:Jd(i.iconName)},i.id)})}):null}function PE(e){return p.jsx(dx,{...e})}function RE(){const e=Dn(x=>x.show),n=Dn(x=>x.airspeed),r=Dn(x=>x.altitude),i=Dn(x=>x.verticalSpeed),a=Dn(x=>x.pitch),l=Dn(x=>x.roll),u=He(x=>x.fuel),d=He(x=>x.fuelColor),h=Pe(x=>x.active);if(!e&&!h)return null;const m=(r%1e3+1e3)%1e3,y=Math.floor(r/1e3);return p.jsxs(p.Fragment,{children:[p.jsx(lt,{id:"aircraftHorizon",label:"Horizonte",zIndex:15,children:p.jsx(Qt,{style:{position:"fixed",bottom:"2.16vh",left:"43.43vw",pointerEvents:"none"},children:p.jsx(PE,{size:160,pitch:a,roll:l})})}),p.jsx(lt,{id:"aircraftAsi",label:"Velocidade",zIndex:15,children:p.jsx(Qt,{style:{position:"fixed",bottom:"2vh",left:"52vw",pointerEvents:"none"},children:p.jsx(Bn,{size:120,value:n,minValue:0,maxValue:400,arcLength:75,rotation:225,majorTickInterval:50,minorTickCount:4,ringSize:5,color:"#00cfff",outlineColor:"#00cfff",outlineOpacity:.25,needleStyle:"needle",showValue:!0,unit:"km/h",label:"SPEED"})})}),p.jsx(lt,{id:"aircraftAlt",label:"Altímetro",zIndex:15,children:p.jsx(Qt,{style:{position:"fixed",bottom:"2vh",left:"37vw",pointerEvents:"none"},children:p.jsx(Bn,{size:120,value:m,minValue:0,maxValue:1e3,arcLength:100,rotation:0,majorTickInterval:100,minorTickCount:4,ringSize:5,color:"#f59e0b",outlineColor:"#f59e0b",outlineOpacity:.25,needleStyle:"needle",showValue:!0,unit:"m",label:y>0?`ALT +${y}K`:"ALT"})})}),p.jsx(lt,{id:"aircraftVsi",label:"Vel.Vertical",zIndex:15,children:p.jsx(Qt,{style:{position:"fixed",bottom:"2vh",left:"32vw",pointerEvents:"none"},children:p.jsx(Bn,{size:100,value:i,minValue:-30,maxValue:30,arcLength:75,rotation:225,majorTickInterval:10,minorTickCount:1,ringSize:5,color:"#a78bfa",outlineColor:"#a78bfa",outlineOpacity:.25,needleStyle:"needle",showValue:!0,unit:"m/s",label:"VSI"})})}),p.jsx(lt,{id:"aircraftFuel",label:"Combustível",zIndex:15,children:p.jsx(Qt,{style:{position:"fixed",bottom:"2vh",left:"58vw",pointerEvents:"none"},children:p.jsx(Bn,{size:88,value:u,minValue:0,maxValue:100,arcLength:75,rotation:225,majorTickInterval:25,minorTickCount:1,ringSize:4,color:d,outlineColor:d,outlineOpacity:.28,needleStyle:"needle",showValue:!0,unit:"%",label:"FUEL"})})})]})}function IE(e){return p.jsx(fx,{...e})}function zE(){const e=ur(u=>u.show),n=ur(u=>u.speedKnots),r=ur(u=>u.rpm),i=ur(u=>u.pitch),a=ur(u=>u.roll),l=Pe(u=>u.active);return!e&&!l?null:p.jsxs(p.Fragment,{children:[p.jsx(lt,{id:"marineHeel",label:"Escora",zIndex:15,children:p.jsx(Qt,{style:{position:"fixed",bottom:"4.5vh",right:"21vw",pointerEvents:"none"},children:p.jsx(IE,{size:130,roll:a})})}),p.jsx(lt,{id:"marineSpeed",label:"Velocidade",zIndex:15,children:p.jsx(Qt,{style:{position:"fixed",bottom:"4.5vh",right:"14vw",pointerEvents:"none"},children:p.jsx(Bn,{size:120,value:n,minValue:0,maxValue:50,arcLength:75,rotation:225,majorTickInterval:10,minorTickCount:1,ringSize:5,color:"#38bdf8",outlineColor:"#38bdf8",outlineOpacity:.25,needleStyle:"needle",showValue:!0,unit:"kn",label:"SPEED"})})}),p.jsx(lt,{id:"marineRpm",label:"RPM",zIndex:15,children:p.jsx(Qt,{style:{position:"fixed",bottom:"4.5vh",right:"8vw",pointerEvents:"none"},children:p.jsx(Bn,{size:110,value:r,minValue:0,maxValue:100,arcLength:75,rotation:225,majorTickInterval:25,minorTickCount:1,ringSize:5,color:"#34d399",outlineColor:"#34d399",outlineOpacity:.25,needleStyle:"needle",showValue:!0,unit:"%",label:"RPM"})})}),p.jsx(lt,{id:"marineTrim",label:"Trim",zIndex:15,children:p.jsx(Qt,{style:{position:"fixed",bottom:"4.5vh",right:"2vw",pointerEvents:"none"},children:p.jsx(Bn,{size:100,value:i,minValue:-20,maxValue:20,arcLength:75,rotation:225,majorTickInterval:10,minorTickCount:1,ringSize:5,color:"#fb923c",outlineColor:"#fb923c",outlineOpacity:.25,needleStyle:"needle",showValue:!0,unit:"°",label:"TRIM"})})})]})}function OE(){const e=Pe(l=>l.active),n=Pe(l=>l.toggle),r=Pe(l=>l.resetAll),i=Gn(l=>l.translations);function a(){$e("closePositioningMode"),n()}return e?p.jsxs(p.Fragment,{children:[p.jsx("div",{style:{position:"fixed",inset:0,zIndex:30,pointerEvents:"none",backgroundImage:` linear-gradient(hsl(var(--primary) / 0.08) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--primary) / 0.08) 1px, transparent 1px) - `,backgroundSize:"48px 48px"}}),g.jsxs("div",{className:"fixed top-0 left-0 right-0 z-[9999] flex items-center justify-between px-4 py-2 bg-card/95 border-b border-border text-foreground select-none",style:{fontSize:13,fontWeight:600,letterSpacing:"0.04em"},children:[g.jsx("span",{className:"text-foreground",children:i.positioningModeTitle}),g.jsxs("div",{className:"flex gap-2",children:[g.jsx(li,{variant:"destructive",size:"sm",onClick:o,children:i.positioningResetAll}),g.jsx(li,{variant:"default",size:"sm",onClick:a,children:i.positioningClose})]})]})]}):null}function Fj(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/")?e:`./${e}`}function $j(){const e=Ig(u=>u.config),n=Pe(u=>u.active);if(!e||!e.enabled&&!n)return null;const{src:o,width:i,x:a,y:l}=e;return g.jsx(mt,{id:"serverLogo",label:"Logo do Servidor",zIndex:5,children:g.jsx("div",{style:{position:"absolute",left:`${a}vw`,top:`${l}vh`,transform:"translate(-50%, -50%)",pointerEvents:"none",userSelect:"none"},children:g.jsx("img",{src:Fj(o),alt:"",draggable:!1,style:{width:i,display:"block",objectFit:"contain"}})})})}function Hj(){Og();const e=zg(l=>l.accentColor);nw(e);const n=Ae(l=>l.handleKeyUp),o=Ae(l=>l.isCinematicModeChecked),i=Pe(l=>l.toggle),a=y.useRef(!0);return y.useEffect(()=>{const l=setInterval(()=>{Te.setState(u=>{let f=u.designProgress;return a.current?(f+=15,f>100&&(f=100,a.current=!1)):(f-=15,f<0&&(f=0,a.current=!0)),{designProgress:f}})},1400);return()=>clearInterval(l)},[]),y.useEffect(()=>{const l=u=>{if(u.key==="Escape"&&Pe.getState().active){$e("closePositioningMode"),i();return}n(u)};return document.addEventListener("keyup",l),()=>document.removeEventListener("keyup",l)},[n,i]),g.jsxs("main",{className:"bg-transparent min-h-screen",children:[g.jsx(Lj,{}),an,g.jsx($j,{}),!o&&g.jsxs(g.Fragment,{children:[g.jsx(Ej,{}),g.jsx(Nj,{}),g.jsx(uj,{}),g.jsx(Aj,{}),g.jsx(zj,{}),g.jsx(_j,{}),g.jsx(Tj,{}),g.jsx(jj,{})]}),g.jsx(kj,{})]})}E4.createRoot(document.getElementById("root")).render(g.jsx(Hj,{})); + `,backgroundSize:"48px 48px"}}),p.jsxs("div",{className:"fixed top-0 left-0 right-0 z-[9999] flex items-center justify-between px-4 py-2 bg-card/95 border-b border-border text-foreground select-none",style:{fontSize:13,fontWeight:600,letterSpacing:"0.04em"},children:[p.jsx("span",{className:"text-foreground",children:i.positioningModeTitle}),p.jsxs("div",{className:"flex gap-2",children:[p.jsx(xi,{variant:"destructive",size:"sm",onClick:r,children:i.positioningResetAll}),p.jsx(xi,{variant:"default",size:"sm",onClick:a,children:i.positioningClose})]})]})]}):null}function TE(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/")?e:`./${e}`}function _E(){const e=o2(u=>u.config),n=Pe(u=>u.active);if(!e||!e.enabled&&!n)return null;const{src:r,width:i,x:a,y:l}=e;return p.jsx(lt,{id:"serverLogo",label:"Logo do Servidor",zIndex:5,children:p.jsx("div",{style:{position:"absolute",left:`${a}vw`,top:`${l}vh`,transform:"translate(-50%, -50%)",pointerEvents:"none",userSelect:"none"},children:p.jsx("img",{src:TE(r),alt:"",draggable:!1,style:{width:i,display:"block",objectFit:"contain"}})})})}const DE={pergaminho:{accent:"#d9b25e",deep:"#6e4f1c",glow:"rgba(217,178,94,.5)",stone:"#181208",stone2:"#22190c",amb:"rgba(200,150,60,.12)"},sangue:{accent:"#c75b4a",deep:"#5e1f18",glow:"rgba(199,91,74,.5)",stone:"#1a1010",stone2:"#241413",amb:"rgba(180,60,40,.10)"},eterno:{accent:"#a87fe0",deep:"#3e2767",glow:"rgba(168,127,224,.5)",stone:"#150f1d",stone2:"#1f1630",amb:"rgba(120,70,200,.12)"},esmeralda:{accent:"#5fb87a",deep:"#1f5236",glow:"rgba(95,184,122,.5)",stone:"#0e1611",stone2:"#142019",amb:"rgba(50,160,100,.12)"},geada:{accent:"#6fc2d6",deep:"#1f4e5e",glow:"rgba(111,194,214,.5)",stone:"#0d141a",stone2:"#131e26",amb:"rgba(90,180,210,.12)"},cinzas:{accent:"#bcae98",deep:"#5a5040",glow:"rgba(188,174,152,.45)",stone:"#15130f",stone2:"#1f1c16",amb:"rgba(180,170,150,.10)"}},N0={vida:25,folego:135,fome:60,sede:230,sanidade:185,mana:295},M0={vida:"ᚺ",folego:"ᛋ",fome:"ᚠ",sede:"ᛚ",sanidade:"ᛟ",mana:"ᛜ"},sc={vida:"Vida",folego:"Fôlego",fome:"Fome",sede:"Sede",sanidade:"Sanidade",mana:"Mana"},LE=sc,Zx=["vida","folego","fome","sede","sanidade","mana"],A0=e=>`oklch(0.62 0.15 ${e})`,un=(e,n)=>`oklch(0.62 0.15 ${e} / ${n})`,FE=` +@keyframes hud-glowpulse{0%,100%{opacity:.55}50%{opacity:1}} +@keyframes hud-voiceripple{0%{transform:scale(.8);opacity:.7}100%{transform:scale(2.1);opacity:0}} +@keyframes hud-lowpulse{0%,100%{box-shadow:0 0 0 0 rgba(220,40,40,0),inset 0 0 28px rgba(0,0,0,.7)}50%{box-shadow:0 0 26px 4px rgba(220,40,40,.6),inset 0 0 28px rgba(0,0,0,.7)}} +@keyframes hud-meniscus{0%,100%{transform:translateY(0);opacity:.85}50%{transform:translateY(-1.5px);opacity:1}} +@keyframes hud-sheen{0%{transform:translate(-60%,-60%) rotate(28deg);opacity:0}18%{opacity:.5}40%{transform:translate(60%,60%) rotate(28deg);opacity:0}100%{transform:translate(60%,60%) rotate(28deg);opacity:0}} +`;function ac(e){return{background:`radial-gradient(120% 130% at 30% 0%, rgba(255,225,160,.05), transparent 55%), linear-gradient(160deg, ${e.stone2}, ${e.stone}), repeating-linear-gradient(115deg, rgba(255,255,255,.02) 0 2px, transparent 2px 6px), repeating-linear-gradient(28deg, rgba(0,0,0,.14) 0 3px, transparent 3px 9px)`,border:"1px solid rgba(180,140,70,.4)",boxShadow:"0 10px 34px rgba(0,0,0,.6), inset 0 0 30px rgba(0,0,0,.45), inset 0 0 0 1px rgba(180,140,70,.1), inset 0 1px 0 rgba(255,220,150,.1)",borderRadius:5,position:"relative"}}function $E({c:e}){const n=r=>({position:"absolute",width:7,height:7,transform:"rotate(45deg)",background:e.accent,boxShadow:`0 0 6px ${e.glow}`,...r});return p.jsxs(p.Fragment,{children:[p.jsx("span",{style:n({top:5,left:5})}),p.jsx("span",{style:n({top:5,right:5})}),p.jsx("span",{style:n({bottom:5,left:5})}),p.jsx("span",{style:n({bottom:5,right:5})})]})}const P0={fontFamily:"'JetBrains Mono',monospace",textTransform:"uppercase"};function HE({k:e,value:n,size:r,low:i}){const a=N0[e],l=A0(a),u=Math.round(n),d=r>70;return p.jsxs("div",{className:"flex flex-col items-center gap-1.5",children:[p.jsxs("div",{className:"relative rounded-full",style:{width:r,height:r,background:"radial-gradient(circle at 36% 28%, #f7e3ad, #c79a44 42%, #8a6526 64%, #4a3514 82%, #2a1d0c)",boxShadow:`0 5px 16px rgba(0,0,0,.7), 0 0 22px ${un(a,.3)}, inset 0 2px 5px rgba(255,238,190,.65), inset 0 -5px 9px rgba(0,0,0,.6), inset 0 0 0 1px rgba(40,28,12,.7)`,animation:i?"hud-lowpulse 1.1s infinite":void 0},children:[p.jsxs("div",{className:"absolute rounded-full overflow-hidden",style:{inset:3,background:"radial-gradient(circle at 40% 35%, #1c150c, #0a0703)",boxShadow:"inset 0 0 18px rgba(0,0,0,.9), inset 0 0 0 2px rgba(0,0,0,.65), inset 0 0 0 3px rgba(180,140,70,.22)"},children:[p.jsx("div",{className:"absolute left-0 right-0 bottom-0 transition-[height] duration-500",style:{height:`${u}%`,background:`linear-gradient(180deg, ${un(a,.95)}, ${un(a,.8)} 40%, ${un(a,.45)})`,boxShadow:`inset 0 6px 10px ${un(a,.7)}, 0 -2px 8px ${un(a,.55)}`},children:p.jsx("div",{className:"absolute left-0 right-0",style:{top:-1,height:d?5:3,background:`linear-gradient(180deg, oklch(0.85 0.12 ${a} / .95), transparent)`,boxShadow:`0 0 7px ${un(a,.9)}`,animation:"hud-meniscus 3.4s ease-in-out infinite"}})}),p.jsx("div",{className:"absolute rounded-full pointer-events-none",style:{top:"9%",left:"15%",width:"44%",height:"32%",background:"radial-gradient(circle, rgba(255,255,255,.42), transparent 70%)"}}),p.jsx("div",{className:"absolute rounded-full pointer-events-none z-[3]",style:{top:"8%",left:"14%",width:"46%",height:"38%",background:"radial-gradient(circle, rgba(255,255,255,.55), transparent 72%)",animation:"hud-sheen 6.5s ease-in-out infinite"}})]}),p.jsxs("div",{className:"absolute inset-0 z-[2] flex flex-col items-center justify-center gap-px",children:[p.jsx("span",{style:{fontFamily:"'Cinzel',serif",fontSize:d?19:15,lineHeight:1,color:"#f3e9d4",textShadow:`0 0 8px ${l}, 0 1px 2px #000`},children:M0[e]}),p.jsx("span",{style:{fontFamily:"'JetBrains Mono',monospace",fontSize:d?12:10,color:"#f3e9d4",textShadow:"0 1px 2px #000"},children:u})]})]}),p.jsx("span",{style:{fontFamily:"'JetBrains Mono',monospace",fontSize:8,letterSpacing:1.5,color:"#9c8458",textTransform:"uppercase"},children:sc[e]})]})}function VE({k:e,value:n}){const r=N0[e],i=A0(r),a=Math.round(n),l=a*3.6;return p.jsxs("div",{className:"flex flex-col items-center gap-1.5",children:[p.jsxs("div",{className:"relative rounded-full",style:{width:62,height:62},children:[p.jsx("div",{className:"absolute inset-0 rounded-full",style:{background:`conic-gradient(${i} ${l}deg, rgba(255,255,255,.06) ${l}deg 360deg)`,filter:`drop-shadow(0 0 6px ${un(r,.4)})`}}),p.jsxs("div",{className:"absolute rounded-full flex flex-col items-center justify-center gap-px",style:{inset:6,background:"#0c0805"},children:[p.jsx("span",{style:{fontSize:17,lineHeight:1,color:i,textShadow:`0 0 8px ${un(r,.6)}`},children:M0[e]}),p.jsx("span",{style:{fontFamily:"'JetBrains Mono',monospace",fontSize:11,color:"#e7dac0"},children:a})]})]}),p.jsx("span",{style:{fontFamily:"'JetBrains Mono',monospace",fontSize:8,letterSpacing:1,color:"#9c8458",textTransform:"uppercase"},children:sc[e]})]})}function BE({k:e,value:n,cristal:r}){const i=N0[e],a=A0(i),l=Math.round(n);return p.jsxs("div",{className:"flex items-center gap-[11px]",style:{width:320},children:[p.jsx("span",{className:"text-center",style:{fontSize:16,width:20,color:a,textShadow:`0 0 8px ${un(i,.6)}`},children:M0[e]}),p.jsx("span",{style:{fontFamily:"'JetBrains Mono',monospace",fontSize:9,letterSpacing:1,color:"#9c8458",textTransform:"uppercase",width:54},children:sc[e]}),p.jsx("div",{className:"relative flex-1 overflow-hidden",style:{height:11,background:"rgba(255,255,255,.06)",clipPath:r?"polygon(0 0,100% 0,94% 100%,0 100%)":void 0,borderRadius:r?0:3},children:p.jsx("div",{className:"absolute inset-0 transition-[width] duration-500",style:{width:`${l}%`,background:`linear-gradient(90deg, ${un(i,.6)}, ${a})`,boxShadow:`0 0 10px ${un(i,.55)}`,clipPath:r?"polygon(0 0,100% 0,90% 100%,0 100%)":void 0}})}),p.jsx("span",{className:"text-right",style:{fontFamily:"'JetBrains Mono',monospace",fontSize:11,color:"#e7dac0",width:26},children:l})]})}function WE({k:e,value:n,style:r}){if(r==="orbes"){const i=e==="vida"||e==="mana";return p.jsx(HE,{k:e,value:n,size:i?96:58,low:e==="vida"&&Math.round(n)<30})}return r==="aneis"?p.jsx(VE,{k:e,value:n}):p.jsx(BE,{k:e,value:n,cristal:r==="cristal"})}function UE({k:e,value:n,style:r,c:i,framed:a}){const l=p.jsx(WE,{k:e,value:n,style:r});return a?p.jsx("div",{style:{...ac(i),padding:11,display:"inline-flex"},children:l}):l}function YE({server:e,c:n}){return p.jsxs("div",{style:{...ac(n),padding:"14px 18px",minWidth:240,borderLeft:`3px solid ${n.accent}`},children:[p.jsx($E,{c:n}),p.jsxs("div",{className:"flex items-center gap-[11px]",children:[p.jsx("span",{style:{fontFamily:"'Cinzel Decorative',serif",fontWeight:900,fontSize:12,lineHeight:1,padding:"7px 8px",border:`1px solid ${n.accent}77`,borderRadius:3,color:n.accent,textShadow:`0 0 10px ${n.glow}`,background:"rgba(0,0,0,.3)"},children:e.sigil}),p.jsxs("div",{children:[p.jsx("div",{style:{fontFamily:"'Cinzel Decorative',serif",fontWeight:900,fontSize:20,letterSpacing:1,lineHeight:1,color:n.accent,textShadow:`0 0 14px ${n.glow}`},children:e.name}),p.jsx("div",{style:{...P0,fontSize:10,letterSpacing:2,color:"#9c8458",marginTop:4},children:e.tagline})]})]}),(e.players||e.ping>0)&&p.jsxs("div",{className:"flex items-center gap-4 mt-3 pt-[11px]",style:{borderTop:"1px solid rgba(180,140,70,.18)"},children:[e.players&&p.jsxs("div",{className:"flex items-center gap-[7px]",children:[p.jsx("span",{className:"rounded-full",style:{width:8,height:8,background:"#7bbf63",boxShadow:"0 0 8px #7bbf63",animation:"hud-glowpulse 2.4s infinite"}}),p.jsxs("span",{style:{fontFamily:"'JetBrains Mono',monospace",fontSize:12,color:"#d8c9a6"},children:[e.players," ",p.jsx("span",{style:{color:"#857036"},children:"online"})]})]}),e.ping>0&&p.jsxs("div",{className:"flex items-center gap-[7px]",children:[p.jsx("span",{style:{fontFamily:"'JetBrains Mono',monospace",fontSize:11,color:"#857036"},children:"ping"}),p.jsxs("span",{style:{fontFamily:"'JetBrains Mono',monospace",fontSize:12,color:"#d8c9a6"},children:[e.ping,"ms"]})]})]})]})}function XE({money:e,c:n,framed:r}){const i=(a,l,u)=>{const d=p.jsxs(p.Fragment,{children:[p.jsx("div",{style:{...P0,fontSize:9,letterSpacing:2,color:"#857036"},children:a}),p.jsxs("div",{style:{fontFamily:"'Cinzel',serif",fontWeight:700,fontSize:22,marginTop:2,color:u?n.accent:"#efe3c6",textShadow:u?`0 0 14px ${n.glow}`:void 0},children:[l," ",p.jsx("span",{style:{fontSize:13,color:u?void 0:"#9c8458",opacity:u?.7:1},children:"au"})]})]});return r?p.jsx("div",{style:{...ac(n),padding:"10px 16px",minWidth:138,textAlign:"right",borderTop:`2px solid ${n.accent}`},children:d}):p.jsx("div",{style:{textAlign:"right",minWidth:110,textShadow:"0 1px 3px #000"},children:d})};return p.jsxs("div",{className:"flex gap-2.5",children:[i("moeda viva",e.cash,!1),i("cofre etéreo",e.bank,!0)]})}function GE({voice:e,c:n,framed:r}){const i=n.accent,a=p.jsxs("div",{className:"flex flex-col items-center gap-1.5",style:{padding:0},children:[p.jsxs("div",{className:"relative flex items-center justify-center rounded-full",style:{width:42,height:42,border:`1px solid ${e.talking?i:"rgba(180,140,70,.35)"}`,background:e.talking?`${i}22`:"rgba(0,0,0,.25)",boxShadow:e.talking?`0 0 16px ${n.glow}`:void 0,transition:"all .2s"},children:[e.talking&&p.jsx("span",{className:"absolute inset-0 rounded-full",style:{border:`1px solid ${i}`,animation:"hud-voiceripple 1.1s ease-out infinite"}}),p.jsx("span",{style:{fontSize:18,lineHeight:1,color:e.talking?i:"#857036",transition:"color .2s"},children:"⊻"})]}),p.jsx(KE,{talking:e.talking,accent:i}),p.jsx("span",{style:{...P0,fontSize:8,letterSpacing:1,color:"#9c8458"},children:e.range})]});return r?p.jsx("div",{style:{...ac(n),display:"flex",flexDirection:"column",alignItems:"center",gap:6,padding:"12px 12px 10px"},children:a}):a}function KE({talking:e,accent:n}){const[,r]=v.useState(0),i=v.useRef(0);return v.useEffect(()=>{if(!e)return;let a=0;const l=()=>{i.current+=1,r(u=>(u+1)%1e3),a=requestAnimationFrame(l)};return a=requestAnimationFrame(l),()=>cancelAnimationFrame(a)},[e]),p.jsx("div",{className:"flex gap-[3px] items-end",style:{height:16},children:[0,1,2,3,4].map(a=>{const l=e?4+Math.abs(Math.sin(i.current/12+a))*12:3;return p.jsx("span",{className:"rounded-[2px]",style:{width:3,height:l,opacity:e?1:.35,background:n}},a)})})}function qE(e,n,r){return e==="orbes"?{vida:{left:24,bottom:22},folego:{left:150,bottom:96},fome:{left:226,bottom:96},sede:{left:150,bottom:22},sanidade:{left:226,bottom:22},mana:{right:24,bottom:22}}[n]:e==="aneis"?{left:24+r*74,bottom:22}:{left:24,bottom:22+(Zx.length-1-r)*30}}function hl({id:e,label:n,anchor:r,canResize:i=!0,children:a}){return p.jsx(lt,{id:e,label:n,zIndex:20,canResize:i,children:p.jsx(Qt,{style:{position:"fixed",...r,pointerEvents:"none"},children:a})})}function QE(){const e=Oe(M=>M.show),n=Oe(M=>M.icons),r=jt(M=>{var P;return((P=M.icons.voice)==null?void 0:P.currentEffect)??0}),i=bn(M=>M.cash),a=bn(M=>M.bank),l=gl(M=>M.folego),u=gl(M=>M.sanidade),d=gl(M=>M.mana),h=Kt(M=>M.palette),m=Kt(M=>M.vitalStyle),y=Kt(M=>M.frameless),x=Pe(M=>M.active);if(!e&&!zt&&!x)return null;const b=DE[h],C=!y,N=M=>{var P;return Math.round(((P=n[M])==null?void 0:P.progressValue)??0)},E={vida:N("health"),fome:N("hunger"),sede:N("thirst"),folego:Math.round(l),sanidade:Math.round(u),mana:Math.round(d)},j={cash:i.toLocaleString("pt-BR"),bank:a.toLocaleString("pt-BR")},A={name:"MRI",tagline:"roleplay",sigil:"MRI",players:"",ping:0},k={talking:r>0,range:r>0?"NORMAL":"MUDO"};return p.jsxs(p.Fragment,{children:[p.jsx("style",{children:FE}),p.jsx(hl,{id:"skinServer",label:"Servidor",anchor:{top:24,left:24},children:p.jsx(YE,{server:A,c:b})}),p.jsx(hl,{id:"skinMoney",label:"Dinheiro",anchor:{top:24,right:24},children:p.jsx(XE,{money:j,c:b,framed:C})}),p.jsx(hl,{id:"skinVoice",label:"Voz",anchor:{bottom:26,left:320},canResize:!1,children:p.jsx(GE,{voice:k,c:b,framed:!0})}),Zx.map((M,P)=>p.jsx(hl,{id:`skinVital_${M}`,label:LE[M],anchor:qE(m,M,P),children:p.jsx(UE,{k:M,value:E[M],style:m,c:b,framed:C})},M))]})}function JE(){p2();const e=Rf(u=>u.accentColor);Hw(e);const n=Me(u=>u.handleKeyUp),r=Me(u=>u.isCinematicModeChecked),i=Pe(u=>u.toggle),a=Kt(u=>u.skin)==="sobrenatural",l=v.useRef(!0);return v.useEffect(()=>{const u=setInterval(()=>{Oe.setState(d=>{let h=d.designProgress;return l.current?(h+=15,h>100&&(h=100,l.current=!1)):(h-=15,h<0&&(h=0,l.current=!0)),{designProgress:h}})},1400);return()=>clearInterval(u)},[]),v.useEffect(()=>{const u=d=>{if(d.key==="Escape"&&Pe.getState().active){$e("closePositioningMode"),i();return}n(d)};return document.addEventListener("keyup",u),()=>document.removeEventListener("keyup",u)},[n,i]),p.jsxs("main",{className:"bg-transparent min-h-screen",children:[p.jsx(OE,{}),zt,!a&&p.jsx(_E,{}),!r&&p.jsxs(p.Fragment,{children:[p.jsx(fE,{}),a?p.jsx(QE,{}):p.jsxs(p.Fragment,{children:[p.jsx(pE,{}),p.jsx(qj,{})]}),p.jsx(kE,{}),p.jsx(AE,{}),p.jsx(RE,{}),p.jsx(zE,{}),p.jsx(dE,{})]}),p.jsx(uE,{})]})}a4.createRoot(document.getElementById("root")).render(p.jsx(JE,{})); diff --git a/html/pt-br.json b/html/pt-br.json index de728e8..8a99c2a 100644 --- a/html/pt-br.json +++ b/html/pt-br.json @@ -96,6 +96,22 @@ "metricsTypeMiles": "MPH", "metricsTypeKmh": "KM/H", "metricsTypeDescription": "Escolha sua unidade de medida preferida", + "vehicleThemeLabel": "Tema da HUD de Veículo", + "vehicleThemeClassic": "Clássico", + "vehicleThemeDigital": "Digital", + "vehicleThemeDescription": "Alterne entre o velocímetro analógico clássico e o painel digital", + "vehicleThemeAdminOnly": "Apenas admins podem trocar o tema da HUD de veículo", + "vehicleSpeedoVariantLabel": "Formato do Velocímetro", + "vehicleSpeedoVariantDescription": "Formato do velocímetro digital: circular, arco ou linear", + "playerSkinLabel": "Skin do HUD do Player", + "playerSkinClassic": "Clássico", + "playerSkinSupernatural": "Sobrenatural", + "playerSkinDescription": "Alterne entre a HUD clássica do player e o skin sobrenatural (vitais, dinheiro, servidor)", + "playerSkinAdminOnly": "Apenas admins podem trocar o skin do HUD do player", + "skinPaletteLabel": "Paleta", + "skinStyleLabel": "Estilo dos Vitais", + "skinLayoutLabel": "Disposição", + "skinFramelessLabel": "Remover fundos (orbes + dinheiro)", "positioningMenu": "Posicionamento", "openPositioningMode": "Abrir Modo de Posicionamento", "openPositioningModeDescription": "Arraste, redimensione e oculte elementos do HUD livremente", diff --git a/shared/config.lua b/shared/config.lua index 6d915e5..5a64844 100644 --- a/shared/config.lua +++ b/shared/config.lua @@ -11,6 +11,24 @@ Config.DisablePoliceStress = false -- Default: false, If true will disable stres Config.VehicleEnabled = true -- Enable/Disable the vehicle portion of the HUD (this allows you to use a custom speedometer) Config.EngineCommand = false -- Enable/Disable the built-in engine toggle command (+engine, default key: G). Set to false if using another resource for this. +-- Tema padrao da HUD de veiculo. Define o visual usado por todos os players +-- (default global). Admins podem trocar individualmente pelo menu do HUD. +-- 'classic' = velocimetro analogico atual (gauges do ui-kit) +-- 'digital' = cluster digital/tech ciano (velocidade + fuel/eng + RPM/marcha + turbo + bussola) +Config.VehicleHudTheme = 'classic' +-- Formato do velocimetro no tema 'digital': 'ring' (circular), 'arc' (semicircular) ou 'linear'. +Config.VehicleHudVariant = 'ring' + +-- Skin da HUD do PLAYER (vitais/dinheiro/servidor/voz). Independente do veiculo. +-- 'classic' = HUD atual +-- 'sobrenatural' = reskin ocultista/Diablo II (orbes de vitais, paineis de pedra) +Config.PlayerHudSkin = 'classic' +-- Customizacao do skin 'sobrenatural' (admins podem trocar no menu): +Config.SupernaturalPalette = 'pergaminho' -- pergaminho | sangue | eterno | esmeralda | geada | cinzas +Config.SupernaturalStyle = 'orbes' -- orbes | aneis | barras | cristal +Config.SupernaturalLayout = 'classico' -- unido | separado | classico +Config.SupernaturalFrameless = false -- true = remove os fundos de pedra das orbes + dinheiro (servidor mantem) + -- Admin only to change hud icons/shapes Config.AdminOnly = false diff --git a/web/src/App.tsx b/web/src/App.tsx index c297dfb..52464f5 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -3,6 +3,7 @@ import { useEventHandler, fetchNui } from "./utils/eventHandler"; import { useMenuStore } from "./stores/menuStore"; import { usePlayerStatusHudStore } from "./stores/playerStatusHudStore"; import { usePositioningStore } from "./stores/positioningStore"; +import { usePlayerSkinStore } from "./stores/playerSkinStore"; import { useThemeStore } from "./stores/themeStore"; import { useAccentColor } from "./hooks/useAccentColor"; import debugMode from "./stores/debugStore"; @@ -19,6 +20,7 @@ import MarineHud from "./components/organisms/MarineHud"; import PositioningOverlay from "./components/organisms/PositioningOverlay"; import DevPanel from "./components/organisms/DevPanel"; import ServerLogoHud from "./components/organisms/ServerLogoHud"; +import SupernaturalSkin from "./components/organisms/SupernaturalSkin"; export default function App() { useEventHandler(); @@ -32,6 +34,10 @@ export default function App() { const isCinematicModeChecked = useMenuStore((s) => s.isCinematicModeChecked); const togglePositioning = usePositioningStore((s) => s.toggle); + // Skin 'sobrenatural' substitui a HUD de player classica (vitais + dinheiro + // + server logo + voz). Nao afeta veiculo/bussola/gauges. + const supernatural = usePlayerSkinStore((s) => s.skin) === "sobrenatural"; + // Design-mode progress animation const isUpRef = useRef(true); useEffect(() => { @@ -77,12 +83,18 @@ export default function App() {
{debugMode && } - + {!supernatural && } {!isCinematicModeChecked && ( <> - - + {supernatural ? ( + + ) : ( + <> + + + + )} diff --git a/web/src/components/menu/HudPanel.tsx b/web/src/components/menu/HudPanel.tsx index 3ad2f4d..c6f084e 100644 --- a/web/src/components/menu/HudPanel.tsx +++ b/web/src/components/menu/HudPanel.tsx @@ -1,11 +1,20 @@ import { useMenuStore } from "../../stores/menuStore"; import { usePlayerStatusHudStore } from "../../stores/playerStatusHudStore"; import { usePositioningStore } from "../../stores/positioningStore"; +import { useVehicleThemeStore, SPEEDO_VARIANTS, type SpeedoVariant } from "../../stores/vehicleThemeStore"; +import { + usePlayerSkinStore, + SKIN_PALETTES, + VITAL_STYLES, + type SkinPalette, + type VitalStyle, +} from "../../stores/playerSkinStore"; import { useI18nStore } from "../../utils/i18n"; import { fetchNui } from "../../utils/eventHandler"; import Button from "../atoms/Button"; import Checkbox from "../atoms/Checkbox"; import Switch from "../atoms/Switch"; +import HudSelect from "../atoms/HudSelect"; import PsLogo from "../atoms/PsLogo"; export default function HudPanel() { @@ -30,6 +39,21 @@ export default function HudPanel() { const isUseMPHChecked = useMenuStore((s) => s.isUseMPHChecked); const positioningEnabled = usePositioningStore((s) => s.enabled); + const isAdmin = useMenuStore((s) => s.isAdmin); + const vehicleTheme = useVehicleThemeStore((s) => s.theme); + const speedoVariant = useVehicleThemeStore((s) => s.variant); + const setVehicleTheme = useVehicleThemeStore((s) => s.setTheme); + const setSpeedoVariant = useVehicleThemeStore((s) => s.setVariant); + + const playerSkin = usePlayerSkinStore((s) => s.skin); + const skinPalette = usePlayerSkinStore((s) => s.palette); + const vitalStyle = usePlayerSkinStore((s) => s.vitalStyle); + const skinFrameless = usePlayerSkinStore((s) => s.frameless); + const setPlayerSkin = usePlayerSkinStore((s) => s.setSkin); + const setSkinPalette = usePlayerSkinStore((s) => s.setPalette); + const setVitalStyle = usePlayerSkinStore((s) => s.setVitalStyle); + const setSkinFrameless = usePlayerSkinStore((s) => s.setFrameless); + const dynamicIcons = usePlayerStatusHudStore((s) => s.dynamicIcons); const set = useMenuStore.setState; @@ -165,6 +189,31 @@ export default function HudPanel() { />

{t.metricsTypeDescription}

+ {/* Tema da HUD de veiculo: classico (analogico) x digital (cluster). Admin escolhe. */} +

{t.vehicleThemeLabel}

+
+ setVehicleTheme(v ? "digital" : "classic")} + /> + {vehicleTheme === "digital" && ( +
+

{t.vehicleSpeedoVariantLabel}

+ setSpeedoVariant(v as SpeedoVariant)} + /> +

{t.vehicleSpeedoVariantDescription}

+
+ )} +
+

+ {isAdmin ? t.vehicleThemeDescription : t.vehicleThemeAdminOnly} +

+ { set({ isMapEnabledChecked: v }); fetchNui("HideMap", { checked: v }); }} /> + {/* Skin do HUD do player: classico x sobrenatural. Admin escolhe. */} +

{t.playerSkinLabel}

+
+ setPlayerSkin(v ? "sobrenatural" : "classic")} + /> + {playerSkin === "sobrenatural" && ( +
+
+

{t.skinPaletteLabel}

+ setSkinPalette(v as SkinPalette)} /> +
+
+

{t.skinStyleLabel}

+ setVitalStyle(v as VitalStyle)} /> +
+ setSkinFrameless(v)} /> +
+ )} +

+ {isAdmin ? t.playerSkinDescription : t.playerSkinAdminOnly} +

+
+ +
+

{t.compassMenu}

s.isPointerShowChecked); const positioningActive = usePositioningStore((s) => s.active); + // O tema digital de veiculo ja desenha a propria fita de bussola no cluster; + // esconde a bussola legada quando ela estaria sobreposta (dentro do carro). + const vehicleTheme = useVehicleThemeStore((s) => s.theme); + const vehicleShown = useVehicleHudStore((s) => s.show); + // Smoothly tween the viewBox heading, with instant-jump for wraparound const [tweened, setTweened] = useState(heading); const lastHeadingRef = useRef(heading); @@ -58,6 +65,7 @@ export default function CompassHud() { }, [heading]); if (!show && !debugMode && !positioningActive) return null; + if (vehicleTheme === "digital" && vehicleShown && !positioningActive) return null; return ( = ["harness"]; + interface IconsListProps { isReversed?: boolean; iconsToShow?: Array; @@ -23,6 +30,13 @@ export default function IconsList({ const globalColorSettings = useColorEffectStore((s) => s.globalColorSettings); const externalIcons = useExternalStatusStore((s) => s.icons); + // Com o tema digital ativo dentro do veiculo, oculta os icones duplicados + // pelo cluster (atualmente so o cinto). Nao some no designMode (customizacao) + // pra que ainda seja configuravel no menu. + const vehicleTheme = useVehicleThemeStore((s) => s.theme); + const inVehicle = useVehicleHudStore((s) => s.show); + const digitalActive = vehicleTheme === "digital" && inVehicle; + let orderList: Array = iconsToShow.length ? iconsToShow : showingOrder; if (isReversed) orderList = [...orderList].reverse(); @@ -42,8 +56,11 @@ export default function IconsList({ const currentEffect = colorData.colorEffects[effectIndex]; const buffColor = externalIcons[iconName as string]; + const hiddenByDigital = + digitalActive && !designMode && DIGITAL_DUPLICATED_ICONS.includes(iconName); const isVisible = - (icon.isShowing && !iconsToNotShow.includes(iconName)) || designMode; + (icon.isShowing && !iconsToNotShow.includes(iconName) && !hiddenByDigital) || + designMode; if (!isVisible) return null; const hudIconInfo = { diff --git a/web/src/components/organisms/SupernaturalHud.tsx b/web/src/components/organisms/SupernaturalHud.tsx new file mode 100644 index 0000000..6da4ed4 --- /dev/null +++ b/web/src/components/organisms/SupernaturalHud.tsx @@ -0,0 +1,250 @@ +/** + * Kit de pecas do skin 'sobrenatural' (tema ocultista / Diablo II do handoff). + * + * Exporta as pecas (orbes/aneis/barras + paineis de servidor/dinheiro/relogio/ + * voz) e helpers. A composicao + posicionamento (DraggableHudElement) fica no + * container SupernaturalSkin, pra cada peca ser movel/escondivel separadamente. + * + * Requer Cinzel / Cinzel Decorative / JetBrains Mono (carregadas no index.css). + */ +import type React from "react"; +import { useEffect, useRef, useState } from "react"; + +/* ----------------------------------------------------------------- tipos */ +export type SkinKey = "pergaminho" | "sangue" | "eterno" | "esmeralda" | "geada" | "cinzas"; +export type StyleKey = "orbes" | "aneis" | "barras" | "cristal"; +export type LayoutKey = "unido" | "separado" | "classico"; + +export interface VitalValues { + vida: number; + folego: number; + fome: number; + sede: number; + sanidade: number; + mana: number; +} + +/* --------------------------------------------------------------- paletas */ +export interface Skin { accent: string; deep: string; glow: string; stone: string; stone2: string; amb: string; } +export const SKINS: Record = { + pergaminho: { accent: "#d9b25e", deep: "#6e4f1c", glow: "rgba(217,178,94,.5)", stone: "#181208", stone2: "#22190c", amb: "rgba(200,150,60,.12)" }, + sangue: { accent: "#c75b4a", deep: "#5e1f18", glow: "rgba(199,91,74,.5)", stone: "#1a1010", stone2: "#241413", amb: "rgba(180,60,40,.10)" }, + eterno: { accent: "#a87fe0", deep: "#3e2767", glow: "rgba(168,127,224,.5)", stone: "#150f1d", stone2: "#1f1630", amb: "rgba(120,70,200,.12)" }, + esmeralda: { accent: "#5fb87a", deep: "#1f5236", glow: "rgba(95,184,122,.5)", stone: "#0e1611", stone2: "#142019", amb: "rgba(50,160,100,.12)" }, + geada: { accent: "#6fc2d6", deep: "#1f4e5e", glow: "rgba(111,194,214,.5)", stone: "#0d141a", stone2: "#131e26", amb: "rgba(90,180,210,.12)" }, + cinzas: { accent: "#bcae98", deep: "#5a5040", glow: "rgba(188,174,152,.45)",stone: "#15130f", stone2: "#1f1c16", amb: "rgba(180,170,150,.10)" }, +}; + +/* matiz oklch por atributo */ +const HUE: Record = { vida: 25, folego: 135, fome: 60, sede: 230, sanidade: 185, mana: 295 }; +const GLYPH: Record = { vida: "ᚺ", folego: "ᛋ", fome: "ᚠ", sede: "ᛚ", sanidade: "ᛟ", mana: "ᛜ" }; +const LABELS: Record = { vida: "Vida", folego: "Fôlego", fome: "Fome", sede: "Sede", sanidade: "Sanidade", mana: "Mana" }; +export const LABEL = LABELS; +export const ORDER: (keyof VitalValues)[] = ["vida", "folego", "fome", "sede", "sanidade", "mana"]; + +const vc = (h: number) => `oklch(0.62 0.15 ${h})`; +const vca = (h: number, a: number) => `oklch(0.62 0.15 ${h} / ${a})`; + +/* ------------------------------------------------------- keyframes (uma vez) */ +export const KEYFRAMES = ` +@keyframes hud-glowpulse{0%,100%{opacity:.55}50%{opacity:1}} +@keyframes hud-voiceripple{0%{transform:scale(.8);opacity:.7}100%{transform:scale(2.1);opacity:0}} +@keyframes hud-lowpulse{0%,100%{box-shadow:0 0 0 0 rgba(220,40,40,0),inset 0 0 28px rgba(0,0,0,.7)}50%{box-shadow:0 0 26px 4px rgba(220,40,40,.6),inset 0 0 28px rgba(0,0,0,.7)}} +@keyframes hud-meniscus{0%,100%{transform:translateY(0);opacity:.85}50%{transform:translateY(-1.5px);opacity:1}} +@keyframes hud-sheen{0%{transform:translate(-60%,-60%) rotate(28deg);opacity:0}18%{opacity:.5}40%{transform:translate(60%,60%) rotate(28deg);opacity:0}100%{transform:translate(60%,60%) rotate(28deg);opacity:0}} +`; + +/* --------------------------------------------------------- paineis de pedra */ +export function panelBase(c: Skin): React.CSSProperties { + const stoneBg = `radial-gradient(120% 130% at 30% 0%, rgba(255,225,160,.05), transparent 55%), linear-gradient(160deg, ${c.stone2}, ${c.stone}), repeating-linear-gradient(115deg, rgba(255,255,255,.02) 0 2px, transparent 2px 6px), repeating-linear-gradient(28deg, rgba(0,0,0,.14) 0 3px, transparent 3px 9px)`; + return { background: stoneBg, border: "1px solid rgba(180,140,70,.4)", boxShadow: "0 10px 34px rgba(0,0,0,.6), inset 0 0 30px rgba(0,0,0,.45), inset 0 0 0 1px rgba(180,140,70,.1), inset 0 1px 0 rgba(255,220,150,.1)", borderRadius: 5, position: "relative" }; +} +function Corners({ c }: { c: Skin }) { + const corner = (pos: React.CSSProperties): React.CSSProperties => ({ position: "absolute", width: 7, height: 7, transform: "rotate(45deg)", background: c.accent, boxShadow: `0 0 6px ${c.glow}`, ...pos }); + return (<> + + + ); +} +const labelMono: React.CSSProperties = { fontFamily: "'JetBrains Mono',monospace", textTransform: "uppercase" }; + +/* ============================================================ vitais */ +function Orb({ k, value, size, low }: { k: keyof VitalValues; value: number; size: number; low: boolean }) { + const hue = HUE[k], col = vc(hue), pct = Math.round(value), big = size > 70; + return ( +
+
+
+
+
+
+
+
+
+
+ {GLYPH[k]} + {pct} +
+
+ {LABELS[k]} +
+ ); +} + +function Ring({ k, value }: { k: keyof VitalValues; value: number }) { + const hue = HUE[k], col = vc(hue), pct = Math.round(value), deg = pct * 3.6; + return ( +
+
+
+
+ {GLYPH[k]} + {pct} +
+
+ {LABELS[k]} +
+ ); +} + +function Bar({ k, value, cristal }: { k: keyof VitalValues; value: number; cristal: boolean }) { + const hue = HUE[k], col = vc(hue), pct = Math.round(value); + return ( +
+ {GLYPH[k]} + {LABELS[k]} +
+
+
+ {pct} +
+ ); +} + +function Vital({ k, value, style }: { k: keyof VitalValues; value: number; style: StyleKey }) { + if (style === "orbes") { + const big = k === "vida" || k === "mana"; + return ; + } + if (style === "aneis") return ; + return ; +} + +/** Uma orbe/anel/barra, opcionalmente dentro do painel de pedra. */ +export function VitalPanel({ k, value, style, c, framed }: { k: keyof VitalValues; value: number; style: StyleKey; c: Skin; framed: boolean }) { + const inner = ; + if (!framed) return inner; + return
{inner}
; +} + +/* ============================================================ paineis */ +export function ServerPanel({ server, c }: { server: { name: string; tagline: string; sigil: string; players: string; ping: number }; c: Skin }) { + return ( +
+ +
+ {server.sigil} +
+
{server.name}
+
{server.tagline}
+
+
+ {(server.players || server.ping > 0) && ( +
+ {server.players && ( +
+ + {server.players} online +
+ )} + {server.ping > 0 && ( +
+ ping + {server.ping}ms +
+ )} +
+ )} +
+ ); +} + +export function MoneyPanel({ money, c, framed }: { money: { cash: string; bank: string }; c: Skin; framed: boolean }) { + const block = (label: string, val: string, accentVal: boolean) => { + const valueEl = ( + <> +
{label}
+
+ {val} au +
+ + ); + return framed + ?
{valueEl}
+ :
{valueEl}
; + }; + return
{block("moeda viva", money.cash, false)}{block("cofre etéreo", money.bank, true)}
; +} + +export function ClockPanel({ clock, c }: { clock: { time: string; date: string }; c: Skin }) { + return ( +
+ +
+
{clock.time}
+
{clock.date}
+
+
+ ); +} + +export function VoicePanel({ voice, c, framed }: { voice: { talking: boolean; range: string }; c: Skin; framed: boolean }) { + const accent = c.accent; + const body = ( +
+
+ {voice.talking && } + +
+ + {voice.range} +
+ ); + if (!framed) return body; + return
{body}
; +} + +/* Barrinhas de voz animadas via rAF (o handoff usava Date.now() inline). */ +function VoiceBars({ talking, accent }: { talking: boolean; accent: string }) { + const [, force] = useState(0); + const t = useRef(0); + useEffect(() => { + if (!talking) return; + let raf = 0; + const loop = () => { t.current += 1; force((n) => (n + 1) % 1000); raf = requestAnimationFrame(loop); }; + raf = requestAnimationFrame(loop); + return () => cancelAnimationFrame(raf); + }, [talking]); + return ( +
+ {[0, 1, 2, 3, 4].map((i) => { + const h = talking ? 4 + Math.abs(Math.sin(t.current / 12 + i)) * 12 : 3; + return ; + })} +
+ ); +} diff --git a/web/src/components/organisms/SupernaturalSkin.tsx b/web/src/components/organisms/SupernaturalSkin.tsx new file mode 100644 index 0000000..5729170 --- /dev/null +++ b/web/src/components/organisms/SupernaturalSkin.tsx @@ -0,0 +1,120 @@ +import type { CSSProperties, ReactNode } from "react"; +import { usePlayerStatusHudStore } from "../../stores/playerStatusHudStore"; +import { useColorEffectStore } from "../../stores/colorEffectStore"; +import { useMoneyHudStore } from "../../stores/moneyHudStore"; +import { useSupernaturalVitalsStore } from "../../stores/supernaturalVitalsStore"; +import { usePlayerSkinStore } from "../../stores/playerSkinStore"; +import { usePositioningStore } from "../../stores/positioningStore"; +import debugMode from "../../stores/debugStore"; +import DraggableHudElement from "../atoms/DraggableHudElement"; +import ScaledHudContent from "../atoms/ScaledHudContent"; +import { + SKINS, + ORDER, + LABEL, + KEYFRAMES, + VitalPanel, + ServerPanel, + MoneyPanel, + VoicePanel, + type StyleKey, + type VitalValues, +} from "./SupernaturalHud"; + +/** + * Container do skin 'sobrenatural'. Compoe cada peca (servidor, dinheiro, + * relogio, voz e CADA vital) como um DraggableHudElement proprio, pra serem + * movidas/escondidas/redimensionadas separadamente no F10. + * + * Mapa de vitais (0-100): vida=health · fome=hunger · sede=thirst (HUD base); + * folego · sanidade · mana = stats custom (supernaturalVitalsStore). + */ +type Anchor = Pick; + +// Posicoes padrao de cada vital por estilo (o usuario reposiciona no F10). +function vitalAnchor(style: StyleKey, k: keyof VitalValues, i: number): Anchor { + if (style === "orbes") { + const map: Record = { + vida: { left: 24, bottom: 22 }, + folego: { left: 150, bottom: 96 }, + fome: { left: 226, bottom: 96 }, + sede: { left: 150, bottom: 22 }, + sanidade: { left: 226, bottom: 22 }, + mana: { right: 24, bottom: 22 }, + }; + return map[k]; + } + if (style === "aneis") return { left: 24 + i * 74, bottom: 22 }; + // barras / cristal — empilhadas + return { left: 24, bottom: 22 + (ORDER.length - 1 - i) * 30 }; +} + +function SkinEl({ + id, label, anchor, canResize = true, children, +}: { id: string; label: string; anchor: Anchor; canResize?: boolean; children: ReactNode }) { + return ( + + + {children} + + + ); +} + +export default function SupernaturalSkin() { + const show = usePlayerStatusHudStore((s) => s.show); + const icons = usePlayerStatusHudStore((s) => s.icons); + const voiceEffect = useColorEffectStore((s) => (s.icons as any).voice?.currentEffect ?? 0); + const cash = useMoneyHudStore((s) => s.cash); + const bank = useMoneyHudStore((s) => s.bank); + const folego = useSupernaturalVitalsStore((s) => s.folego); + const sanidade = useSupernaturalVitalsStore((s) => s.sanidade); + const mana = useSupernaturalVitalsStore((s) => s.mana); + + const palette = usePlayerSkinStore((s) => s.palette); + const vitalStyle = usePlayerSkinStore((s) => s.vitalStyle); + const frameless = usePlayerSkinStore((s) => s.frameless); + const positioningActive = usePositioningStore((s) => s.active); + + if (!show && !debugMode && !positioningActive) return null; + + const c = SKINS[palette]; + const framed = !frameless; // frameless afeta vitais + dinheiro (servidor mantem) + const v = (name: string) => Math.round((icons as any)[name]?.progressValue ?? 0); + const vitals: VitalValues = { + vida: v("health"), + fome: v("hunger"), + sede: v("thirst"), + folego: Math.round(folego), + sanidade: Math.round(sanidade), + mana: Math.round(mana), + }; + + const money = { cash: cash.toLocaleString("pt-BR"), bank: bank.toLocaleString("pt-BR") }; + const server = { name: "MRI", tagline: "roleplay", sigil: "MRI", players: "", ping: 0 }; + const voice = { talking: voiceEffect > 0, range: voiceEffect > 0 ? "NORMAL" : "MUDO" }; + + return ( + <> + + + + + + + + + + + + + + + {ORDER.map((k, i) => ( + + + + ))} + + ); +} diff --git a/web/src/components/organisms/VehicleDigitalHud.tsx b/web/src/components/organisms/VehicleDigitalHud.tsx new file mode 100644 index 0000000..2ee6e23 --- /dev/null +++ b/web/src/components/organisms/VehicleDigitalHud.tsx @@ -0,0 +1,432 @@ +import { useEffect, useRef, useState, type ReactNode } from "react"; +import { useVehicleHudStore } from "../../stores/vehicleHudStore"; +import { useMarineHudStore } from "../../stores/marineHudStore"; +import { useAircraftHudStore } from "../../stores/aircraftHudStore"; +import { usePositioningStore } from "../../stores/positioningStore"; +import { useThemeStore } from "../../stores/themeStore"; +import { useVehicleThemeStore, type SpeedoVariant } from "../../stores/vehicleThemeStore"; +import debugMode from "../../stores/debugStore"; +import DraggableHudElement from "../atoms/DraggableHudElement"; +import ScaledHudContent from "../atoms/ScaledHudContent"; +import { useSmoothValue } from "../../hooks/useSmoothValue"; + +const FONT = "'Chakra Petch', 'Yantramanav', sans-serif"; +const RPM_MAX = 8000; +const WARNING = "#ffc24d"; +const DANGER = "#ff5a52"; + +const SEG_HEIGHTS = [9, 11, 13, 15, 17, 19, 21, 23, 25, 27]; + +function clamp(v: number, a: number, b: number) { + return Math.max(a, Math.min(b, v)); +} + +// Cor das barras fuel/eng por nivel (espelha a logica do handoff). +function barColor(p: number, accent: string) { + return p > 50 ? accent : p > 22 ? WARNING : DANGER; +} + +/** + * Boost/turbo derivado da aceleracao (o jogo nao expoe boost de forma + * confiavel). Suaviza a taxa de variacao da velocidade -> 0..100. + */ +function useBoost(speed: number, speedMax: number) { + const [boost, setBoost] = useState(0); + const speedRef = useRef(speed); + speedRef.current = speed; + const prevRef = useRef(speed); + const valRef = useRef(0); + + useEffect(() => { + let raf = 0; + let last = performance.now(); + const tick = (now: number) => { + const dt = (now - last) / 1000; + last = now; + if (dt > 0) { + const accel = (speedRef.current - prevRef.current) / dt; // unidades/s + prevRef.current = speedRef.current; + const target = clamp((accel / speedMax) * 100 * 4, 0, 100); + valRef.current += (target - valRef.current) * (1 - Math.exp(-dt / 0.18)); + setBoost(valRef.current); + } + raf = requestAnimationFrame(tick); + }; + raf = requestAnimationFrame(tick); + return () => cancelAnimationFrame(raf); + }, [speedMax]); + + return boost; +} + +interface ClusterData { + speed: number; + speedInt: number; + speedMax: number; + speedUnit: string; + fuel: number; + eng: number; + boost: number; + rpm: number; + gear: number; + bearing: number; + beltOn: boolean; + accent: string; + variant: SpeedoVariant; +} + +export default function VehicleDigitalHud() { + const show = useVehicleHudStore((s) => s.show); + const rawSpeed = useVehicleHudStore((s) => s.speed); + const speed = useSmoothValue(rawSpeed, 70); + const fuel = useVehicleHudStore((s) => s.fuel); + const engine = useVehicleHudStore((s) => s.engine); + const rawRpm = useVehicleHudStore((s) => s.rpm); + const rpm = useSmoothValue(rawRpm, 90); + const gear = useVehicleHudStore((s) => s.gear); + const heading = useVehicleHudStore((s) => s.heading); + const showSeatBelt = useVehicleHudStore((s) => s.showSeatBelt); + const useMPH = useVehicleHudStore((s) => s.useMPH); + + const accent = useThemeStore((s) => s.accentColor); + const variant = useVehicleThemeStore((s) => s.variant); + + const marineActive = useMarineHudStore((s) => s.show); + const aircraftActive = useAircraftHudStore((s) => s.show); + const positioningActive = usePositioningStore((s) => s.active); + + const speedMax = useMPH ? 120 : 200; + const boost = useBoost(speed, speedMax); + + if (!show && !debugMode && !positioningActive) return null; + // Em barco/aviao o cluster digital de carro nao se aplica. + if ((marineActive || aircraftActive) && !positioningActive && !debugMode) return null; + + // GTA heading e anti-horario (90 = Oeste); converte pra bussola horaria (90 = Leste). + const bearing = ((360 - heading) % 360 + 360) % 360; + + const data: ClusterData = { + speed, + speedInt: Math.round(speed), + speedMax, + speedUnit: useMPH ? "MPH" : "KM/H", + fuel: clamp(Math.round(fuel), 0, 100), + eng: clamp(Math.round(engine), 0, 100), + boost: Math.round(boost), + rpm, + gear, + bearing, + beltOn: !showSeatBelt, + accent, + variant, + }; + + // Cada peca e um DraggableHudElement proprio (igual ao tema classico): + // pode ser movida/escondida/redimensionada de forma independente no F10. + // Os defaults abaixo montam o cluster do handoff ancorado no centro-baixo. + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} + +/** + * Wrapper de uma peca individual do cluster digital. Ancora no centro-baixo + * (translateX(-50%)) e fica posicionavel/escondivel/redimensionavel no F10. + */ +function DigitalEl({ + id, + label, + left, + bottom, + canResize = true, + children, +}: { + id: string; + label: string; + left: string; + bottom: number; + canResize?: boolean; + children: ReactNode; +}) { + return ( + + + {children} + + + ); +} + +/* ---------------------------------------------------------------- speedometer */ + +function Speedometer({ + variant, + speedInt, + frac, + unit, + accent, +}: { + variant: SpeedoVariant; + speedInt: number; + frac: number; + unit: string; + accent: string; +}) { + const glow = "0 0 22px rgba(70,224,255,0.32)"; + const empty = "rgba(255,255,255,0.07)"; + + if (variant === "linear") { + return ( +
+
+
{speedInt}
+
{unit}
+
+
+
+
+
+
+ ); + } + + if (variant === "arc") { + // SVG (em vez de circulo 280x280 com overflow:hidden) pra caixa de limites + // bater no visivel: o medidor do DraggableHudElement pula filhos SVG e usa + // so o raiz (280x146). Preenche da esquerda -> direita por cima. + const R = 120; + const cx = 140; + const cy = 140; + const sw = 28; + const len = Math.PI * R; + const d = `M ${cx - R} ${cy} A ${R} ${R} 0 0 1 ${cx + R} ${cy}`; + return ( +
+ + + + +
+
{speedInt}
+
{unit}
+
+
+ ); + } + + // ring (default) + return ( +
+
+
+
+
{speedInt}
+
{unit}
+
+
+ ); +} + +/* -------------------------------------------------------------------- vbar */ + +function VBar({ + value, + label, + height, + color, + glow = false, +}: { + value: number; + label: string; + height: number; + color: string; + glow?: boolean; +}) { + return ( +
+
{value}
+
+
+
+
{label}
+
+ ); +} + +/* -------------------------------------------------------------------- belt */ + +function BeltPill({ on, accent }: { on: boolean; accent: string }) { + const col = on ? accent : DANGER; + return ( +
+
+
BELT
+
+ ); +} + +/* --------------------------------------------------------------- tachometer */ + +function Tachometer({ rpm, gear, accent }: { rpm: number; gear: number; accent: string }) { + const lit = Math.round(clamp(rpm / RPM_MAX, 0, 1) * 10); + const gearLabel = gear > 0 ? String(gear) : "N"; + return ( +
+
+
{gearLabel}
+
GEAR
+
+
+ {SEG_HEIGHTS.map((h, i) => { + const bg = + i < lit ? (i >= 8 ? DANGER : i >= 7 ? WARNING : accent) : "rgba(255,255,255,0.10)"; + return
; + })} +
+
+
{Math.round(rpm)}
+
RPM
+
+
+ ); +} + +/* ----------------------------------------------------------------- compass */ + +interface Tick { + left: number; + h: number; + col: string; + label: string; +} + +const COMPASS_LABELS: Record = { + 0: "N", 45: "NE", 90: "E", 135: "SE", 180: "S", 225: "SW", 270: "W", 315: "NW", +}; + +const COMPASS_TICKS: Tick[] = (() => { + const ticks: Tick[] = []; + for (let dd = 0; dd <= 720; dd += 15) { + const major = dd % 45 === 0; + ticks.push({ + left: dd * 3, + h: major ? 12 : 6, + col: major ? "rgba(255,255,255,0.72)" : "rgba(255,255,255,0.20)", + label: major ? COMPASS_LABELS[dd % 360] || "" : "", + }); + } + return ticks; +})(); + +function CompassStrip({ bearing, accent }: { bearing: number; accent: string }) { + const compassX = 118 - bearing * 3; + // SVG: o raiz clipa o conteudo (viewport) e e a unica caixa medida pelo + // DraggableHudElement (filhos SVG sao pulados), entao a caixa de limites bate + // nos 236x34 visiveis em vez de esticar ate os ticks distantes. Sem degrade. + return ( + + + {COMPASS_TICKS.map((tk, i) => ( + + + {tk.label && ( + + {tk.label} + + )} + + ))} + + + + + ); +} diff --git a/web/src/components/organisms/VehicleHud.tsx b/web/src/components/organisms/VehicleHud.tsx index 0fdd4c3..49ef687 100644 --- a/web/src/components/organisms/VehicleHud.tsx +++ b/web/src/components/organisms/VehicleHud.tsx @@ -3,13 +3,25 @@ import { useVehicleHudStore } from "../../stores/vehicleHudStore"; import { useMarineHudStore } from "../../stores/marineHudStore"; import { useAircraftHudStore } from "../../stores/aircraftHudStore"; import { usePositioningStore } from "../../stores/positioningStore"; +import { useVehicleThemeStore } from "../../stores/vehicleThemeStore"; import debugMode from "../../stores/debugStore"; import AnalogGauge from "../molecules/hud-shapes/AnalogGauge"; import DraggableHudElement from "../atoms/DraggableHudElement"; import ScaledHudContent from "../atoms/ScaledHudContent"; import { useSmoothValue } from "../../hooks/useSmoothValue"; +import VehicleDigitalHud from "./VehicleDigitalHud"; export default function VehicleHud() { + const theme = useVehicleThemeStore((s) => s.theme); + + // Tema 'digital' = cluster do design handoff. Tema 'classic' (default) = + // velocimetro analogico abaixo. Trocar de tema nao remove nenhum dos dois. + if (theme === "digital") return ; + + return ; +} + +function VehicleClassicHud() { const show = useVehicleHudStore((s) => s.show); const rawSpeed = useVehicleHudStore((s) => s.speed); const speed = useSmoothValue(rawSpeed, 70); diff --git a/web/src/debugMocks.ts b/web/src/debugMocks.ts index 1978305..16c2e61 100644 --- a/web/src/debugMocks.ts +++ b/web/src/debugMocks.ts @@ -8,6 +8,9 @@ import { useDynamicPanelsStore } from "./stores/dynamicPanelsStore"; import { useAircraftHudStore } from "./stores/aircraftHudStore"; import { useMarineHudStore } from "./stores/marineHudStore"; import { useServerLogoStore } from "./stores/serverLogoStore"; +import { useVehicleThemeStore } from "./stores/vehicleThemeStore"; +import { usePlayerSkinStore } from "./stores/playerSkinStore"; +import { useSupernaturalVitalsStore } from "./stores/supernaturalVitalsStore"; if (debugMode) { usePlayerStatusHudStore.setState({ designMode: true }); @@ -16,6 +19,10 @@ if (debugMode) { show: true, speed: 87, fuel: 65, + rpm: 4200, + gear: 3, + engine: 88, + heading: 135, altitude: 120, fuelColor: "#FFFFFF", showAltitude: true, @@ -24,6 +31,15 @@ if (debugMode) { useMPH: false, }); + // Preview do tema novo: abre no 'digital' pra visualizar o cluster do + // handoff. Troque no menu (secao Veiculo) pra comparar com o 'classic'. + useVehicleThemeStore.setState({ theme: "digital", variant: "ring" }); + + // Preview do skin sobrenatural: ativa e popula os vitais custom. Troque + // skin/paleta/estilo/layout no menu (secao Skin do HUD). + usePlayerSkinStore.setState({ skin: "sobrenatural", palette: "pergaminho", vitalStyle: "orbes", layout: "classico" }); + useSupernaturalVitalsStore.setState({ folego: 64, sanidade: 34, mana: 55 }); + useCompassHudStore.setState({ show: true, heading: 180, diff --git a/web/src/index.css b/web/src/index.css index fe25157..f62f8bd 100644 --- a/web/src/index.css +++ b/web/src/index.css @@ -1,4 +1,8 @@ @import '@mriqbox/ui-kit/dist/style.css'; +/* Chakra Petch — fonte do tema digital da HUD de veiculo (design handoff). */ +@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&display=swap'); +/* Cinzel / Cinzel Decorative / JetBrains Mono — skin 'sobrenatural' (handoff). */ +@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Cinzel+Decorative:wght@700;900&family=JetBrains+Mono:wght@400;600&display=swap'); @tailwind base; @tailwind components; diff --git a/web/src/locale/en.json b/web/src/locale/en.json index 1477b95..7378db3 100644 --- a/web/src/locale/en.json +++ b/web/src/locale/en.json @@ -94,6 +94,22 @@ "metricsTypeMiles": "MPH", "metricsTypeKmh": "KM/H", "metricsTypeDescription": "Choose your preferred unit of measurement", + "vehicleThemeLabel": "Vehicle HUD Theme", + "vehicleThemeClassic": "Classic", + "vehicleThemeDigital": "Digital", + "vehicleThemeDescription": "Switch between the classic analog speedometer and the digital cluster", + "vehicleThemeAdminOnly": "Only admins can change the vehicle HUD theme", + "vehicleSpeedoVariantLabel": "Speedometer Format", + "vehicleSpeedoVariantDescription": "Format of the digital speedometer: ring, arc or linear", + "playerSkinLabel": "Player HUD Skin", + "playerSkinClassic": "Classic", + "playerSkinSupernatural": "Supernatural", + "playerSkinDescription": "Switch between the classic player HUD and the supernatural skin (vitals, money, server)", + "playerSkinAdminOnly": "Only admins can change the player HUD skin", + "skinPaletteLabel": "Palette", + "skinStyleLabel": "Vitals Style", + "skinLayoutLabel": "Layout", + "skinFramelessLabel": "Remove backgrounds (orbs + money)", "generalTab": "General", "customizationTab": "Customization", "positioningMenu": "Positioning", diff --git a/web/src/locale/pt-br.json b/web/src/locale/pt-br.json index de728e8..8a99c2a 100644 --- a/web/src/locale/pt-br.json +++ b/web/src/locale/pt-br.json @@ -96,6 +96,22 @@ "metricsTypeMiles": "MPH", "metricsTypeKmh": "KM/H", "metricsTypeDescription": "Escolha sua unidade de medida preferida", + "vehicleThemeLabel": "Tema da HUD de Veículo", + "vehicleThemeClassic": "Clássico", + "vehicleThemeDigital": "Digital", + "vehicleThemeDescription": "Alterne entre o velocímetro analógico clássico e o painel digital", + "vehicleThemeAdminOnly": "Apenas admins podem trocar o tema da HUD de veículo", + "vehicleSpeedoVariantLabel": "Formato do Velocímetro", + "vehicleSpeedoVariantDescription": "Formato do velocímetro digital: circular, arco ou linear", + "playerSkinLabel": "Skin do HUD do Player", + "playerSkinClassic": "Clássico", + "playerSkinSupernatural": "Sobrenatural", + "playerSkinDescription": "Alterne entre a HUD clássica do player e o skin sobrenatural (vitais, dinheiro, servidor)", + "playerSkinAdminOnly": "Apenas admins podem trocar o skin do HUD do player", + "skinPaletteLabel": "Paleta", + "skinStyleLabel": "Estilo dos Vitais", + "skinLayoutLabel": "Disposição", + "skinFramelessLabel": "Remover fundos (orbes + dinheiro)", "positioningMenu": "Posicionamento", "openPositioningMode": "Abrir Modo de Posicionamento", "openPositioningModeDescription": "Arraste, redimensione e oculte elementos do HUD livremente", diff --git a/web/src/stores/playerSkinStore.ts b/web/src/stores/playerSkinStore.ts new file mode 100644 index 0000000..5c4e5b3 --- /dev/null +++ b/web/src/stores/playerSkinStore.ts @@ -0,0 +1,113 @@ +import { create } from "zustand"; +import { playerSkinLocalStorageName } from "../types/types"; + +/** + * Skin da HUD do player. Decide o visual geral da HUD de status do jogador: + * - 'classic' = HUD atual (MetaLayout + MoneyHud + ServerLogo + bussola) + * - 'sobrenatural' = reskin ocultista/Diablo II (orbes de vitais, paineis de pedra) + * + * NAO afeta a HUD de veiculo (essa tem o proprio tema: [[vehicleThemeStore]]). + * + * O skin sobrenatural tem 3 eixos de customizacao (do handoff): + * - palette: 6 paletas de cor + * - vitalStyle: orbes | aneis | barras | cristal + * - layout: unido | separado | classico + * + * Camadas (igual ao tema de veiculo): + * 1. Config.* (shared/config.lua) -> default global via `hudconfig` (setConfig) + * 2. Override local do admin (menu) -> localStorage, vence o default. + */ +export type PlayerSkin = "classic" | "sobrenatural"; +export type SkinPalette = "pergaminho" | "sangue" | "eterno" | "esmeralda" | "geada" | "cinzas"; +export type VitalStyle = "orbes" | "aneis" | "barras" | "cristal"; +export type SkinLayout = "unido" | "separado" | "classico"; + +export const SKIN_PALETTES: readonly SkinPalette[] = ["pergaminho", "sangue", "eterno", "esmeralda", "geada", "cinzas"]; +export const VITAL_STYLES: readonly VitalStyle[] = ["orbes", "aneis", "barras", "cristal"]; +export const SKIN_LAYOUTS: readonly SkinLayout[] = ["unido", "separado", "classico"]; + +interface PlayerSkinState { + skin: PlayerSkin; + palette: SkinPalette; + vitalStyle: VitalStyle; + layout: SkinLayout; + /** Remove os paineis de pedra das orbes + dinheiro (servidor mantem). */ + frameless: boolean; + overridden: boolean; + setConfig: (cfg: { skin?: string; palette?: string; style?: string; layout?: string; frameless?: boolean }) => void; + setSkin: (skin: PlayerSkin) => void; + setPalette: (palette: SkinPalette) => void; + setVitalStyle: (style: VitalStyle) => void; + setLayout: (layout: SkinLayout) => void; + setFrameless: (frameless: boolean) => void; +} + +const isSkin = (v: unknown): v is PlayerSkin => v === "classic" || v === "sobrenatural"; +const isPalette = (v: unknown): v is SkinPalette => (SKIN_PALETTES as readonly string[]).includes(v as string); +const isStyle = (v: unknown): v is VitalStyle => (VITAL_STYLES as readonly string[]).includes(v as string); +const isLayout = (v: unknown): v is SkinLayout => (SKIN_LAYOUTS as readonly string[]).includes(v as string); + +function loadStored() { + try { + const raw = localStorage.getItem(playerSkinLocalStorageName); + if (!raw) return {}; + const p = JSON.parse(raw); + return { + skin: isSkin(p.skin) ? p.skin : undefined, + palette: isPalette(p.palette) ? p.palette : undefined, + vitalStyle: isStyle(p.vitalStyle) ? p.vitalStyle : undefined, + layout: isLayout(p.layout) ? p.layout : undefined, + frameless: p.frameless === true, + overridden: p.overridden === true, + }; + } catch { + return {}; + } +} + +function persist(s: Pick) { + localStorage.setItem( + playerSkinLocalStorageName, + JSON.stringify({ skin: s.skin, palette: s.palette, vitalStyle: s.vitalStyle, layout: s.layout, frameless: s.frameless, overridden: s.overridden }) + ); +} + +function notifyClient(get: () => PlayerSkinState) { + import("../utils/eventHandler").then(({ fetchNui }) => + fetchNui("setPlayerSkin", { + skin: get().skin, + palette: get().palette, + style: get().vitalStyle, + layout: get().layout, + frameless: get().frameless, + }) + ); +} + +const stored = loadStored(); + +export const usePlayerSkinStore = create((set, get) => ({ + skin: stored.skin ?? "classic", + palette: stored.palette ?? "pergaminho", + vitalStyle: stored.vitalStyle ?? "orbes", + layout: stored.layout ?? "classico", + frameless: stored.frameless ?? false, + overridden: stored.overridden ?? false, + + setConfig: (cfg) => { + if (get().overridden) return; + const next: Partial = {}; + if (isSkin(cfg.skin)) next.skin = cfg.skin; + if (isPalette(cfg.palette)) next.palette = cfg.palette; + if (isStyle(cfg.style)) next.vitalStyle = cfg.style; + if (isLayout(cfg.layout)) next.layout = cfg.layout; + if (typeof cfg.frameless === "boolean") next.frameless = cfg.frameless; + if (Object.keys(next).length) set(next); + }, + + setSkin: (skin) => { set({ skin, overridden: true }); persist(get()); notifyClient(get); }, + setPalette: (palette) => { set({ palette, overridden: true }); persist(get()); notifyClient(get); }, + setVitalStyle: (vitalStyle) => { set({ vitalStyle, overridden: true }); persist(get()); notifyClient(get); }, + setLayout: (layout) => { set({ layout, overridden: true }); persist(get()); notifyClient(get); }, + setFrameless: (frameless) => { set({ frameless, overridden: true }); persist(get()); notifyClient(get); }, +})); diff --git a/web/src/stores/supernaturalVitalsStore.ts b/web/src/stores/supernaturalVitalsStore.ts new file mode 100644 index 0000000..4ae0ae7 --- /dev/null +++ b/web/src/stores/supernaturalVitalsStore.ts @@ -0,0 +1,34 @@ +import { create } from "zustand"; +import { capAmountToHundred } from "../types/types"; + +/** + * Vitais extras do skin 'sobrenatural' que NAO existem no HUD base + * (folego, sanidade, mana). Sao "stats custom": valores 0-100 alimentados + * por outros resources via NUI: + * + * SendNUIMessage({ action = 'vitals', topic = 'supernatural', + * folego = 80, sanidade = 60, mana = 45 }) + * + * Campos ausentes na mensagem mantem o valor atual. Default 100 ate um + * script setar. Mapeados como vida/fome/sede no skin vem do HUD base. + * Ver [[hud-theme-skin-architecture]]. + */ +interface SupernaturalVitalsState { + folego: number; + sanidade: number; + mana: number; + receiveMessage: (data: { folego?: number; sanidade?: number; mana?: number }) => void; +} + +export const useSupernaturalVitalsStore = create((set) => ({ + folego: 100, + sanidade: 100, + mana: 100, + + receiveMessage: (data) => + set((s) => ({ + folego: data.folego != null ? capAmountToHundred(data.folego) : s.folego, + sanidade: data.sanidade != null ? capAmountToHundred(data.sanidade) : s.sanidade, + mana: data.mana != null ? capAmountToHundred(data.mana) : s.mana, + })), +})); diff --git a/web/src/stores/vehicleHudStore.ts b/web/src/stores/vehicleHudStore.ts index 1bdb934..5ebdb72 100644 --- a/web/src/stores/vehicleHudStore.ts +++ b/web/src/stores/vehicleHudStore.ts @@ -6,6 +6,11 @@ type VehicleStatusType = { altitude: number; fuel: number; speed: number; + // Telemetria extra usada pelo tema 'digital' (vem do loop rapido de speed). + rpm: number; + gear: number; + engine: number; + heading: number; odometer: number; show: boolean; showAltitude: boolean; @@ -19,7 +24,13 @@ type VehicleStatusType = { interface VehicleHudState extends VehicleStatusType { receiveShowMessage: (data: { show: boolean; seatbelt: boolean }) => void; receiveOdometerMessage: (data: { value: number }) => void; - receiveSpeedMessage: (data: { speed: number }) => void; + receiveSpeedMessage: (data: { + speed: number; + rpm?: number; + gear?: number; + engine?: number; + heading?: number; + }) => void; receiveUpdateMessage: (data: { show: boolean; isPaused: boolean; @@ -38,6 +49,10 @@ export const useVehicleHudStore = create((set) => ({ altitude: 0, fuel: 0, speed: 0, + rpm: 0, + gear: 0, + engine: 100, + heading: 0, odometer: 0, show: false, showAltitude: false, @@ -54,7 +69,13 @@ export const useVehicleHudStore = create((set) => ({ set({ odometer: Math.max(0, data.value) }), receiveSpeedMessage: (data) => - set({ speed: data.speed }), + set((state) => ({ + speed: data.speed, + rpm: data.rpm ?? state.rpm, + gear: data.gear ?? state.gear, + engine: data.engine ?? state.engine, + heading: data.heading ?? state.heading, + })), receiveUpdateMessage: (data) => set((state) => { diff --git a/web/src/stores/vehicleThemeStore.ts b/web/src/stores/vehicleThemeStore.ts new file mode 100644 index 0000000..d0aa8b1 --- /dev/null +++ b/web/src/stores/vehicleThemeStore.ts @@ -0,0 +1,94 @@ +import { create } from "zustand"; +import { vehicleThemeLocalStorageName } from "../types/types"; + +/** + * Tema da HUD de veiculo. Decide qual visual o cluster de veiculo usa: + * - 'classic' = velocimetro analogico atual (gauges do ui-kit) + * - 'digital' = cluster digital/tech ciano do design handoff + * + * Fonte de verdade em camadas: + * 1. Config.VehicleHudTheme/Variant (shared/config.lua) -> default global, + * entregue via `hudconfig` no init (setConfig). + * 2. Override local do player (admin escolhe no menu) -> persistido em + * localStorage; vence o default do config quando presente. + * + * O override do menu eh gated por admin no HudPanel ("admin escolher"). + */ +export type VehicleTheme = "classic" | "digital"; +export type SpeedoVariant = "ring" | "arc" | "linear"; + +export const SPEEDO_VARIANTS: readonly SpeedoVariant[] = ["ring", "arc", "linear"]; + +interface VehicleThemeState { + theme: VehicleTheme; + variant: SpeedoVariant; + /** True quando o player sobrescreveu o default via menu (persiste localmente). */ + overridden: boolean; + /** Default global vindo do Config.VehicleHud* (hudconfig). */ + setConfig: (cfg: { theme?: string; variant?: string }) => void; + /** Troca feita pelo admin no menu -> vira override local. */ + setTheme: (theme: VehicleTheme) => void; + setVariant: (variant: SpeedoVariant) => void; +} + +function isTheme(v: unknown): v is VehicleTheme { + return v === "classic" || v === "digital"; +} +function isVariant(v: unknown): v is SpeedoVariant { + return v === "ring" || v === "arc" || v === "linear"; +} + +function loadStored(): { theme?: VehicleTheme; variant?: SpeedoVariant; overridden?: boolean } { + try { + const raw = localStorage.getItem(vehicleThemeLocalStorageName); + if (!raw) return {}; + const parsed = JSON.parse(raw); + return { + theme: isTheme(parsed.theme) ? parsed.theme : undefined, + variant: isVariant(parsed.variant) ? parsed.variant : undefined, + overridden: parsed.overridden === true, + }; + } catch { + return {}; + } +} + +function persist(state: Pick) { + localStorage.setItem( + vehicleThemeLocalStorageName, + JSON.stringify({ theme: state.theme, variant: state.variant, overridden: state.overridden }) + ); +} + +const stored = loadStored(); + +export const useVehicleThemeStore = create((set, get) => ({ + theme: stored.theme ?? "classic", + variant: stored.variant ?? "ring", + overridden: stored.overridden ?? false, + + setConfig: (cfg) => { + // Default do config so se aplica quando o player nao tem override local. + if (get().overridden) return; + const next: Partial = {}; + if (isTheme(cfg.theme)) next.theme = cfg.theme; + if (isVariant(cfg.variant)) next.variant = cfg.variant; + if (Object.keys(next).length) set(next); + }, + + setTheme: (theme) => { + set({ theme, overridden: true }); + persist(get()); + import("../utils/eventHandler").then(({ fetchNui }) => + fetchNui("setVehicleTheme", { theme: get().theme, variant: get().variant }) + ); + }, + + setVariant: (variant) => { + set({ variant, overridden: true }); + persist(get()); + import("../utils/eventHandler").then(({ fetchNui }) => + fetchNui("setVehicleTheme", { theme: get().theme, variant: get().variant }) + ); + }, +})); diff --git a/web/src/types/types.ts b/web/src/types/types.ts index 985a319..64ef2c6 100644 --- a/web/src/types/types.ts +++ b/web/src/types/types.ts @@ -479,6 +479,8 @@ export const playerStoreLocalStorageName: string = "PSHudPlayerStatus"; export const layoutStoreLocalStorageName: string = "PSHudLayout"; export const colorStoreLocalStorageName: string = "PSHudColor"; export const profileLocalStorageName: string = "PSHudProfile"; +export const vehicleThemeLocalStorageName: string = "PSHudVehicleTheme"; +export const playerSkinLocalStorageName: string = "PSHudPlayerSkin"; export function capAmountToHundred(num: number) { return Math.min(num, 100); diff --git a/web/src/utils/eventHandler.ts b/web/src/utils/eventHandler.ts index 5fd8011..d568db7 100644 --- a/web/src/utils/eventHandler.ts +++ b/web/src/utils/eventHandler.ts @@ -14,6 +14,9 @@ import { useMoneyHudStore } from "../stores/moneyHudStore"; import { useThemeStore } from "../stores/themeStore"; import { useAircraftHudStore } from "../stores/aircraftHudStore"; import { useMarineHudStore } from "../stores/marineHudStore"; +import { useVehicleThemeStore } from "../stores/vehicleThemeStore"; +import { usePlayerSkinStore } from "../stores/playerSkinStore"; +import { useSupernaturalVitalsStore } from "../stores/supernaturalVitalsStore"; import { initI18n } from "./i18n"; import { colorStoreLocalStorageName, @@ -209,6 +212,14 @@ function mainEvent(event: MessageEvent) { } break; + case "vitals": + // Stats custom do skin sobrenatural (folego/sanidade/mana), 0-100, + // alimentados por outros resources. + if (data.topic === "supernatural") { + useSupernaturalVitalsStore.getState().receiveMessage(data as any); + } + break; + case "setLang": initI18n(data.lang); break; @@ -226,6 +237,12 @@ function mainEvent(event: MessageEvent) { elements: data.positioning.elements, }); } + if (data.vehicleTheme) { + useVehicleThemeStore.getState().setConfig(data.vehicleTheme); + } + if (data.playerSkin) { + usePlayerSkinStore.getState().setConfig(data.playerSkin); + } break; case "positioning": diff --git a/web/src/utils/i18n.ts b/web/src/utils/i18n.ts index 5913e37..f131153 100644 --- a/web/src/utils/i18n.ts +++ b/web/src/utils/i18n.ts @@ -115,6 +115,22 @@ const defaultTranslations: Translation = { metricsTypeMiles: "MPH", metricsTypeKmh: "KM/H", metricsTypeDescription: "Choose your preferred unit of measurement", + vehicleThemeLabel: "Vehicle HUD Theme", + vehicleThemeClassic: "Classic", + vehicleThemeDigital: "Digital", + vehicleThemeDescription: "Switch between the classic analog speedometer and the digital cluster", + vehicleThemeAdminOnly: "Only admins can change the vehicle HUD theme", + vehicleSpeedoVariantLabel: "Speedometer Format", + vehicleSpeedoVariantDescription: "Format of the digital speedometer: ring, arc or linear", + playerSkinLabel: "Player HUD Skin", + playerSkinClassic: "Classic", + playerSkinSupernatural: "Supernatural", + playerSkinDescription: "Switch between the classic player HUD and the supernatural skin (vitals, money, server)", + playerSkinAdminOnly: "Only admins can change the player HUD skin", + skinPaletteLabel: "Palette", + skinStyleLabel: "Vitals Style", + skinLayoutLabel: "Layout", + skinFramelessLabel: "Remove backgrounds (orbs + money)", positioningMenu: "Positioning", openPositioningMode: "Open Positioning Mode", openPositioningModeDescription: "Drag, resize and hide HUD elements freely",