From 18e4b119679601257a8524de1566037262dec626 Mon Sep 17 00:00:00 2001 From: Aviral Dua Date: Thu, 26 Mar 2026 10:43:00 -0700 Subject: [PATCH 1/6] feat: Add context window % visualization to web dashboard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Show real-time context window utilization per agent, helping developers catch overflow risks before agents fail (RISK-008). Backend: - Extend ModelPricing with context_window field (unified model registry, no separate lookup table) - Add context_window to all models in DEFAULT_PRICING, plus new models (Claude 4.6, GPT-4.1/5.x, O-series, Gemini) - Fix prefix-matching sort in get_pricing() — longest key first to avoid 'o1' matching before 'o1-mini' (pre-existing bug) - Emit context_window_used (input_tokens) and context_window_max on agent_started, agent_completed, and parallel_agent_completed events Frontend: - 2px progress bar on AgentNode (green <70%, amber 70-89%, red 90%+) - Thresholds extracted to named constants (CONTEXT_WARN_PCT, CONTEXT_DANGER_PCT) - Context row in MetadataGrid detail panel with division-by-zero guard - Pulse animation at 100% usage - Hidden when model context window size is unknown - lib/utils.ts and lib/constants.ts (required by existing imports) Tests: - 21 Python tests: model lookups via get_pricing().context_window (exact, prefix, suffix, edge cases) and event emission via real WorkflowEngine - All tests call production code, not copies - Existing pricing tests (20) pass with zero regressions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/conductor/engine/pricing.py | 110 +++++-- src/conductor/engine/workflow.py | 16 ++ .../src/components/detail/MetadataGrid.tsx | 7 +- .../src/components/graph/AgentNode.tsx | 20 +- src/conductor/web/frontend/src/globals.css | 10 + .../web/frontend/src/lib/constants.ts | 15 + src/conductor/web/frontend/src/lib/utils.ts | 36 +++ .../web/frontend/src/stores/workflow-store.ts | 20 ++ .../web/frontend/src/types/events.ts | 7 + .../web/static/assets/index-AvnMglL6.js | 272 ------------------ .../web/static/assets/index-B0kvfDMx.js | 272 ++++++++++++++++++ .../web/static/assets/index-CYtoBOQo.css | 1 - .../web/static/assets/index-obLVamF6.css | 1 + src/conductor/web/static/index.html | 4 +- .../test_engine/test_context_window_events.py | 146 ++++++++++ tests/test_providers/test_context_window.py | 86 ++++++ 16 files changed, 730 insertions(+), 293 deletions(-) create mode 100644 src/conductor/web/frontend/src/lib/constants.ts create mode 100644 src/conductor/web/frontend/src/lib/utils.ts delete mode 100644 src/conductor/web/static/assets/index-AvnMglL6.js create mode 100644 src/conductor/web/static/assets/index-B0kvfDMx.js delete mode 100644 src/conductor/web/static/assets/index-CYtoBOQo.css create mode 100644 src/conductor/web/static/assets/index-obLVamF6.css create mode 100644 tests/test_engine/test_context_window_events.py create mode 100644 tests/test_providers/test_context_window.py diff --git a/src/conductor/engine/pricing.py b/src/conductor/engine/pricing.py index 6fcc6cd..675d72f 100644 --- a/src/conductor/engine/pricing.py +++ b/src/conductor/engine/pricing.py @@ -11,49 +11,66 @@ @dataclass(frozen=True) class ModelPricing: - """Pricing per million tokens for a model. + """Pricing and metadata per model. Attributes: input_per_mtok: Cost per million input tokens (USD). output_per_mtok: Cost per million output tokens (USD). cache_read_per_mtok: Cost per million cache read tokens (USD). cache_write_per_mtok: Cost per million cache write tokens (USD). + context_window: Context window size in tokens, or None if unknown. """ input_per_mtok: float output_per_mtok: float cache_read_per_mtok: float = 0.0 cache_write_per_mtok: float = 0.0 + context_window: int | None = None -# Default pricing table (January 2026) -# Sources: OpenAI pricing page, Anthropic pricing page +# Default model table (pricing + context window metadata) +# Sources: OpenAI pricing page, Anthropic pricing page, provider docs DEFAULT_PRICING: dict[str, ModelPricing] = { # OpenAI / Copilot models - "gpt-4-turbo": ModelPricing(input_per_mtok=10.00, output_per_mtok=30.00), - "gpt-4o": ModelPricing(input_per_mtok=2.50, output_per_mtok=10.00), - "gpt-4o-mini": ModelPricing(input_per_mtok=0.15, output_per_mtok=0.60), - "gpt-4.1-mini": ModelPricing(input_per_mtok=0.15, output_per_mtok=0.60), # Alias - "gpt-4": ModelPricing(input_per_mtok=30.00, output_per_mtok=60.00), - "gpt-3.5-turbo": ModelPricing(input_per_mtok=0.50, output_per_mtok=1.50), + "gpt-4-turbo": ModelPricing( + input_per_mtok=10.00, output_per_mtok=30.00, context_window=128_000 + ), + "gpt-4o": ModelPricing(input_per_mtok=2.50, output_per_mtok=10.00, context_window=128_000), + "gpt-4o-mini": ModelPricing(input_per_mtok=0.15, output_per_mtok=0.60, context_window=128_000), + "gpt-4.1": ModelPricing(input_per_mtok=2.00, output_per_mtok=8.00, context_window=1_047_576), + "gpt-4.1-mini": ModelPricing( + input_per_mtok=0.15, output_per_mtok=0.60, context_window=1_047_576 + ), + "gpt-4": ModelPricing(input_per_mtok=30.00, output_per_mtok=60.00, context_window=8_192), + "gpt-3.5-turbo": ModelPricing(input_per_mtok=0.50, output_per_mtok=1.50, context_window=16_385), + "gpt-5.2": ModelPricing(input_per_mtok=2.00, output_per_mtok=8.00, context_window=400_000), + "gpt-5.1": ModelPricing(input_per_mtok=2.00, output_per_mtok=8.00, context_window=400_000), + # O-series + "o1": ModelPricing(input_per_mtok=15.00, output_per_mtok=60.00, context_window=200_000), + "o1-mini": ModelPricing(input_per_mtok=3.00, output_per_mtok=12.00, context_window=128_000), + "o1-preview": ModelPricing(input_per_mtok=15.00, output_per_mtok=60.00, context_window=128_000), + "o3-mini": ModelPricing(input_per_mtok=1.10, output_per_mtok=4.40, context_window=200_000), # Claude 4.5 Series (newest) "claude-opus-4-5": ModelPricing( input_per_mtok=5.00, output_per_mtok=25.00, cache_read_per_mtok=0.50, cache_write_per_mtok=6.25, + context_window=200_000, ), "claude-sonnet-4-5": ModelPricing( input_per_mtok=3.00, output_per_mtok=15.00, cache_read_per_mtok=0.30, cache_write_per_mtok=3.75, + context_window=200_000, ), "claude-haiku-4-5": ModelPricing( input_per_mtok=1.00, output_per_mtok=5.00, cache_read_per_mtok=0.10, cache_write_per_mtok=1.25, + context_window=200_000, ), # Short aliases for Claude 4.5 Series (used in workflow files) "opus-4.5": ModelPricing( @@ -61,18 +78,43 @@ class ModelPricing: output_per_mtok=25.00, cache_read_per_mtok=0.50, cache_write_per_mtok=6.25, + context_window=200_000, ), "sonnet-4.5": ModelPricing( input_per_mtok=3.00, output_per_mtok=15.00, cache_read_per_mtok=0.30, cache_write_per_mtok=3.75, + context_window=200_000, ), "haiku-4.5": ModelPricing( input_per_mtok=1.00, output_per_mtok=5.00, cache_read_per_mtok=0.10, cache_write_per_mtok=1.25, + context_window=200_000, + ), + # Claude 4.6 Series + "claude-opus-4.6": ModelPricing( + input_per_mtok=5.00, + output_per_mtok=25.00, + cache_read_per_mtok=0.50, + cache_write_per_mtok=6.25, + context_window=1_000_000, + ), + "claude-opus-4.6-1m": ModelPricing( + input_per_mtok=5.00, + output_per_mtok=25.00, + cache_read_per_mtok=0.50, + cache_write_per_mtok=6.25, + context_window=1_000_000, + ), + "claude-sonnet-4.6": ModelPricing( + input_per_mtok=3.00, + output_per_mtok=15.00, + cache_read_per_mtok=0.30, + cache_write_per_mtok=3.75, + context_window=1_000_000, ), # Claude 4 Series "claude-opus-4": ModelPricing( @@ -80,57 +122,91 @@ class ModelPricing: output_per_mtok=75.00, cache_read_per_mtok=1.50, cache_write_per_mtok=18.75, + context_window=200_000, ), "claude-sonnet-4": ModelPricing( input_per_mtok=3.00, output_per_mtok=15.00, cache_read_per_mtok=0.30, cache_write_per_mtok=3.75, + context_window=200_000, ), "claude-haiku-4": ModelPricing( input_per_mtok=0.25, output_per_mtok=1.25, cache_read_per_mtok=0.03, cache_write_per_mtok=0.30, + context_window=200_000, ), - # Claude 3.7 Series (aliases to 4 series for backward compatibility) + # Claude 3.x Series "claude-3-7-sonnet": ModelPricing( input_per_mtok=3.00, output_per_mtok=15.00, cache_read_per_mtok=0.30, cache_write_per_mtok=3.75, + context_window=200_000, + ), + "claude-3.7-sonnet": ModelPricing( + input_per_mtok=3.00, + output_per_mtok=15.00, + cache_read_per_mtok=0.30, + cache_write_per_mtok=3.75, + context_window=200_000, ), - # Claude 3.5 Series "claude-3-5-sonnet": ModelPricing( input_per_mtok=3.00, output_per_mtok=15.00, cache_read_per_mtok=0.30, cache_write_per_mtok=3.75, + context_window=200_000, + ), + "claude-3.5-sonnet": ModelPricing( + input_per_mtok=3.00, + output_per_mtok=15.00, + cache_read_per_mtok=0.30, + cache_write_per_mtok=3.75, + context_window=200_000, ), "claude-3-5-haiku": ModelPricing( input_per_mtok=0.80, output_per_mtok=4.00, cache_read_per_mtok=0.08, cache_write_per_mtok=1.00, + context_window=200_000, + ), + "claude-3.5-haiku": ModelPricing( + input_per_mtok=0.80, + output_per_mtok=4.00, + cache_read_per_mtok=0.08, + cache_write_per_mtok=1.00, + context_window=200_000, ), - # Claude 3 Series (legacy) "claude-3-opus": ModelPricing( input_per_mtok=15.00, output_per_mtok=75.00, cache_read_per_mtok=1.50, cache_write_per_mtok=18.75, + context_window=200_000, ), "claude-3-sonnet": ModelPricing( input_per_mtok=3.00, output_per_mtok=15.00, cache_read_per_mtok=0.30, cache_write_per_mtok=3.75, + context_window=200_000, ), "claude-3-haiku": ModelPricing( input_per_mtok=0.25, output_per_mtok=1.25, cache_read_per_mtok=0.03, cache_write_per_mtok=0.30, + context_window=200_000, + ), + # Gemini + "gemini-3.1-pro-preview": ModelPricing( + input_per_mtok=1.25, + output_per_mtok=5.00, + context_window=1_000_000, ), } @@ -164,9 +240,11 @@ def get_pricing( # Try fuzzy matching for versioned model names # e.g., "claude-sonnet-4-20250514" -> "claude-sonnet-4" # e.g., "gpt-4o-2024-08-06" -> "gpt-4o" - for known_model, pricing in DEFAULT_PRICING.items(): + # Sort keys longest-first so "o1-mini" matches before "o1" + sorted_keys = sorted(DEFAULT_PRICING.keys(), key=lambda k: len(k), reverse=True) + for known_model in sorted_keys: if model.startswith(known_model): - return pricing + return DEFAULT_PRICING[known_model] # Try removing date suffix patterns for common formats # e.g., "claude-3-5-sonnet-20241022" -> "claude-3-5-sonnet" @@ -179,9 +257,9 @@ def get_pricing( return DEFAULT_PRICING[simplified] # Try matching simplified version against known models - for known_model, pricing in DEFAULT_PRICING.items(): + for known_model in sorted_keys: if simplified.startswith(known_model): - return pricing + return DEFAULT_PRICING[known_model] return None diff --git a/src/conductor/engine/workflow.py b/src/conductor/engine/workflow.py index 53ab0bd..509e986 100644 --- a/src/conductor/engine/workflow.py +++ b/src/conductor/engine/workflow.py @@ -449,6 +449,17 @@ async def _execute_script(self, agent: AgentDef, context: dict[str, Any]) -> Scr operation_name=f"script '{agent.name}'", ) + def _get_context_window_for_agent(self, agent: AgentDef) -> int | None: + """Return the context window size for an agent's model.""" + from conductor.engine.pricing import get_pricing + + model = agent.model + if not model: + return None + + pricing = get_pricing(model) + return pricing.context_window if pricing else None + async def run(self, inputs: dict[str, Any]) -> dict[str, Any]: """Execute the workflow from entry_point to $end. @@ -1179,6 +1190,7 @@ async def _execute_loop(self, current_agent_name: str) -> dict[str, Any]: "agent_name": agent.name, "iteration": agent_execution_count, "agent_type": agent.type or "agent", + "context_window_max": self._get_context_window_for_agent(agent), }, ) @@ -1417,6 +1429,8 @@ async def _execute_loop(self, current_agent_name: str) -> dict[str, Any]: "cost_usd": usage.cost_usd, "output": output.content, "output_keys": output_keys, + "context_window_used": output.input_tokens, + "context_window_max": self._get_context_window_for_agent(agent), }, ) @@ -2043,6 +2057,8 @@ async def execute_single_agent(agent: AgentDef) -> tuple[str, Any]: "model": output.model, "tokens": output.tokens_used, "cost_usd": usage.cost_usd, + "context_window_used": output.input_tokens, + "context_window_max": self._get_context_window_for_agent(agent), }, ) diff --git a/src/conductor/web/frontend/src/components/detail/MetadataGrid.tsx b/src/conductor/web/frontend/src/components/detail/MetadataGrid.tsx index e11e0f2..a1c08a3 100644 --- a/src/conductor/web/frontend/src/components/detail/MetadataGrid.tsx +++ b/src/conductor/web/frontend/src/components/detail/MetadataGrid.tsx @@ -1,4 +1,4 @@ -import { formatElapsed, formatCost, formatTokens } from '@/lib/utils'; +import { formatElapsed, formatCost, formatTokens, formatContextFull } from '@/lib/utils'; interface MetadataGridProps { items: Array<{ label: string; value: string | number | null | undefined }>; @@ -31,6 +31,8 @@ export function buildAgentMetadata(nd: { input_tokens?: number; output_tokens?: number; cost_usd?: number; + context_window_used?: number; + context_window_max?: number; iteration?: number; error_type?: string; error_message?: string; @@ -44,6 +46,9 @@ export function buildAgentMetadata(nd: { items.push({ label: 'In / Out', value: `${formatTokens(nd.input_tokens)} / ${formatTokens(nd.output_tokens)}` }); } if (nd.cost_usd != null) items.push({ label: 'Cost', value: formatCost(nd.cost_usd) }); + if (nd.context_window_used != null && nd.context_window_max != null) { + items.push({ label: 'Context', value: formatContextFull(nd.context_window_used, nd.context_window_max) }); + } if (nd.iteration != null) items.push({ label: 'Iteration', value: nd.iteration }); if (nd.error_type) items.push({ label: 'Error', value: nd.error_type }); if (nd.error_message) items.push({ label: 'Message', value: nd.error_message }); diff --git a/src/conductor/web/frontend/src/components/graph/AgentNode.tsx b/src/conductor/web/frontend/src/components/graph/AgentNode.tsx index ed7b69b..e56a52d 100644 --- a/src/conductor/web/frontend/src/components/graph/AgentNode.tsx +++ b/src/conductor/web/frontend/src/components/graph/AgentNode.tsx @@ -2,7 +2,7 @@ import { memo, useEffect, useRef, useState } from 'react'; import { Handle, Position, type NodeProps } from '@xyflow/react'; import { Bot } from 'lucide-react'; import { cn, formatElapsed, formatTokens, formatCost } from '@/lib/utils'; -import { NODE_STATUS_HEX } from '@/lib/constants'; +import { NODE_STATUS_HEX, CONTEXT_WARN_PCT, CONTEXT_DANGER_PCT } from '@/lib/constants'; import { useWorkflowStore } from '@/stores/workflow-store'; import { NodeTooltip } from './NodeTooltip'; import type { GraphNodeData } from './graph-layout'; @@ -23,6 +23,7 @@ export const AgentNode = memo(function AgentNode({ data, id, selected }: NodePro const iteration = useWorkflowStore((s) => s.nodes[id]?.iteration); const errorType = useWorkflowStore((s) => s.nodes[id]?.error_type); const errorMessage = useWorkflowStore((s) => s.nodes[id]?.error_message); + const contextPct = useWorkflowStore((s) => s.nodes[id]?.context_pct); // Live elapsed timer for running nodes const liveElapsed = useLiveElapsed(id, status); @@ -105,6 +106,23 @@ export const AgentNode = memo(function AgentNode({ data, id, selected }: NodePro )} + {/* Context window progress bar */} + {contextPct != null && ( +
+
= CONTEXT_DANGER_PCT ? 'animate-[context-pulse_2s_ease-in-out_infinite]' : '' + )} + style={{ + width: `${Math.min(contextPct, 100)}%`, + backgroundColor: contextPct >= CONTEXT_DANGER_PCT ? '#ef4444' : contextPct >= CONTEXT_WARN_PCT ? '#f59e0b' : '#22c55e', + }} + /> +
+ )}
diff --git a/src/conductor/web/frontend/src/globals.css b/src/conductor/web/frontend/src/globals.css index 6b50e2e..e2ffdfc 100644 --- a/src/conductor/web/frontend/src/globals.css +++ b/src/conductor/web/frontend/src/globals.css @@ -130,6 +130,16 @@ body { } } +@keyframes context-pulse { + 0%, + 100% { + opacity: 1; + } + 50% { + opacity: 0.4; + } +} + /* Edge animation */ @keyframes dash-flow { to { diff --git a/src/conductor/web/frontend/src/lib/constants.ts b/src/conductor/web/frontend/src/lib/constants.ts new file mode 100644 index 0000000..eb3a91c --- /dev/null +++ b/src/conductor/web/frontend/src/lib/constants.ts @@ -0,0 +1,15 @@ +export type NodeStatus = 'pending' | 'running' | 'completed' | 'failed' | 'paused' | 'idle' | 'waiting'; +export type NodeType = 'agent' | 'script' | 'human_gate' | 'parallel_group' | 'for_each_group' | 'start' | 'end'; + +export const NODE_STATUS_HEX: Record = { + pending: '#6b7280', + running: '#3b82f6', + completed: '#22c55e', + failed: '#ef4444', + paused: '#f59e0b', + idle: '#6b7280', + waiting: '#a855f7', +}; + +export const CONTEXT_WARN_PCT = 70; +export const CONTEXT_DANGER_PCT = 90; diff --git a/src/conductor/web/frontend/src/lib/utils.ts b/src/conductor/web/frontend/src/lib/utils.ts new file mode 100644 index 0000000..194f86d --- /dev/null +++ b/src/conductor/web/frontend/src/lib/utils.ts @@ -0,0 +1,36 @@ +export function cn(...classes: (string | undefined | false)[]): string { + return classes.filter(Boolean).join(' '); +} + +export function formatElapsed(seconds: number | undefined): string { + if (seconds == null) return ''; + if (seconds < 60) return `${seconds.toFixed(1)}s`; + const m = Math.floor(seconds / 60); + const s = (seconds % 60).toFixed(0); + return `${m}m ${s}s`; +} + +export function formatTokens(tokens: number | undefined): string { + if (tokens == null) return ''; + if (tokens >= 1_000_000) return `${(tokens / 1_000_000).toFixed(1)}M`; + if (tokens >= 1_000) return `${(tokens / 1_000).toFixed(1)}K`; + return `${tokens}`; +} + +export function formatCost(cost: number | undefined): string { + if (cost == null) return ''; + return `$${cost.toFixed(4)}`; +} + +export function formatOutput(output: unknown): string { + if (output == null) return ''; + if (typeof output === 'string') return output; + return JSON.stringify(output, null, 2); +} + +export function formatContextFull(used: number, max: number): string { + if (max <= 0) return `${used.toLocaleString()} tokens (limit unknown)`; + const fmt = (n: number) => n.toLocaleString(); + const pct = ((used / max) * 100).toFixed(1); + return `${fmt(used)} / ${fmt(max)} (${pct}%)`; +} diff --git a/src/conductor/web/frontend/src/stores/workflow-store.ts b/src/conductor/web/frontend/src/stores/workflow-store.ts index 1cba82c..dc2390a 100644 --- a/src/conductor/web/frontend/src/stores/workflow-store.ts +++ b/src/conductor/web/frontend/src/stores/workflow-store.ts @@ -74,6 +74,10 @@ export interface NodeData { type: NodeType; elapsed?: number; model?: string; + // Context window tracking + context_pct?: number; + context_window_used?: number; + context_window_max?: number; tokens?: number; input_tokens?: number; output_tokens?: number; @@ -455,6 +459,10 @@ const eventHandlers: Record 0) { + nd.context_pct = Math.round((data.context_window_used / data.context_window_max) * 100); + } if (data.cost_usd) state.totalCost += data.cost_usd; if (data.tokens) state.totalTokens += data.tokens; replaceNode(state.nodes, data.agent_name); @@ -684,6 +698,12 @@ const eventHandlers: Record 0) { + nd.context_pct = Math.round((data.context_window_used / data.context_window_max) * 100); + } if (data.cost_usd) state.totalCost += data.cost_usd; if (data.tokens) state.totalTokens += data.tokens; replaceNode(state.nodes, data.agent_name); diff --git a/src/conductor/web/frontend/src/types/events.ts b/src/conductor/web/frontend/src/types/events.ts index a1f5ed0..fd2553a 100644 --- a/src/conductor/web/frontend/src/types/events.ts +++ b/src/conductor/web/frontend/src/types/events.ts @@ -65,6 +65,7 @@ export interface WorkflowFailedData { export interface AgentStartedData { agent_name: string; iteration?: number; + context_window_max?: number; } export interface AgentCompletedData { @@ -75,6 +76,8 @@ export interface AgentCompletedData { input_tokens?: number; output_tokens?: number; cost_usd?: number; + context_window_used?: number; + context_window_max?: number; output?: unknown; output_keys?: string[]; } @@ -114,6 +117,8 @@ export interface AgentToolCompleteData { export interface AgentTurnStartData { agent_name: string; turn?: number; + context_window_used?: number; + context_window_max?: number; } export interface AgentMessageData { @@ -186,6 +191,8 @@ export interface ParallelAgentCompletedData { model?: string; tokens?: number; cost_usd?: number; + context_window_used?: number; + context_window_max?: number; } export interface ParallelAgentFailedData { diff --git a/src/conductor/web/static/assets/index-AvnMglL6.js b/src/conductor/web/static/assets/index-AvnMglL6.js deleted file mode 100644 index 60a6859..0000000 --- a/src/conductor/web/static/assets/index-AvnMglL6.js +++ /dev/null @@ -1,272 +0,0 @@ -var $2=Object.defineProperty;var X2=(e,n,i)=>n in e?$2(e,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[n]=i;var Ct=(e,n,i)=>X2(e,typeof n!="symbol"?n+"":n,i);function P2(e,n){for(var i=0;il[o]})}}}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 o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const u of s.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&l(u)}).observe(document,{childList:!0,subtree:!0});function i(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function l(o){if(o.ep)return;o.ep=!0;const s=i(o);fetch(o.href,s)}})();function Yo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Gd={exports:{}},oo={};/** - * @license React - * react-jsx-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var xx;function F2(){if(xx)return oo;xx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function i(l,o,s){var u=null;if(s!==void 0&&(u=""+s),o.key!==void 0&&(u=""+o.key),"key"in o){s={};for(var f in o)f!=="key"&&(s[f]=o[f])}else s=o;return o=s.ref,{$$typeof:e,type:l,key:u,ref:o!==void 0?o:null,props:s}}return oo.Fragment=n,oo.jsx=i,oo.jsxs=i,oo}var vx;function Q2(){return vx||(vx=1,Gd.exports=F2()),Gd.exports}var b=Q2(),Yd={exports:{}},Ae={};/** - * @license React - * react.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var bx;function Z2(){if(bx)return Ae;bx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),u=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),y=Symbol.iterator;function v(U){return U===null||typeof U!="object"?null:(U=y&&U[y]||U["@@iterator"],typeof U=="function"?U:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},N=Object.assign,S={};function E(U,P,k){this.props=U,this.context=P,this.refs=S,this.updater=k||w}E.prototype.isReactComponent={},E.prototype.setState=function(U,P){if(typeof U!="object"&&typeof U!="function"&&U!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,U,P,"setState")},E.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function A(){}A.prototype=E.prototype;function _(U,P,k){this.props=U,this.context=P,this.refs=S,this.updater=k||w}var z=_.prototype=new A;z.constructor=_,N(z,E.prototype),z.isPureReactComponent=!0;var B=Array.isArray;function T(){}var I={H:null,A:null,T:null,S:null},M=Object.prototype.hasOwnProperty;function L(U,P,k){var V=k.ref;return{$$typeof:e,type:U,key:P,ref:V!==void 0?V:null,props:k}}function X(U,P){return L(U.type,P,U.props)}function q(U){return typeof U=="object"&&U!==null&&U.$$typeof===e}function D(U){var P={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(k){return P[k]})}var W=/\/+/g;function H(U,P){return typeof U=="object"&&U!==null&&U.key!=null?D(""+U.key):P.toString(36)}function Y(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(T,T):(U.status="pending",U.then(function(P){U.status==="pending"&&(U.status="fulfilled",U.value=P)},function(P){U.status==="pending"&&(U.status="rejected",U.reason=P)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function O(U,P,k,V,F){var J=typeof U;(J==="undefined"||J==="boolean")&&(U=null);var ne=!1;if(U===null)ne=!0;else switch(J){case"bigint":case"string":case"number":ne=!0;break;case"object":switch(U.$$typeof){case e:case n:ne=!0;break;case m:return ne=U._init,O(ne(U._payload),P,k,V,F)}}if(ne)return F=F(U),ne=V===""?"."+H(U,0):V,B(F)?(k="",ne!=null&&(k=ne.replace(W,"$&/")+"/"),O(F,P,k,"",function(ge){return ge})):F!=null&&(q(F)&&(F=X(F,k+(F.key==null||U&&U.key===F.key?"":(""+F.key).replace(W,"$&/")+"/")+ne)),P.push(F)),1;ne=0;var re=V===""?".":V+":";if(B(U))for(var se=0;se>>1,j=O[K];if(0>>1;Ko(k,Z))Vo(F,k)?(O[K]=F,O[V]=Z,K=V):(O[K]=k,O[P]=Z,K=P);else if(Vo(F,Z))O[K]=F,O[V]=Z,K=V;else break e}}return $}function o(O,$){var Z=O.sortIndex-$.sortIndex;return Z!==0?Z:O.id-$.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var d=[],h=[],m=1,p=null,y=3,v=!1,w=!1,N=!1,S=!1,E=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function z(O){for(var $=i(h);$!==null;){if($.callback===null)l(h);else if($.startTime<=O)l(h),$.sortIndex=$.expirationTime,n(d,$);else break;$=i(h)}}function B(O){if(N=!1,z(O),!w)if(i(d)!==null)w=!0,T||(T=!0,D());else{var $=i(h);$!==null&&Y(B,$.startTime-O)}}var T=!1,I=-1,M=5,L=-1;function X(){return S?!0:!(e.unstable_now()-LO&&X());){var K=p.callback;if(typeof K=="function"){p.callback=null,y=p.priorityLevel;var j=K(p.expirationTime<=O);if(O=e.unstable_now(),typeof j=="function"){p.callback=j,z(O),$=!0;break t}p===i(d)&&l(d),z(O)}else l(d);p=i(d)}if(p!==null)$=!0;else{var U=i(h);U!==null&&Y(B,U.startTime-O),$=!1}}break e}finally{p=null,y=Z,v=!1}$=void 0}}finally{$?D():T=!1}}}var D;if(typeof _=="function")D=function(){_(q)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,H=W.port2;W.port1.onmessage=q,D=function(){H.postMessage(null)}}else D=function(){E(q,0)};function Y(O,$){I=E(function(){O(e.unstable_now())},$)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(O){O.callback=null},e.unstable_forceFrameRate=function(O){0>O||125K?(O.sortIndex=Z,n(h,O),i(d)===null&&O===i(h)&&(N?(A(I),I=-1):N=!0,Y(B,Z-K))):(O.sortIndex=j,n(d,O),w||v||(w=!0,T||(T=!0,D()))),O},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(O){var $=y;return function(){var Z=y;y=$;try{return O.apply(this,arguments)}finally{y=Z}}}})(Pd)),Pd}var _x;function W2(){return _x||(_x=1,Xd.exports=J2()),Xd.exports}var Fd={exports:{}},$t={};/** - * @license React - * react-dom.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Ex;function eN(){if(Ex)return $t;Ex=1;var e=$o();function n(d){var h="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Fd.exports=eN(),Fd.exports}/** - * @license React - * react-dom-client.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var kx;function tN(){if(kx)return so;kx=1;var e=W2(),n=$o(),i=R1();function l(t){var r="https://react.dev/errors/"+t;if(1j||(t.current=K[j],K[j]=null,j--)}function k(t,r){j++,K[j]=t.current,t.current=r}var V=U(null),F=U(null),J=U(null),ne=U(null);function re(t,r){switch(k(J,r),k(F,t),k(V,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?I0(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=I0(r),t=V0(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}P(V),k(V,t)}function se(){P(V),P(F),P(J)}function ge(t){t.memoizedState!==null&&k(ne,t);var r=V.current,a=V0(r,t.type);r!==a&&(k(F,t),k(V,a))}function ve(t){F.current===t&&(P(V),P(F)),ne.current===t&&(P(ne),ro._currentValue=Z)}var ye,he;function _e(t){if(ye===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);ye=r&&r[1]||"",he=-1)":-1g||Q[c]!==le[g]){var ce=` -`+Q[c].replace(" at new "," at ");return t.displayName&&ce.includes("")&&(ce=ce.replace("",t.displayName)),ce}while(1<=c&&0<=g);break}}}finally{Me=!1,Error.prepareStackTrace=a}return(a=t?t.displayName||t.name:"")?_e(a):""}function ut(t,r){switch(t.tag){case 26:case 27:case 5:return _e(t.type);case 16:return _e("Lazy");case 13:return t.child!==r&&r!==null?_e("Suspense Fallback"):_e("Suspense");case 19:return _e("SuspenseList");case 0:case 15:return Ce(t.type,!1);case 11:return Ce(t.type.render,!1);case 1:return Ce(t.type,!0);case 31:return _e("Activity");default:return""}}function et(t){try{var r="",a=null;do r+=ut(t,a),a=t,t=t.return;while(t);return r}catch(c){return` -Error generating stack: `+c.message+` -`+c.stack}}var Mt=Object.prototype.hasOwnProperty,Vt=e.unstable_scheduleCallback,Lt=e.unstable_cancelCallback,Sn=e.unstable_shouldYield,jn=e.unstable_requestPaint,jt=e.unstable_now,Rr=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,me=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,Le=e.unstable_LowPriority,Ge=e.unstable_IdlePriority,Pt=e.log,On=e.unstable_setDisableYieldValue,Ht=null,vt=null;function Gt(t){if(typeof Pt=="function"&&On(t),vt&&typeof vt.setStrictMode=="function")try{vt.setStrictMode(Ht,t)}catch{}}var Ke=Math.clz32?Math.clz32:Tc,Xn=Math.log,un=Math.LN2;function Tc(t){return t>>>=0,t===0?32:31-(Xn(t)/un|0)|0}var el=256,tl=262144,nl=4194304;function ar(t){var r=t&42;if(r!==0)return r;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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function rl(t,r,a){var c=t.pendingLanes;if(c===0)return 0;var g=0,x=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var R=c&134217727;return R!==0?(c=R&~x,c!==0?g=ar(c):(C&=R,C!==0?g=ar(C):a||(a=R&~t,a!==0&&(g=ar(a))))):(R=c&~x,R!==0?g=ar(R):C!==0?g=ar(C):a||(a=c&~t,a!==0&&(g=ar(a)))),g===0?0:r!==0&&r!==g&&(r&x)===0&&(x=g&-g,a=r&-r,x>=a||x===32&&(a&4194048)!==0)?r:g}function xi(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function Mc(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32: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 r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function rs(){var t=nl;return nl<<=1,(nl&62914560)===0&&(nl=4194304),t}function pa(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function vi(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function jc(t,r,a,c,g,x){var C=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var R=t.entanglements,Q=t.expirationTimes,le=t.hiddenUpdates;for(a=C&~a;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Hc=/[\n"\\]/g;function Zt(t){return t.replace(Hc,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function Si(t,r,a,c,g,x,C,R){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),r!=null?C==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+Qt(r)):t.value!==""+Qt(r)&&(t.value=""+Qt(r)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),r!=null?va(t,C,Qt(r)):a!=null?va(t,C,Qt(a)):c!=null&&t.removeAttribute("value"),g==null&&x!=null&&(t.defaultChecked=!!x),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),R!=null&&typeof R!="function"&&typeof R!="symbol"&&typeof R!="boolean"?t.name=""+Qt(R):t.removeAttribute("name")}function gs(t,r,a,c,g,x,C,R){if(x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.type=x),r!=null||a!=null){if(!(x!=="submit"&&x!=="reset"||r!=null)){Ur(t);return}a=a!=null?""+Qt(a):"",r=r!=null?""+Qt(r):a,R||r===t.value||(t.value=r),t.defaultValue=r}c=c??g,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=R?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),Ur(t)}function va(t,r,a){r==="number"&&wi(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function ur(t,r,a,c){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Vc=!1;if(fr)try{var wa={};Object.defineProperty(wa,"passive",{get:function(){Vc=!0}}),window.addEventListener("test",wa,wa),window.removeEventListener("test",wa,wa)}catch{Vc=!1}var Ir=null,Gc=null,xs=null;function Vm(){if(xs)return xs;var t,r=Gc,a=r.length,c,g="value"in Ir?Ir.value:Ir.textContent,x=g.length;for(t=0;t=Ea),Fm=" ",Qm=!1;function Zm(t,r){switch(t){case"keyup":return hE.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Km(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var cl=!1;function mE(t,r){switch(t){case"compositionend":return Km(r);case"keypress":return r.which!==32?null:(Qm=!0,Fm);case"textInput":return t=r.data,t===Fm&&Qm?null:t;default:return null}}function gE(t,r){if(cl)return t==="compositionend"||!Fc&&Zm(t,r)?(t=Vm(),xs=Gc=Ir=null,cl=!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:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=lg(a)}}function og(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?og(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function sg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=wi(t.document);r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=wi(t.document)}return r}function Kc(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")}var EE=fr&&"documentMode"in document&&11>=document.documentMode,fl=null,Jc=null,za=null,Wc=!1;function ug(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Wc||fl==null||fl!==wi(c)||(c=fl,"selectionStart"in c&&Kc(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}),za&&Ca(za,c)||(za=c,c=fu(Jc,"onSelect"),0>=C,g-=C,Fn=1<<32-Ke(r)+g|a<je?(Ue=Se,Se=null):Ue=Se.sibling;var $e=ae(te,Se,ie[je],fe);if($e===null){Se===null&&(Se=Ue);break}t&&Se&&$e.alternate===null&&r(te,Se),ee=x($e,ee,je),Ye===null?Ee=$e:Ye.sibling=$e,Ye=$e,Se=Ue}if(je===ie.length)return a(te,Se),Ie&&hr(te,je),Ee;if(Se===null){for(;jeje?(Ue=Se,Se=null):Ue=Se.sibling;var ui=ae(te,Se,$e.value,fe);if(ui===null){Se===null&&(Se=Ue);break}t&&Se&&ui.alternate===null&&r(te,Se),ee=x(ui,ee,je),Ye===null?Ee=ui:Ye.sibling=ui,Ye=ui,Se=Ue}if($e.done)return a(te,Se),Ie&&hr(te,je),Ee;if(Se===null){for(;!$e.done;je++,$e=ie.next())$e=de(te,$e.value,fe),$e!==null&&(ee=x($e,ee,je),Ye===null?Ee=$e:Ye.sibling=$e,Ye=$e);return Ie&&hr(te,je),Ee}for(Se=c(Se);!$e.done;je++,$e=ie.next())$e=oe(Se,te,je,$e.value,fe),$e!==null&&(t&&$e.alternate!==null&&Se.delete($e.key===null?je:$e.key),ee=x($e,ee,je),Ye===null?Ee=$e:Ye.sibling=$e,Ye=$e);return t&&Se.forEach(function(Y2){return r(te,Y2)}),Ie&&hr(te,je),Ee}function rt(te,ee,ie,fe){if(typeof ie=="object"&&ie!==null&&ie.type===N&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case v:e:{for(var Ee=ie.key;ee!==null;){if(ee.key===Ee){if(Ee=ie.type,Ee===N){if(ee.tag===7){a(te,ee.sibling),fe=g(ee,ie.props.children),fe.return=te,te=fe;break e}}else if(ee.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===M&&ji(Ee)===ee.type){a(te,ee.sibling),fe=g(ee,ie.props),Ra(fe,ie),fe.return=te,te=fe;break e}a(te,ee);break}else r(te,ee);ee=ee.sibling}ie.type===N?(fe=Ci(ie.props.children,te.mode,fe,ie.key),fe.return=te,te=fe):(fe=zs(ie.type,ie.key,ie.props,null,te.mode,fe),Ra(fe,ie),fe.return=te,te=fe)}return C(te);case w:e:{for(Ee=ie.key;ee!==null;){if(ee.key===Ee)if(ee.tag===4&&ee.stateNode.containerInfo===ie.containerInfo&&ee.stateNode.implementation===ie.implementation){a(te,ee.sibling),fe=g(ee,ie.children||[]),fe.return=te,te=fe;break e}else{a(te,ee);break}else r(te,ee);ee=ee.sibling}fe=of(ie,te.mode,fe),fe.return=te,te=fe}return C(te);case M:return ie=ji(ie),rt(te,ee,ie,fe)}if(Y(ie))return be(te,ee,ie,fe);if(D(ie)){if(Ee=D(ie),typeof Ee!="function")throw Error(l(150));return ie=Ee.call(ie),ke(te,ee,ie,fe)}if(typeof ie.then=="function")return rt(te,ee,Ds(ie),fe);if(ie.$$typeof===_)return rt(te,ee,Ms(te,ie),fe);Ls(te,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,ee!==null&&ee.tag===6?(a(te,ee.sibling),fe=g(ee,ie),fe.return=te,te=fe):(a(te,ee),fe=af(ie,te.mode,fe),fe.return=te,te=fe),C(te)):a(te,ee)}return function(te,ee,ie,fe){try{Oa=0;var Ee=rt(te,ee,ie,fe);return Sl=null,Ee}catch(Se){if(Se===wl||Se===Os)throw Se;var Ye=fn(29,Se,null,te.mode);return Ye.lanes=fe,Ye.return=te,Ye}finally{}}}var Ri=jg(!0),Og=jg(!1),Xr=!1;function vf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function bf(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Pr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Fr(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Fe&2)!==0){var g=c.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),c.pending=r,r=Cs(t),gg(t,null,a),r}return ks(t,c,r,a),Cs(t)}function Da(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194048)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,ls(t,a)}}function wf(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var g=null,x=null;if(a=a.firstBaseUpdate,a!==null){do{var C={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};x===null?g=x=C:x=x.next=C,a=a.next}while(a!==null);x===null?g=x=r:x=x.next=r}else g=x=r;a={baseState:c.baseState,firstBaseUpdate:g,lastBaseUpdate:x,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}var Sf=!1;function La(){if(Sf){var t=bl;if(t!==null)throw t}}function Ha(t,r,a,c){Sf=!1;var g=t.updateQueue;Xr=!1;var x=g.firstBaseUpdate,C=g.lastBaseUpdate,R=g.shared.pending;if(R!==null){g.shared.pending=null;var Q=R,le=Q.next;Q.next=null,C===null?x=le:C.next=le,C=Q;var ce=t.alternate;ce!==null&&(ce=ce.updateQueue,R=ce.lastBaseUpdate,R!==C&&(R===null?ce.firstBaseUpdate=le:R.next=le,ce.lastBaseUpdate=Q))}if(x!==null){var de=g.baseState;C=0,ce=le=Q=null,R=x;do{var ae=R.lane&-536870913,oe=ae!==R.lane;if(oe?(qe&ae)===ae:(c&ae)===ae){ae!==0&&ae===vl&&(Sf=!0),ce!==null&&(ce=ce.next={lane:0,tag:R.tag,payload:R.payload,callback:null,next:null});e:{var be=t,ke=R;ae=r;var rt=a;switch(ke.tag){case 1:if(be=ke.payload,typeof be=="function"){de=be.call(rt,de,ae);break e}de=be;break e;case 3:be.flags=be.flags&-65537|128;case 0:if(be=ke.payload,ae=typeof be=="function"?be.call(rt,de,ae):be,ae==null)break e;de=p({},de,ae);break e;case 2:Xr=!0}}ae=R.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=g.callbacks,oe===null?g.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:R.tag,payload:R.payload,callback:R.callback,next:null},ce===null?(le=ce=oe,Q=de):ce=ce.next=oe,C|=ae;if(R=R.next,R===null){if(R=g.shared.pending,R===null)break;oe=R,R=oe.next,oe.next=null,g.lastBaseUpdate=oe,g.shared.pending=null}}while(!0);ce===null&&(Q=de),g.baseState=Q,g.firstBaseUpdate=le,g.lastBaseUpdate=ce,x===null&&(g.shared.lanes=0),Wr|=C,t.lanes=C,t.memoizedState=de}}function Rg(t,r){if(typeof t!="function")throw Error(l(191,t));t.call(r)}function Dg(t,r){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;tx?x:8;var C=O.T,R={};O.T=R,If(t,!1,r,a);try{var Q=g(),le=O.S;if(le!==null&&le(R,Q),Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var ce=OE(Q,c);Ua(t,r,ce,gn(t))}else Ua(t,r,c,gn(t))}catch(de){Ua(t,r,{then:function(){},status:"rejected",reason:de},gn())}finally{$.p=x,C!==null&&R.types!==null&&(C.types=R.types),O.T=C}}function qE(){}function qf(t,r,a,c){if(t.tag!==5)throw Error(l(476));var g=hy(t).queue;dy(t,g,r,Z,a===null?qE:function(){return py(t),a(c)})}function hy(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:yr,lastRenderedState:Z},next:null};var a={};return r.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:yr,lastRenderedState:a},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function py(t){var r=hy(t);r.next===null&&(r=t.alternate.memoizedState),Ua(t,r.next.queue,{},gn())}function Uf(){return qt(ro)}function my(){return wt().memoizedState}function gy(){return wt().memoizedState}function UE(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var a=gn();t=Pr(a);var c=Fr(r,t,a);c!==null&&(nn(c,r,a),Da(c,r,a)),r={cache:mf()},t.payload=r;return}r=r.return}}function IE(t,r,a){var c=gn();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Xs(t)?xy(r,a):(a=rf(t,r,a,c),a!==null&&(nn(a,t,c),vy(a,r,c)))}function yy(t,r,a){var c=gn();Ua(t,r,a,c)}function Ua(t,r,a,c){var g={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Xs(t))xy(r,g);else{var x=t.alternate;if(t.lanes===0&&(x===null||x.lanes===0)&&(x=r.lastRenderedReducer,x!==null))try{var C=r.lastRenderedState,R=x(C,a);if(g.hasEagerState=!0,g.eagerState=R,cn(R,C))return ks(t,r,g,0),it===null&&Ns(),!1}catch{}finally{}if(a=rf(t,r,g,c),a!==null)return nn(a,t,c),vy(a,r,c),!0}return!1}function If(t,r,a,c){if(c={lane:2,revertLane:vd(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Xs(t)){if(r)throw Error(l(479))}else r=rf(t,a,c,2),r!==null&&nn(r,t,2)}function Xs(t){var r=t.alternate;return t===Te||r!==null&&r===Te}function xy(t,r){El=qs=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function vy(t,r,a){if((a&4194048)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,ls(t,a)}}var Ia={readContext:qt,use:Vs,useCallback:gt,useContext:gt,useEffect:gt,useImperativeHandle:gt,useLayoutEffect:gt,useInsertionEffect:gt,useMemo:gt,useReducer:gt,useRef:gt,useState:gt,useDebugValue:gt,useDeferredValue:gt,useTransition:gt,useSyncExternalStore:gt,useId:gt,useHostTransitionStatus:gt,useFormState:gt,useActionState:gt,useOptimistic:gt,useMemoCache:gt,useCacheRefresh:gt};Ia.useEffectEvent=gt;var by={readContext:qt,use:Vs,useCallback:function(t,r){return Ft().memoizedState=[t,r===void 0?null:r],t},useContext:qt,useEffect:ry,useImperativeHandle:function(t,r,a){a=a!=null?a.concat([t]):null,Ys(4194308,4,oy.bind(null,r,t),a)},useLayoutEffect:function(t,r){return Ys(4194308,4,t,r)},useInsertionEffect:function(t,r){Ys(4,2,t,r)},useMemo:function(t,r){var a=Ft();r=r===void 0?null:r;var c=t();if(Di){Gt(!0);try{t()}finally{Gt(!1)}}return a.memoizedState=[c,r],c},useReducer:function(t,r,a){var c=Ft();if(a!==void 0){var g=a(r);if(Di){Gt(!0);try{a(r)}finally{Gt(!1)}}}else g=r;return c.memoizedState=c.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},c.queue=t,t=t.dispatch=IE.bind(null,Te,t),[c.memoizedState,t]},useRef:function(t){var r=Ft();return t={current:t},r.memoizedState=t},useState:function(t){t=Rf(t);var r=t.queue,a=yy.bind(null,Te,r);return r.dispatch=a,[t.memoizedState,a]},useDebugValue:Hf,useDeferredValue:function(t,r){var a=Ft();return Bf(a,t,r)},useTransition:function(){var t=Rf(!1);return t=dy.bind(null,Te,t.queue,!0,!1),Ft().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,a){var c=Te,g=Ft();if(Ie){if(a===void 0)throw Error(l(407));a=a()}else{if(a=r(),it===null)throw Error(l(349));(qe&127)!==0||Ig(c,r,a)}g.memoizedState=a;var x={value:a,getSnapshot:r};return g.queue=x,ry(Gg.bind(null,c,x,t),[t]),c.flags|=2048,kl(9,{destroy:void 0},Vg.bind(null,c,x,a,r),null),a},useId:function(){var t=Ft(),r=it.identifierPrefix;if(Ie){var a=Qn,c=Fn;a=(c&~(1<<32-Ke(c)-1)).toString(32)+a,r="_"+r+"R_"+a,a=Us++,0<\/script>",x=x.removeChild(x.firstChild);break;case"select":x=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?x.multiple=!0:c.size&&(x.size=c.size);break;default:x=typeof c.is=="string"?C.createElement(g,{is:c.is}):C.createElement(g)}}x[Ot]=r,x[Yt]=c;e:for(C=r.child;C!==null;){if(C.tag===5||C.tag===6)x.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===r)break e;for(;C.sibling===null;){if(C.return===null||C.return===r)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}r.stateNode=x;e:switch(It(x,g,c),g){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&vr(r)}}return ft(r),td(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,a),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==c&&vr(r);else{if(typeof c!="string"&&r.stateNode===null)throw Error(l(166));if(t=J.current,yl(r)){if(t=r.stateNode,a=r.memoizedProps,c=null,g=Bt,g!==null)switch(g.tag){case 27:case 5:c=g.memoizedProps}t[Ot]=r,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||q0(t.nodeValue,a)),t||Yr(r,!0)}else t=du(t).createTextNode(c),t[Ot]=r,r.stateNode=t}return ft(r),null;case 31:if(a=r.memoizedState,t===null||t.memoizedState!==null){if(c=yl(r),a!==null){if(t===null){if(!c)throw Error(l(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Ot]=r}else zi(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ft(r),t=!1}else a=ff(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return r.flags&256?(hn(r),r):(hn(r),null);if((r.flags&128)!==0)throw Error(l(558))}return ft(r),null;case 13:if(c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=yl(r),c!==null&&c.dehydrated!==null){if(t===null){if(!g)throw Error(l(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));g[Ot]=r}else zi(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ft(r),g=!1}else g=ff(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(hn(r),r):(hn(r),null)}return hn(r),(r.flags&128)!==0?(r.lanes=a,r):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=r.child,g=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(g=c.alternate.memoizedState.cachePool.pool),x=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(x=c.memoizedState.cachePool.pool),x!==g&&(c.flags|=2048)),a!==t&&a&&(r.child.flags|=8192),Ks(r,r.updateQueue),ft(r),null);case 4:return se(),t===null&&_d(r.stateNode.containerInfo),ft(r),null;case 10:return mr(r.type),ft(r),null;case 19:if(P(bt),c=r.memoizedState,c===null)return ft(r),null;if(g=(r.flags&128)!==0,x=c.rendering,x===null)if(g)Ga(c,!1);else{if(yt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(x=Bs(t),x!==null){for(r.flags|=128,Ga(c,!1),t=x.updateQueue,r.updateQueue=t,Ks(r,t),r.subtreeFlags=0,t=a,a=r.child;a!==null;)yg(a,t),a=a.sibling;return k(bt,bt.current&1|2),Ie&&hr(r,c.treeForkCount),r.child}t=t.sibling}c.tail!==null&&jt()>nu&&(r.flags|=128,g=!0,Ga(c,!1),r.lanes=4194304)}else{if(!g)if(t=Bs(x),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,Ks(r,t),Ga(c,!0),c.tail===null&&c.tailMode==="hidden"&&!x.alternate&&!Ie)return ft(r),null}else 2*jt()-c.renderingStartTime>nu&&a!==536870912&&(r.flags|=128,g=!0,Ga(c,!1),r.lanes=4194304);c.isBackwards?(x.sibling=r.child,r.child=x):(t=c.last,t!==null?t.sibling=x:r.child=x,c.last=x)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=jt(),t.sibling=null,a=bt.current,k(bt,g?a&1|2:a&1),Ie&&hr(r,c.treeForkCount),t):(ft(r),null);case 22:case 23:return hn(r),Ef(),c=r.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(r.flags|=8192):c&&(r.flags|=8192),c?(a&536870912)!==0&&(r.flags&128)===0&&(ft(r),r.subtreeFlags&6&&(r.flags|=8192)):ft(r),a=r.updateQueue,a!==null&&Ks(r,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),c!==a&&(r.flags|=2048),t!==null&&P(Mi),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),r.memoizedState.cache!==a&&(r.flags|=2048),mr(_t),ft(r),null;case 25:return null;case 30:return null}throw Error(l(156,r.tag))}function XE(t,r){switch(uf(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return mr(_t),se(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return ve(r),null;case 31:if(r.memoizedState!==null){if(hn(r),r.alternate===null)throw Error(l(340));zi()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(hn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(l(340));zi()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return P(bt),null;case 4:return se(),null;case 10:return mr(r.type),null;case 22:case 23:return hn(r),Ef(),t!==null&&P(Mi),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return mr(_t),null;case 25:return null;default:return null}}function Yy(t,r){switch(uf(r),r.tag){case 3:mr(_t),se();break;case 26:case 27:case 5:ve(r);break;case 4:se();break;case 31:r.memoizedState!==null&&hn(r);break;case 13:hn(r);break;case 19:P(bt);break;case 10:mr(r.type);break;case 22:case 23:hn(r),Ef(),t!==null&&P(Mi);break;case 24:mr(_t)}}function Ya(t,r){try{var a=r.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var g=c.next;a=g;do{if((a.tag&t)===t){c=void 0;var x=a.create,C=a.inst;c=x(),C.destroy=c}a=a.next}while(a!==g)}}catch(R){We(r,r.return,R)}}function Kr(t,r,a){try{var c=r.updateQueue,g=c!==null?c.lastEffect:null;if(g!==null){var x=g.next;c=x;do{if((c.tag&t)===t){var C=c.inst,R=C.destroy;if(R!==void 0){C.destroy=void 0,g=r;var Q=a,le=R;try{le()}catch(ce){We(g,Q,ce)}}}c=c.next}while(c!==x)}}catch(ce){We(r,r.return,ce)}}function $y(t){var r=t.updateQueue;if(r!==null){var a=t.stateNode;try{Dg(r,a)}catch(c){We(t,t.return,c)}}}function Xy(t,r,a){a.props=Li(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){We(t,r,c)}}function $a(t,r){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(g){We(t,r,g)}}function Zn(t,r){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(g){We(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(g){We(t,r,g)}else a.current=null}function Py(t){var r=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(g){We(t,t.return,g)}}function nd(t,r,a){try{var c=t.stateNode;p2(c,t.type,a,r),c[Yt]=r}catch(g){We(t,t.return,g)}}function Fy(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ii(t.type)||t.tag===4}function rd(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Fy(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.tag===27&&ii(t.type)||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 id(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,r):(r=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.appendChild(t),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=cr));else if(c!==4&&(c===27&&ii(t.type)&&(a=t.stateNode,r=null),t=t.child,t!==null))for(id(t,r,a),t=t.sibling;t!==null;)id(t,r,a),t=t.sibling}function Js(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(c===27&&ii(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(Js(t,r,a),t=t.sibling;t!==null;)Js(t,r,a),t=t.sibling}function Qy(t){var r=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);It(r,c,a),r[Ot]=t,r[Yt]=a}catch(x){We(t,t.return,x)}}var br=!1,kt=!1,ld=!1,Zy=typeof WeakSet=="function"?WeakSet:Set,Dt=null;function PE(t,r){if(t=t.containerInfo,kd=vu,t=sg(t),Kc(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var g=c.anchorOffset,x=c.focusNode;c=c.focusOffset;try{a.nodeType,x.nodeType}catch{a=null;break e}var C=0,R=-1,Q=-1,le=0,ce=0,de=t,ae=null;t:for(;;){for(var oe;de!==a||g!==0&&de.nodeType!==3||(R=C+g),de!==x||c!==0&&de.nodeType!==3||(Q=C+c),de.nodeType===3&&(C+=de.nodeValue.length),(oe=de.firstChild)!==null;)ae=de,de=oe;for(;;){if(de===t)break t;if(ae===a&&++le===g&&(R=C),ae===x&&++ce===c&&(Q=C),(oe=de.nextSibling)!==null)break;de=ae,ae=de.parentNode}de=oe}a=R===-1||Q===-1?null:{start:R,end:Q}}else a=null}a=a||{start:0,end:0}}else a=null;for(Cd={focusedElem:t,selectionRange:a},vu=!1,Dt=r;Dt!==null;)if(r=Dt,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Dt=t;else for(;Dt!==null;){switch(r=Dt,x=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a title"))),It(x,c,a),x[Ot]=t,St(x),c=x;break e;case"link":var C=nx("link","href",g).get(c+(a.href||""));if(C){for(var R=0;Rrt&&(C=rt,rt=ke,ke=C);var te=ag(R,ke),ee=ag(R,rt);if(te&&ee&&(oe.rangeCount!==1||oe.anchorNode!==te.node||oe.anchorOffset!==te.offset||oe.focusNode!==ee.node||oe.focusOffset!==ee.offset)){var ie=de.createRange();ie.setStart(te.node,te.offset),oe.removeAllRanges(),ke>rt?(oe.addRange(ie),oe.extend(ee.node,ee.offset)):(ie.setEnd(ee.node,ee.offset),oe.addRange(ie))}}}}for(de=[],oe=R;oe=oe.parentNode;)oe.nodeType===1&&de.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof R.focus=="function"&&R.focus(),R=0;Ra?32:a,O.T=null,a=dd,dd=null;var x=ti,C=Nr;if(Rt=0,Ml=ti=null,Nr=0,(Fe&6)!==0)throw Error(l(331));var R=Fe;if(Fe|=4,o0(x.current),i0(x,x.current,C,a),Fe=R,Ka(0,!1),vt&&typeof vt.onPostCommitFiberRoot=="function")try{vt.onPostCommitFiberRoot(Ht,x)}catch{}return!0}finally{$.p=g,O.T=c,N0(t,r)}}function C0(t,r,a){r=En(a,r),r=$f(t.stateNode,r,2),t=Fr(t,r,2),t!==null&&(vi(t,2),Kn(t))}function We(t,r,a){if(t.tag===3)C0(t,t,a);else for(;r!==null;){if(r.tag===3){C0(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(ei===null||!ei.has(c))){t=En(a,t),a=zy(2),c=Fr(r,a,2),c!==null&&(Ay(a,c,r,t),vi(c,2),Kn(c));break}}r=r.return}}function gd(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new ZE;var g=new Set;c.set(r,g)}else g=c.get(r),g===void 0&&(g=new Set,c.set(r,g));g.has(a)||(sd=!0,g.add(a),t=t2.bind(null,t,r,a),r.then(t,t))}function t2(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,it===t&&(qe&a)===a&&(yt===4||yt===3&&(qe&62914560)===qe&&300>jt()-tu?(Fe&2)===0&&jl(t,0):ud|=a,Tl===qe&&(Tl=0)),Kn(t)}function z0(t,r){r===0&&(r=rs()),t=ki(t,r),t!==null&&(vi(t,r),Kn(t))}function n2(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),z0(t,a)}function r2(t,r){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,g=t.memoizedState;g!==null&&(a=g.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(l(314))}c!==null&&c.delete(r),z0(t,a)}function i2(t,r){return Vt(t,r)}var su=null,Rl=null,yd=!1,uu=!1,xd=!1,ri=0;function Kn(t){t!==Rl&&t.next===null&&(Rl===null?su=Rl=t:Rl=Rl.next=t),uu=!0,yd||(yd=!0,a2())}function Ka(t,r){if(!xd&&uu){xd=!0;do for(var a=!1,c=su;c!==null;){if(t!==0){var g=c.pendingLanes;if(g===0)var x=0;else{var C=c.suspendedLanes,R=c.pingedLanes;x=(1<<31-Ke(42|t)+1)-1,x&=g&~(C&~R),x=x&201326741?x&201326741|1:x?x|2:0}x!==0&&(a=!0,j0(c,x))}else x=qe,x=rl(c,c===it?x:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(x&3)===0||xi(c,x)||(a=!0,j0(c,x));c=c.next}while(a);xd=!1}}function l2(){A0()}function A0(){uu=yd=!1;var t=0;ri!==0&&g2()&&(t=ri);for(var r=jt(),a=null,c=su;c!==null;){var g=c.next,x=T0(c,r);x===0?(c.next=null,a===null?su=g:a.next=g,g===null&&(Rl=a)):(a=c,(t!==0||(x&3)!==0)&&(uu=!0)),c=g}Rt!==0&&Rt!==5||Ka(t),ri!==0&&(ri=0)}function T0(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,g=t.expirationTimes,x=t.pendingLanes&-62914561;0R)break;var ce=Q.transferSize,de=Q.initiatorType;ce&&U0(de)&&(Q=Q.responseEnd,C+=ce*(Q"u"?null:document;function J0(t,r,a){var c=Dl;if(c&&typeof r=="string"&&r){var g=Zt(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof a=="string"&&(g+='[crossorigin="'+a+'"]'),K0.has(g)||(K0.add(g),t={rel:t,crossOrigin:a,href:r},c.querySelector(g)===null&&(r=c.createElement("link"),It(r,"link",t),St(r),c.head.appendChild(r)))}}function N2(t){kr.D(t),J0("dns-prefetch",t,null)}function k2(t,r){kr.C(t,r),J0("preconnect",t,r)}function C2(t,r,a){kr.L(t,r,a);var c=Dl;if(c&&t&&r){var g='link[rel="preload"][as="'+Zt(r)+'"]';r==="image"&&a&&a.imageSrcSet?(g+='[imagesrcset="'+Zt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(g+='[imagesizes="'+Zt(a.imageSizes)+'"]')):g+='[href="'+Zt(t)+'"]';var x=g;switch(r){case"style":x=Ll(t);break;case"script":x=Hl(t)}Tn.has(x)||(t=p({rel:"preload",href:r==="image"&&a&&a.imageSrcSet?void 0:t,as:r},a),Tn.set(x,t),c.querySelector(g)!==null||r==="style"&&c.querySelector(to(x))||r==="script"&&c.querySelector(no(x))||(r=c.createElement("link"),It(r,"link",t),St(r),c.head.appendChild(r)))}}function z2(t,r){kr.m(t,r);var a=Dl;if(a&&t){var c=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+Zt(c)+'"][href="'+Zt(t)+'"]',x=g;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":x=Hl(t)}if(!Tn.has(x)&&(t=p({rel:"modulepreload",href:t},r),Tn.set(x,t),a.querySelector(g)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(no(x)))return}c=a.createElement("link"),It(c,"link",t),St(c),a.head.appendChild(c)}}}function A2(t,r,a){kr.S(t,r,a);var c=Dl;if(c&&t){var g=Br(c).hoistableStyles,x=Ll(t);r=r||"default";var C=g.get(x);if(!C){var R={loading:0,preload:null};if(C=c.querySelector(to(x)))R.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":r},a),(a=Tn.get(x))&&Rd(t,a);var Q=C=c.createElement("link");St(Q),It(Q,"link",t),Q._p=new Promise(function(le,ce){Q.onload=le,Q.onerror=ce}),Q.addEventListener("load",function(){R.loading|=1}),Q.addEventListener("error",function(){R.loading|=2}),R.loading|=4,pu(C,r,c)}C={type:"stylesheet",instance:C,count:1,state:R},g.set(x,C)}}}function T2(t,r){kr.X(t,r);var a=Dl;if(a&&t){var c=Br(a).hoistableScripts,g=Hl(t),x=c.get(g);x||(x=a.querySelector(no(g)),x||(t=p({src:t,async:!0},r),(r=Tn.get(g))&&Dd(t,r),x=a.createElement("script"),St(x),It(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function M2(t,r){kr.M(t,r);var a=Dl;if(a&&t){var c=Br(a).hoistableScripts,g=Hl(t),x=c.get(g);x||(x=a.querySelector(no(g)),x||(t=p({src:t,async:!0,type:"module"},r),(r=Tn.get(g))&&Dd(t,r),x=a.createElement("script"),St(x),It(x,"link",t),a.head.appendChild(x)),x={type:"script",instance:x,count:1,state:null},c.set(g,x))}}function W0(t,r,a,c){var g=(g=J.current)?hu(g):null;if(!g)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(r=Ll(a.href),a=Br(g).hoistableStyles,c=a.get(r),c||(c={type:"style",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=Ll(a.href);var x=Br(g).hoistableStyles,C=x.get(t);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},x.set(t,C),(x=g.querySelector(to(t)))&&!x._p&&(C.instance=x,C.state.loading=5),Tn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Tn.set(t,a),x||j2(g,t,a,C.state))),r&&c===null)throw Error(l(528,""));return C}if(r&&c!==null)throw Error(l(529,""));return null;case"script":return r=a.async,a=a.src,typeof a=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=Hl(a),a=Br(g).hoistableScripts,c=a.get(r),c||(c={type:"script",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function Ll(t){return'href="'+Zt(t)+'"'}function to(t){return'link[rel="stylesheet"]['+t+"]"}function ex(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function j2(t,r,a,c){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?c.loading=1:(r=t.createElement("link"),c.preload=r,r.addEventListener("load",function(){return c.loading|=1}),r.addEventListener("error",function(){return c.loading|=2}),It(r,"link",a),St(r),t.head.appendChild(r))}function Hl(t){return'[src="'+Zt(t)+'"]'}function no(t){return"script[async]"+t}function tx(t,r,a){if(r.count++,r.instance===null)switch(r.type){case"style":var c=t.querySelector('style[data-href~="'+Zt(a.href)+'"]');if(c)return r.instance=c,St(c),c;var g=p({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),St(c),It(c,"style",g),pu(c,a.precedence,t),r.instance=c;case"stylesheet":g=Ll(a.href);var x=t.querySelector(to(g));if(x)return r.state.loading|=4,r.instance=x,St(x),x;c=ex(a),(g=Tn.get(g))&&Rd(c,g),x=(t.ownerDocument||t).createElement("link"),St(x);var C=x;return C._p=new Promise(function(R,Q){C.onload=R,C.onerror=Q}),It(x,"link",c),r.state.loading|=4,pu(x,a.precedence,t),r.instance=x;case"script":return x=Hl(a.src),(g=t.querySelector(no(x)))?(r.instance=g,St(g),g):(c=a,(g=Tn.get(x))&&(c=p({},a),Dd(c,g)),t=t.ownerDocument||t,g=t.createElement("script"),St(g),It(g,"link",c),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(l(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(c=r.instance,r.state.loading|=4,pu(c,a.precedence,t));return r.instance}function pu(t,r,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=c.length?c[c.length-1]:null,x=g,C=0;C title"):null)}function O2(t,r,a){if(a===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function ix(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function R2(t,r,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var g=Ll(c.href),x=r.querySelector(to(g));if(x){r=x._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=gu.bind(t),r.then(t,t)),a.state.loading|=4,a.instance=x,St(x);return}x=r.ownerDocument||r,c=ex(c),(g=Tn.get(g))&&Rd(c,g),x=x.createElement("link"),St(x);var C=x;C._p=new Promise(function(R,Q){C.onload=R,C.onerror=Q}),It(x,"link",c),a.instance=x}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,r),(r=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=gu.bind(t),r.addEventListener("load",a),r.addEventListener("error",a))}}var Ld=0;function D2(t,r){return t.stylesheets&&t.count===0&&xu(t,t.stylesheets),0Ld?50:800)+r);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(g)}}:null}function gu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)xu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var yu=null;function xu(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,yu=new Map,r.forEach(L2,t),yu=null,gu.call(t))}function L2(t,r){if(!(r.state.loading&4)){var a=yu.get(t);if(a)var c=a.get(null);else{a=new Map,yu.set(t,a);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),x=0;x"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),$d.exports=tN(),$d.exports}var rN=nN();/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const iN=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),D1=(...e)=>e.filter((n,i,l)=>!!n&&n.trim()!==""&&l.indexOf(n)===i).join(" ").trim();/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var lN={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.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const aN=G.forwardRef(({color:e="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:l,className:o="",children:s,iconNode:u,...f},d)=>G.createElement("svg",{ref:d,...lN,width:n,height:n,stroke:e,strokeWidth:l?Number(i)*24/Number(n):i,className:D1("lucide",o),...f},[...u.map(([h,m])=>G.createElement(h,m)),...Array.isArray(s)?s:[s]]));/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ze=(e,n)=>{const i=G.forwardRef(({className:l,...o},s)=>G.createElement(aN,{ref:s,iconNode:n,className:D1(`lucide-${iN(e)}`,l),...o}));return i.displayName=`${e}`,i};/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const L1=Ze("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const oN=Ze("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Gi=Ze("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ua=Ze("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Xo=Ze("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const sN=Ze("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const uN=Ze("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const cN=Ze("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const fN=Ze("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const H1=Ze("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.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const dN=Ze("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const hN=Ze("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const pN=Ze("FileOutput",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2",key:"1vk7w2"}],["path",{d:"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6",key:"1jink5"}],["path",{d:"m5 11-3 3",key:"1dgrs4"}],["path",{d:"m5 17-3-3h10",key:"1mvvaf"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const mN=Ze("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const gN=Ze("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Mo=Ze("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const yN=Ze("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const B1=Ze("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const xN=Ze("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const vN=Ze("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const bN=Ze("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const wN=Ze("ShieldCheck",[["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"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const zx=Ze("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const q1=Ze("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const SN=Ze("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const _N=Ze("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const EN=Ze("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const NN=Ze("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.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const fc=Ze("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const kN=Ze("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Ax=e=>{let n;const i=new Set,l=(h,m)=>{const p=typeof h=="function"?h(n):h;if(!Object.is(p,n)){const y=n;n=m??(typeof p!="object"||p===null)?p:Object.assign({},n,p),i.forEach(v=>v(n,y))}},o=()=>n,f={setState:l,getState:o,getInitialState:()=>d,subscribe:h=>(i.add(h),()=>i.delete(h))},d=n=e(l,o,f);return f},CN=(e=>e?Ax(e):Ax),zN=e=>e;function AN(e,n=zN){const i=Yl.useSyncExternalStore(e.subscribe,Yl.useCallback(()=>n(e.getState()),[e,n]),Yl.useCallback(()=>n(e.getInitialState()),[e,n]));return Yl.useDebugValue(i),i}const Tx=e=>{const n=CN(e),i=l=>AN(n,l);return Object.assign(i,n),i},TN=(e=>e?Tx(e):Tx);function lt(e,n,i="agent"){return e[n]||(e[n]={name:n,status:"pending",type:i,activity:[]}),e[n].activity||(e[n].activity=[]),e[n]}function ku(e,n,i){lt(e,n).activity.push(i)}function Xe(e,n){e[n]&&(e[n]={...e[n]})}function uo(e,n,i,l){const o=e[n];if(!(o!=null&&o.for_each_items))return;const s=o.for_each_items.find(u=>u.key===i);s&&s.activity.push(l)}const xe=TN(e=>({workflowName:"",workflowStatus:"pending",workflowStartTime:null,workflowFailure:null,workflowFailedAgent:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],nodes:{},groupProgress:{},highlightedEdges:[],agentsCompleted:0,agentsTotal:0,totalCost:0,totalTokens:0,selectedNode:null,wsStatus:"connecting",eventLog:[],activityLog:[],workflowOutput:null,lastEventTime:null,isPaused:!1,_wsSend:null,setWsSend:n=>{e({_wsSend:n})},sendGateResponse:(n,i,l)=>{const o=xe.getState()._wsSend;o&&o({type:"gate_response",agent_name:n,selected_value:i,additional_input:l||{}})},processEvent:n=>{const i=Mx[n.type];e(l=>{const o={...l,nodes:{...l.nodes},groupProgress:{...l.groupProgress},eventLog:[...l.eventLog],activityLog:[...l.activityLog],lastEventTime:n.timestamp};i&&i(o,n.data,n.timestamp);const s=jx(n);s&&o.eventLog.push(s);const u=Ox(n);return u&&o.activityLog.push(u),o})},replayState:n=>{e(i=>{const l={...i,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=Mx[o.type];s&&s(l,o.data,o.timestamp);const u=jx(o);u&&l.eventLog.push(u);const f=Ox(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},selectNode:n=>{e({selectedNode:n})},setWsStatus:n=>{e({wsStatus:n})},setEdgeHighlight:(n,i,l)=>{e(o=>({highlightedEdges:[...o.highlightedEdges.filter(s=>!(s.from===n&&s.to===i)),{from:n,to:i,state:l}]}))},clearEdgeHighlight:(n,i)=>{e(l=>({highlightedEdges:l.highlightedEdges.filter(o=>!(o.from===n&&o.to===i))}))}})),Mx={workflow_started:(e,n,i)=>{const l=n;e.workflowStatus="running",e.workflowStartTime=i??Date.now()/1e3,e.workflowName=l.name||"",e.entryPoint=l.entry_point||null,e.agents=l.agents||[],e.routes=l.routes||[],e.parallelGroups=l.parallel_groups||[],e.forEachGroups=l.for_each_groups||[],lt(e.nodes,"$start","start"),e.nodes.$start.status="running",Xe(e.nodes,"$start");const o=new Set,s=new Set;for(const u of e.parallelGroups){for(const f of u.agents)o.add(f);s.add(u.name),lt(e.nodes,u.name,"parallel_group"),e.groupProgress[u.name]={total:u.agents.length,completed:0,failed:0};for(const f of u.agents)lt(e.nodes,f,"agent")}for(const u of e.forEachGroups)s.add(u.name),lt(e.nodes,u.name,"for_each_group"),e.groupProgress[u.name]={total:0,completed:0,failed:0};for(const u of e.agents)if(!s.has(u.name)&&!o.has(u.name)){const f=u.type||"agent";lt(e.nodes,u.name,f),u.model&&(e.nodes[u.name].model=u.model),s.add(u.name)}e.agentsTotal=s.size},agent_started:(e,n,i)=>{const l=n,o=lt(e.nodes,l.agent_name);o.iteration!=null&&(o.output!=null||o.error_type!=null)&&(o.iterationHistory||(o.iterationHistory=[]),o.iterationHistory.push({iteration:o.iteration,prompt:o.prompt,output:o.output,elapsed:o.elapsed,model:o.model,tokens:o.tokens,input_tokens:o.input_tokens,output_tokens:o.output_tokens,cost_usd:o.cost_usd,activity:o.activity,error_type:o.error_type,error_message:o.error_message})),o.status="running",o.iteration=l.iteration,o.startedAt=i??Date.now()/1e3,o.activity=[],o.prompt=void 0,o.output=void 0,o.error_type=void 0,o.error_message=void 0,Xe(e.nodes,l.agent_name)},agent_completed:(e,n)=>{const i=n,l=lt(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.input_tokens=i.input_tokens,l.output_tokens=i.output_tokens,l.cost_usd=i.cost_usd,l.output=i.output,l.output_keys=i.output_keys,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name)},agent_failed:(e,n)=>{const i=n,l=lt(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message;for(const o of e.routes)o.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(s=>!(s.from===o.from&&s.to===o.to)),{from:o.from,to:o.to,state:"failed"}]);Xe(e.nodes,i.agent_name)},agent_prompt_rendered:(e,n)=>{var s;const i=n,l=n.item_key,o=lt(e.nodes,i.agent_name);if(o.prompt=i.rendered_prompt,o.context_keys=i.context_keys,l){uo(e.nodes,i.agent_name,l,{type:"prompt",icon:"📝",label:"prompt",text:"Prompt rendered",detail:((s=i.rendered_prompt)==null?void 0:s.slice(0,500))||null});const u=e.nodes[i.agent_name];if(u!=null&&u.for_each_items){const f=u.for_each_items.find(d=>d.key===l);f&&(f.prompt=i.rendered_prompt)}}Xe(e.nodes,i.agent_name)},agent_reasoning:(e,n)=>{const i=n,l=n.item_key,o={type:"reasoning",icon:"💭",label:"thinking",text:i.content};ku(e.nodes,i.agent_name,o),l&&uo(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_start:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-start",icon:"🔧",label:"tool",text:i.tool_name,detail:i.arguments||null};ku(e.nodes,i.agent_name,o),l&&uo(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_complete:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-complete",icon:"✓",label:"result",text:i.tool_name||"done",detail:i.result||null};ku(e.nodes,i.agent_name,o),l&&uo(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_turn_start:(e,n)=>{const i=n,l=n.item_key,o={type:"turn",icon:"⏳",label:"turn",text:`Turn ${i.turn??"?"}`};ku(e.nodes,i.agent_name,o),l&&uo(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_message:(e,n)=>{const i=n,l=lt(e.nodes,i.agent_name);l.latest_message=i.content,Xe(e.nodes,i.agent_name)},script_started:(e,n,i)=>{const l=n,o=lt(e.nodes,l.agent_name);o.status="running",o.startedAt=i??Date.now()/1e3,Xe(e.nodes,l.agent_name)},script_completed:(e,n)=>{const i=n,l=lt(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.stdout=i.stdout,l.stderr=i.stderr,l.exit_code=i.exit_code,Xe(e.nodes,i.agent_name)},script_failed:(e,n)=>{const i=n,l=lt(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name)},gate_presented:(e,n)=>{const i=n,l=lt(e.nodes,i.agent_name);l.status="waiting",l.options=i.options,l.option_details=i.option_details,l.prompt=i.prompt,Xe(e.nodes,i.agent_name)},gate_resolved:(e,n)=>{const i=n,l=lt(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.selected_option=i.selected_option,l.route=i.route,l.additional_input=i.additional_input,Xe(e.nodes,i.agent_name)},route_taken:(e,n)=>{const i=n;e.highlightedEdges=[...e.highlightedEdges.filter(l=>!(l.from===i.from_agent&&l.to===i.to_agent)),{from:i.from_agent,to:i.to_agent,state:"taken"}]},parallel_started:(e,n)=>{const i=n,l=lt(e.nodes,i.group_name,"parallel_group");l.status="running",e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.agents.length,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},parallel_agent_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=lt(e.nodes,i.agent_name);l.status="completed",l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.cost_usd=i.cost_usd,i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_agent_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=lt(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=lt(e.nodes,i.group_name,"parallel_group");l.status=i.failure_count===0?"completed":"failed",Xe(e.nodes,i.group_name)},for_each_started:(e,n)=>{const i=n,l=lt(e.nodes,i.group_name,"for_each_group");l.status="running",l.for_each_items=[],e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.item_count,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},for_each_item_started:(e,n)=>{const i=n,l=lt(e.nodes,i.group_name,"for_each_group");l.for_each_items||(l.for_each_items=[]),l.for_each_items.push({key:i.item_key??String(i.index),index:i.index,status:"running",activity:[]}),Xe(e.nodes,i.group_name)},for_each_item_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=lt(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="completed",s.elapsed=i.elapsed,s.tokens=i.tokens,s.cost_usd=i.cost_usd,s.output=i.output)}Xe(e.nodes,i.group_name)},for_each_item_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=lt(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="failed",s.elapsed=i.elapsed,s.error_type=i.error_type,s.error_message=i.message)}Xe(e.nodes,i.group_name)},for_each_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=lt(e.nodes,i.group_name,"for_each_group");l.status=(i.failure_count??0)===0?"completed":"failed",l.elapsed=i.elapsed,l.success_count=i.success_count,l.failure_count=i.failure_count,Xe(e.nodes,i.group_name)},workflow_completed:(e,n)=>{const i=n;e.workflowStatus="completed",e.workflowOutput=i.output??null,e.nodes.$end&&(e.nodes.$end.status="completed",Xe(e.nodes,"$end")),e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start")),e.highlightedEdges=[]},workflow_failed:(e,n)=>{const i=n;if(e.workflowStatus="failed",e.workflowFailedAgent=i.agent_name||null,i.agent_name&&e.nodes[i.agent_name]){e.nodes[i.agent_name].status="failed",Xe(e.nodes,i.agent_name);for(const l of e.routes)l.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(o=>!(o.from===l.from&&o.to===l.to)),{from:l.from,to:l.to,state:"failed"}])}e.workflowFailure={error_type:i.error_type,message:i.message,elapsed_seconds:i.elapsed_seconds,timeout_seconds:i.timeout_seconds,current_agent:i.current_agent},e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start"))},checkpoint_saved:(e,n)=>{const i=n;i.path&&e.workflowFailure&&(e.workflowFailure={...e.workflowFailure,checkpoint_path:i.path})},agent_paused:(e,n)=>{const i=n,l=lt(e.nodes,i.agent_name);l.status="waiting",l.activity.push({type:"agent_paused",icon:"⏸",label:"Paused",text:"Agent paused — click Resume to re-execute"}),Xe(e.nodes,i.agent_name),e.isPaused=!0},agent_resumed:(e,n)=>{const i=n,l=lt(e.nodes,i.agent_name);l.status="running",l.activity.push({type:"agent_resumed",icon:"▶",label:"Resumed",text:"Agent resumed — re-executing"}),Xe(e.nodes,i.agent_name),e.isPaused=!1}};function jx(e){var l,o;const n=e.timestamp,i=e.data;switch(e.type){case"workflow_started":return{timestamp:n,level:"info",source:"workflow",message:`Workflow "${i.name||""}" started`};case"agent_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Agent completed${i.elapsed!=null?` in ${Uu(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}${i.cost_usd!=null?` · $${i.cost_usd.toFixed(4)}`:""}`};case"agent_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Agent failed: ${i.message||i.error_type||"unknown error"}`};case"script_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Script started"};case"script_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Script completed (exit ${i.exit_code??"?"})${i.elapsed!=null?` in ${Uu(i.elapsed)}`:""}`};case"script_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Script failed: ${i.message||i.error_type||"unknown error"}`};case"gate_presented":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Waiting for human input…"};case"gate_resolved":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Gate resolved → ${i.selected_option||"continue"}`};case"route_taken":return{timestamp:n,level:"debug",source:"router",message:`${i.from_agent} → ${i.to_agent}`};case"parallel_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`Parallel group started (${((l=i.agents)==null?void 0:l.length)||"?"} agents)`};case"parallel_completed":return{timestamp:n,level:i.failure_count===0?"success":"error",source:String(i.group_name),message:`Parallel group completed${i.failure_count>0?` with ${i.failure_count} failure(s)`:""}`};case"for_each_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`For-each started (${i.item_count} items)`};case"for_each_completed":return{timestamp:n,level:(i.failure_count??0)===0?"success":"error",source:String(i.group_name),message:`For-each completed · ${i.success_count} succeeded${i.failure_count>0?` · ${i.failure_count} failed`:""}`};case"workflow_completed":return{timestamp:n,level:"success",source:"workflow",message:`Workflow completed${i.elapsed!=null?` in ${Uu(i.elapsed)}`:""}`};case"workflow_failed":return{timestamp:n,level:"error",source:"workflow",message:`Workflow failed: ${i.message||i.error_type||"unknown error"}`};case"checkpoint_saved":return{timestamp:n,level:"info",source:"workflow",message:`Checkpoint saved: ${((o=i.path)==null?void 0:o.split("/").pop())||"unknown"}`};case"agent_paused":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Agent paused — waiting for resume"};case"agent_resumed":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Agent resumed — re-executing"};default:return null}}function Uu(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Ox(e){const n=e.timestamp,i=e.data;switch(e.type){case"agent_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_prompt_rendered":return{timestamp:n,source:String(i.agent_name),type:"prompt",message:"Prompt rendered",detail:co(String(i.rendered_prompt||""),500)};case"agent_reasoning":return{timestamp:n,source:String(i.agent_name),type:"reasoning",message:String(i.content||"")};case"agent_tool_start":return{timestamp:n,source:String(i.agent_name),type:"tool-start",message:`→ ${i.tool_name}`,detail:i.arguments?co(String(i.arguments),300):null};case"agent_tool_complete":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`← ${i.tool_name||"done"}`,detail:i.result?co(String(i.result),300):null};case"agent_turn_start":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Turn ${i.turn??"?"}`};case"agent_message":return{timestamp:n,source:String(i.agent_name),type:"message",message:co(String(i.content||""),500)};case"agent_completed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Completed${i.elapsed!=null?` in ${Uu(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}`};case"agent_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Failed: ${i.message||i.error_type||"unknown"}`};case"script_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:"Script started"};case"script_completed":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`Script completed (exit ${i.exit_code??"?"})`,detail:i.stdout?co(String(i.stdout),300):null};case"script_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Script failed: ${i.message||i.error_type||"unknown"}`};default:return null}}function co(e,n){return e.length<=n?e:e.slice(0,n)+"…"}function MN(){const e=xe(v=>v.workflowName),n=xe(v=>v.workflowStatus),i=xe(v=>v.isPaused),[l,o]=G.useState(!1),[s,u]=G.useState(!1),[f,d]=G.useState(!1),h=n==="running"||n==="pending";G.useEffect(()=>{i||(o(!1),u(!1),d(!1))},[i]);const m=async()=>{o(!0);try{await fetch("/api/stop",{method:"POST"})}catch(v){console.error("Failed to stop agent:",v),o(!1)}},p=async()=>{u(!0);try{await fetch("/api/resume",{method:"POST"})}catch(v){console.error("Failed to resume agent:",v),u(!1)}},y=async()=>{d(!0);try{await fetch("/api/kill",{method:"POST"})}catch(v){console.error("Failed to kill workflow:",v),d(!1)}};return b.jsxs("header",{className:"flex items-center justify-between px-4 py-2 bg-[var(--surface)] border-b border-[var(--border)] flex-shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(L1,{className:"w-4 h-4 text-[var(--running)]"}),b.jsx("h1",{className:"text-sm font-semibold text-[var(--text)]",children:"Conductor"}),e&&b.jsxs("span",{className:"text-sm text-[var(--text-muted)] font-normal",children:["— ",e]})]}),b.jsxs("div",{className:"flex items-center gap-3",children:[i?b.jsxs(b.Fragment,{children:[b.jsxs("button",{onClick:p,disabled:s,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded - bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 - hover:bg-emerald-500/20 hover:border-emerald-500/30 - disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,title:"Re-execute the paused agent",children:[b.jsx(B1,{className:"w-3 h-3"}),s?"Resuming...":"Resume"]}),b.jsxs("button",{onClick:y,disabled:f,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded - bg-red-500/10 text-red-400 border border-red-500/20 - hover:bg-red-500/20 hover:border-red-500/30 - disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,title:"Stop workflow entirely (checkpoint saved for CLI resume)",children:[b.jsx(fc,{className:"w-3 h-3"}),f?"Killing...":"Kill"]})]}):h?b.jsxs("button",{onClick:m,disabled:l,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded - bg-red-500/10 text-red-400 border border-red-500/20 - hover:bg-red-500/20 hover:border-red-500/30 - disabled:opacity-50 disabled:cursor-not-allowed - transition-colors`,children:[b.jsx(q1,{className:"w-3 h-3"}),l?"Stopping...":"Stop"]}):null,b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded - bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] - hover:text-[var(--text)] hover:bg-[var(--surface)] - transition-colors`,title:"Download full event log as JSON",children:[b.jsx(dN,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]})]})}function U1(e){var n,i,l="";if(typeof e=="string"||typeof e=="number")l+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(n=0;n{const n=DN(e),{conflictingClassGroups:i,conflictingClassGroupModifiers:l}=e;return{getClassGroupId:u=>{const f=u.split(Zp);return f[0]===""&&f.length!==1&&f.shift(),I1(f,n)||RN(u)},getConflictingClassGroupIds:(u,f)=>{const d=i[u]||[];return f&&l[u]?[...d,...l[u]]:d}}},I1=(e,n)=>{var u;if(e.length===0)return n.classGroupId;const i=e[0],l=n.nextPart.get(i),o=l?I1(e.slice(1),l):void 0;if(o)return o;if(n.validators.length===0)return;const s=e.join(Zp);return(u=n.validators.find(({validator:f})=>f(s)))==null?void 0:u.classGroupId},Rx=/^\[(.+)\]$/,RN=e=>{if(Rx.test(e)){const n=Rx.exec(e)[1],i=n==null?void 0:n.substring(0,n.indexOf(":"));if(i)return"arbitrary.."+i}},DN=e=>{const{theme:n,prefix:i}=e,l={nextPart:new Map,validators:[]};return HN(Object.entries(e.classGroups),i).forEach(([s,u])=>{Sp(u,l,s,n)}),l},Sp=(e,n,i,l)=>{e.forEach(o=>{if(typeof o=="string"){const s=o===""?n:Dx(n,o);s.classGroupId=i;return}if(typeof o=="function"){if(LN(o)){Sp(o(l),n,i,l);return}n.validators.push({validator:o,classGroupId:i});return}Object.entries(o).forEach(([s,u])=>{Sp(u,Dx(n,s),i,l)})})},Dx=(e,n)=>{let i=e;return n.split(Zp).forEach(l=>{i.nextPart.has(l)||i.nextPart.set(l,{nextPart:new Map,validators:[]}),i=i.nextPart.get(l)}),i},LN=e=>e.isThemeGetter,HN=(e,n)=>n?e.map(([i,l])=>{const o=l.map(s=>typeof s=="string"?n+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([u,f])=>[n+u,f])):s);return[i,o]}):e,BN=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,i=new Map,l=new Map;const o=(s,u)=>{i.set(s,u),n++,n>e&&(n=0,l=i,i=new Map)};return{get(s){let u=i.get(s);if(u!==void 0)return u;if((u=l.get(s))!==void 0)return o(s,u),u},set(s,u){i.has(s)?i.set(s,u):o(s,u)}}},V1="!",qN=e=>{const{separator:n,experimentalParseClassName:i}=e,l=n.length===1,o=n[0],s=n.length,u=f=>{const d=[];let h=0,m=0,p;for(let S=0;Sm?p-m:void 0;return{modifiers:d,hasImportantModifier:v,baseClassName:w,maybePostfixModifierPosition:N}};return i?f=>i({className:f,parseClassName:u}):u},UN=e=>{if(e.length<=1)return e;const n=[];let i=[];return e.forEach(l=>{l[0]==="["?(n.push(...i.sort(),l),i=[]):i.push(l)}),n.push(...i.sort()),n},IN=e=>({cache:BN(e.cacheSize),parseClassName:qN(e),...ON(e)}),VN=/\s+/,GN=(e,n)=>{const{parseClassName:i,getClassGroupId:l,getConflictingClassGroupIds:o}=n,s=[],u=e.trim().split(VN);let f="";for(let d=u.length-1;d>=0;d-=1){const h=u[d],{modifiers:m,hasImportantModifier:p,baseClassName:y,maybePostfixModifierPosition:v}=i(h);let w=!!v,N=l(w?y.substring(0,v):y);if(!N){if(!w){f=h+(f.length>0?" "+f:f);continue}if(N=l(y),!N){f=h+(f.length>0?" "+f:f);continue}w=!1}const S=UN(m).join(":"),E=p?S+V1:S,A=E+N;if(s.includes(A))continue;s.push(A);const _=o(N,w);for(let z=0;z<_.length;++z){const B=_[z];s.push(E+B)}f=h+(f.length>0?" "+f:f)}return f};function YN(){let e=0,n,i,l="";for(;e{if(typeof e=="string")return e;let n,i="";for(let l=0;lp(m),e());return i=IN(h),l=i.cache.get,o=i.cache.set,s=f,f(d)}function f(d){const h=l(d);if(h)return h;const m=GN(d,i);return o(d,m),m}return function(){return s(YN.apply(null,arguments))}}const dt=e=>{const n=i=>i[e]||[];return n.isThemeGetter=!0,n},Y1=/^\[(?:([a-z-]+):)?(.+)\]$/i,XN=/^\d+\/\d+$/,PN=new Set(["px","full","screen"]),FN=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,QN=/\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$/,ZN=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,KN=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,JN=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Cr=e=>Ql(e)||PN.has(e)||XN.test(e),ci=e=>ca(e,"length",ak),Ql=e=>!!e&&!Number.isNaN(Number(e)),Qd=e=>ca(e,"number",Ql),fo=e=>!!e&&Number.isInteger(Number(e)),WN=e=>e.endsWith("%")&&Ql(e.slice(0,-1)),Oe=e=>Y1.test(e),fi=e=>FN.test(e),ek=new Set(["length","size","percentage"]),tk=e=>ca(e,ek,$1),nk=e=>ca(e,"position",$1),rk=new Set(["image","url"]),ik=e=>ca(e,rk,sk),lk=e=>ca(e,"",ok),ho=()=>!0,ca=(e,n,i)=>{const l=Y1.exec(e);return l?l[1]?typeof n=="string"?l[1]===n:n.has(l[1]):i(l[2]):!1},ak=e=>QN.test(e)&&!ZN.test(e),$1=()=>!1,ok=e=>KN.test(e),sk=e=>JN.test(e),uk=()=>{const e=dt("colors"),n=dt("spacing"),i=dt("blur"),l=dt("brightness"),o=dt("borderColor"),s=dt("borderRadius"),u=dt("borderSpacing"),f=dt("borderWidth"),d=dt("contrast"),h=dt("grayscale"),m=dt("hueRotate"),p=dt("invert"),y=dt("gap"),v=dt("gradientColorStops"),w=dt("gradientColorStopPositions"),N=dt("inset"),S=dt("margin"),E=dt("opacity"),A=dt("padding"),_=dt("saturate"),z=dt("scale"),B=dt("sepia"),T=dt("skew"),I=dt("space"),M=dt("translate"),L=()=>["auto","contain","none"],X=()=>["auto","hidden","clip","visible","scroll"],q=()=>["auto",Oe,n],D=()=>[Oe,n],W=()=>["",Cr,ci],H=()=>["auto",Ql,Oe],Y=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],O=()=>["solid","dashed","dotted","double","none"],$=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Z=()=>["start","end","center","between","around","evenly","stretch"],K=()=>["","0",Oe],j=()=>["auto","avoid","all","avoid-page","page","left","right","column"],U=()=>[Ql,Oe];return{cacheSize:500,separator:":",theme:{colors:[ho],spacing:[Cr,ci],blur:["none","",fi,Oe],brightness:U(),borderColor:[e],borderRadius:["none","","full",fi,Oe],borderSpacing:D(),borderWidth:W(),contrast:U(),grayscale:K(),hueRotate:U(),invert:K(),gap:D(),gradientColorStops:[e],gradientColorStopPositions:[WN,ci],inset:q(),margin:q(),opacity:U(),padding:D(),saturate:U(),scale:U(),sepia:K(),skew:U(),space:D(),translate:D()},classGroups:{aspect:[{aspect:["auto","square","video",Oe]}],container:["container"],columns:[{columns:[fi]}],"break-after":[{"break-after":j()}],"break-before":[{"break-before":j()}],"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:[...Y(),Oe]}],overflow:[{overflow:X()}],"overflow-x":[{"overflow-x":X()}],"overflow-y":[{"overflow-y":X()}],overscroll:[{overscroll:L()}],"overscroll-x":[{"overscroll-x":L()}],"overscroll-y":[{"overscroll-y":L()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[N]}],"inset-x":[{"inset-x":[N]}],"inset-y":[{"inset-y":[N]}],start:[{start:[N]}],end:[{end:[N]}],top:[{top:[N]}],right:[{right:[N]}],bottom:[{bottom:[N]}],left:[{left:[N]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",fo,Oe]}],basis:[{basis:q()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Oe]}],grow:[{grow:K()}],shrink:[{shrink:K()}],order:[{order:["first","last","none",fo,Oe]}],"grid-cols":[{"grid-cols":[ho]}],"col-start-end":[{col:["auto",{span:["full",fo,Oe]},Oe]}],"col-start":[{"col-start":H()}],"col-end":[{"col-end":H()}],"grid-rows":[{"grid-rows":[ho]}],"row-start-end":[{row:["auto",{span:[fo,Oe]},Oe]}],"row-start":[{"row-start":H()}],"row-end":[{"row-end":H()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Oe]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Oe]}],gap:[{gap:[y]}],"gap-x":[{"gap-x":[y]}],"gap-y":[{"gap-y":[y]}],"justify-content":[{justify:["normal",...Z()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...Z(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...Z(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[A]}],px:[{px:[A]}],py:[{py:[A]}],ps:[{ps:[A]}],pe:[{pe:[A]}],pt:[{pt:[A]}],pr:[{pr:[A]}],pb:[{pb:[A]}],pl:[{pl:[A]}],m:[{m:[S]}],mx:[{mx:[S]}],my:[{my:[S]}],ms:[{ms:[S]}],me:[{me:[S]}],mt:[{mt:[S]}],mr:[{mr:[S]}],mb:[{mb:[S]}],ml:[{ml:[S]}],"space-x":[{"space-x":[I]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[I]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Oe,n]}],"min-w":[{"min-w":[Oe,n,"min","max","fit"]}],"max-w":[{"max-w":[Oe,n,"none","full","min","max","fit","prose",{screen:[fi]},fi]}],h:[{h:[Oe,n,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Oe,n,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Oe,n,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Oe,n,"auto","min","max","fit"]}],"font-size":[{text:["base",fi,ci]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Qd]}],"font-family":[{font:[ho]}],"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",Oe]}],"line-clamp":[{"line-clamp":["none",Ql,Qd]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Cr,Oe]}],"list-image":[{"list-image":["none",Oe]}],"list-style-type":[{list:["none","disc","decimal",Oe]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[E]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[E]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Cr,ci]}],"underline-offset":[{"underline-offset":["auto",Cr,Oe]}],"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:D()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Oe]}],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",Oe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[E]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...Y(),nk]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",tk]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},ik]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[w]}],"gradient-via-pos":[{via:[w]}],"gradient-to-pos":[{to:[w]}],"gradient-from":[{from:[v]}],"gradient-via":[{via:[v]}],"gradient-to":[{to:[v]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"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":[E]}],"border-style":[{border:[...O(),"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":[E]}],"divide-style":[{divide:O()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...O()]}],"outline-offset":[{"outline-offset":[Cr,Oe]}],"outline-w":[{outline:[Cr,ci]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:W()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[E]}],"ring-offset-w":[{"ring-offset":[Cr,ci]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",fi,lk]}],"shadow-color":[{shadow:[ho]}],opacity:[{opacity:[E]}],"mix-blend":[{"mix-blend":[...$(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":$()}],filter:[{filter:["","none"]}],blur:[{blur:[i]}],brightness:[{brightness:[l]}],contrast:[{contrast:[d]}],"drop-shadow":[{"drop-shadow":["","none",fi,Oe]}],grayscale:[{grayscale:[h]}],"hue-rotate":[{"hue-rotate":[m]}],invert:[{invert:[p]}],saturate:[{saturate:[_]}],sepia:[{sepia:[B]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[i]}],"backdrop-brightness":[{"backdrop-brightness":[l]}],"backdrop-contrast":[{"backdrop-contrast":[d]}],"backdrop-grayscale":[{"backdrop-grayscale":[h]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[E]}],"backdrop-saturate":[{"backdrop-saturate":[_]}],"backdrop-sepia":[{"backdrop-sepia":[B]}],"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",Oe]}],duration:[{duration:U()}],ease:[{ease:["linear","in","out","in-out",Oe]}],delay:[{delay:U()}],animate:[{animate:["none","spin","ping","pulse","bounce",Oe]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[z]}],"scale-x":[{"scale-x":[z]}],"scale-y":[{"scale-y":[z]}],rotate:[{rotate:[fo,Oe]}],"translate-x":[{"translate-x":[M]}],"translate-y":[{"translate-y":[M]}],"skew-x":[{"skew-x":[T]}],"skew-y":[{"skew-y":[T]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Oe]}],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",Oe]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":D()}],"scroll-mx":[{"scroll-mx":D()}],"scroll-my":[{"scroll-my":D()}],"scroll-ms":[{"scroll-ms":D()}],"scroll-me":[{"scroll-me":D()}],"scroll-mt":[{"scroll-mt":D()}],"scroll-mr":[{"scroll-mr":D()}],"scroll-mb":[{"scroll-mb":D()}],"scroll-ml":[{"scroll-ml":D()}],"scroll-p":[{"scroll-p":D()}],"scroll-px":[{"scroll-px":D()}],"scroll-py":[{"scroll-py":D()}],"scroll-ps":[{"scroll-ps":D()}],"scroll-pe":[{"scroll-pe":D()}],"scroll-pt":[{"scroll-pt":D()}],"scroll-pr":[{"scroll-pr":D()}],"scroll-pb":[{"scroll-pb":D()}],"scroll-pl":[{"scroll-pl":D()}],"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",Oe]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Cr,ci,Qd]}],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"]}}},ck=$N(uk);function Pe(...e){return ck(jN(e))}function Gn(e){if(e==null)return"—";if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function X1(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function ta(e){return e==null?"—":`$${e.toFixed(4)}`}function tr(e){return e==null?"—":e.toLocaleString()}function P1(){const e=xe(s=>s.workflowStatus),n=xe(s=>s.workflowStartTime),[i,l]=G.useState("—"),o=G.useRef(null);return G.useEffect(()=>{if(e==="running"&&n!=null){const s=()=>{const u=Date.now()/1e3-n;l(Gn(u))};return s(),o.current=setInterval(s,500),()=>{o.current&&clearInterval(o.current)}}else(e==="completed"||e==="failed")&&o.current&&(clearInterval(o.current),o.current=null)},[e,n]),i}function fk(){const e=xe(N=>N.workflowStatus),n=xe(N=>N.agentsCompleted),i=xe(N=>N.agentsTotal),l=xe(N=>N.totalCost),o=xe(N=>N.totalTokens),s=xe(N=>N.wsStatus),u=xe(N=>N.workflowFailure),f=xe(N=>N.lastEventTime),d=P1(),[h,m]=G.useState(null);G.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const N=()=>{m(Math.floor(Date.now()/1e3-f))};N();const S=setInterval(N,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",y=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const N=u.error_type||"";return N==="MaxIterationsError"?"Failed: exceeded maximum iterations":N==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${N}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(NN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(EN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(Mo,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(Mo,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Pe("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Pe("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Pe(p?"text-red-300":"text-[var(--text)]"),children:y}),i>0&&b.jsxs("span",{className:Pe(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Pe("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Pe("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(gN,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Pe("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx(fN,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Pe("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx(cN,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const dc=G.createContext(null);dc.displayName="PanelGroupContext";const xt={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},Kp=10,Yi=G.useLayoutEffect,Lx=K2.useId,dk=typeof Lx=="function"?Lx:()=>null;let hk=0;function Jp(e=null){const n=dk(),i=G.useRef(e||n||null);return i.current===null&&(i.current=""+hk++),e??i.current}function F1({children:e,className:n="",collapsedSize:i,collapsible:l,defaultSize:o,forwardedRef:s,id:u,maxSize:f,minSize:d,onCollapse:h,onExpand:m,onResize:p,order:y,style:v,tagName:w="div",...N}){const S=G.useContext(dc);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:E,expandPanel:A,getPanelSize:_,getPanelStyle:z,groupId:B,isPanelCollapsed:T,reevaluatePanelConstraints:I,registerPanel:M,resizePanel:L,unregisterPanel:X}=S,q=Jp(u),D=G.useRef({callbacks:{onCollapse:h,onExpand:m,onResize:p},constraints:{collapsedSize:i,collapsible:l,defaultSize:o,maxSize:f,minSize:d},id:q,idIsFromProps:u!==void 0,order:y});G.useRef({didLogMissingDefaultSizeWarning:!1}),Yi(()=>{const{callbacks:H,constraints:Y}=D.current,O={...Y};D.current.id=q,D.current.idIsFromProps=u!==void 0,D.current.order=y,H.onCollapse=h,H.onExpand=m,H.onResize=p,Y.collapsedSize=i,Y.collapsible=l,Y.defaultSize=o,Y.maxSize=f,Y.minSize=d,(O.collapsedSize!==Y.collapsedSize||O.collapsible!==Y.collapsible||O.maxSize!==Y.maxSize||O.minSize!==Y.minSize)&&I(D.current,O)}),Yi(()=>{const H=D.current;return M(H),()=>{X(H)}},[y,q,M,X]),G.useImperativeHandle(s,()=>({collapse:()=>{E(D.current)},expand:H=>{A(D.current,H)},getId(){return q},getSize(){return _(D.current)},isCollapsed(){return T(D.current)},isExpanded(){return!T(D.current)},resize:H=>{L(D.current,H)}}),[E,A,_,T,q,L]);const W=z(D.current,o);return G.createElement(w,{...N,children:e,className:n,id:q,style:{...W,...v},[xt.groupId]:B,[xt.panel]:"",[xt.panelCollapsible]:l||void 0,[xt.panelId]:q,[xt.panelSize]:parseFloat(""+W.flexGrow).toFixed(1)})}const bo=G.forwardRef((e,n)=>G.createElement(F1,{...e,forwardedRef:n}));F1.displayName="Panel";bo.displayName="forwardRef(Panel)";let _p=null,Iu=-1,mi=null;function pk(e,n){if(n){const i=(n&W1)!==0,l=(n&ew)!==0,o=(n&tw)!==0,s=(n&nw)!==0;if(i)return o?"se-resize":s?"ne-resize":"e-resize";if(l)return o?"sw-resize":s?"nw-resize":"w-resize";if(o)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function mk(){mi!==null&&(document.head.removeChild(mi),_p=null,mi=null,Iu=-1)}function Zd(e,n){var i,l;const o=pk(e,n);if(_p!==o){if(_p=o,mi===null&&(mi=document.createElement("style"),document.head.appendChild(mi)),Iu>=0){var s;(s=mi.sheet)===null||s===void 0||s.removeRule(Iu)}Iu=(i=(l=mi.sheet)===null||l===void 0?void 0:l.insertRule(`*{cursor: ${o} !important;}`))!==null&&i!==void 0?i:-1}}function Q1(e){return e.type==="keydown"}function Z1(e){return e.type.startsWith("pointer")}function K1(e){return e.type.startsWith("mouse")}function hc(e){if(Z1(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(K1(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function gk(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function yk(e,n,i){return e.xn.x&&e.yn.y}function xk(e,n){if(e===n)throw new Error("Cannot compare node with itself");const i={a:qx(e),b:qx(n)};let l;for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),n=i.b.pop(),l=e;De(l,"Stacking order can only be calculated for elements with a common ancestor");const o={a:Bx(Hx(i.a)),b:Bx(Hx(i.b))};if(o.a===o.b){const s=l.childNodes,u={a:i.a.at(-1),b:i.b.at(-1)};let f=s.length;for(;f--;){const d=s[f];if(d===u.a)return 1;if(d===u.b)return-1}}return Math.sign(o.a-o.b)}const vk=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function bk(e){var n;const i=getComputedStyle((n=J1(e))!==null&&n!==void 0?n:e).display;return i==="flex"||i==="inline-flex"}function wk(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||bk(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||vk.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function Hx(e){let n=e.length;for(;n--;){const i=e[n];if(De(i,"Missing node"),wk(i))return i}return null}function Bx(e){return e&&Number(getComputedStyle(e).zIndex)||0}function qx(e){const n=[];for(;e;)n.push(e),e=J1(e);return n}function J1(e){const{parentNode:n}=e;return n&&n instanceof ShadowRoot?n.host:n}const W1=1,ew=2,tw=4,nw=8,Sk=gk()==="coarse";let Vn=[],Zl=!1,Ii=new Map,pc=new Map;const jo=new Set;function _k(e,n,i,l,o){var s;const{ownerDocument:u}=n,f={direction:i,element:n,hitAreaMargins:l,setResizeHandlerState:o},d=(s=Ii.get(u))!==null&&s!==void 0?s:0;return Ii.set(u,d+1),jo.add(f),Qu(),function(){var m;pc.delete(e),jo.delete(f);const p=(m=Ii.get(u))!==null&&m!==void 0?m:1;if(Ii.set(u,p-1),Qu(),p===1&&Ii.delete(u),Vn.includes(f)){const y=Vn.indexOf(f);y>=0&&Vn.splice(y,1),em(),o("up",!0,null)}}}function Ek(e){const{target:n}=e,{x:i,y:l}=hc(e);Zl=!0,Wp({target:n,x:i,y:l}),Qu(),Vn.length>0&&(Zu("down",e),e.preventDefault(),rw(n)||e.stopImmediatePropagation())}function Kd(e){const{x:n,y:i}=hc(e);if(Zl&&e.buttons===0&&(Zl=!1,Zu("up",e)),!Zl){const{target:l}=e;Wp({target:l,x:n,y:i})}Zu("move",e),em(),Vn.length>0&&e.preventDefault()}function Jd(e){const{target:n}=e,{x:i,y:l}=hc(e);pc.clear(),Zl=!1,Vn.length>0&&(e.preventDefault(),rw(n)||e.stopImmediatePropagation()),Zu("up",e),Wp({target:n,x:i,y:l}),em(),Qu()}function rw(e){let n=e;for(;n;){if(n.hasAttribute(xt.resizeHandle))return!0;n=n.parentElement}return!1}function Wp({target:e,x:n,y:i}){Vn.splice(0);let l=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(l=e),jo.forEach(o=>{const{element:s,hitAreaMargins:u}=o,f=s.getBoundingClientRect(),{bottom:d,left:h,right:m,top:p}=f,y=Sk?u.coarse:u.fine;if(n>=h-y&&n<=m+y&&i>=p-y&&i<=d+y){if(l!==null&&document.contains(l)&&s!==l&&!s.contains(l)&&!l.contains(s)&&xk(l,s)>0){let w=l,N=!1;for(;w&&!w.contains(s);){if(yk(w.getBoundingClientRect(),f)){N=!0;break}w=w.parentElement}if(N)return}Vn.push(o)}})}function Wd(e,n){pc.set(e,n)}function em(){let e=!1,n=!1;Vn.forEach(l=>{const{direction:o}=l;o==="horizontal"?e=!0:n=!0});let i=0;pc.forEach(l=>{i|=l}),e&&n?Zd("intersection",i):e?Zd("horizontal",i):n?Zd("vertical",i):mk()}let eh=new AbortController;function Qu(){eh.abort(),eh=new AbortController;const e={capture:!0,signal:eh.signal};jo.size&&(Zl?(Vn.length>0&&Ii.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("contextmenu",Jd,e),l.addEventListener("pointerleave",Kd,e),l.addEventListener("pointermove",Kd,e))}),window.addEventListener("pointerup",Jd,e),window.addEventListener("pointercancel",Jd,e)):Ii.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("pointerdown",Ek,e),l.addEventListener("pointermove",Kd,e))}))}function Zu(e,n){jo.forEach(i=>{const{setResizeHandlerState:l}=i,o=Vn.includes(i);l(e,o,n)})}function Nk(){const[e,n]=G.useState(0);return G.useCallback(()=>n(i=>i+1),[])}function De(e,n){if(!e)throw console.error(n),Error(n)}function Pi(e,n,i=Kp){return e.toFixed(i)===n.toFixed(i)?0:e>n?1:-1}function Ar(e,n,i=Kp){return Pi(e,n,i)===0}function xn(e,n,i){return Pi(e,n,i)===0}function kk(e,n,i){if(e.length!==n.length)return!1;for(let l=0;l0&&(e=e<0?0-E:E)}}}{const p=e<0?f:d,y=i[p];De(y,`No panel constraints found for index ${p}`);const{collapsedSize:v=0,collapsible:w,minSize:N=0}=y;if(w){const S=n[p];if(De(S!=null,`Previous layout not found for panel index ${p}`),xn(S,N)){const E=S-v;Pi(E,Math.abs(e))>0&&(e=e<0?0-E:E)}}}}{const p=e<0?1:-1;let y=e<0?d:f,v=0;for(;;){const N=n[y];De(N!=null,`Previous layout not found for panel index ${y}`);const E=$l({panelConstraints:i,panelIndex:y,size:100})-N;if(v+=E,y+=p,y<0||y>=i.length)break}const w=Math.min(Math.abs(e),Math.abs(v));e=e<0?0-w:w}{let y=e<0?f:d;for(;y>=0&&y=0))break;e<0?y--:y++}}if(kk(o,u))return o;{const p=e<0?d:f,y=n[p];De(y!=null,`Previous layout not found for panel index ${p}`);const v=y+h,w=$l({panelConstraints:i,panelIndex:p,size:v});if(u[p]=w,!xn(w,v)){let N=v-w,E=e<0?d:f;for(;E>=0&&E0?E--:E++}}}const m=u.reduce((p,y)=>y+p,0);return xn(m,100)?u:o}function Ck({layout:e,panelsArray:n,pivotIndices:i}){let l=0,o=100,s=0,u=0;const f=i[0];De(f!=null,"No pivot index found"),n.forEach((p,y)=>{const{constraints:v}=p,{maxSize:w=100,minSize:N=0}=v;y===f?(l=N,o=w):(s+=N,u+=w)});const d=Math.min(o,100-s),h=Math.max(l,100-u),m=e[f];return{valueMax:d,valueMin:h,valueNow:m}}function Oo(e,n=document){return Array.from(n.querySelectorAll(`[${xt.resizeHandleId}][data-panel-group-id="${e}"]`))}function iw(e,n,i=document){const o=Oo(e,i).findIndex(s=>s.getAttribute(xt.resizeHandleId)===n);return o??null}function lw(e,n,i){const l=iw(e,n,i);return l!=null?[l,l+1]:[-1,-1]}function aw(e,n=document){var i;if(n instanceof HTMLElement&&(n==null||(i=n.dataset)===null||i===void 0?void 0:i.panelGroupId)==e)return n;const l=n.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return l||null}function mc(e,n=document){const i=n.querySelector(`[${xt.resizeHandleId}="${e}"]`);return i||null}function zk(e,n,i,l=document){var o,s,u,f;const d=mc(n,l),h=Oo(e,l),m=d?h.indexOf(d):-1,p=(o=(s=i[m])===null||s===void 0?void 0:s.id)!==null&&o!==void 0?o:null,y=(u=(f=i[m+1])===null||f===void 0?void 0:f.id)!==null&&u!==void 0?u:null;return[p,y]}function Ak({committedValuesRef:e,eagerValuesRef:n,groupId:i,layout:l,panelDataArray:o,panelGroupElement:s,setLayout:u}){G.useRef({didWarnAboutMissingResizeHandle:!1}),Yi(()=>{if(!s)return;const f=Oo(i,s);for(let d=0;d{f.forEach((d,h)=>{d.removeAttribute("aria-controls"),d.removeAttribute("aria-valuemax"),d.removeAttribute("aria-valuemin"),d.removeAttribute("aria-valuenow")})}},[i,l,o,s]),G.useEffect(()=>{if(!s)return;const f=n.current;De(f,"Eager values not found");const{panelDataArray:d}=f,h=aw(i,s);De(h!=null,`No group found for id "${i}"`);const m=Oo(i,s);De(m,`No resize handles found for group id "${i}"`);const p=m.map(y=>{const v=y.getAttribute(xt.resizeHandleId);De(v,"Resize handle element has no handle id attribute");const[w,N]=zk(i,v,d,s);if(w==null||N==null)return()=>{};const S=E=>{if(!E.defaultPrevented)switch(E.key){case"Enter":{E.preventDefault();const A=d.findIndex(_=>_.id===w);if(A>=0){const _=d[A];De(_,`No panel data found for index ${A}`);const z=l[A],{collapsedSize:B=0,collapsible:T,minSize:I=0}=_.constraints;if(z!=null&&T){const M=wo({delta:xn(z,B)?I-B:B-z,initialLayout:l,panelConstraints:d.map(L=>L.constraints),pivotIndices:lw(i,v,s),prevLayout:l,trigger:"keyboard"});l!==M&&u(M)}}break}}};return y.addEventListener("keydown",S),()=>{y.removeEventListener("keydown",S)}});return()=>{p.forEach(y=>y())}},[s,e,n,i,l,o,u])}function Ux(e,n){if(e.length!==n.length)return!1;for(let i=0;is.constraints);let l=0,o=100;for(let s=0;s{const s=e[o];De(s,`Panel data not found for index ${o}`);const{callbacks:u,constraints:f,id:d}=s,{collapsedSize:h=0,collapsible:m}=f,p=i[d];if(p==null||l!==p){i[d]=l;const{onCollapse:y,onExpand:v,onResize:w}=u;w&&w(l,p),m&&(y||v)&&(v&&(p==null||Ar(p,h))&&!Ar(l,h)&&v(),y&&(p==null||!Ar(p,h))&&Ar(l,h)&&y())}})}function Cu(e,n){if(e.length!==n.length)return!1;for(let i=0;i{i!==null&&clearTimeout(i),i=setTimeout(()=>{e(...o)},n)}}function Ix(e){try{if(typeof localStorage<"u")e.getItem=n=>localStorage.getItem(n),e.setItem=(n,i)=>{localStorage.setItem(n,i)};else throw new Error("localStorage not supported in this environment")}catch(n){console.error(n),e.getItem=()=>null,e.setItem=()=>{}}}function sw(e){return`react-resizable-panels:${e}`}function uw(e){return e.map(n=>{const{constraints:i,id:l,idIsFromProps:o,order:s}=n;return o?l:s?`${s}:${JSON.stringify(i)}`:JSON.stringify(i)}).sort((n,i)=>n.localeCompare(i)).join(",")}function cw(e,n){try{const i=sw(e),l=n.getItem(i);if(l){const o=JSON.parse(l);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function Dk(e,n,i){var l,o;const s=(l=cw(e,i))!==null&&l!==void 0?l:{},u=uw(n);return(o=s[u])!==null&&o!==void 0?o:null}function Lk(e,n,i,l,o){var s;const u=sw(e),f=uw(n),d=(s=cw(e,o))!==null&&s!==void 0?s:{};d[f]={expandToSizes:Object.fromEntries(i.entries()),layout:l};try{o.setItem(u,JSON.stringify(d))}catch(h){console.error(h)}}function Vx({layout:e,panelConstraints:n}){const i=[...e],l=i.reduce((s,u)=>s+u,0);if(i.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${i.map(s=>`${s}%`).join(", ")}`);if(!xn(l,100)&&i.length>0)for(let s=0;s(Ix(So),So.getItem(e)),setItem:(e,n)=>{Ix(So),So.setItem(e,n)}},Gx={};function fw({autoSaveId:e=null,children:n,className:i="",direction:l,forwardedRef:o,id:s=null,onLayout:u=null,keyboardResizeBy:f=null,storage:d=So,style:h,tagName:m="div",...p}){const y=Jp(s),v=G.useRef(null),[w,N]=G.useState(null),[S,E]=G.useState([]),A=Nk(),_=G.useRef({}),z=G.useRef(new Map),B=G.useRef(0),T=G.useRef({autoSaveId:e,direction:l,dragState:w,id:y,keyboardResizeBy:f,onLayout:u,storage:d}),I=G.useRef({layout:S,panelDataArray:[],panelDataArrayChanged:!1});G.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),G.useImperativeHandle(o,()=>({getId:()=>T.current.id,getLayout:()=>{const{layout:k}=I.current;return k},setLayout:k=>{const{onLayout:V}=T.current,{layout:F,panelDataArray:J}=I.current,ne=Vx({layout:k,panelConstraints:J.map(re=>re.constraints)});Ux(F,ne)||(E(ne),I.current.layout=ne,V&&V(ne),ql(J,ne,_.current))}}),[]),Yi(()=>{T.current.autoSaveId=e,T.current.direction=l,T.current.dragState=w,T.current.id=y,T.current.onLayout=u,T.current.storage=d}),Ak({committedValuesRef:T,eagerValuesRef:I,groupId:y,layout:S,panelDataArray:I.current.panelDataArray,setLayout:E,panelGroupElement:v.current}),G.useEffect(()=>{const{panelDataArray:k}=I.current;if(e){if(S.length===0||S.length!==k.length)return;let V=Gx[e];V==null&&(V=Rk(Lk,Hk),Gx[e]=V);const F=[...k],J=new Map(z.current);V(e,F,J,S,d)}},[e,S,d]),G.useEffect(()=>{});const M=G.useCallback(k=>{const{onLayout:V}=T.current,{layout:F,panelDataArray:J}=I.current;if(k.constraints.collapsible){const ne=J.map(ve=>ve.constraints),{collapsedSize:re=0,panelSize:se,pivotIndices:ge}=qi(J,k,F);if(De(se!=null,`Panel size not found for panel "${k.id}"`),!Ar(se,re)){z.current.set(k.id,se);const ye=Gl(J,k)===J.length-1?se-re:re-se,he=wo({delta:ye,initialLayout:F,panelConstraints:ne,pivotIndices:ge,prevLayout:F,trigger:"imperative-api"});Cu(F,he)||(E(he),I.current.layout=he,V&&V(he),ql(J,he,_.current))}}},[]),L=G.useCallback((k,V)=>{const{onLayout:F}=T.current,{layout:J,panelDataArray:ne}=I.current;if(k.constraints.collapsible){const re=ne.map(_e=>_e.constraints),{collapsedSize:se=0,panelSize:ge=0,minSize:ve=0,pivotIndices:ye}=qi(ne,k,J),he=V??ve;if(Ar(ge,se)){const _e=z.current.get(k.id),Me=_e!=null&&_e>=he?_e:he,ut=Gl(ne,k)===ne.length-1?ge-Me:Me-ge,et=wo({delta:ut,initialLayout:J,panelConstraints:re,pivotIndices:ye,prevLayout:J,trigger:"imperative-api"});Cu(J,et)||(E(et),I.current.layout=et,F&&F(et),ql(ne,et,_.current))}}},[]),X=G.useCallback(k=>{const{layout:V,panelDataArray:F}=I.current,{panelSize:J}=qi(F,k,V);return De(J!=null,`Panel size not found for panel "${k.id}"`),J},[]),q=G.useCallback((k,V)=>{const{panelDataArray:F}=I.current,J=Gl(F,k);return Ok({defaultSize:V,dragState:w,layout:S,panelData:F,panelIndex:J})},[w,S]),D=G.useCallback(k=>{const{layout:V,panelDataArray:F}=I.current,{collapsedSize:J=0,collapsible:ne,panelSize:re}=qi(F,k,V);return De(re!=null,`Panel size not found for panel "${k.id}"`),ne===!0&&Ar(re,J)},[]),W=G.useCallback(k=>{const{layout:V,panelDataArray:F}=I.current,{collapsedSize:J=0,collapsible:ne,panelSize:re}=qi(F,k,V);return De(re!=null,`Panel size not found for panel "${k.id}"`),!ne||Pi(re,J)>0},[]),H=G.useCallback(k=>{const{panelDataArray:V}=I.current;V.push(k),V.sort((F,J)=>{const ne=F.order,re=J.order;return ne==null&&re==null?0:ne==null?-1:re==null?1:ne-re}),I.current.panelDataArrayChanged=!0,A()},[A]);Yi(()=>{if(I.current.panelDataArrayChanged){I.current.panelDataArrayChanged=!1;const{autoSaveId:k,onLayout:V,storage:F}=T.current,{layout:J,panelDataArray:ne}=I.current;let re=null;if(k){const ge=Dk(k,ne,F);ge&&(z.current=new Map(Object.entries(ge.expandToSizes)),re=ge.layout)}re==null&&(re=jk({panelDataArray:ne}));const se=Vx({layout:re,panelConstraints:ne.map(ge=>ge.constraints)});Ux(J,se)||(E(se),I.current.layout=se,V&&V(se),ql(ne,se,_.current))}}),Yi(()=>{const k=I.current;return()=>{k.layout=[]}},[]);const Y=G.useCallback(k=>{let V=!1;const F=v.current;return F&&window.getComputedStyle(F,null).getPropertyValue("direction")==="rtl"&&(V=!0),function(ne){ne.preventDefault();const re=v.current;if(!re)return()=>null;const{direction:se,dragState:ge,id:ve,keyboardResizeBy:ye,onLayout:he}=T.current,{layout:_e,panelDataArray:Me}=I.current,{initialLayout:Ce}=ge??{},ut=lw(ve,k,re);let et=Mk(ne,k,se,ge,ye,re);const Mt=se==="horizontal";Mt&&V&&(et=-et);const Vt=Me.map(jn=>jn.constraints),Lt=wo({delta:et,initialLayout:Ce??_e,panelConstraints:Vt,pivotIndices:ut,prevLayout:_e,trigger:Q1(ne)?"keyboard":"mouse-or-touch"}),Sn=!Cu(_e,Lt);(Z1(ne)||K1(ne))&&B.current!=et&&(B.current=et,!Sn&&et!==0?Mt?Wd(k,et<0?W1:ew):Wd(k,et<0?tw:nw):Wd(k,0)),Sn&&(E(Lt),I.current.layout=Lt,he&&he(Lt),ql(Me,Lt,_.current))}},[]),O=G.useCallback((k,V)=>{const{onLayout:F}=T.current,{layout:J,panelDataArray:ne}=I.current,re=ne.map(_e=>_e.constraints),{panelSize:se,pivotIndices:ge}=qi(ne,k,J);De(se!=null,`Panel size not found for panel "${k.id}"`);const ye=Gl(ne,k)===ne.length-1?se-V:V-se,he=wo({delta:ye,initialLayout:J,panelConstraints:re,pivotIndices:ge,prevLayout:J,trigger:"imperative-api"});Cu(J,he)||(E(he),I.current.layout=he,F&&F(he),ql(ne,he,_.current))},[]),$=G.useCallback((k,V)=>{const{layout:F,panelDataArray:J}=I.current,{collapsedSize:ne=0,collapsible:re}=V,{collapsedSize:se=0,collapsible:ge,maxSize:ve=100,minSize:ye=0}=k.constraints,{panelSize:he}=qi(J,k,F);he!=null&&(re&&ge&&Ar(he,ne)?Ar(ne,se)||O(k,se):heve&&O(k,ve))},[O]),Z=G.useCallback((k,V)=>{const{direction:F}=T.current,{layout:J}=I.current;if(!v.current)return;const ne=mc(k,v.current);De(ne,`Drag handle element not found for id "${k}"`);const re=ow(F,V);N({dragHandleId:k,dragHandleRect:ne.getBoundingClientRect(),initialCursorPosition:re,initialLayout:J})},[]),K=G.useCallback(()=>{N(null)},[]),j=G.useCallback(k=>{const{panelDataArray:V}=I.current,F=Gl(V,k);F>=0&&(V.splice(F,1),delete _.current[k.id],I.current.panelDataArrayChanged=!0,A())},[A]),U=G.useMemo(()=>({collapsePanel:M,direction:l,dragState:w,expandPanel:L,getPanelSize:X,getPanelStyle:q,groupId:y,isPanelCollapsed:D,isPanelExpanded:W,reevaluatePanelConstraints:$,registerPanel:H,registerResizeHandle:Y,resizePanel:O,startDragging:Z,stopDragging:K,unregisterPanel:j,panelGroupElement:v.current}),[M,w,l,L,X,q,y,D,W,$,H,Y,O,Z,K,j]),P={display:"flex",flexDirection:l==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return G.createElement(dc.Provider,{value:U},G.createElement(m,{...p,children:n,className:i,id:s,ref:v,style:{...P,...h},[xt.group]:"",[xt.groupDirection]:l,[xt.groupId]:y}))}const Ep=G.forwardRef((e,n)=>G.createElement(fw,{...e,forwardedRef:n}));fw.displayName="PanelGroup";Ep.displayName="forwardRef(PanelGroup)";function Gl(e,n){return e.findIndex(i=>i===n||i.id===n.id)}function qi(e,n,i){const l=Gl(e,n),s=l===e.length-1?[l-1,l]:[l,l+1],u=i[l];return{...n.constraints,panelSize:u,pivotIndices:s}}function Bk({disabled:e,handleId:n,resizeHandler:i,panelGroupElement:l}){G.useEffect(()=>{if(e||i==null||l==null)return;const o=mc(n,l);if(o==null)return;const s=u=>{if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),i(u);break}case"F6":{u.preventDefault();const f=o.getAttribute(xt.groupId);De(f,`No group element found for id "${f}"`);const d=Oo(f,l),h=iw(f,n,l);De(h!==null,`No resize element found for id "${n}"`);const m=u.shiftKey?h>0?h-1:d.length-1:h+1{o.removeEventListener("keydown",s)}},[l,e,n,i])}function Np({children:e=null,className:n="",disabled:i=!1,hitAreaMargins:l,id:o,onBlur:s,onClick:u,onDragging:f,onFocus:d,onPointerDown:h,onPointerUp:m,style:p={},tabIndex:y=0,tagName:v="div",...w}){var N,S;const E=G.useRef(null),A=G.useRef({onClick:u,onDragging:f,onPointerDown:h,onPointerUp:m});G.useEffect(()=>{A.current.onClick=u,A.current.onDragging=f,A.current.onPointerDown=h,A.current.onPointerUp=m});const _=G.useContext(dc);if(_===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:z,groupId:B,registerResizeHandle:T,startDragging:I,stopDragging:M,panelGroupElement:L}=_,X=Jp(o),[q,D]=G.useState("inactive"),[W,H]=G.useState(!1),[Y,O]=G.useState(null),$=G.useRef({state:q});Yi(()=>{$.current.state=q}),G.useEffect(()=>{if(i)O(null);else{const U=T(X);O(()=>U)}},[i,X,T]);const Z=(N=l==null?void 0:l.coarse)!==null&&N!==void 0?N:15,K=(S=l==null?void 0:l.fine)!==null&&S!==void 0?S:5;G.useEffect(()=>{if(i||Y==null)return;const U=E.current;De(U,"Element ref not attached");let P=!1;return _k(X,U,z,{coarse:Z,fine:K},(V,F,J)=>{if(!F){D("inactive");return}switch(V){case"down":{D("drag"),P=!1,De(J,'Expected event to be defined for "down" action'),I(X,J);const{onDragging:ne,onPointerDown:re}=A.current;ne==null||ne(!0),re==null||re();break}case"move":{const{state:ne}=$.current;P=!0,ne!=="drag"&&D("hover"),De(J,'Expected event to be defined for "move" action'),Y(J);break}case"up":{D("hover"),M();const{onClick:ne,onDragging:re,onPointerUp:se}=A.current;re==null||re(!1),se==null||se(),P||ne==null||ne();break}}})},[Z,z,i,K,T,X,Y,I,M]),Bk({disabled:i,handleId:X,resizeHandler:Y,panelGroupElement:L});const j={touchAction:"none",userSelect:"none"};return G.createElement(v,{...w,children:e,className:n,id:o,onBlur:()=>{H(!1),s==null||s()},onFocus:()=>{H(!0),d==null||d()},ref:E,role:"separator",style:{...j,...p},tabIndex:y,[xt.groupDirection]:z,[xt.groupId]:B,[xt.resizeHandle]:"",[xt.resizeHandleActive]:q==="drag"?"pointer":W?"keyboard":void 0,[xt.resizeHandleEnabled]:!i,[xt.resizeHandleId]:X,[xt.resizeHandleState]:q})}Np.displayName="PanelResizeHandle";function Tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,l;i{}};function gc(){for(var e=0,n=arguments.length,i={},l;e=0&&(l=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Vu.prototype=gc.prototype={constructor:Vu,on:function(e,n){var i=this._,l=Uk(e+"",i),o,s=-1,u=l.length;if(arguments.length<2){for(;++s0)for(var i=new Array(o),l=0,o,s;l=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),$x.hasOwnProperty(n)?{space:$x[n],local:e}:e}function Vk(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===kp&&n.documentElement.namespaceURI===kp?n.createElement(e):n.createElementNS(i,e)}}function Gk(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function dw(e){var n=yc(e);return(n.local?Gk:Vk)(n)}function Yk(){}function tm(e){return e==null?Yk:function(){return this.querySelector(e)}}function $k(e){typeof e!="function"&&(e=tm(e));for(var n=this._groups,i=n.length,l=new Array(i),o=0;o=_&&(_=A+1);!(B=S[_])&&++_=0;)(u=l[o])&&(s&&u.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(u,s),s=u);return this}function gC(e){e||(e=yC);function n(p,y){return p&&y?e(p.__data__,y.__data__):!p-!y}for(var i=this._groups,l=i.length,o=new Array(l),s=0;sn?1:e>=n?0:NaN}function xC(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function vC(){return Array.from(this)}function bC(){for(var e=this._groups,n=0,i=e.length;n1?this.each((n==null?MC:typeof n=="function"?OC:jC)(e,n,i??"")):na(this.node(),e)}function na(e,n){return e.style.getPropertyValue(n)||yw(e).getComputedStyle(e,null).getPropertyValue(n)}function DC(e){return function(){delete this[e]}}function LC(e,n){return function(){this[e]=n}}function HC(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function BC(e,n){return arguments.length>1?this.each((n==null?DC:typeof n=="function"?HC:LC)(e,n)):this.node()[e]}function xw(e){return e.trim().split(/^|\s+/)}function nm(e){return e.classList||new vw(e)}function vw(e){this._node=e,this._names=xw(e.getAttribute("class")||"")}vw.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function bw(e,n){for(var i=nm(e),l=-1,o=n.length;++l=0&&(i=n.slice(l+1),n=n.slice(0,l)),{type:n,name:i}})}function dz(e){return function(){var n=this.__on;if(n){for(var i=0,l=-1,o=n.length,s;i()=>e;function Cp(e,{sourceEvent:n,subject:i,target:l,identifier:o,active:s,x:u,y:f,dx:d,dy:h,dispatch:m}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:m}})}Cp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Sz(e){return!e.ctrlKey&&!e.button}function _z(){return this.parentNode}function Ez(e,n){return n??{x:e.x,y:e.y}}function Nz(){return navigator.maxTouchPoints||"ontouchstart"in this}function kw(){var e=Sz,n=_z,i=Ez,l=Nz,o={},s=gc("start","drag","end"),u=0,f,d,h,m,p=0;function y(z){z.on("mousedown.drag",v).filter(l).on("touchstart.drag",S).on("touchmove.drag",E,wz).on("touchend.drag touchcancel.drag",A).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(z,B){if(!(m||!e.call(this,z,B))){var T=_(this,n.call(this,z,B),z,B,"mouse");T&&(vn(z.view).on("mousemove.drag",w,Ro).on("mouseup.drag",N,Ro),Ew(z.view),th(z),h=!1,f=z.clientX,d=z.clientY,T("start",z))}}function w(z){if(Kl(z),!h){var B=z.clientX-f,T=z.clientY-d;h=B*B+T*T>p}o.mouse("drag",z)}function N(z){vn(z.view).on("mousemove.drag mouseup.drag",null),Nw(z.view,h),Kl(z),o.mouse("end",z)}function S(z,B){if(e.call(this,z,B)){var T=z.changedTouches,I=n.call(this,z,B),M=T.length,L,X;for(L=0;L>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Au(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Au(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=Cz.exec(e))?new ln(n[1],n[2],n[3],1):(n=zz.exec(e))?new ln(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=Az.exec(e))?Au(n[1],n[2],n[3],n[4]):(n=Tz.exec(e))?Au(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=Mz.exec(e))?Jx(n[1],n[2]/100,n[3]/100,1):(n=jz.exec(e))?Jx(n[1],n[2]/100,n[3]/100,n[4]):Xx.hasOwnProperty(e)?Qx(Xx[e]):e==="transparent"?new ln(NaN,NaN,NaN,0):null}function Qx(e){return new ln(e>>16&255,e>>8&255,e&255,1)}function Au(e,n,i,l){return l<=0&&(e=n=i=NaN),new ln(e,n,i,l)}function Dz(e){return e instanceof Fo||(e=Fi(e)),e?(e=e.rgb(),new ln(e.r,e.g,e.b,e.opacity)):new ln}function zp(e,n,i,l){return arguments.length===1?Dz(e):new ln(e,n,i,l??1)}function ln(e,n,i,l){this.r=+e,this.g=+n,this.b=+i,this.opacity=+l}rm(ln,zp,Cw(Fo,{brighter(e){return e=e==null?Ju:Math.pow(Ju,e),new ln(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Do:Math.pow(Do,e),new ln(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ln($i(this.r),$i(this.g),$i(this.b),Wu(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:Zx,formatHex:Zx,formatHex8:Lz,formatRgb:Kx,toString:Kx}));function Zx(){return`#${Vi(this.r)}${Vi(this.g)}${Vi(this.b)}`}function Lz(){return`#${Vi(this.r)}${Vi(this.g)}${Vi(this.b)}${Vi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Kx(){const e=Wu(this.opacity);return`${e===1?"rgb(":"rgba("}${$i(this.r)}, ${$i(this.g)}, ${$i(this.b)}${e===1?")":`, ${e})`}`}function Wu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function $i(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Vi(e){return e=$i(e),(e<16?"0":"")+e.toString(16)}function Jx(e,n,i,l){return l<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new qn(e,n,i,l)}function zw(e){if(e instanceof qn)return new qn(e.h,e.s,e.l,e.opacity);if(e instanceof Fo||(e=Fi(e)),!e)return new qn;if(e instanceof qn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,l=e.b/255,o=Math.min(n,i,l),s=Math.max(n,i,l),u=NaN,f=s-o,d=(s+o)/2;return f?(n===s?u=(i-l)/f+(i0&&d<1?0:u,new qn(u,f,d,e.opacity)}function Hz(e,n,i,l){return arguments.length===1?zw(e):new qn(e,n,i,l??1)}function qn(e,n,i,l){this.h=+e,this.s=+n,this.l=+i,this.opacity=+l}rm(qn,Hz,Cw(Fo,{brighter(e){return e=e==null?Ju:Math.pow(Ju,e),new qn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Do:Math.pow(Do,e),new qn(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,i=this.l,l=i+(i<.5?i:1-i)*n,o=2*i-l;return new ln(nh(e>=240?e-240:e+120,o,l),nh(e,o,l),nh(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new qn(Wx(this.h),Tu(this.s),Tu(this.l),Wu(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=Wu(this.opacity);return`${e===1?"hsl(":"hsla("}${Wx(this.h)}, ${Tu(this.s)*100}%, ${Tu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Wx(e){return e=(e||0)%360,e<0?e+360:e}function Tu(e){return Math.max(0,Math.min(1,e||0))}function nh(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const im=e=>()=>e;function Bz(e,n){return function(i){return e+i*n}}function qz(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(l){return Math.pow(e+l*n,i)}}function Uz(e){return(e=+e)==1?Aw:function(n,i){return i-n?qz(n,i,e):im(isNaN(n)?i:n)}}function Aw(e,n){var i=n-e;return i?Bz(e,i):im(isNaN(e)?n:e)}const ec=(function e(n){var i=Uz(n);function l(o,s){var u=i((o=zp(o)).r,(s=zp(s)).r),f=i(o.g,s.g),d=i(o.b,s.b),h=Aw(o.opacity,s.opacity);return function(m){return o.r=u(m),o.g=f(m),o.b=d(m),o.opacity=h(m),o+""}}return l.gamma=e,l})(1);function Iz(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,l=n.slice(),o;return function(s){for(o=0;oi&&(s=n.slice(i,s),f[u]?f[u]+=s:f[++u]=s),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,d.push({i:u,x:Wn(l,o)})),i=rh.lastIndex;return i180?m+=360:m-h>180&&(h+=360),y.push({i:p.push(o(p)+"rotate(",null,l)-2,x:Wn(h,m)})):m&&p.push(o(p)+"rotate("+m+l)}function f(h,m,p,y){h!==m?y.push({i:p.push(o(p)+"skewX(",null,l)-2,x:Wn(h,m)}):m&&p.push(o(p)+"skewX("+m+l)}function d(h,m,p,y,v,w){if(h!==p||m!==y){var N=v.push(o(v)+"scale(",null,",",null,")");w.push({i:N-4,x:Wn(h,p)},{i:N-2,x:Wn(m,y)})}else(p!==1||y!==1)&&v.push(o(v)+"scale("+p+","+y+")")}return function(h,m){var p=[],y=[];return h=e(h),m=e(m),s(h.translateX,h.translateY,m.translateX,m.translateY,p,y),u(h.rotate,m.rotate,p,y),f(h.skewX,m.skewX,p,y),d(h.scaleX,h.scaleY,m.scaleX,m.scaleY,p,y),h=m=null,function(v){for(var w=-1,N=y.length,S;++w=0&&e._call.call(void 0,n),e=e._next;--ra}function nv(){Qi=(nc=Ho.now())+xc,ra=_o=0;try{n3()}finally{ra=0,i3(),Qi=0}}function r3(){var e=Ho.now(),n=e-nc;n>Ow&&(xc-=n,nc=e)}function i3(){for(var e,n=tc,i,l=1/0;n;)n._call?(l>n._time&&(l=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:tc=i);Eo=e,Mp(l)}function Mp(e){if(!ra){_o&&(_o=clearTimeout(_o));var n=e-Qi;n>24?(e<1/0&&(_o=setTimeout(nv,e-Ho.now()-xc)),po&&(po=clearInterval(po))):(po||(nc=Ho.now(),po=setInterval(r3,Ow)),ra=1,Rw(nv))}}function rv(e,n,i){var l=new rc;return n=n==null?0:+n,l.restart(o=>{l.stop(),e(o+n)},n,i),l}var l3=gc("start","end","cancel","interrupt"),a3=[],Lw=0,iv=1,jp=2,Yu=3,lv=4,Op=5,$u=6;function vc(e,n,i,l,o,s){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;o3(e,i,{name:n,index:l,group:o,on:l3,tween:a3,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:Lw})}function am(e,n){var i=$n(e,n);if(i.state>Lw)throw new Error("too late; already scheduled");return i}function lr(e,n){var i=$n(e,n);if(i.state>Yu)throw new Error("too late; already running");return i}function $n(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function o3(e,n,i){var l=e.__transition,o;l[n]=i,i.timer=Dw(s,0,i.time);function s(h){i.state=iv,i.timer.restart(u,i.delay,i.time),i.delay<=h&&u(h-i.delay)}function u(h){var m,p,y,v;if(i.state!==iv)return d();for(m in l)if(v=l[m],v.name===i.name){if(v.state===Yu)return rv(u);v.state===lv?(v.state=$u,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete l[m]):+mjp&&l.state=0&&(n=n.slice(0,i)),!n||n==="start"})}function H3(e,n,i){var l,o,s=L3(n)?am:lr;return function(){var u=s(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(n,i),u.on=o}}function B3(e,n){var i=this._id;return arguments.length<2?$n(this.node(),i).on.on(e):this.each(H3(i,e,n))}function q3(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function U3(){return this.on("end.remove",q3(this._id))}function I3(e){var n=this._name,i=this._id;typeof e!="function"&&(e=tm(e));for(var l=this._groups,o=l.length,s=new Array(o),u=0;u()=>e;function dA(e,{sourceEvent:n,target:i,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Tr(e,n,i){this.k=e,this.x=n,this.y=i}Tr.prototype={constructor:Tr,scale:function(e){return e===1?this:new Tr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Tr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var bc=new Tr(1,0,0);Uw.prototype=Tr.prototype;function Uw(e){for(;!e.__zoom;)if(!(e=e.parentNode))return bc;return e.__zoom}function ih(e){e.stopImmediatePropagation()}function mo(e){e.preventDefault(),e.stopImmediatePropagation()}function hA(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function pA(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function av(){return this.__zoom||bc}function mA(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function gA(){return navigator.maxTouchPoints||"ontouchstart"in this}function yA(e,n,i){var l=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],u=e.invertY(n[1][1])-i[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>s?(s+u)/2:Math.min(0,s)||Math.max(0,u))}function Iw(){var e=hA,n=pA,i=yA,l=mA,o=gA,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,d=Gu,h=gc("start","zoom","end"),m,p,y,v=500,w=150,N=0,S=10;function E(H){H.property("__zoom",av).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",L).on("dblclick.zoom",X).filter(o).on("touchstart.zoom",q).on("touchmove.zoom",D).on("touchend.zoom touchcancel.zoom",W).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(H,Y,O,$){var Z=H.selection?H.selection():H;Z.property("__zoom",av),H!==Z?B(H,Y,O,$):Z.interrupt().each(function(){T(this,arguments).event($).start().zoom(null,typeof Y=="function"?Y.apply(this,arguments):Y).end()})},E.scaleBy=function(H,Y,O,$){E.scaleTo(H,function(){var Z=this.__zoom.k,K=typeof Y=="function"?Y.apply(this,arguments):Y;return Z*K},O,$)},E.scaleTo=function(H,Y,O,$){E.transform(H,function(){var Z=n.apply(this,arguments),K=this.__zoom,j=O==null?z(Z):typeof O=="function"?O.apply(this,arguments):O,U=K.invert(j),P=typeof Y=="function"?Y.apply(this,arguments):Y;return i(_(A(K,P),j,U),Z,u)},O,$)},E.translateBy=function(H,Y,O,$){E.transform(H,function(){return i(this.__zoom.translate(typeof Y=="function"?Y.apply(this,arguments):Y,typeof O=="function"?O.apply(this,arguments):O),n.apply(this,arguments),u)},null,$)},E.translateTo=function(H,Y,O,$,Z){E.transform(H,function(){var K=n.apply(this,arguments),j=this.__zoom,U=$==null?z(K):typeof $=="function"?$.apply(this,arguments):$;return i(bc.translate(U[0],U[1]).scale(j.k).translate(typeof Y=="function"?-Y.apply(this,arguments):-Y,typeof O=="function"?-O.apply(this,arguments):-O),K,u)},$,Z)};function A(H,Y){return Y=Math.max(s[0],Math.min(s[1],Y)),Y===H.k?H:new Tr(Y,H.x,H.y)}function _(H,Y,O){var $=Y[0]-O[0]*H.k,Z=Y[1]-O[1]*H.k;return $===H.x&&Z===H.y?H:new Tr(H.k,$,Z)}function z(H){return[(+H[0][0]+ +H[1][0])/2,(+H[0][1]+ +H[1][1])/2]}function B(H,Y,O,$){H.on("start.zoom",function(){T(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event($).end()}).tween("zoom",function(){var Z=this,K=arguments,j=T(Z,K).event($),U=n.apply(Z,K),P=O==null?z(U):typeof O=="function"?O.apply(Z,K):O,k=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),V=Z.__zoom,F=typeof Y=="function"?Y.apply(Z,K):Y,J=d(V.invert(P).concat(k/V.k),F.invert(P).concat(k/F.k));return function(ne){if(ne===1)ne=F;else{var re=J(ne),se=k/re[2];ne=new Tr(se,P[0]-re[0]*se,P[1]-re[1]*se)}j.zoom(null,ne)}})}function T(H,Y,O){return!O&&H.__zooming||new I(H,Y)}function I(H,Y){this.that=H,this.args=Y,this.active=0,this.sourceEvent=null,this.extent=n.apply(H,Y),this.taps=0}I.prototype={event:function(H){return H&&(this.sourceEvent=H),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(H,Y){return this.mouse&&H!=="mouse"&&(this.mouse[1]=Y.invert(this.mouse[0])),this.touch0&&H!=="touch"&&(this.touch0[1]=Y.invert(this.touch0[0])),this.touch1&&H!=="touch"&&(this.touch1[1]=Y.invert(this.touch1[0])),this.that.__zoom=Y,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(H){var Y=vn(this.that).datum();h.call(H,this.that,new dA(H,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),Y)}};function M(H,...Y){if(!e.apply(this,arguments))return;var O=T(this,Y).event(H),$=this.__zoom,Z=Math.max(s[0],Math.min(s[1],$.k*Math.pow(2,l.apply(this,arguments)))),K=Bn(H);if(O.wheel)(O.mouse[0][0]!==K[0]||O.mouse[0][1]!==K[1])&&(O.mouse[1]=$.invert(O.mouse[0]=K)),clearTimeout(O.wheel);else{if($.k===Z)return;O.mouse=[K,$.invert(K)],Xu(this),O.start()}mo(H),O.wheel=setTimeout(j,w),O.zoom("mouse",i(_(A($,Z),O.mouse[0],O.mouse[1]),O.extent,u));function j(){O.wheel=null,O.end()}}function L(H,...Y){if(y||!e.apply(this,arguments))return;var O=H.currentTarget,$=T(this,Y,!0).event(H),Z=vn(H.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",k,!0),K=Bn(H,O),j=H.clientX,U=H.clientY;Ew(H.view),ih(H),$.mouse=[K,this.__zoom.invert(K)],Xu(this),$.start();function P(V){if(mo(V),!$.moved){var F=V.clientX-j,J=V.clientY-U;$.moved=F*F+J*J>N}$.event(V).zoom("mouse",i(_($.that.__zoom,$.mouse[0]=Bn(V,O),$.mouse[1]),$.extent,u))}function k(V){Z.on("mousemove.zoom mouseup.zoom",null),Nw(V.view,$.moved),mo(V),$.event(V).end()}}function X(H,...Y){if(e.apply(this,arguments)){var O=this.__zoom,$=Bn(H.changedTouches?H.changedTouches[0]:H,this),Z=O.invert($),K=O.k*(H.shiftKey?.5:2),j=i(_(A(O,K),$,Z),n.apply(this,Y),u);mo(H),f>0?vn(this).transition().duration(f).call(B,j,$,H):vn(this).call(E.transform,j,$,H)}}function q(H,...Y){if(e.apply(this,arguments)){var O=H.touches,$=O.length,Z=T(this,Y,H.changedTouches.length===$).event(H),K,j,U,P;for(ih(H),j=0;j<$;++j)U=O[j],P=Bn(U,this),P=[P,this.__zoom.invert(P),U.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==P[2]&&(Z.touch1=P,Z.taps=0):(Z.touch0=P,K=!0,Z.taps=1+!!m);m&&(m=clearTimeout(m)),K&&(Z.taps<2&&(p=P[0],m=setTimeout(function(){m=null},v)),Xu(this),Z.start())}}function D(H,...Y){if(this.__zooming){var O=T(this,Y).event(H),$=H.changedTouches,Z=$.length,K,j,U,P;for(mo(H),K=0;K"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:l}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},Bo=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Vw=["Enter"," ","Escape"],Gw={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, y: ${i}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var ia;(function(e){e.Strict="strict",e.Loose="loose"})(ia||(ia={}));var Xi;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Xi||(Xi={}));var qo;(function(e){e.Partial="partial",e.Full="full"})(qo||(qo={}));const Yw={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var gi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(gi||(gi={}));var ic;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(ic||(ic={}));var we;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(we||(we={}));const ov={[we.Left]:we.Right,[we.Right]:we.Left,[we.Top]:we.Bottom,[we.Bottom]:we.Top};function $w(e){return e===null?null:e?"valid":"invalid"}const Xw=e=>"id"in e&&"source"in e&&"target"in e,xA=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),sm=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Qo=(e,n=[0,0])=>{const{width:i,height:l}=Or(e),o=e.origin??n,s=i*o[0],u=l*o[1];return{x:e.position.x-s,y:e.position.y-u}},vA=(e,n={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((l,o)=>{const s=typeof o=="string";let u=!n.nodeLookup&&!s?o:void 0;n.nodeLookup&&(u=s?n.nodeLookup.get(o):sm(o)?o:n.nodeLookup.get(o.id));const f=u?lc(u,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return wc(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Sc(i)},Zo=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(n.filter===void 0||n.filter(o))&&(i=wc(i,lc(o)),l=!0)}),l?Sc(i):{x:0,y:0,width:0,height:0}},um=(e,n,[i,l,o]=[0,0,1],s=!1,u=!1)=>{const f={...Jo(n,[i,l,o]),width:n.width/o,height:n.height/o},d=[];for(const h of e.values()){const{measured:m,selectable:p=!0,hidden:y=!1}=h;if(u&&!p||y)continue;const v=m.width??h.width??h.initialWidth??null,w=m.height??h.height??h.initialHeight??null,N=Uo(f,aa(h)),S=(v??0)*(w??0),E=s&&N>0;(!h.internals.handleBounds||E||N>=S||h.dragging)&&d.push(h)}return d},bA=(e,n)=>{const i=new Set;return e.forEach(l=>{i.add(l.id)}),n.filter(l=>i.has(l.source)||i.has(l.target))};function wA(e,n){const i=new Map,l=n!=null&&n.nodes?new Set(n.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!o.hidden)&&(!l||l.has(o.id))&&i.set(o.id,o)}),i}async function SA({nodes:e,width:n,height:i,panZoom:l,minZoom:o,maxZoom:s},u){if(e.size===0)return Promise.resolve(!0);const f=wA(e,u),d=Zo(f),h=cm(d,n,i,(u==null?void 0:u.minZoom)??o,(u==null?void 0:u.maxZoom)??s,(u==null?void 0:u.padding)??.1);return await l.setViewport(h,{duration:u==null?void 0:u.duration,ease:u==null?void 0:u.ease,interpolate:u==null?void 0:u.interpolate}),Promise.resolve(!0)}function Pw({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:o,onError:s}){const u=i.get(e),f=u.parentId?i.get(u.parentId):void 0,{x:d,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},m=u.origin??l;let p=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)s==null||s("005",rr.error005());else{const v=f.measured.width,w=f.measured.height;v&&w&&(p=[[d,h],[d+v,h+w]])}else f&&oa(u.extent)&&(p=[[u.extent[0][0]+d,u.extent[0][1]+h],[u.extent[1][0]+d,u.extent[1][1]+h]]);const y=oa(p)?Zi(n,p,u.measured):n;return(u.measured.width===void 0||u.measured.height===void 0)&&(s==null||s("015",rr.error015())),{position:{x:y.x-d+(u.measured.width??0)*m[0],y:y.y-h+(u.measured.height??0)*m[1]},positionAbsolute:y}}async function _A({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:l,onBeforeDelete:o}){const s=new Set(e.map(y=>y.id)),u=[];for(const y of i){if(y.deletable===!1)continue;const v=s.has(y.id),w=!v&&y.parentId&&u.find(N=>N.id===y.parentId);(v||w)&&u.push(y)}const f=new Set(n.map(y=>y.id)),d=l.filter(y=>y.deletable!==!1),m=bA(u,d);for(const y of d)f.has(y.id)&&!m.find(w=>w.id===y.id)&&m.push(y);if(!o)return{edges:m,nodes:u};const p=await o({nodes:u,edges:m});return typeof p=="boolean"?p?{edges:m,nodes:u}:{edges:[],nodes:[]}:p}const la=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),Zi=(e={x:0,y:0},n,i)=>({x:la(e.x,n[0][0],n[1][0]-((i==null?void 0:i.width)??0)),y:la(e.y,n[0][1],n[1][1]-((i==null?void 0:i.height)??0))});function Fw(e,n,i){const{width:l,height:o}=Or(i),{x:s,y:u}=i.internals.positionAbsolute;return Zi(e,[[s,u],[s+l,u+o]],n)}const sv=(e,n,i)=>ei?-la(Math.abs(e-i),1,n)/n:0,Qw=(e,n,i=15,l=40)=>{const o=sv(e.x,l,n.width-l)*i,s=sv(e.y,l,n.height-l)*i;return[o,s]},wc=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),Rp=({x:e,y:n,width:i,height:l})=>({x:e,y:n,x2:e+i,y2:n+l}),Sc=({x:e,y:n,x2:i,y2:l})=>({x:e,y:n,width:i-e,height:l-n}),aa=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=sm(e)?e.internals.positionAbsolute:Qo(e,n);return{x:i,y:l,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},lc=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=sm(e)?e.internals.positionAbsolute:Qo(e,n);return{x:i,y:l,x2:i+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:l+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},Zw=(e,n)=>Sc(wc(Rp(e),Rp(n))),Uo=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),l=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*l)},uv=e=>Un(e.width)&&Un(e.height)&&Un(e.x)&&Un(e.y),Un=e=>!isNaN(e)&&isFinite(e),EA=(e,n)=>{},Ko=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Jo=({x:e,y:n},[i,l,o],s=!1,u=[1,1])=>{const f={x:(e-i)/o,y:(n-l)/o};return s?Ko(f,u):f},ac=({x:e,y:n},[i,l,o])=>({x:e*o+i,y:n*o+l});function Ul(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function NA(e,n,i){if(typeof e=="string"||typeof e=="number"){const l=Ul(e,i),o=Ul(e,n);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Ul(e.top??e.y??0,i),o=Ul(e.bottom??e.y??0,i),s=Ul(e.left??e.x??0,n),u=Ul(e.right??e.x??0,n);return{top:l,right:u,bottom:o,left:s,x:s+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function kA(e,n,i,l,o,s){const{x:u,y:f}=ac(e,[n,i,l]),{x:d,y:h}=ac({x:e.x+e.width,y:e.y+e.height},[n,i,l]),m=o-d,p=s-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(m),bottom:Math.floor(p)}}const cm=(e,n,i,l,o,s)=>{const u=NA(s,n,i),f=(n-u.x)/e.width,d=(i-u.y)/e.height,h=Math.min(f,d),m=la(h,l,o),p=e.x+e.width/2,y=e.y+e.height/2,v=n/2-p*m,w=i/2-y*m,N=kA(e,v,w,m,n,i),S={left:Math.min(N.left-u.left,0),top:Math.min(N.top-u.top,0),right:Math.min(N.right-u.right,0),bottom:Math.min(N.bottom-u.bottom,0)};return{x:v-S.left+S.right,y:w-S.top+S.bottom,zoom:m}},Io=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function oa(e){return e!=null&&e!=="parent"}function Or(e){var n,i;return{width:((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}}function Kw(e){var n,i;return(((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth)!==void 0&&(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight)!==void 0}function Jw(e,n={width:0,height:0},i,l,o){const s={...e},u=l.get(i);if(u){const f=u.origin||o;s.x+=u.internals.positionAbsolute.x-(n.width??0)*f[0],s.y+=u.internals.positionAbsolute.y-(n.height??0)*f[1]}return s}function cv(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function CA(){let e,n;return{promise:new Promise((l,o)=>{e=l,n=o}),resolve:e,reject:n}}function zA(e){return{...Gw,...e||{}}}function Co(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:l,containerBounds:o}){const{x:s,y:u}=In(e),f=Jo({x:s-((o==null?void 0:o.left)??0),y:u-((o==null?void 0:o.top)??0)},l),{x:d,y:h}=i?Ko(f,n):f;return{xSnapped:d,ySnapped:h,...f}}const fm=e=>({width:e.offsetWidth,height:e.offsetHeight}),Ww=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},AA=["INPUT","SELECT","TEXTAREA"];function eS(e){var l,o;const n=((o=(l=e.composedPath)==null?void 0:l.call(e))==null?void 0:o[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:AA.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const tS=e=>"clientX"in e,In=(e,n)=>{var s,u;const i=tS(e),l=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,o=i?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:l-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},fv=(e,n,i,l,o)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-i.left)/l,y:(f.top-i.top)/l,...fm(u)}})};function nS({sourceX:e,sourceY:n,targetX:i,targetY:l,sourceControlX:o,sourceControlY:s,targetControlX:u,targetControlY:f}){const d=e*.125+o*.375+u*.375+i*.125,h=n*.125+s*.375+f*.375+l*.125,m=Math.abs(d-e),p=Math.abs(h-n);return[d,h,m,p]}function Ou(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function dv({pos:e,x1:n,y1:i,x2:l,y2:o,c:s}){switch(e){case we.Left:return[n-Ou(n-l,s),i];case we.Right:return[n+Ou(l-n,s),i];case we.Top:return[n,i-Ou(i-o,s)];case we.Bottom:return[n,i+Ou(o-i,s)]}}function dm({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top,curvature:u=.25}){const[f,d]=dv({pos:i,x1:e,y1:n,x2:l,y2:o,c:u}),[h,m]=dv({pos:s,x1:l,y1:o,x2:e,y2:n,c:u}),[p,y,v,w]=nS({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:f,sourceControlY:d,targetControlX:h,targetControlY:m});return[`M${e},${n} C${f},${d} ${h},${m} ${l},${o}`,p,y,v,w]}function rS({sourceX:e,sourceY:n,targetX:i,targetY:l}){const o=Math.abs(i-e)/2,s=i0}const jA=({source:e,sourceHandle:n,target:i,targetHandle:l})=>`xy-edge__${e}${n||""}-${i}${l||""}`,OA=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),RA=(e,n,i={})=>{if(!e.source||!e.target)return n;const l=i.getEdgeId||jA;let o;return Xw(e)?o={...e}:o={...e,id:l(e)},OA(o,n)?n:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,n.concat(o))};function iS({sourceX:e,sourceY:n,targetX:i,targetY:l}){const[o,s,u,f]=rS({sourceX:e,sourceY:n,targetX:i,targetY:l});return[`M ${e},${n}L ${i},${l}`,o,s,u,f]}const hv={[we.Left]:{x:-1,y:0},[we.Right]:{x:1,y:0},[we.Top]:{x:0,y:-1},[we.Bottom]:{x:0,y:1}},DA=({source:e,sourcePosition:n=we.Bottom,target:i})=>n===we.Left||n===we.Right?e.xMath.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function LA({source:e,sourcePosition:n=we.Bottom,target:i,targetPosition:l=we.Top,center:o,offset:s,stepPosition:u}){const f=hv[n],d=hv[l],h={x:e.x+f.x*s,y:e.y+f.y*s},m={x:i.x+d.x*s,y:i.y+d.y*s},p=DA({source:h,sourcePosition:n,target:m}),y=p.x!==0?"x":"y",v=p[y];let w=[],N,S;const E={x:0,y:0},A={x:0,y:0},[,,_,z]=rS({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(f[y]*d[y]===-1){y==="x"?(N=o.x??h.x+(m.x-h.x)*u,S=o.y??(h.y+m.y)/2):(N=o.x??(h.x+m.x)/2,S=o.y??h.y+(m.y-h.y)*u);const T=[{x:N,y:h.y},{x:N,y:m.y}],I=[{x:h.x,y:S},{x:m.x,y:S}];f[y]===v?w=y==="x"?T:I:w=y==="x"?I:T}else{const T=[{x:h.x,y:m.y}],I=[{x:m.x,y:h.y}];if(y==="x"?w=f.x===v?I:T:w=f.y===v?T:I,n===l){const D=Math.abs(e[y]-i[y]);if(D<=s){const W=Math.min(s-1,s-D);f[y]===v?E[y]=(h[y]>e[y]?-1:1)*W:A[y]=(m[y]>i[y]?-1:1)*W}}if(n!==l){const D=y==="x"?"y":"x",W=f[y]===d[D],H=h[D]>m[D],Y=h[D]=q?(N=(M.x+L.x)/2,S=w[0].y):(N=w[0].x,S=(M.y+L.y)/2)}return[[e,{x:h.x+E.x,y:h.y+E.y},...w,{x:m.x+A.x,y:m.y+A.y},i],N,S,_,z]}function HA(e,n,i,l){const o=Math.min(pv(e,n)/2,pv(n,i)/2,l),{x:s,y:u}=n;if(e.x===s&&s===i.x||e.y===u&&u===i.y)return`L${s} ${u}`;if(e.y===u){const h=e.x{let z="";return _>0&&_i.id===n):e[0])||null}function Lp(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function qA(e,{id:n,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:o}){const s=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(d=>{if(d&&typeof d=="object"){const h=Lp(d,n);s.has(h)||(u.push({id:h,color:d.color||i,...d}),s.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const lS=1e3,UA=10,hm={nodeOrigin:[0,0],nodeExtent:Bo,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},IA={...hm,checkEquality:!0};function pm(e,n){const i={...e};for(const l in n)n[l]!==void 0&&(i[l]=n[l]);return i}function VA(e,n,i){const l=pm(hm,i);for(const o of e.values())if(o.parentId)gm(o,e,n,l);else{const s=Qo(o,l.nodeOrigin),u=oa(o.extent)?o.extent:l.nodeExtent,f=Zi(s,u,Or(o));o.internals.positionAbsolute=f}}function GA(e,n){if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],l=[];for(const o of e.handles){const s={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?i.push(s):o.type==="target"&&l.push(s)}return{source:i,target:l}}function mm(e){return e==="manual"}function Hp(e,n,i,l={}){var h,m;const o=pm(IA,l),s={i:0},u=new Map(n),f=o!=null&&o.elevateNodesOnSelect&&!mm(o.zIndexMode)?lS:0;let d=e.length>0;n.clear(),i.clear();for(const p of e){let y=u.get(p.id);if(o.checkEquality&&p===(y==null?void 0:y.internals.userNode))n.set(p.id,y);else{const v=Qo(p,o.nodeOrigin),w=oa(p.extent)?p.extent:o.nodeExtent,N=Zi(v,w,Or(p));y={...o.defaults,...p,measured:{width:(h=p.measured)==null?void 0:h.width,height:(m=p.measured)==null?void 0:m.height},internals:{positionAbsolute:N,handleBounds:GA(p,y),z:aS(p,f,o.zIndexMode),userNode:p}},n.set(p.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(d=!1),p.parentId&&gm(y,n,i,l,s)}return d}function YA(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function gm(e,n,i,l,o){const{elevateNodesOnSelect:s,nodeOrigin:u,nodeExtent:f,zIndexMode:d}=pm(hm,l),h=e.parentId,m=n.get(h);if(!m){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}YA(e,i),o&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++o.i,m.internals.z=m.internals.z+o.i*UA),o&&m.internals.rootParentIndex!==void 0&&(o.i=m.internals.rootParentIndex);const p=s&&!mm(d)?lS:0,{x:y,y:v,z:w}=$A(e,m,u,f,p,d),{positionAbsolute:N}=e.internals,S=y!==N.x||v!==N.y;(S||w!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:y,y:v}:N,z:w}})}function aS(e,n,i){const l=Un(e.zIndex)?e.zIndex:0;return mm(i)?l:l+(e.selected?n:0)}function $A(e,n,i,l,o,s){const{x:u,y:f}=n.internals.positionAbsolute,d=Or(e),h=Qo(e,i),m=oa(e.extent)?Zi(h,e.extent,d):h;let p=Zi({x:u+m.x,y:f+m.y},l,d);e.extent==="parent"&&(p=Fw(p,d,n));const y=aS(e,o,s),v=n.internals.z??0;return{x:p.x,y:p.y,z:v>=y?v+1:y}}function ym(e,n,i,l=[0,0]){var u;const o=[],s=new Map;for(const f of e){const d=n.get(f.parentId);if(!d)continue;const h=((u=s.get(f.parentId))==null?void 0:u.expandedRect)??aa(d),m=Zw(h,f.rect);s.set(f.parentId,{expandedRect:m,parent:d})}return s.size>0&&s.forEach(({expandedRect:f,parent:d},h)=>{var _;const m=d.internals.positionAbsolute,p=Or(d),y=d.origin??l,v=f.x0||w>0||E||A)&&(o.push({id:h,type:"position",position:{x:d.position.x-v+E,y:d.position.y-w+A}}),(_=i.get(h))==null||_.forEach(z=>{e.some(B=>B.id===z.id)||o.push({id:z.id,type:"position",position:{x:z.position.x+v,y:z.position.y+w}})})),(p.width0){const v=ym(y,n,i,o);h.push(...v)}return{changes:h,updatedInternals:d}}async function PA({delta:e,panZoom:n,transform:i,translateExtent:l,width:o,height:s}){if(!n||!e.x&&!e.y)return Promise.resolve(!1);const u=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[o,s]],l),f=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(f)}function xv(e,n,i,l,o,s){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(i,n)),u=`${o}-${e}`;const d=l.get(u)||new Map;if(l.set(u,d.set(i,n)),s){u=`${o}-${e}-${s}`;const h=l.get(u)||new Map;l.set(u,h.set(i,n))}}function oS(e,n,i){e.clear(),n.clear();for(const l of i){const{source:o,target:s,sourceHandle:u=null,targetHandle:f=null}=l,d={edgeId:l.id,source:o,target:s,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${s}-${f}`,m=`${s}-${f}--${o}-${u}`;xv("source",d,m,e,o,u),xv("target",d,h,e,s,f),n.set(l.id,l)}}function sS(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:sS(i,n):!1}function vv(e,n,i){var o;let l=e;do{if((o=l==null?void 0:l.matches)!=null&&o.call(l,n))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function FA(e,n,i,l){const o=new Map;for(const[s,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!sS(u,e))&&(u.draggable||n&&typeof u.draggable>"u")){const f=e.get(s);f&&o.set(s,{id:s,position:f.position||{x:0,y:0},distance:{x:i.x-f.internals.positionAbsolute.x,y:i.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function lh({nodeId:e,dragItems:n,nodeLookup:i,dragging:l=!0}){var u,f,d;const o=[];for(const[h,m]of n){const p=(u=i.get(h))==null?void 0:u.internals.userNode;p&&o.push({...p,position:m.position,dragging:l})}if(!e)return[o[0],o];const s=(f=i.get(e))==null?void 0:f.internals.userNode;return[s?{...s,position:((d=n.get(e))==null?void 0:d.position)||s.position,dragging:l}:o[0],o]}function QA({dragItems:e,snapGrid:n,x:i,y:l}){const o=e.values().next().value;if(!o)return null;const s={x:i-o.distance.x,y:l-o.distance.y},u=Ko(s,n);return{x:u.x-s.x,y:u.y-s.y}}function ZA({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:l,onDragStop:o}){let s={x:null,y:null},u=0,f=new Map,d=!1,h={x:0,y:0},m=null,p=!1,y=null,v=!1,w=!1,N=null;function S({noDragClassName:A,handleSelector:_,domNode:z,isSelectable:B,nodeId:T,nodeClickDistance:I=0}){y=vn(z);function M({x:D,y:W}){const{nodeLookup:H,nodeExtent:Y,snapGrid:O,snapToGrid:$,nodeOrigin:Z,onNodeDrag:K,onSelectionDrag:j,onError:U,updateNodePositions:P}=n();s={x:D,y:W};let k=!1;const V=f.size>1,F=V&&Y?Rp(Zo(f)):null,J=V&&$?QA({dragItems:f,snapGrid:O,x:D,y:W}):null;for(const[ne,re]of f){if(!H.has(ne))continue;let se={x:D-re.distance.x,y:W-re.distance.y};$&&(se=J?{x:Math.round(se.x+J.x),y:Math.round(se.y+J.y)}:Ko(se,O));let ge=null;if(V&&Y&&!re.extent&&F){const{positionAbsolute:he}=re.internals,_e=he.x-F.x+Y[0][0],Me=he.x+re.measured.width-F.x2+Y[1][0],Ce=he.y-F.y+Y[0][1],ut=he.y+re.measured.height-F.y2+Y[1][1];ge=[[_e,Ce],[Me,ut]]}const{position:ve,positionAbsolute:ye}=Pw({nodeId:ne,nextPosition:se,nodeLookup:H,nodeExtent:ge||Y,nodeOrigin:Z,onError:U});k=k||re.position.x!==ve.x||re.position.y!==ve.y,re.position=ve,re.internals.positionAbsolute=ye}if(w=w||k,!!k&&(P(f,!0),N&&(l||K||!T&&j))){const[ne,re]=lh({nodeId:T,dragItems:f,nodeLookup:H});l==null||l(N,f,ne,re),K==null||K(N,ne,re),T||j==null||j(N,re)}}async function L(){if(!m)return;const{transform:D,panBy:W,autoPanSpeed:H,autoPanOnNodeDrag:Y}=n();if(!Y){d=!1,cancelAnimationFrame(u);return}const[O,$]=Qw(h,m,H);(O!==0||$!==0)&&(s.x=(s.x??0)-O/D[2],s.y=(s.y??0)-$/D[2],await W({x:O,y:$})&&M(s)),u=requestAnimationFrame(L)}function X(D){var V;const{nodeLookup:W,multiSelectionActive:H,nodesDraggable:Y,transform:O,snapGrid:$,snapToGrid:Z,selectNodesOnDrag:K,onNodeDragStart:j,onSelectionDragStart:U,unselectNodesAndEdges:P}=n();p=!0,(!K||!B)&&!H&&T&&((V=W.get(T))!=null&&V.selected||P()),B&&K&&T&&(e==null||e(T));const k=Co(D.sourceEvent,{transform:O,snapGrid:$,snapToGrid:Z,containerBounds:m});if(s=k,f=FA(W,Y,k,T),f.size>0&&(i||j||!T&&U)){const[F,J]=lh({nodeId:T,dragItems:f,nodeLookup:W});i==null||i(D.sourceEvent,f,F,J),j==null||j(D.sourceEvent,F,J),T||U==null||U(D.sourceEvent,J)}}const q=kw().clickDistance(I).on("start",D=>{const{domNode:W,nodeDragThreshold:H,transform:Y,snapGrid:O,snapToGrid:$}=n();m=(W==null?void 0:W.getBoundingClientRect())||null,v=!1,w=!1,N=D.sourceEvent,H===0&&X(D),s=Co(D.sourceEvent,{transform:Y,snapGrid:O,snapToGrid:$,containerBounds:m}),h=In(D.sourceEvent,m)}).on("drag",D=>{const{autoPanOnNodeDrag:W,transform:H,snapGrid:Y,snapToGrid:O,nodeDragThreshold:$,nodeLookup:Z}=n(),K=Co(D.sourceEvent,{transform:H,snapGrid:Y,snapToGrid:O,containerBounds:m});if(N=D.sourceEvent,(D.sourceEvent.type==="touchmove"&&D.sourceEvent.touches.length>1||T&&!Z.has(T))&&(v=!0),!v){if(!d&&W&&p&&(d=!0,L()),!p){const j=In(D.sourceEvent,m),U=j.x-h.x,P=j.y-h.y;Math.sqrt(U*U+P*P)>$&&X(D)}(s.x!==K.xSnapped||s.y!==K.ySnapped)&&f&&p&&(h=In(D.sourceEvent,m),M(K))}}).on("end",D=>{if(!(!p||v)&&(d=!1,p=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:W,updateNodePositions:H,onNodeDragStop:Y,onSelectionDragStop:O}=n();if(w&&(H(f,!1),w=!1),o||Y||!T&&O){const[$,Z]=lh({nodeId:T,dragItems:f,nodeLookup:W,dragging:!1});o==null||o(D.sourceEvent,f,$,Z),Y==null||Y(D.sourceEvent,$,Z),T||O==null||O(D.sourceEvent,Z)}}}).filter(D=>{const W=D.target;return!D.button&&(!A||!vv(W,`.${A}`,z))&&(!_||vv(W,_,z))});y.call(q)}function E(){y==null||y.on(".drag",null)}return{update:S,destroy:E}}function KA(e,n,i){const l=[],o={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())Uo(o,aa(s))>0&&l.push(s);return l}const JA=250;function WA(e,n,i,l){var f,d;let o=[],s=1/0;const u=KA(e,i,n+JA);for(const h of u){const m=[...((f=h.internals.handleBounds)==null?void 0:f.source)??[],...((d=h.internals.handleBounds)==null?void 0:d.target)??[]];for(const p of m){if(l.nodeId===p.nodeId&&l.type===p.type&&l.id===p.id)continue;const{x:y,y:v}=Ki(h,p,p.position,!0),w=Math.sqrt(Math.pow(y-e.x,2)+Math.pow(v-e.y,2));w>n||(w1){const h=l.type==="source"?"target":"source";return o.find(m=>m.type===h)??o[0]}return o[0]}function uS(e,n,i,l,o,s=!1){var h,m,p;const u=l.get(e);if(!u)return null;const f=o==="strict"?(h=u.internals.handleBounds)==null?void 0:h[n]:[...((m=u.internals.handleBounds)==null?void 0:m.source)??[],...((p=u.internals.handleBounds)==null?void 0:p.target)??[]],d=(i?f==null?void 0:f.find(y=>y.id===i):f==null?void 0:f[0])??null;return d&&s?{...d,...Ki(u,d,d.position,!0)}:d}function cS(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function eT(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const fS=()=>!0;function tT(e,{connectionMode:n,connectionRadius:i,handleId:l,nodeId:o,edgeUpdaterType:s,isTarget:u,domNode:f,nodeLookup:d,lib:h,autoPanOnConnect:m,flowId:p,panBy:y,cancelConnection:v,onConnectStart:w,onConnect:N,onConnectEnd:S,isValidConnection:E=fS,onReconnectEnd:A,updateConnection:_,getTransform:z,getFromHandle:B,autoPanSpeed:T,dragThreshold:I=1,handleDomNode:M}){const L=Ww(e.target);let X=0,q;const{x:D,y:W}=In(e),H=cS(s,M),Y=f==null?void 0:f.getBoundingClientRect();let O=!1;if(!Y||!H)return;const $=uS(o,H,l,d,n);if(!$)return;let Z=In(e,Y),K=!1,j=null,U=!1,P=null;function k(){if(!m||!Y)return;const[ve,ye]=Qw(Z,Y,T);y({x:ve,y:ye}),X=requestAnimationFrame(k)}const V={...$,nodeId:o,type:H,position:$.position},F=d.get(o);let ne={inProgress:!0,isValid:null,from:Ki(F,V,we.Left,!0),fromHandle:V,fromPosition:V.position,fromNode:F,to:Z,toHandle:null,toPosition:ov[V.position],toNode:null,pointer:Z};function re(){O=!0,_(ne),w==null||w(e,{nodeId:o,handleId:l,handleType:H})}I===0&&re();function se(ve){if(!O){const{x:ut,y:et}=In(ve),Mt=ut-D,Vt=et-W;if(!(Mt*Mt+Vt*Vt>I*I))return;re()}if(!B()||!V){ge(ve);return}const ye=z();Z=In(ve,Y),q=WA(Jo(Z,ye,!1,[1,1]),i,d,V),K||(k(),K=!0);const he=dS(ve,{handle:q,connectionMode:n,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:E,doc:L,lib:h,flowId:p,nodeLookup:d});P=he.handleDomNode,j=he.connection,U=eT(!!q,he.isValid);const _e=d.get(o),Me=_e?Ki(_e,V,we.Left,!0):ne.from,Ce={...ne,from:Me,isValid:U,to:he.toHandle&&U?ac({x:he.toHandle.x,y:he.toHandle.y},ye):Z,toHandle:he.toHandle,toPosition:U&&he.toHandle?he.toHandle.position:ov[V.position],toNode:he.toHandle?d.get(he.toHandle.nodeId):null,pointer:Z};_(Ce),ne=Ce}function ge(ve){if(!("touches"in ve&&ve.touches.length>0)){if(O){(q||P)&&j&&U&&(N==null||N(j));const{inProgress:ye,...he}=ne,_e={...he,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(ve,_e),s&&(A==null||A(ve,_e))}v(),cancelAnimationFrame(X),K=!1,U=!1,j=null,P=null,L.removeEventListener("mousemove",se),L.removeEventListener("mouseup",ge),L.removeEventListener("touchmove",se),L.removeEventListener("touchend",ge)}}L.addEventListener("mousemove",se),L.addEventListener("mouseup",ge),L.addEventListener("touchmove",se),L.addEventListener("touchend",ge)}function dS(e,{handle:n,connectionMode:i,fromNodeId:l,fromHandleId:o,fromType:s,doc:u,lib:f,flowId:d,isValidConnection:h=fS,nodeLookup:m}){const p=s==="target",y=n?u.querySelector(`.${f}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:v,y:w}=In(e),N=u.elementFromPoint(v,w),S=N!=null&&N.classList.contains(`${f}-flow__handle`)?N:y,E={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const A=cS(void 0,S),_=S.getAttribute("data-nodeid"),z=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),T=S.classList.contains("connectableend");if(!_||!A)return E;const I={source:p?_:l,sourceHandle:p?z:o,target:p?l:_,targetHandle:p?o:z};E.connection=I;const L=B&&T&&(i===ia.Strict?p&&A==="source"||!p&&A==="target":_!==l||z!==o);E.isValid=L&&h(I),E.toHandle=uS(_,A,z,m,i,!0)}return E}const Bp={onPointerDown:tT,isValid:dS};function nT({domNode:e,panZoom:n,getTransform:i,getViewScale:l}){const o=vn(e);function s({translateExtent:f,width:d,height:h,zoomStep:m=1,pannable:p=!0,zoomable:y=!0,inversePan:v=!1}){const w=_=>{if(_.sourceEvent.type!=="wheel"||!n)return;const z=i(),B=_.sourceEvent.ctrlKey&&Io()?10:1,T=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*m,I=z[2]*Math.pow(2,T*B);n.scaleTo(I)};let N=[0,0];const S=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(N=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},E=_=>{const z=i();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!n)return;const B=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],T=[B[0]-N[0],B[1]-N[1]];N=B;const I=l()*Math.max(z[2],Math.log(z[2]))*(v?-1:1),M={x:z[0]-T[0]*I,y:z[1]-T[1]*I},L=[[0,0],[d,h]];n.setViewportConstrained({x:M.x,y:M.y,zoom:z[2]},L,f)},A=Iw().on("start",S).on("zoom",p?E:null).on("zoom.wheel",y?w:null);o.call(A,{})}function u(){o.on("zoom",null)}return{update:s,destroy:u,pointer:Bn}}const _c=e=>({x:e.x,y:e.y,zoom:e.k}),ah=({x:e,y:n,zoom:i})=>bc.translate(e,n).scale(i),Xl=(e,n)=>e.target.closest(`.${n}`),hS=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),rT=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,oh=(e,n=0,i=rT,l=()=>{})=>{const o=typeof n=="number"&&n>0;return o||l(),o?e.transition().duration(n).ease(i).on("end",l):e},pS=e=>{const n=e.ctrlKey&&Io()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function iT({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:d,onPanZoomEnd:h}){return m=>{if(Xl(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const p=i.property("__zoom").k||1;if(m.ctrlKey&&u){const S=Bn(m),E=pS(m),A=p*Math.pow(2,E);l.scaleTo(i,A,S,m);return}const y=m.deltaMode===1?20:1;let v=o===Xi.Vertical?0:m.deltaX*y,w=o===Xi.Horizontal?0:m.deltaY*y;!Io()&&m.shiftKey&&o!==Xi.Vertical&&(v=m.deltaY*y,w=0),l.translateBy(i,-(v/p)*s,-(w/p)*s,{internal:!0});const N=_c(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,N),e.panScrollTimeout=setTimeout(()=>{h==null||h(m,N),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f==null||f(m,N))}}function lT({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(l,o){const s=l.type==="wheel",u=!n&&s&&!l.ctrlKey,f=Xl(l,e);if(l.ctrlKey&&s&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),i.call(this,l,o)}}function aT({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return l=>{var s,u,f;if((s=l.sourceEvent)!=null&&s.internal)return;const o=_c(l.transform);e.mouseButton=((u=l.sourceEvent)==null?void 0:u.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((f=l.sourceEvent)==null?void 0:f.type)==="mousedown"&&n(!0),i&&(i==null||i(l.sourceEvent,o))}}function oT({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:l,onPanZoom:o}){return s=>{var u,f;e.usedRightMouseButton=!!(i&&hS(n,e.mouseButton??0)),(u=s.sourceEvent)!=null&&u.sync||l([s.transform.x,s.transform.y,s.transform.k]),o&&!((f=s.sourceEvent)!=null&&f.internal)&&(o==null||o(s.sourceEvent,_c(s.transform)))}}function sT({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:s}){return u=>{var f;if(!((f=u.sourceEvent)!=null&&f.internal)&&(e.isZoomingOrPanning=!1,s&&hS(n,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&s(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const d=_c(u.transform);e.prevViewport=d,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(u.sourceEvent,d)},i?150:0)}}}function uT({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:s,userSelectionActive:u,noWheelClassName:f,noPanClassName:d,lib:h,connectionInProgress:m}){return p=>{var S;const y=e||n,v=i&&p.ctrlKey,w=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Xl(p,`${h}-flow__node`)||Xl(p,`${h}-flow__edge`)))return!0;if(!l&&!y&&!o&&!s&&!i||u||m&&!w||Xl(p,f)&&w||Xl(p,d)&&(!w||o&&w&&!e)||!i&&p.ctrlKey&&w)return!1;if(!i&&p.type==="touchstart"&&((S=p.touches)==null?void 0:S.length)>1)return p.preventDefault(),!1;if(!y&&!o&&!v&&w||!l&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(l)&&!l.includes(p.button)&&p.type==="mousedown")return!1;const N=Array.isArray(l)&&l.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||w)&&N}}function cT({domNode:e,minZoom:n,maxZoom:i,translateExtent:l,viewport:o,onPanZoom:s,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:d}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),p=Iw().scaleExtent([n,i]).translateExtent(l),y=vn(e).call(p);A({x:o.x,y:o.y,zoom:la(o.zoom,n,i)},[[0,0],[m.width,m.height]],l);const v=y.on("wheel.zoom"),w=y.on("dblclick.zoom");p.wheelDelta(pS);function N(q,D){return y?new Promise(W=>{p==null||p.interpolate((D==null?void 0:D.interpolate)==="linear"?ko:Gu).transform(oh(y,D==null?void 0:D.duration,D==null?void 0:D.ease,()=>W(!0)),q)}):Promise.resolve(!1)}function S({noWheelClassName:q,noPanClassName:D,onPaneContextMenu:W,userSelectionActive:H,panOnScroll:Y,panOnDrag:O,panOnScrollMode:$,panOnScrollSpeed:Z,preventScrolling:K,zoomOnPinch:j,zoomOnScroll:U,zoomOnDoubleClick:P,zoomActivationKeyPressed:k,lib:V,onTransformChange:F,connectionInProgress:J,paneClickDistance:ne,selectionOnDrag:re}){H&&!h.isZoomingOrPanning&&E();const se=Y&&!k&&!H;p.clickDistance(re?1/0:!Un(ne)||ne<0?0:ne);const ge=se?iT({zoomPanValues:h,noWheelClassName:q,d3Selection:y,d3Zoom:p,panOnScrollMode:$,panOnScrollSpeed:Z,zoomOnPinch:j,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:f}):lT({noWheelClassName:q,preventScrolling:K,d3ZoomHandler:v});if(y.on("wheel.zoom",ge,{passive:!1}),!H){const ye=aT({zoomPanValues:h,onDraggingChange:d,onPanZoomStart:u});p.on("start",ye);const he=oT({zoomPanValues:h,panOnDrag:O,onPaneContextMenu:!!W,onPanZoom:s,onTransformChange:F});p.on("zoom",he);const _e=sT({zoomPanValues:h,panOnDrag:O,panOnScroll:Y,onPaneContextMenu:W,onPanZoomEnd:f,onDraggingChange:d});p.on("end",_e)}const ve=uT({zoomActivationKeyPressed:k,panOnDrag:O,zoomOnScroll:U,panOnScroll:Y,zoomOnDoubleClick:P,zoomOnPinch:j,userSelectionActive:H,noPanClassName:D,noWheelClassName:q,lib:V,connectionInProgress:J});p.filter(ve),P?y.on("dblclick.zoom",w):y.on("dblclick.zoom",null)}function E(){p.on("zoom",null)}async function A(q,D,W){const H=ah(q),Y=p==null?void 0:p.constrain()(H,D,W);return Y&&await N(Y),new Promise(O=>O(Y))}async function _(q,D){const W=ah(q);return await N(W,D),new Promise(H=>H(W))}function z(q){if(y){const D=ah(q),W=y.property("__zoom");(W.k!==q.zoom||W.x!==q.x||W.y!==q.y)&&(p==null||p.transform(y,D,null,{sync:!0}))}}function B(){const q=y?Uw(y.node()):{x:0,y:0,k:1};return{x:q.x,y:q.y,zoom:q.k}}function T(q,D){return y?new Promise(W=>{p==null||p.interpolate((D==null?void 0:D.interpolate)==="linear"?ko:Gu).scaleTo(oh(y,D==null?void 0:D.duration,D==null?void 0:D.ease,()=>W(!0)),q)}):Promise.resolve(!1)}function I(q,D){return y?new Promise(W=>{p==null||p.interpolate((D==null?void 0:D.interpolate)==="linear"?ko:Gu).scaleBy(oh(y,D==null?void 0:D.duration,D==null?void 0:D.ease,()=>W(!0)),q)}):Promise.resolve(!1)}function M(q){p==null||p.scaleExtent(q)}function L(q){p==null||p.translateExtent(q)}function X(q){const D=!Un(q)||q<0?0:q;p==null||p.clickDistance(D)}return{update:S,destroy:E,setViewport:_,setViewportConstrained:A,getViewport:B,scaleTo:T,scaleBy:I,setScaleExtent:M,setTranslateExtent:L,syncViewport:z,setClickDistance:X}}var sa;(function(e){e.Line="line",e.Handle="handle"})(sa||(sa={}));function fT({width:e,prevWidth:n,height:i,prevHeight:l,affectsX:o,affectsY:s}){const u=e-n,f=i-l,d=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(d[0]=d[0]*-1),f&&s&&(d[1]=d[1]*-1),d}function bv(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:l,affectsY:o}}function di(e,n){return Math.max(0,n-e)}function hi(e,n){return Math.max(0,e-n)}function Ru(e,n,i){return Math.max(0,n-e,e-i)}function wv(e,n){return e?!n:n}function dT(e,n,i,l,o,s,u,f){let{affectsX:d,affectsY:h}=n;const{isHorizontal:m,isVertical:p}=n,y=m&&p,{xSnapped:v,ySnapped:w}=i,{minWidth:N,maxWidth:S,minHeight:E,maxHeight:A}=l,{x:_,y:z,width:B,height:T,aspectRatio:I}=e;let M=Math.floor(m?v-e.pointerX:0),L=Math.floor(p?w-e.pointerY:0);const X=B+(d?-M:M),q=T+(h?-L:L),D=-s[0]*B,W=-s[1]*T;let H=Ru(X,N,S),Y=Ru(q,E,A);if(u){let Z=0,K=0;d&&M<0?Z=di(_+M+D,u[0][0]):!d&&M>0&&(Z=hi(_+X+D,u[1][0])),h&&L<0?K=di(z+L+W,u[0][1]):!h&&L>0&&(K=hi(z+q+W,u[1][1])),H=Math.max(H,Z),Y=Math.max(Y,K)}if(f){let Z=0,K=0;d&&M>0?Z=hi(_+M,f[0][0]):!d&&M<0&&(Z=di(_+X,f[1][0])),h&&L>0?K=hi(z+L,f[0][1]):!h&&L<0&&(K=di(z+q,f[1][1])),H=Math.max(H,Z),Y=Math.max(Y,K)}if(o){if(m){const Z=Ru(X/I,E,A)*I;if(H=Math.max(H,Z),u){let K=0;!d&&!h||d&&!h&&y?K=hi(z+W+X/I,u[1][1])*I:K=di(z+W+(d?M:-M)/I,u[0][1])*I,H=Math.max(H,K)}if(f){let K=0;!d&&!h||d&&!h&&y?K=di(z+X/I,f[1][1])*I:K=hi(z+(d?M:-M)/I,f[0][1])*I,H=Math.max(H,K)}}if(p){const Z=Ru(q*I,N,S)/I;if(Y=Math.max(Y,Z),u){let K=0;!d&&!h||h&&!d&&y?K=hi(_+q*I+D,u[1][0])/I:K=di(_+(h?L:-L)*I+D,u[0][0])/I,Y=Math.max(Y,K)}if(f){let K=0;!d&&!h||h&&!d&&y?K=di(_+q*I,f[1][0])/I:K=hi(_+(h?L:-L)*I,f[0][0])/I,Y=Math.max(Y,K)}}}L=L+(L<0?Y:-Y),M=M+(M<0?H:-H),o&&(y?X>q*I?L=(wv(d,h)?-M:M)/I:M=(wv(d,h)?-L:L)*I:m?(L=M/I,h=d):(M=L*I,d=h));const O=d?_+M:_,$=h?z+L:z;return{width:B+(d?-M:M),height:T+(h?-L:L),x:s[0]*M*(d?-1:1)+O,y:s[1]*L*(h?-1:1)+$}}const mS={width:0,height:0,x:0,y:0},hT={...mS,pointerX:0,pointerY:0,aspectRatio:1};function pT(e){return[[0,0],[e.measured.width,e.measured.height]]}function mT(e,n,i){const l=n.position.x+e.position.x,o=n.position.y+e.position.y,s=e.measured.width??0,u=e.measured.height??0,f=i[0]*s,d=i[1]*u;return[[l-f,o-d],[l+s-f,o+u-d]]}function gT({domNode:e,nodeId:n,getStoreItems:i,onChange:l,onEnd:o}){const s=vn(e);let u={controlDirection:bv("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:m,keepAspectRatio:p,resizeDirection:y,onResizeStart:v,onResize:w,onResizeEnd:N,shouldResize:S}){let E={...mS},A={...hT};u={boundaries:m,resizeDirection:y,keepAspectRatio:p,controlDirection:bv(h)};let _,z=null,B=[],T,I,M,L=!1;const X=kw().on("start",q=>{const{nodeLookup:D,transform:W,snapGrid:H,snapToGrid:Y,nodeOrigin:O,paneDomNode:$}=i();if(_=D.get(n),!_)return;z=($==null?void 0:$.getBoundingClientRect())??null;const{xSnapped:Z,ySnapped:K}=Co(q.sourceEvent,{transform:W,snapGrid:H,snapToGrid:Y,containerBounds:z});E={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},A={...E,pointerX:Z,pointerY:K,aspectRatio:E.width/E.height},T=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(T=D.get(_.parentId),I=T&&_.extent==="parent"?pT(T):void 0),B=[],M=void 0;for(const[j,U]of D)if(U.parentId===n&&(B.push({id:j,position:{...U.position},extent:U.extent}),U.extent==="parent"||U.expandParent)){const P=mT(U,_,U.origin??O);M?M=[[Math.min(P[0][0],M[0][0]),Math.min(P[0][1],M[0][1])],[Math.max(P[1][0],M[1][0]),Math.max(P[1][1],M[1][1])]]:M=P}v==null||v(q,{...E})}).on("drag",q=>{const{transform:D,snapGrid:W,snapToGrid:H,nodeOrigin:Y}=i(),O=Co(q.sourceEvent,{transform:D,snapGrid:W,snapToGrid:H,containerBounds:z}),$=[];if(!_)return;const{x:Z,y:K,width:j,height:U}=E,P={},k=_.origin??Y,{width:V,height:F,x:J,y:ne}=dT(A,u.controlDirection,O,u.boundaries,u.keepAspectRatio,k,I,M),re=V!==j,se=F!==U,ge=J!==Z&&re,ve=ne!==K&&se;if(!ge&&!ve&&!re&&!se)return;if((ge||ve||k[0]===1||k[1]===1)&&(P.x=ge?J:E.x,P.y=ve?ne:E.y,E.x=P.x,E.y=P.y,B.length>0)){const Me=J-Z,Ce=ne-K;for(const ut of B)ut.position={x:ut.position.x-Me+k[0]*(V-j),y:ut.position.y-Ce+k[1]*(F-U)},$.push(ut)}if((re||se)&&(P.width=re&&(!u.resizeDirection||u.resizeDirection==="horizontal")?V:E.width,P.height=se&&(!u.resizeDirection||u.resizeDirection==="vertical")?F:E.height,E.width=P.width,E.height=P.height),T&&_.expandParent){const Me=k[0]*(P.width??0);P.x&&P.x{L&&(N==null||N(q,{...E}),o==null||o({...E}),L=!1)});s.call(X)}function d(){s.on(".drag",null)}return{update:f,destroy:d}}var sh={exports:{}},uh={},ch={exports:{}},fh={};/** - * @license React - * use-sync-external-store-shim.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Sv;function yT(){if(Sv)return fh;Sv=1;var e=$o();function n(p,y){return p===y&&(p!==0||1/p===1/y)||p!==p&&y!==y}var i=typeof Object.is=="function"?Object.is:n,l=e.useState,o=e.useEffect,s=e.useLayoutEffect,u=e.useDebugValue;function f(p,y){var v=y(),w=l({inst:{value:v,getSnapshot:y}}),N=w[0].inst,S=w[1];return s(function(){N.value=v,N.getSnapshot=y,d(N)&&S({inst:N})},[p,v,y]),o(function(){return d(N)&&S({inst:N}),p(function(){d(N)&&S({inst:N})})},[p]),u(v),v}function d(p){var y=p.getSnapshot;p=p.value;try{var v=y();return!i(p,v)}catch{return!0}}function h(p,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return fh.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,fh}var _v;function xT(){return _v||(_v=1,ch.exports=yT()),ch.exports}/** - * @license React - * use-sync-external-store-shim/with-selector.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Ev;function vT(){if(Ev)return uh;Ev=1;var e=$o(),n=xT();function i(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var l=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,s=e.useRef,u=e.useEffect,f=e.useMemo,d=e.useDebugValue;return uh.useSyncExternalStoreWithSelector=function(h,m,p,y,v){var w=s(null);if(w.current===null){var N={hasValue:!1,value:null};w.current=N}else N=w.current;w=f(function(){function E(T){if(!A){if(A=!0,_=T,T=y(T),v!==void 0&&N.hasValue){var I=N.value;if(v(I,T))return z=I}return z=T}if(I=z,l(_,T))return I;var M=y(T);return v!==void 0&&v(I,M)?(_=T,I):(_=T,z=M)}var A=!1,_,z,B=p===void 0?null:p;return[function(){return E(m())},B===null?void 0:function(){return E(B())}]},[m,p,y,v]);var S=o(h,w[0],w[1]);return u(function(){N.hasValue=!0,N.value=S},[S]),d(S),S},uh}var Nv;function bT(){return Nv||(Nv=1,sh.exports=vT()),sh.exports}var wT=bT();const ST=Yo(wT),_T={},kv=e=>{let n;const i=new Set,l=(m,p)=>{const y=typeof m=="function"?m(n):m;if(!Object.is(y,n)){const v=n;n=p??(typeof y!="object"||y===null)?y:Object.assign({},n,y),i.forEach(w=>w(n,v))}},o=()=>n,d={setState:l,getState:o,getInitialState:()=>h,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(_T?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},h=n=e(l,o,d);return d},ET=e=>e?kv(e):kv,{useDebugValue:NT}=Yl,{useSyncExternalStoreWithSelector:kT}=ST,CT=e=>e;function gS(e,n=CT,i){const l=kT(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return NT(l),l}const Cv=(e,n)=>{const i=ET(e),l=(o,s=n)=>gS(i,o,s);return Object.assign(l,i),l},zT=(e,n)=>e?Cv(e,n):Cv;function pt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[l,o]of e)if(!Object.is(o,n.get(l)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const l of e)if(!n.has(l))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(n,l)||!Object.is(e[l],n[l]))return!1;return!0}var AT=R1();const Ec=G.createContext(null),TT=Ec.Provider,yS=rr.error001();function Ve(e,n){const i=G.useContext(Ec);if(i===null)throw new Error(yS);return gS(i,e,n)}function mt(){const e=G.useContext(Ec);if(e===null)throw new Error(yS);return G.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const zv={display:"none"},MT={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},xS="react-flow__node-desc",vS="react-flow__edge-desc",jT="react-flow__aria-live",OT=e=>e.ariaLiveMessage,RT=e=>e.ariaLabelConfig;function DT({rfId:e}){const n=Ve(OT);return b.jsx("div",{id:`${jT}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:MT,children:n})}function LT({rfId:e,disableKeyboardA11y:n}){const i=Ve(RT);return b.jsxs(b.Fragment,{children:[b.jsx("div",{id:`${xS}-${e}`,style:zv,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),b.jsx("div",{id:`${vS}-${e}`,style:zv,children:i["edge.a11yDescription.default"]}),!n&&b.jsx(DT,{rfId:e})]})}const Nc=G.forwardRef(({position:e="top-left",children:n,className:i,style:l,...o},s)=>{const u=`${e}`.split("-");return b.jsx("div",{className:Tt(["react-flow__panel",i,...u]),style:l,ref:s,...o,children:n})});Nc.displayName="Panel";function HT({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:b.jsx(Nc,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:b.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const BT=e=>{const n=[],i=[];for(const[,l]of e.nodeLookup)l.selected&&n.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&i.push(l);return{selectedNodes:n,selectedEdges:i}},Du=e=>e.id;function qT(e,n){return pt(e.selectedNodes.map(Du),n.selectedNodes.map(Du))&&pt(e.selectedEdges.map(Du),n.selectedEdges.map(Du))}function UT({onSelectionChange:e}){const n=mt(),{selectedNodes:i,selectedEdges:l}=Ve(BT,qT);return G.useEffect(()=>{const o={nodes:i,edges:l};e==null||e(o),n.getState().onSelectionChangeHandlers.forEach(s=>s(o))},[i,l,e]),null}const IT=e=>!!e.onSelectionChangeHandlers;function VT({onSelectionChange:e}){const n=Ve(IT);return e||n?b.jsx(UT,{onSelectionChange:e}):null}const bS=[0,0],GT={x:0,y:0,zoom:1},YT=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],Av=[...YT,"rfId"],$T=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),Tv={translateExtent:Bo,nodeOrigin:bS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function XT(e){const{setNodes:n,setEdges:i,setMinZoom:l,setMaxZoom:o,setTranslateExtent:s,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:d}=Ve($T,pt),h=mt();G.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=Tv,f()}),[]);const m=G.useRef(Tv);return G.useEffect(()=>{for(const p of Av){const y=e[p],v=m.current[p];y!==v&&(typeof e[p]>"u"||(p==="nodes"?n(y):p==="edges"?i(y):p==="minZoom"?l(y):p==="maxZoom"?o(y):p==="translateExtent"?s(y):p==="nodeExtent"?u(y):p==="ariaLabelConfig"?h.setState({ariaLabelConfig:zA(y)}):p==="fitView"?h.setState({fitViewQueued:y}):p==="fitViewOptions"?h.setState({fitViewOptions:y}):h.setState({[p]:y})))}m.current=e},Av.map(p=>e[p])),null}function Mv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function PT(e){var l;const[n,i]=G.useState(e==="system"?null:e);return G.useEffect(()=>{if(e!=="system"){i(e);return}const o=Mv(),s=()=>i(o!=null&&o.matches?"dark":"light");return s(),o==null||o.addEventListener("change",s),()=>{o==null||o.removeEventListener("change",s)}},[e]),n!==null?n:(l=Mv())!=null&&l.matches?"dark":"light"}const jv=typeof document<"u"?document:null;function Vo(e=null,n={target:jv,actInsideInputWithModifier:!0}){const[i,l]=G.useState(!1),o=G.useRef(!1),s=G.useRef(new Set([])),[u,f]=G.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` -`).replace(` - -`,` -+`).split(` -`)),m=h.reduce((p,y)=>p.concat(...y),[]);return[h,m]}return[[],[]]},[e]);return G.useEffect(()=>{const d=(n==null?void 0:n.target)??jv,h=(n==null?void 0:n.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var S,E;if(o.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!o.current||o.current&&!h)&&eS(v))return!1;const N=Rv(v.code,f);if(s.current.add(v[N]),Ov(u,s.current,!1)){const A=((E=(S=v.composedPath)==null?void 0:S.call(v))==null?void 0:E[0])||v.target,_=(A==null?void 0:A.nodeName)==="BUTTON"||(A==null?void 0:A.nodeName)==="A";n.preventDefault!==!1&&(o.current||!_)&&v.preventDefault(),l(!0)}},p=v=>{const w=Rv(v.code,f);Ov(u,s.current,!0)?(l(!1),s.current.clear()):s.current.delete(v[w]),v.key==="Meta"&&s.current.clear(),o.current=!1},y=()=>{s.current.clear(),l(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",p),window.addEventListener("blur",y),window.addEventListener("contextmenu",y),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",p),window.removeEventListener("blur",y),window.removeEventListener("contextmenu",y)}}},[e,l]),i}function Ov(e,n,i){return e.filter(l=>i||l.length===n.size).some(l=>l.every(o=>n.has(o)))}function Rv(e,n){return n.includes(e)?"code":"key"}const FT=()=>{const e=mt();return G.useMemo(()=>({zoomIn:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomOut:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomTo:(n,i)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(n,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{const{transform:[l,o,s],panZoom:u}=e.getState();return u?(await u.setViewport({x:n.x??l,y:n.y??o,zoom:n.zoom??s},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[n,i,l]=e.getState().transform;return{x:n,y:i,zoom:l}},setCenter:async(n,i,l)=>e.getState().setCenter(n,i,l),fitBounds:async(n,i)=>{const{width:l,height:o,minZoom:s,maxZoom:u,panZoom:f}=e.getState(),d=cm(n,l,o,s,u,(i==null?void 0:i.padding)??.1);return f?(await f.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(n,i={})=>{const{transform:l,snapGrid:o,snapToGrid:s,domNode:u}=e.getState();if(!u)return n;const{x:f,y:d}=u.getBoundingClientRect(),h={x:n.x-f,y:n.y-d},m=i.snapGrid??o,p=i.snapToGrid??s;return Jo(h,l,p,m)},flowToScreenPosition:n=>{const{transform:i,domNode:l}=e.getState();if(!l)return n;const{x:o,y:s}=l.getBoundingClientRect(),u=ac(n,i);return{x:u.x+o,y:u.y+s}}}),[])};function wS(e,n){const i=[],l=new Map,o=[];for(const s of e)if(s.type==="add"){o.push(s);continue}else if(s.type==="remove"||s.type==="replace")l.set(s.id,[s]);else{const u=l.get(s.id);u?u.push(s):l.set(s.id,[s])}for(const s of n){const u=l.get(s.id);if(!u){i.push(s);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const f={...s};for(const d of u)QT(d,f);i.push(f)}return o.length&&o.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function QT(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position<"u"&&(n.position=e.position),typeof e.dragging<"u"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function SS(e,n){return wS(e,n)}function _S(e,n){return wS(e,n)}function Ui(e,n){return{id:e,type:"select",selected:n}}function Pl(e,n=new Set,i=!1){const l=[];for(const[o,s]of e){const u=n.has(o);!(s.selected===void 0&&!u)&&s.selected!==u&&(i&&(s.selected=u),l.push(Ui(s.id,u)))}return l}function Dv({items:e=[],lookup:n}){var o;const i=[],l=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const f=n.get(u.id),d=((o=f==null?void 0:f.internals)==null?void 0:o.userNode)??f;d!==void 0&&d!==u&&i.push({id:u.id,item:u,type:"replace"}),d===void 0&&i.push({item:u,type:"add",index:s})}for(const[s]of n)l.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function Lv(e){return{id:e.id,type:"remove"}}const Hv=e=>xA(e),ZT=e=>Xw(e);function ES(e){return G.forwardRef(e)}const KT=typeof window<"u"?G.useLayoutEffect:G.useEffect;function Bv(e){const[n,i]=G.useState(BigInt(0)),[l]=G.useState(()=>JT(()=>i(o=>o+BigInt(1))));return KT(()=>{const o=l.get();o.length&&(e(o),l.reset())},[n]),l}function JT(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const NS=G.createContext(null);function WT({children:e}){const n=mt(),i=G.useCallback(f=>{const{nodes:d=[],setNodes:h,hasDefaultNodes:m,onNodesChange:p,nodeLookup:y,fitViewQueued:v,onNodesChangeMiddlewareMap:w}=n.getState();let N=d;for(const E of f)N=typeof E=="function"?E(N):E;let S=Dv({items:N,lookup:y});for(const E of w.values())S=E(S);m&&h(N),S.length>0?p==null||p(S):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:A,setNodes:_}=n.getState();E&&_(A)})},[]),l=Bv(i),o=G.useCallback(f=>{const{edges:d=[],setEdges:h,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:y}=n.getState();let v=d;for(const w of f)v=typeof w=="function"?w(v):w;m?h(v):p&&p(Dv({items:v,lookup:y}))},[]),s=Bv(o),u=G.useMemo(()=>({nodeQueue:l,edgeQueue:s}),[]);return b.jsx(NS.Provider,{value:u,children:e})}function eM(){const e=G.useContext(NS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const tM=e=>!!e.panZoom;function Wo(){const e=FT(),n=mt(),i=eM(),l=Ve(tM),o=G.useMemo(()=>{const s=p=>n.getState().nodeLookup.get(p),u=p=>{i.nodeQueue.push(p)},f=p=>{i.edgeQueue.push(p)},d=p=>{var E,A;const{nodeLookup:y,nodeOrigin:v}=n.getState(),w=Hv(p)?p:y.get(p.id),N=w.parentId?Jw(w.position,w.measured,w.parentId,y,v):w.position,S={...w,position:N,width:((E=w.measured)==null?void 0:E.width)??w.width,height:((A=w.measured)==null?void 0:A.height)??w.height};return aa(S)},h=(p,y,v={replace:!1})=>{u(w=>w.map(N=>{if(N.id===p){const S=typeof y=="function"?y(N):y;return v.replace&&Hv(S)?S:{...N,...S}}return N}))},m=(p,y,v={replace:!1})=>{f(w=>w.map(N=>{if(N.id===p){const S=typeof y=="function"?y(N):y;return v.replace&&ZT(S)?S:{...N,...S}}return N}))};return{getNodes:()=>n.getState().nodes.map(p=>({...p})),getNode:p=>{var y;return(y=s(p))==null?void 0:y.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:p=[]}=n.getState();return p.map(y=>({...y}))},getEdge:p=>n.getState().edgeLookup.get(p),setNodes:u,setEdges:f,addNodes:p=>{const y=Array.isArray(p)?p:[p];i.nodeQueue.push(v=>[...v,...y])},addEdges:p=>{const y=Array.isArray(p)?p:[p];i.edgeQueue.push(v=>[...v,...y])},toObject:()=>{const{nodes:p=[],edges:y=[],transform:v}=n.getState(),[w,N,S]=v;return{nodes:p.map(E=>({...E})),edges:y.map(E=>({...E})),viewport:{x:w,y:N,zoom:S}}},deleteElements:async({nodes:p=[],edges:y=[]})=>{const{nodes:v,edges:w,onNodesDelete:N,onEdgesDelete:S,triggerNodeChanges:E,triggerEdgeChanges:A,onDelete:_,onBeforeDelete:z}=n.getState(),{nodes:B,edges:T}=await _A({nodesToRemove:p,edgesToRemove:y,nodes:v,edges:w,onBeforeDelete:z}),I=T.length>0,M=B.length>0;if(I){const L=T.map(Lv);S==null||S(T),A(L)}if(M){const L=B.map(Lv);N==null||N(B),E(L)}return(M||I)&&(_==null||_({nodes:B,edges:T})),{deletedNodes:B,deletedEdges:T}},getIntersectingNodes:(p,y=!0,v)=>{const w=uv(p),N=w?p:d(p),S=v!==void 0;return N?(v||n.getState().nodes).filter(E=>{const A=n.getState().nodeLookup.get(E.id);if(A&&!w&&(E.id===p.id||!A.internals.positionAbsolute))return!1;const _=aa(S?E:A),z=Uo(_,N);return y&&z>0||z>=_.width*_.height||z>=N.width*N.height}):[]},isNodeIntersecting:(p,y,v=!0)=>{const N=uv(p)?p:d(p);if(!N)return!1;const S=Uo(N,y);return v&&S>0||S>=y.width*y.height||S>=N.width*N.height},updateNode:h,updateNodeData:(p,y,v={replace:!1})=>{h(p,w=>{const N=typeof y=="function"?y(w):y;return v.replace?{...w,data:N}:{...w,data:{...w.data,...N}}},v)},updateEdge:m,updateEdgeData:(p,y,v={replace:!1})=>{m(p,w=>{const N=typeof y=="function"?y(w):y;return v.replace?{...w,data:N}:{...w,data:{...w.data,...N}}},v)},getNodesBounds:p=>{const{nodeLookup:y,nodeOrigin:v}=n.getState();return vA(p,{nodeLookup:y,nodeOrigin:v})},getHandleConnections:({type:p,id:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}-${p}${y?`-${y}`:""}`))==null?void 0:w.values())??[])},getNodeConnections:({type:p,handleId:y,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}${p?y?`-${p}-${y}`:`-${p}`:""}`))==null?void 0:w.values())??[])},fitView:async p=>{const y=n.getState().fitViewResolver??CA();return n.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:y}),i.nodeQueue.push(v=>[...v]),y.promise}}},[]);return G.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const qv=e=>e.selected,nM=typeof window<"u"?window:void 0;function rM({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=mt(),{deleteElements:l}=Wo(),o=Vo(e,{actInsideInputWithModifier:!1}),s=Vo(n,{target:nM});G.useEffect(()=>{if(o){const{edges:u,nodes:f}=i.getState();l({nodes:f.filter(qv),edges:u.filter(qv)}),i.setState({nodesSelectionActive:!1})}},[o]),G.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function iM(e){const n=mt();G.useEffect(()=>{const i=()=>{var o,s,u,f;if(!e.current||!(((s=(o=e.current).checkVisibility)==null?void 0:s.call(o))??!0))return!1;const l=fm(e.current);(l.height===0||l.width===0)&&((f=(u=n.getState()).onError)==null||f.call(u,"004",rr.error004())),n.setState({width:l.width||500,height:l.height||500})};if(e.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(e.current),()=>{window.removeEventListener("resize",i),l&&e.current&&l.unobserve(e.current)}}},[])}const kc={position:"absolute",width:"100%",height:"100%",top:0,left:0},lM=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function aM({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:s=Xi.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:d,translateExtent:h,minZoom:m,maxZoom:p,zoomActivationKeyCode:y,preventScrolling:v=!0,children:w,noWheelClassName:N,noPanClassName:S,onViewportChange:E,isControlledViewport:A,paneClickDistance:_,selectionOnDrag:z}){const B=mt(),T=G.useRef(null),{userSelectionActive:I,lib:M,connectionInProgress:L}=Ve(lM,pt),X=Vo(y),q=G.useRef();iM(T);const D=G.useCallback(W=>{E==null||E({x:W[0],y:W[1],zoom:W[2]}),A||B.setState({transform:W})},[E,A]);return G.useEffect(()=>{if(T.current){q.current=cT({domNode:T.current,minZoom:m,maxZoom:p,translateExtent:h,viewport:d,onDraggingChange:O=>B.setState($=>$.paneDragging===O?$:{paneDragging:O}),onPanZoomStart:(O,$)=>{const{onViewportChangeStart:Z,onMoveStart:K}=B.getState();K==null||K(O,$),Z==null||Z($)},onPanZoom:(O,$)=>{const{onViewportChange:Z,onMove:K}=B.getState();K==null||K(O,$),Z==null||Z($)},onPanZoomEnd:(O,$)=>{const{onViewportChangeEnd:Z,onMoveEnd:K}=B.getState();K==null||K(O,$),Z==null||Z($)}});const{x:W,y:H,zoom:Y}=q.current.getViewport();return B.setState({panZoom:q.current,transform:[W,H,Y],domNode:T.current.closest(".react-flow")}),()=>{var O;(O=q.current)==null||O.destroy()}}},[]),G.useEffect(()=>{var W;(W=q.current)==null||W.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:s,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:X,preventScrolling:v,noPanClassName:S,userSelectionActive:I,noWheelClassName:N,lib:M,onTransformChange:D,connectionInProgress:L,selectionOnDrag:z,paneClickDistance:_})},[e,n,i,l,o,s,u,f,X,v,S,I,N,M,D,L,z,_]),b.jsx("div",{className:"react-flow__renderer",ref:T,style:kc,children:w})}const oM=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function sM(){const{userSelectionActive:e,userSelectionRect:n}=Ve(oM,pt);return e&&n?b.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const dh=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},uM=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function cM({isSelecting:e,selectionKeyPressed:n,selectionMode:i=qo.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:s,onSelectionStart:u,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:h,onPaneScroll:m,onPaneMouseEnter:p,onPaneMouseMove:y,onPaneMouseLeave:v,children:w}){const N=mt(),{userSelectionActive:S,elementsSelectable:E,dragging:A,connectionInProgress:_}=Ve(uM,pt),z=E&&(e||S),B=G.useRef(null),T=G.useRef(),I=G.useRef(new Set),M=G.useRef(new Set),L=G.useRef(!1),X=Z=>{if(L.current||_){L.current=!1;return}d==null||d(Z),N.getState().resetSelectedElements(),N.setState({nodesSelectionActive:!1})},q=Z=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Z.preventDefault();return}h==null||h(Z)},D=m?Z=>m(Z):void 0,W=Z=>{L.current&&(Z.stopPropagation(),L.current=!1)},H=Z=>{var F,J;const{domNode:K}=N.getState();if(T.current=K==null?void 0:K.getBoundingClientRect(),!T.current)return;const j=Z.target===B.current;if(!j&&!!Z.target.closest(".nokey")||!e||!(s&&j||n)||Z.button!==0||!Z.isPrimary)return;(J=(F=Z.target)==null?void 0:F.setPointerCapture)==null||J.call(F,Z.pointerId),L.current=!1;const{x:k,y:V}=In(Z.nativeEvent,T.current);N.setState({userSelectionRect:{width:0,height:0,startX:k,startY:V,x:k,y:V}}),j||(Z.stopPropagation(),Z.preventDefault())},Y=Z=>{const{userSelectionRect:K,transform:j,nodeLookup:U,edgeLookup:P,connectionLookup:k,triggerNodeChanges:V,triggerEdgeChanges:F,defaultEdgeOptions:J,resetSelectedElements:ne}=N.getState();if(!T.current||!K)return;const{x:re,y:se}=In(Z.nativeEvent,T.current),{startX:ge,startY:ve}=K;if(!L.current){const Ce=n?0:o;if(Math.hypot(re-ge,se-ve)<=Ce)return;ne(),u==null||u(Z)}L.current=!0;const ye={startX:ge,startY:ve,x:reCe.id)),M.current=new Set;const Me=(J==null?void 0:J.selectable)??!0;for(const Ce of I.current){const ut=k.get(Ce);if(ut)for(const{edgeId:et}of ut.values()){const Mt=P.get(et);Mt&&(Mt.selectable??Me)&&M.current.add(et)}}if(!cv(he,I.current)){const Ce=Pl(U,I.current,!0);V(Ce)}if(!cv(_e,M.current)){const Ce=Pl(P,M.current);F(Ce)}N.setState({userSelectionRect:ye,userSelectionActive:!0,nodesSelectionActive:!1})},O=Z=>{var K,j;Z.button===0&&((j=(K=Z.target)==null?void 0:K.releasePointerCapture)==null||j.call(K,Z.pointerId),!S&&Z.target===B.current&&N.getState().userSelectionRect&&(X==null||X(Z)),N.setState({userSelectionActive:!1,userSelectionRect:null}),L.current&&(f==null||f(Z),N.setState({nodesSelectionActive:I.current.size>0})))},$=l===!0||Array.isArray(l)&&l.includes(0);return b.jsxs("div",{className:Tt(["react-flow__pane",{draggable:$,dragging:A,selection:e}]),onClick:z?void 0:dh(X,B),onContextMenu:dh(q,B),onWheel:dh(D,B),onPointerEnter:z?void 0:p,onPointerMove:z?Y:y,onPointerUp:z?O:void 0,onPointerDownCapture:z?H:void 0,onClickCapture:z?W:void 0,onPointerLeave:v,ref:B,style:kc,children:[w,b.jsx(sM,{})]})}function qp({id:e,store:n,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:s,multiSelectionActive:u,nodeLookup:f,onError:d}=n.getState(),h=f.get(e);if(!h){d==null||d("012",rr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&u)&&(s({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):o([e])}function kS({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:l,nodeId:o,isSelectable:s,nodeClickDistance:u}){const f=mt(),[d,h]=G.useState(!1),m=G.useRef();return G.useEffect(()=>{m.current=ZA({getStoreItems:()=>f.getState(),onNodeMouseDown:p=>{qp({id:p,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),G.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:l,domNode:e.current,isSelectable:s,nodeId:o,nodeClickDistance:u}),()=>{var p;(p=m.current)==null||p.destroy()}},[i,l,n,s,e,o,u]),d}const fM=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable>"u");function CS(){const e=mt();return G.useCallback(i=>{const{nodeExtent:l,snapToGrid:o,snapGrid:s,nodesDraggable:u,onError:f,updateNodePositions:d,nodeLookup:h,nodeOrigin:m}=e.getState(),p=new Map,y=fM(u),v=o?s[0]:5,w=o?s[1]:5,N=i.direction.x*v*i.factor,S=i.direction.y*w*i.factor;for(const[,E]of h){if(!y(E))continue;let A={x:E.internals.positionAbsolute.x+N,y:E.internals.positionAbsolute.y+S};o&&(A=Ko(A,s));const{position:_,positionAbsolute:z}=Pw({nodeId:E.id,nextPosition:A,nodeLookup:h,nodeExtent:l,nodeOrigin:m,onError:f});E.position=_,E.internals.positionAbsolute=z,p.set(E.id,E)}d(p)},[])}const xm=G.createContext(null),dM=xm.Provider;xm.Consumer;const zS=()=>G.useContext(xm),hM=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),pM=(e,n,i)=>l=>{const{connectionClickStartHandle:o,connectionMode:s,connection:u}=l,{fromHandle:f,toHandle:d,isValid:h}=u,m=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===n&&(f==null?void 0:f.type)===i,connectingTo:m,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===n&&(o==null?void 0:o.type)===i,isPossibleEndHandle:s===ia.Strict?(f==null?void 0:f.type)!==i:e!==(f==null?void 0:f.nodeId)||n!==(f==null?void 0:f.id),connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:m&&h}};function mM({type:e="source",position:n=we.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:s=!0,id:u,onConnect:f,children:d,className:h,onMouseDown:m,onTouchStart:p,...y},v){var Y,O;const w=u||null,N=e==="target",S=mt(),E=zS(),{connectOnClick:A,noPanClassName:_,rfId:z}=Ve(hM,pt),{connectingFrom:B,connectingTo:T,clickConnecting:I,isPossibleEndHandle:M,connectionInProcess:L,clickConnectionInProcess:X,valid:q}=Ve(pM(E,w,e),pt);E||(O=(Y=S.getState()).onError)==null||O.call(Y,"010",rr.error010());const D=$=>{const{defaultEdgeOptions:Z,onConnect:K,hasDefaultEdges:j}=S.getState(),U={...Z,...$};if(j){const{edges:P,setEdges:k}=S.getState();k(RA(U,P))}K==null||K(U),f==null||f(U)},W=$=>{if(!E)return;const Z=tS($.nativeEvent);if(o&&(Z&&$.button===0||!Z)){const K=S.getState();Bp.onPointerDown($.nativeEvent,{handleDomNode:$.currentTarget,autoPanOnConnect:K.autoPanOnConnect,connectionMode:K.connectionMode,connectionRadius:K.connectionRadius,domNode:K.domNode,nodeLookup:K.nodeLookup,lib:K.lib,isTarget:N,handleId:w,nodeId:E,flowId:K.rfId,panBy:K.panBy,cancelConnection:K.cancelConnection,onConnectStart:K.onConnectStart,onConnectEnd:(...j)=>{var U,P;return(P=(U=S.getState()).onConnectEnd)==null?void 0:P.call(U,...j)},updateConnection:K.updateConnection,onConnect:D,isValidConnection:i||((...j)=>{var U,P;return((P=(U=S.getState()).isValidConnection)==null?void 0:P.call(U,...j))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:K.autoPanSpeed,dragThreshold:K.connectionDragThreshold})}Z?m==null||m($):p==null||p($)},H=$=>{const{onClickConnectStart:Z,onClickConnectEnd:K,connectionClickStartHandle:j,connectionMode:U,isValidConnection:P,lib:k,rfId:V,nodeLookup:F,connection:J}=S.getState();if(!E||!j&&!o)return;if(!j){Z==null||Z($.nativeEvent,{nodeId:E,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const ne=Ww($.target),re=i||P,{connection:se,isValid:ge}=Bp.isValid($.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:U,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:re,flowId:V,doc:ne,lib:k,nodeLookup:F});ge&&se&&D(se);const ve=structuredClone(J);delete ve.inProgress,ve.toPosition=ve.toHandle?ve.toHandle.position:null,K==null||K($,ve),S.setState({connectionClickStartHandle:null})};return b.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":n,"data-id":`${z}-${E}-${w}-${e}`,className:Tt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",_,h,{source:!N,target:N,connectable:l,connectablestart:o,connectableend:s,clickconnecting:I,connectingfrom:B,connectingto:T,valid:q,connectionindicator:l&&(!L||M)&&(L||X?s:o)}]),onMouseDown:W,onTouchStart:W,onClick:A?H:void 0,ref:v,...y,children:d})}const on=G.memo(ES(mM));function gM({data:e,isConnectable:n,sourcePosition:i=we.Bottom}){return b.jsxs(b.Fragment,{children:[e==null?void 0:e.label,b.jsx(on,{type:"source",position:i,isConnectable:n})]})}function yM({data:e,isConnectable:n,targetPosition:i=we.Top,sourcePosition:l=we.Bottom}){return b.jsxs(b.Fragment,{children:[b.jsx(on,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,b.jsx(on,{type:"source",position:l,isConnectable:n})]})}function xM(){return null}function vM({data:e,isConnectable:n,targetPosition:i=we.Top}){return b.jsxs(b.Fragment,{children:[b.jsx(on,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const oc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Uv={input:gM,default:yM,output:vM,group:xM};function bM(e){var n,i,l,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((n=e.style)==null?void 0:n.width),height:e.height??e.initialHeight??((i=e.style)==null?void 0:i.height)}:{width:e.width??((l=e.style)==null?void 0:l.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const wM=e=>{const{width:n,height:i,x:l,y:o}=Zo(e.nodeLookup,{filter:s=>!!s.selected});return{width:Un(n)?n:null,height:Un(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function SM({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const l=mt(),{width:o,height:s,transformString:u,userSelectionActive:f}=Ve(wM,pt),d=CS(),h=G.useRef(null);G.useEffect(()=>{var v;i||(v=h.current)==null||v.focus({preventScroll:!0})},[i]);const m=!f&&o!==null&&s!==null;if(kS({nodeRef:h,disabled:!m}),!m)return null;const p=e?v=>{const w=l.getState().nodes.filter(N=>N.selected);e(v,w)}:void 0,y=v=>{Object.prototype.hasOwnProperty.call(oc,v.key)&&(v.preventDefault(),d({direction:oc[v.key],factor:v.shiftKey?4:1}))};return b.jsx("div",{className:Tt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:b.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:i?void 0:-1,onKeyDown:i?void 0:y,style:{width:o,height:s}})})}const Iv=typeof window<"u"?window:void 0,_M=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function AS({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:d,selectionKeyCode:h,selectionOnDrag:m,selectionMode:p,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:N,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:A,zoomOnPinch:_,panOnScroll:z,panOnScrollSpeed:B,panOnScrollMode:T,zoomOnDoubleClick:I,panOnDrag:M,defaultViewport:L,translateExtent:X,minZoom:q,maxZoom:D,preventScrolling:W,onSelectionContextMenu:H,noWheelClassName:Y,noPanClassName:O,disableKeyboardA11y:$,onViewportChange:Z,isControlledViewport:K}){const{nodesSelectionActive:j,userSelectionActive:U}=Ve(_M,pt),P=Vo(h,{target:Iv}),k=Vo(N,{target:Iv}),V=k||M,F=k||z,J=m&&V!==!0,ne=P||U||J;return rM({deleteKeyCode:d,multiSelectionKeyCode:w}),b.jsx(aM,{onPaneContextMenu:s,elementsSelectable:E,zoomOnScroll:A,zoomOnPinch:_,panOnScroll:F,panOnScrollSpeed:B,panOnScrollMode:T,zoomOnDoubleClick:I,panOnDrag:!P&&V,defaultViewport:L,translateExtent:X,minZoom:q,maxZoom:D,zoomActivationKeyCode:S,preventScrolling:W,noWheelClassName:Y,noPanClassName:O,onViewportChange:Z,isControlledViewport:K,paneClickDistance:f,selectionOnDrag:J,children:b.jsxs(cM,{onSelectionStart:y,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,panOnDrag:V,isSelecting:!!ne,selectionMode:p,selectionKeyPressed:P,paneClickDistance:f,selectionOnDrag:J,children:[e,j&&b.jsx(SM,{onSelectionContextMenu:H,noPanClassName:O,disableKeyboardA11y:$})]})})}AS.displayName="FlowRenderer";const EM=G.memo(AS),NM=e=>n=>e?um(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function kM(e){return Ve(G.useCallback(NM(e),[e]),pt)}const CM=e=>e.updateNodeInternals;function zM(){const e=Ve(CM),[n]=G.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(o=>{const s=o.target.getAttribute("data-id");l.set(s,{id:s,nodeElement:o.target,force:!0})}),e(l)}));return G.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function AM({node:e,nodeType:n,hasDimensions:i,resizeObserver:l}){const o=mt(),s=G.useRef(null),u=G.useRef(null),f=G.useRef(e.sourcePosition),d=G.useRef(e.targetPosition),h=G.useRef(n),m=i&&!!e.internals.handleBounds;return G.useEffect(()=>{s.current&&!e.hidden&&(!m||u.current!==s.current)&&(u.current&&(l==null||l.unobserve(u.current)),l==null||l.observe(s.current),u.current=s.current)},[m,e.hidden]),G.useEffect(()=>()=>{u.current&&(l==null||l.unobserve(u.current),u.current=null)},[]),G.useEffect(()=>{if(s.current){const p=h.current!==n,y=f.current!==e.sourcePosition,v=d.current!==e.targetPosition;(p||y||v)&&(h.current=n,f.current=e.sourcePosition,d.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function TM({id:e,onClick:n,onMouseEnter:i,onMouseMove:l,onMouseLeave:o,onContextMenu:s,onDoubleClick:u,nodesDraggable:f,elementsSelectable:d,nodesConnectable:h,nodesFocusable:m,resizeObserver:p,noDragClassName:y,noPanClassName:v,disableKeyboardA11y:w,rfId:N,nodeTypes:S,nodeClickDistance:E,onError:A}){const{node:_,internals:z,isParent:B}=Ve(re=>{const se=re.nodeLookup.get(e),ge=re.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ge}},pt);let T=_.type||"default",I=(S==null?void 0:S[T])||Uv[T];I===void 0&&(A==null||A("003",rr.error003(T)),T="default",I=(S==null?void 0:S.default)||Uv.default);const M=!!(_.draggable||f&&typeof _.draggable>"u"),L=!!(_.selectable||d&&typeof _.selectable>"u"),X=!!(_.connectable||h&&typeof _.connectable>"u"),q=!!(_.focusable||m&&typeof _.focusable>"u"),D=mt(),W=Kw(_),H=AM({node:_,nodeType:T,hasDimensions:W,resizeObserver:p}),Y=kS({nodeRef:H,disabled:_.hidden||!M,noDragClassName:y,handleSelector:_.dragHandle,nodeId:e,isSelectable:L,nodeClickDistance:E}),O=CS();if(_.hidden)return null;const $=Or(_),Z=bM(_),K=L||M||n||i||l||o,j=i?re=>i(re,{...z.userNode}):void 0,U=l?re=>l(re,{...z.userNode}):void 0,P=o?re=>o(re,{...z.userNode}):void 0,k=s?re=>s(re,{...z.userNode}):void 0,V=u?re=>u(re,{...z.userNode}):void 0,F=re=>{const{selectNodesOnDrag:se,nodeDragThreshold:ge}=D.getState();L&&(!se||!M||ge>0)&&qp({id:e,store:D,nodeRef:H}),n&&n(re,{...z.userNode})},J=re=>{if(!(eS(re.nativeEvent)||w)){if(Vw.includes(re.key)&&L){const se=re.key==="Escape";qp({id:e,store:D,unselect:se,nodeRef:H})}else if(M&&_.selected&&Object.prototype.hasOwnProperty.call(oc,re.key)){re.preventDefault();const{ariaLabelConfig:se}=D.getState();D.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:re.key.replace("Arrow","").toLowerCase(),x:~~z.positionAbsolute.x,y:~~z.positionAbsolute.y})}),O({direction:oc[re.key],factor:re.shiftKey?4:1})}}},ne=()=>{var _e;if(w||!((_e=H.current)!=null&&_e.matches(":focus-visible")))return;const{transform:re,width:se,height:ge,autoPanOnNodeFocus:ve,setCenter:ye}=D.getState();if(!ve)return;um(new Map([[e,_]]),{x:0,y:0,width:se,height:ge},re,!0).length>0||ye(_.position.x+$.width/2,_.position.y+$.height/2,{zoom:re[2]})};return b.jsx("div",{className:Tt(["react-flow__node",`react-flow__node-${T}`,{[v]:M},_.className,{selected:_.selected,selectable:L,parent:B,draggable:M,dragging:Y}]),ref:H,style:{zIndex:z.z,transform:`translate(${z.positionAbsolute.x}px,${z.positionAbsolute.y}px)`,pointerEvents:K?"all":"none",visibility:W?"visible":"hidden",..._.style,...Z},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:U,onMouseLeave:P,onContextMenu:k,onClick:F,onDoubleClick:V,onKeyDown:q?J:void 0,tabIndex:q?0:void 0,onFocus:q?ne:void 0,role:_.ariaRole??(q?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${xS}-${N}`,"aria-label":_.ariaLabel,..._.domAttributes,children:b.jsx(dM,{value:e,children:b.jsx(I,{id:e,data:_.data,type:T,positionAbsoluteX:z.positionAbsolute.x,positionAbsoluteY:z.positionAbsolute.y,selected:_.selected??!1,selectable:L,draggable:M,deletable:_.deletable??!0,isConnectable:X,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:Y,dragHandle:_.dragHandle,zIndex:z.z,parentId:_.parentId,...$})})})}var MM=G.memo(TM);const jM=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function TS(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,onError:s}=Ve(jM,pt),u=kM(e.onlyRenderVisibleElements),f=zM();return b.jsx("div",{className:"react-flow__nodes",style:kc,children:u.map(d=>b.jsx(MM,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}TS.displayName="NodeRenderer";const OM=G.memo(TS);function RM(e){return Ve(G.useCallback(i=>{if(!e)return i.edges.map(o=>o.id);const l=[];if(i.width&&i.height)for(const o of i.edges){const s=i.nodeLookup.get(o.source),u=i.nodeLookup.get(o.target);s&&u&&MA({sourceNode:s,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&l.push(o.id)}return l},[e]),pt)}const DM=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return b.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},LM=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return b.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Vv={[ic.Arrow]:DM,[ic.ArrowClosed]:LM};function HM(e){const n=mt();return G.useMemo(()=>{var o,s;return Object.prototype.hasOwnProperty.call(Vv,e)?Vv[e]:((s=(o=n.getState()).onError)==null||s.call(o,"009",rr.error009(e)),null)},[e])}const BM=({id:e,type:n,color:i,width:l=12.5,height:o=12.5,markerUnits:s="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const d=HM(n);return d?b.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:f,refX:"0",refY:"0",children:b.jsx(d,{color:i,strokeWidth:u})}):null},MS=({defaultColor:e,rfId:n})=>{const i=Ve(s=>s.edges),l=Ve(s=>s.defaultEdgeOptions),o=G.useMemo(()=>qA(i,{id:n,defaultColor:e,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,n,e]);return o.length?b.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:b.jsx("defs",{children:o.map(s=>b.jsx(BM,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};MS.displayName="MarkerDefinitions";var qM=G.memo(MS);function jS({x:e,y:n,label:i,labelStyle:l,labelShowBg:o=!0,labelBgStyle:s,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:d,className:h,...m}){const[p,y]=G.useState({x:1,y:0,width:0,height:0}),v=Tt(["react-flow__edge-textwrapper",h]),w=G.useRef(null);return G.useEffect(()=>{if(w.current){const N=w.current.getBBox();y({x:N.x,y:N.y,width:N.width,height:N.height})}},[i]),i?b.jsxs("g",{transform:`translate(${e-p.width/2} ${n-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[o&&b.jsx("rect",{width:p.width+2*u[0],x:-u[0],y:-u[1],height:p.height+2*u[1],className:"react-flow__edge-textbg",style:s,rx:f,ry:f}),b.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:l,children:i}),d]}):null}jS.displayName="EdgeText";const UM=G.memo(jS);function es({path:e,labelX:n,labelY:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d,interactionWidth:h=20,...m}){return b.jsxs(b.Fragment,{children:[b.jsx("path",{...m,d:e,fill:"none",className:Tt(["react-flow__edge-path",m.className])}),h?b.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&Un(n)&&Un(i)?b.jsx(UM,{x:n,y:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d}):null]})}function Gv({pos:e,x1:n,y1:i,x2:l,y2:o}){return e===we.Left||e===we.Right?[.5*(n+l),i]:[n,.5*(i+o)]}function OS({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top}){const[u,f]=Gv({pos:i,x1:e,y1:n,x2:l,y2:o}),[d,h]=Gv({pos:s,x1:l,y1:o,x2:e,y2:n}),[m,p,y,v]=nS({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${n} C${u},${f} ${d},${h} ${l},${o}`,m,p,y,v]}function RS(e){return G.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:N,markerStart:S,interactionWidth:E})=>{const[A,_,z]=OS({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f}),B=e.isInternal?void 0:n;return b.jsx(es,{id:B,path:A,labelX:_,labelY:z,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:N,markerStart:S,interactionWidth:E})})}const IM=RS({isInternal:!1}),DS=RS({isInternal:!0});IM.displayName="SimpleBezierEdge";DS.displayName="SimpleBezierEdgeInternal";function LS(e){return G.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,sourcePosition:v=we.Bottom,targetPosition:w=we.Top,markerEnd:N,markerStart:S,pathOptions:E,interactionWidth:A})=>{const[_,z,B]=Dp({sourceX:i,sourceY:l,sourcePosition:v,targetX:o,targetY:s,targetPosition:w,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),T=e.isInternal?void 0:n;return b.jsx(es,{id:T,path:_,labelX:z,labelY:B,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:N,markerStart:S,interactionWidth:A})})}const HS=LS({isInternal:!1}),BS=LS({isInternal:!0});HS.displayName="SmoothStepEdge";BS.displayName="SmoothStepEdgeInternal";function qS(e){return G.memo(({id:n,...i})=>{var o;const l=e.isInternal?void 0:n;return b.jsx(HS,{...i,id:l,pathOptions:G.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(o=i.pathOptions)==null?void 0:o.offset])})})}const VM=qS({isInternal:!1}),US=qS({isInternal:!0});VM.displayName="StepEdge";US.displayName="StepEdgeInternal";function IS(e){return G.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:N})=>{const[S,E,A]=iS({sourceX:i,sourceY:l,targetX:o,targetY:s}),_=e.isInternal?void 0:n;return b.jsx(es,{id:_,path:S,labelX:E,labelY:A,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:y,markerEnd:v,markerStart:w,interactionWidth:N})})}const GM=IS({isInternal:!1}),VS=IS({isInternal:!0});GM.displayName="StraightEdge";VS.displayName="StraightEdgeInternal";function GS(e){return G.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u=we.Bottom,targetPosition:f=we.Top,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:N,markerStart:S,pathOptions:E,interactionWidth:A})=>{const[_,z,B]=dm({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f,curvature:E==null?void 0:E.curvature}),T=e.isInternal?void 0:n;return b.jsx(es,{id:T,path:_,labelX:z,labelY:B,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:w,markerEnd:N,markerStart:S,interactionWidth:A})})}const YM=GS({isInternal:!1}),YS=GS({isInternal:!0});YM.displayName="BezierEdge";YS.displayName="BezierEdgeInternal";const Yv={default:YS,straight:VS,step:US,smoothstep:BS,simplebezier:DS},$v={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},$M=(e,n,i)=>i===we.Left?e-n:i===we.Right?e+n:e,XM=(e,n,i)=>i===we.Top?e-n:i===we.Bottom?e+n:e,Xv="react-flow__edgeupdater";function Pv({position:e,centerX:n,centerY:i,radius:l=10,onMouseDown:o,onMouseEnter:s,onMouseOut:u,type:f}){return b.jsx("circle",{onMouseDown:o,onMouseEnter:s,onMouseOut:u,className:Tt([Xv,`${Xv}-${f}`]),cx:$M(n,l,e),cy:XM(i,l,e),r:l,stroke:"transparent",fill:"transparent"})}function PM({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:l,sourceY:o,targetX:s,targetY:u,sourcePosition:f,targetPosition:d,onReconnect:h,onReconnectStart:m,onReconnectEnd:p,setReconnecting:y,setUpdateHover:v}){const w=mt(),N=(z,B)=>{if(z.button!==0)return;const{autoPanOnConnect:T,domNode:I,connectionMode:M,connectionRadius:L,lib:X,onConnectStart:q,cancelConnection:D,nodeLookup:W,rfId:H,panBy:Y,updateConnection:O}=w.getState(),$=B.type==="target",Z=(U,P)=>{y(!1),p==null||p(U,i,B.type,P)},K=U=>h==null?void 0:h(i,U),j=(U,P)=>{y(!0),m==null||m(z,i,B.type),q==null||q(U,P)};Bp.onPointerDown(z.nativeEvent,{autoPanOnConnect:T,connectionMode:M,connectionRadius:L,domNode:I,handleId:B.id,nodeId:B.nodeId,nodeLookup:W,isTarget:$,edgeUpdaterType:B.type,lib:X,flowId:H,cancelConnection:D,panBy:Y,isValidConnection:(...U)=>{var P,k;return((k=(P=w.getState()).isValidConnection)==null?void 0:k.call(P,...U))??!0},onConnect:K,onConnectStart:j,onConnectEnd:(...U)=>{var P,k;return(k=(P=w.getState()).onConnectEnd)==null?void 0:k.call(P,...U)},onReconnectEnd:Z,updateConnection:O,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:z.currentTarget})},S=z=>N(z,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),E=z=>N(z,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),A=()=>v(!0),_=()=>v(!1);return b.jsxs(b.Fragment,{children:[(e===!0||e==="source")&&b.jsx(Pv,{position:f,centerX:l,centerY:o,radius:n,onMouseDown:S,onMouseEnter:A,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&b.jsx(Pv,{position:d,centerX:s,centerY:u,radius:n,onMouseDown:E,onMouseEnter:A,onMouseOut:_,type:"target"})]})}function FM({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:l,onClick:o,onDoubleClick:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,rfId:w,edgeTypes:N,noPanClassName:S,onError:E,disableKeyboardA11y:A}){let _=Ve(ye=>ye.edgeLookup.get(e));const z=Ve(ye=>ye.defaultEdgeOptions);_=z?{...z,..._}:_;let B=_.type||"default",T=(N==null?void 0:N[B])||Yv[B];T===void 0&&(E==null||E("011",rr.error011(B)),B="default",T=(N==null?void 0:N.default)||Yv.default);const I=!!(_.focusable||n&&typeof _.focusable>"u"),M=typeof p<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),L=!!(_.selectable||l&&typeof _.selectable>"u"),X=G.useRef(null),[q,D]=G.useState(!1),[W,H]=G.useState(!1),Y=mt(),{zIndex:O,sourceX:$,sourceY:Z,targetX:K,targetY:j,sourcePosition:U,targetPosition:P}=Ve(G.useCallback(ye=>{const he=ye.nodeLookup.get(_.source),_e=ye.nodeLookup.get(_.target);if(!he||!_e)return{zIndex:_.zIndex,...$v};const Me=BA({id:e,sourceNode:he,targetNode:_e,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:ye.connectionMode,onError:E});return{zIndex:TA({selected:_.selected,zIndex:_.zIndex,sourceNode:he,targetNode:_e,elevateOnSelect:ye.elevateEdgesOnSelect,zIndexMode:ye.zIndexMode}),...Me||$v}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),pt),k=G.useMemo(()=>_.markerStart?`url('#${Lp(_.markerStart,w)}')`:void 0,[_.markerStart,w]),V=G.useMemo(()=>_.markerEnd?`url('#${Lp(_.markerEnd,w)}')`:void 0,[_.markerEnd,w]);if(_.hidden||$===null||Z===null||K===null||j===null)return null;const F=ye=>{var Ce;const{addSelectedEdges:he,unselectNodesAndEdges:_e,multiSelectionActive:Me}=Y.getState();L&&(Y.setState({nodesSelectionActive:!1}),_.selected&&Me?(_e({nodes:[],edges:[_]}),(Ce=X.current)==null||Ce.blur()):he([e])),o&&o(ye,_)},J=s?ye=>{s(ye,{..._})}:void 0,ne=u?ye=>{u(ye,{..._})}:void 0,re=f?ye=>{f(ye,{..._})}:void 0,se=d?ye=>{d(ye,{..._})}:void 0,ge=h?ye=>{h(ye,{..._})}:void 0,ve=ye=>{var he;if(!A&&Vw.includes(ye.key)&&L){const{unselectNodesAndEdges:_e,addSelectedEdges:Me}=Y.getState();ye.key==="Escape"?((he=X.current)==null||he.blur(),_e({edges:[_]})):Me([e])}};return b.jsx("svg",{style:{zIndex:O},children:b.jsxs("g",{className:Tt(["react-flow__edge",`react-flow__edge-${B}`,_.className,S,{selected:_.selected,animated:_.animated,inactive:!L&&!o,updating:q,selectable:L}]),onClick:F,onDoubleClick:J,onContextMenu:ne,onMouseEnter:re,onMouseMove:se,onMouseLeave:ge,onKeyDown:I?ve:void 0,tabIndex:I?0:void 0,role:_.ariaRole??(I?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":I?`${vS}-${w}`:void 0,ref:X,..._.domAttributes,children:[!W&&b.jsx(T,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:L,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:$,sourceY:Z,targetX:K,targetY:j,sourcePosition:U,targetPosition:P,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:k,markerEnd:V,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),M&&b.jsx(PM,{edge:_,isReconnectable:M,reconnectRadius:m,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,sourceX:$,sourceY:Z,targetX:K,targetY:j,sourcePosition:U,targetPosition:P,setUpdateHover:D,setReconnecting:H})]})})}var QM=G.memo(FM);const ZM=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function $S({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:l,noPanClassName:o,onReconnect:s,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,disableKeyboardA11y:N}){const{edgesFocusable:S,edgesReconnectable:E,elementsSelectable:A,onError:_}=Ve(ZM,pt),z=RM(n);return b.jsxs("div",{className:"react-flow__edges",children:[b.jsx(qM,{defaultColor:e,rfId:i}),z.map(B=>b.jsx(QM,{id:B,edgesFocusable:S,edgesReconnectable:E,elementsSelectable:A,noPanClassName:o,onReconnect:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,onClick:m,reconnectRadius:p,onDoubleClick:y,onReconnectStart:v,onReconnectEnd:w,rfId:i,onError:_,edgeTypes:l,disableKeyboardA11y:N},B))]})}$S.displayName="EdgeRenderer";const KM=G.memo($S),JM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function WM({children:e}){const n=Ve(JM);return b.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function ej(e){const n=Wo(),i=G.useRef(!1);G.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const tj=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function nj(e){const n=Ve(tj),i=mt();return G.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function rj(e){return e.connection.inProgress?{...e.connection,to:Jo(e.connection.to,e.transform)}:{...e.connection}}function ij(e){return rj}function lj(e){const n=ij();return Ve(n,pt)}const aj=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function oj({containerStyle:e,style:n,type:i,component:l}){const{nodesConnectable:o,width:s,height:u,isValid:f,inProgress:d}=Ve(aj,pt);return!(s&&o&&d)?null:b.jsx("svg",{style:e,width:s,height:u,className:"react-flow__connectionline react-flow__container",children:b.jsx("g",{className:Tt(["react-flow__connection",$w(f)]),children:b.jsx(XS,{style:n,type:i,CustomComponent:l,isValid:f})})})}const XS=({style:e,type:n=gi.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:o,from:s,fromNode:u,fromHandle:f,fromPosition:d,to:h,toNode:m,toHandle:p,toPosition:y,pointer:v}=lj();if(!o)return;if(i)return b.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:s.x,fromY:s.y,toX:h.x,toY:h.y,fromPosition:d,toPosition:y,connectionStatus:$w(l),toNode:m,toHandle:p,pointer:v});let w="";const N={sourceX:s.x,sourceY:s.y,sourcePosition:d,targetX:h.x,targetY:h.y,targetPosition:y};switch(n){case gi.Bezier:[w]=dm(N);break;case gi.SimpleBezier:[w]=OS(N);break;case gi.Step:[w]=Dp({...N,borderRadius:0});break;case gi.SmoothStep:[w]=Dp(N);break;default:[w]=iS(N)}return b.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};XS.displayName="ConnectionLine";const sj={};function Fv(e=sj){G.useRef(e),mt(),G.useEffect(()=>{},[e])}function uj(){mt(),G.useRef(!1),G.useEffect(()=>{},[])}function PS({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:y,onSelectionEnd:v,connectionLineType:w,connectionLineStyle:N,connectionLineComponent:S,connectionLineContainerStyle:E,selectionKeyCode:A,selectionOnDrag:_,selectionMode:z,multiSelectionKeyCode:B,panActivationKeyCode:T,zoomActivationKeyCode:I,deleteKeyCode:M,onlyRenderVisibleElements:L,elementsSelectable:X,defaultViewport:q,translateExtent:D,minZoom:W,maxZoom:H,preventScrolling:Y,defaultMarkerColor:O,zoomOnScroll:$,zoomOnPinch:Z,panOnScroll:K,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:P,panOnDrag:k,onPaneClick:V,onPaneMouseEnter:F,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneScroll:re,onPaneContextMenu:se,paneClickDistance:ge,nodeClickDistance:ve,onEdgeContextMenu:ye,onEdgeMouseEnter:he,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,onReconnect:ut,onReconnectStart:et,onReconnectEnd:Mt,noDragClassName:Vt,noWheelClassName:Lt,noPanClassName:Sn,disableKeyboardA11y:jn,nodeExtent:jt,rfId:Rr,viewport:ue,onViewportChange:me}){return Fv(e),Fv(n),uj(),ej(i),nj(ue),b.jsx(EM,{onPaneClick:V,onPaneMouseEnter:F,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneContextMenu:se,onPaneScroll:re,paneClickDistance:ge,deleteKeyCode:M,selectionKeyCode:A,selectionOnDrag:_,selectionMode:z,onSelectionStart:y,onSelectionEnd:v,multiSelectionKeyCode:B,panActivationKeyCode:T,zoomActivationKeyCode:I,elementsSelectable:X,zoomOnScroll:$,zoomOnPinch:Z,zoomOnDoubleClick:P,panOnScroll:K,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:k,defaultViewport:q,translateExtent:D,minZoom:W,maxZoom:H,onSelectionContextMenu:p,preventScrolling:Y,noDragClassName:Vt,noWheelClassName:Lt,noPanClassName:Sn,disableKeyboardA11y:jn,onViewportChange:me,isControlledViewport:!!ue,children:b.jsxs(WM,{children:[b.jsx(KM,{edgeTypes:n,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:ut,onReconnectStart:et,onReconnectEnd:Mt,onlyRenderVisibleElements:L,onEdgeContextMenu:ye,onEdgeMouseEnter:he,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,defaultMarkerColor:O,noPanClassName:Sn,disableKeyboardA11y:jn,rfId:Rr}),b.jsx(oj,{style:N,type:w,component:S,containerStyle:E}),b.jsx("div",{className:"react-flow__edgelabel-renderer"}),b.jsx(OM,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:s,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:L,noPanClassName:Sn,noDragClassName:Vt,disableKeyboardA11y:jn,nodeExtent:jt,rfId:Rr}),b.jsx("div",{className:"react-flow__viewport-portal"})]})})}PS.displayName="GraphView";const cj=G.memo(PS),Qv=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d=.5,maxZoom:h=2,nodeOrigin:m,nodeExtent:p,zIndexMode:y="basic"}={})=>{const v=new Map,w=new Map,N=new Map,S=new Map,E=l??n??[],A=i??e??[],_=m??[0,0],z=p??Bo;oS(N,S,E);const B=Hp(A,v,w,{nodeOrigin:_,nodeExtent:z,zIndexMode:y});let T=[0,0,1];if(u&&o&&s){const I=Zo(v,{filter:q=>!!((q.width||q.initialWidth)&&(q.height||q.initialHeight))}),{x:M,y:L,zoom:X}=cm(I,o,s,d,h,(f==null?void 0:f.padding)??.1);T=[M,L,X]}return{rfId:"1",width:o??0,height:s??0,transform:T,nodes:A,nodesInitialized:B,nodeLookup:v,parentLookup:w,edges:E,edgeLookup:S,connectionLookup:N,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:d,maxZoom:h,translateExtent:Bo,nodeExtent:z,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:ia.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:_,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...Yw},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:EA,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Gw,zIndexMode:y,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},fj=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y})=>zT((v,w)=>{async function N(){const{nodeLookup:S,panZoom:E,fitViewOptions:A,fitViewResolver:_,width:z,height:B,minZoom:T,maxZoom:I}=w();E&&(await SA({nodes:S,width:z,height:B,panZoom:E,minZoom:T,maxZoom:I},A),_==null||_.resolve(!0),v({fitViewResolver:null}))}return{...Qv({nodes:e,edges:n,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,defaultNodes:i,defaultEdges:l,zIndexMode:y}),setNodes:S=>{const{nodeLookup:E,parentLookup:A,nodeOrigin:_,elevateNodesOnSelect:z,fitViewQueued:B,zIndexMode:T}=w(),I=Hp(S,E,A,{nodeOrigin:_,nodeExtent:p,elevateNodesOnSelect:z,checkEquality:!0,zIndexMode:T});B&&I?(N(),v({nodes:S,nodesInitialized:I,fitViewQueued:!1,fitViewOptions:void 0})):v({nodes:S,nodesInitialized:I})},setEdges:S=>{const{connectionLookup:E,edgeLookup:A}=w();oS(E,A,S),v({edges:S})},setDefaultNodesAndEdges:(S,E)=>{if(S){const{setNodes:A}=w();A(S),v({hasDefaultNodes:!0})}if(E){const{setEdges:A}=w();A(E),v({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:E,nodeLookup:A,parentLookup:_,domNode:z,nodeOrigin:B,nodeExtent:T,debug:I,fitViewQueued:M,zIndexMode:L}=w(),{changes:X,updatedInternals:q}=XA(S,A,_,z,B,T,L);q&&(VA(A,_,{nodeOrigin:B,nodeExtent:T,zIndexMode:L}),M?(N(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(X==null?void 0:X.length)>0&&(I&&console.log("React Flow: trigger node changes",X),E==null||E(X)))},updateNodePositions:(S,E=!1)=>{const A=[];let _=[];const{nodeLookup:z,triggerNodeChanges:B,connection:T,updateConnection:I,onNodesChangeMiddlewareMap:M}=w();for(const[L,X]of S){const q=z.get(L),D=!!(q!=null&&q.expandParent&&(q!=null&&q.parentId)&&(X!=null&&X.position)),W={id:L,type:"position",position:D?{x:Math.max(0,X.position.x),y:Math.max(0,X.position.y)}:X.position,dragging:E};if(q&&T.inProgress&&T.fromNode.id===q.id){const H=Ki(q,T.fromHandle,we.Left,!0);I({...T,from:H})}D&&q.parentId&&A.push({id:L,parentId:q.parentId,rect:{...X.internals.positionAbsolute,width:X.measured.width??0,height:X.measured.height??0}}),_.push(W)}if(A.length>0){const{parentLookup:L,nodeOrigin:X}=w(),q=ym(A,z,L,X);_.push(...q)}for(const L of M.values())_=L(_);B(_)},triggerNodeChanges:S=>{const{onNodesChange:E,setNodes:A,nodes:_,hasDefaultNodes:z,debug:B}=w();if(S!=null&&S.length){if(z){const T=SS(S,_);A(T)}B&&console.log("React Flow: trigger node changes",S),E==null||E(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:E,setEdges:A,edges:_,hasDefaultEdges:z,debug:B}=w();if(S!=null&&S.length){if(z){const T=_S(S,_);A(T)}B&&console.log("React Flow: trigger edge changes",S),E==null||E(S)}},addSelectedNodes:S=>{const{multiSelectionActive:E,edgeLookup:A,nodeLookup:_,triggerNodeChanges:z,triggerEdgeChanges:B}=w();if(E){const T=S.map(I=>Ui(I,!0));z(T);return}z(Pl(_,new Set([...S]),!0)),B(Pl(A))},addSelectedEdges:S=>{const{multiSelectionActive:E,edgeLookup:A,nodeLookup:_,triggerNodeChanges:z,triggerEdgeChanges:B}=w();if(E){const T=S.map(I=>Ui(I,!0));B(T);return}B(Pl(A,new Set([...S]))),z(Pl(_,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:E}={})=>{const{edges:A,nodes:_,nodeLookup:z,triggerNodeChanges:B,triggerEdgeChanges:T}=w(),I=S||_,M=E||A,L=[];for(const q of I){if(!q.selected)continue;const D=z.get(q.id);D&&(D.selected=!1),L.push(Ui(q.id,!1))}const X=[];for(const q of M)q.selected&&X.push(Ui(q.id,!1));B(L),T(X)},setMinZoom:S=>{const{panZoom:E,maxZoom:A}=w();E==null||E.setScaleExtent([S,A]),v({minZoom:S})},setMaxZoom:S=>{const{panZoom:E,minZoom:A}=w();E==null||E.setScaleExtent([A,S]),v({maxZoom:S})},setTranslateExtent:S=>{var E;(E=w().panZoom)==null||E.setTranslateExtent(S),v({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:E,triggerNodeChanges:A,triggerEdgeChanges:_,elementsSelectable:z}=w();if(!z)return;const B=E.reduce((I,M)=>M.selected?[...I,Ui(M.id,!1)]:I,[]),T=S.reduce((I,M)=>M.selected?[...I,Ui(M.id,!1)]:I,[]);A(B),_(T)},setNodeExtent:S=>{const{nodes:E,nodeLookup:A,parentLookup:_,nodeOrigin:z,elevateNodesOnSelect:B,nodeExtent:T,zIndexMode:I}=w();S[0][0]===T[0][0]&&S[0][1]===T[0][1]&&S[1][0]===T[1][0]&&S[1][1]===T[1][1]||(Hp(E,A,_,{nodeOrigin:z,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:I}),v({nodeExtent:S}))},panBy:S=>{const{transform:E,width:A,height:_,panZoom:z,translateExtent:B}=w();return PA({delta:S,panZoom:z,transform:E,translateExtent:B,width:A,height:_})},setCenter:async(S,E,A)=>{const{width:_,height:z,maxZoom:B,panZoom:T}=w();if(!T)return Promise.resolve(!1);const I=typeof(A==null?void 0:A.zoom)<"u"?A.zoom:B;return await T.setViewport({x:_/2-S*I,y:z/2-E*I,zoom:I},{duration:A==null?void 0:A.duration,ease:A==null?void 0:A.ease,interpolate:A==null?void 0:A.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{v({connection:{...Yw}})},updateConnection:S=>{v({connection:S})},reset:()=>v({...Qv()})}},Object.is);function dj({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:l,initialWidth:o,initialHeight:s,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:d,fitView:h,nodeOrigin:m,nodeExtent:p,zIndexMode:y,children:v}){const[w]=G.useState(()=>fj({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:d,nodeOrigin:m,nodeExtent:p,zIndexMode:y}));return b.jsx(TT,{value:w,children:b.jsx(WT,{children:v})})}function hj({children:e,nodes:n,edges:i,defaultNodes:l,defaultEdges:o,width:s,height:u,fitView:f,fitViewOptions:d,minZoom:h,maxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v}){return G.useContext(Ec)?b.jsx(b.Fragment,{children:e}):b.jsx(dj,{initialNodes:n,initialEdges:i,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:u,fitView:f,initialFitViewOptions:d,initialMinZoom:h,initialMaxZoom:m,nodeOrigin:p,nodeExtent:y,zIndexMode:v,children:e})}const pj={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function mj({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,className:o,nodeTypes:s,edgeTypes:u,onNodeClick:f,onEdgeClick:d,onInit:h,onMove:m,onMoveStart:p,onMoveEnd:y,onConnect:v,onConnectStart:w,onConnectEnd:N,onClickConnectStart:S,onClickConnectEnd:E,onNodeMouseEnter:A,onNodeMouseMove:_,onNodeMouseLeave:z,onNodeContextMenu:B,onNodeDoubleClick:T,onNodeDragStart:I,onNodeDrag:M,onNodeDragStop:L,onNodesDelete:X,onEdgesDelete:q,onDelete:D,onSelectionChange:W,onSelectionDragStart:H,onSelectionDrag:Y,onSelectionDragStop:O,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:K,onBeforeDelete:j,connectionMode:U,connectionLineType:P=gi.Bezier,connectionLineStyle:k,connectionLineComponent:V,connectionLineContainerStyle:F,deleteKeyCode:J="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:re=!1,selectionMode:se=qo.Full,panActivationKeyCode:ge="Space",multiSelectionKeyCode:ve=Io()?"Meta":"Control",zoomActivationKeyCode:ye=Io()?"Meta":"Control",snapToGrid:he,snapGrid:_e,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Ce,nodesDraggable:ut,autoPanOnNodeFocus:et,nodesConnectable:Mt,nodesFocusable:Vt,nodeOrigin:Lt=bS,edgesFocusable:Sn,edgesReconnectable:jn,elementsSelectable:jt=!0,defaultViewport:Rr=GT,minZoom:ue=.5,maxZoom:me=2,translateExtent:Ne=Bo,preventScrolling:Le=!0,nodeExtent:Ge,defaultMarkerColor:Pt="#b1b1b7",zoomOnScroll:On=!0,zoomOnPinch:Ht=!0,panOnScroll:vt=!1,panOnScrollSpeed:Gt=.5,panOnScrollMode:Ke=Xi.Free,zoomOnDoubleClick:Xn=!0,panOnDrag:un=!0,onPaneClick:Tc,onPaneMouseEnter:el,onPaneMouseMove:tl,onPaneMouseLeave:nl,onPaneScroll:ar,onPaneContextMenu:rl,paneClickDistance:xi=1,nodeClickDistance:Mc=0,children:rs,onReconnect:pa,onReconnectStart:vi,onReconnectEnd:jc,onEdgeContextMenu:is,onEdgeDoubleClick:ls,onEdgeMouseEnter:as,onEdgeMouseMove:ma,onEdgeMouseLeave:ga,reconnectRadius:os=10,onNodesChange:ss,onEdgesChange:Pn,noDragClassName:Ot="nodrag",noWheelClassName:Yt="nowheel",noPanClassName:or="nopan",fitView:il,fitViewOptions:us,connectOnClick:Oc,attributionPosition:cs,proOptions:bi,defaultEdgeOptions:ya,elevateNodesOnSelect:Dr=!0,elevateEdgesOnSelect:Lr=!1,disableKeyboardA11y:Hr=!1,autoPanOnConnect:Br,autoPanOnNodeDrag:St,autoPanSpeed:fs,connectionRadius:ds,isValidConnection:sr,onError:qr,style:Rc,id:xa,nodeDragThreshold:hs,connectionDragThreshold:Dc,viewport:ll,onViewportChange:al,width:Rn,height:Qt,colorMode:ps="light",debug:Lc,onScroll:Ur,ariaLabelConfig:ms,zIndexMode:wi="basic",...Hc},Zt){const Si=xa||"1",gs=PT(ps),va=G.useCallback(ur=>{ur.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Ur==null||Ur(ur)},[Ur]);return b.jsx("div",{"data-testid":"rf__wrapper",...Hc,onScroll:va,style:{...Rc,...pj},ref:Zt,className:Tt(["react-flow",o,gs]),id:xa,role:"application",children:b.jsxs(hj,{nodes:e,edges:n,width:Rn,height:Qt,fitView:il,fitViewOptions:us,minZoom:ue,maxZoom:me,nodeOrigin:Lt,nodeExtent:Ge,zIndexMode:wi,children:[b.jsx(cj,{onInit:h,onNodeClick:f,onEdgeClick:d,onNodeMouseEnter:A,onNodeMouseMove:_,onNodeMouseLeave:z,onNodeContextMenu:B,onNodeDoubleClick:T,nodeTypes:s,edgeTypes:u,connectionLineType:P,connectionLineStyle:k,connectionLineComponent:V,connectionLineContainerStyle:F,selectionKeyCode:ne,selectionOnDrag:re,selectionMode:se,deleteKeyCode:J,multiSelectionKeyCode:ve,panActivationKeyCode:ge,zoomActivationKeyCode:ye,onlyRenderVisibleElements:Me,defaultViewport:Rr,translateExtent:Ne,minZoom:ue,maxZoom:me,preventScrolling:Le,zoomOnScroll:On,zoomOnPinch:Ht,zoomOnDoubleClick:Xn,panOnScroll:vt,panOnScrollSpeed:Gt,panOnScrollMode:Ke,panOnDrag:un,onPaneClick:Tc,onPaneMouseEnter:el,onPaneMouseMove:tl,onPaneMouseLeave:nl,onPaneScroll:ar,onPaneContextMenu:rl,paneClickDistance:xi,nodeClickDistance:Mc,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:K,onReconnect:pa,onReconnectStart:vi,onReconnectEnd:jc,onEdgeContextMenu:is,onEdgeDoubleClick:ls,onEdgeMouseEnter:as,onEdgeMouseMove:ma,onEdgeMouseLeave:ga,reconnectRadius:os,defaultMarkerColor:Pt,noDragClassName:Ot,noWheelClassName:Yt,noPanClassName:or,rfId:Si,disableKeyboardA11y:Hr,nodeExtent:Ge,viewport:ll,onViewportChange:al}),b.jsx(XT,{nodes:e,edges:n,defaultNodes:i,defaultEdges:l,onConnect:v,onConnectStart:w,onConnectEnd:N,onClickConnectStart:S,onClickConnectEnd:E,nodesDraggable:ut,autoPanOnNodeFocus:et,nodesConnectable:Mt,nodesFocusable:Vt,edgesFocusable:Sn,edgesReconnectable:jn,elementsSelectable:jt,elevateNodesOnSelect:Dr,elevateEdgesOnSelect:Lr,minZoom:ue,maxZoom:me,nodeExtent:Ge,onNodesChange:ss,onEdgesChange:Pn,snapToGrid:he,snapGrid:_e,connectionMode:U,translateExtent:Ne,connectOnClick:Oc,defaultEdgeOptions:ya,fitView:il,fitViewOptions:us,onNodesDelete:X,onEdgesDelete:q,onDelete:D,onNodeDragStart:I,onNodeDrag:M,onNodeDragStop:L,onSelectionDrag:Y,onSelectionDragStart:H,onSelectionDragStop:O,onMove:m,onMoveStart:p,onMoveEnd:y,noPanClassName:or,nodeOrigin:Lt,rfId:Si,autoPanOnConnect:Br,autoPanOnNodeDrag:St,autoPanSpeed:fs,onError:qr,connectionRadius:ds,isValidConnection:sr,selectNodesOnDrag:Ce,nodeDragThreshold:hs,connectionDragThreshold:Dc,onBeforeDelete:j,debug:Lc,ariaLabelConfig:ms,zIndexMode:wi}),b.jsx(VT,{onSelectionChange:W}),rs,b.jsx(HT,{proOptions:bi,position:cs}),b.jsx(LT,{rfId:Si,disableKeyboardA11y:Hr})]})})}var gj=ES(mj);const yj=e=>{var n;return(n=e.domNode)==null?void 0:n.querySelector(".react-flow__edgelabel-renderer")};function xj({children:e}){const n=Ve(yj);return n?AT.createPortal(e,n):null}function vj(e){const[n,i]=G.useState(e),l=G.useCallback(o=>i(s=>SS(o,s)),[]);return[n,i,l]}function bj(e){const[n,i]=G.useState(e),l=G.useCallback(o=>i(s=>_S(o,s)),[]);return[n,i,l]}function wj({dimensions:e,lineWidth:n,variant:i,className:l}){return b.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Tt(["react-flow__background-pattern",i,l])})}function Sj({radius:e,className:n}){return b.jsx("circle",{cx:e,cy:e,r:e,className:Tt(["react-flow__background-pattern","dots",n])})}var Mr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Mr||(Mr={}));const _j={[Mr.Dots]:1,[Mr.Lines]:1,[Mr.Cross]:6},Ej=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function FS({id:e,variant:n=Mr.Dots,gap:i=20,size:l,lineWidth:o=1,offset:s=0,color:u,bgColor:f,style:d,className:h,patternClassName:m}){const p=G.useRef(null),{transform:y,patternId:v}=Ve(Ej,pt),w=l||_j[n],N=n===Mr.Dots,S=n===Mr.Cross,E=Array.isArray(i)?i:[i,i],A=[E[0]*y[2]||1,E[1]*y[2]||1],_=w*y[2],z=Array.isArray(s)?s:[s,s],B=S?[_,_]:A,T=[z[0]*y[2]||1+B[0]/2,z[1]*y[2]||1+B[1]/2],I=`${v}${e||""}`;return b.jsxs("svg",{className:Tt(["react-flow__background",h]),style:{...d,...kc,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:p,"data-testid":"rf__background",children:[b.jsx("pattern",{id:I,x:y[0]%A[0],y:y[1]%A[1],width:A[0],height:A[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`,children:N?b.jsx(Sj,{radius:_/2,className:m}):b.jsx(wj,{dimensions:B,lineWidth:o,variant:n,className:m})}),b.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${I})`})]})}FS.displayName="Background";const Nj=G.memo(FS);function kj(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:b.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Cj(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:b.jsx("path",{d:"M0 0h32v4.2H0z"})})}function zj(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:b.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function Aj(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function Tj(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Lu({children:e,className:n,...i}){return b.jsx("button",{type:"button",className:Tt(["react-flow__controls-button",n]),...i,children:e})}const Mj=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function QS({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:s,onZoomOut:u,onFitView:f,onInteractiveChange:d,className:h,children:m,position:p="bottom-left",orientation:y="vertical","aria-label":v}){const w=mt(),{isInteractive:N,minZoomReached:S,maxZoomReached:E,ariaLabelConfig:A}=Ve(Mj,pt),{zoomIn:_,zoomOut:z,fitView:B}=Wo(),T=()=>{_(),s==null||s()},I=()=>{z(),u==null||u()},M=()=>{B(o),f==null||f()},L=()=>{w.setState({nodesDraggable:!N,nodesConnectable:!N,elementsSelectable:!N}),d==null||d(!N)},X=y==="horizontal"?"horizontal":"vertical";return b.jsxs(Nc,{className:Tt(["react-flow__controls",X,h]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??A["controls.ariaLabel"],children:[n&&b.jsxs(b.Fragment,{children:[b.jsx(Lu,{onClick:T,className:"react-flow__controls-zoomin",title:A["controls.zoomIn.ariaLabel"],"aria-label":A["controls.zoomIn.ariaLabel"],disabled:E,children:b.jsx(kj,{})}),b.jsx(Lu,{onClick:I,className:"react-flow__controls-zoomout",title:A["controls.zoomOut.ariaLabel"],"aria-label":A["controls.zoomOut.ariaLabel"],disabled:S,children:b.jsx(Cj,{})})]}),i&&b.jsx(Lu,{className:"react-flow__controls-fitview",onClick:M,title:A["controls.fitView.ariaLabel"],"aria-label":A["controls.fitView.ariaLabel"],children:b.jsx(zj,{})}),l&&b.jsx(Lu,{className:"react-flow__controls-interactive",onClick:L,title:A["controls.interactive.ariaLabel"],"aria-label":A["controls.interactive.ariaLabel"],children:N?b.jsx(Tj,{}):b.jsx(Aj,{})}),m]})}QS.displayName="Controls";const jj=G.memo(QS);function Oj({id:e,x:n,y:i,width:l,height:o,style:s,color:u,strokeColor:f,strokeWidth:d,className:h,borderRadius:m,shapeRendering:p,selected:y,onClick:v}){const{background:w,backgroundColor:N}=s||{},S=u||w||N;return b.jsx("rect",{className:Tt(["react-flow__minimap-node",{selected:y},h]),x:n,y:i,rx:m,ry:m,width:l,height:o,style:{fill:S,stroke:f,strokeWidth:d},shapeRendering:p,onClick:v?E=>v(E,e):void 0})}const Rj=G.memo(Oj),Dj=e=>e.nodes.map(n=>n.id),hh=e=>e instanceof Function?e:()=>e;function Lj({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:s=Rj,onClick:u}){const f=Ve(Dj,pt),d=hh(n),h=hh(e),m=hh(i),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return b.jsx(b.Fragment,{children:f.map(y=>b.jsx(Bj,{id:y,nodeColorFunc:d,nodeStrokeColorFunc:h,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:s,onClick:u,shapeRendering:p},y))})}function Hj({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:s,shapeRendering:u,NodeComponent:f,onClick:d}){const{node:h,x:m,y:p,width:y,height:v}=Ve(w=>{const N=w.nodeLookup.get(e);if(!N)return{node:void 0,x:0,y:0,width:0,height:0};const S=N.internals.userNode,{x:E,y:A}=N.internals.positionAbsolute,{width:_,height:z}=Or(S);return{node:S,x:E,y:A,width:_,height:z}},pt);return!h||h.hidden||!Kw(h)?null:b.jsx(f,{x:m,y:p,width:y,height:v,style:h.style,selected:!!h.selected,className:l(h),color:n(h),borderRadius:o,strokeColor:i(h),strokeWidth:s,shapeRendering:u,onClick:d,id:h.id})}const Bj=G.memo(Hj);var qj=G.memo(Lj);const Uj=200,Ij=150,Vj=e=>!e.hidden,Gj=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?Zw(Zo(e.nodeLookup,{filter:Vj}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Yj="react-flow__minimap-desc";function ZS({style:e,className:n,nodeStrokeColor:i,nodeColor:l,nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:d,maskColor:h,maskStrokeColor:m,maskStrokeWidth:p,position:y="bottom-right",onClick:v,onNodeClick:w,pannable:N=!1,zoomable:S=!1,ariaLabel:E,inversePan:A,zoomStep:_=1,offsetScale:z=5}){const B=mt(),T=G.useRef(null),{boundingRect:I,viewBB:M,rfId:L,panZoom:X,translateExtent:q,flowWidth:D,flowHeight:W,ariaLabelConfig:H}=Ve(Gj,pt),Y=(e==null?void 0:e.width)??Uj,O=(e==null?void 0:e.height)??Ij,$=I.width/Y,Z=I.height/O,K=Math.max($,Z),j=K*Y,U=K*O,P=z*K,k=I.x-(j-I.width)/2-P,V=I.y-(U-I.height)/2-P,F=j+P*2,J=U+P*2,ne=`${Yj}-${L}`,re=G.useRef(0),se=G.useRef();re.current=K,G.useEffect(()=>{if(T.current&&X)return se.current=nT({domNode:T.current,panZoom:X,getTransform:()=>B.getState().transform,getViewScale:()=>re.current}),()=>{var he;(he=se.current)==null||he.destroy()}},[X]),G.useEffect(()=>{var he;(he=se.current)==null||he.update({translateExtent:q,width:D,height:W,inversePan:A,pannable:N,zoomStep:_,zoomable:S})},[N,S,A,_,q,D,W]);const ge=v?he=>{var Ce;const[_e,Me]=((Ce=se.current)==null?void 0:Ce.pointer(he))||[0,0];v(he,{x:_e,y:Me})}:void 0,ve=w?G.useCallback((he,_e)=>{const Me=B.getState().nodeLookup.get(_e).internals.userNode;w(he,Me)},[]):void 0,ye=E??H["minimap.ariaLabel"];return b.jsx(Nc,{position:y,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*K:void 0,"--xy-minimap-node-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-node-stroke-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-width-props":typeof u=="number"?u:void 0},className:Tt(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:b.jsxs("svg",{width:Y,height:O,viewBox:`${k} ${V} ${F} ${J}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:T,onClick:ge,children:[ye&&b.jsx("title",{id:ne,children:ye}),b.jsx(qj,{onClick:ve,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),b.jsx("path",{className:"react-flow__minimap-mask",d:`M${k-P},${V-P}h${F+P*2}v${J+P*2}h${-F-P*2}z - M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}ZS.displayName="MiniMap";const $j=G.memo(ZS),Xj=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,Pj={[sa.Line]:"right",[sa.Handle]:"bottom-right"};function Fj({nodeId:e,position:n,variant:i=sa.Handle,className:l,style:o=void 0,children:s,color:u,minWidth:f=10,minHeight:d=10,maxWidth:h=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:y,autoScale:v=!0,shouldResize:w,onResizeStart:N,onResize:S,onResizeEnd:E}){const A=zS(),_=typeof e=="string"?e:A,z=mt(),B=G.useRef(null),T=i===sa.Handle,I=Ve(G.useCallback(Xj(T&&v),[T,v]),pt),M=G.useRef(null),L=n??Pj[i];G.useEffect(()=>{if(!(!B.current||!_))return M.current||(M.current=gT({domNode:B.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:q,transform:D,snapGrid:W,snapToGrid:H,nodeOrigin:Y,domNode:O}=z.getState();return{nodeLookup:q,transform:D,snapGrid:W,snapToGrid:H,nodeOrigin:Y,paneDomNode:O}},onChange:(q,D)=>{const{triggerNodeChanges:W,nodeLookup:H,parentLookup:Y,nodeOrigin:O}=z.getState(),$=[],Z={x:q.x,y:q.y},K=H.get(_);if(K&&K.expandParent&&K.parentId){const j=K.origin??O,U=q.width??K.measured.width??0,P=q.height??K.measured.height??0,k={id:K.id,parentId:K.parentId,rect:{width:U,height:P,...Jw({x:q.x??K.position.x,y:q.y??K.position.y},{width:U,height:P},K.parentId,H,j)}},V=ym([k],H,Y,O);$.push(...V),Z.x=q.x?Math.max(j[0]*U,q.x):void 0,Z.y=q.y?Math.max(j[1]*P,q.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const j={id:_,type:"position",position:{...Z}};$.push(j)}if(q.width!==void 0&&q.height!==void 0){const U={id:_,type:"dimensions",resizing:!0,setAttributes:y?y==="horizontal"?"width":"height":!0,dimensions:{width:q.width,height:q.height}};$.push(U)}for(const j of D){const U={...j,type:"position"};$.push(U)}W($)},onEnd:({width:q,height:D})=>{const W={id:_,type:"dimensions",resizing:!1,dimensions:{width:q,height:D}};z.getState().triggerNodeChanges([W])}})),M.current.update({controlPosition:L,boundaries:{minWidth:f,minHeight:d,maxWidth:h,maxHeight:m},keepAspectRatio:p,resizeDirection:y,onResizeStart:N,onResize:S,onResizeEnd:E,shouldResize:w}),()=>{var q;(q=M.current)==null||q.destroy()}},[L,f,d,h,m,p,N,S,E,w]);const X=L.split("-");return b.jsx("div",{className:Tt(["react-flow__resize-control","nodrag",...X,i,l]),ref:B,style:{...o,scale:I,...u&&{[T?"backgroundColor":"borderColor"]:u}},children:s})}G.memo(Fj);var ph,Zv;function vm(){if(Zv)return ph;Zv=1;var e="\0",n="\0",i="";class l{constructor(m){Ct(this,"_isDirected",!0);Ct(this,"_isMultigraph",!1);Ct(this,"_isCompound",!1);Ct(this,"_label");Ct(this,"_defaultNodeLabelFn",()=>{});Ct(this,"_defaultEdgeLabelFn",()=>{});Ct(this,"_nodes",{});Ct(this,"_in",{});Ct(this,"_preds",{});Ct(this,"_out",{});Ct(this,"_sucs",{});Ct(this,"_edgeObjs",{});Ct(this,"_edgeLabels",{});Ct(this,"_nodeCount",0);Ct(this,"_edgeCount",0);Ct(this,"_parent");Ct(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[n]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var y=arguments,v=this;return m.forEach(function(w){y.length>1?v.setNode(w,p):v.setNode(w)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=n,this._children[m]={},this._children[n][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var y=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(y),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(y),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=n;else{p+="";for(var y=p;y!==void 0;y=this.parent(y))if(y===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==n)return p}}children(m=n){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===n)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var y of this.successors(m))v.add(y);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var y=this;Object.entries(this._nodes).forEach(function([N,S]){m(N)&&p.setNode(N,S)}),Object.values(this._edgeObjs).forEach(function(N){p.hasNode(N.v)&&p.hasNode(N.w)&&p.setEdge(N,y.edge(N))});var v={};function w(N){var S=y.parent(N);return S===void 0||p.hasNode(S)?(v[N]=S,S):S in v?v[S]:w(S)}return this._isCompound&&p.nodes().forEach(N=>p.setParent(N,w(N))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var y=this,v=arguments;return m.reduce(function(w,N){return v.length>1?y.setEdge(w,N,p):y.setEdge(w,N),N}),this}setEdge(){var m,p,y,v,w=!1,N=arguments[0];typeof N=="object"&&N!==null&&"v"in N?(m=N.v,p=N.w,y=N.name,arguments.length===2&&(v=arguments[1],w=!0)):(m=N,p=arguments[1],y=arguments[3],arguments.length>2&&(v=arguments[2],w=!0)),m=""+m,p=""+p,y!==void 0&&(y=""+y);var S=u(this._isDirected,m,p,y);if(Object.hasOwn(this._edgeLabels,S))return w&&(this._edgeLabels[S]=v),this;if(y!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[S]=w?v:this._defaultEdgeLabelFn(m,p,y);var E=f(this._isDirected,m,p,y);return m=E.v,p=E.w,Object.freeze(E),this._edgeObjs[S]=E,o(this._preds[p],m),o(this._sucs[m],p),this._in[p][S]=E,this._out[m][S]=E,this._edgeCount++,this}edge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,y){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,y),w=this._edgeObjs[v];return w&&(m=w.v,p=w.w,delete this._edgeLabels[v],delete this._edgeObjs[v],s(this._preds[p],m),s(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var y=this._in[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.v===p):v}}outEdges(m,p){var y=this._out[m];if(y){var v=Object.values(y);return p?v.filter(w=>w.w===p):v}}nodeEdges(m,p){var y=this.inEdges(m,p);if(y)return y.concat(this.outEdges(m,p))}}function o(h,m){h[m]?h[m]++:h[m]=1}function s(h,m){--h[m]||delete h[m]}function u(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var N=v;v=w,w=N}return v+i+w+i+(y===void 0?e:y)}function f(h,m,p,y){var v=""+m,w=""+p;if(!h&&v>w){var N=v;v=w,w=N}var S={v,w};return y&&(S.name=y),S}function d(h,m){return u(h,m.v,m.w,m.name)}return ph=l,ph}var mh,Kv;function Qj(){return Kv||(Kv=1,mh="2.2.4"),mh}var gh,Jv;function Zj(){return Jv||(Jv=1,gh={Graph:vm(),version:Qj()}),gh}var yh,Wv;function Kj(){if(Wv)return yh;Wv=1;var e=vm();yh={write:n,read:o};function n(s){var u={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:l(s)};return s.graph()!==void 0&&(u.value=structuredClone(s.graph())),u}function i(s){return s.nodes().map(function(u){var f=s.node(u),d=s.parent(u),h={v:u};return f!==void 0&&(h.value=f),d!==void 0&&(h.parent=d),h})}function l(s){return s.edges().map(function(u){var f=s.edge(u),d={v:u.v,w:u.w};return u.name!==void 0&&(d.name=u.name),f!==void 0&&(d.value=f),d})}function o(s){var u=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),s.edges.forEach(function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return yh}var xh,eb;function Jj(){if(eb)return xh;eb=1,xh=e;function e(n){var i={},l=[],o;function s(u){Object.hasOwn(i,u)||(i[u]=!0,o.push(u),n.successors(u).forEach(s),n.predecessors(u).forEach(s))}return n.nodes().forEach(function(u){o=[],s(u),o.length&&l.push(o)}),l}return xh}var vh,tb;function KS(){if(tb)return vh;tb=1;class e{constructor(){Ct(this,"_arr",[]);Ct(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(i){return i.key})}has(i){return Object.hasOwn(this._keyIndices,i)}priority(i){var l=this._keyIndices[i];if(l!==void 0)return this._arr[l].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(i,l){var o=this._keyIndices;if(i=String(i),!Object.hasOwn(o,i)){var s=this._arr,u=s.length;return o[i]=u,s.push({key:i,priority:l}),this._decrease(u),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key}decrease(i,l){var o=this._keyIndices[i];if(l>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+l);this._arr[o].priority=l,this._decrease(o)}_heapify(i){var l=this._arr,o=2*i,s=o+1,u=i;o>1,!(l[s].priority1;function i(o,s,u,f){return l(o,String(s),u||n,f||function(d){return o.outEdges(d)})}function l(o,s,u,f){var d={},h=new e,m,p,y=function(v){var w=v.v!==m?v.v:v.w,N=d[w],S=u(v),E=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);E0&&(m=h.removeMin(),p=d[m],p.distance!==Number.POSITIVE_INFINITY);)f(m).forEach(y);return d}return bh}var wh,rb;function Wj(){if(rb)return wh;rb=1;var e=JS();wh=n;function n(i,l,o){return i.nodes().reduce(function(s,u){return s[u]=e(i,u,l,o),s},{})}return wh}var Sh,ib;function WS(){if(ib)return Sh;ib=1,Sh=e;function e(n){var i=0,l=[],o={},s=[];function u(f){var d=o[f]={onStack:!0,lowlink:i,index:i++};if(l.push(f),n.successors(f).forEach(function(p){Object.hasOwn(o,p)?o[p].onStack&&(d.lowlink=Math.min(d.lowlink,o[p].index)):(u(p),d.lowlink=Math.min(d.lowlink,o[p].lowlink))}),d.lowlink===d.index){var h=[],m;do m=l.pop(),o[m].onStack=!1,h.push(m);while(f!==m);s.push(h)}}return n.nodes().forEach(function(f){Object.hasOwn(o,f)||u(f)}),s}return Sh}var _h,lb;function e4(){if(lb)return _h;lb=1;var e=WS();_h=n;function n(i){return e(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}return _h}var Eh,ab;function t4(){if(ab)return Eh;ab=1,Eh=n;var e=()=>1;function n(l,o,s){return i(l,o||e,s||function(u){return l.outEdges(u)})}function i(l,o,s){var u={},f=l.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),s(d).forEach(function(h){var m=h.v===d?h.w:h.v,p=o(h);u[d][m]={distance:p,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(m){var p=u[m];f.forEach(function(y){var v=p[d],w=h[y],N=p[y],S=v.distance+w.distance;So.successors(p):p=>o.neighbors(p),d=u==="post"?n:i,h=[],m={};return s.forEach(p=>{if(!o.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,f,m,h)}),h}function n(o,s,u,f){for(var d=[[o,!1]];d.length>0;){var h=d.pop();h[1]?f.push(h[0]):Object.hasOwn(u,h[0])||(u[h[0]]=!0,d.push([h[0],!0]),l(s(h[0]),m=>d.push([m,!1])))}}function i(o,s,u,f){for(var d=[o];d.length>0;){var h=d.pop();Object.hasOwn(u,h)||(u[h]=!0,f.push(h),l(s(h),m=>d.push(m)))}}function l(o,s){for(var u=o.length;u--;)s(o[u],u,o);return o}return Ch}var zh,cb;function r4(){if(cb)return zh;cb=1;var e=t_();zh=n;function n(i,l){return e(i,l,"post")}return zh}var Ah,fb;function i4(){if(fb)return Ah;fb=1;var e=t_();Ah=n;function n(i,l){return e(i,l,"pre")}return Ah}var Th,db;function l4(){if(db)return Th;db=1;var e=vm(),n=KS();Th=i;function i(l,o){var s=new e,u={},f=new n,d;function h(p){var y=p.v===d?p.w:p.v,v=f.priority(y);if(v!==void 0){var w=o(p);w0;){if(d=f.removeMin(),Object.hasOwn(u,d))s.setEdge(d,u[d]);else{if(m)throw new Error("Input graph is not connected: "+l);m=!0}l.nodeEdges(d).forEach(h)}return s}return Th}var Mh,hb;function a4(){return hb||(hb=1,Mh={components:Jj(),dijkstra:JS(),dijkstraAll:Wj(),findCycles:e4(),floydWarshall:t4(),isAcyclic:n4(),postorder:r4(),preorder:i4(),prim:l4(),tarjan:WS(),topsort:e_()}),Mh}var jh,pb;function Yn(){if(pb)return jh;pb=1;var e=Zj();return jh={Graph:e.Graph,json:Kj(),alg:a4(),version:e.version},jh}var Oh,mb;function o4(){if(mb)return Oh;mb=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,s=o._prev;if(s!==o)return n(s),s}enqueue(o){let s=this._sentinel;o._prev&&o._next&&n(o),o._next=s._next,s._next._prev=o,s._next=o,o._prev=s}toString(){let o=[],s=this._sentinel,u=s._prev;for(;u!==s;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"}}function n(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,o){if(l!=="_next"&&l!=="_prev")return o}return Oh=e,Oh}var Rh,gb;function s4(){if(gb)return Rh;gb=1;let e=Yn().Graph,n=o4();Rh=l;let i=()=>1;function l(h,m){if(h.nodeCount()<=1)return[];let p=u(h,m||i);return o(p.graph,p.buckets,p.zeroIdx).flatMap(v=>h.outEdges(v.v,v.w))}function o(h,m,p){let y=[],v=m[m.length-1],w=m[0],N;for(;h.nodeCount();){for(;N=w.dequeue();)s(h,m,p,N);for(;N=v.dequeue();)s(h,m,p,N);if(h.nodeCount()){for(let S=m.length-2;S>0;--S)if(N=m[S].dequeue(),N){y=y.concat(s(h,m,p,N,!0));break}}}return y}function s(h,m,p,y,v){let w=v?[]:void 0;return h.inEdges(y.v).forEach(N=>{let S=h.edge(N),E=h.node(N.v);v&&w.push({v:N.v,w:N.w}),E.out-=S,f(m,p,E)}),h.outEdges(y.v).forEach(N=>{let S=h.edge(N),E=N.w,A=h.node(E);A.in-=S,f(m,p,A)}),h.removeNode(y.v),w}function u(h,m){let p=new e,y=0,v=0;h.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),h.edges().forEach(S=>{let E=p.edge(S.v,S.w)||0,A=m(S),_=E+A;p.setEdge(S.v,S.w,_),v=Math.max(v,p.node(S.v).out+=A),y=Math.max(y,p.node(S.w).in+=A)});let w=d(v+y+3).map(()=>new n),N=y+1;return p.nodes().forEach(S=>{f(w,N,p.node(S))}),{graph:p,buckets:w,zeroIdx:N}}function f(h,m,p){p.out?p.in?h[p.out-p.in+m].enqueue(p):h[h.length-1].enqueue(p):h[0].enqueue(p)}function d(h){const m=[];for(let p=0;pL.setNode(X,M.node(X))),M.edges().forEach(X=>{let q=L.edge(X.v,X.w)||{weight:0,minlen:1},D=M.edge(X);L.setEdge(X.v,X.w,{weight:q.weight+D.weight,minlen:Math.max(q.minlen,D.minlen)})}),L}function l(M){let L=new e({multigraph:M.isMultigraph()}).setGraph(M.graph());return M.nodes().forEach(X=>{M.children(X).length||L.setNode(X,M.node(X))}),M.edges().forEach(X=>{L.setEdge(X,M.edge(X))}),L}function o(M){let L=M.nodes().map(X=>{let q={};return M.outEdges(X).forEach(D=>{q[D.w]=(q[D.w]||0)+M.edge(D).weight}),q});return I(M.nodes(),L)}function s(M){let L=M.nodes().map(X=>{let q={};return M.inEdges(X).forEach(D=>{q[D.v]=(q[D.v]||0)+M.edge(D).weight}),q});return I(M.nodes(),L)}function u(M,L){let X=M.x,q=M.y,D=L.x-X,W=L.y-q,H=M.width/2,Y=M.height/2;if(!D&&!W)throw new Error("Not possible to find intersection inside of the rectangle");let O,$;return Math.abs(W)*H>Math.abs(D)*Y?(W<0&&(Y=-Y),O=Y*D/W,$=Y):(D<0&&(H=-H),O=H,$=H*W/D),{x:X+O,y:q+$}}function f(M){let L=z(w(M)+1).map(()=>[]);return M.nodes().forEach(X=>{let q=M.node(X),D=q.rank;D!==void 0&&(L[D][q.order]=X)}),L}function d(M){let L=M.nodes().map(q=>{let D=M.node(q).rank;return D===void 0?Number.MAX_VALUE:D}),X=v(Math.min,L);M.nodes().forEach(q=>{let D=M.node(q);Object.hasOwn(D,"rank")&&(D.rank-=X)})}function h(M){let L=M.nodes().map(H=>M.node(H).rank),X=v(Math.min,L),q=[];M.nodes().forEach(H=>{let Y=M.node(H).rank-X;q[Y]||(q[Y]=[]),q[Y].push(H)});let D=0,W=M.graph().nodeRankFactor;Array.from(q).forEach((H,Y)=>{H===void 0&&Y%W!==0?--D:H!==void 0&&D&&H.forEach(O=>M.node(O).rank+=D)})}function m(M,L,X,q){let D={width:0,height:0};return arguments.length>=4&&(D.rank=X,D.order=q),n(M,"border",D,L)}function p(M,L=y){const X=[];for(let q=0;qy){const X=p(L);return M.apply(null,X.map(q=>M.apply(null,q)))}else return M.apply(null,L)}function w(M){const X=M.nodes().map(q=>{let D=M.node(q).rank;return D===void 0?Number.MIN_VALUE:D});return v(Math.max,X)}function N(M,L){let X={lhs:[],rhs:[]};return M.forEach(q=>{L(q)?X.lhs.push(q):X.rhs.push(q)}),X}function S(M,L){let X=Date.now();try{return L()}finally{console.log(M+" time: "+(Date.now()-X)+"ms")}}function E(M,L){return L()}let A=0;function _(M){var L=++A;return M+(""+L)}function z(M,L,X=1){L==null&&(L=M,M=0);let q=W=>WLq[L]),Object.entries(M).reduce((q,[D,W])=>(q[D]=X(W,D),q),{})}function I(M,L){return M.reduce((X,q,D)=>(X[q]=L[D],X),{})}return Dh}var Lh,xb;function u4(){if(xb)return Lh;xb=1;let e=s4(),n=At().uniqueId;Lh={run:i,undo:o};function i(s){(s.graph().acyclicer==="greedy"?e(s,f(s)):l(s)).forEach(d=>{let h=s.edge(d);s.removeEdge(d),h.forwardName=d.name,h.reversed=!0,s.setEdge(d.w,d.v,h,n("rev"))});function f(d){return h=>d.edge(h).weight}}function l(s){let u=[],f={},d={};function h(m){Object.hasOwn(d,m)||(d[m]=!0,f[m]=!0,s.outEdges(m).forEach(p=>{Object.hasOwn(f,p.w)?u.push(p):h(p.w)}),delete f[m])}return s.nodes().forEach(h),u}function o(s){s.edges().forEach(u=>{let f=s.edge(u);if(f.reversed){s.removeEdge(u);let d=f.forwardName;delete f.reversed,delete f.forwardName,s.setEdge(u.w,u.v,f,d)}})}return Lh}var Hh,vb;function c4(){if(vb)return Hh;vb=1;let e=At();Hh={run:n,undo:l};function n(o){o.graph().dummyChains=[],o.edges().forEach(s=>i(o,s))}function i(o,s){let u=s.v,f=o.node(u).rank,d=s.w,h=o.node(d).rank,m=s.name,p=o.edge(s),y=p.labelRank;if(h===f+1)return;o.removeEdge(s);let v,w,N;for(N=0,++f;f{let u=o.node(s),f=u.edgeLabel,d;for(o.setEdge(u.edgeObj,f);u.dummy;)d=o.successors(s)[0],o.removeNode(s),f.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(f.x=u.x,f.y=u.y,f.width=u.width,f.height=u.height),s=d,u=o.node(s)})}return Hh}var Bh,bb;function sc(){if(bb)return Bh;bb=1;const{applyWithChunking:e}=At();Bh={longestPath:n,slack:i};function n(l){var o={};function s(u){var f=l.node(u);if(Object.hasOwn(o,u))return f.rank;o[u]=!0;let d=l.outEdges(u).map(m=>m==null?Number.POSITIVE_INFINITY:s(m.w)-l.edge(m).minlen);var h=e(Math.min,d);return h===Number.POSITIVE_INFINITY&&(h=0),f.rank=h}l.sources().forEach(s)}function i(l,o){return l.node(o.w).rank-l.node(o.v).rank-l.edge(o).minlen}return Bh}var qh,wb;function n_(){if(wb)return qh;wb=1;var e=Yn().Graph,n=sc().slack;qh=i;function i(u){var f=new e({directed:!1}),d=u.nodes()[0],h=u.nodeCount();f.setNode(d,{});for(var m,p;l(f,u){var p=m.v,y=h===p?m.w:p;!u.hasNode(y)&&!n(f,m)&&(u.setNode(y,{}),u.setEdge(h,y,{}),d(y))})}return u.nodes().forEach(d),u.nodeCount()}function o(u,f){return f.edges().reduce((h,m)=>{let p=Number.POSITIVE_INFINITY;return u.hasNode(m.v)!==u.hasNode(m.w)&&(p=n(f,m)),pf.node(h).rank+=d)}return qh}var Uh,Sb;function f4(){if(Sb)return Uh;Sb=1;var e=n_(),n=sc().slack,i=sc().longestPath,l=Yn().alg.preorder,o=Yn().alg.postorder,s=At().simplify;Uh=u,u.initLowLimValues=m,u.initCutValues=f,u.calcCutValue=h,u.leaveEdge=y,u.enterEdge=v,u.exchangeEdges=w;function u(A){A=s(A),i(A);var _=e(A);m(_),f(_,A);for(var z,B;z=y(_);)B=v(_,A,z),w(_,A,z,B)}function f(A,_){var z=o(A,A.nodes());z=z.slice(0,z.length-1),z.forEach(B=>d(A,_,B))}function d(A,_,z){var B=A.node(z),T=B.parent;A.edge(z,T).cutvalue=h(A,_,z)}function h(A,_,z){var B=A.node(z),T=B.parent,I=!0,M=_.edge(z,T),L=0;return M||(I=!1,M=_.edge(T,z)),L=M.weight,_.nodeEdges(z).forEach(X=>{var q=X.v===z,D=q?X.w:X.v;if(D!==T){var W=q===I,H=_.edge(X).weight;if(L+=W?H:-H,S(A,z,D)){var Y=A.edge(z,D).cutvalue;L+=W?-Y:Y}}}),L}function m(A,_){arguments.length<2&&(_=A.nodes()[0]),p(A,{},1,_)}function p(A,_,z,B,T){var I=z,M=A.node(B);return _[B]=!0,A.neighbors(B).forEach(L=>{Object.hasOwn(_,L)||(z=p(A,_,z,L,B))}),M.low=I,M.lim=z++,T?M.parent=T:delete M.parent,z}function y(A){return A.edges().find(_=>A.edge(_).cutvalue<0)}function v(A,_,z){var B=z.v,T=z.w;_.hasEdge(B,T)||(B=z.w,T=z.v);var I=A.node(B),M=A.node(T),L=I,X=!1;I.lim>M.lim&&(L=M,X=!0);var q=_.edges().filter(D=>X===E(A,A.node(D.v),L)&&X!==E(A,A.node(D.w),L));return q.reduce((D,W)=>n(_,W)!_.node(T).parent),B=l(A,z);B=B.slice(1),B.forEach(T=>{var I=A.node(T).parent,M=_.edge(T,I),L=!1;M||(M=_.edge(I,T),L=!0),_.node(T).rank=_.node(I).rank+(L?M.minlen:-M.minlen)})}function S(A,_,z){return A.hasEdge(_,z)}function E(A,_,z){return z.low<=_.lim&&_.lim<=z.lim}return Uh}var Ih,_b;function d4(){if(_b)return Ih;_b=1;var e=sc(),n=e.longestPath,i=n_(),l=f4();Ih=o;function o(d){var h=d.graph().ranker;if(h instanceof Function)return h(d);switch(d.graph().ranker){case"network-simplex":f(d);break;case"tight-tree":u(d);break;case"longest-path":s(d);break;case"none":break;default:f(d)}}var s=n;function u(d){n(d),i(d)}function f(d){l(d)}return Ih}var Vh,Eb;function h4(){if(Eb)return Vh;Eb=1,Vh=e;function e(l){let o=i(l);l.graph().dummyChains.forEach(s=>{let u=l.node(s),f=u.edgeObj,d=n(l,o,f.v,f.w),h=d.path,m=d.lca,p=0,y=h[p],v=!0;for(;s!==f.w;){if(u=l.node(s),v){for(;(y=h[p])!==m&&l.node(y).maxRankh||m>o[p].lim));for(y=p,p=u;(p=l.parent(p))!==y;)d.push(p);return{path:f.concat(d.reverse()),lca:y}}function i(l){let o={},s=0;function u(f){let d=s;l.children(f).forEach(u),o[f]={low:d,lim:s++}}return l.children().forEach(u),o}return Vh}var Gh,Nb;function p4(){if(Nb)return Gh;Nb=1;let e=At();Gh={run:n,cleanup:s};function n(u){let f=e.addDummyNode(u,"root",{},"_root"),d=l(u),h=Object.values(d),m=e.applyWithChunking(Math.max,h)-1,p=2*m+1;u.graph().nestingRoot=f,u.edges().forEach(v=>u.edge(v).minlen*=p);let y=o(u)+1;u.children().forEach(v=>i(u,f,p,y,m,d,v)),u.graph().nodeRankFactor=p}function i(u,f,d,h,m,p,y){let v=u.children(y);if(!v.length){y!==f&&u.setEdge(f,y,{weight:0,minlen:d});return}let w=e.addBorderNode(u,"_bt"),N=e.addBorderNode(u,"_bb"),S=u.node(y);u.setParent(w,y),S.borderTop=w,u.setParent(N,y),S.borderBottom=N,v.forEach(E=>{i(u,f,d,h,m,p,E);let A=u.node(E),_=A.borderTop?A.borderTop:E,z=A.borderBottom?A.borderBottom:E,B=A.borderTop?h:2*h,T=_!==z?1:m-p[y]+1;u.setEdge(w,_,{weight:B,minlen:T,nestingEdge:!0}),u.setEdge(z,N,{weight:B,minlen:T,nestingEdge:!0})}),u.parent(y)||u.setEdge(f,w,{weight:0,minlen:m+p[y]})}function l(u){var f={};function d(h,m){var p=u.children(h);p&&p.length&&p.forEach(y=>d(y,m+1)),f[h]=m}return u.children().forEach(h=>d(h,1)),f}function o(u){return u.edges().reduce((f,d)=>f+u.edge(d).weight,0)}function s(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,u.edges().forEach(d=>{var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Gh}var Yh,kb;function m4(){if(kb)return Yh;kb=1;let e=At();Yh=n;function n(l){function o(s){let u=l.children(s),f=l.node(s);if(u.length&&u.forEach(o),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let d=f.minRank,h=f.maxRank+1;dl(d.node(h))),d.edges().forEach(h=>l(d.edge(h)))}function l(d){let h=d.width;d.width=d.height,d.height=h}function o(d){d.nodes().forEach(h=>s(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(s),Object.hasOwn(m,"y")&&s(m)})}function s(d){d.y=-d.y}function u(d){d.nodes().forEach(h=>f(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(f),Object.hasOwn(m,"x")&&f(m)})}function f(d){let h=d.x;d.x=d.y,d.y=h}return $h}var Xh,zb;function y4(){if(zb)return Xh;zb=1;let e=At();Xh=n;function n(i){let l={},o=i.nodes().filter(m=>!i.children(m).length),s=o.map(m=>i.node(m).rank),u=e.applyWithChunking(Math.max,s),f=e.range(u+1).map(()=>[]);function d(m){if(l[m])return;l[m]=!0;let p=i.node(m);f[p.rank].push(m),i.successors(m).forEach(d)}return o.sort((m,p)=>i.node(m).rank-i.node(p).rank).forEach(d),f}return Xh}var Ph,Ab;function x4(){if(Ab)return Ph;Ab=1;let e=At().zipObject;Ph=n;function n(l,o){let s=0;for(let u=1;uv)),f=o.flatMap(y=>l.outEdges(y).map(v=>({pos:u[v.w],weight:l.edge(v).weight})).sort((v,w)=>v.pos-w.pos)),d=1;for(;d{let v=y.pos+d;m[v]+=y.weight;let w=0;for(;v>0;)v%2&&(w+=m[v+1]),v=v-1>>1,m[v]+=y.weight;p+=y.weight*w}),p}return Ph}var Fh,Tb;function v4(){if(Tb)return Fh;Tb=1,Fh=e;function e(n,i=[]){return i.map(l=>{let o=n.inEdges(l);if(o.length){let s=o.reduce((u,f)=>{let d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:l,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:l}})}return Fh}var Qh,Mb;function b4(){if(Mb)return Qh;Mb=1;let e=At();Qh=n;function n(o,s){let u={};o.forEach((d,h)=>{let m=u[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};d.barycenter!==void 0&&(m.barycenter=d.barycenter,m.weight=d.weight)}),s.edges().forEach(d=>{let h=u[d.v],m=u[d.w];h!==void 0&&m!==void 0&&(m.indegree++,h.out.push(u[d.w]))});let f=Object.values(u).filter(d=>!d.indegree);return i(f)}function i(o){let s=[];function u(d){return h=>{h.merged||(h.barycenter===void 0||d.barycenter===void 0||h.barycenter>=d.barycenter)&&l(d,h)}}function f(d){return h=>{h.in.push(d),--h.indegree===0&&o.push(h)}}for(;o.length;){let d=o.pop();s.push(d),d.in.reverse().forEach(u(d)),d.out.forEach(f(d))}return s.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function l(o,s){let u=0,f=0;o.weight&&(u+=o.barycenter*o.weight,f+=o.weight),s.weight&&(u+=s.barycenter*s.weight,f+=s.weight),o.vs=s.vs.concat(o.vs),o.barycenter=u/f,o.weight=f,o.i=Math.min(s.i,o.i),s.merged=!0}return Qh}var Zh,jb;function w4(){if(jb)return Zh;jb=1;let e=At();Zh=n;function n(o,s){let u=e.partition(o,w=>Object.hasOwn(w,"barycenter")),f=u.lhs,d=u.rhs.sort((w,N)=>N.i-w.i),h=[],m=0,p=0,y=0;f.sort(l(!!s)),y=i(h,d,y),f.forEach(w=>{y+=w.vs.length,h.push(w.vs),m+=w.barycenter*w.weight,p+=w.weight,y=i(h,d,y)});let v={vs:h.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function i(o,s,u){let f;for(;s.length&&(f=s[s.length-1]).i<=u;)s.pop(),o.push(f.vs),u++;return u}function l(o){return(s,u)=>s.barycenteru.barycenter?1:o?u.i-s.i:s.i-u.i}return Zh}var Kh,Ob;function S4(){if(Ob)return Kh;Ob=1;let e=v4(),n=b4(),i=w4();Kh=l;function l(u,f,d,h){let m=u.children(f),p=u.node(f),y=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,w={};y&&(m=m.filter(A=>A!==y&&A!==v));let N=e(u,m);N.forEach(A=>{if(u.children(A.v).length){let _=l(u,A.v,d,h);w[A.v]=_,Object.hasOwn(_,"barycenter")&&s(A,_)}});let S=n(N,d);o(S,w);let E=i(S,h);if(y&&(E.vs=[y,E.vs,v].flat(!0),u.predecessors(y).length)){let A=u.node(u.predecessors(y)[0]),_=u.node(u.predecessors(v)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+A.order+_.order)/(E.weight+2),E.weight+=2}return E}function o(u,f){u.forEach(d=>{d.vs=d.vs.flatMap(h=>f[h]?f[h].vs:h)})}function s(u,f){u.barycenter!==void 0?(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight):(u.barycenter=f.barycenter,u.weight=f.weight)}return Kh}var Jh,Rb;function _4(){if(Rb)return Jh;Rb=1;let e=Yn().Graph,n=At();Jh=i;function i(o,s,u,f){f||(f=o.nodes());let d=l(o),h=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(m=>o.node(m));return f.forEach(m=>{let p=o.node(m),y=o.parent(m);(p.rank===s||p.minRank<=s&&s<=p.maxRank)&&(h.setNode(m),h.setParent(m,y||d),o[u](m).forEach(v=>{let w=v.v===m?v.w:v.v,N=h.edge(w,m),S=N!==void 0?N.weight:0;h.setEdge(w,m,{weight:o.edge(v).weight+S})}),Object.hasOwn(p,"minRank")&&h.setNode(m,{borderLeft:p.borderLeft[s],borderRight:p.borderRight[s]}))}),h}function l(o){for(var s;o.hasNode(s=n.uniqueId("_root")););return s}return Jh}var Wh,Db;function E4(){if(Db)return Wh;Db=1,Wh=e;function e(n,i,l){let o={},s;l.forEach(u=>{let f=n.parent(u),d,h;for(;f;){if(d=n.parent(f),d?(h=o[d],o[d]=f):(h=s,s=f),h&&h!==f){i.setEdge(h,f);return}f=d}})}return Wh}var ep,Lb;function N4(){if(Lb)return ep;Lb=1;let e=y4(),n=x4(),i=S4(),l=_4(),o=E4(),s=Yn().Graph,u=At();ep=f;function f(p,y){if(y&&typeof y.customOrder=="function"){y.customOrder(p,f);return}let v=u.maxRank(p),w=d(p,u.range(1,v+1),"inEdges"),N=d(p,u.range(v-1,-1,-1),"outEdges"),S=e(p);if(m(p,S),y&&y.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,A;for(let _=0,z=0;z<4;++_,++z){h(_%2?w:N,_%4>=2),S=u.buildLayerMatrix(p);let B=n(p,S);B{w.has(S)||w.set(S,[]),w.get(S).push(E)};for(const S of p.nodes()){const E=p.node(S);if(typeof E.rank=="number"&&N(E.rank,S),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let A=E.minRank;A<=E.maxRank;A++)A!==E.rank&&N(A,S)}return y.map(function(S){return l(p,S,v,w.get(S)||[])})}function h(p,y){let v=new s;p.forEach(function(w){let N=w.graph().root,S=i(w,N,v,y);S.vs.forEach((E,A)=>w.node(E).order=A),o(w,v,S.vs)})}function m(p,y){Object.values(y).forEach(v=>v.forEach((w,N)=>p.node(w).order=N))}return ep}var tp,Hb;function k4(){if(Hb)return tp;Hb=1;let e=Yn().Graph,n=At();tp={positionX:v,findType1Conflicts:i,findType2Conflicts:l,addConflict:s,hasConflict:u,verticalAlignment:f,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:m,balance:y};function i(S,E){let A={};function _(z,B){let T=0,I=0,M=z.length,L=B[B.length-1];return B.forEach((X,q)=>{let D=o(S,X),W=D?S.node(D).order:M;(D||X===L)&&(B.slice(I,q+1).forEach(H=>{S.predecessors(H).forEach(Y=>{let O=S.node(Y),$=O.order;(${X=B[q],S.node(X).dummy&&S.predecessors(X).forEach(D=>{let W=S.node(D);W.dummy&&(W.orderL)&&s(A,D,X)})})}function z(B,T){let I=-1,M,L=0;return T.forEach((X,q)=>{if(S.node(X).dummy==="border"){let D=S.predecessors(X);D.length&&(M=S.node(D[0]).order,_(T,L,q,I,M),L=q,I=M)}_(T,L,T.length,M,B.length)}),T}return E.length&&E.reduce(z),A}function o(S,E){if(S.node(E).dummy)return S.predecessors(E).find(A=>S.node(A).dummy)}function s(S,E,A){if(E>A){let z=E;E=A,A=z}let _=S[E];_||(S[E]=_={}),_[A]=!0}function u(S,E,A){if(E>A){let _=E;E=A,A=_}return!!S[E]&&Object.hasOwn(S[E],A)}function f(S,E,A,_){let z={},B={},T={};return E.forEach(I=>{I.forEach((M,L)=>{z[M]=M,B[M]=M,T[M]=L})}),E.forEach(I=>{let M=-1;I.forEach(L=>{let X=_(L);if(X.length){X=X.sort((D,W)=>T[D]-T[W]);let q=(X.length-1)/2;for(let D=Math.floor(q),W=Math.ceil(q);D<=W;++D){let H=X[D];B[L]===L&&MMath.max(D,B[W.v]+T.edge(W)),0)}function X(q){let D=T.outEdges(q).reduce((H,Y)=>Math.min(H,B[Y.w]-T.edge(Y)),Number.POSITIVE_INFINITY),W=S.node(q);D!==Number.POSITIVE_INFINITY&&W.borderType!==I&&(B[q]=Math.max(B[q],D))}return M(L,T.predecessors.bind(T)),M(X,T.successors.bind(T)),Object.keys(_).forEach(q=>B[q]=B[A[q]]),B}function h(S,E,A,_){let z=new e,B=S.graph(),T=w(B.nodesep,B.edgesep,_);return E.forEach(I=>{let M;I.forEach(L=>{let X=A[L];if(z.setNode(X),M){var q=A[M],D=z.edge(q,X);z.setEdge(q,X,Math.max(T(S,L,M),D||0))}M=L})}),z}function m(S,E){return Object.values(E).reduce((A,_)=>{let z=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY;Object.entries(_).forEach(([I,M])=>{let L=N(S,I)/2;z=Math.max(M+L,z),B=Math.min(M-L,B)});const T=z-B;return T{["l","r"].forEach(T=>{let I=B+T,M=S[I];if(M===E)return;let L=Object.values(M),X=_-n.applyWithChunking(Math.min,L);T!=="l"&&(X=z-n.applyWithChunking(Math.max,L)),X&&(S[I]=n.mapValues(M,q=>q+X))})})}function y(S,E){return n.mapValues(S.ul,(A,_)=>{if(E)return S[E.toLowerCase()][_];{let z=Object.values(S).map(B=>B[_]).sort((B,T)=>B-T);return(z[1]+z[2])/2}})}function v(S){let E=n.buildLayerMatrix(S),A=Object.assign(i(S,E),l(S,E)),_={},z;["u","d"].forEach(T=>{z=T==="u"?E:Object.values(E).reverse(),["l","r"].forEach(I=>{I==="r"&&(z=z.map(q=>Object.values(q).reverse()));let M=(T==="u"?S.predecessors:S.successors).bind(S),L=f(S,z,A,M),X=d(S,z,L.root,L.align,I==="r");I==="r"&&(X=n.mapValues(X,q=>-q)),_[T+I]=X})});let B=m(S,_);return p(_,B),y(_,S.graph().align)}function w(S,E,A){return(_,z,B)=>{let T=_.node(z),I=_.node(B),M=0,L;if(M+=T.width/2,Object.hasOwn(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":L=-T.width/2;break;case"r":L=T.width/2;break}if(L&&(M+=A?L:-L),L=0,M+=(T.dummy?E:S)/2,M+=(I.dummy?E:S)/2,M+=I.width/2,Object.hasOwn(I,"labelpos"))switch(I.labelpos.toLowerCase()){case"l":L=I.width/2;break;case"r":L=-I.width/2;break}return L&&(M+=A?L:-L),L=0,M}}function N(S,E){return S.node(E).width}return tp}var np,Bb;function C4(){if(Bb)return np;Bb=1;let e=At(),n=k4().positionX;np=i;function i(o){o=e.asNonCompoundGraph(o),l(o),Object.entries(n(o)).forEach(([s,u])=>o.node(s).x=u)}function l(o){let s=e.buildLayerMatrix(o),u=o.graph().ranksep,f=0;s.forEach(d=>{const h=d.reduce((m,p)=>{const y=o.node(p).height;return m>y?m:y},0);d.forEach(m=>o.node(m).y=f+h/2),f+=h+u})}return np}var rp,qb;function z4(){if(qb)return rp;qb=1;let e=u4(),n=c4(),i=d4(),l=At().normalizeRanks,o=h4(),s=At().removeEmptyRanks,u=p4(),f=m4(),d=g4(),h=N4(),m=C4(),p=At(),y=Yn().Graph;rp=v;function v(k,V){let F=V&&V.debugTiming?p.time:p.notime;F("layout",()=>{let J=F(" buildLayoutGraph",()=>M(k));F(" runLayout",()=>w(J,F,V)),F(" updateInputGraph",()=>N(k,J))})}function w(k,V,F){V(" makeSpaceForEdgeLabels",()=>L(k)),V(" removeSelfEdges",()=>Z(k)),V(" acyclic",()=>e.run(k)),V(" nestingGraph.run",()=>u.run(k)),V(" rank",()=>i(p.asNonCompoundGraph(k))),V(" injectEdgeLabelProxies",()=>X(k)),V(" removeEmptyRanks",()=>s(k)),V(" nestingGraph.cleanup",()=>u.cleanup(k)),V(" normalizeRanks",()=>l(k)),V(" assignRankMinMax",()=>q(k)),V(" removeEdgeLabelProxies",()=>D(k)),V(" normalize.run",()=>n.run(k)),V(" parentDummyChains",()=>o(k)),V(" addBorderSegments",()=>f(k)),V(" order",()=>h(k,F)),V(" insertSelfEdges",()=>K(k)),V(" adjustCoordinateSystem",()=>d.adjust(k)),V(" position",()=>m(k)),V(" positionSelfEdges",()=>j(k)),V(" removeBorderNodes",()=>$(k)),V(" normalize.undo",()=>n.undo(k)),V(" fixupEdgeLabelCoords",()=>Y(k)),V(" undoCoordinateSystem",()=>d.undo(k)),V(" translateGraph",()=>W(k)),V(" assignNodeIntersects",()=>H(k)),V(" reversePoints",()=>O(k)),V(" acyclic.undo",()=>e.undo(k))}function N(k,V){k.nodes().forEach(F=>{let J=k.node(F),ne=V.node(F);J&&(J.x=ne.x,J.y=ne.y,J.rank=ne.rank,V.children(F).length&&(J.width=ne.width,J.height=ne.height))}),k.edges().forEach(F=>{let J=k.edge(F),ne=V.edge(F);J.points=ne.points,Object.hasOwn(ne,"x")&&(J.x=ne.x,J.y=ne.y)}),k.graph().width=V.graph().width,k.graph().height=V.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},A=["acyclicer","ranker","rankdir","align"],_=["width","height","rank"],z={width:0,height:0},B=["minlen","weight","width","height","labeloffset"],T={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},I=["labelpos"];function M(k){let V=new y({multigraph:!0,compound:!0}),F=P(k.graph());return V.setGraph(Object.assign({},E,U(F,S),p.pick(F,A))),k.nodes().forEach(J=>{let ne=P(k.node(J));const re=U(ne,_);Object.keys(z).forEach(se=>{re[se]===void 0&&(re[se]=z[se])}),V.setNode(J,re),V.setParent(J,k.parent(J))}),k.edges().forEach(J=>{let ne=P(k.edge(J));V.setEdge(J,Object.assign({},T,U(ne,B),p.pick(ne,I)))}),V}function L(k){let V=k.graph();V.ranksep/=2,k.edges().forEach(F=>{let J=k.edge(F);J.minlen*=2,J.labelpos.toLowerCase()!=="c"&&(V.rankdir==="TB"||V.rankdir==="BT"?J.width+=J.labeloffset:J.height+=J.labeloffset)})}function X(k){k.edges().forEach(V=>{let F=k.edge(V);if(F.width&&F.height){let J=k.node(V.v),re={rank:(k.node(V.w).rank-J.rank)/2+J.rank,e:V};p.addDummyNode(k,"edge-proxy",re,"_ep")}})}function q(k){let V=0;k.nodes().forEach(F=>{let J=k.node(F);J.borderTop&&(J.minRank=k.node(J.borderTop).rank,J.maxRank=k.node(J.borderBottom).rank,V=Math.max(V,J.maxRank))}),k.graph().maxRank=V}function D(k){k.nodes().forEach(V=>{let F=k.node(V);F.dummy==="edge-proxy"&&(k.edge(F.e).labelRank=F.rank,k.removeNode(V))})}function W(k){let V=Number.POSITIVE_INFINITY,F=0,J=Number.POSITIVE_INFINITY,ne=0,re=k.graph(),se=re.marginx||0,ge=re.marginy||0;function ve(ye){let he=ye.x,_e=ye.y,Me=ye.width,Ce=ye.height;V=Math.min(V,he-Me/2),F=Math.max(F,he+Me/2),J=Math.min(J,_e-Ce/2),ne=Math.max(ne,_e+Ce/2)}k.nodes().forEach(ye=>ve(k.node(ye))),k.edges().forEach(ye=>{let he=k.edge(ye);Object.hasOwn(he,"x")&&ve(he)}),V-=se,J-=ge,k.nodes().forEach(ye=>{let he=k.node(ye);he.x-=V,he.y-=J}),k.edges().forEach(ye=>{let he=k.edge(ye);he.points.forEach(_e=>{_e.x-=V,_e.y-=J}),Object.hasOwn(he,"x")&&(he.x-=V),Object.hasOwn(he,"y")&&(he.y-=J)}),re.width=F-V+se,re.height=ne-J+ge}function H(k){k.edges().forEach(V=>{let F=k.edge(V),J=k.node(V.v),ne=k.node(V.w),re,se;F.points?(re=F.points[0],se=F.points[F.points.length-1]):(F.points=[],re=ne,se=J),F.points.unshift(p.intersectRect(J,re)),F.points.push(p.intersectRect(ne,se))})}function Y(k){k.edges().forEach(V=>{let F=k.edge(V);if(Object.hasOwn(F,"x"))switch((F.labelpos==="l"||F.labelpos==="r")&&(F.width-=F.labeloffset),F.labelpos){case"l":F.x-=F.width/2+F.labeloffset;break;case"r":F.x+=F.width/2+F.labeloffset;break}})}function O(k){k.edges().forEach(V=>{let F=k.edge(V);F.reversed&&F.points.reverse()})}function $(k){k.nodes().forEach(V=>{if(k.children(V).length){let F=k.node(V),J=k.node(F.borderTop),ne=k.node(F.borderBottom),re=k.node(F.borderLeft[F.borderLeft.length-1]),se=k.node(F.borderRight[F.borderRight.length-1]);F.width=Math.abs(se.x-re.x),F.height=Math.abs(ne.y-J.y),F.x=re.x+F.width/2,F.y=J.y+F.height/2}}),k.nodes().forEach(V=>{k.node(V).dummy==="border"&&k.removeNode(V)})}function Z(k){k.edges().forEach(V=>{if(V.v===V.w){var F=k.node(V.v);F.selfEdges||(F.selfEdges=[]),F.selfEdges.push({e:V,label:k.edge(V)}),k.removeEdge(V)}})}function K(k){var V=p.buildLayerMatrix(k);V.forEach(F=>{var J=0;F.forEach((ne,re)=>{var se=k.node(ne);se.order=re+J,(se.selfEdges||[]).forEach(ge=>{p.addDummyNode(k,"selfedge",{width:ge.label.width,height:ge.label.height,rank:se.rank,order:re+ ++J,e:ge.e,label:ge.label},"_se")}),delete se.selfEdges})})}function j(k){k.nodes().forEach(V=>{var F=k.node(V);if(F.dummy==="selfedge"){var J=k.node(F.e.v),ne=J.x+J.width/2,re=J.y,se=F.x-ne,ge=J.height/2;k.setEdge(F.e,F.label),k.removeNode(V),F.label.points=[{x:ne+2*se/3,y:re-ge},{x:ne+5*se/6,y:re-ge},{x:ne+se,y:re},{x:ne+5*se/6,y:re+ge},{x:ne+2*se/3,y:re+ge}],F.label.x=F.x,F.label.y=F.y}})}function U(k,V){return p.mapValues(p.pick(k,V),Number)}function P(k){var V={};return k&&Object.entries(k).forEach(([F,J])=>{typeof F=="string"&&(F=F.toLowerCase()),V[F]=J}),V}return rp}var ip,Ub;function A4(){if(Ub)return ip;Ub=1;let e=At(),n=Yn().Graph;ip={debugOrdering:i};function i(l){let o=e.buildLayerMatrix(l),s=new n({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(u=>{s.setNode(u,{label:u}),s.setParent(u,"layer"+l.node(u).rank)}),l.edges().forEach(u=>s.setEdge(u.v,u.w,{},u.name)),o.forEach((u,f)=>{let d="layer"+f;s.setNode(d,{rank:"same"}),u.reduce((h,m)=>(s.setEdge(h,m,{style:"invis"}),m))}),s}return ip}var lp,Ib;function T4(){return Ib||(Ib=1,lp="1.1.8"),lp}var ap,Vb;function M4(){return Vb||(Vb=1,ap={graphlib:Yn(),layout:z4(),debug:A4(),util:{time:At().time,notime:At().notime},version:T4()}),ap}var j4=M4();const Gb=Yo(j4),No=200,Fl=56,Yb=20,$b=40,O4=20,Xb=12;function R4(e,n,i,l,o,s,u){const f=[],d=[],h=new Set,m=new Set,p=new Map;for(const v of i)for(const w of v.agents)m.add(w),p.set(w,v.name);for(const v of i){const w=o[v.name],N=v.agents.length,S=No+Yb*2,E=$b+N*Fl+(N-1)*Xb+O4;f.push({id:v.name,type:"groupNode",position:{x:0,y:0},data:{label:v.name,type:"parallel_group",status:(w==null?void 0:w.status)||"pending",groupName:v.name,progress:s[v.name]},style:{width:S,height:E}});for(let A=0;A$entryPoint",source:"$start",target:u,type:"animatedEdge",data:{},animated:!1})}for(const v of n)d.push({id:`${v.from}->${v.to}`,source:v.from,target:v.to,type:"animatedEdge",data:{when:v.when},animated:!1});return D4(f,d),{nodes:f,edges:d}}function D4(e,n){var l,o,s,u;const i=new Gb.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",nodesep:50,ranksep:70,marginx:30,marginy:30});for(const f of e){if(f.parentId)continue;const d=f.type==="groupNode",h=d&&((l=f.style)==null?void 0:l.width)||No,m=d&&((o=f.style)==null?void 0:o.height)||Fl;i.setNode(f.id,{width:h,height:m})}for(const f of n)i.hasNode(f.source)&&i.hasNode(f.target)&&i.setEdge(f.source,f.target);Gb.layout(i);for(const f of e){if(f.parentId)continue;const d=i.node(f.id);if(!d)continue;const h=f.type==="groupNode",m=h&&((s=f.style)==null?void 0:s.width)||No,p=h&&((u=f.style)==null?void 0:u.height)||Fl;f.position={x:d.x-m/2,y:d.y-p/2}}}const at={pending:"#52525b",running:"#3b82f6",completed:"#22c55e",failed:"#ef4444",waiting:"#f59e0b",skipped:"#6b7280"};function bm({data:e,children:n}){const[i,l]=G.useState(!1),o=G.useRef(null),s=G.useCallback(()=>{o.current=setTimeout(()=>l(!0),200)},[]),u=G.useCallback(()=>{o.current&&clearTimeout(o.current),l(!1)},[]),f=at[e.status]||at.pending;return b.jsxs("div",{className:"relative",onMouseEnter:s,onMouseLeave:u,children:[n,i&&b.jsxs("div",{className:Pe("absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-2","bg-[var(--surface-raised)] border border-[var(--border)] shadow-lg","rounded-lg px-3 py-2 max-w-[260px] pointer-events-none","animate-[tooltip-in_150ms_ease-out]"),children:[b.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0 border-x-[6px] border-x-transparent border-t-[6px] border-t-[var(--border)]"}),b.jsxs("div",{className:"flex flex-col gap-1.5 text-[11px]",children:[b.jsxs("div",{className:"flex items-center gap-1.5",children:[b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:f}}),b.jsx("span",{className:"font-medium text-[var(--text)] capitalize",children:e.status}),e.iteration!=null&&e.iteration>1&&b.jsxs("span",{className:"text-[var(--text-muted)] ml-auto",children:["iter ",e.iteration]})]}),b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5",children:[e.elapsed!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Elapsed"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:Gn(e.elapsed)})]}),e.model&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Model"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.model})]}),e.tokens!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Tokens"}),b.jsxs("span",{className:"text-[var(--text)] font-mono",children:[tr(e.tokens),e.inputTokens!=null&&e.outputTokens!=null&&b.jsxs("span",{className:"text-[var(--text-muted)]",children:[" ","(",tr(e.inputTokens),"↑ ",tr(e.outputTokens),"↓)"]})]})]}),e.costUsd!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Cost"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:ta(e.costUsd)})]}),e.exitCode!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Exit code"}),b.jsx("span",{className:Pe("font-mono",e.exitCode===0?"text-[var(--completed)]":"text-[var(--failed)]"),children:e.exitCode})]}),e.selectedOption&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Selected"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.selectedOption})]})]}),e.errorMessage&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"text-red-400 leading-tight",children:[e.errorType&&b.jsxs("span",{className:"font-medium",children:[e.errorType,": "]}),b.jsxs("span",{className:"break-words",children:[e.errorMessage.slice(0,120),e.errorMessage.length>120?"...":""]})]})]})]})]})]})}const L4=G.memo(function({data:n,id:i,selected:l}){const o=n,u=xe(z=>{var B;return(B=z.nodes[i])==null?void 0:B.status})||o.status||"pending",f=at[u]||at.pending,d=xe(z=>{var B;return(B=z.nodes[i])==null?void 0:B.elapsed}),h=xe(z=>{var B;return(B=z.nodes[i])==null?void 0:B.model}),m=xe(z=>{var B;return(B=z.nodes[i])==null?void 0:B.tokens}),p=xe(z=>{var B;return(B=z.nodes[i])==null?void 0:B.input_tokens}),y=xe(z=>{var B;return(B=z.nodes[i])==null?void 0:B.output_tokens}),v=xe(z=>{var B;return(B=z.nodes[i])==null?void 0:B.cost_usd}),w=xe(z=>{var B;return(B=z.nodes[i])==null?void 0:B.iteration}),N=xe(z=>{var B;return(B=z.nodes[i])==null?void 0:B.error_type}),S=xe(z=>{var B;return(B=z.nodes[i])==null?void 0:B.error_message}),E=H4(i,u),A=B4(u),_=(()=>{if(u==="failed"&&S)return{text:S.length>40?S.slice(0,37)+"...":S,className:"text-red-400"};if(u==="running")return{text:E,className:"text-[var(--text-muted)]"};if(u==="completed"){const z=[];return d!=null&&z.push(Gn(d)),m!=null&&z.push(`${tr(m)} tok`),v!=null&&z.push(ta(v)),{text:z.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(on,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(bm,{data:{status:u,elapsed:d,model:h,tokens:m,inputTokens:p,outputTokens:y,costUsd:v,iteration:w,errorType:N,errorMessage:S},children:b.jsxs("div",{className:Pe("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",A),style:{borderColor:f},children:[b.jsx("div",{className:Pe("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(oN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsxs("div",{className:"flex items-center gap-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w!=null&&w>1&&b.jsxs("span",{className:"flex-shrink-0 inline-flex items-center justify-center px-1.5 py-0.5 rounded-full text-[9px] font-bold leading-none",style:{backgroundColor:`${f}25`,color:f},children:["x",w]})]}),_.text&&b.jsx("span",{className:Pe("text-[10px] truncate leading-tight",_.className),children:_.text})]})]})}),b.jsx(on,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function H4(e,n){const i=xe(u=>{var f;return(f=u.nodes[e])==null?void 0:f.startedAt}),[l,o]=G.useState("0.0s"),s=G.useRef(null);return G.useEffect(()=>{if(n==="running"){const u=i!=null?i*1e3:Date.now(),f=()=>{const d=(Date.now()-u)/1e3;o(Gn(d))};return f(),s.current=setInterval(f,1e3),()=>{s.current&&clearInterval(s.current)}}else s.current&&clearInterval(s.current)},[n,i]),l}function B4(e){const n=G.useRef(e),[i,l]=G.useState("");return G.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const q4=G.memo(function({data:n,id:i,selected:l}){const o=n,u=xe(N=>{var S;return(S=N.nodes[i])==null?void 0:S.status})||o.status||"pending",f=at[u]||at.pending,d=xe(N=>{var S;return(S=N.nodes[i])==null?void 0:S.elapsed}),h=xe(N=>{var S;return(S=N.nodes[i])==null?void 0:S.exit_code}),m=xe(N=>{var S;return(S=N.nodes[i])==null?void 0:S.error_type}),p=xe(N=>{var S;return(S=N.nodes[i])==null?void 0:S.error_message}),y=U4(i,u),v=I4(u),w=(()=>{if(u==="failed"&&p)return{text:p.length>40?p.slice(0,37)+"...":p,className:"text-red-400"};if(u==="running")return{text:y,className:"text-[var(--text-muted)]"};if(u==="completed"){const N=[];return d!=null&&N.push(Gn(d)),h!=null&&N.push(`exit ${h}`),{text:N.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(on,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(bm,{data:{status:u,elapsed:d,exitCode:h,errorType:m,errorMessage:p},children:b.jsxs("div",{className:Pe("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",v),style:{borderColor:f},children:[b.jsx("div",{className:Pe("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(SN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w.text&&b.jsx("span",{className:Pe("text-[10px] truncate leading-tight",w.className),children:w.text})]})]})}),b.jsx(on,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function U4(e,n){const i=xe(u=>{var f;return(f=u.nodes[e])==null?void 0:f.startedAt}),[l,o]=G.useState("0.0s"),s=G.useRef(null);return G.useEffect(()=>{if(n==="running"){const u=i!=null?i*1e3:Date.now(),f=()=>{const d=(Date.now()-u)/1e3;o(Gn(d))};return f(),s.current=setInterval(f,1e3),()=>{s.current&&clearInterval(s.current)}}else s.current&&clearInterval(s.current)},[n,i]),l}function I4(e){const n=G.useRef(e),[i,l]=G.useState("");return G.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const V4=G.memo(function({data:n,id:i,selected:l}){const o=n,u=xe(m=>{var p;return(p=m.nodes[i])==null?void 0:p.status})||o.status||"pending",f=at[u]||at.pending,d=xe(m=>{var p;return(p=m.nodes[i])==null?void 0:p.selected_option}),h=G4(u);return b.jsxs(b.Fragment,{children:[b.jsx(on,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(bm,{data:{status:u,selectedOption:d},children:b.jsxs("div",{className:Pe("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 border-dashed bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="waiting"&&"shadow-[0_0_12px_var(--waiting-muted)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",h),style:{borderColor:f},children:[b.jsx("div",{className:Pe("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="waiting"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(wN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),u==="waiting"&&b.jsx("span",{className:"text-[10px] text-[var(--waiting)] truncate leading-tight",children:"Awaiting input..."}),u==="completed"&&d&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] truncate leading-tight",children:d})]})]})}),b.jsx(on,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function G4(e){const n=G.useRef(e),[i,l]=G.useState("");return G.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"||e==="waiting"?l("node-activate"):(o==="running"||o==="waiting")&&e==="completed"&&l("node-complete");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Y4=G.memo(function({data:n,id:i,selected:l}){const o=n,u=o.type==="for_each_group"?xN:mN,f=o.progress,h=xe(N=>{var S;return(S=N.nodes[i])==null?void 0:S.status})||o.status||"pending",m=at[h]||at.pending,p=$4(h),y=f?`${f.completed+f.failed}/${f.total}${f.failed>0?` (${f.failed} failed)`:""}`:null,v=f&&f.total>0?(f.completed+f.failed)/f.total*100:0,w=f!=null&&f.failed>0;return b.jsxs(b.Fragment,{children:[b.jsx(on,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsxs("div",{className:Pe("flex flex-col gap-1 px-4 py-3 rounded-xl border-2 border-dashed bg-[var(--surface)]/80 min-w-[180px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",h==="running"&&"shadow-[0_0_16px_var(--running-glow)]",p),style:{borderColor:m,minHeight:"100%"},children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(u,{className:"w-3.5 h-3.5",style:{color:m}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text-secondary)]",children:o.label})]}),y&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] font-mono",children:y}),f&&f.total>0&&h==="running"&&b.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--border)] overflow-hidden mt-0.5",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500 ease-out",style:{width:`${v}%`,backgroundColor:w?"var(--failed)":"var(--completed)"}})})]}),b.jsx(on,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function $4(e){const n=G.useRef(e),[i,l]=G.useState("");return G.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const X4=G.memo(function({data:n,selected:i}){const o=n.status||"pending",s=o==="completed",u=o==="failed",f=!s&&!u,d=s?at.completed:u?at.failed:at.pending;return b.jsxs(b.Fragment,{children:[b.jsx(on,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx("div",{className:Pe("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",s?"bg-[var(--completed)] shadow-[0_0_16px_var(--completed-muted)]":u?"bg-[var(--failed)] shadow-[0_0_16px_var(--failed-muted)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]"),style:{borderColor:d},children:s?b.jsx(Gi,{className:"w-5 h-5 text-white",strokeWidth:3}):u?b.jsx(q1,{className:"w-3.5 h-3.5 text-white",fill:"white"}):b.jsx(Gi,{className:"w-5 h-5",strokeWidth:2.5,style:{color:f?at.pending:d}})})]})}),P4=G.memo(function({data:n,selected:i}){const o=n.status||"pending",s=at[o]||at.pending,u=o==="running"||o==="completed";return b.jsxs(b.Fragment,{children:[b.jsx("div",{className:Pe("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",u?"bg-[var(--completed)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u&&"shadow-[0_0_12px_var(--completed-muted)]"),style:{borderColor:s},children:b.jsx(B1,{className:"w-4 h-4 ml-0.5",style:{color:u?"white":s}})}),b.jsx(on,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})}),F4=G.memo(function({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,source:d,target:h,data:m}){const p=xe(L=>L.highlightedEdges),y=G.useMemo(()=>p.find(L=>L.from===d&&L.to===h),[p,d,h]),[v,w,N]=dm({sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f}),S=m==null?void 0:m.when,E=!!S,A=(y==null?void 0:y.state)==="taken",_=(y==null?void 0:y.state)==="highlighted",z=(y==null?void 0:y.state)==="failed";let B="var(--edge-color)",T=2,I;z?(B="var(--failed)",T=3):A?(B="var(--edge-taken)",T=3):_&&(B="var(--edge-active)",T=3),E&&!A&&!_&&!z&&(I="6 3");const M=z?"failed":A?"taken":_?"active":"default";return b.jsxs(b.Fragment,{children:[b.jsx(es,{id:n,path:v,style:{stroke:B,strokeWidth:T,strokeDasharray:I,transition:"stroke 0.3s ease, stroke-width 0.3s ease"},markerEnd:`url(#arrow-${M})`}),E&&b.jsx(xj,{children:b.jsx("div",{className:"nodrag nopan",style:{position:"absolute",transform:`translate(-50%, -50%) translate(${w}px,${N}px)`,pointerEvents:"all"},children:b.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded-full text-[9px] font-mono leading-tight max-w-[140px] truncate",style:{backgroundColor:z?"var(--failed)":A?"var(--edge-taken)":"var(--surface)",color:z||A?"var(--bg)":"var(--text-muted)",border:`1px solid ${z?"var(--failed)":A?"var(--edge-taken)":"var(--border)"}`},title:S,children:S})})}),A&&b.jsx("circle",{r:"3",fill:"var(--edge-taken)",children:b.jsx("animateMotion",{dur:"1s",repeatCount:"indefinite",path:v})}),z&&b.jsx("circle",{r:"3",fill:"var(--failed)",opacity:"0.8",children:b.jsx("animateMotion",{dur:"1.5s",repeatCount:"indefinite",path:v})})]})});function Q4(){const e=xe(u=>u.workflowStatus),n=xe(u=>u.workflowFailure),i=xe(u=>u.workflowFailedAgent),l=xe(u=>u.selectNode);if(e!=="failed"||!n)return null;const o=n.message||n.error_type||"Unknown error",s=n.error_type==="TimeoutError";return b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Pe("flex items-center gap-2 px-4 py-2 rounded-lg","bg-red-950/90 border border-red-500/40 shadow-lg shadow-red-500/10","backdrop-blur-sm max-w-[560px]"),children:[b.jsx(_N,{className:"w-4 h-4 text-red-400 flex-shrink-0"}),b.jsxs("div",{className:"flex flex-col min-w-0",children:[b.jsx("span",{className:"text-xs font-medium text-red-300",children:"Workflow Failed"}),b.jsx("span",{className:"text-[11px] text-red-400/80 truncate",children:o}),s&&n.current_agent&&b.jsxs("span",{className:"text-[10px] text-red-400/60 truncate",children:["Timed out on agent: ",n.current_agent]}),n.checkpoint_path&&b.jsxs("span",{className:"text-[10px] text-red-400/50 truncate",title:n.checkpoint_path,children:["Checkpoint: ",n.checkpoint_path.split("/").pop()]})]}),i&&b.jsxs("button",{onClick:()=>l(i),className:"flex items-center gap-1 px-2 py-1 rounded text-[10px] font-medium text-red-300 bg-red-500/20 hover:bg-red-500/30 transition-colors flex-shrink-0 ml-1",children:[b.jsx(hN,{className:"w-3 h-3"}),"View"]})]})})}function Z4(){const[e,n]=G.useState(!1),i=xe(d=>d.workflowStatus),l=xe(d=>d.totalCost),o=xe(d=>d.totalTokens),s=xe(d=>d.agentsCompleted),u=xe(d=>d.agentsTotal),f=P1();return i!=="completed"||e?null:b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Pe("flex items-center gap-3 px-4 py-2 rounded-lg","bg-green-950/90 border border-green-500/40 shadow-lg shadow-green-500/10","backdrop-blur-sm"),children:[b.jsx(uN,{className:"w-4 h-4 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-medium text-green-300",children:"Completed"}),b.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-green-400/80 font-mono",children:[b.jsx("span",{children:f}),u>0&&b.jsxs("span",{children:[s,"/",u," agents"]}),o>0&&b.jsxs("span",{children:[tr(o)," tok"]}),l>0&&b.jsx("span",{children:ta(l)})]}),b.jsx("button",{onClick:()=>n(!0),className:"p-0.5 rounded text-green-500/60 hover:text-green-300 transition-colors flex-shrink-0 ml-1",children:b.jsx(fc,{className:"w-3.5 h-3.5"})})]})})}const K4={agentNode:L4,scriptNode:q4,gateNode:V4,groupNode:Y4,endNode:X4,startNode:P4},J4={animatedEdge:F4},W4={type:"animatedEdge"};function e5(){return b.jsx("svg",{style:{position:"absolute",width:0,height:0},children:b.jsxs("defs",{children:[b.jsx("marker",{id:"arrow-default",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-color)"})}),b.jsx("marker",{id:"arrow-active",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-active)"})}),b.jsx("marker",{id:"arrow-taken",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-taken)"})}),b.jsx("marker",{id:"arrow-failed",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--failed)"})})]})})}function t5(){const e=xe(M=>M.agents),n=xe(M=>M.routes),i=xe(M=>M.parallelGroups),l=xe(M=>M.forEachGroups),o=xe(M=>M.nodes),s=xe(M=>M.groupProgress),u=xe(M=>M.selectNode),f=xe(M=>M.selectedNode),d=xe(M=>M.workflowStatus),h=xe(M=>M.entryPoint),m=xe(M=>M.wsStatus),p=xe(M=>M.workflowFailedAgent),[y,v,w]=vj([]),[N,S,E]=bj([]),A=G.useRef(!1);G.useEffect(()=>{if(e.length===0||A.current)return;A.current=!0;const{nodes:M,edges:L}=R4(e,n,i,l,o,s,h);v(M),S(L)},[e,n,i,l,o,s,h,v,S]),G.useEffect(()=>{A.current&&v(M=>M.map(L=>{const X=o[L.id];if(!X)return L;const q=X.status||"pending",D=L.data.status;if(q!==D){const W={...L.data,status:q};return L.data.groupName&&s[L.data.groupName]&&(W.progress=s[L.data.groupName]),{...L,data:W}}if(L.data.groupName&&s[L.data.groupName]){const W=L.data.progress,H=s[L.data.groupName];if(H&&(!W||W.completed!==H.completed||W.failed!==H.failed))return{...L,data:{...L.data,progress:H}}}return L}))},[o,s,v]);const _=G.useCallback((M,L)=>{L.type==="groupNode"&&L.data.type!=="for_each_group"||u(L.id)},[u]),z=G.useCallback(()=>{u(null)},[u]),B=G.useCallback(M=>{var X;const L=((X=M.data)==null?void 0:X.status)||"pending";return at[L]||at.pending},[]);G.useEffect(()=>{v(M=>M.map(L=>({...L,selected:L.id===f})))},[f,v]),G.useEffect(()=>{d==="failed"&&p&&u(p)},[d,p,u]);const T=d==="pending"&&e.length===0,I=(()=>{switch(m){case"connecting":return"Connecting to workflow…";case"reconnecting":return"Reconnecting…";case"disconnected":return"Connection lost. Retrying…";default:return"Waiting for workflow…"}})();return b.jsxs("div",{className:"w-full h-full relative",children:[b.jsx(e5,{}),b.jsx(Q4,{}),b.jsx(Z4,{}),T&&b.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center pointer-events-none",children:[b.jsxs("div",{className:"relative mb-3",children:[b.jsx(kN,{className:"w-8 h-8 text-[var(--accent)] opacity-20"}),b.jsx(Mo,{className:"w-8 h-8 text-[var(--text-muted)] animate-spin absolute inset-0 opacity-40"})]}),b.jsx("p",{className:"text-sm text-[var(--text-muted)] animate-pulse",children:I})]}),b.jsxs(gj,{nodes:y,edges:N,onNodesChange:w,onEdgesChange:E,onNodeClick:_,onPaneClick:z,nodeTypes:K4,edgeTypes:J4,defaultEdgeOptions:W4,fitView:!0,fitViewOptions:{padding:.2},minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[b.jsx(Nj,{variant:Mr.Dots,gap:20,size:1,color:"var(--border-subtle)"}),b.jsx($j,{nodeColor:B,maskColor:"var(--minimap-mask)",style:{background:"var(--minimap-bg)"},pannable:!0,zoomable:!0}),b.jsx(jj,{showInteractive:!1,children:b.jsx(n5,{})}),b.jsx(r5,{})]})]})}function n5(){const{fitView:e}=Wo(),n=G.useCallback(()=>{e({padding:.2,duration:300})},[e]);return b.jsx("button",{onClick:n,className:"react-flow__controls-button",title:"Fit view (F)",style:{display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx(yN,{className:"w-3.5 h-3.5"})})}function r5(){const{fitView:e}=Wo();return G.useEffect(()=>{const n=i=>{var o;const l=(o=i.target)==null?void 0:o.tagName;l==="INPUT"||l==="TEXTAREA"||l==="SELECT"||i.key==="f"&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&e({padding:.2,duration:300})};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),null}function fa({items:e}){const n=e.filter(i=>i.value!=null&&i.value!=="");return n.length===0?null:b.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:n.map(({label:i,value:l})=>b.jsxs("div",{className:"contents",children:[b.jsx("dt",{className:"text-[var(--text-muted)] whitespace-nowrap",children:i}),b.jsx("dd",{className:"text-[var(--text)] break-words",children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}function r_(e){const n=[];return e.elapsed!=null&&n.push({label:"Elapsed",value:Gn(e.elapsed)}),e.model&&n.push({label:"Model",value:e.model}),e.tokens!=null&&n.push({label:"Tokens",value:tr(e.tokens)}),e.input_tokens!=null&&e.output_tokens!=null&&n.push({label:"In / Out",value:`${tr(e.input_tokens)} / ${tr(e.output_tokens)}`}),e.cost_usd!=null&&n.push({label:"Cost",value:ta(e.cost_usd)}),e.iteration!=null&&n.push({label:"Iteration",value:e.iteration}),e.error_type&&n.push({label:"Error",value:e.error_type}),e.error_message&&n.push({label:"Message",value:e.error_message}),n}function Ji({output:e,title:n="Output",defaultExpanded:i=!0,maxHeight:l="300px"}){const[o,s]=G.useState(i),[u,f]=G.useState(!1),d=X1(e);if(!d)return null;const h=typeof e=="object"&&e!==null,m=async()=>{await navigator.clipboard.writeText(d),f(!0),setTimeout(()=>f(!1),2e3)};return b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[o?b.jsx(ua,{className:"w-3 h-3"}):b.jsx(Xo,{className:"w-3 h-3"}),n]}),o&&b.jsx("button",{onClick:m,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Copy to clipboard",children:u?b.jsx(Gi,{className:"w-3 h-3 text-[var(--completed)]"}):b.jsx(H1,{className:"w-3 h-3"})})]}),o&&b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md p-3 font-mono text-[11px] leading-relaxed text-[var(--text)] overflow-auto whitespace-pre-wrap break-words",style:{maxHeight:l},children:h?b.jsx(i5,{text:d}):d})]})}function i5({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function wm({activity:e,defaultExpanded:n=!0}){const[i,l]=G.useState(n),o=G.useRef(null);return G.useEffect(()=>{o.current&&i&&(o.current.scrollTop=o.current.scrollHeight)},[e.length,i]),e.length===0?null:b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("button",{onClick:()=>l(!i),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[i?b.jsx(ua,{className:"w-3 h-3"}):b.jsx(Xo,{className:"w-3 h-3"}),"Activity (",e.length,")"]}),i&&b.jsx("div",{ref:o,className:"max-h-[400px] overflow-y-auto space-y-0.5",children:e.map((s,u)=>b.jsx(l5,{entry:s},u))})]})}function l5({entry:e}){const n={reasoning:"text-indigo-400/70","tool-start":"text-blue-400","tool-complete":"text-green-400",turn:"text-amber-400",message:"text-[var(--text)]"};return b.jsxs("div",{className:Pe("py-1.5 px-2 rounded text-[11px] leading-relaxed border-b border-[var(--border-subtle)] last:border-b-0"),children:[b.jsxs("div",{className:"flex items-start gap-1.5",children:[b.jsx("span",{className:"w-4 text-center flex-shrink-0",children:e.icon}),b.jsx("span",{className:"text-[var(--text-muted)] uppercase text-[9px] font-semibold tracking-wider w-12 flex-shrink-0 pt-px",children:e.label}),b.jsx("span",{className:Pe("break-words",n[e.type]||"text-[var(--text)]"),children:typeof e.text=="object"?JSON.stringify(e.text):e.text})]}),e.detail&&b.jsx("div",{className:"mt-1 ml-[4.25rem] px-2 py-1 bg-[var(--bg)] rounded text-[10px] font-mono text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto",children:typeof e.detail=="object"?JSON.stringify(e.detail,null,2):e.detail})]})}function a5({node:e}){const n=e.status,i=at[n]||at.pending,l=e.iterationHistory&&e.iterationHistory.length>0;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Agent"})]}),l?b.jsx(Pb,{label:`Iteration ${e.iteration??"?"} (current)`,defaultExpanded:!0,status:n,snapshot:{iteration:e.iteration??0,prompt:e.prompt,output:e.output,elapsed:e.elapsed,model:e.model,tokens:e.tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cost_usd:e.cost_usd,activity:e.activity,error_type:e.error_type,error_message:e.error_message}}):b.jsxs(b.Fragment,{children:[b.jsx(fa,{items:r_(e)}),e.prompt&&b.jsx(Ji,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!0}),b.jsx(wm,{activity:e.activity,defaultExpanded:n!=="completed"}),e.output!=null&&b.jsx(Ji,{output:e.output,title:"Output"})]}),l&&[...e.iterationHistory].reverse().map(o=>b.jsx(Pb,{label:`Iteration ${o.iteration}`,defaultExpanded:!1,status:n,snapshot:o},o.iteration))]})}function Pb({label:e,defaultExpanded:n,snapshot:i,status:l}){const[o,s]=G.useState(n);return b.jsxs("div",{className:"border border-[var(--border)] rounded-lg overflow-hidden",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-2 w-full px-3 py-2 bg-[var(--bg)] hover:bg-[var(--node-bg)] transition-colors text-left",children:[o?b.jsx(ua,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Xo,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-[var(--text)]",children:e}),i.elapsed!=null&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] ml-auto",children:o5(i.elapsed)})]}),o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[b.jsx(fa,{items:r_(i)}),i.prompt&&b.jsx(Ji,{output:i.prompt,title:"Input / Prompt",defaultExpanded:!1}),b.jsx(wm,{activity:i.activity,defaultExpanded:n&&l!=="completed"}),i.output!=null&&b.jsx(Ji,{output:i.output,title:"Output",defaultExpanded:!0}),i.error_type&&b.jsxs("div",{className:"text-xs text-red-400",children:[b.jsx("span",{className:"font-semibold",children:i.error_type}),i.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",i.error_message]})]})]})]})}function o5(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function s5({node:e}){const n=e.status,i=at[n]||at.pending,l=[];e.elapsed!=null&&l.push({label:"Elapsed",value:Gn(e.elapsed)}),e.exit_code!=null&&l.push({label:"Exit Code",value:e.exit_code}),e.error_type&&l.push({label:"Error",value:e.error_type}),e.error_message&&l.push({label:"Message",value:e.error_message});let o="";return e.stdout&&(o+=e.stdout),e.stderr&&(o+=(o?` - ---- stderr --- -`:"")+e.stderr),b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Script"})]}),b.jsx(fa,{items:l}),o&&b.jsx(Ji,{output:o,title:"Output"})]})}function u5(e,n){const i={};return(e[e.length-1]===""?[...e,""]:e).join((i.padRight?" ":"")+","+(i.padLeft===!1?"":" ")).trim()}const c5=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,f5=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,d5={};function Fb(e,n){return(d5.jsx?f5:c5).test(e)}const h5=/[ \t\n\f\r]/g;function p5(e){return typeof e=="object"?e.type==="text"?Qb(e.value):!1:Qb(e)}function Qb(e){return e.replace(h5,"")===""}class ts{constructor(n,i,l){this.normal=i,this.property=n,l&&(this.space=l)}}ts.prototype.normal={};ts.prototype.property={};ts.prototype.space=void 0;function i_(e,n){const i={},l={};for(const o of e)Object.assign(i,o.property),Object.assign(l,o.normal);return new ts(i,l,n)}function Up(e){return e.toLowerCase()}class sn{constructor(n,i){this.attribute=i,this.property=n}}sn.prototype.attribute="";sn.prototype.booleanish=!1;sn.prototype.boolean=!1;sn.prototype.commaOrSpaceSeparated=!1;sn.prototype.commaSeparated=!1;sn.prototype.defined=!1;sn.prototype.mustUseProperty=!1;sn.prototype.number=!1;sn.prototype.overloadedBoolean=!1;sn.prototype.property="";sn.prototype.spaceSeparated=!1;sn.prototype.space=void 0;let m5=0;const Re=Wi(),zt=Wi(),Ip=Wi(),pe=Wi(),ot=Wi(),Wl=Wi(),yn=Wi();function Wi(){return 2**++m5}const Vp=Object.freeze(Object.defineProperty({__proto__:null,boolean:Re,booleanish:zt,commaOrSpaceSeparated:yn,commaSeparated:Wl,number:pe,overloadedBoolean:Ip,spaceSeparated:ot},Symbol.toStringTag,{value:"Module"})),op=Object.keys(Vp);class Sm extends sn{constructor(n,i,l,o){let s=-1;if(super(n,i),Zb(this,"space",o),typeof l=="number")for(;++s4&&i.slice(0,4)==="data"&&b5.test(n)){if(n.charAt(4)==="-"){const s=n.slice(5).replace(Kb,_5);l="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=n.slice(4);if(!Kb.test(s)){let u=s.replace(v5,S5);u.charAt(0)!=="-"&&(u="-"+u),n="data"+u}}o=Sm}return new o(l,n)}function S5(e){return"-"+e.toLowerCase()}function _5(e){return e.charAt(1).toUpperCase()}const E5=i_([l_,g5,s_,u_,c_],"html"),_m=i_([l_,y5,s_,u_,c_],"svg");function N5(e){return e.join(" ").trim()}var Il={},sp,Jb;function k5(){if(Jb)return sp;Jb=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,i=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,d=` -`,h="/",m="*",p="",y="comment",v="declaration";function w(S,E){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];E=E||{};var A=1,_=1;function z(H){var Y=H.match(n);Y&&(A+=Y.length);var O=H.lastIndexOf(d);_=~O?H.length-O:_+H.length}function B(){var H={line:A,column:_};return function(Y){return Y.position=new T(H),L(),Y}}function T(H){this.start=H,this.end={line:A,column:_},this.source=E.source}T.prototype.content=S;function I(H){var Y=new Error(E.source+":"+A+":"+_+": "+H);if(Y.reason=H,Y.filename=E.source,Y.line=A,Y.column=_,Y.source=S,!E.silent)throw Y}function M(H){var Y=H.exec(S);if(Y){var O=Y[0];return z(O),S=S.slice(O.length),Y}}function L(){M(i)}function X(H){var Y;for(H=H||[];Y=q();)Y!==!1&&H.push(Y);return H}function q(){var H=B();if(!(h!=S.charAt(0)||m!=S.charAt(1))){for(var Y=2;p!=S.charAt(Y)&&(m!=S.charAt(Y)||h!=S.charAt(Y+1));)++Y;if(Y+=2,p===S.charAt(Y-1))return I("End of comment missing");var O=S.slice(2,Y-2);return _+=2,z(O),S=S.slice(Y),_+=2,H({type:y,comment:O})}}function D(){var H=B(),Y=M(l);if(Y){if(q(),!M(o))return I("property missing ':'");var O=M(s),$=H({type:v,property:N(Y[0].replace(e,p)),value:O?N(O[0].replace(e,p)):p});return M(u),$}}function W(){var H=[];X(H);for(var Y;Y=D();)Y!==!1&&(H.push(Y),X(H));return H}return L(),W()}function N(S){return S?S.replace(f,p):p}return sp=w,sp}var Wb;function C5(){if(Wb)return Il;Wb=1;var e=Il&&Il.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Il,"__esModule",{value:!0}),Il.default=i;const n=e(k5());function i(l,o){let s=null;if(!l||typeof l!="string")return s;const u=(0,n.default)(l),f=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:h,value:m}=d;f?o(h,m,d):m&&(s=s||{},s[h]=m)}),s}return Il}var go={},e1;function z5(){if(e1)return go;e1=1,Object.defineProperty(go,"__esModule",{value:!0}),go.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,i=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(h){return!h||i.test(h)||e.test(h)},u=function(h,m){return m.toUpperCase()},f=function(h,m){return"".concat(m,"-")},d=function(h,m){return m===void 0&&(m={}),s(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(n,u))};return go.camelCase=d,go}var yo,t1;function A5(){if(t1)return yo;t1=1;var e=yo&&yo.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},n=e(C5()),i=z5();function l(o,s){var u={};return!o||typeof o!="string"||(0,n.default)(o,function(f,d){f&&d&&(u[(0,i.camelCase)(f,s)]=d)}),u}return l.default=l,yo=l,yo}var T5=A5();const M5=Yo(T5),f_=d_("end"),Em=d_("start");function d_(e){return n;function n(i){const l=i&&i.position&&i.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function j5(e){const n=Em(e),i=f_(e);if(n&&i)return{start:n,end:i}}function zo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?n1(e.position):"start"in e||"end"in e?n1(e):"line"in e||"column"in e?Gp(e):""}function Gp(e){return r1(e&&e.line)+":"+r1(e&&e.column)}function n1(e){return Gp(e&&e.start)+"-"+Gp(e&&e.end)}function r1(e){return e&&typeof e=="number"?e:1}class Xt extends Error{constructor(n,i,l){super(),typeof i=="string"&&(l=i,i=void 0);let o="",s={},u=!1;if(i&&("line"in i&&"column"in i?s={place:i}:"start"in i&&"end"in i?s={place:i}:"type"in i?s={ancestors:[i],place:i.position}:s={...i}),typeof n=="string"?o=n:!s.cause&&n&&(u=!0,o=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof l=="string"){const d=l.indexOf(":");d===-1?s.ruleId=l:(s.source=l.slice(0,d),s.ruleId=l.slice(d+1))}if(!s.place&&s.ancestors&&s.ancestors){const d=s.ancestors[s.ancestors.length-1];d&&(s.place=d.position)}const f=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=zo(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=u&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Xt.prototype.file="";Xt.prototype.name="";Xt.prototype.reason="";Xt.prototype.message="";Xt.prototype.stack="";Xt.prototype.column=void 0;Xt.prototype.line=void 0;Xt.prototype.ancestors=void 0;Xt.prototype.cause=void 0;Xt.prototype.fatal=void 0;Xt.prototype.place=void 0;Xt.prototype.ruleId=void 0;Xt.prototype.source=void 0;const Nm={}.hasOwnProperty,O5=new Map,R5=/[A-Z]/g,D5=new Set(["table","tbody","thead","tfoot","tr"]),L5=new Set(["td","th"]),h_="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function H5(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const i=n.filePath||void 0;let l;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=$5(i,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=Y5(i,n.jsx,n.jsxs)}const o={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:l,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:i,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?_m:E5,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},s=p_(o,e,void 0);return s&&typeof s!="string"?s:o.create(e,o.Fragment,{children:s||void 0},void 0)}function p_(e,n,i){if(n.type==="element")return B5(e,n,i);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return q5(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return I5(e,n,i);if(n.type==="mdxjsEsm")return U5(e,n);if(n.type==="root")return V5(e,n,i);if(n.type==="text")return G5(e,n)}function B5(e,n,i){const l=e.schema;let o=l;n.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=_m,e.schema=o),e.ancestors.push(n);const s=g_(e,n.tagName,!1),u=X5(e,n);let f=Cm(e,n);return D5.has(n.tagName)&&(f=f.filter(function(d){return typeof d=="string"?!p5(d):!0})),m_(e,u,s,n),km(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function q5(e,n){if(n.data&&n.data.estree&&e.evaluater){const l=n.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}Go(e,n.position)}function U5(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Go(e,n.position)}function I5(e,n,i){const l=e.schema;let o=l;n.name==="svg"&&l.space==="html"&&(o=_m,e.schema=o),e.ancestors.push(n);const s=n.name===null?e.Fragment:g_(e,n.name,!0),u=P5(e,n),f=Cm(e,n);return m_(e,u,s,n),km(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function V5(e,n,i){const l={};return km(l,Cm(e,n)),e.create(n,e.Fragment,l,i)}function G5(e,n){return n.value}function m_(e,n,i,l){typeof i!="string"&&i!==e.Fragment&&e.passNode&&(n.node=l)}function km(e,n){if(n.length>0){const i=n.length>1?n:n[0];i&&(e.children=i)}}function Y5(e,n,i){return l;function l(o,s,u,f){const h=Array.isArray(u.children)?i:n;return f?h(s,u,f):h(s,u)}}function $5(e,n){return i;function i(l,o,s,u){const f=Array.isArray(s.children),d=Em(l);return n(o,s,u,f,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function X5(e,n){const i={};let l,o;for(o in n.properties)if(o!=="children"&&Nm.call(n.properties,o)){const s=F5(e,o,n.properties[o]);if(s){const[u,f]=s;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&L5.has(n.tagName)?l=f:i[u]=f}}if(l){const s=i.style||(i.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return i}function P5(e,n){const i={};for(const l of n.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const s=l.data.estree.body[0];s.type;const u=s.expression;u.type;const f=u.properties[0];f.type,Object.assign(i,e.evaluater.evaluateExpression(f.argument))}else Go(e,n.position);else{const o=l.name;let s;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,s=e.evaluater.evaluateExpression(f.expression)}else Go(e,n.position);else s=l.value===null?!0:l.value;i[o]=s}return i}function Cm(e,n){const i=[];let l=-1;const o=e.passKeys?new Map:O5;for(;++lo?0:o+n:n=n>o?o:n,i=i>0?i:0,l.length<1e4)u=Array.from(l),u.unshift(n,i),e.splice(...u);else for(i&&e.splice(n,i);s0?(ir(e,e.length,0,n),e):n}const a1={}.hasOwnProperty;function nO(e){const n={};let i=-1;for(;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"�":String.fromCodePoint(i)}function ea(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const er=yi(/[A-Za-z]/),bn=yi(/[\dA-Za-z]/),lO=yi(/[#-'*+\--9=?A-Z^-~]/);function Yp(e){return e!==null&&(e<32||e===127)}const $p=yi(/\d/),aO=yi(/[\dA-Fa-f]/),oO=yi(/[!-/:-@[-`{-~]/);function ze(e){return e!==null&&e<-2}function an(e){return e!==null&&(e<0||e===32)}function Qe(e){return e===-2||e===-1||e===32}const sO=yi(new RegExp("\\p{P}|\\p{S}","u")),uO=yi(/\s/);function yi(e){return n;function n(i){return i!==null&&i>-1&&e.test(String.fromCharCode(i))}}function ha(e){const n=[];let i=-1,l=0,o=0;for(;++i55295&&s<57344){const f=e.charCodeAt(i+1);s<56320&&f>56319&&f<57344?(u=String.fromCharCode(s,f),o=1):u="�"}else u=String.fromCharCode(s);u&&(n.push(e.slice(l,i),encodeURIComponent(u)),l=i+o+1,u=""),o&&(i+=o,o=0)}return n.join("")+e.slice(l)}function st(e,n,i,l){const o=l?l-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(d){return Qe(d)?(e.enter(i),f(d)):n(d)}function f(d){return Qe(d)&&s++u))return;const I=n.events.length;let M=I,L,X;for(;M--;)if(n.events[M][0]==="exit"&&n.events[M][1].type==="chunkFlow"){if(L){X=n.events[M][1].end;break}L=!0}for(E(l),T=I;T_;){const B=i[z];n.containerState=B[1],B[0].exit.call(n,e)}i.length=_}function A(){o.write([null]),s=void 0,o=void 0,n.containerState._closeFlow=void 0}}function pO(e,n,i){return st(e,e.attempt(this.parser.constructs.document,n,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function s1(e){if(e===null||an(e)||uO(e))return 1;if(sO(e))return 2}function Am(e,n,i){const l=[];let o=-1;for(;++o1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;const p={...e[l][1].end},y={...e[i][1].start};u1(p,-d),u1(y,d),u={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[l][1].end}},f={type:d>1?"strongSequence":"emphasisSequence",start:{...e[i][1].start},end:y},s={type:d>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[i][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[i][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=Mn(h,[["enter",e[l][1],n],["exit",e[l][1],n]])),h=Mn(h,[["enter",o,n],["enter",u,n],["exit",u,n],["enter",s,n]]),h=Mn(h,Am(n.parser.constructs.insideSpan.null,e.slice(l+1,i),n)),h=Mn(h,[["exit",s,n],["enter",f,n],["exit",f,n],["exit",o,n]]),e[i][1].end.offset-e[i][1].start.offset?(m=2,h=Mn(h,[["enter",e[i][1],n],["exit",e[i][1],n]])):m=0,ir(e,l-1,i-l+3,h),i=l+h.length-m-2;break}}for(i=-1;++i0&&Qe(T)?st(e,A,"linePrefix",s+1)(T):A(T)}function A(T){return T===null||ze(T)?e.check(c1,N,z)(T):(e.enter("codeFlowValue"),_(T))}function _(T){return T===null||ze(T)?(e.exit("codeFlowValue"),A(T)):(e.consume(T),_)}function z(T){return e.exit("codeFenced"),n(T)}function B(T,I,M){let L=0;return X;function X(Y){return T.enter("lineEnding"),T.consume(Y),T.exit("lineEnding"),q}function q(Y){return T.enter("codeFencedFence"),Qe(Y)?st(T,D,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Y):D(Y)}function D(Y){return Y===f?(T.enter("codeFencedFenceSequence"),W(Y)):M(Y)}function W(Y){return Y===f?(L++,T.consume(Y),W):L>=u?(T.exit("codeFencedFenceSequence"),Qe(Y)?st(T,H,"whitespace")(Y):H(Y)):M(Y)}function H(Y){return Y===null||ze(Y)?(T.exit("codeFencedFence"),I(Y)):M(Y)}}}function kO(e,n,i){const l=this;return o;function o(u){return u===null?i(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}const cp={name:"codeIndented",tokenize:zO},CO={partial:!0,tokenize:AO};function zO(e,n,i){const l=this;return o;function o(h){return e.enter("codeIndented"),st(e,s,"linePrefix",5)(h)}function s(h){const m=l.events[l.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?u(h):i(h)}function u(h){return h===null?d(h):ze(h)?e.attempt(CO,u,d)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||ze(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function d(h){return e.exit("codeIndented"),n(h)}}function AO(e,n,i){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?i(u):ze(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):st(e,s,"linePrefix",5)(u)}function s(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?n(u):ze(u)?o(u):i(u)}}const TO={name:"codeText",previous:jO,resolve:MO,tokenize:OO};function MO(e){let n=e.length-4,i=3,l,o;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(l=i;++l=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(n,i,l){const o=i||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&xo(this.left,l),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),xo(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),xo(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(u):e.interrupt(l.parser.constructs.flow,i,n)(u)}}function __(e,n,i,l,o,s,u,f,d){const h=d||Number.POSITIVE_INFINITY;let m=0;return p;function p(E){return E===60?(e.enter(l),e.enter(o),e.enter(s),e.consume(E),e.exit(s),y):E===null||E===32||E===41||Yp(E)?i(E):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),N(E))}function y(E){return E===62?(e.enter(s),e.consume(E),e.exit(s),e.exit(o),e.exit(l),n):(e.enter(f),e.enter("chunkString",{contentType:"string"}),v(E))}function v(E){return E===62?(e.exit("chunkString"),e.exit(f),y(E)):E===null||E===60||ze(E)?i(E):(e.consume(E),E===92?w:v)}function w(E){return E===60||E===62||E===92?(e.consume(E),v):v(E)}function N(E){return!m&&(E===null||E===41||an(E))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),n(E)):m999||v===null||v===91||v===93&&!d||v===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?i(v):v===93?(e.exit(s),e.enter(o),e.consume(v),e.exit(o),e.exit(l),n):ze(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||ze(v)||f++>999?(e.exit("chunkString"),m(v)):(e.consume(v),d||(d=!Qe(v)),v===92?y:p)}function y(v){return v===91||v===92||v===93?(e.consume(v),f++,p):p(v)}}function N_(e,n,i,l,o,s){let u;return f;function f(y){return y===34||y===39||y===40?(e.enter(l),e.enter(o),e.consume(y),e.exit(o),u=y===40?41:y,d):i(y)}function d(y){return y===u?(e.enter(o),e.consume(y),e.exit(o),e.exit(l),n):(e.enter(s),h(y))}function h(y){return y===u?(e.exit(s),d(u)):y===null?i(y):ze(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),st(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===u||y===null||ze(y)?(e.exit("chunkString"),h(y)):(e.consume(y),y===92?p:m)}function p(y){return y===u||y===92?(e.consume(y),m):m(y)}}function Ao(e,n){let i;return l;function l(o){return ze(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i=!0,l):Qe(o)?st(e,l,i?"linePrefix":"lineSuffix")(o):n(o)}}const IO={name:"definition",tokenize:GO},VO={partial:!0,tokenize:YO};function GO(e,n,i){const l=this;let o;return s;function s(v){return e.enter("definition"),u(v)}function u(v){return E_.call(l,e,f,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function f(v){return o=ea(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),d):i(v)}function d(v){return an(v)?Ao(e,h)(v):h(v)}function h(v){return __(e,m,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return e.attempt(VO,p,p)(v)}function p(v){return Qe(v)?st(e,y,"whitespace")(v):y(v)}function y(v){return v===null||ze(v)?(e.exit("definition"),l.parser.defined.push(o),n(v)):i(v)}}function YO(e,n,i){return l;function l(f){return an(f)?Ao(e,o)(f):i(f)}function o(f){return N_(e,s,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function s(f){return Qe(f)?st(e,u,"whitespace")(f):u(f)}function u(f){return f===null||ze(f)?n(f):i(f)}}const $O={name:"hardBreakEscape",tokenize:XO};function XO(e,n,i){return l;function l(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return ze(s)?(e.exit("hardBreakEscape"),n(s)):i(s)}}const PO={name:"headingAtx",resolve:FO,tokenize:QO};function FO(e,n){let i=e.length-2,l=3,o,s;return e[l][1].type==="whitespace"&&(l+=2),i-2>l&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(l===i-1||i-4>l&&e[i-2][1].type==="whitespace")&&(i-=l+1===i?2:4),i>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[i][1].end},s={type:"chunkText",start:e[l][1].start,end:e[i][1].end,contentType:"text"},ir(e,l,i-l+1,[["enter",o,n],["enter",s,n],["exit",s,n],["exit",o,n]])),e}function QO(e,n,i){let l=0;return o;function o(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),u(m)}function u(m){return m===35&&l++<6?(e.consume(m),u):m===null||an(m)?(e.exit("atxHeadingSequence"),f(m)):i(m)}function f(m){return m===35?(e.enter("atxHeadingSequence"),d(m)):m===null||ze(m)?(e.exit("atxHeading"),n(m)):Qe(m)?st(e,f,"whitespace")(m):(e.enter("atxHeadingText"),h(m))}function d(m){return m===35?(e.consume(m),d):(e.exit("atxHeadingSequence"),f(m))}function h(m){return m===null||m===35||an(m)?(e.exit("atxHeadingText"),f(m)):(e.consume(m),h)}}const ZO=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],d1=["pre","script","style","textarea"],KO={concrete:!0,name:"htmlFlow",resolveTo:eR,tokenize:tR},JO={partial:!0,tokenize:rR},WO={partial:!0,tokenize:nR};function eR(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function tR(e,n,i){const l=this;let o,s,u,f,d;return h;function h(k){return m(k)}function m(k){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(k),p}function p(k){return k===33?(e.consume(k),y):k===47?(e.consume(k),s=!0,N):k===63?(e.consume(k),o=3,l.interrupt?n:j):er(k)?(e.consume(k),u=String.fromCharCode(k),S):i(k)}function y(k){return k===45?(e.consume(k),o=2,v):k===91?(e.consume(k),o=5,f=0,w):er(k)?(e.consume(k),o=4,l.interrupt?n:j):i(k)}function v(k){return k===45?(e.consume(k),l.interrupt?n:j):i(k)}function w(k){const V="CDATA[";return k===V.charCodeAt(f++)?(e.consume(k),f===V.length?l.interrupt?n:D:w):i(k)}function N(k){return er(k)?(e.consume(k),u=String.fromCharCode(k),S):i(k)}function S(k){if(k===null||k===47||k===62||an(k)){const V=k===47,F=u.toLowerCase();return!V&&!s&&d1.includes(F)?(o=1,l.interrupt?n(k):D(k)):ZO.includes(u.toLowerCase())?(o=6,V?(e.consume(k),E):l.interrupt?n(k):D(k)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?i(k):s?A(k):_(k))}return k===45||bn(k)?(e.consume(k),u+=String.fromCharCode(k),S):i(k)}function E(k){return k===62?(e.consume(k),l.interrupt?n:D):i(k)}function A(k){return Qe(k)?(e.consume(k),A):X(k)}function _(k){return k===47?(e.consume(k),X):k===58||k===95||er(k)?(e.consume(k),z):Qe(k)?(e.consume(k),_):X(k)}function z(k){return k===45||k===46||k===58||k===95||bn(k)?(e.consume(k),z):B(k)}function B(k){return k===61?(e.consume(k),T):Qe(k)?(e.consume(k),B):_(k)}function T(k){return k===null||k===60||k===61||k===62||k===96?i(k):k===34||k===39?(e.consume(k),d=k,I):Qe(k)?(e.consume(k),T):M(k)}function I(k){return k===d?(e.consume(k),d=null,L):k===null||ze(k)?i(k):(e.consume(k),I)}function M(k){return k===null||k===34||k===39||k===47||k===60||k===61||k===62||k===96||an(k)?B(k):(e.consume(k),M)}function L(k){return k===47||k===62||Qe(k)?_(k):i(k)}function X(k){return k===62?(e.consume(k),q):i(k)}function q(k){return k===null||ze(k)?D(k):Qe(k)?(e.consume(k),q):i(k)}function D(k){return k===45&&o===2?(e.consume(k),O):k===60&&o===1?(e.consume(k),$):k===62&&o===4?(e.consume(k),U):k===63&&o===3?(e.consume(k),j):k===93&&o===5?(e.consume(k),K):ze(k)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(JO,P,W)(k)):k===null||ze(k)?(e.exit("htmlFlowData"),W(k)):(e.consume(k),D)}function W(k){return e.check(WO,H,P)(k)}function H(k){return e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),Y}function Y(k){return k===null||ze(k)?W(k):(e.enter("htmlFlowData"),D(k))}function O(k){return k===45?(e.consume(k),j):D(k)}function $(k){return k===47?(e.consume(k),u="",Z):D(k)}function Z(k){if(k===62){const V=u.toLowerCase();return d1.includes(V)?(e.consume(k),U):D(k)}return er(k)&&u.length<8?(e.consume(k),u+=String.fromCharCode(k),Z):D(k)}function K(k){return k===93?(e.consume(k),j):D(k)}function j(k){return k===62?(e.consume(k),U):k===45&&o===2?(e.consume(k),j):D(k)}function U(k){return k===null||ze(k)?(e.exit("htmlFlowData"),P(k)):(e.consume(k),U)}function P(k){return e.exit("htmlFlow"),n(k)}}function nR(e,n,i){const l=this;return o;function o(u){return ze(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):i(u)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}function rR(e,n,i){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(Cc,n,i)}}const iR={name:"htmlText",tokenize:lR};function lR(e,n,i){const l=this;let o,s,u;return f;function f(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),d}function d(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),_):er(j)?(e.consume(j),M):i(j)}function h(j){return j===45?(e.consume(j),m):j===91?(e.consume(j),s=0,w):er(j)?(e.consume(j),A):i(j)}function m(j){return j===45?(e.consume(j),v):i(j)}function p(j){return j===null?i(j):j===45?(e.consume(j),y):ze(j)?(u=p,$(j)):(e.consume(j),p)}function y(j){return j===45?(e.consume(j),v):p(j)}function v(j){return j===62?O(j):j===45?y(j):p(j)}function w(j){const U="CDATA[";return j===U.charCodeAt(s++)?(e.consume(j),s===U.length?N:w):i(j)}function N(j){return j===null?i(j):j===93?(e.consume(j),S):ze(j)?(u=N,$(j)):(e.consume(j),N)}function S(j){return j===93?(e.consume(j),E):N(j)}function E(j){return j===62?O(j):j===93?(e.consume(j),E):N(j)}function A(j){return j===null||j===62?O(j):ze(j)?(u=A,$(j)):(e.consume(j),A)}function _(j){return j===null?i(j):j===63?(e.consume(j),z):ze(j)?(u=_,$(j)):(e.consume(j),_)}function z(j){return j===62?O(j):_(j)}function B(j){return er(j)?(e.consume(j),T):i(j)}function T(j){return j===45||bn(j)?(e.consume(j),T):I(j)}function I(j){return ze(j)?(u=I,$(j)):Qe(j)?(e.consume(j),I):O(j)}function M(j){return j===45||bn(j)?(e.consume(j),M):j===47||j===62||an(j)?L(j):i(j)}function L(j){return j===47?(e.consume(j),O):j===58||j===95||er(j)?(e.consume(j),X):ze(j)?(u=L,$(j)):Qe(j)?(e.consume(j),L):O(j)}function X(j){return j===45||j===46||j===58||j===95||bn(j)?(e.consume(j),X):q(j)}function q(j){return j===61?(e.consume(j),D):ze(j)?(u=q,$(j)):Qe(j)?(e.consume(j),q):L(j)}function D(j){return j===null||j===60||j===61||j===62||j===96?i(j):j===34||j===39?(e.consume(j),o=j,W):ze(j)?(u=D,$(j)):Qe(j)?(e.consume(j),D):(e.consume(j),H)}function W(j){return j===o?(e.consume(j),o=void 0,Y):j===null?i(j):ze(j)?(u=W,$(j)):(e.consume(j),W)}function H(j){return j===null||j===34||j===39||j===60||j===61||j===96?i(j):j===47||j===62||an(j)?L(j):(e.consume(j),H)}function Y(j){return j===47||j===62||an(j)?L(j):i(j)}function O(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),n):i(j)}function $(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Z}function Z(j){return Qe(j)?st(e,K,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):K(j)}function K(j){return e.enter("htmlTextData"),u(j)}}const Tm={name:"labelEnd",resolveAll:uR,resolveTo:cR,tokenize:fR},aR={tokenize:dR},oR={tokenize:hR},sR={tokenize:pR};function uR(e){let n=-1;const i=[];for(;++n=3&&(h===null||ze(h))?(e.exit("thematicBreak"),n(h)):i(h)}function d(h){return h===o?(e.consume(h),l++,d):(e.exit("thematicBreakSequence"),Qe(h)?st(e,f,"whitespace")(h):f(h))}}const rn={continuation:{tokenize:ER},exit:kR,name:"list",tokenize:_R},wR={partial:!0,tokenize:CR},SR={partial:!0,tokenize:NR};function _R(e,n,i){const l=this,o=l.events[l.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(v){const w=l.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||v===l.containerState.marker:$p(v)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Pu,i,h)(v):h(v);if(!l.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(v)}return i(v)}function d(v){return $p(v)&&++u<10?(e.consume(v),d):(!l.interrupt||u<2)&&(l.containerState.marker?v===l.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):i(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||v,e.check(Cc,l.interrupt?i:m,e.attempt(wR,y,p))}function m(v){return l.containerState.initialBlankLine=!0,s++,y(v)}function p(v){return Qe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),y):i(v)}function y(v){return l.containerState.size=s+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(v)}}function ER(e,n,i){const l=this;return l.containerState._closeFlow=void 0,e.check(Cc,o,s);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,st(e,n,"listItemIndent",l.containerState.size+1)(f)}function s(f){return l.containerState.furtherBlankLines||!Qe(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(SR,n,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,st(e,e.attempt(rn,n,i),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function NR(e,n,i){const l=this;return st(e,o,"listItemIndent",l.containerState.size+1);function o(s){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?n(s):i(s)}}function kR(e){e.exit(this.containerState.type)}function CR(e,n,i){const l=this;return st(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const u=l.events[l.events.length-1];return!Qe(s)&&u&&u[1].type==="listItemPrefixWhitespace"?n(s):i(s)}}const h1={name:"setextUnderline",resolveTo:zR,tokenize:AR};function zR(e,n){let i=e.length,l,o,s;for(;i--;)if(e[i][0]==="enter"){if(e[i][1].type==="content"){l=i;break}e[i][1].type==="paragraph"&&(o=i)}else e[i][1].type==="content"&&e.splice(i,1),!s&&e[i][1].type==="definition"&&(s=i);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",u,n]),e.splice(s+1,0,["exit",e[l][1],n]),e[l][1].end={...e[s][1].end}):e[l][1]=u,e.push(["exit",u,n]),e}function AR(e,n,i){const l=this;let o;return s;function s(h){let m=l.events.length,p;for(;m--;)if(l.events[m][1].type!=="lineEnding"&&l.events[m][1].type!=="linePrefix"&&l.events[m][1].type!=="content"){p=l.events[m][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||p)?(e.enter("setextHeadingLine"),o=h,u(h)):i(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Qe(h)?st(e,d,"lineSuffix")(h):d(h))}function d(h){return h===null||ze(h)?(e.exit("setextHeadingLine"),n(h)):i(h)}}const TR={tokenize:MR};function MR(e){const n=this,i=e.attempt(Cc,l,e.attempt(this.parser.constructs.flowInitial,o,st(e,e.attempt(this.parser.constructs.flow,o,e.attempt(LO,o)),"linePrefix")));return i;function l(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,i}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,i}}const jR={resolveAll:C_()},OR=k_("string"),RR=k_("text");function k_(e){return{resolveAll:C_(e==="text"?DR:void 0),tokenize:n};function n(i){const l=this,o=this.parser.constructs[e],s=i.attempt(o,u,f);return u;function u(m){return h(m)?s(m):f(m)}function f(m){if(m===null){i.consume(m);return}return i.enter("data"),i.consume(m),d}function d(m){return h(m)?(i.exit("data"),s(m)):(i.consume(m),d)}function h(m){if(m===null)return!0;const p=o[m];let y=-1;if(p)for(;++y-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}s>0&&u.push(e[o].slice(0,s))}return u}function FR(e,n){let i=-1;const l=[];let o;for(;++i0){const Pt=Ne.tokenStack[Ne.tokenStack.length-1];(Pt[1]||m1).call(Ne,void 0,Pt[0])}for(me.position={start:pi(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:pi(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ge=-1;++Ge0&&(l.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:l,children:[{type:"text",value:i}]};return n.meta&&(s.data={meta:n.meta}),e.patch(n,s),s=e.applyData(n,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(n,s),s}function sD(e,n){const i={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function uD(e,n){const i={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function cD(e,n){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(n.identifier).toUpperCase(),o=ha(l.toLowerCase()),s=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=s+1,f+=1,e.footnoteCounts.set(l,f);const d={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+o,id:i+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(n,d);const h={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(n,h),e.applyData(n,h)}function fD(e,n){const i={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function dD(e,n){if(e.options.allowDangerousHtml){const i={type:"raw",value:n.value};return e.patch(n,i),e.applyData(n,i)}}function T_(e,n){const i=n.referenceType;let l="]";if(i==="collapsed"?l+="[]":i==="full"&&(l+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+l}];const o=e.all(n),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function hD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return T_(e,n);const o={src:ha(l.url||""),alt:n.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"img",properties:o,children:[]};return e.patch(n,s),e.applyData(n,s)}function pD(e,n){const i={src:ha(n.url)};n.alt!==null&&n.alt!==void 0&&(i.alt=n.alt),n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function mD(e,n){const i={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,i);const l={type:"element",tagName:"code",properties:{},children:[i]};return e.patch(n,l),e.applyData(n,l)}function gD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return T_(e,n);const o={href:ha(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"a",properties:o,children:e.all(n)};return e.patch(n,s),e.applyData(n,s)}function yD(e,n){const i={href:ha(n.url)};n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function xD(e,n,i){const l=e.all(n),o=i?vD(i):M_(n),s={},u=[];if(typeof n.checked=="boolean"){const m=l[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},l.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let f=-1;for(;++f1}function bD(e,n){const i={},l=e.all(n);let o=-1;for(typeof n.start=="number"&&n.start!==1&&(i.start=n.start);++o0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(i,!0)},f=Em(n.children[1]),d=f_(n.children[n.children.length-1]);f&&d&&(u.position={start:f,end:d}),o.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(n,s),e.applyData(n,s)}function ND(e,n,i){const l=i?i.children:void 0,s=(l?l.indexOf(n):1)===0?"th":"td",u=i&&i.type==="table"?i.align:void 0,f=u?u.length:n.children.length;let d=-1;const h=[];for(;++d0,!0),l[0]),o=l.index+l[0].length,l=i.exec(n);return s.push(x1(n.slice(o),o>0,!1)),s.join("")}function x1(e,n,i){let l=0,o=e.length;if(n){let s=e.codePointAt(l);for(;s===g1||s===y1;)l++,s=e.codePointAt(l)}if(i){let s=e.codePointAt(o-1);for(;s===g1||s===y1;)o--,s=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function zD(e,n){const i={type:"text",value:CD(String(n.value))};return e.patch(n,i),e.applyData(n,i)}function AD(e,n){const i={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,i),e.applyData(n,i)}const TD={blockquote:lD,break:aD,code:oD,delete:sD,emphasis:uD,footnoteReference:cD,heading:fD,html:dD,imageReference:hD,image:pD,inlineCode:mD,linkReference:gD,link:yD,listItem:xD,list:bD,paragraph:wD,root:SD,strong:_D,table:ED,tableCell:kD,tableRow:ND,text:zD,thematicBreak:AD,toml:Hu,yaml:Hu,definition:Hu,footnoteDefinition:Hu};function Hu(){}const j_=-1,zc=0,To=1,uc=2,Mm=3,jm=4,Om=5,Rm=6,O_=7,R_=8,v1=typeof self=="object"?self:globalThis,MD=(e,n)=>{const i=(o,s)=>(e.set(s,o),o),l=o=>{if(e.has(o))return e.get(o);const[s,u]=n[o];switch(s){case zc:case j_:return i(u,o);case To:{const f=i([],o);for(const d of u)f.push(l(d));return f}case uc:{const f=i({},o);for(const[d,h]of u)f[l(d)]=l(h);return f}case Mm:return i(new Date(u),o);case jm:{const{source:f,flags:d}=u;return i(new RegExp(f,d),o)}case Om:{const f=i(new Map,o);for(const[d,h]of u)f.set(l(d),l(h));return f}case Rm:{const f=i(new Set,o);for(const d of u)f.add(l(d));return f}case O_:{const{name:f,message:d}=u;return i(new v1[f](d),o)}case R_:return i(BigInt(u),o);case"BigInt":return i(Object(BigInt(u)),o);case"ArrayBuffer":return i(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return i(new DataView(f),u)}}return i(new v1[s](u),o)};return l},b1=e=>MD(new Map,e)(0),Vl="",{toString:jD}={},{keys:OD}=Object,vo=e=>{const n=typeof e;if(n!=="object"||!e)return[zc,n];const i=jD.call(e).slice(8,-1);switch(i){case"Array":return[To,Vl];case"Object":return[uc,Vl];case"Date":return[Mm,Vl];case"RegExp":return[jm,Vl];case"Map":return[Om,Vl];case"Set":return[Rm,Vl];case"DataView":return[To,i]}return i.includes("Array")?[To,i]:i.includes("Error")?[O_,i]:[uc,i]},Bu=([e,n])=>e===zc&&(n==="function"||n==="symbol"),RD=(e,n,i,l)=>{const o=(u,f)=>{const d=l.push(u)-1;return i.set(f,d),d},s=u=>{if(i.has(u))return i.get(u);let[f,d]=vo(u);switch(f){case zc:{let m=u;switch(d){case"bigint":f=R_,m=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);m=null;break;case"undefined":return o([j_],u)}return o([f,m],u)}case To:{if(d){let y=u;return d==="DataView"?y=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(y=new Uint8Array(u)),o([d,[...y]],u)}const m=[],p=o([f,m],u);for(const y of u)m.push(s(y));return p}case uc:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(n&&"toJSON"in u)return s(u.toJSON());const m=[],p=o([f,m],u);for(const y of OD(u))(e||!Bu(vo(u[y])))&&m.push([s(y),s(u[y])]);return p}case Mm:return o([f,u.toISOString()],u);case jm:{const{source:m,flags:p}=u;return o([f,{source:m,flags:p}],u)}case Om:{const m=[],p=o([f,m],u);for(const[y,v]of u)(e||!(Bu(vo(y))||Bu(vo(v))))&&m.push([s(y),s(v)]);return p}case Rm:{const m=[],p=o([f,m],u);for(const y of u)(e||!Bu(vo(y)))&&m.push(s(y));return p}}const{message:h}=u;return o([f,{name:d,message:h}],u)};return s},w1=(e,{json:n,lossy:i}={})=>{const l=[];return RD(!(n||i),!!n,new Map,l)(e),l},cc=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?b1(w1(e,n)):structuredClone(e):(e,n)=>b1(w1(e,n));function DD(e,n){const i=[{type:"text",value:"↩"}];return n>1&&i.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),i}function LD(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function HD(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=e.options.footnoteBackContent||DD,l=e.options.footnoteBackLabel||LD,o=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let d=-1;for(;++d0&&w.push({type:"text",value:" "});let A=typeof i=="string"?i:i(d,v);typeof A=="string"&&(A={type:"text",value:A}),w.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+y+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(d,v),className:["data-footnote-backref"]},children:Array.isArray(A)?A:[A]})}const S=m[m.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const A=S.children[S.children.length-1];A&&A.type==="text"?A.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...w)}else m.push(...w);const E={type:"element",tagName:"li",properties:{id:n+"fn-"+y},children:e.wrap(m,!0)};e.patch(h,E),f.push(E)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...cc(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` -`},{type:"element",tagName:"ol",properties:{},children:e.wrap(f,!0)},{type:"text",value:` -`}]}}const D_=(function(e){if(e==null)return ID;if(typeof e=="function")return Ac(e);if(typeof e=="object")return Array.isArray(e)?BD(e):qD(e);if(typeof e=="string")return UD(e);throw new Error("Expected function, string, or object as test")});function BD(e){const n=[];let i=-1;for(;++i":""))+")"})}return y;function y(){let v=L_,w,N,S;if((!n||s(d,h,m[m.length-1]||void 0))&&(v=XD(i(d,m)),v[0]===S1))return v;if("children"in d&&d.children){const E=d;if(E.children&&v[0]!==YD)for(N=(l?E.children.length:-1)+u,S=m.concat(E);N>-1&&N0&&i.push({type:"text",value:` -`}),i}function _1(e){let n=0,i=e.charCodeAt(n);for(;i===9||i===32;)n++,i=e.charCodeAt(n);return e.slice(n)}function E1(e,n){const i=FD(e,n),l=i.one(e,void 0),o=HD(i),s=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&s.children.push({type:"text",value:` -`},o),s}function WD(e,n){return e&&"run"in e?async function(i,l){const o=E1(i,{file:l,...n});await e.run(o,l)}:function(i,l){return E1(i,{file:l,...e||n})}}function N1(e){if(e)throw e}var dp,k1;function e6(){if(k1)return dp;k1=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):n.call(h)==="[object Array]"},s=function(h){if(!h||n.call(h)!=="[object Object]")return!1;var m=e.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var y;for(y in h);return typeof y>"u"||e.call(h,y)},u=function(h,m){i&&m.name==="__proto__"?i(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},f=function(h,m){if(m==="__proto__")if(e.call(h,m)){if(l)return l(h,m).value}else return;return h[m]};return dp=function d(){var h,m,p,y,v,w,N=arguments[0],S=1,E=arguments.length,A=!1;for(typeof N=="boolean"&&(A=N,N=arguments[1]||{},S=2),(N==null||typeof N!="object"&&typeof N!="function")&&(N={});Su.length;let d;f&&u.push(o);try{d=e.apply(this,u)}catch(h){const m=h;if(f&&i)throw m;return o(m)}f||(d&&d.then&&typeof d.then=="function"?d.then(s,o):d instanceof Error?o(d):s(d))}function o(u,...f){i||(i=!0,n(u,...f))}function s(u){o(null,u)}}const Jn={basename:i6,dirname:l6,extname:a6,join:o6,sep:"/"};function i6(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');ns(e);let i=0,l=-1,o=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else l<0&&(s=!0,l=o+1);return l<0?"":e.slice(i,l)}if(n===e)return"";let u=-1,f=n.length-1;for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else u<0&&(s=!0,u=o+1),f>-1&&(e.codePointAt(o)===n.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return i===l?l=u:l<0&&(l=e.length),e.slice(i,l)}function l6(e){if(ns(e),e.length===0)return".";let n=-1,i=e.length,l;for(;--i;)if(e.codePointAt(i)===47){if(l){n=i;break}}else l||(l=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function a6(e){ns(e);let n=e.length,i=-1,l=0,o=-1,s=0,u;for(;n--;){const f=e.codePointAt(n);if(f===47){if(u){l=n+1;break}continue}i<0&&(u=!0,i=n+1),f===46?o<0?o=n:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||i<0||s===0||s===1&&o===i-1&&o===l+1?"":e.slice(o,i)}function o6(...e){let n=-1,i;for(;++n0&&e.codePointAt(e.length-1)===47&&(i+="/"),n?"/"+i:i}function u6(e,n){let i="",l=0,o=-1,s=0,u=-1,f,d;for(;++u<=e.length;){if(u2){if(d=i.lastIndexOf("/"),d!==i.length-1){d<0?(i="",l=0):(i=i.slice(0,d),l=i.length-1-i.lastIndexOf("/")),o=u,s=0;continue}}else if(i.length>0){i="",l=0,o=u,s=0;continue}}n&&(i=i.length>0?i+"/..":"..",l=2)}else i.length>0?i+="/"+e.slice(o+1,u):i=e.slice(o+1,u),l=u-o-1;o=u,s=0}else f===46&&s>-1?s++:s=-1}return i}function ns(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const c6={cwd:f6};function f6(){return"/"}function Qp(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function d6(e){if(typeof e=="string")e=new URL(e);else if(!Qp(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return h6(e)}function h6(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const n=e.pathname;let i=-1;for(;++i0){let[v,...w]=m;const N=l[y][1];Fp(N)&&Fp(v)&&(v=hp(!0,N,v)),l[y]=[h,v,...w]}}}}const y6=new Dm().freeze();function yp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function xp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function vp(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function z1(e){if(!Fp(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function A1(e,n,i){if(!i)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function qu(e){return x6(e)?e:new B_(e)}function x6(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function v6(e){return typeof e=="string"||b6(e)}function b6(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const w6="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",T1=[],M1={allowDangerousHtml:!0},S6=/^(https?|ircs?|mailto|xmpp)$/i,_6=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function E6(e){const n=N6(e),i=k6(e);return C6(n.runSync(n.parse(i),i),e)}function N6(e){const n=e.rehypePlugins||T1,i=e.remarkPlugins||T1,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...M1}:M1;return y6().use(iD).use(i).use(WD,l).use(n)}function k6(e){const n=e.children||"",i=new B_;return typeof n=="string"&&(i.value=n),i}function C6(e,n){const i=n.allowedElements,l=n.allowElement,o=n.components,s=n.disallowedElements,u=n.skipHtml,f=n.unwrapDisallowed,d=n.urlTransform||z6;for(const m of _6)Object.hasOwn(n,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+w6+m.id,void 0);return H_(e,h),H5(e,{Fragment:b.Fragment,components:o,ignoreInvalidStyle:!0,jsx:b.jsx,jsxs:b.jsxs,passKeys:!0,passNode:!0});function h(m,p,y){if(m.type==="raw"&&y&&typeof p=="number")return u?y.children.splice(p,1):y.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in up)if(Object.hasOwn(up,v)&&Object.hasOwn(m.properties,v)){const w=m.properties[v],N=up[v];(N===null||N.includes(m.tagName))&&(m.properties[v]=d(String(w||""),v,m))}}if(m.type==="element"){let v=i?!i.includes(m.tagName):s?s.includes(m.tagName):!1;if(!v&&l&&typeof p=="number"&&(v=!l(m,p,y)),v&&y&&typeof p=="number")return f&&m.children?y.children.splice(p,1,...m.children):y.children.splice(p,1),p}}}function z6(e){const n=e.indexOf(":"),i=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return n===-1||o!==-1&&n>o||i!==-1&&n>i||l!==-1&&n>l||S6.test(e.slice(0,n))?e:""}function A6({node:e}){const n=xe(_=>_.sendGateResponse),i=xe(_=>_.wsStatus),[l,o]=G.useState(null),[s,u]=G.useState(""),[f,d]=G.useState(null),[h,m]=G.useState(!1),p=e.status==="waiting",y=e.status==="completed";G.useEffect(()=>{p&&(o(null),u(""),d(null),m(!1))},[p]);const v=p&&i==="connected"&&l===null,w=(_,z)=>{if(v){if(z){o(_),d(z);return}o(_),m(!0),n(e.name,_)}},N=()=>{if(l===null||f===null)return;const _={[f]:s};m(!0),n(e.name,l,_),d(null)},S=e.option_details,E=S==null?void 0:S.find(_=>_.value===e.selected_option),A=(E==null?void 0:E.label)||e.selected_option;return b.jsxs("div",{className:"space-y-3",children:[p&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[b.jsxs("span",{className:"relative flex h-2.5 w-2.5 flex-shrink-0",children:[b.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),b.jsx("span",{className:"relative inline-flex rounded-full h-2.5 w-2.5 bg-amber-500"})]}),b.jsx("span",{className:"text-xs font-semibold text-amber-400 tracking-wide",children:"Decision Required"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-amber-500/50 pl-3 py-0.5",children:b.jsx(bp,{text:e.prompt,muted:!1})}),S&&S.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsx("div",{className:"flex flex-col gap-1.5",children:S.map(_=>{const z=l===_.value,B=l!==null&&!z;return b.jsx("button",{disabled:!v&&!z,onClick:()=>w(_.value,_.prompt_for),className:`w-full text-left px-3 py-2.5 rounded-lg border transition-all duration-150 ${z?"border-green-500/60 bg-green-500/10":B?"border-[var(--border)] opacity-40 cursor-default":"border-[var(--border)] bg-[var(--surface)] hover:border-amber-400/60 hover:bg-amber-500/5 cursor-pointer group"}`,children:b.jsxs("div",{className:"flex items-center gap-2.5",children:[b.jsx("div",{className:"flex-shrink-0",children:z?b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",children:b.jsx(Gi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}):b.jsx("div",{className:`w-4 h-4 rounded-full border-2 transition-colors ${B?"border-[var(--border)]":"border-[var(--border)] group-hover:border-amber-400"}`})}),b.jsx("div",{className:"flex-1 min-w-0",children:b.jsx("span",{className:`text-xs font-medium ${z?"text-green-400":"text-[var(--text)]"}`,children:_.label})}),_.route&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] flex-shrink-0",children:["→ ",_.route]})]})},_.value)})}),h&&!f&&b.jsxs("div",{className:"flex items-center gap-2 px-1",children:[b.jsx(Mo,{className:"w-3 h-3 text-green-400 animate-spin"}),b.jsx("span",{className:"text-[10px] text-green-400",children:"Sending..."})]}),v&&b.jsx("p",{className:"text-[10px] text-[var(--text-muted)] px-1",children:"Select an option to continue the workflow"})]}),!S&&e.options&&e.options.length>0&&b.jsxs("div",{className:"space-y-1.5",children:[b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:"Options"}),b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsx("span",{className:"text-[11px] px-2 py-0.5 rounded border border-[var(--border)] text-[var(--text-muted)]",children:_},_))})]}),f&&b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--bg)] overflow-hidden",children:[b.jsx("div",{className:"px-3 py-2 border-b border-[var(--border)] bg-[var(--surface)]",children:b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:f})}),b.jsxs("div",{className:"p-3 space-y-2",children:[b.jsx("input",{type:"text",value:s,onChange:_=>u(_.target.value),onKeyDown:_=>_.key==="Enter"&&N(),placeholder:`Enter ${f}...`,className:"w-full text-xs px-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--bg)] text-[var(--text)] outline-none focus:border-amber-400 transition-colors",autoFocus:!0}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)]",children:"Press Enter or click Submit"}),b.jsxs("button",{onClick:N,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-amber-500 text-white hover:bg-amber-600 transition-colors font-medium",children:[b.jsx(bN,{className:"w-3 h-3"}),"Submit"]})]})]})]})]}),y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-green-500/10 border border-green-500/30",children:[b.jsx(Gi,{className:"w-3.5 h-3.5 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-green-400 tracking-wide",children:"Decision Completed"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(bp,{text:e.prompt,muted:!0})}),A&&b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-green-500/30 bg-green-500/5",children:[b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center flex-shrink-0",children:b.jsx(Gi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)]",children:A}),e.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",e.route]})]}),S&&S.length>1&&b.jsx("div",{className:"space-y-1",children:S.filter(_=>_.value!==e.selected_option).map(_=>b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg opacity-35",children:[b.jsx("div",{className:"w-4 h-4 rounded-full border-2 border-[var(--border)] flex-shrink-0"}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:_.label}),_.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",_.route]})]},_.value))}),!S&&e.options&&e.options.length>0&&b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsxs("span",{className:`text-[11px] px-2.5 py-1 rounded-lg border ${_===e.selected_option?"border-green-500/30 text-green-400 bg-green-500/5":"border-[var(--border)] text-[var(--text-muted)] opacity-40"}`,children:[_===e.selected_option&&"✓ ",_]},_))}),b.jsx(T6,{node:e})]}),!p&&!y&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Human Gate"}),b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] capitalize",children:["(",e.status,")"]})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(bp,{text:e.prompt,muted:!0})})]})]})}function bp({text:e,muted:n}){const i=n?"text-[var(--text-muted)]":"text-[var(--text)]";return b.jsx("div",{className:`gate-markdown text-xs leading-relaxed ${i}`,children:b.jsx(E6,{components:{h1:({children:l})=>b.jsx("h1",{className:"text-sm font-bold mb-2 mt-1",children:l}),h2:({children:l})=>b.jsx("h2",{className:"text-xs font-bold mb-1.5 mt-1",children:l}),h3:({children:l})=>b.jsx("h3",{className:"text-xs font-semibold mb-1 mt-1",children:l}),p:({children:l})=>b.jsx("p",{className:"mb-1.5 last:mb-0",children:l}),ul:({children:l})=>b.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:l}),ol:({children:l})=>b.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:l}),li:({children:l})=>b.jsx("li",{children:l}),code:({children:l,className:o})=>(o==null?void 0:o.includes("language-"))?b.jsx("code",{className:"block bg-[var(--bg)] border border-[var(--border)] rounded px-2 py-1.5 font-mono text-[11px] my-1 overflow-x-auto whitespace-pre",children:l}):b.jsx("code",{className:"bg-[var(--bg)] border border-[var(--border)] rounded px-1 py-0.5 font-mono text-[11px]",children:l}),pre:({children:l})=>b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md px-2.5 py-2 font-mono text-[11px] my-1.5 overflow-x-auto",children:l}),strong:({children:l})=>b.jsx("strong",{className:"font-semibold",children:l}),em:({children:l})=>b.jsx("em",{className:"italic",children:l}),a:({href:l,children:o})=>b.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline underline-offset-2",children:o}),blockquote:({children:l})=>b.jsx("blockquote",{className:"border-l-2 border-[var(--border)] pl-2.5 my-1.5 opacity-80",children:l}),hr:()=>b.jsx("hr",{className:"border-[var(--border)] my-2"})},children:e})})}function T6({node:e}){const n=[];if(e.route&&n.push({label:"Route",value:`→ ${e.route}`}),e.additional_input){const i=typeof e.additional_input=="object"?JSON.stringify(e.additional_input):e.additional_input;n.push({label:"Additional Input",value:i})}return n.length===0?null:b.jsx(fa,{items:n})}function M6({node:e}){const n=e.status,i=at[n]||at.pending,o=xe(m=>m.groupProgress)[e.name],s=e.type==="for_each_group",[u,f]=G.useState(!0),d=[];e.elapsed!=null&&d.push({label:"Elapsed",value:Gn(e.elapsed)}),o&&(d.push({label:"Total",value:o.total}),d.push({label:"Completed",value:o.completed}),o.failed>0&&d.push({label:"Failed",value:o.failed})),e.success_count!=null&&d.push({label:"Success",value:e.success_count}),e.failure_count!=null&&d.push({label:"Failures",value:e.failure_count});const h=e.for_each_items;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:s?"For-Each Group":"Parallel Group"})]}),o&&o.total>0&&b.jsxs("div",{className:"space-y-1",children:[b.jsxs("div",{className:"flex justify-between text-[10px] text-[var(--text-muted)]",children:[b.jsx("span",{children:"Progress"}),b.jsxs("span",{children:[o.completed+o.failed,"/",o.total]})]}),b.jsx("div",{className:"h-1.5 bg-[var(--bg)] rounded-full overflow-hidden",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${(o.completed+o.failed)/o.total*100}%`,background:o.failed>0?`linear-gradient(90deg, var(--completed) ${o.completed/(o.completed+o.failed)*100}%, var(--failed) 0%)`:"var(--completed)"}})})]}),b.jsx(fa,{items:d}),s&&h&&h.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsxs("button",{onClick:()=>f(!u),className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold hover:text-[var(--text)] transition-colors",children:[u?b.jsx(ua,{className:"w-3 h-3"}):b.jsx(Xo,{className:"w-3 h-3"}),"Items (",h.length,")"]}),u&&b.jsx("div",{className:"space-y-1",children:h.map(m=>b.jsx(O6,{item:m},`${m.key}-${m.index}`))})]})]})}const j6={running:at.running,completed:at.completed,failed:at.failed};function O6({item:e}){const[n,i]=G.useState(e.status==="running"),l=j6[e.status],o=!!(e.prompt||e.output!=null||e.activity&&e.activity.length>0||e.error_type),s=[];return e.elapsed!=null&&s.push({label:"Elapsed",value:Gn(e.elapsed)}),e.tokens!=null&&s.push({label:"Tokens",value:tr(e.tokens)}),e.cost_usd!=null&&s.push({label:"Cost",value:ta(e.cost_usd)}),b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--surface)] overflow-hidden",children:[b.jsxs("button",{onClick:()=>o&&i(!n),className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--node-bg)] transition-colors",disabled:!o,children:[o?n?b.jsx(ua,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Xo,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):e.status==="running"?b.jsx(Mo,{className:"w-3 h-3 animate-spin flex-shrink-0",style:{color:l}}):b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0 ml-0.5 mr-0.5",style:{backgroundColor:l}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate flex-1 min-w-0",children:e.key}),!n&&(e.elapsed!=null||e.tokens!=null||e.cost_usd!=null)&&b.jsxs("span",{className:"flex items-center gap-2 text-[10px] text-[var(--text-muted)] flex-shrink-0",children:[e.elapsed!=null&&b.jsx("span",{children:Gn(e.elapsed)}),e.tokens!=null&&b.jsx("span",{children:tr(e.tokens)}),e.cost_usd!=null&&b.jsx("span",{children:ta(e.cost_usd)})]}),b.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider flex-shrink-0 px-1.5 py-0.5 rounded",style:{backgroundColor:`${l}20`,color:l},children:e.status})]}),n&&o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[s.length>0&&b.jsx(fa,{items:s}),e.prompt&&b.jsx(Ji,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!1}),e.activity&&e.activity.length>0&&b.jsx(wm,{activity:e.activity,defaultExpanded:e.status!=="completed"}),e.output!=null&&b.jsx(Ji,{output:e.output,title:"Output",defaultExpanded:!0}),e.status==="failed"&&(e.error_type||e.error_message)&&b.jsxs("div",{className:"text-xs text-red-400",children:[e.error_type&&b.jsx("span",{className:"font-semibold",children:e.error_type}),e.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",e.error_message]})]})]})]})}function R6(){const e=xe(f=>f.selectedNode),n=xe(f=>f.nodes),i=xe(f=>f.selectNode),[l,o]=G.useState(!1);G.useEffect(()=>(requestAnimationFrame(()=>o(!0)),()=>o(!1)),[e]);const s=e?n[e]:null;if(!e||!s)return b.jsxs("div",{className:"h-full flex flex-col bg-[var(--surface)]",children:[b.jsx("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)]",children:"Detail"})}),b.jsx("div",{className:"flex-1 flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Click a node to view details"})})]});const u=(()=>{switch(s.type){case"script":return s5;case"human_gate":return A6;case"parallel_group":case"for_each_group":return M6;default:return a5}})();return b.jsxs("div",{className:Pe("h-full flex flex-col bg-[var(--surface)] transition-all duration-150 ease-out",l?"translate-x-0 opacity-100":"translate-x-4 opacity-0"),children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] flex-shrink-0",children:[b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] truncate",children:e}),b.jsx("button",{onClick:()=>i(null),className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Close panel",children:b.jsx(fc,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-y-auto px-4 py-3",children:b.jsx(u,{node:s})})]})}function Fu(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function D6(){const e=xe(S=>S.eventLog),n=xe(S=>S.activityLog),i=xe(S=>S.workflowOutput),l=xe(S=>S.workflowStatus),[o,s]=G.useState("log"),[u,f]=G.useState(!1),[d,h]=G.useState(0),[m,p]=G.useState(0),y=G.useCallback(S=>{s(S),S==="log"&&h(e.length),S==="activity"&&p(n.length)},[e.length,n.length]);G.useEffect(()=>{o==="log"&&h(e.length)},[o,e.length]),G.useEffect(()=>{o==="activity"&&p(n.length)},[o,n.length]),G.useEffect(()=>{l==="completed"&&i!=null&&s("output")},[l,i]);const v=i!=null,w=o!=="log"?Math.max(0,e.length-d):0,N=o!=="activity"?Math.max(0,n.length-m):0;return u?b.jsx("div",{className:"flex items-center bg-[var(--surface)] border-t border-[var(--border)] px-3 py-1",children:b.jsxs("button",{onClick:()=>f(!1),className:"flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[b.jsx(sN,{className:"w-3 h-3"}),b.jsx(zx,{className:"w-3 h-3"}),b.jsx("span",{children:"Output"}),n.length>0&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["(",n.length,")"]})]})}):b.jsxs("div",{className:"flex flex-col h-full bg-[var(--surface)] border-t border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center justify-between px-2 flex-shrink-0 border-b border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center gap-0.5",children:[b.jsx(wp,{active:o==="log",onClick:()=>y("log"),icon:b.jsx(zx,{className:"w-3 h-3"}),label:"Log",count:e.length,unread:w}),b.jsx(wp,{active:o==="activity",onClick:()=>y("activity"),icon:b.jsx(L1,{className:"w-3 h-3"}),label:"Activity",count:n.length,unread:N}),b.jsx(wp,{active:o==="output",onClick:()=>y("output"),icon:b.jsx(pN,{className:"w-3 h-3"}),label:"Output",badge:v?l==="failed"?"error":"success":void 0})]}),b.jsx("button",{onClick:()=>f(!0),className:"p-1 rounded text-[var(--text-muted)] hover:text-[var(--text)] hover:bg-[var(--surface-hover)] transition-colors",title:"Collapse panel",children:b.jsx(ua,{className:"w-3.5 h-3.5"})})]}),b.jsx("div",{className:"flex-1 overflow-hidden",children:o==="activity"?b.jsx(L6,{entries:n}):o==="log"?b.jsx(H6,{entries:e}):b.jsx(B6,{output:i,status:l})})]})}function wp({active:e,onClick:n,icon:i,label:l,count:o,badge:s,unread:u}){return b.jsxs("button",{onClick:n,className:Pe("relative flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors border-b-2 -mb-px",e?"text-[var(--text)] border-[var(--accent)]":"text-[var(--text-muted)] border-transparent hover:text-[var(--text-secondary)]"),children:[i,b.jsx("span",{children:l}),o!=null&&o>0&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums",children:o}),s&&b.jsx("span",{className:Pe("w-1.5 h-1.5 rounded-full",s==="success"?"bg-[var(--completed)]":"bg-[var(--failed)]")}),!e&&u!=null&&u>0&&b.jsx("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 min-w-[14px] items-center justify-center rounded-full bg-[var(--accent)] px-1",children:b.jsx("span",{className:"text-[8px] font-bold text-white leading-none tabular-nums",children:u>99?"99+":u})})]})}const j1={reasoning:{color:"text-indigo-400/70",label:"THINK",labelColor:"text-indigo-500"},"tool-start":{color:"text-blue-400",label:"TOOL →",labelColor:"text-blue-500"},"tool-complete":{color:"text-green-400",label:"TOOL ←",labelColor:"text-green-600"},turn:{color:"text-amber-400",label:"STEP",labelColor:"text-amber-500"},message:{color:"text-[var(--text)]",label:"MSG",labelColor:"text-[var(--text-muted)]"},prompt:{color:"text-cyan-400/70",label:"PROMPT",labelColor:"text-cyan-600"}};function L6({entries:e}){const n=G.useRef(null),i=G.useRef(!0),l=xe(d=>d.selectNode),[o,s]=G.useState(""),u=G.useCallback(()=>{const d=n.current;if(!d)return;const h=d.scrollHeight-d.scrollTop-d.clientHeight<30;i.current=h},[]),f=G.useMemo(()=>{if(!o)return e;const d=o.toLowerCase();return e.filter(h=>h.source.toLowerCase().includes(d)||Fu(h.message).toLowerCase().includes(d))},[e,o]);return G.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[f.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for agent activity…"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx(vN,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("input",{type:"text",value:o,onChange:d=>s(d.target.value),placeholder:"Filter by agent or message…",className:"flex-1 bg-transparent text-[11px] text-[var(--text)] placeholder:text-[var(--text-muted)] outline-none min-w-0"}),o&&b.jsxs(b.Fragment,{children:[b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums flex-shrink-0",children:[f.length," of ",e.length]}),b.jsx("button",{onClick:()=>s(""),className:"text-[var(--text-muted)] hover:text-[var(--text)] transition-colors flex-shrink-0",title:"Clear filter",children:b.jsx(fc,{className:"w-3 h-3"})})]})]}),b.jsxs("div",{ref:n,onScroll:u,className:"flex-1 overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:[f.map((d,h)=>{const m=j1[d.type]||j1.message,p=q_(d.timestamp);return b.jsxs("div",{className:"group",children:[b.jsxs("div",{className:"flex gap-1.5 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:p}),b.jsx("span",{className:Pe("flex-shrink-0 w-[5ch] text-[10px] font-semibold tabular-nums select-none",m.labelColor),children:m.label}),b.jsx("button",{onClick:()=>l(d.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${d.source}`,children:d.source}),b.jsx("span",{className:Pe("break-words min-w-0",m.color,d.type==="reasoning"&&"italic"),children:Fu(d.message)})]}),d.detail&&b.jsx("div",{className:"ml-[calc(7ch+5ch+8ch+1rem)] px-2 py-1 my-0.5 bg-[var(--bg)] rounded text-[10px] text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto border-l-2 border-[var(--border)]",children:Fu(d.detail)})]},h)}),o&&f.length===0&&b.jsx("div",{className:"flex items-center justify-center py-4",children:b.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:['No matches for "',o,'"']})})]})]})}const O1={info:{color:"text-blue-400",icon:"›"},success:{color:"text-green-400",icon:"✓"},error:{color:"text-red-400",icon:"✗"},warning:{color:"text-amber-400",icon:"⚠"},debug:{color:"text-[var(--text-muted)]",icon:"·"}};function H6({entries:e}){const n=G.useRef(null),i=G.useRef(!0),l=xe(s=>s.selectNode),o=G.useCallback(()=>{const s=n.current;if(!s)return;const u=s.scrollHeight-s.scrollTop-s.clientHeight<30;i.current=u},[]);return G.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[e.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for events…"})}):b.jsx("div",{ref:n,onScroll:o,className:"h-full overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:e.map((s,u)=>{const f=O1[s.level]||O1.info,d=q_(s.timestamp);return b.jsxs("div",{className:"flex gap-2 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:d}),b.jsx("span",{className:Pe("flex-shrink-0 w-3 text-center select-none",f.color),children:f.icon}),b.jsx("button",{onClick:()=>l(s.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${s.source}`,children:s.source}),b.jsx("span",{className:Pe("break-words",s.level==="error"?"text-red-400":s.level==="success"?"text-green-400":"text-[var(--text)]"),children:Fu(s.message)})]},u)})})}function q_(e){const n=new Date(e*1e3),i=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),o=n.getSeconds().toString().padStart(2,"0");return`${i}:${l}:${o}`}function B6({output:e,status:n}){const[i,l]=G.useState(!1),o=X1(e),s=async()=>{o&&(await navigator.clipboard.writeText(o),l(!0),setTimeout(()=>l(!1),2e3))};return e==null?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:n==="running"?"Workflow running — output will appear when complete…":n==="failed"?"Workflow failed — no output produced":"No output yet"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] uppercase tracking-wider font-semibold",children:"Workflow Result"}),b.jsx("button",{onClick:s,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors px-1.5 py-0.5 rounded hover:bg-[var(--surface-hover)]",title:"Copy to clipboard",children:i?b.jsxs(b.Fragment,{children:[b.jsx(Gi,{className:"w-3 h-3 text-[var(--completed)]"}),b.jsx("span",{className:"text-[var(--completed)]",children:"Copied"})]}):b.jsxs(b.Fragment,{children:[b.jsx(H1,{className:"w-3 h-3"}),b.jsx("span",{children:"Copy"})]})})]}),b.jsx("div",{className:"flex-1 overflow-auto px-3 py-2",children:b.jsx("pre",{className:"font-mono text-[11px] leading-relaxed text-[var(--text)] whitespace-pre-wrap break-words",children:typeof e=="object"?b.jsx(q6,{text:o}):o})})]})}function q6({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function U6(){const e=xe(n=>n.selectedNode);return b.jsxs(Ep,{direction:"vertical",className:"flex-1 overflow-hidden",children:[b.jsx(bo,{defaultSize:70,minSize:30,children:b.jsxs(Ep,{direction:"horizontal",className:"h-full",children:[b.jsx(bo,{defaultSize:e?65:100,minSize:40,children:b.jsx(t5,{})}),e&&b.jsxs(b.Fragment,{children:[b.jsx(Np,{className:"w-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-col-resize"}),b.jsx(bo,{defaultSize:35,minSize:20,maxSize:60,children:b.jsx(R6,{})})]})]})}),b.jsx(Np,{className:"h-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-row-resize"}),b.jsx(bo,{defaultSize:30,minSize:5,maxSize:70,collapsible:!0,children:b.jsx(D6,{})})]})}const I6=3e4;function V6(){const e=xe(p=>p.processEvent),n=xe(p=>p.replayState),i=xe(p=>p.setWsStatus),l=xe(p=>p.setWsSend),o=G.useRef(null),s=G.useRef(1e3),u=G.useRef(null),f=G.useRef(null),d=G.useRef(()=>{}),h=G.useCallback(()=>{i("reconnecting"),u.current=setTimeout(()=>{s.current=Math.min(s.current*2,I6),d.current()},s.current)},[i]),m=G.useCallback(()=>{i("connecting"),f.current&&f.current.abort();const p=new AbortController;f.current=p,fetch("/api/state",{signal:p.signal}).then(y=>y.json()).then(y=>{y&&y.length>0&&n(y);const w=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{const N=new WebSocket(w);o.current=N,N.onopen=()=>{s.current=1e3,i("connected"),l(S=>{N.readyState===WebSocket.OPEN&&N.send(JSON.stringify(S))})},N.onmessage=S=>{try{const E=JSON.parse(S.data);e(E)}catch(E){console.error("Failed to parse WebSocket message:",E)}},N.onclose=()=>{i("disconnected"),l(null),o.current=null,h()},N.onerror=()=>{}}catch{h()}}).catch(y=>{p.signal.aborted||(console.error("Failed to fetch state:",y),h())})},[e,n,i,l,h]);d.current=m,G.useEffect(()=>(m(),()=>{f.current&&f.current.abort(),u.current&&clearTimeout(u.current),o.current&&o.current.close(),l(null)}),[m,l])}function G6(){V6();const e=xe(i=>i.selectNode),n=xe(i=>i.workflowName);return G.useEffect(()=>{document.title=n?`Conductor — ${n}`:"Conductor Dashboard"},[n]),G.useEffect(()=>{const i=l=>{l.key==="Escape"&&e(null)};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[e]),b.jsxs("div",{className:"h-full flex flex-col bg-[var(--bg)]",children:[b.jsx(MN,{}),b.jsx(U6,{}),b.jsx(fk,{})]})}rN.createRoot(document.getElementById("root")).render(b.jsx(G.StrictMode,{children:b.jsx(G6,{})})); diff --git a/src/conductor/web/static/assets/index-B0kvfDMx.js b/src/conductor/web/static/assets/index-B0kvfDMx.js new file mode 100644 index 0000000..7d70a1d --- /dev/null +++ b/src/conductor/web/static/assets/index-B0kvfDMx.js @@ -0,0 +1,272 @@ +var k2=Object.defineProperty;var C2=(e,n,i)=>n in e?k2(e,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[n]=i;var Nt=(e,n,i)=>C2(e,typeof n!="symbol"?n+"":n,i);function T2(e,n){for(var i=0;il[o]})}}}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 o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const u of s.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&l(u)}).observe(document,{childList:!0,subtree:!0});function i(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function l(o){if(o.ep)return;o.ep=!0;const s=i(o);fetch(o.href,s)}})();function Ro(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Dd={exports:{}},eo={};/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var ax;function z2(){if(ax)return eo;ax=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function i(l,o,s){var u=null;if(s!==void 0&&(u=""+s),o.key!==void 0&&(u=""+o.key),"key"in o){s={};for(var f in o)f!=="key"&&(s[f]=o[f])}else s=o;return o=s.ref,{$$typeof:e,type:l,key:u,ref:o!==void 0?o:null,props:s}}return eo.Fragment=n,eo.jsx=i,eo.jsxs=i,eo}var ox;function A2(){return ox||(ox=1,Dd.exports=z2()),Dd.exports}var b=A2(),Rd={exports:{}},ze={};/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var sx;function M2(){if(sx)return ze;sx=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),u=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),x=Symbol.iterator;function v(U){return U===null||typeof U!="object"?null:(U=x&&U[x]||U["@@iterator"],typeof U=="function"?U:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,S={};function E(U,F,N){this.props=U,this.context=F,this.refs=S,this.updater=N||w}E.prototype.isReactComponent={},E.prototype.setState=function(U,F){if(typeof U!="object"&&typeof U!="function"&&U!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,U,F,"setState")},E.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function z(){}z.prototype=E.prototype;function _(U,F,N){this.props=U,this.context=F,this.refs=S,this.updater=N||w}var A=_.prototype=new z;A.constructor=_,k(A,E.prototype),A.isPureReactComponent=!0;var B=Array.isArray;function T(){}var q={H:null,A:null,T:null,S:null},M=Object.prototype.hasOwnProperty;function R(U,F,N){var V=N.ref;return{$$typeof:e,type:U,key:F,ref:V!==void 0?V:null,props:N}}function X(U,F){return R(U.type,F,U.props)}function H(U){return typeof U=="object"&&U!==null&&U.$$typeof===e}function I(U){var F={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(N){return F[N]})}var ee=/\/+/g;function L(U,F){return typeof U=="object"&&U!==null&&U.key!=null?I(""+U.key):F.toString(36)}function G(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(T,T):(U.status="pending",U.then(function(F){U.status==="pending"&&(U.status="fulfilled",U.value=F)},function(F){U.status==="pending"&&(U.status="rejected",U.reason=F)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function D(U,F,N,V,P){var K=typeof U;(K==="undefined"||K==="boolean")&&(U=null);var ne=!1;if(U===null)ne=!0;else switch(K){case"bigint":case"string":case"number":ne=!0;break;case"object":switch(U.$$typeof){case e:case n:ne=!0;break;case m:return ne=U._init,D(ne(U._payload),F,N,V,P)}}if(ne)return P=P(U),ne=V===""?"."+L(U,0):V,B(P)?(N="",ne!=null&&(N=ne.replace(ee,"$&/")+"/"),D(P,F,N,"",function(ge){return ge})):P!=null&&(H(P)&&(P=X(P,N+(P.key==null||U&&U.key===P.key?"":(""+P.key).replace(ee,"$&/")+"/")+ne)),F.push(P)),1;ne=0;var re=V===""?".":V+":";if(B(U))for(var se=0;se>>1,j=D[J];if(0>>1;Jo(N,Z))Vo(P,N)?(D[J]=P,D[V]=Z,J=V):(D[J]=N,D[F]=Z,J=F);else if(Vo(P,Z))D[J]=P,D[V]=Z,J=V;else break e}}return $}function o(D,$){var Z=D.sortIndex-$.sortIndex;return Z!==0?Z:D.id-$.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var d=[],h=[],m=1,p=null,x=3,v=!1,w=!1,k=!1,S=!1,E=typeof setTimeout=="function"?setTimeout:null,z=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function A(D){for(var $=i(h);$!==null;){if($.callback===null)l(h);else if($.startTime<=D)l(h),$.sortIndex=$.expirationTime,n(d,$);else break;$=i(h)}}function B(D){if(k=!1,A(D),!w)if(i(d)!==null)w=!0,T||(T=!0,I());else{var $=i(h);$!==null&&G(B,$.startTime-D)}}var T=!1,q=-1,M=5,R=-1;function X(){return S?!0:!(e.unstable_now()-RD&&X());){var J=p.callback;if(typeof J=="function"){p.callback=null,x=p.priorityLevel;var j=J(p.expirationTime<=D);if(D=e.unstable_now(),typeof j=="function"){p.callback=j,A(D),$=!0;break t}p===i(d)&&l(d),A(D)}else l(d);p=i(d)}if(p!==null)$=!0;else{var U=i(h);U!==null&&G(B,U.startTime-D),$=!1}}break e}finally{p=null,x=Z,v=!1}$=void 0}}finally{$?I():T=!1}}}var I;if(typeof _=="function")I=function(){_(H)};else if(typeof MessageChannel<"u"){var ee=new MessageChannel,L=ee.port2;ee.port1.onmessage=H,I=function(){L.postMessage(null)}}else I=function(){E(H,0)};function G(D,$){q=E(function(){D(e.unstable_now())},$)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(D){D.callback=null},e.unstable_forceFrameRate=function(D){0>D||125J?(D.sortIndex=Z,n(h,D),i(d)===null&&D===i(h)&&(k?(z(q),q=-1):k=!0,G(B,Z-J))):(D.sortIndex=j,n(d,D),w||v||(w=!0,T||(T=!0,I()))),D},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(D){var $=x;return function(){var Z=x;x=$;try{return D.apply(this,arguments)}finally{x=Z}}}})(Bd)),Bd}var fx;function D2(){return fx||(fx=1,Hd.exports=O2()),Hd.exports}var qd={exports:{}},Yt={};/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var dx;function R2(){if(dx)return Yt;dx=1;var e=Lo();function n(d){var h="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),qd.exports=R2(),qd.exports}/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var px;function L2(){if(px)return to;px=1;var e=D2(),n=Lo(),i=wb();function l(t){var r="https://react.dev/errors/"+t;if(1j||(t.current=J[j],J[j]=null,j--)}function N(t,r){j++,J[j]=t.current,t.current=r}var V=U(null),P=U(null),K=U(null),ne=U(null);function re(t,r){switch(N(K,r),N(P,t),N(V,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?zy(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=zy(r),t=Ay(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}F(V),N(V,t)}function se(){F(V),F(P),F(K)}function ge(t){t.memoizedState!==null&&N(ne,t);var r=V.current,a=Ay(r,t.type);r!==a&&(N(P,t),N(V,a))}function ve(t){P.current===t&&(F(V),F(P)),ne.current===t&&(F(ne),Za._currentValue=Z)}var ye,he;function _e(t){if(ye===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);ye=r&&r[1]||"",he=-1)":-1g||Q[c]!==le[g]){var ce=` +`+Q[c].replace(" at new "," at ");return t.displayName&&ce.includes("")&&(ce=ce.replace("",t.displayName)),ce}while(1<=c&&0<=g);break}}}finally{Me=!1,Error.prepareStackTrace=a}return(a=t?t.displayName||t.name:"")?_e(a):""}function st(t,r){switch(t.tag){case 26:case 27:case 5:return _e(t.type);case 16:return _e("Lazy");case 13:return t.child!==r&&r!==null?_e("Suspense Fallback"):_e("Suspense");case 19:return _e("SuspenseList");case 0:case 15:return Ce(t.type,!1);case 11:return Ce(t.type.render,!1);case 1:return Ce(t.type,!0);case 31:return _e("Activity");default:return""}}function We(t){try{var r="",a=null;do r+=st(t,a),a=t,t=t.return;while(t);return r}catch(c){return` +Error generating stack: `+c.message+` +`+c.stack}}var zt=Object.prototype.hasOwnProperty,Ut=e.unstable_scheduleCallback,Dt=e.unstable_cancelCallback,bn=e.unstable_shouldYield,An=e.unstable_requestPaint,At=e.unstable_now,Mr=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,me=e.unstable_UserBlockingPriority,Ne=e.unstable_NormalPriority,Re=e.unstable_LowPriority,Ve=e.unstable_IdlePriority,$t=e.log,Mn=e.unstable_setDisableYieldValue,Rt=null,yt=null;function It(t){if(typeof $t=="function"&&Mn(t),yt&&typeof yt.setStrictMode=="function")try{yt.setStrictMode(Rt,t)}catch{}}var Ze=Math.clz32?Math.clz32:wc,Gn=Math.log,on=Math.LN2;function wc(t){return t>>>=0,t===0?32:31-(Gn(t)/on|0)|0}var Qi=256,Zi=262144,Ki=4194304;function ir(t){var r=t&42;if(r!==0)return r;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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ji(t,r,a){var c=t.pendingLanes;if(c===0)return 0;var g=0,y=t.suspendedLanes,C=t.pingedLanes;t=t.warmLanes;var O=c&134217727;return O!==0?(c=O&~y,c!==0?g=ir(c):(C&=O,C!==0?g=ir(C):a||(a=O&~t,a!==0&&(g=ir(a))))):(O=c&~y,O!==0?g=ir(O):C!==0?g=ir(C):a||(a=c&~t,a!==0&&(g=ir(a)))),g===0?0:r!==0&&r!==g&&(r&y)===0&&(y=g&-g,a=r&-r,y>=a||y===32&&(a&4194048)!==0)?r:g}function hi(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function Sc(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32: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 r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Po(){var t=Ki;return Ki<<=1,(Ki&62914560)===0&&(Ki=4194304),t}function oa(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function pi(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function _c(t,r,a,c,g,y){var C=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var O=t.entanglements,Q=t.expirationTimes,le=t.hiddenUpdates;for(a=C&~a;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Tc=/[\n"\\]/g;function Pt(t){return t.replace(Tc,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function yi(t,r,a,c,g,y,C,O){t.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?t.type=C:t.removeAttribute("type"),r!=null?C==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+Ft(r)):t.value!==""+Ft(r)&&(t.value=""+Ft(r)):C!=="submit"&&C!=="reset"||t.removeAttribute("value"),r!=null?da(t,C,Ft(r)):a!=null?da(t,C,Ft(a)):c!=null&&t.removeAttribute("value"),g==null&&y!=null&&(t.defaultChecked=!!y),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?t.name=""+Ft(O):t.removeAttribute("name")}function os(t,r,a,c,g,y,C,O){if(y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"&&(t.type=y),r!=null||a!=null){if(!(y!=="submit"&&y!=="reset"||r!=null)){Hr(t);return}a=a!=null?""+Ft(a):"",r=r!=null?""+Ft(r):a,O||r===t.value||(t.value=r),t.defaultValue=r}c=c??g,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=O?t.checked:!!c,t.defaultChecked=!!c,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(t.name=C),Hr(t)}function da(t,r,a){r==="number"&&gi(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function or(t,r,a,c){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Oc=!1;if(ur)try{var pa={};Object.defineProperty(pa,"passive",{get:function(){Oc=!0}}),window.addEventListener("test",pa,pa),window.removeEventListener("test",pa,pa)}catch{Oc=!1}var Br=null,Dc=null,us=null;function Am(){if(us)return us;var t,r=Dc,a=r.length,c,g="value"in Br?Br.value:Br.textContent,y=g.length;for(t=0;t=ya),Lm=" ",Hm=!1;function Bm(t,r){switch(t){case"keyup":return P_.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function qm(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ll=!1;function Z_(t,r){switch(t){case"compositionend":return qm(r);case"keypress":return r.which!==32?null:(Hm=!0,Lm);case"textInput":return t=r.data,t===Lm&&Hm?null:t;default:return null}}function K_(t,r){if(ll)return t==="compositionend"||!qc&&Bm(t,r)?(t=Am(),us=Dc=Br=null,ll=!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:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Fm(a)}}function Qm(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?Qm(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function Zm(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=gi(t.document);r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=gi(t.document)}return r}function Vc(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")}var lE=ur&&"documentMode"in document&&11>=document.documentMode,al=null,Yc=null,wa=null,Gc=!1;function Km(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Gc||al==null||al!==gi(c)||(c=al,"selectionStart"in c&&Vc(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}),wa&&ba(wa,c)||(wa=c,c=nu(Yc,"onSelect"),0>=C,g-=C,Xn=1<<32-Ze(r)+g|a<je?(qe=Se,Se=null):qe=Se.sibling;var $e=ae(te,Se,ie[je],fe);if($e===null){Se===null&&(Se=qe);break}t&&Se&&$e.alternate===null&&r(te,Se),W=y($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e,Se=qe}if(je===ie.length)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;jeje?(qe=Se,Se=null):qe=Se.sibling;var ai=ae(te,Se,$e.value,fe);if(ai===null){Se===null&&(Se=qe);break}t&&Se&&ai.alternate===null&&r(te,Se),W=y(ai,W,je),Ge===null?Ee=ai:Ge.sibling=ai,Ge=ai,Se=qe}if($e.done)return a(te,Se),Ue&&fr(te,je),Ee;if(Se===null){for(;!$e.done;je++,$e=ie.next())$e=de(te,$e.value,fe),$e!==null&&(W=y($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return Ue&&fr(te,je),Ee}for(Se=c(Se);!$e.done;je++,$e=ie.next())$e=oe(Se,te,je,$e.value,fe),$e!==null&&(t&&$e.alternate!==null&&Se.delete($e.key===null?je:$e.key),W=y($e,W,je),Ge===null?Ee=$e:Ge.sibling=$e,Ge=$e);return t&&Se.forEach(function(N2){return r(te,N2)}),Ue&&fr(te,je),Ee}function nt(te,W,ie,fe){if(typeof ie=="object"&&ie!==null&&ie.type===k&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case v:e:{for(var Ee=ie.key;W!==null;){if(W.key===Ee){if(Ee=ie.type,Ee===k){if(W.tag===7){a(te,W.sibling),fe=g(W,ie.props.children),fe.return=te,te=fe;break e}}else if(W.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===M&&Ci(Ee)===W.type){a(te,W.sibling),fe=g(W,ie.props),Ca(fe,ie),fe.return=te,te=fe;break e}a(te,W);break}else r(te,W);W=W.sibling}ie.type===k?(fe=Si(ie.props.children,te.mode,fe,ie.key),fe.return=te,te=fe):(fe=vs(ie.type,ie.key,ie.props,null,te.mode,fe),Ca(fe,ie),fe.return=te,te=fe)}return C(te);case w:e:{for(Ee=ie.key;W!==null;){if(W.key===Ee)if(W.tag===4&&W.stateNode.containerInfo===ie.containerInfo&&W.stateNode.implementation===ie.implementation){a(te,W.sibling),fe=g(W,ie.children||[]),fe.return=te,te=fe;break e}else{a(te,W);break}else r(te,W);W=W.sibling}fe=Kc(ie,te.mode,fe),fe.return=te,te=fe}return C(te);case M:return ie=Ci(ie),nt(te,W,ie,fe)}if(G(ie))return be(te,W,ie,fe);if(I(ie)){if(Ee=I(ie),typeof Ee!="function")throw Error(l(150));return ie=Ee.call(ie),ke(te,W,ie,fe)}if(typeof ie.then=="function")return nt(te,W,ks(ie),fe);if(ie.$$typeof===_)return nt(te,W,Ss(te,ie),fe);Cs(te,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,W!==null&&W.tag===6?(a(te,W.sibling),fe=g(W,ie),fe.return=te,te=fe):(a(te,W),fe=Zc(ie,te.mode,fe),fe.return=te,te=fe),C(te)):a(te,W)}return function(te,W,ie,fe){try{ka=0;var Ee=nt(te,W,ie,fe);return yl=null,Ee}catch(Se){if(Se===gl||Se===Es)throw Se;var Ge=un(29,Se,null,te.mode);return Ge.lanes=fe,Ge.return=te,Ge}finally{}}}var zi=bg(!0),wg=bg(!1),Yr=!1;function cf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ff(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function $r(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Fe&2)!==0){var g=c.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),c.pending=r,r=xs(t),ig(t,null,a),r}return ys(t,c,r,a),xs(t)}function Ta(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194048)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Zo(t,a)}}function df(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var g=null,y=null;if(a=a.firstBaseUpdate,a!==null){do{var C={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};y===null?g=y=C:y=y.next=C,a=a.next}while(a!==null);y===null?g=y=r:y=y.next=r}else g=y=r;a={baseState:c.baseState,firstBaseUpdate:g,lastBaseUpdate:y,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}var hf=!1;function za(){if(hf){var t=ml;if(t!==null)throw t}}function Aa(t,r,a,c){hf=!1;var g=t.updateQueue;Yr=!1;var y=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var Q=O,le=Q.next;Q.next=null,C===null?y=le:C.next=le,C=Q;var ce=t.alternate;ce!==null&&(ce=ce.updateQueue,O=ce.lastBaseUpdate,O!==C&&(O===null?ce.firstBaseUpdate=le:O.next=le,ce.lastBaseUpdate=Q))}if(y!==null){var de=g.baseState;C=0,ce=le=Q=null,O=y;do{var ae=O.lane&-536870913,oe=ae!==O.lane;if(oe?(Be&ae)===ae:(c&ae)===ae){ae!==0&&ae===pl&&(hf=!0),ce!==null&&(ce=ce.next={lane:0,tag:O.tag,payload:O.payload,callback:null,next:null});e:{var be=t,ke=O;ae=r;var nt=a;switch(ke.tag){case 1:if(be=ke.payload,typeof be=="function"){de=be.call(nt,de,ae);break e}de=be;break e;case 3:be.flags=be.flags&-65537|128;case 0:if(be=ke.payload,ae=typeof be=="function"?be.call(nt,de,ae):be,ae==null)break e;de=p({},de,ae);break e;case 2:Yr=!0}}ae=O.callback,ae!==null&&(t.flags|=64,oe&&(t.flags|=8192),oe=g.callbacks,oe===null?g.callbacks=[ae]:oe.push(ae))}else oe={lane:ae,tag:O.tag,payload:O.payload,callback:O.callback,next:null},ce===null?(le=ce=oe,Q=de):ce=ce.next=oe,C|=ae;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;oe=O,O=oe.next,oe.next=null,g.lastBaseUpdate=oe,g.shared.pending=null}}while(!0);ce===null&&(Q=de),g.baseState=Q,g.firstBaseUpdate=le,g.lastBaseUpdate=ce,y===null&&(g.shared.lanes=0),Zr|=C,t.lanes=C,t.memoizedState=de}}function Sg(t,r){if(typeof t!="function")throw Error(l(191,t));t.call(r)}function _g(t,r){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;ty?y:8;var C=D.T,O={};D.T=O,jf(t,!1,r,a);try{var Q=g(),le=D.S;if(le!==null&&le(O,Q),Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var ce=pE(Q,c);Oa(t,r,ce,pn(t))}else Oa(t,r,c,pn(t))}catch(de){Oa(t,r,{then:function(){},status:"rejected",reason:de},pn())}finally{$.p=y,C!==null&&O.types!==null&&(C.types=O.types),D.T=C}}function bE(){}function Af(t,r,a,c){if(t.tag!==5)throw Error(l(476));var g=t0(t).queue;e0(t,g,r,Z,a===null?bE:function(){return n0(t),a(c)})}function t0(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:Z},next:null};var a={};return r.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:a},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function n0(t){var r=t0(t);r.next===null&&(r=t.alternate.memoizedState),Oa(t,r.next.queue,{},pn())}function Mf(){return Ht(Za)}function r0(){return vt().memoizedState}function i0(){return vt().memoizedState}function wE(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var a=pn();t=Gr(a);var c=$r(r,t,a);c!==null&&(en(c,r,a),Ta(c,r,a)),r={cache:af()},t.payload=r;return}r=r.return}}function SE(t,r,a){var c=pn();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Hs(t)?a0(r,a):(a=Pc(t,r,a,c),a!==null&&(en(a,t,c),o0(a,r,c)))}function l0(t,r,a){var c=pn();Oa(t,r,a,c)}function Oa(t,r,a,c){var g={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Hs(t))a0(r,g);else{var y=t.alternate;if(t.lanes===0&&(y===null||y.lanes===0)&&(y=r.lastRenderedReducer,y!==null))try{var C=r.lastRenderedState,O=y(C,a);if(g.hasEagerState=!0,g.eagerState=O,sn(O,C))return ys(t,r,g,0),rt===null&&gs(),!1}catch{}finally{}if(a=Pc(t,r,g,c),a!==null)return en(a,t,c),o0(a,r,c),!0}return!1}function jf(t,r,a,c){if(c={lane:2,revertLane:cd(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Hs(t)){if(r)throw Error(l(479))}else r=Pc(t,a,c,2),r!==null&&en(r,t,2)}function Hs(t){var r=t.alternate;return t===Ae||r!==null&&r===Ae}function a0(t,r){vl=As=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function o0(t,r,a){if((a&4194048)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Zo(t,a)}}var Da={readContext:Ht,use:Os,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useLayoutEffect:pt,useInsertionEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useSyncExternalStore:pt,useId:pt,useHostTransitionStatus:pt,useFormState:pt,useActionState:pt,useOptimistic:pt,useMemoCache:pt,useCacheRefresh:pt};Da.useEffectEvent=pt;var s0={readContext:Ht,use:Os,useCallback:function(t,r){return Xt().memoizedState=[t,r===void 0?null:r],t},useContext:Ht,useEffect:$g,useImperativeHandle:function(t,r,a){a=a!=null?a.concat([t]):null,Rs(4194308,4,Qg.bind(null,r,t),a)},useLayoutEffect:function(t,r){return Rs(4194308,4,t,r)},useInsertionEffect:function(t,r){Rs(4,2,t,r)},useMemo:function(t,r){var a=Xt();r=r===void 0?null:r;var c=t();if(Ai){It(!0);try{t()}finally{It(!1)}}return a.memoizedState=[c,r],c},useReducer:function(t,r,a){var c=Xt();if(a!==void 0){var g=a(r);if(Ai){It(!0);try{a(r)}finally{It(!1)}}}else g=r;return c.memoizedState=c.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},c.queue=t,t=t.dispatch=SE.bind(null,Ae,t),[c.memoizedState,t]},useRef:function(t){var r=Xt();return t={current:t},r.memoizedState=t},useState:function(t){t=Nf(t);var r=t.queue,a=l0.bind(null,Ae,r);return r.dispatch=a,[t.memoizedState,a]},useDebugValue:Tf,useDeferredValue:function(t,r){var a=Xt();return zf(a,t,r)},useTransition:function(){var t=Nf(!1);return t=e0.bind(null,Ae,t.queue,!0,!1),Xt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,a){var c=Ae,g=Xt();if(Ue){if(a===void 0)throw Error(l(407));a=a()}else{if(a=r(),rt===null)throw Error(l(349));(Be&127)!==0||zg(c,r,a)}g.memoizedState=a;var y={value:a,getSnapshot:r};return g.queue=y,$g(Mg.bind(null,c,y,t),[t]),c.flags|=2048,wl(9,{destroy:void 0},Ag.bind(null,c,y,a,r),null),a},useId:function(){var t=Xt(),r=rt.identifierPrefix;if(Ue){var a=Fn,c=Xn;a=(c&~(1<<32-Ze(c)-1)).toString(32)+a,r="_"+r+"R_"+a,a=Ms++,0<\/script>",y=y.removeChild(y.firstChild);break;case"select":y=typeof c.is=="string"?C.createElement("select",{is:c.is}):C.createElement("select"),c.multiple?y.multiple=!0:c.size&&(y.size=c.size);break;default:y=typeof c.is=="string"?C.createElement(g,{is:c.is}):C.createElement(g)}}y[Mt]=r,y[Vt]=c;e:for(C=r.child;C!==null;){if(C.tag===5||C.tag===6)y.appendChild(C.stateNode);else if(C.tag!==4&&C.tag!==27&&C.child!==null){C.child.return=C,C=C.child;continue}if(C===r)break e;for(;C.sibling===null;){if(C.return===null||C.return===r)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}r.stateNode=y;e:switch(qt(y,g,c),g){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&yr(r)}}return ct(r),Xf(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,a),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==c&&yr(r);else{if(typeof c!="string"&&r.stateNode===null)throw Error(l(166));if(t=K.current,dl(r)){if(t=r.stateNode,a=r.memoizedProps,c=null,g=Lt,g!==null)switch(g.tag){case 27:case 5:c=g.memoizedProps}t[Mt]=r,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||Cy(t.nodeValue,a)),t||Ir(r,!0)}else t=ru(t).createTextNode(c),t[Mt]=r,r.stateNode=t}return ct(r),null;case 31:if(a=r.memoizedState,t===null||t.memoizedState!==null){if(c=dl(r),a!==null){if(t===null){if(!c)throw Error(l(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),t=!1}else a=tf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return r.flags&256?(fn(r),r):(fn(r),null);if((r.flags&128)!==0)throw Error(l(558))}return ct(r),null;case 13:if(c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=dl(r),c!==null&&c.dehydrated!==null){if(t===null){if(!g)throw Error(l(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));g[Mt]=r}else _i(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;ct(r),g=!1}else g=tf(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(fn(r),r):(fn(r),null)}return fn(r),(r.flags&128)!==0?(r.lanes=a,r):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=r.child,g=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(g=c.alternate.memoizedState.cachePool.pool),y=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(y=c.memoizedState.cachePool.pool),y!==g&&(c.flags|=2048)),a!==t&&a&&(r.child.flags|=8192),Vs(r,r.updateQueue),ct(r),null);case 4:return se(),t===null&&pd(r.stateNode.containerInfo),ct(r),null;case 10:return hr(r.type),ct(r),null;case 19:if(F(xt),c=r.memoizedState,c===null)return ct(r),null;if(g=(r.flags&128)!==0,y=c.rendering,y===null)if(g)La(c,!1);else{if(mt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(y=zs(t),y!==null){for(r.flags|=128,La(c,!1),t=y.updateQueue,r.updateQueue=t,Vs(r,t),r.subtreeFlags=0,t=a,a=r.child;a!==null;)lg(a,t),a=a.sibling;return N(xt,xt.current&1|2),Ue&&fr(r,c.treeForkCount),r.child}t=t.sibling}c.tail!==null&&At()>Fs&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304)}else{if(!g)if(t=zs(y),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,Vs(r,t),La(c,!0),c.tail===null&&c.tailMode==="hidden"&&!y.alternate&&!Ue)return ct(r),null}else 2*At()-c.renderingStartTime>Fs&&a!==536870912&&(r.flags|=128,g=!0,La(c,!1),r.lanes=4194304);c.isBackwards?(y.sibling=r.child,r.child=y):(t=c.last,t!==null?t.sibling=y:r.child=y,c.last=y)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=At(),t.sibling=null,a=xt.current,N(xt,g?a&1|2:a&1),Ue&&fr(r,c.treeForkCount),t):(ct(r),null);case 22:case 23:return fn(r),mf(),c=r.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(r.flags|=8192):c&&(r.flags|=8192),c?(a&536870912)!==0&&(r.flags&128)===0&&(ct(r),r.subtreeFlags&6&&(r.flags|=8192)):ct(r),a=r.updateQueue,a!==null&&Vs(r,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(c=r.memoizedState.cachePool.pool),c!==a&&(r.flags|=2048),t!==null&&F(ki),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),r.memoizedState.cache!==a&&(r.flags|=2048),hr(wt),ct(r),null;case 25:return null;case 30:return null}throw Error(l(156,r.tag))}function CE(t,r){switch(Wc(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return hr(wt),se(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return ve(r),null;case 31:if(r.memoizedState!==null){if(fn(r),r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(fn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(l(340));_i()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return F(xt),null;case 4:return se(),null;case 10:return hr(r.type),null;case 22:case 23:return fn(r),mf(),t!==null&&F(ki),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return hr(wt),null;case 25:return null;default:return null}}function j0(t,r){switch(Wc(r),r.tag){case 3:hr(wt),se();break;case 26:case 27:case 5:ve(r);break;case 4:se();break;case 31:r.memoizedState!==null&&fn(r);break;case 13:fn(r);break;case 19:F(xt);break;case 10:hr(r.type);break;case 22:case 23:fn(r),mf(),t!==null&&F(ki);break;case 24:hr(wt)}}function Ha(t,r){try{var a=r.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var g=c.next;a=g;do{if((a.tag&t)===t){c=void 0;var y=a.create,C=a.inst;c=y(),C.destroy=c}a=a.next}while(a!==g)}}catch(O){Je(r,r.return,O)}}function Pr(t,r,a){try{var c=r.updateQueue,g=c!==null?c.lastEffect:null;if(g!==null){var y=g.next;c=y;do{if((c.tag&t)===t){var C=c.inst,O=C.destroy;if(O!==void 0){C.destroy=void 0,g=r;var Q=a,le=O;try{le()}catch(ce){Je(g,Q,ce)}}}c=c.next}while(c!==y)}}catch(ce){Je(r,r.return,ce)}}function O0(t){var r=t.updateQueue;if(r!==null){var a=t.stateNode;try{_g(r,a)}catch(c){Je(t,t.return,c)}}}function D0(t,r,a){a.props=Mi(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){Je(t,r,c)}}function Ba(t,r){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(g){Je(t,r,g)}}function Pn(t,r){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(g){Je(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(g){Je(t,r,g)}else a.current=null}function R0(t){var r=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(g){Je(t,t.return,g)}}function Ff(t,r,a){try{var c=t.stateNode;QE(c,t.type,a,r),c[Vt]=r}catch(g){Je(t,t.return,g)}}function L0(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ti(t.type)||t.tag===4}function Pf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||L0(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.tag===27&&ti(t.type)||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 Qf(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,r):(r=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.appendChild(t),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=sr));else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode,r=null),t=t.child,t!==null))for(Qf(t,r,a),t=t.sibling;t!==null;)Qf(t,r,a),t=t.sibling}function Ys(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(c===27&&ti(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(Ys(t,r,a),t=t.sibling;t!==null;)Ys(t,r,a),t=t.sibling}function H0(t){var r=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);qt(r,c,a),r[Mt]=t,r[Vt]=a}catch(y){Je(t,t.return,y)}}var xr=!1,Et=!1,Zf=!1,B0=typeof WeakSet=="function"?WeakSet:Set,Ot=null;function TE(t,r){if(t=t.containerInfo,yd=cu,t=Zm(t),Vc(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var g=c.anchorOffset,y=c.focusNode;c=c.focusOffset;try{a.nodeType,y.nodeType}catch{a=null;break e}var C=0,O=-1,Q=-1,le=0,ce=0,de=t,ae=null;t:for(;;){for(var oe;de!==a||g!==0&&de.nodeType!==3||(O=C+g),de!==y||c!==0&&de.nodeType!==3||(Q=C+c),de.nodeType===3&&(C+=de.nodeValue.length),(oe=de.firstChild)!==null;)ae=de,de=oe;for(;;){if(de===t)break t;if(ae===a&&++le===g&&(O=C),ae===y&&++ce===c&&(Q=C),(oe=de.nextSibling)!==null)break;de=ae,ae=de.parentNode}de=oe}a=O===-1||Q===-1?null:{start:O,end:Q}}else a=null}a=a||{start:0,end:0}}else a=null;for(xd={focusedElem:t,selectionRange:a},cu=!1,Ot=r;Ot!==null;)if(r=Ot,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Ot=t;else for(;Ot!==null;){switch(r=Ot,y=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a title"))),qt(y,c,a),y[Mt]=t,bt(y),c=y;break e;case"link":var C=Gy("link","href",g).get(c+(a.href||""));if(C){for(var O=0;Ont&&(C=nt,nt=ke,ke=C);var te=Pm(O,ke),W=Pm(O,nt);if(te&&W&&(oe.rangeCount!==1||oe.anchorNode!==te.node||oe.anchorOffset!==te.offset||oe.focusNode!==W.node||oe.focusOffset!==W.offset)){var ie=de.createRange();ie.setStart(te.node,te.offset),oe.removeAllRanges(),ke>nt?(oe.addRange(ie),oe.extend(W.node,W.offset)):(ie.setEnd(W.node,W.offset),oe.addRange(ie))}}}}for(de=[],oe=O;oe=oe.parentNode;)oe.nodeType===1&&de.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof O.focus=="function"&&O.focus(),O=0;Oa?32:a,D.T=null,a=rd,rd=null;var y=Jr,C=_r;if(jt=0,kl=Jr=null,_r=0,(Fe&6)!==0)throw Error(l(331));var O=Fe;if(Fe|=4,Q0(y.current),X0(y,y.current,C,a),Fe=O,Ga(0,!1),yt&&typeof yt.onPostCommitFiberRoot=="function")try{yt.onPostCommitFiberRoot(Rt,y)}catch{}return!0}finally{$.p=g,D.T=c,hy(t,r)}}function my(t,r,a){r=Sn(a,r),r=Lf(t.stateNode,r,2),t=$r(t,r,2),t!==null&&(pi(t,2),Qn(t))}function Je(t,r,a){if(t.tag===3)my(t,t,a);else for(;r!==null;){if(r.tag===3){my(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Kr===null||!Kr.has(c))){t=Sn(a,t),a=g0(2),c=$r(r,a,2),c!==null&&(y0(a,c,r,t),pi(c,2),Qn(c));break}}r=r.return}}function od(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new ME;var g=new Set;c.set(r,g)}else g=c.get(r),g===void 0&&(g=new Set,c.set(r,g));g.has(a)||(Wf=!0,g.add(a),t=LE.bind(null,t,r,a),r.then(t,t))}function LE(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,rt===t&&(Be&a)===a&&(mt===4||mt===3&&(Be&62914560)===Be&&300>At()-Xs?(Fe&2)===0&&Cl(t,0):ed|=a,Nl===Be&&(Nl=0)),Qn(t)}function gy(t,r){r===0&&(r=Po()),t=wi(t,r),t!==null&&(pi(t,r),Qn(t))}function HE(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),gy(t,a)}function BE(t,r){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,g=t.memoizedState;g!==null&&(a=g.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(l(314))}c!==null&&c.delete(r),gy(t,a)}function qE(t,r){return Ut(t,r)}var Ws=null,zl=null,sd=!1,eu=!1,ud=!1,ei=0;function Qn(t){t!==zl&&t.next===null&&(zl===null?Ws=zl=t:zl=zl.next=t),eu=!0,sd||(sd=!0,IE())}function Ga(t,r){if(!ud&&eu){ud=!0;do for(var a=!1,c=Ws;c!==null;){if(t!==0){var g=c.pendingLanes;if(g===0)var y=0;else{var C=c.suspendedLanes,O=c.pingedLanes;y=(1<<31-Ze(42|t)+1)-1,y&=g&~(C&~O),y=y&201326741?y&201326741|1:y?y|2:0}y!==0&&(a=!0,by(c,y))}else y=Be,y=Ji(c,c===rt?y:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(y&3)===0||hi(c,y)||(a=!0,by(c,y));c=c.next}while(a);ud=!1}}function UE(){yy()}function yy(){eu=sd=!1;var t=0;ei!==0&&KE()&&(t=ei);for(var r=At(),a=null,c=Ws;c!==null;){var g=c.next,y=xy(c,r);y===0?(c.next=null,a===null?Ws=g:a.next=g,g===null&&(zl=a)):(a=c,(t!==0||(y&3)!==0)&&(eu=!0)),c=g}jt!==0&&jt!==5||Ga(t),ei!==0&&(ei=0)}function xy(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,g=t.expirationTimes,y=t.pendingLanes&-62914561;0O)break;var ce=Q.transferSize,de=Q.initiatorType;ce&&Ty(de)&&(Q=Q.responseEnd,C+=ce*(Q"u"?null:document;function Uy(t,r,a){var c=Al;if(c&&typeof r=="string"&&r){var g=Pt(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof a=="string"&&(g+='[crossorigin="'+a+'"]'),qy.has(g)||(qy.add(g),t={rel:t,crossOrigin:a,href:r},c.querySelector(g)===null&&(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function a2(t){Er.D(t),Uy("dns-prefetch",t,null)}function o2(t,r){Er.C(t,r),Uy("preconnect",t,r)}function s2(t,r,a){Er.L(t,r,a);var c=Al;if(c&&t&&r){var g='link[rel="preload"][as="'+Pt(r)+'"]';r==="image"&&a&&a.imageSrcSet?(g+='[imagesrcset="'+Pt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(g+='[imagesizes="'+Pt(a.imageSizes)+'"]')):g+='[href="'+Pt(t)+'"]';var y=g;switch(r){case"style":y=Ml(t);break;case"script":y=jl(t)}Tn.has(y)||(t=p({rel:"preload",href:r==="image"&&a&&a.imageSrcSet?void 0:t,as:r},a),Tn.set(y,t),c.querySelector(g)!==null||r==="style"&&c.querySelector(Pa(y))||r==="script"&&c.querySelector(Qa(y))||(r=c.createElement("link"),qt(r,"link",t),bt(r),c.head.appendChild(r)))}}function u2(t,r){Er.m(t,r);var a=Al;if(a&&t){var c=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+Pt(c)+'"][href="'+Pt(t)+'"]',y=g;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":y=jl(t)}if(!Tn.has(y)&&(t=p({rel:"modulepreload",href:t},r),Tn.set(y,t),a.querySelector(g)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Qa(y)))return}c=a.createElement("link"),qt(c,"link",t),bt(c),a.head.appendChild(c)}}}function c2(t,r,a){Er.S(t,r,a);var c=Al;if(c&&t){var g=Rr(c).hoistableStyles,y=Ml(t);r=r||"default";var C=g.get(y);if(!C){var O={loading:0,preload:null};if(C=c.querySelector(Pa(y)))O.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":r},a),(a=Tn.get(y))&&Nd(t,a);var Q=C=c.createElement("link");bt(Q),qt(Q,"link",t),Q._p=new Promise(function(le,ce){Q.onload=le,Q.onerror=ce}),Q.addEventListener("load",function(){O.loading|=1}),Q.addEventListener("error",function(){O.loading|=2}),O.loading|=4,lu(C,r,c)}C={type:"stylesheet",instance:C,count:1,state:O},g.set(y,C)}}}function f2(t,r){Er.X(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),y=c.get(g);y||(y=a.querySelector(Qa(g)),y||(t=p({src:t,async:!0},r),(r=Tn.get(g))&&kd(t,r),y=a.createElement("script"),bt(y),qt(y,"link",t),a.head.appendChild(y)),y={type:"script",instance:y,count:1,state:null},c.set(g,y))}}function d2(t,r){Er.M(t,r);var a=Al;if(a&&t){var c=Rr(a).hoistableScripts,g=jl(t),y=c.get(g);y||(y=a.querySelector(Qa(g)),y||(t=p({src:t,async:!0,type:"module"},r),(r=Tn.get(g))&&kd(t,r),y=a.createElement("script"),bt(y),qt(y,"link",t),a.head.appendChild(y)),y={type:"script",instance:y,count:1,state:null},c.set(g,y))}}function Iy(t,r,a,c){var g=(g=K.current)?iu(g):null;if(!g)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(r=Ml(a.href),a=Rr(g).hoistableStyles,c=a.get(r),c||(c={type:"style",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=Ml(a.href);var y=Rr(g).hoistableStyles,C=y.get(t);if(C||(g=g.ownerDocument||g,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},y.set(t,C),(y=g.querySelector(Pa(t)))&&!y._p&&(C.instance=y,C.state.loading=5),Tn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Tn.set(t,a),y||h2(g,t,a,C.state))),r&&c===null)throw Error(l(528,""));return C}if(r&&c!==null)throw Error(l(529,""));return null;case"script":return r=a.async,a=a.src,typeof a=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=jl(a),a=Rr(g).hoistableScripts,c=a.get(r),c||(c={type:"script",instance:null,count:0,state:null},a.set(r,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function Ml(t){return'href="'+Pt(t)+'"'}function Pa(t){return'link[rel="stylesheet"]['+t+"]"}function Vy(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function h2(t,r,a,c){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?c.loading=1:(r=t.createElement("link"),c.preload=r,r.addEventListener("load",function(){return c.loading|=1}),r.addEventListener("error",function(){return c.loading|=2}),qt(r,"link",a),bt(r),t.head.appendChild(r))}function jl(t){return'[src="'+Pt(t)+'"]'}function Qa(t){return"script[async]"+t}function Yy(t,r,a){if(r.count++,r.instance===null)switch(r.type){case"style":var c=t.querySelector('style[data-href~="'+Pt(a.href)+'"]');if(c)return r.instance=c,bt(c),c;var g=p({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),bt(c),qt(c,"style",g),lu(c,a.precedence,t),r.instance=c;case"stylesheet":g=Ml(a.href);var y=t.querySelector(Pa(g));if(y)return r.state.loading|=4,r.instance=y,bt(y),y;c=Vy(a),(g=Tn.get(g))&&Nd(c,g),y=(t.ownerDocument||t).createElement("link"),bt(y);var C=y;return C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(y,"link",c),r.state.loading|=4,lu(y,a.precedence,t),r.instance=y;case"script":return y=jl(a.src),(g=t.querySelector(Qa(y)))?(r.instance=g,bt(g),g):(c=a,(g=Tn.get(y))&&(c=p({},a),kd(c,g)),t=t.ownerDocument||t,g=t.createElement("script"),bt(g),qt(g,"link",c),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(l(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(c=r.instance,r.state.loading|=4,lu(c,a.precedence,t));return r.instance}function lu(t,r,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=c.length?c[c.length-1]:null,y=g,C=0;C title"):null)}function p2(t,r,a){if(a===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function Xy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function m2(t,r,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var g=Ml(c.href),y=r.querySelector(Pa(g));if(y){r=y._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=ou.bind(t),r.then(t,t)),a.state.loading|=4,a.instance=y,bt(y);return}y=r.ownerDocument||r,c=Vy(c),(g=Tn.get(g))&&Nd(c,g),y=y.createElement("link"),bt(y);var C=y;C._p=new Promise(function(O,Q){C.onload=O,C.onerror=Q}),qt(y,"link",c),a.instance=y}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,r),(r=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=ou.bind(t),r.addEventListener("load",a),r.addEventListener("error",a))}}var Cd=0;function g2(t,r){return t.stylesheets&&t.count===0&&uu(t,t.stylesheets),0Cd?50:800)+r);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(g)}}:null}function ou(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)uu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var su=null;function uu(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,su=new Map,r.forEach(y2,t),su=null,ou.call(t))}function y2(t,r){if(!(r.state.loading&4)){var a=su.get(t);if(a)var c=a.get(null);else{a=new Map,su.set(t,a);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),y=0;y"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Ld.exports=L2(),Ld.exports}var B2=H2();/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const q2=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Sb=(...e)=>e.filter((n,i,l)=>!!n&&n.trim()!==""&&l.indexOf(n)===i).join(" ").trim();/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var U2={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.469.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=Y.forwardRef(({color:e="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:l,className:o="",children:s,iconNode:u,...f},d)=>Y.createElement("svg",{ref:d,...U2,width:n,height:n,stroke:e,strokeWidth:l?Number(i)*24/Number(n):i,className:Sb("lucide",o),...f},[...u.map(([h,m])=>Y.createElement(h,m)),...Array.isArray(s)?s:[s]]));/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Qe=(e,n)=>{const i=Y.forwardRef(({className:l,...o},s)=>Y.createElement(I2,{ref:s,iconNode:n,className:Sb(`lucide-${q2(e)}`,l),...o}));return i.displayName=`${e}`,i};/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _b=Qe("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const V2=Qe("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Bi=Qe("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ra=Qe("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ho=Qe("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Y2=Qe("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const G2=Qe("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const $2=Qe("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const X2=Qe("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Eb=Qe("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.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const F2=Qe("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const P2=Qe("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Q2=Qe("FileOutput",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2",key:"1vk7w2"}],["path",{d:"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6",key:"1jink5"}],["path",{d:"m5 11-3 3",key:"1dgrs4"}],["path",{d:"m5 17-3-3h10",key:"1mvvaf"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Z2=Qe("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const K2=Qe("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const So=Qe("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const J2=Qe("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Nb=Qe("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const W2=Qe("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const eN=Qe("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const tN=Qe("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const nN=Qe("ShieldCheck",[["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"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const gx=Qe("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const kb=Qe("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const rN=Qe("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const iN=Qe("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const lN=Qe("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const aN=Qe("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.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const nc=Qe("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** + * @license lucide-react v0.469.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const oN=Qe("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),yx=e=>{let n;const i=new Set,l=(h,m)=>{const p=typeof h=="function"?h(n):h;if(!Object.is(p,n)){const x=n;n=m??(typeof p!="object"||p===null)?p:Object.assign({},n,p),i.forEach(v=>v(n,x))}},o=()=>n,f={setState:l,getState:o,getInitialState:()=>d,subscribe:h=>(i.add(h),()=>i.delete(h))},d=n=e(l,o,f);return f},sN=(e=>e?yx(e):yx),uN=e=>e;function cN(e,n=uN){const i=ql.useSyncExternalStore(e.subscribe,ql.useCallback(()=>n(e.getState()),[e,n]),ql.useCallback(()=>n(e.getInitialState()),[e,n]));return ql.useDebugValue(i),i}const xx=e=>{const n=sN(e),i=l=>cN(n,l);return Object.assign(i,n),i},fN=(e=>e?xx(e):xx);function it(e,n,i="agent"){return e[n]||(e[n]={name:n,status:"pending",type:i,activity:[]}),e[n].activity||(e[n].activity=[]),e[n]}function yu(e,n,i){it(e,n).activity.push(i)}function Xe(e,n){e[n]&&(e[n]={...e[n]})}function no(e,n,i,l){const o=e[n];if(!(o!=null&&o.for_each_items))return;const s=o.for_each_items.find(u=>u.key===i);s&&s.activity.push(l)}const xe=fN(e=>({workflowName:"",workflowStatus:"pending",workflowStartTime:null,workflowFailure:null,workflowFailedAgent:null,entryPoint:null,agents:[],routes:[],parallelGroups:[],forEachGroups:[],nodes:{},groupProgress:{},highlightedEdges:[],agentsCompleted:0,agentsTotal:0,totalCost:0,totalTokens:0,selectedNode:null,wsStatus:"connecting",eventLog:[],activityLog:[],workflowOutput:null,lastEventTime:null,isPaused:!1,_wsSend:null,setWsSend:n=>{e({_wsSend:n})},sendGateResponse:(n,i,l)=>{const o=xe.getState()._wsSend;o&&o({type:"gate_response",agent_name:n,selected_value:i,additional_input:l||{}})},processEvent:n=>{const i=vx[n.type];e(l=>{const o={...l,nodes:{...l.nodes},groupProgress:{...l.groupProgress},eventLog:[...l.eventLog],activityLog:[...l.activityLog],lastEventTime:n.timestamp};i&&i(o,n.data,n.timestamp);const s=bx(n);s&&o.eventLog.push(s);const u=wx(n);return u&&o.activityLog.push(u),o})},replayState:n=>{e(i=>{const l={...i,agentsCompleted:0,totalCost:0,totalTokens:0,nodes:{},groupProgress:{},highlightedEdges:[],eventLog:[],activityLog:[],workflowOutput:null,workflowFailedAgent:null};for(const o of n){const s=vx[o.type];s&&s(l,o.data,o.timestamp);const u=bx(o);u&&l.eventLog.push(u);const f=wx(o);f&&l.activityLog.push(f),l.lastEventTime=o.timestamp}return l})},selectNode:n=>{e({selectedNode:n})},setWsStatus:n=>{e({wsStatus:n})},setEdgeHighlight:(n,i,l)=>{e(o=>({highlightedEdges:[...o.highlightedEdges.filter(s=>!(s.from===n&&s.to===i)),{from:n,to:i,state:l}]}))},clearEdgeHighlight:(n,i)=>{e(l=>({highlightedEdges:l.highlightedEdges.filter(o=>!(o.from===n&&o.to===i))}))}})),vx={workflow_started:(e,n,i)=>{const l=n;e.workflowStatus="running",e.workflowStartTime=i??Date.now()/1e3,e.workflowName=l.name||"",e.entryPoint=l.entry_point||null,e.agents=l.agents||[],e.routes=l.routes||[],e.parallelGroups=l.parallel_groups||[],e.forEachGroups=l.for_each_groups||[],it(e.nodes,"$start","start"),e.nodes.$start.status="running",Xe(e.nodes,"$start");const o=new Set,s=new Set;for(const u of e.parallelGroups){for(const f of u.agents)o.add(f);s.add(u.name),it(e.nodes,u.name,"parallel_group"),e.groupProgress[u.name]={total:u.agents.length,completed:0,failed:0};for(const f of u.agents)it(e.nodes,f,"agent")}for(const u of e.forEachGroups)s.add(u.name),it(e.nodes,u.name,"for_each_group"),e.groupProgress[u.name]={total:0,completed:0,failed:0};for(const u of e.agents)if(!s.has(u.name)&&!o.has(u.name)){const f=u.type||"agent";it(e.nodes,u.name,f),u.model&&(e.nodes[u.name].model=u.model),s.add(u.name)}e.agentsTotal=s.size},agent_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.iteration!=null&&(o.output!=null||o.error_type!=null)&&(o.iterationHistory||(o.iterationHistory=[]),o.iterationHistory.push({iteration:o.iteration,prompt:o.prompt,output:o.output,elapsed:o.elapsed,model:o.model,tokens:o.tokens,input_tokens:o.input_tokens,output_tokens:o.output_tokens,cost_usd:o.cost_usd,activity:o.activity,error_type:o.error_type,error_message:o.error_message})),o.status="running",o.iteration=l.iteration,o.startedAt=i??Date.now()/1e3,o.activity=[],l.context_window_max!=null&&(o.context_window_max=l.context_window_max),o.prompt=void 0,o.output=void 0,o.error_type=void 0,o.error_message=void 0,Xe(e.nodes,l.agent_name)},agent_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.input_tokens=i.input_tokens,l.output_tokens=i.output_tokens,l.cost_usd=i.cost_usd,l.output=i.output,l.output_keys=i.output_keys,l.context_window_used=i.context_window_used,l.context_window_max=i.context_window_max,i.context_window_used!=null&&i.context_window_max!=null&&i.context_window_max>0&&(l.context_pct=Math.round(i.context_window_used/i.context_window_max*100)),i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name)},agent_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message;for(const o of e.routes)o.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(s=>!(s.from===o.from&&s.to===o.to)),{from:o.from,to:o.to,state:"failed"}]);Xe(e.nodes,i.agent_name)},agent_prompt_rendered:(e,n)=>{var s;const i=n,l=n.item_key,o=it(e.nodes,i.agent_name);if(o.prompt=i.rendered_prompt,o.context_keys=i.context_keys,l){no(e.nodes,i.agent_name,l,{type:"prompt",icon:"📝",label:"prompt",text:"Prompt rendered",detail:((s=i.rendered_prompt)==null?void 0:s.slice(0,500))||null});const u=e.nodes[i.agent_name];if(u!=null&&u.for_each_items){const f=u.for_each_items.find(d=>d.key===l);f&&(f.prompt=i.rendered_prompt)}}Xe(e.nodes,i.agent_name)},agent_reasoning:(e,n)=>{const i=n,l=n.item_key,o={type:"reasoning",icon:"💭",label:"thinking",text:i.content};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_start:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-start",icon:"🔧",label:"tool",text:i.tool_name,detail:i.arguments||null};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_tool_complete:(e,n)=>{const i=n,l=n.item_key,o={type:"tool-complete",icon:"✓",label:"result",text:i.tool_name||"done",detail:i.result||null};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_turn_start:(e,n)=>{const i=n,l=n.item_key,o={type:"turn",icon:"⏳",label:"turn",text:`Turn ${i.turn??"?"}`};yu(e.nodes,i.agent_name,o),l&&no(e.nodes,i.agent_name,l,o),Xe(e.nodes,i.agent_name)},agent_message:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.latest_message=i.content,Xe(e.nodes,i.agent_name)},script_started:(e,n,i)=>{const l=n,o=it(e.nodes,l.agent_name);o.status="running",o.startedAt=i??Date.now()/1e3,Xe(e.nodes,l.agent_name)},script_completed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.elapsed=i.elapsed,l.stdout=i.stdout,l.stderr=i.stderr,l.exit_code=i.exit_code,Xe(e.nodes,i.agent_name)},script_failed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name)},gate_presented:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.options=i.options,l.option_details=i.option_details,l.prompt=i.prompt,Xe(e.nodes,i.agent_name)},gate_resolved:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="completed",e.agentsCompleted++,l.selected_option=i.selected_option,l.route=i.route,l.additional_input=i.additional_input,Xe(e.nodes,i.agent_name)},route_taken:(e,n)=>{const i=n;e.highlightedEdges=[...e.highlightedEdges.filter(l=>!(l.from===i.from_agent&&l.to===i.to_agent)),{from:i.from_agent,to:i.to_agent,state:"taken"}]},parallel_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"parallel_group");l.status="running",e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.agents.length,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},parallel_agent_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.agent_name);l.status="completed",l.elapsed=i.elapsed,l.model=i.model,l.tokens=i.tokens,l.cost_usd=i.cost_usd,l.context_window_used=i.context_window_used,l.context_window_max=i.context_window_max,i.context_window_used!=null&&i.context_window_max!=null&&i.context_window_max>0&&(l.context_pct=Math.round(i.context_window_used/i.context_window_max*100)),i.cost_usd&&(e.totalCost+=i.cost_usd),i.tokens&&(e.totalTokens+=i.tokens),Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_agent_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.agent_name);l.status="failed",l.elapsed=i.elapsed,l.error_type=i.error_type,l.error_message=i.message,Xe(e.nodes,i.agent_name),Xe(e.nodes,i.group_name)},parallel_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"parallel_group");l.status=i.failure_count===0?"completed":"failed",Xe(e.nodes,i.group_name)},for_each_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.status="running",l.for_each_items=[],e.groupProgress[i.group_name]&&(e.groupProgress[i.group_name].total=i.item_count,e.groupProgress[i.group_name].completed=0,e.groupProgress[i.group_name].failed=0),Xe(e.nodes,i.group_name)},for_each_item_started:(e,n)=>{const i=n,l=it(e.nodes,i.group_name,"for_each_group");l.for_each_items||(l.for_each_items=[]),l.for_each_items.push({key:i.item_key??String(i.index),index:i.index,status:"running",activity:[]}),Xe(e.nodes,i.group_name)},for_each_item_completed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].completed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="completed",s.elapsed=i.elapsed,s.tokens=i.tokens,s.cost_usd=i.cost_usd,s.output=i.output)}Xe(e.nodes,i.group_name)},for_each_item_failed:(e,n)=>{const i=n;e.groupProgress[i.group_name]&&e.groupProgress[i.group_name].failed++;const l=it(e.nodes,i.group_name,"for_each_group");if(l.for_each_items){const o=i.item_key??String(i.index),s=l.for_each_items.find(u=>u.key===o);s&&(s.status="failed",s.elapsed=i.elapsed,s.error_type=i.error_type,s.error_message=i.message)}Xe(e.nodes,i.group_name)},for_each_completed:(e,n)=>{const i=n;e.agentsCompleted++;const l=it(e.nodes,i.group_name,"for_each_group");l.status=(i.failure_count??0)===0?"completed":"failed",l.elapsed=i.elapsed,l.success_count=i.success_count,l.failure_count=i.failure_count,Xe(e.nodes,i.group_name)},workflow_completed:(e,n)=>{const i=n;e.workflowStatus="completed",e.isPaused=!1,e.workflowOutput=i.output??null,e.nodes.$end&&(e.nodes.$end.status="completed",Xe(e.nodes,"$end")),e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start")),e.highlightedEdges=[]},workflow_failed:(e,n)=>{const i=n;if(e.workflowStatus="failed",e.isPaused=!1,e.workflowFailedAgent=i.agent_name||null,i.agent_name&&e.nodes[i.agent_name]){e.nodes[i.agent_name].status="failed",Xe(e.nodes,i.agent_name);for(const l of e.routes)l.to===i.agent_name&&(e.highlightedEdges=[...e.highlightedEdges.filter(o=>!(o.from===l.from&&o.to===l.to)),{from:l.from,to:l.to,state:"failed"}])}e.workflowFailure={error_type:i.error_type,message:i.message,elapsed_seconds:i.elapsed_seconds,timeout_seconds:i.timeout_seconds,current_agent:i.current_agent},e.nodes.$start&&(e.nodes.$start.status="completed",Xe(e.nodes,"$start"))},checkpoint_saved:(e,n)=>{const i=n;i.path&&e.workflowFailure&&(e.workflowFailure={...e.workflowFailure,checkpoint_path:i.path})},agent_paused:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="waiting",l.activity.push({type:"agent_paused",icon:"⏸",label:"Paused",text:"Agent paused — click Resume to re-execute"}),Xe(e.nodes,i.agent_name),e.isPaused=!0},agent_resumed:(e,n)=>{const i=n,l=it(e.nodes,i.agent_name);l.status="running",l.activity.push({type:"agent_resumed",icon:"▶",label:"Resumed",text:"Agent resumed — re-executing"}),Xe(e.nodes,i.agent_name),e.isPaused=!1}};function bx(e){var l,o;const n=e.timestamp,i=e.data;switch(e.type){case"workflow_started":return{timestamp:n,level:"info",source:"workflow",message:`Workflow "${i.name||""}" started`};case"agent_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Agent completed${i.elapsed!=null?` in ${Mu(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}${i.cost_usd!=null?` · $${i.cost_usd.toFixed(4)}`:""}`};case"agent_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Agent failed: ${i.message||i.error_type||"unknown error"}`};case"script_started":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Script started"};case"script_completed":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Script completed (exit ${i.exit_code??"?"})${i.elapsed!=null?` in ${Mu(i.elapsed)}`:""}`};case"script_failed":return{timestamp:n,level:"error",source:String(i.agent_name),message:`Script failed: ${i.message||i.error_type||"unknown error"}`};case"gate_presented":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Waiting for human input…"};case"gate_resolved":return{timestamp:n,level:"success",source:String(i.agent_name),message:`Gate resolved → ${i.selected_option||"continue"}`};case"route_taken":return{timestamp:n,level:"debug",source:"router",message:`${i.from_agent} → ${i.to_agent}`};case"parallel_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`Parallel group started (${((l=i.agents)==null?void 0:l.length)||"?"} agents)`};case"parallel_completed":return{timestamp:n,level:i.failure_count===0?"success":"error",source:String(i.group_name),message:`Parallel group completed${i.failure_count>0?` with ${i.failure_count} failure(s)`:""}`};case"for_each_started":return{timestamp:n,level:"info",source:String(i.group_name),message:`For-each started (${i.item_count} items)`};case"for_each_completed":return{timestamp:n,level:(i.failure_count??0)===0?"success":"error",source:String(i.group_name),message:`For-each completed · ${i.success_count} succeeded${i.failure_count>0?` · ${i.failure_count} failed`:""}`};case"workflow_completed":return{timestamp:n,level:"success",source:"workflow",message:`Workflow completed${i.elapsed!=null?` in ${Mu(i.elapsed)}`:""}`};case"workflow_failed":return{timestamp:n,level:"error",source:"workflow",message:`Workflow failed: ${i.message||i.error_type||"unknown error"}`};case"checkpoint_saved":return{timestamp:n,level:"info",source:"workflow",message:`Checkpoint saved: ${((o=i.path)==null?void 0:o.split("/").pop())||"unknown"}`};case"agent_paused":return{timestamp:n,level:"warning",source:String(i.agent_name),message:"Agent paused — waiting for resume"};case"agent_resumed":return{timestamp:n,level:"info",source:String(i.agent_name),message:"Agent resumed — re-executing"};default:return null}}function Mu(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function wx(e){const n=e.timestamp,i=e.data;switch(e.type){case"agent_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Agent started${i.iteration!=null?` (iteration ${i.iteration})`:""}`};case"agent_prompt_rendered":return{timestamp:n,source:String(i.agent_name),type:"prompt",message:"Prompt rendered",detail:ro(String(i.rendered_prompt||""),500)};case"agent_reasoning":return{timestamp:n,source:String(i.agent_name),type:"reasoning",message:String(i.content||"")};case"agent_tool_start":return{timestamp:n,source:String(i.agent_name),type:"tool-start",message:`→ ${i.tool_name}`,detail:i.arguments?ro(String(i.arguments),300):null};case"agent_tool_complete":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`← ${i.tool_name||"done"}`,detail:i.result?ro(String(i.result),300):null};case"agent_turn_start":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Turn ${i.turn??"?"}`};case"agent_message":return{timestamp:n,source:String(i.agent_name),type:"message",message:ro(String(i.content||""),500)};case"agent_completed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Completed${i.elapsed!=null?` in ${Mu(i.elapsed)}`:""}${i.tokens!=null?` · ${i.tokens.toLocaleString()} tokens`:""}`};case"agent_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Failed: ${i.message||i.error_type||"unknown"}`};case"script_started":return{timestamp:n,source:String(i.agent_name),type:"turn",message:"Script started"};case"script_completed":return{timestamp:n,source:String(i.agent_name),type:"tool-complete",message:`Script completed (exit ${i.exit_code??"?"})`,detail:i.stdout?ro(String(i.stdout),300):null};case"script_failed":return{timestamp:n,source:String(i.agent_name),type:"turn",message:`Script failed: ${i.message||i.error_type||"unknown"}`};default:return null}}function ro(e,n){return e.length<=n?e:e.slice(0,n)+"…"}function dN(){const e=xe(v=>v.workflowName),n=xe(v=>v.workflowStatus),i=xe(v=>v.isPaused),[l,o]=Y.useState(!1),[s,u]=Y.useState(!1),[f,d]=Y.useState(!1),h=n==="running"||n==="pending";Y.useEffect(()=>{i||(o(!1),u(!1),d(!1))},[i]);const m=async()=>{o(!0);try{await fetch("/api/stop",{method:"POST"})}catch(v){console.error("Failed to stop agent:",v),o(!1)}},p=async()=>{u(!0);try{await fetch("/api/resume",{method:"POST"})}catch(v){console.error("Failed to resume agent:",v),u(!1)}},x=async()=>{d(!0);try{await fetch("/api/kill",{method:"POST"})}catch(v){console.error("Failed to kill workflow:",v),d(!1)}};return b.jsxs("header",{className:"flex items-center justify-between px-4 py-2 bg-[var(--surface)] border-b border-[var(--border)] flex-shrink-0",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(_b,{className:"w-4 h-4 text-[var(--running)]"}),b.jsx("h1",{className:"text-sm font-semibold text-[var(--text)]",children:"Conductor"}),e&&b.jsxs("span",{className:"text-sm text-[var(--text-muted)] font-normal",children:["— ",e]})]}),b.jsxs("div",{className:"flex items-center gap-3",children:[i?b.jsxs(b.Fragment,{children:[b.jsxs("button",{onClick:p,disabled:s,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 + hover:bg-emerald-500/20 hover:border-emerald-500/30 + disabled:opacity-50 disabled:cursor-not-allowed + transition-colors`,title:"Re-execute the paused agent",children:[b.jsx(Nb,{className:"w-3 h-3"}),s?"Resuming...":"Resume"]}),b.jsxs("button",{onClick:x,disabled:f,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + bg-red-500/10 text-red-400 border border-red-500/20 + hover:bg-red-500/20 hover:border-red-500/30 + disabled:opacity-50 disabled:cursor-not-allowed + transition-colors`,title:"Stop workflow entirely (checkpoint saved for CLI resume)",children:[b.jsx(nc,{className:"w-3 h-3"}),f?"Killing...":"Kill"]})]}):h?b.jsxs("button",{onClick:m,disabled:l,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + bg-red-500/10 text-red-400 border border-red-500/20 + hover:bg-red-500/20 hover:border-red-500/30 + disabled:opacity-50 disabled:cursor-not-allowed + transition-colors`,children:[b.jsx(kb,{className:"w-3 h-3"}),l?"Stopping...":"Stop"]}):null,b.jsxs("a",{href:"/api/logs",download:"conductor-logs.json",className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded + bg-[var(--surface-hover)] text-[var(--text-secondary)] border border-[var(--border)] + hover:text-[var(--text)] hover:bg-[var(--surface)] + transition-colors`,title:"Download full event log as JSON",children:[b.jsx(F2,{className:"w-3 h-3"}),"Logs"]}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Dashboard v1.0"})]})]})}function Ye(...e){return e.filter(Boolean).join(" ")}function In(e){if(e==null)return"";if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function Wn(e){return e==null?"":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:`${e}`}function Ql(e){return e==null?"":`$${e.toFixed(4)}`}function Cb(e){return e==null?"":typeof e=="string"?e:JSON.stringify(e,null,2)}function hN(e,n){if(n<=0)return`${e.toLocaleString()} tokens (limit unknown)`;const i=o=>o.toLocaleString(),l=(e/n*100).toFixed(1);return`${i(e)} / ${i(n)} (${l}%)`}function Tb(){const e=xe(s=>s.workflowStatus),n=xe(s=>s.workflowStartTime),[i,l]=Y.useState("—"),o=Y.useRef(null);return Y.useEffect(()=>{if(e==="running"&&n!=null){const s=()=>{const u=Date.now()/1e3-n;l(In(u))};return s(),o.current=setInterval(s,500),()=>{o.current&&clearInterval(o.current)}}else(e==="completed"||e==="failed")&&o.current&&(clearInterval(o.current),o.current=null)},[e,n]),i}function pN(){const e=xe(k=>k.workflowStatus),n=xe(k=>k.agentsCompleted),i=xe(k=>k.agentsTotal),l=xe(k=>k.totalCost),o=xe(k=>k.totalTokens),s=xe(k=>k.wsStatus),u=xe(k=>k.workflowFailure),f=xe(k=>k.lastEventTime),d=Tb(),[h,m]=Y.useState(null);Y.useEffect(()=>{if(e!=="running"||f==null){m(null);return}const k=()=>{m(Math.floor(Date.now()/1e3-f))};k();const S=setInterval(k,1e3);return()=>clearInterval(S)},[e,f]);const p=e==="failed",x=(()=>{switch(e){case"pending":return"Waiting for workflow…";case"running":return"Running";case"completed":return"Completed";case"failed":{if(!u)return"Failed";const k=u.error_type||"";return k==="MaxIterationsError"?"Failed: exceeded maximum iterations":k==="TimeoutError"?"Failed: workflow timed out":u.message?`Failed: ${u.message.length>60?u.message.slice(0,57)+"...":u.message}`:`Failed: ${k}`}}})(),v={pending:"bg-[var(--pending)]",running:"bg-[var(--running)] animate-pulse",completed:"bg-[var(--completed)]",failed:"bg-[var(--failed)]"}[e],w=(()=>{switch(s){case"connected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--completed)]",children:[b.jsx(aN,{className:"w-3 h-3"}),b.jsx("span",{children:"Connected"})]});case"disconnected":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--failed)]",children:[b.jsx(lN,{className:"w-3 h-3"}),b.jsx("span",{children:"Disconnected"})]});case"reconnecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--waiting)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Reconnecting\\u2026"})]});case"connecting":return b.jsxs("span",{className:"flex items-center gap-1 text-[var(--text-muted)]",children:[b.jsx(So,{className:"w-3 h-3 animate-spin"}),b.jsx("span",{children:"Connecting\\u2026"})]})}})();return b.jsxs("footer",{className:Ye("flex items-center gap-4 px-4 py-1.5 border-t text-xs flex-shrink-0 transition-colors duration-300",p?"bg-red-950/50 border-red-500/30":"bg-[var(--surface)] border-[var(--border)]"),children:[b.jsx("span",{className:Ye("w-2 h-2 rounded-full flex-shrink-0",v)}),b.jsx("span",{className:Ye(p?"text-red-300":"text-[var(--text)]"),children:x}),i>0&&b.jsxs("span",{className:Ye(p?"text-red-400/60":"text-[var(--text-muted)]"),children:[n,"/",i," agents"]}),e!=="pending"&&b.jsx("span",{className:Ye("font-mono",p?"text-red-400/60":"text-[var(--text-muted)]"),children:d}),o>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total tokens used",children:[b.jsx(K2,{className:"w-3 h-3"}),b.jsx("span",{className:"font-mono",children:o.toLocaleString()})]}),l>0&&b.jsxs("span",{className:Ye("flex items-center gap-1",p?"text-red-400/60":"text-[var(--text-muted)]"),title:"Total cost",children:[b.jsx(X2,{className:"w-3 h-3"}),b.jsxs("span",{className:"font-mono",children:["$",l.toFixed(4)]})]}),h!=null&&h>=5&&b.jsxs("span",{className:Ye("flex items-center gap-1 font-mono",h>=60?"text-amber-400":"text-[var(--text-muted)]"),title:"Time since last event from the provider",children:[b.jsx($2,{className:"w-3 h-3"}),b.jsx("span",{children:h>=60?`${Math.floor(h/60)}m ${h%60}s idle`:`${h}s idle`})]}),b.jsx("span",{className:"flex-1"}),w]})}const rc=Y.createContext(null);rc.displayName="PanelGroupContext";const gt={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},qp=10,qi=Y.useLayoutEffect,Sx=j2.useId,mN=typeof Sx=="function"?Sx:()=>null;let gN=0;function Up(e=null){const n=mN(),i=Y.useRef(e||n||null);return i.current===null&&(i.current=""+gN++),e??i.current}function zb({children:e,className:n="",collapsedSize:i,collapsible:l,defaultSize:o,forwardedRef:s,id:u,maxSize:f,minSize:d,onCollapse:h,onExpand:m,onResize:p,order:x,style:v,tagName:w="div",...k}){const S=Y.useContext(rc);if(S===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:E,expandPanel:z,getPanelSize:_,getPanelStyle:A,groupId:B,isPanelCollapsed:T,reevaluatePanelConstraints:q,registerPanel:M,resizePanel:R,unregisterPanel:X}=S,H=Up(u),I=Y.useRef({callbacks:{onCollapse:h,onExpand:m,onResize:p},constraints:{collapsedSize:i,collapsible:l,defaultSize:o,maxSize:f,minSize:d},id:H,idIsFromProps:u!==void 0,order:x});Y.useRef({didLogMissingDefaultSizeWarning:!1}),qi(()=>{const{callbacks:L,constraints:G}=I.current,D={...G};I.current.id=H,I.current.idIsFromProps=u!==void 0,I.current.order=x,L.onCollapse=h,L.onExpand=m,L.onResize=p,G.collapsedSize=i,G.collapsible=l,G.defaultSize=o,G.maxSize=f,G.minSize=d,(D.collapsedSize!==G.collapsedSize||D.collapsible!==G.collapsible||D.maxSize!==G.maxSize||D.minSize!==G.minSize)&&q(I.current,D)}),qi(()=>{const L=I.current;return M(L),()=>{X(L)}},[x,H,M,X]),Y.useImperativeHandle(s,()=>({collapse:()=>{E(I.current)},expand:L=>{z(I.current,L)},getId(){return H},getSize(){return _(I.current)},isCollapsed(){return T(I.current)},isExpanded(){return!T(I.current)},resize:L=>{R(I.current,L)}}),[E,z,_,T,H,R]);const ee=A(I.current,o);return Y.createElement(w,{...k,children:e,className:n,id:H,style:{...ee,...v},[gt.groupId]:B,[gt.panel]:"",[gt.panelCollapsible]:l||void 0,[gt.panelId]:H,[gt.panelSize]:parseFloat(""+ee.flexGrow).toFixed(1)})}const co=Y.forwardRef((e,n)=>Y.createElement(zb,{...e,forwardedRef:n}));zb.displayName="Panel";co.displayName="forwardRef(Panel)";let dp=null,ju=-1,ci=null;function yN(e,n){if(n){const i=(n&Db)!==0,l=(n&Rb)!==0,o=(n&Lb)!==0,s=(n&Hb)!==0;if(i)return o?"se-resize":s?"ne-resize":"e-resize";if(l)return o?"sw-resize":s?"nw-resize":"w-resize";if(o)return"s-resize";if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function xN(){ci!==null&&(document.head.removeChild(ci),dp=null,ci=null,ju=-1)}function Ud(e,n){var i,l;const o=yN(e,n);if(dp!==o){if(dp=o,ci===null&&(ci=document.createElement("style"),document.head.appendChild(ci)),ju>=0){var s;(s=ci.sheet)===null||s===void 0||s.removeRule(ju)}ju=(i=(l=ci.sheet)===null||l===void 0?void 0:l.insertRule(`*{cursor: ${o} !important;}`))!==null&&i!==void 0?i:-1}}function Ab(e){return e.type==="keydown"}function Mb(e){return e.type.startsWith("pointer")}function jb(e){return e.type.startsWith("mouse")}function ic(e){if(Mb(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(jb(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function vN(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function bN(e,n,i){return e.xn.x&&e.yn.y}function wN(e,n){if(e===n)throw new Error("Cannot compare node with itself");const i={a:Nx(e),b:Nx(n)};let l;for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),n=i.b.pop(),l=e;De(l,"Stacking order can only be calculated for elements with a common ancestor");const o={a:Ex(_x(i.a)),b:Ex(_x(i.b))};if(o.a===o.b){const s=l.childNodes,u={a:i.a.at(-1),b:i.b.at(-1)};let f=s.length;for(;f--;){const d=s[f];if(d===u.a)return 1;if(d===u.b)return-1}}return Math.sign(o.a-o.b)}const SN=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function _N(e){var n;const i=getComputedStyle((n=Ob(e))!==null&&n!==void 0?n:e).display;return i==="flex"||i==="inline-flex"}function EN(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||_N(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||SN.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function _x(e){let n=e.length;for(;n--;){const i=e[n];if(De(i,"Missing node"),EN(i))return i}return null}function Ex(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Nx(e){const n=[];for(;e;)n.push(e),e=Ob(e);return n}function Ob(e){const{parentNode:n}=e;return n&&n instanceof ShadowRoot?n.host:n}const Db=1,Rb=2,Lb=4,Hb=8,NN=vN()==="coarse";let Un=[],Gl=!1,Li=new Map,lc=new Map;const _o=new Set;function kN(e,n,i,l,o){var s;const{ownerDocument:u}=n,f={direction:i,element:n,hitAreaMargins:l,setResizeHandlerState:o},d=(s=Li.get(u))!==null&&s!==void 0?s:0;return Li.set(u,d+1),_o.add(f),Uu(),function(){var m;lc.delete(e),_o.delete(f);const p=(m=Li.get(u))!==null&&m!==void 0?m:1;if(Li.set(u,p-1),Uu(),p===1&&Li.delete(u),Un.includes(f)){const x=Un.indexOf(f);x>=0&&Un.splice(x,1),Vp(),o("up",!0,null)}}}function CN(e){const{target:n}=e,{x:i,y:l}=ic(e);Gl=!0,Ip({target:n,x:i,y:l}),Uu(),Un.length>0&&(Iu("down",e),e.preventDefault(),Bb(n)||e.stopImmediatePropagation())}function Id(e){const{x:n,y:i}=ic(e);if(Gl&&e.buttons===0&&(Gl=!1,Iu("up",e)),!Gl){const{target:l}=e;Ip({target:l,x:n,y:i})}Iu("move",e),Vp(),Un.length>0&&e.preventDefault()}function Vd(e){const{target:n}=e,{x:i,y:l}=ic(e);lc.clear(),Gl=!1,Un.length>0&&(e.preventDefault(),Bb(n)||e.stopImmediatePropagation()),Iu("up",e),Ip({target:n,x:i,y:l}),Vp(),Uu()}function Bb(e){let n=e;for(;n;){if(n.hasAttribute(gt.resizeHandle))return!0;n=n.parentElement}return!1}function Ip({target:e,x:n,y:i}){Un.splice(0);let l=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(l=e),_o.forEach(o=>{const{element:s,hitAreaMargins:u}=o,f=s.getBoundingClientRect(),{bottom:d,left:h,right:m,top:p}=f,x=NN?u.coarse:u.fine;if(n>=h-x&&n<=m+x&&i>=p-x&&i<=d+x){if(l!==null&&document.contains(l)&&s!==l&&!s.contains(l)&&!l.contains(s)&&wN(l,s)>0){let w=l,k=!1;for(;w&&!w.contains(s);){if(bN(w.getBoundingClientRect(),f)){k=!0;break}w=w.parentElement}if(k)return}Un.push(o)}})}function Yd(e,n){lc.set(e,n)}function Vp(){let e=!1,n=!1;Un.forEach(l=>{const{direction:o}=l;o==="horizontal"?e=!0:n=!0});let i=0;lc.forEach(l=>{i|=l}),e&&n?Ud("intersection",i):e?Ud("horizontal",i):n?Ud("vertical",i):xN()}let Gd=new AbortController;function Uu(){Gd.abort(),Gd=new AbortController;const e={capture:!0,signal:Gd.signal};_o.size&&(Gl?(Un.length>0&&Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("contextmenu",Vd,e),l.addEventListener("pointerleave",Id,e),l.addEventListener("pointermove",Id,e))}),window.addEventListener("pointerup",Vd,e),window.addEventListener("pointercancel",Vd,e)):Li.forEach((n,i)=>{const{body:l}=i;n>0&&(l.addEventListener("pointerdown",CN,e),l.addEventListener("pointermove",Id,e))}))}function Iu(e,n){_o.forEach(i=>{const{setResizeHandlerState:l}=i,o=Un.includes(i);l(e,o,n)})}function TN(){const[e,n]=Y.useState(0);return Y.useCallback(()=>n(i=>i+1),[])}function De(e,n){if(!e)throw console.error(n),Error(n)}function Vi(e,n,i=qp){return e.toFixed(i)===n.toFixed(i)?0:e>n?1:-1}function kr(e,n,i=qp){return Vi(e,n,i)===0}function gn(e,n,i){return Vi(e,n,i)===0}function zN(e,n,i){if(e.length!==n.length)return!1;for(let l=0;l0&&(e=e<0?0-E:E)}}}{const p=e<0?f:d,x=i[p];De(x,`No panel constraints found for index ${p}`);const{collapsedSize:v=0,collapsible:w,minSize:k=0}=x;if(w){const S=n[p];if(De(S!=null,`Previous layout not found for panel index ${p}`),gn(S,k)){const E=S-v;Vi(E,Math.abs(e))>0&&(e=e<0?0-E:E)}}}}{const p=e<0?1:-1;let x=e<0?d:f,v=0;for(;;){const k=n[x];De(k!=null,`Previous layout not found for panel index ${x}`);const E=Ul({panelConstraints:i,panelIndex:x,size:100})-k;if(v+=E,x+=p,x<0||x>=i.length)break}const w=Math.min(Math.abs(e),Math.abs(v));e=e<0?0-w:w}{let x=e<0?f:d;for(;x>=0&&x=0))break;e<0?x--:x++}}if(zN(o,u))return o;{const p=e<0?d:f,x=n[p];De(x!=null,`Previous layout not found for panel index ${p}`);const v=x+h,w=Ul({panelConstraints:i,panelIndex:p,size:v});if(u[p]=w,!gn(w,v)){let k=v-w,E=e<0?d:f;for(;E>=0&&E0?E--:E++}}}const m=u.reduce((p,x)=>x+p,0);return gn(m,100)?u:o}function AN({layout:e,panelsArray:n,pivotIndices:i}){let l=0,o=100,s=0,u=0;const f=i[0];De(f!=null,"No pivot index found"),n.forEach((p,x)=>{const{constraints:v}=p,{maxSize:w=100,minSize:k=0}=v;x===f?(l=k,o=w):(s+=k,u+=w)});const d=Math.min(o,100-s),h=Math.max(l,100-u),m=e[f];return{valueMax:d,valueMin:h,valueNow:m}}function Eo(e,n=document){return Array.from(n.querySelectorAll(`[${gt.resizeHandleId}][data-panel-group-id="${e}"]`))}function qb(e,n,i=document){const o=Eo(e,i).findIndex(s=>s.getAttribute(gt.resizeHandleId)===n);return o??null}function Ub(e,n,i){const l=qb(e,n,i);return l!=null?[l,l+1]:[-1,-1]}function Ib(e,n=document){var i;if(n instanceof HTMLElement&&(n==null||(i=n.dataset)===null||i===void 0?void 0:i.panelGroupId)==e)return n;const l=n.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return l||null}function ac(e,n=document){const i=n.querySelector(`[${gt.resizeHandleId}="${e}"]`);return i||null}function MN(e,n,i,l=document){var o,s,u,f;const d=ac(n,l),h=Eo(e,l),m=d?h.indexOf(d):-1,p=(o=(s=i[m])===null||s===void 0?void 0:s.id)!==null&&o!==void 0?o:null,x=(u=(f=i[m+1])===null||f===void 0?void 0:f.id)!==null&&u!==void 0?u:null;return[p,x]}function jN({committedValuesRef:e,eagerValuesRef:n,groupId:i,layout:l,panelDataArray:o,panelGroupElement:s,setLayout:u}){Y.useRef({didWarnAboutMissingResizeHandle:!1}),qi(()=>{if(!s)return;const f=Eo(i,s);for(let d=0;d{f.forEach((d,h)=>{d.removeAttribute("aria-controls"),d.removeAttribute("aria-valuemax"),d.removeAttribute("aria-valuemin"),d.removeAttribute("aria-valuenow")})}},[i,l,o,s]),Y.useEffect(()=>{if(!s)return;const f=n.current;De(f,"Eager values not found");const{panelDataArray:d}=f,h=Ib(i,s);De(h!=null,`No group found for id "${i}"`);const m=Eo(i,s);De(m,`No resize handles found for group id "${i}"`);const p=m.map(x=>{const v=x.getAttribute(gt.resizeHandleId);De(v,"Resize handle element has no handle id attribute");const[w,k]=MN(i,v,d,s);if(w==null||k==null)return()=>{};const S=E=>{if(!E.defaultPrevented)switch(E.key){case"Enter":{E.preventDefault();const z=d.findIndex(_=>_.id===w);if(z>=0){const _=d[z];De(_,`No panel data found for index ${z}`);const A=l[z],{collapsedSize:B=0,collapsible:T,minSize:q=0}=_.constraints;if(A!=null&&T){const M=fo({delta:gn(A,B)?q-B:B-A,initialLayout:l,panelConstraints:d.map(R=>R.constraints),pivotIndices:Ub(i,v,s),prevLayout:l,trigger:"keyboard"});l!==M&&u(M)}}break}}};return x.addEventListener("keydown",S),()=>{x.removeEventListener("keydown",S)}});return()=>{p.forEach(x=>x())}},[s,e,n,i,l,o,u])}function kx(e,n){if(e.length!==n.length)return!1;for(let i=0;is.constraints);let l=0,o=100;for(let s=0;s{const s=e[o];De(s,`Panel data not found for index ${o}`);const{callbacks:u,constraints:f,id:d}=s,{collapsedSize:h=0,collapsible:m}=f,p=i[d];if(p==null||l!==p){i[d]=l;const{onCollapse:x,onExpand:v,onResize:w}=u;w&&w(l,p),m&&(x||v)&&(v&&(p==null||kr(p,h))&&!kr(l,h)&&v(),x&&(p==null||!kr(p,h))&&kr(l,h)&&x())}})}function xu(e,n){if(e.length!==n.length)return!1;for(let i=0;i{i!==null&&clearTimeout(i),i=setTimeout(()=>{e(...o)},n)}}function Cx(e){try{if(typeof localStorage<"u")e.getItem=n=>localStorage.getItem(n),e.setItem=(n,i)=>{localStorage.setItem(n,i)};else throw new Error("localStorage not supported in this environment")}catch(n){console.error(n),e.getItem=()=>null,e.setItem=()=>{}}}function Yb(e){return`react-resizable-panels:${e}`}function Gb(e){return e.map(n=>{const{constraints:i,id:l,idIsFromProps:o,order:s}=n;return o?l:s?`${s}:${JSON.stringify(i)}`:JSON.stringify(i)}).sort((n,i)=>n.localeCompare(i)).join(",")}function $b(e,n){try{const i=Yb(e),l=n.getItem(i);if(l){const o=JSON.parse(l);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function BN(e,n,i){var l,o;const s=(l=$b(e,i))!==null&&l!==void 0?l:{},u=Gb(n);return(o=s[u])!==null&&o!==void 0?o:null}function qN(e,n,i,l,o){var s;const u=Yb(e),f=Gb(n),d=(s=$b(e,o))!==null&&s!==void 0?s:{};d[f]={expandToSizes:Object.fromEntries(i.entries()),layout:l};try{o.setItem(u,JSON.stringify(d))}catch(h){console.error(h)}}function Tx({layout:e,panelConstraints:n}){const i=[...e],l=i.reduce((s,u)=>s+u,0);if(i.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${i.map(s=>`${s}%`).join(", ")}`);if(!gn(l,100)&&i.length>0)for(let s=0;s(Cx(ho),ho.getItem(e)),setItem:(e,n)=>{Cx(ho),ho.setItem(e,n)}},zx={};function Xb({autoSaveId:e=null,children:n,className:i="",direction:l,forwardedRef:o,id:s=null,onLayout:u=null,keyboardResizeBy:f=null,storage:d=ho,style:h,tagName:m="div",...p}){const x=Up(s),v=Y.useRef(null),[w,k]=Y.useState(null),[S,E]=Y.useState([]),z=TN(),_=Y.useRef({}),A=Y.useRef(new Map),B=Y.useRef(0),T=Y.useRef({autoSaveId:e,direction:l,dragState:w,id:x,keyboardResizeBy:f,onLayout:u,storage:d}),q=Y.useRef({layout:S,panelDataArray:[],panelDataArrayChanged:!1});Y.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),Y.useImperativeHandle(o,()=>({getId:()=>T.current.id,getLayout:()=>{const{layout:N}=q.current;return N},setLayout:N=>{const{onLayout:V}=T.current,{layout:P,panelDataArray:K}=q.current,ne=Tx({layout:N,panelConstraints:K.map(re=>re.constraints)});kx(P,ne)||(E(ne),q.current.layout=ne,V&&V(ne),Dl(K,ne,_.current))}}),[]),qi(()=>{T.current.autoSaveId=e,T.current.direction=l,T.current.dragState=w,T.current.id=x,T.current.onLayout=u,T.current.storage=d}),jN({committedValuesRef:T,eagerValuesRef:q,groupId:x,layout:S,panelDataArray:q.current.panelDataArray,setLayout:E,panelGroupElement:v.current}),Y.useEffect(()=>{const{panelDataArray:N}=q.current;if(e){if(S.length===0||S.length!==N.length)return;let V=zx[e];V==null&&(V=HN(qN,UN),zx[e]=V);const P=[...N],K=new Map(A.current);V(e,P,K,S,d)}},[e,S,d]),Y.useEffect(()=>{});const M=Y.useCallback(N=>{const{onLayout:V}=T.current,{layout:P,panelDataArray:K}=q.current;if(N.constraints.collapsible){const ne=K.map(ve=>ve.constraints),{collapsedSize:re=0,panelSize:se,pivotIndices:ge}=Di(K,N,P);if(De(se!=null,`Panel size not found for panel "${N.id}"`),!kr(se,re)){A.current.set(N.id,se);const ye=Bl(K,N)===K.length-1?se-re:re-se,he=fo({delta:ye,initialLayout:P,panelConstraints:ne,pivotIndices:ge,prevLayout:P,trigger:"imperative-api"});xu(P,he)||(E(he),q.current.layout=he,V&&V(he),Dl(K,he,_.current))}}},[]),R=Y.useCallback((N,V)=>{const{onLayout:P}=T.current,{layout:K,panelDataArray:ne}=q.current;if(N.constraints.collapsible){const re=ne.map(_e=>_e.constraints),{collapsedSize:se=0,panelSize:ge=0,minSize:ve=0,pivotIndices:ye}=Di(ne,N,K),he=V??ve;if(kr(ge,se)){const _e=A.current.get(N.id),Me=_e!=null&&_e>=he?_e:he,st=Bl(ne,N)===ne.length-1?ge-Me:Me-ge,We=fo({delta:st,initialLayout:K,panelConstraints:re,pivotIndices:ye,prevLayout:K,trigger:"imperative-api"});xu(K,We)||(E(We),q.current.layout=We,P&&P(We),Dl(ne,We,_.current))}}},[]),X=Y.useCallback(N=>{const{layout:V,panelDataArray:P}=q.current,{panelSize:K}=Di(P,N,V);return De(K!=null,`Panel size not found for panel "${N.id}"`),K},[]),H=Y.useCallback((N,V)=>{const{panelDataArray:P}=q.current,K=Bl(P,N);return LN({defaultSize:V,dragState:w,layout:S,panelData:P,panelIndex:K})},[w,S]),I=Y.useCallback(N=>{const{layout:V,panelDataArray:P}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(P,N,V);return De(re!=null,`Panel size not found for panel "${N.id}"`),ne===!0&&kr(re,K)},[]),ee=Y.useCallback(N=>{const{layout:V,panelDataArray:P}=q.current,{collapsedSize:K=0,collapsible:ne,panelSize:re}=Di(P,N,V);return De(re!=null,`Panel size not found for panel "${N.id}"`),!ne||Vi(re,K)>0},[]),L=Y.useCallback(N=>{const{panelDataArray:V}=q.current;V.push(N),V.sort((P,K)=>{const ne=P.order,re=K.order;return ne==null&&re==null?0:ne==null?-1:re==null?1:ne-re}),q.current.panelDataArrayChanged=!0,z()},[z]);qi(()=>{if(q.current.panelDataArrayChanged){q.current.panelDataArrayChanged=!1;const{autoSaveId:N,onLayout:V,storage:P}=T.current,{layout:K,panelDataArray:ne}=q.current;let re=null;if(N){const ge=BN(N,ne,P);ge&&(A.current=new Map(Object.entries(ge.expandToSizes)),re=ge.layout)}re==null&&(re=RN({panelDataArray:ne}));const se=Tx({layout:re,panelConstraints:ne.map(ge=>ge.constraints)});kx(K,se)||(E(se),q.current.layout=se,V&&V(se),Dl(ne,se,_.current))}}),qi(()=>{const N=q.current;return()=>{N.layout=[]}},[]);const G=Y.useCallback(N=>{let V=!1;const P=v.current;return P&&window.getComputedStyle(P,null).getPropertyValue("direction")==="rtl"&&(V=!0),function(ne){ne.preventDefault();const re=v.current;if(!re)return()=>null;const{direction:se,dragState:ge,id:ve,keyboardResizeBy:ye,onLayout:he}=T.current,{layout:_e,panelDataArray:Me}=q.current,{initialLayout:Ce}=ge??{},st=Ub(ve,N,re);let We=DN(ne,N,se,ge,ye,re);const zt=se==="horizontal";zt&&V&&(We=-We);const Ut=Me.map(An=>An.constraints),Dt=fo({delta:We,initialLayout:Ce??_e,panelConstraints:Ut,pivotIndices:st,prevLayout:_e,trigger:Ab(ne)?"keyboard":"mouse-or-touch"}),bn=!xu(_e,Dt);(Mb(ne)||jb(ne))&&B.current!=We&&(B.current=We,!bn&&We!==0?zt?Yd(N,We<0?Db:Rb):Yd(N,We<0?Lb:Hb):Yd(N,0)),bn&&(E(Dt),q.current.layout=Dt,he&&he(Dt),Dl(Me,Dt,_.current))}},[]),D=Y.useCallback((N,V)=>{const{onLayout:P}=T.current,{layout:K,panelDataArray:ne}=q.current,re=ne.map(_e=>_e.constraints),{panelSize:se,pivotIndices:ge}=Di(ne,N,K);De(se!=null,`Panel size not found for panel "${N.id}"`);const ye=Bl(ne,N)===ne.length-1?se-V:V-se,he=fo({delta:ye,initialLayout:K,panelConstraints:re,pivotIndices:ge,prevLayout:K,trigger:"imperative-api"});xu(K,he)||(E(he),q.current.layout=he,P&&P(he),Dl(ne,he,_.current))},[]),$=Y.useCallback((N,V)=>{const{layout:P,panelDataArray:K}=q.current,{collapsedSize:ne=0,collapsible:re}=V,{collapsedSize:se=0,collapsible:ge,maxSize:ve=100,minSize:ye=0}=N.constraints,{panelSize:he}=Di(K,N,P);he!=null&&(re&&ge&&kr(he,ne)?kr(ne,se)||D(N,se):heve&&D(N,ve))},[D]),Z=Y.useCallback((N,V)=>{const{direction:P}=T.current,{layout:K}=q.current;if(!v.current)return;const ne=ac(N,v.current);De(ne,`Drag handle element not found for id "${N}"`);const re=Vb(P,V);k({dragHandleId:N,dragHandleRect:ne.getBoundingClientRect(),initialCursorPosition:re,initialLayout:K})},[]),J=Y.useCallback(()=>{k(null)},[]),j=Y.useCallback(N=>{const{panelDataArray:V}=q.current,P=Bl(V,N);P>=0&&(V.splice(P,1),delete _.current[N.id],q.current.panelDataArrayChanged=!0,z())},[z]),U=Y.useMemo(()=>({collapsePanel:M,direction:l,dragState:w,expandPanel:R,getPanelSize:X,getPanelStyle:H,groupId:x,isPanelCollapsed:I,isPanelExpanded:ee,reevaluatePanelConstraints:$,registerPanel:L,registerResizeHandle:G,resizePanel:D,startDragging:Z,stopDragging:J,unregisterPanel:j,panelGroupElement:v.current}),[M,w,l,R,X,H,x,I,ee,$,L,G,D,Z,J,j]),F={display:"flex",flexDirection:l==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Y.createElement(rc.Provider,{value:U},Y.createElement(m,{...p,children:n,className:i,id:s,ref:v,style:{...F,...h},[gt.group]:"",[gt.groupDirection]:l,[gt.groupId]:x}))}const hp=Y.forwardRef((e,n)=>Y.createElement(Xb,{...e,forwardedRef:n}));Xb.displayName="PanelGroup";hp.displayName="forwardRef(PanelGroup)";function Bl(e,n){return e.findIndex(i=>i===n||i.id===n.id)}function Di(e,n,i){const l=Bl(e,n),s=l===e.length-1?[l-1,l]:[l,l+1],u=i[l];return{...n.constraints,panelSize:u,pivotIndices:s}}function IN({disabled:e,handleId:n,resizeHandler:i,panelGroupElement:l}){Y.useEffect(()=>{if(e||i==null||l==null)return;const o=ac(n,l);if(o==null)return;const s=u=>{if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),i(u);break}case"F6":{u.preventDefault();const f=o.getAttribute(gt.groupId);De(f,`No group element found for id "${f}"`);const d=Eo(f,l),h=qb(f,n,l);De(h!==null,`No resize element found for id "${n}"`);const m=u.shiftKey?h>0?h-1:d.length-1:h+1{o.removeEventListener("keydown",s)}},[l,e,n,i])}function pp({children:e=null,className:n="",disabled:i=!1,hitAreaMargins:l,id:o,onBlur:s,onClick:u,onDragging:f,onFocus:d,onPointerDown:h,onPointerUp:m,style:p={},tabIndex:x=0,tagName:v="div",...w}){var k,S;const E=Y.useRef(null),z=Y.useRef({onClick:u,onDragging:f,onPointerDown:h,onPointerUp:m});Y.useEffect(()=>{z.current.onClick=u,z.current.onDragging=f,z.current.onPointerDown=h,z.current.onPointerUp=m});const _=Y.useContext(rc);if(_===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:A,groupId:B,registerResizeHandle:T,startDragging:q,stopDragging:M,panelGroupElement:R}=_,X=Up(o),[H,I]=Y.useState("inactive"),[ee,L]=Y.useState(!1),[G,D]=Y.useState(null),$=Y.useRef({state:H});qi(()=>{$.current.state=H}),Y.useEffect(()=>{if(i)D(null);else{const U=T(X);D(()=>U)}},[i,X,T]);const Z=(k=l==null?void 0:l.coarse)!==null&&k!==void 0?k:15,J=(S=l==null?void 0:l.fine)!==null&&S!==void 0?S:5;Y.useEffect(()=>{if(i||G==null)return;const U=E.current;De(U,"Element ref not attached");let F=!1;return kN(X,U,A,{coarse:Z,fine:J},(V,P,K)=>{if(!P){I("inactive");return}switch(V){case"down":{I("drag"),F=!1,De(K,'Expected event to be defined for "down" action'),q(X,K);const{onDragging:ne,onPointerDown:re}=z.current;ne==null||ne(!0),re==null||re();break}case"move":{const{state:ne}=$.current;F=!0,ne!=="drag"&&I("hover"),De(K,'Expected event to be defined for "move" action'),G(K);break}case"up":{I("hover"),M();const{onClick:ne,onDragging:re,onPointerUp:se}=z.current;re==null||re(!1),se==null||se(),F||ne==null||ne();break}}})},[Z,A,i,J,T,X,G,q,M]),IN({disabled:i,handleId:X,resizeHandler:G,panelGroupElement:R});const j={touchAction:"none",userSelect:"none"};return Y.createElement(v,{...w,children:e,className:n,id:o,onBlur:()=>{L(!1),s==null||s()},onFocus:()=>{L(!0),d==null||d()},ref:E,role:"separator",style:{...j,...p},tabIndex:x,[gt.groupDirection]:A,[gt.groupId]:B,[gt.resizeHandle]:"",[gt.resizeHandleActive]:H==="drag"?"pointer":ee?"keyboard":void 0,[gt.resizeHandleEnabled]:!i,[gt.resizeHandleId]:X,[gt.resizeHandleState]:H})}pp.displayName="PanelResizeHandle";function Tt(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,l;i{}};function oc(){for(var e=0,n=arguments.length,i={},l;e=0&&(l=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:l}})}Ou.prototype=oc.prototype={constructor:Ou,on:function(e,n){var i=this._,l=YN(e+"",i),o,s=-1,u=l.length;if(arguments.length<2){for(;++s0)for(var i=new Array(o),l=0,o,s;l=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),Mx.hasOwnProperty(n)?{space:Mx[n],local:e}:e}function $N(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===mp&&n.documentElement.namespaceURI===mp?n.createElement(e):n.createElementNS(i,e)}}function XN(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Fb(e){var n=sc(e);return(n.local?XN:$N)(n)}function FN(){}function Yp(e){return e==null?FN:function(){return this.querySelector(e)}}function PN(e){typeof e!="function"&&(e=Yp(e));for(var n=this._groups,i=n.length,l=new Array(i),o=0;o=_&&(_=z+1);!(B=S[_])&&++_=0;)(u=l[o])&&(s&&u.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(u,s),s=u);return this}function vk(e){e||(e=bk);function n(p,x){return p&&x?e(p.__data__,x.__data__):!p-!x}for(var i=this._groups,l=i.length,o=new Array(l),s=0;sn?1:e>=n?0:NaN}function wk(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Sk(){return Array.from(this)}function _k(){for(var e=this._groups,n=0,i=e.length;n1?this.each((n==null?Dk:typeof n=="function"?Lk:Rk)(e,n,i??"")):Zl(this.node(),e)}function Zl(e,n){return e.style.getPropertyValue(n)||Jb(e).getComputedStyle(e,null).getPropertyValue(n)}function Bk(e){return function(){delete this[e]}}function qk(e,n){return function(){this[e]=n}}function Uk(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function Ik(e,n){return arguments.length>1?this.each((n==null?Bk:typeof n=="function"?Uk:qk)(e,n)):this.node()[e]}function Wb(e){return e.trim().split(/^|\s+/)}function Gp(e){return e.classList||new ew(e)}function ew(e){this._node=e,this._names=Wb(e.getAttribute("class")||"")}ew.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function tw(e,n){for(var i=Gp(e),l=-1,o=n.length;++l=0&&(i=n.slice(l+1),n=n.slice(0,l)),{type:n,name:i}})}function mC(e){return function(){var n=this.__on;if(n){for(var i=0,l=-1,o=n.length,s;i()=>e;function gp(e,{sourceEvent:n,subject:i,target:l,identifier:o,active:s,x:u,y:f,dx:d,dy:h,dispatch:m}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:m}})}gp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function NC(e){return!e.ctrlKey&&!e.button}function kC(){return this.parentNode}function CC(e,n){return n??{x:e.x,y:e.y}}function TC(){return navigator.maxTouchPoints||"ontouchstart"in this}function ow(){var e=NC,n=kC,i=CC,l=TC,o={},s=oc("start","drag","end"),u=0,f,d,h,m,p=0;function x(A){A.on("mousedown.drag",v).filter(l).on("touchstart.drag",S).on("touchmove.drag",E,EC).on("touchend.drag touchcancel.drag",z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(A,B){if(!(m||!e.call(this,A,B))){var T=_(this,n.call(this,A,B),A,B,"mouse");T&&(yn(A.view).on("mousemove.drag",w,No).on("mouseup.drag",k,No),lw(A.view),$d(A),h=!1,f=A.clientX,d=A.clientY,T("start",A))}}function w(A){if($l(A),!h){var B=A.clientX-f,T=A.clientY-d;h=B*B+T*T>p}o.mouse("drag",A)}function k(A){yn(A.view).on("mousemove.drag mouseup.drag",null),aw(A.view,h),$l(A),o.mouse("end",A)}function S(A,B){if(e.call(this,A,B)){var T=A.changedTouches,q=n.call(this,A,B),M=T.length,R,X;for(R=0;R>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?bu(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?bu(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=AC.exec(e))?new nn(n[1],n[2],n[3],1):(n=MC.exec(e))?new nn(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=jC.exec(e))?bu(n[1],n[2],n[3],n[4]):(n=OC.exec(e))?bu(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=DC.exec(e))?Bx(n[1],n[2]/100,n[3]/100,1):(n=RC.exec(e))?Bx(n[1],n[2]/100,n[3]/100,n[4]):jx.hasOwnProperty(e)?Rx(jx[e]):e==="transparent"?new nn(NaN,NaN,NaN,0):null}function Rx(e){return new nn(e>>16&255,e>>8&255,e&255,1)}function bu(e,n,i,l){return l<=0&&(e=n=i=NaN),new nn(e,n,i,l)}function BC(e){return e instanceof qo||(e=Yi(e)),e?(e=e.rgb(),new nn(e.r,e.g,e.b,e.opacity)):new nn}function yp(e,n,i,l){return arguments.length===1?BC(e):new nn(e,n,i,l??1)}function nn(e,n,i,l){this.r=+e,this.g=+n,this.b=+i,this.opacity=+l}$p(nn,yp,sw(qo,{brighter(e){return e=e==null?Yu:Math.pow(Yu,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nn(Ui(this.r),Ui(this.g),Ui(this.b),Gu(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:Lx,formatHex:Lx,formatHex8:qC,formatRgb:Hx,toString:Hx}));function Lx(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}`}function qC(){return`#${Hi(this.r)}${Hi(this.g)}${Hi(this.b)}${Hi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Hx(){const e=Gu(this.opacity);return`${e===1?"rgb(":"rgba("}${Ui(this.r)}, ${Ui(this.g)}, ${Ui(this.b)}${e===1?")":`, ${e})`}`}function Gu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ui(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Hi(e){return e=Ui(e),(e<16?"0":"")+e.toString(16)}function Bx(e,n,i,l){return l<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Hn(e,n,i,l)}function uw(e){if(e instanceof Hn)return new Hn(e.h,e.s,e.l,e.opacity);if(e instanceof qo||(e=Yi(e)),!e)return new Hn;if(e instanceof Hn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,l=e.b/255,o=Math.min(n,i,l),s=Math.max(n,i,l),u=NaN,f=s-o,d=(s+o)/2;return f?(n===s?u=(i-l)/f+(i0&&d<1?0:u,new Hn(u,f,d,e.opacity)}function UC(e,n,i,l){return arguments.length===1?uw(e):new Hn(e,n,i,l??1)}function Hn(e,n,i,l){this.h=+e,this.s=+n,this.l=+i,this.opacity=+l}$p(Hn,UC,sw(qo,{brighter(e){return e=e==null?Yu:Math.pow(Yu,e),new Hn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new Hn(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,i=this.l,l=i+(i<.5?i:1-i)*n,o=2*i-l;return new nn(Xd(e>=240?e-240:e+120,o,l),Xd(e,o,l),Xd(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new Hn(qx(this.h),wu(this.s),wu(this.l),Gu(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=Gu(this.opacity);return`${e===1?"hsl(":"hsla("}${qx(this.h)}, ${wu(this.s)*100}%, ${wu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function qx(e){return e=(e||0)%360,e<0?e+360:e}function wu(e){return Math.max(0,Math.min(1,e||0))}function Xd(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Xp=e=>()=>e;function IC(e,n){return function(i){return e+i*n}}function VC(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(l){return Math.pow(e+l*n,i)}}function YC(e){return(e=+e)==1?cw:function(n,i){return i-n?VC(n,i,e):Xp(isNaN(n)?i:n)}}function cw(e,n){var i=n-e;return i?IC(e,i):Xp(isNaN(e)?n:e)}const $u=(function e(n){var i=YC(n);function l(o,s){var u=i((o=yp(o)).r,(s=yp(s)).r),f=i(o.g,s.g),d=i(o.b,s.b),h=cw(o.opacity,s.opacity);return function(m){return o.r=u(m),o.g=f(m),o.b=d(m),o.opacity=h(m),o+""}}return l.gamma=e,l})(1);function GC(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,l=n.slice(),o;return function(s){for(o=0;oi&&(s=n.slice(i,s),f[u]?f[u]+=s:f[++u]=s),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,d.push({i:u,x:Kn(l,o)})),i=Fd.lastIndex;return i180?m+=360:m-h>180&&(h+=360),x.push({i:p.push(o(p)+"rotate(",null,l)-2,x:Kn(h,m)})):m&&p.push(o(p)+"rotate("+m+l)}function f(h,m,p,x){h!==m?x.push({i:p.push(o(p)+"skewX(",null,l)-2,x:Kn(h,m)}):m&&p.push(o(p)+"skewX("+m+l)}function d(h,m,p,x,v,w){if(h!==p||m!==x){var k=v.push(o(v)+"scale(",null,",",null,")");w.push({i:k-4,x:Kn(h,p)},{i:k-2,x:Kn(m,x)})}else(p!==1||x!==1)&&v.push(o(v)+"scale("+p+","+x+")")}return function(h,m){var p=[],x=[];return h=e(h),m=e(m),s(h.translateX,h.translateY,m.translateX,m.translateY,p,x),u(h.rotate,m.rotate,p,x),f(h.skewX,m.skewX,p,x),d(h.scaleX,h.scaleY,m.scaleX,m.scaleY,p,x),h=m=null,function(v){for(var w=-1,k=x.length,S;++w=0&&e._call.call(void 0,n),e=e._next;--Kl}function Vx(){Gi=(Fu=To.now())+uc,Kl=po=0;try{l3()}finally{Kl=0,o3(),Gi=0}}function a3(){var e=To.now(),n=e-Fu;n>pw&&(uc-=n,Fu=e)}function o3(){for(var e,n=Xu,i,l=1/0;n;)n._call?(l>n._time&&(l=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Xu=i);mo=e,bp(l)}function bp(e){if(!Kl){po&&(po=clearTimeout(po));var n=e-Gi;n>24?(e<1/0&&(po=setTimeout(Vx,e-To.now()-uc)),io&&(io=clearInterval(io))):(io||(Fu=To.now(),io=setInterval(a3,pw)),Kl=1,mw(Vx))}}function Yx(e,n,i){var l=new Pu;return n=n==null?0:+n,l.restart(o=>{l.stop(),e(o+n)},n,i),l}var s3=oc("start","end","cancel","interrupt"),u3=[],yw=0,Gx=1,wp=2,Ru=3,$x=4,Sp=5,Lu=6;function cc(e,n,i,l,o,s){var u=e.__transition;if(!u)e.__transition={};else if(i in u)return;c3(e,i,{name:n,index:l,group:o,on:s3,tween:u3,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:yw})}function Pp(e,n){var i=Yn(e,n);if(i.state>yw)throw new Error("too late; already scheduled");return i}function rr(e,n){var i=Yn(e,n);if(i.state>Ru)throw new Error("too late; already running");return i}function Yn(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function c3(e,n,i){var l=e.__transition,o;l[n]=i,i.timer=gw(s,0,i.time);function s(h){i.state=Gx,i.timer.restart(u,i.delay,i.time),i.delay<=h&&u(h-i.delay)}function u(h){var m,p,x,v;if(i.state!==Gx)return d();for(m in l)if(v=l[m],v.name===i.name){if(v.state===Ru)return Yx(u);v.state===$x?(v.state=Lu,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete l[m]):+mwp&&l.state=0&&(n=n.slice(0,i)),!n||n==="start"})}function U3(e,n,i){var l,o,s=q3(n)?Pp:rr;return function(){var u=s(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(n,i),u.on=o}}function I3(e,n){var i=this._id;return arguments.length<2?Yn(this.node(),i).on.on(e):this.each(U3(i,e,n))}function V3(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function Y3(){return this.on("end.remove",V3(this._id))}function G3(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Yp(e));for(var l=this._groups,o=l.length,s=new Array(o),u=0;u()=>e;function mT(e,{sourceEvent:n,target:i,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Cr(e,n,i){this.k=e,this.x=n,this.y=i}Cr.prototype={constructor:Cr,scale:function(e){return e===1?this:new Cr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Cr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var fc=new Cr(1,0,0);ww.prototype=Cr.prototype;function ww(e){for(;!e.__zoom;)if(!(e=e.parentNode))return fc;return e.__zoom}function Pd(e){e.stopImmediatePropagation()}function lo(e){e.preventDefault(),e.stopImmediatePropagation()}function gT(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function yT(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Xx(){return this.__zoom||fc}function xT(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function vT(){return navigator.maxTouchPoints||"ontouchstart"in this}function bT(e,n,i){var l=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],u=e.invertY(n[1][1])-i[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>s?(s+u)/2:Math.min(0,s)||Math.max(0,u))}function Sw(){var e=gT,n=yT,i=bT,l=xT,o=vT,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,d=Du,h=oc("start","zoom","end"),m,p,x,v=500,w=150,k=0,S=10;function E(L){L.property("__zoom",Xx).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",X).filter(o).on("touchstart.zoom",H).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",ee).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(L,G,D,$){var Z=L.selection?L.selection():L;Z.property("__zoom",Xx),L!==Z?B(L,G,D,$):Z.interrupt().each(function(){T(this,arguments).event($).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},E.scaleBy=function(L,G,D,$){E.scaleTo(L,function(){var Z=this.__zoom.k,J=typeof G=="function"?G.apply(this,arguments):G;return Z*J},D,$)},E.scaleTo=function(L,G,D,$){E.transform(L,function(){var Z=n.apply(this,arguments),J=this.__zoom,j=D==null?A(Z):typeof D=="function"?D.apply(this,arguments):D,U=J.invert(j),F=typeof G=="function"?G.apply(this,arguments):G;return i(_(z(J,F),j,U),Z,u)},D,$)},E.translateBy=function(L,G,D,$){E.transform(L,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof D=="function"?D.apply(this,arguments):D),n.apply(this,arguments),u)},null,$)},E.translateTo=function(L,G,D,$,Z){E.transform(L,function(){var J=n.apply(this,arguments),j=this.__zoom,U=$==null?A(J):typeof $=="function"?$.apply(this,arguments):$;return i(fc.translate(U[0],U[1]).scale(j.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof D=="function"?-D.apply(this,arguments):-D),J,u)},$,Z)};function z(L,G){return G=Math.max(s[0],Math.min(s[1],G)),G===L.k?L:new Cr(G,L.x,L.y)}function _(L,G,D){var $=G[0]-D[0]*L.k,Z=G[1]-D[1]*L.k;return $===L.x&&Z===L.y?L:new Cr(L.k,$,Z)}function A(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function B(L,G,D,$){L.on("start.zoom",function(){T(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event($).end()}).tween("zoom",function(){var Z=this,J=arguments,j=T(Z,J).event($),U=n.apply(Z,J),F=D==null?A(U):typeof D=="function"?D.apply(Z,J):D,N=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),V=Z.__zoom,P=typeof G=="function"?G.apply(Z,J):G,K=d(V.invert(F).concat(N/V.k),P.invert(F).concat(N/P.k));return function(ne){if(ne===1)ne=P;else{var re=K(ne),se=N/re[2];ne=new Cr(se,F[0]-re[0]*se,F[1]-re[1]*se)}j.zoom(null,ne)}})}function T(L,G,D){return!D&&L.__zooming||new q(L,G)}function q(L,G){this.that=L,this.args=G,this.active=0,this.sourceEvent=null,this.extent=n.apply(L,G),this.taps=0}q.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,G){return this.mouse&&L!=="mouse"&&(this.mouse[1]=G.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=G.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=G.invert(this.touch1[0])),this.that.__zoom=G,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var G=yn(this.that).datum();h.call(L,this.that,new mT(L,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),G)}};function M(L,...G){if(!e.apply(this,arguments))return;var D=T(this,G).event(L),$=this.__zoom,Z=Math.max(s[0],Math.min(s[1],$.k*Math.pow(2,l.apply(this,arguments)))),J=Ln(L);if(D.wheel)(D.mouse[0][0]!==J[0]||D.mouse[0][1]!==J[1])&&(D.mouse[1]=$.invert(D.mouse[0]=J)),clearTimeout(D.wheel);else{if($.k===Z)return;D.mouse=[J,$.invert(J)],Hu(this),D.start()}lo(L),D.wheel=setTimeout(j,w),D.zoom("mouse",i(_(z($,Z),D.mouse[0],D.mouse[1]),D.extent,u));function j(){D.wheel=null,D.end()}}function R(L,...G){if(x||!e.apply(this,arguments))return;var D=L.currentTarget,$=T(this,G,!0).event(L),Z=yn(L.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",N,!0),J=Ln(L,D),j=L.clientX,U=L.clientY;lw(L.view),Pd(L),$.mouse=[J,this.__zoom.invert(J)],Hu(this),$.start();function F(V){if(lo(V),!$.moved){var P=V.clientX-j,K=V.clientY-U;$.moved=P*P+K*K>k}$.event(V).zoom("mouse",i(_($.that.__zoom,$.mouse[0]=Ln(V,D),$.mouse[1]),$.extent,u))}function N(V){Z.on("mousemove.zoom mouseup.zoom",null),aw(V.view,$.moved),lo(V),$.event(V).end()}}function X(L,...G){if(e.apply(this,arguments)){var D=this.__zoom,$=Ln(L.changedTouches?L.changedTouches[0]:L,this),Z=D.invert($),J=D.k*(L.shiftKey?.5:2),j=i(_(z(D,J),$,Z),n.apply(this,G),u);lo(L),f>0?yn(this).transition().duration(f).call(B,j,$,L):yn(this).call(E.transform,j,$,L)}}function H(L,...G){if(e.apply(this,arguments)){var D=L.touches,$=D.length,Z=T(this,G,L.changedTouches.length===$).event(L),J,j,U,F;for(Pd(L),j=0;j<$;++j)U=D[j],F=Ln(U,this),F=[F,this.__zoom.invert(F),U.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==F[2]&&(Z.touch1=F,Z.taps=0):(Z.touch0=F,J=!0,Z.taps=1+!!m);m&&(m=clearTimeout(m)),J&&(Z.taps<2&&(p=F[0],m=setTimeout(function(){m=null},v)),Hu(this),Z.start())}}function I(L,...G){if(this.__zooming){var D=T(this,G).event(L),$=L.changedTouches,Z=$.length,J,j,U,F;for(lo(L),J=0;J"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:l}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},zo=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],_w=["Enter"," ","Escape"],Ew={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, y: ${i}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Jl;(function(e){e.Strict="strict",e.Loose="loose"})(Jl||(Jl={}));var Ii;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ii||(Ii={}));var Ao;(function(e){e.Partial="partial",e.Full="full"})(Ao||(Ao={}));const Nw={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var fi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(fi||(fi={}));var Qu;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Qu||(Qu={}));var we;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(we||(we={}));const Fx={[we.Left]:we.Right,[we.Right]:we.Left,[we.Top]:we.Bottom,[we.Bottom]:we.Top};function kw(e){return e===null?null:e?"valid":"invalid"}const Cw=e=>"id"in e&&"source"in e&&"target"in e,wT=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Zp=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Uo=(e,n=[0,0])=>{const{width:i,height:l}=Ar(e),o=e.origin??n,s=i*o[0],u=l*o[1];return{x:e.position.x-s,y:e.position.y-u}},ST=(e,n={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((l,o)=>{const s=typeof o=="string";let u=!n.nodeLookup&&!s?o:void 0;n.nodeLookup&&(u=s?n.nodeLookup.get(o):Zp(o)?o:n.nodeLookup.get(o.id));const f=u?Zu(u,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return dc(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return hc(i)},Io=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(n.filter===void 0||n.filter(o))&&(i=dc(i,Zu(o)),l=!0)}),l?hc(i):{x:0,y:0,width:0,height:0}},Kp=(e,n,[i,l,o]=[0,0,1],s=!1,u=!1)=>{const f={...Yo(n,[i,l,o]),width:n.width/o,height:n.height/o},d=[];for(const h of e.values()){const{measured:m,selectable:p=!0,hidden:x=!1}=h;if(u&&!p||x)continue;const v=m.width??h.width??h.initialWidth??null,w=m.height??h.height??h.initialHeight??null,k=Mo(f,ea(h)),S=(v??0)*(w??0),E=s&&k>0;(!h.internals.handleBounds||E||k>=S||h.dragging)&&d.push(h)}return d},_T=(e,n)=>{const i=new Set;return e.forEach(l=>{i.add(l.id)}),n.filter(l=>i.has(l.source)||i.has(l.target))};function ET(e,n){const i=new Map,l=n!=null&&n.nodes?new Set(n.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!o.hidden)&&(!l||l.has(o.id))&&i.set(o.id,o)}),i}async function NT({nodes:e,width:n,height:i,panZoom:l,minZoom:o,maxZoom:s},u){if(e.size===0)return Promise.resolve(!0);const f=ET(e,u),d=Io(f),h=Jp(d,n,i,(u==null?void 0:u.minZoom)??o,(u==null?void 0:u.maxZoom)??s,(u==null?void 0:u.padding)??.1);return await l.setViewport(h,{duration:u==null?void 0:u.duration,ease:u==null?void 0:u.ease,interpolate:u==null?void 0:u.interpolate}),Promise.resolve(!0)}function Tw({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:l=[0,0],nodeExtent:o,onError:s}){const u=i.get(e),f=u.parentId?i.get(u.parentId):void 0,{x:d,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},m=u.origin??l;let p=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)s==null||s("005",tr.error005());else{const v=f.measured.width,w=f.measured.height;v&&w&&(p=[[d,h],[d+v,h+w]])}else f&&ta(u.extent)&&(p=[[u.extent[0][0]+d,u.extent[0][1]+h],[u.extent[1][0]+d,u.extent[1][1]+h]]);const x=ta(p)?$i(n,p,u.measured):n;return(u.measured.width===void 0||u.measured.height===void 0)&&(s==null||s("015",tr.error015())),{position:{x:x.x-d+(u.measured.width??0)*m[0],y:x.y-h+(u.measured.height??0)*m[1]},positionAbsolute:x}}async function kT({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:l,onBeforeDelete:o}){const s=new Set(e.map(x=>x.id)),u=[];for(const x of i){if(x.deletable===!1)continue;const v=s.has(x.id),w=!v&&x.parentId&&u.find(k=>k.id===x.parentId);(v||w)&&u.push(x)}const f=new Set(n.map(x=>x.id)),d=l.filter(x=>x.deletable!==!1),m=_T(u,d);for(const x of d)f.has(x.id)&&!m.find(w=>w.id===x.id)&&m.push(x);if(!o)return{edges:m,nodes:u};const p=await o({nodes:u,edges:m});return typeof p=="boolean"?p?{edges:m,nodes:u}:{edges:[],nodes:[]}:p}const Wl=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),$i=(e={x:0,y:0},n,i)=>({x:Wl(e.x,n[0][0],n[1][0]-((i==null?void 0:i.width)??0)),y:Wl(e.y,n[0][1],n[1][1]-((i==null?void 0:i.height)??0))});function zw(e,n,i){const{width:l,height:o}=Ar(i),{x:s,y:u}=i.internals.positionAbsolute;return $i(e,[[s,u],[s+l,u+o]],n)}const Px=(e,n,i)=>ei?-Wl(Math.abs(e-i),1,n)/n:0,Aw=(e,n,i=15,l=40)=>{const o=Px(e.x,l,n.width-l)*i,s=Px(e.y,l,n.height-l)*i;return[o,s]},dc=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),_p=({x:e,y:n,width:i,height:l})=>({x:e,y:n,x2:e+i,y2:n+l}),hc=({x:e,y:n,x2:i,y2:l})=>({x:e,y:n,width:i-e,height:l-n}),ea=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=Zp(e)?e.internals.positionAbsolute:Uo(e,n);return{x:i,y:l,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},Zu=(e,n=[0,0])=>{var o,s;const{x:i,y:l}=Zp(e)?e.internals.positionAbsolute:Uo(e,n);return{x:i,y:l,x2:i+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:l+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},Mw=(e,n)=>hc(dc(_p(e),_p(n))),Mo=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),l=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*l)},Qx=e=>Bn(e.width)&&Bn(e.height)&&Bn(e.x)&&Bn(e.y),Bn=e=>!isNaN(e)&&isFinite(e),CT=(e,n)=>{},Vo=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Yo=({x:e,y:n},[i,l,o],s=!1,u=[1,1])=>{const f={x:(e-i)/o,y:(n-l)/o};return s?Vo(f,u):f},Ku=({x:e,y:n},[i,l,o])=>({x:e*o+i,y:n*o+l});function Rl(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function TT(e,n,i){if(typeof e=="string"||typeof e=="number"){const l=Rl(e,i),o=Rl(e,n);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Rl(e.top??e.y??0,i),o=Rl(e.bottom??e.y??0,i),s=Rl(e.left??e.x??0,n),u=Rl(e.right??e.x??0,n);return{top:l,right:u,bottom:o,left:s,x:s+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function zT(e,n,i,l,o,s){const{x:u,y:f}=Ku(e,[n,i,l]),{x:d,y:h}=Ku({x:e.x+e.width,y:e.y+e.height},[n,i,l]),m=o-d,p=s-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(m),bottom:Math.floor(p)}}const Jp=(e,n,i,l,o,s)=>{const u=TT(s,n,i),f=(n-u.x)/e.width,d=(i-u.y)/e.height,h=Math.min(f,d),m=Wl(h,l,o),p=e.x+e.width/2,x=e.y+e.height/2,v=n/2-p*m,w=i/2-x*m,k=zT(e,v,w,m,n,i),S={left:Math.min(k.left-u.left,0),top:Math.min(k.top-u.top,0),right:Math.min(k.right-u.right,0),bottom:Math.min(k.bottom-u.bottom,0)};return{x:v-S.left+S.right,y:w-S.top+S.bottom,zoom:m}},jo=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function ta(e){return e!=null&&e!=="parent"}function Ar(e){var n,i;return{width:((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}}function jw(e){var n,i;return(((n=e.measured)==null?void 0:n.width)??e.width??e.initialWidth)!==void 0&&(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight)!==void 0}function Ow(e,n={width:0,height:0},i,l,o){const s={...e},u=l.get(i);if(u){const f=u.origin||o;s.x+=u.internals.positionAbsolute.x-(n.width??0)*f[0],s.y+=u.internals.positionAbsolute.y-(n.height??0)*f[1]}return s}function Zx(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function AT(){let e,n;return{promise:new Promise((l,o)=>{e=l,n=o}),resolve:e,reject:n}}function MT(e){return{...Ew,...e||{}}}function xo(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:l,containerBounds:o}){const{x:s,y:u}=qn(e),f=Yo({x:s-((o==null?void 0:o.left)??0),y:u-((o==null?void 0:o.top)??0)},l),{x:d,y:h}=i?Vo(f,n):f;return{xSnapped:d,ySnapped:h,...f}}const Wp=e=>({width:e.offsetWidth,height:e.offsetHeight}),Dw=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},jT=["INPUT","SELECT","TEXTAREA"];function Rw(e){var l,o;const n=((o=(l=e.composedPath)==null?void 0:l.call(e))==null?void 0:o[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:jT.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Lw=e=>"clientX"in e,qn=(e,n)=>{var s,u;const i=Lw(e),l=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,o=i?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:l-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},Kx=(e,n,i,l,o)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-i.left)/l,y:(f.top-i.top)/l,...Wp(u)}})};function Hw({sourceX:e,sourceY:n,targetX:i,targetY:l,sourceControlX:o,sourceControlY:s,targetControlX:u,targetControlY:f}){const d=e*.125+o*.375+u*.375+i*.125,h=n*.125+s*.375+f*.375+l*.125,m=Math.abs(d-e),p=Math.abs(h-n);return[d,h,m,p]}function Eu(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Jx({pos:e,x1:n,y1:i,x2:l,y2:o,c:s}){switch(e){case we.Left:return[n-Eu(n-l,s),i];case we.Right:return[n+Eu(l-n,s),i];case we.Top:return[n,i-Eu(i-o,s)];case we.Bottom:return[n,i+Eu(o-i,s)]}}function em({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top,curvature:u=.25}){const[f,d]=Jx({pos:i,x1:e,y1:n,x2:l,y2:o,c:u}),[h,m]=Jx({pos:s,x1:l,y1:o,x2:e,y2:n,c:u}),[p,x,v,w]=Hw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:f,sourceControlY:d,targetControlX:h,targetControlY:m});return[`M${e},${n} C${f},${d} ${h},${m} ${l},${o}`,p,x,v,w]}function Bw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const o=Math.abs(i-e)/2,s=i0}const RT=({source:e,sourceHandle:n,target:i,targetHandle:l})=>`xy-edge__${e}${n||""}-${i}${l||""}`,LT=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),HT=(e,n,i={})=>{if(!e.source||!e.target)return n;const l=i.getEdgeId||RT;let o;return Cw(e)?o={...e}:o={...e,id:l(e)},LT(o,n)?n:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,n.concat(o))};function qw({sourceX:e,sourceY:n,targetX:i,targetY:l}){const[o,s,u,f]=Bw({sourceX:e,sourceY:n,targetX:i,targetY:l});return[`M ${e},${n}L ${i},${l}`,o,s,u,f]}const Wx={[we.Left]:{x:-1,y:0},[we.Right]:{x:1,y:0},[we.Top]:{x:0,y:-1},[we.Bottom]:{x:0,y:1}},BT=({source:e,sourcePosition:n=we.Bottom,target:i})=>n===we.Left||n===we.Right?e.xMath.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function qT({source:e,sourcePosition:n=we.Bottom,target:i,targetPosition:l=we.Top,center:o,offset:s,stepPosition:u}){const f=Wx[n],d=Wx[l],h={x:e.x+f.x*s,y:e.y+f.y*s},m={x:i.x+d.x*s,y:i.y+d.y*s},p=BT({source:h,sourcePosition:n,target:m}),x=p.x!==0?"x":"y",v=p[x];let w=[],k,S;const E={x:0,y:0},z={x:0,y:0},[,,_,A]=Bw({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(f[x]*d[x]===-1){x==="x"?(k=o.x??h.x+(m.x-h.x)*u,S=o.y??(h.y+m.y)/2):(k=o.x??(h.x+m.x)/2,S=o.y??h.y+(m.y-h.y)*u);const T=[{x:k,y:h.y},{x:k,y:m.y}],q=[{x:h.x,y:S},{x:m.x,y:S}];f[x]===v?w=x==="x"?T:q:w=x==="x"?q:T}else{const T=[{x:h.x,y:m.y}],q=[{x:m.x,y:h.y}];if(x==="x"?w=f.x===v?q:T:w=f.y===v?T:q,n===l){const I=Math.abs(e[x]-i[x]);if(I<=s){const ee=Math.min(s-1,s-I);f[x]===v?E[x]=(h[x]>e[x]?-1:1)*ee:z[x]=(m[x]>i[x]?-1:1)*ee}}if(n!==l){const I=x==="x"?"y":"x",ee=f[x]===d[I],L=h[I]>m[I],G=h[I]=H?(k=(M.x+R.x)/2,S=w[0].y):(k=w[0].x,S=(M.y+R.y)/2)}return[[e,{x:h.x+E.x,y:h.y+E.y},...w,{x:m.x+z.x,y:m.y+z.y},i],k,S,_,A]}function UT(e,n,i,l){const o=Math.min(ev(e,n)/2,ev(n,i)/2,l),{x:s,y:u}=n;if(e.x===s&&s===i.x||e.y===u&&u===i.y)return`L${s} ${u}`;if(e.y===u){const h=e.x{let A="";return _>0&&_i.id===n):e[0])||null}function Np(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function VT(e,{id:n,defaultColor:i,defaultMarkerStart:l,defaultMarkerEnd:o}){const s=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(d=>{if(d&&typeof d=="object"){const h=Np(d,n);s.has(h)||(u.push({id:h,color:d.color||i,...d}),s.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const Uw=1e3,YT=10,tm={nodeOrigin:[0,0],nodeExtent:zo,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},GT={...tm,checkEquality:!0};function nm(e,n){const i={...e};for(const l in n)n[l]!==void 0&&(i[l]=n[l]);return i}function $T(e,n,i){const l=nm(tm,i);for(const o of e.values())if(o.parentId)im(o,e,n,l);else{const s=Uo(o,l.nodeOrigin),u=ta(o.extent)?o.extent:l.nodeExtent,f=$i(s,u,Ar(o));o.internals.positionAbsolute=f}}function XT(e,n){if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],l=[];for(const o of e.handles){const s={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?i.push(s):o.type==="target"&&l.push(s)}return{source:i,target:l}}function rm(e){return e==="manual"}function kp(e,n,i,l={}){var h,m;const o=nm(GT,l),s={i:0},u=new Map(n),f=o!=null&&o.elevateNodesOnSelect&&!rm(o.zIndexMode)?Uw:0;let d=e.length>0;n.clear(),i.clear();for(const p of e){let x=u.get(p.id);if(o.checkEquality&&p===(x==null?void 0:x.internals.userNode))n.set(p.id,x);else{const v=Uo(p,o.nodeOrigin),w=ta(p.extent)?p.extent:o.nodeExtent,k=$i(v,w,Ar(p));x={...o.defaults,...p,measured:{width:(h=p.measured)==null?void 0:h.width,height:(m=p.measured)==null?void 0:m.height},internals:{positionAbsolute:k,handleBounds:XT(p,x),z:Iw(p,f,o.zIndexMode),userNode:p}},n.set(p.id,x)}(x.measured===void 0||x.measured.width===void 0||x.measured.height===void 0)&&!x.hidden&&(d=!1),p.parentId&&im(x,n,i,l,s)}return d}function FT(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function im(e,n,i,l,o){const{elevateNodesOnSelect:s,nodeOrigin:u,nodeExtent:f,zIndexMode:d}=nm(tm,l),h=e.parentId,m=n.get(h);if(!m){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}FT(e,i),o&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++o.i,m.internals.z=m.internals.z+o.i*YT),o&&m.internals.rootParentIndex!==void 0&&(o.i=m.internals.rootParentIndex);const p=s&&!rm(d)?Uw:0,{x,y:v,z:w}=PT(e,m,u,f,p,d),{positionAbsolute:k}=e.internals,S=x!==k.x||v!==k.y;(S||w!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x,y:v}:k,z:w}})}function Iw(e,n,i){const l=Bn(e.zIndex)?e.zIndex:0;return rm(i)?l:l+(e.selected?n:0)}function PT(e,n,i,l,o,s){const{x:u,y:f}=n.internals.positionAbsolute,d=Ar(e),h=Uo(e,i),m=ta(e.extent)?$i(h,e.extent,d):h;let p=$i({x:u+m.x,y:f+m.y},l,d);e.extent==="parent"&&(p=zw(p,d,n));const x=Iw(e,o,s),v=n.internals.z??0;return{x:p.x,y:p.y,z:v>=x?v+1:x}}function lm(e,n,i,l=[0,0]){var u;const o=[],s=new Map;for(const f of e){const d=n.get(f.parentId);if(!d)continue;const h=((u=s.get(f.parentId))==null?void 0:u.expandedRect)??ea(d),m=Mw(h,f.rect);s.set(f.parentId,{expandedRect:m,parent:d})}return s.size>0&&s.forEach(({expandedRect:f,parent:d},h)=>{var _;const m=d.internals.positionAbsolute,p=Ar(d),x=d.origin??l,v=f.x0||w>0||E||z)&&(o.push({id:h,type:"position",position:{x:d.position.x-v+E,y:d.position.y-w+z}}),(_=i.get(h))==null||_.forEach(A=>{e.some(B=>B.id===A.id)||o.push({id:A.id,type:"position",position:{x:A.position.x+v,y:A.position.y+w}})})),(p.width0){const v=lm(x,n,i,o);h.push(...v)}return{changes:h,updatedInternals:d}}async function ZT({delta:e,panZoom:n,transform:i,translateExtent:l,width:o,height:s}){if(!n||!e.x&&!e.y)return Promise.resolve(!1);const u=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[o,s]],l),f=!!u&&(u.x!==i[0]||u.y!==i[1]||u.k!==i[2]);return Promise.resolve(f)}function iv(e,n,i,l,o,s){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(i,n)),u=`${o}-${e}`;const d=l.get(u)||new Map;if(l.set(u,d.set(i,n)),s){u=`${o}-${e}-${s}`;const h=l.get(u)||new Map;l.set(u,h.set(i,n))}}function Vw(e,n,i){e.clear(),n.clear();for(const l of i){const{source:o,target:s,sourceHandle:u=null,targetHandle:f=null}=l,d={edgeId:l.id,source:o,target:s,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${s}-${f}`,m=`${s}-${f}--${o}-${u}`;iv("source",d,m,e,o,u),iv("target",d,h,e,s,f),n.set(l.id,l)}}function Yw(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Yw(i,n):!1}function lv(e,n,i){var o;let l=e;do{if((o=l==null?void 0:l.matches)!=null&&o.call(l,n))return!0;if(l===i)return!1;l=l==null?void 0:l.parentElement}while(l);return!1}function KT(e,n,i,l){const o=new Map;for(const[s,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!Yw(u,e))&&(u.draggable||n&&typeof u.draggable>"u")){const f=e.get(s);f&&o.set(s,{id:s,position:f.position||{x:0,y:0},distance:{x:i.x-f.internals.positionAbsolute.x,y:i.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function Qd({nodeId:e,dragItems:n,nodeLookup:i,dragging:l=!0}){var u,f,d;const o=[];for(const[h,m]of n){const p=(u=i.get(h))==null?void 0:u.internals.userNode;p&&o.push({...p,position:m.position,dragging:l})}if(!e)return[o[0],o];const s=(f=i.get(e))==null?void 0:f.internals.userNode;return[s?{...s,position:((d=n.get(e))==null?void 0:d.position)||s.position,dragging:l}:o[0],o]}function JT({dragItems:e,snapGrid:n,x:i,y:l}){const o=e.values().next().value;if(!o)return null;const s={x:i-o.distance.x,y:l-o.distance.y},u=Vo(s,n);return{x:u.x-s.x,y:u.y-s.y}}function WT({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:l,onDragStop:o}){let s={x:null,y:null},u=0,f=new Map,d=!1,h={x:0,y:0},m=null,p=!1,x=null,v=!1,w=!1,k=null;function S({noDragClassName:z,handleSelector:_,domNode:A,isSelectable:B,nodeId:T,nodeClickDistance:q=0}){x=yn(A);function M({x:I,y:ee}){const{nodeLookup:L,nodeExtent:G,snapGrid:D,snapToGrid:$,nodeOrigin:Z,onNodeDrag:J,onSelectionDrag:j,onError:U,updateNodePositions:F}=n();s={x:I,y:ee};let N=!1;const V=f.size>1,P=V&&G?_p(Io(f)):null,K=V&&$?JT({dragItems:f,snapGrid:D,x:I,y:ee}):null;for(const[ne,re]of f){if(!L.has(ne))continue;let se={x:I-re.distance.x,y:ee-re.distance.y};$&&(se=K?{x:Math.round(se.x+K.x),y:Math.round(se.y+K.y)}:Vo(se,D));let ge=null;if(V&&G&&!re.extent&&P){const{positionAbsolute:he}=re.internals,_e=he.x-P.x+G[0][0],Me=he.x+re.measured.width-P.x2+G[1][0],Ce=he.y-P.y+G[0][1],st=he.y+re.measured.height-P.y2+G[1][1];ge=[[_e,Ce],[Me,st]]}const{position:ve,positionAbsolute:ye}=Tw({nodeId:ne,nextPosition:se,nodeLookup:L,nodeExtent:ge||G,nodeOrigin:Z,onError:U});N=N||re.position.x!==ve.x||re.position.y!==ve.y,re.position=ve,re.internals.positionAbsolute=ye}if(w=w||N,!!N&&(F(f,!0),k&&(l||J||!T&&j))){const[ne,re]=Qd({nodeId:T,dragItems:f,nodeLookup:L});l==null||l(k,f,ne,re),J==null||J(k,ne,re),T||j==null||j(k,re)}}async function R(){if(!m)return;const{transform:I,panBy:ee,autoPanSpeed:L,autoPanOnNodeDrag:G}=n();if(!G){d=!1,cancelAnimationFrame(u);return}const[D,$]=Aw(h,m,L);(D!==0||$!==0)&&(s.x=(s.x??0)-D/I[2],s.y=(s.y??0)-$/I[2],await ee({x:D,y:$})&&M(s)),u=requestAnimationFrame(R)}function X(I){var V;const{nodeLookup:ee,multiSelectionActive:L,nodesDraggable:G,transform:D,snapGrid:$,snapToGrid:Z,selectNodesOnDrag:J,onNodeDragStart:j,onSelectionDragStart:U,unselectNodesAndEdges:F}=n();p=!0,(!J||!B)&&!L&&T&&((V=ee.get(T))!=null&&V.selected||F()),B&&J&&T&&(e==null||e(T));const N=xo(I.sourceEvent,{transform:D,snapGrid:$,snapToGrid:Z,containerBounds:m});if(s=N,f=KT(ee,G,N,T),f.size>0&&(i||j||!T&&U)){const[P,K]=Qd({nodeId:T,dragItems:f,nodeLookup:ee});i==null||i(I.sourceEvent,f,P,K),j==null||j(I.sourceEvent,P,K),T||U==null||U(I.sourceEvent,K)}}const H=ow().clickDistance(q).on("start",I=>{const{domNode:ee,nodeDragThreshold:L,transform:G,snapGrid:D,snapToGrid:$}=n();m=(ee==null?void 0:ee.getBoundingClientRect())||null,v=!1,w=!1,k=I.sourceEvent,L===0&&X(I),s=xo(I.sourceEvent,{transform:G,snapGrid:D,snapToGrid:$,containerBounds:m}),h=qn(I.sourceEvent,m)}).on("drag",I=>{const{autoPanOnNodeDrag:ee,transform:L,snapGrid:G,snapToGrid:D,nodeDragThreshold:$,nodeLookup:Z}=n(),J=xo(I.sourceEvent,{transform:L,snapGrid:G,snapToGrid:D,containerBounds:m});if(k=I.sourceEvent,(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1||T&&!Z.has(T))&&(v=!0),!v){if(!d&&ee&&p&&(d=!0,R()),!p){const j=qn(I.sourceEvent,m),U=j.x-h.x,F=j.y-h.y;Math.sqrt(U*U+F*F)>$&&X(I)}(s.x!==J.xSnapped||s.y!==J.ySnapped)&&f&&p&&(h=qn(I.sourceEvent,m),M(J))}}).on("end",I=>{if(!(!p||v)&&(d=!1,p=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:ee,updateNodePositions:L,onNodeDragStop:G,onSelectionDragStop:D}=n();if(w&&(L(f,!1),w=!1),o||G||!T&&D){const[$,Z]=Qd({nodeId:T,dragItems:f,nodeLookup:ee,dragging:!1});o==null||o(I.sourceEvent,f,$,Z),G==null||G(I.sourceEvent,$,Z),T||D==null||D(I.sourceEvent,Z)}}}).filter(I=>{const ee=I.target;return!I.button&&(!z||!lv(ee,`.${z}`,A))&&(!_||lv(ee,_,A))});x.call(H)}function E(){x==null||x.on(".drag",null)}return{update:S,destroy:E}}function ez(e,n,i){const l=[],o={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())Mo(o,ea(s))>0&&l.push(s);return l}const tz=250;function nz(e,n,i,l){var f,d;let o=[],s=1/0;const u=ez(e,i,n+tz);for(const h of u){const m=[...((f=h.internals.handleBounds)==null?void 0:f.source)??[],...((d=h.internals.handleBounds)==null?void 0:d.target)??[]];for(const p of m){if(l.nodeId===p.nodeId&&l.type===p.type&&l.id===p.id)continue;const{x,y:v}=Xi(h,p,p.position,!0),w=Math.sqrt(Math.pow(x-e.x,2)+Math.pow(v-e.y,2));w>n||(w1){const h=l.type==="source"?"target":"source";return o.find(m=>m.type===h)??o[0]}return o[0]}function Gw(e,n,i,l,o,s=!1){var h,m,p;const u=l.get(e);if(!u)return null;const f=o==="strict"?(h=u.internals.handleBounds)==null?void 0:h[n]:[...((m=u.internals.handleBounds)==null?void 0:m.source)??[],...((p=u.internals.handleBounds)==null?void 0:p.target)??[]],d=(i?f==null?void 0:f.find(x=>x.id===i):f==null?void 0:f[0])??null;return d&&s?{...d,...Xi(u,d,d.position,!0)}:d}function $w(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function rz(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const Xw=()=>!0;function iz(e,{connectionMode:n,connectionRadius:i,handleId:l,nodeId:o,edgeUpdaterType:s,isTarget:u,domNode:f,nodeLookup:d,lib:h,autoPanOnConnect:m,flowId:p,panBy:x,cancelConnection:v,onConnectStart:w,onConnect:k,onConnectEnd:S,isValidConnection:E=Xw,onReconnectEnd:z,updateConnection:_,getTransform:A,getFromHandle:B,autoPanSpeed:T,dragThreshold:q=1,handleDomNode:M}){const R=Dw(e.target);let X=0,H;const{x:I,y:ee}=qn(e),L=$w(s,M),G=f==null?void 0:f.getBoundingClientRect();let D=!1;if(!G||!L)return;const $=Gw(o,L,l,d,n);if(!$)return;let Z=qn(e,G),J=!1,j=null,U=!1,F=null;function N(){if(!m||!G)return;const[ve,ye]=Aw(Z,G,T);x({x:ve,y:ye}),X=requestAnimationFrame(N)}const V={...$,nodeId:o,type:L,position:$.position},P=d.get(o);let ne={inProgress:!0,isValid:null,from:Xi(P,V,we.Left,!0),fromHandle:V,fromPosition:V.position,fromNode:P,to:Z,toHandle:null,toPosition:Fx[V.position],toNode:null,pointer:Z};function re(){D=!0,_(ne),w==null||w(e,{nodeId:o,handleId:l,handleType:L})}q===0&&re();function se(ve){if(!D){const{x:st,y:We}=qn(ve),zt=st-I,Ut=We-ee;if(!(zt*zt+Ut*Ut>q*q))return;re()}if(!B()||!V){ge(ve);return}const ye=A();Z=qn(ve,G),H=nz(Yo(Z,ye,!1,[1,1]),i,d,V),J||(N(),J=!0);const he=Fw(ve,{handle:H,connectionMode:n,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:E,doc:R,lib:h,flowId:p,nodeLookup:d});F=he.handleDomNode,j=he.connection,U=rz(!!H,he.isValid);const _e=d.get(o),Me=_e?Xi(_e,V,we.Left,!0):ne.from,Ce={...ne,from:Me,isValid:U,to:he.toHandle&&U?Ku({x:he.toHandle.x,y:he.toHandle.y},ye):Z,toHandle:he.toHandle,toPosition:U&&he.toHandle?he.toHandle.position:Fx[V.position],toNode:he.toHandle?d.get(he.toHandle.nodeId):null,pointer:Z};_(Ce),ne=Ce}function ge(ve){if(!("touches"in ve&&ve.touches.length>0)){if(D){(H||F)&&j&&U&&(k==null||k(j));const{inProgress:ye,...he}=ne,_e={...he,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(ve,_e),s&&(z==null||z(ve,_e))}v(),cancelAnimationFrame(X),J=!1,U=!1,j=null,F=null,R.removeEventListener("mousemove",se),R.removeEventListener("mouseup",ge),R.removeEventListener("touchmove",se),R.removeEventListener("touchend",ge)}}R.addEventListener("mousemove",se),R.addEventListener("mouseup",ge),R.addEventListener("touchmove",se),R.addEventListener("touchend",ge)}function Fw(e,{handle:n,connectionMode:i,fromNodeId:l,fromHandleId:o,fromType:s,doc:u,lib:f,flowId:d,isValidConnection:h=Xw,nodeLookup:m}){const p=s==="target",x=n?u.querySelector(`.${f}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:v,y:w}=qn(e),k=u.elementFromPoint(v,w),S=k!=null&&k.classList.contains(`${f}-flow__handle`)?k:x,E={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const z=$w(void 0,S),_=S.getAttribute("data-nodeid"),A=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),T=S.classList.contains("connectableend");if(!_||!z)return E;const q={source:p?_:l,sourceHandle:p?A:o,target:p?l:_,targetHandle:p?o:A};E.connection=q;const R=B&&T&&(i===Jl.Strict?p&&z==="source"||!p&&z==="target":_!==l||A!==o);E.isValid=R&&h(q),E.toHandle=Gw(_,z,A,m,i,!0)}return E}const Cp={onPointerDown:iz,isValid:Fw};function lz({domNode:e,panZoom:n,getTransform:i,getViewScale:l}){const o=yn(e);function s({translateExtent:f,width:d,height:h,zoomStep:m=1,pannable:p=!0,zoomable:x=!0,inversePan:v=!1}){const w=_=>{if(_.sourceEvent.type!=="wheel"||!n)return;const A=i(),B=_.sourceEvent.ctrlKey&&jo()?10:1,T=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*m,q=A[2]*Math.pow(2,T*B);n.scaleTo(q)};let k=[0,0];const S=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(k=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},E=_=>{const A=i();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!n)return;const B=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],T=[B[0]-k[0],B[1]-k[1]];k=B;const q=l()*Math.max(A[2],Math.log(A[2]))*(v?-1:1),M={x:A[0]-T[0]*q,y:A[1]-T[1]*q},R=[[0,0],[d,h]];n.setViewportConstrained({x:M.x,y:M.y,zoom:A[2]},R,f)},z=Sw().on("start",S).on("zoom",p?E:null).on("zoom.wheel",x?w:null);o.call(z,{})}function u(){o.on("zoom",null)}return{update:s,destroy:u,pointer:Ln}}const pc=e=>({x:e.x,y:e.y,zoom:e.k}),Zd=({x:e,y:n,zoom:i})=>fc.translate(e,n).scale(i),Il=(e,n)=>e.target.closest(`.${n}`),Pw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),az=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Kd=(e,n=0,i=az,l=()=>{})=>{const o=typeof n=="number"&&n>0;return o||l(),o?e.transition().duration(n).ease(i).on("end",l):e},Qw=e=>{const n=e.ctrlKey&&jo()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function oz({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:d,onPanZoomEnd:h}){return m=>{if(Il(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const p=i.property("__zoom").k||1;if(m.ctrlKey&&u){const S=Ln(m),E=Qw(m),z=p*Math.pow(2,E);l.scaleTo(i,z,S,m);return}const x=m.deltaMode===1?20:1;let v=o===Ii.Vertical?0:m.deltaX*x,w=o===Ii.Horizontal?0:m.deltaY*x;!jo()&&m.shiftKey&&o!==Ii.Vertical&&(v=m.deltaY*x,w=0),l.translateBy(i,-(v/p)*s,-(w/p)*s,{internal:!0});const k=pc(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,k),e.panScrollTimeout=setTimeout(()=>{h==null||h(m,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f==null||f(m,k))}}function sz({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(l,o){const s=l.type==="wheel",u=!n&&s&&!l.ctrlKey,f=Il(l,e);if(l.ctrlKey&&s&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),i.call(this,l,o)}}function uz({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return l=>{var s,u,f;if((s=l.sourceEvent)!=null&&s.internal)return;const o=pc(l.transform);e.mouseButton=((u=l.sourceEvent)==null?void 0:u.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((f=l.sourceEvent)==null?void 0:f.type)==="mousedown"&&n(!0),i&&(i==null||i(l.sourceEvent,o))}}function cz({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:l,onPanZoom:o}){return s=>{var u,f;e.usedRightMouseButton=!!(i&&Pw(n,e.mouseButton??0)),(u=s.sourceEvent)!=null&&u.sync||l([s.transform.x,s.transform.y,s.transform.k]),o&&!((f=s.sourceEvent)!=null&&f.internal)&&(o==null||o(s.sourceEvent,pc(s.transform)))}}function fz({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:s}){return u=>{var f;if(!((f=u.sourceEvent)!=null&&f.internal)&&(e.isZoomingOrPanning=!1,s&&Pw(n,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&s(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const d=pc(u.transform);e.prevViewport=d,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(u.sourceEvent,d)},i?150:0)}}}function dz({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:s,userSelectionActive:u,noWheelClassName:f,noPanClassName:d,lib:h,connectionInProgress:m}){return p=>{var S;const x=e||n,v=i&&p.ctrlKey,w=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Il(p,`${h}-flow__node`)||Il(p,`${h}-flow__edge`)))return!0;if(!l&&!x&&!o&&!s&&!i||u||m&&!w||Il(p,f)&&w||Il(p,d)&&(!w||o&&w&&!e)||!i&&p.ctrlKey&&w)return!1;if(!i&&p.type==="touchstart"&&((S=p.touches)==null?void 0:S.length)>1)return p.preventDefault(),!1;if(!x&&!o&&!v&&w||!l&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(l)&&!l.includes(p.button)&&p.type==="mousedown")return!1;const k=Array.isArray(l)&&l.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||w)&&k}}function hz({domNode:e,minZoom:n,maxZoom:i,translateExtent:l,viewport:o,onPanZoom:s,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:d}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),p=Sw().scaleExtent([n,i]).translateExtent(l),x=yn(e).call(p);z({x:o.x,y:o.y,zoom:Wl(o.zoom,n,i)},[[0,0],[m.width,m.height]],l);const v=x.on("wheel.zoom"),w=x.on("dblclick.zoom");p.wheelDelta(Qw);function k(H,I){return x?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Du).transform(Kd(x,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function S({noWheelClassName:H,noPanClassName:I,onPaneContextMenu:ee,userSelectionActive:L,panOnScroll:G,panOnDrag:D,panOnScrollMode:$,panOnScrollSpeed:Z,preventScrolling:J,zoomOnPinch:j,zoomOnScroll:U,zoomOnDoubleClick:F,zoomActivationKeyPressed:N,lib:V,onTransformChange:P,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:re}){L&&!h.isZoomingOrPanning&&E();const se=G&&!N&&!L;p.clickDistance(re?1/0:!Bn(ne)||ne<0?0:ne);const ge=se?oz({zoomPanValues:h,noWheelClassName:H,d3Selection:x,d3Zoom:p,panOnScrollMode:$,panOnScrollSpeed:Z,zoomOnPinch:j,onPanZoomStart:u,onPanZoom:s,onPanZoomEnd:f}):sz({noWheelClassName:H,preventScrolling:J,d3ZoomHandler:v});if(x.on("wheel.zoom",ge,{passive:!1}),!L){const ye=uz({zoomPanValues:h,onDraggingChange:d,onPanZoomStart:u});p.on("start",ye);const he=cz({zoomPanValues:h,panOnDrag:D,onPaneContextMenu:!!ee,onPanZoom:s,onTransformChange:P});p.on("zoom",he);const _e=fz({zoomPanValues:h,panOnDrag:D,panOnScroll:G,onPaneContextMenu:ee,onPanZoomEnd:f,onDraggingChange:d});p.on("end",_e)}const ve=dz({zoomActivationKeyPressed:N,panOnDrag:D,zoomOnScroll:U,panOnScroll:G,zoomOnDoubleClick:F,zoomOnPinch:j,userSelectionActive:L,noPanClassName:I,noWheelClassName:H,lib:V,connectionInProgress:K});p.filter(ve),F?x.on("dblclick.zoom",w):x.on("dblclick.zoom",null)}function E(){p.on("zoom",null)}async function z(H,I,ee){const L=Zd(H),G=p==null?void 0:p.constrain()(L,I,ee);return G&&await k(G),new Promise(D=>D(G))}async function _(H,I){const ee=Zd(H);return await k(ee,I),new Promise(L=>L(ee))}function A(H){if(x){const I=Zd(H),ee=x.property("__zoom");(ee.k!==H.zoom||ee.x!==H.x||ee.y!==H.y)&&(p==null||p.transform(x,I,null,{sync:!0}))}}function B(){const H=x?ww(x.node()):{x:0,y:0,k:1};return{x:H.x,y:H.y,zoom:H.k}}function T(H,I){return x?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Du).scaleTo(Kd(x,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function q(H,I){return x?new Promise(ee=>{p==null||p.interpolate((I==null?void 0:I.interpolate)==="linear"?yo:Du).scaleBy(Kd(x,I==null?void 0:I.duration,I==null?void 0:I.ease,()=>ee(!0)),H)}):Promise.resolve(!1)}function M(H){p==null||p.scaleExtent(H)}function R(H){p==null||p.translateExtent(H)}function X(H){const I=!Bn(H)||H<0?0:H;p==null||p.clickDistance(I)}return{update:S,destroy:E,setViewport:_,setViewportConstrained:z,getViewport:B,scaleTo:T,scaleBy:q,setScaleExtent:M,setTranslateExtent:R,syncViewport:A,setClickDistance:X}}var na;(function(e){e.Line="line",e.Handle="handle"})(na||(na={}));function pz({width:e,prevWidth:n,height:i,prevHeight:l,affectsX:o,affectsY:s}){const u=e-n,f=i-l,d=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(d[0]=d[0]*-1),f&&s&&(d[1]=d[1]*-1),d}function av(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:l,affectsY:o}}function oi(e,n){return Math.max(0,n-e)}function si(e,n){return Math.max(0,e-n)}function Nu(e,n,i){return Math.max(0,n-e,e-i)}function ov(e,n){return e?!n:n}function mz(e,n,i,l,o,s,u,f){let{affectsX:d,affectsY:h}=n;const{isHorizontal:m,isVertical:p}=n,x=m&&p,{xSnapped:v,ySnapped:w}=i,{minWidth:k,maxWidth:S,minHeight:E,maxHeight:z}=l,{x:_,y:A,width:B,height:T,aspectRatio:q}=e;let M=Math.floor(m?v-e.pointerX:0),R=Math.floor(p?w-e.pointerY:0);const X=B+(d?-M:M),H=T+(h?-R:R),I=-s[0]*B,ee=-s[1]*T;let L=Nu(X,k,S),G=Nu(H,E,z);if(u){let Z=0,J=0;d&&M<0?Z=oi(_+M+I,u[0][0]):!d&&M>0&&(Z=si(_+X+I,u[1][0])),h&&R<0?J=oi(A+R+ee,u[0][1]):!h&&R>0&&(J=si(A+H+ee,u[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(f){let Z=0,J=0;d&&M>0?Z=si(_+M,f[0][0]):!d&&M<0&&(Z=oi(_+X,f[1][0])),h&&R>0?J=si(A+R,f[0][1]):!h&&R<0&&(J=oi(A+H,f[1][1])),L=Math.max(L,Z),G=Math.max(G,J)}if(o){if(m){const Z=Nu(X/q,E,z)*q;if(L=Math.max(L,Z),u){let J=0;!d&&!h||d&&!h&&x?J=si(A+ee+X/q,u[1][1])*q:J=oi(A+ee+(d?M:-M)/q,u[0][1])*q,L=Math.max(L,J)}if(f){let J=0;!d&&!h||d&&!h&&x?J=oi(A+X/q,f[1][1])*q:J=si(A+(d?M:-M)/q,f[0][1])*q,L=Math.max(L,J)}}if(p){const Z=Nu(H*q,k,S)/q;if(G=Math.max(G,Z),u){let J=0;!d&&!h||h&&!d&&x?J=si(_+H*q+I,u[1][0])/q:J=oi(_+(h?R:-R)*q+I,u[0][0])/q,G=Math.max(G,J)}if(f){let J=0;!d&&!h||h&&!d&&x?J=oi(_+H*q,f[1][0])/q:J=si(_+(h?R:-R)*q,f[0][0])/q,G=Math.max(G,J)}}}R=R+(R<0?G:-G),M=M+(M<0?L:-L),o&&(x?X>H*q?R=(ov(d,h)?-M:M)/q:M=(ov(d,h)?-R:R)*q:m?(R=M/q,h=d):(M=R*q,d=h));const D=d?_+M:_,$=h?A+R:A;return{width:B+(d?-M:M),height:T+(h?-R:R),x:s[0]*M*(d?-1:1)+D,y:s[1]*R*(h?-1:1)+$}}const Zw={width:0,height:0,x:0,y:0},gz={...Zw,pointerX:0,pointerY:0,aspectRatio:1};function yz(e){return[[0,0],[e.measured.width,e.measured.height]]}function xz(e,n,i){const l=n.position.x+e.position.x,o=n.position.y+e.position.y,s=e.measured.width??0,u=e.measured.height??0,f=i[0]*s,d=i[1]*u;return[[l-f,o-d],[l+s-f,o+u-d]]}function vz({domNode:e,nodeId:n,getStoreItems:i,onChange:l,onEnd:o}){const s=yn(e);let u={controlDirection:av("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:m,keepAspectRatio:p,resizeDirection:x,onResizeStart:v,onResize:w,onResizeEnd:k,shouldResize:S}){let E={...Zw},z={...gz};u={boundaries:m,resizeDirection:x,keepAspectRatio:p,controlDirection:av(h)};let _,A=null,B=[],T,q,M,R=!1;const X=ow().on("start",H=>{const{nodeLookup:I,transform:ee,snapGrid:L,snapToGrid:G,nodeOrigin:D,paneDomNode:$}=i();if(_=I.get(n),!_)return;A=($==null?void 0:$.getBoundingClientRect())??null;const{xSnapped:Z,ySnapped:J}=xo(H.sourceEvent,{transform:ee,snapGrid:L,snapToGrid:G,containerBounds:A});E={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},z={...E,pointerX:Z,pointerY:J,aspectRatio:E.width/E.height},T=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(T=I.get(_.parentId),q=T&&_.extent==="parent"?yz(T):void 0),B=[],M=void 0;for(const[j,U]of I)if(U.parentId===n&&(B.push({id:j,position:{...U.position},extent:U.extent}),U.extent==="parent"||U.expandParent)){const F=xz(U,_,U.origin??D);M?M=[[Math.min(F[0][0],M[0][0]),Math.min(F[0][1],M[0][1])],[Math.max(F[1][0],M[1][0]),Math.max(F[1][1],M[1][1])]]:M=F}v==null||v(H,{...E})}).on("drag",H=>{const{transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G}=i(),D=xo(H.sourceEvent,{transform:I,snapGrid:ee,snapToGrid:L,containerBounds:A}),$=[];if(!_)return;const{x:Z,y:J,width:j,height:U}=E,F={},N=_.origin??G,{width:V,height:P,x:K,y:ne}=mz(z,u.controlDirection,D,u.boundaries,u.keepAspectRatio,N,q,M),re=V!==j,se=P!==U,ge=K!==Z&&re,ve=ne!==J&&se;if(!ge&&!ve&&!re&&!se)return;if((ge||ve||N[0]===1||N[1]===1)&&(F.x=ge?K:E.x,F.y=ve?ne:E.y,E.x=F.x,E.y=F.y,B.length>0)){const Me=K-Z,Ce=ne-J;for(const st of B)st.position={x:st.position.x-Me+N[0]*(V-j),y:st.position.y-Ce+N[1]*(P-U)},$.push(st)}if((re||se)&&(F.width=re&&(!u.resizeDirection||u.resizeDirection==="horizontal")?V:E.width,F.height=se&&(!u.resizeDirection||u.resizeDirection==="vertical")?P:E.height,E.width=F.width,E.height=F.height),T&&_.expandParent){const Me=N[0]*(F.width??0);F.x&&F.x{R&&(k==null||k(H,{...E}),o==null||o({...E}),R=!1)});s.call(X)}function d(){s.on(".drag",null)}return{update:f,destroy:d}}var Jd={exports:{}},Wd={},eh={exports:{}},th={};/** + * @license React + * use-sync-external-store-shim.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var sv;function bz(){if(sv)return th;sv=1;var e=Lo();function n(p,x){return p===x&&(p!==0||1/p===1/x)||p!==p&&x!==x}var i=typeof Object.is=="function"?Object.is:n,l=e.useState,o=e.useEffect,s=e.useLayoutEffect,u=e.useDebugValue;function f(p,x){var v=x(),w=l({inst:{value:v,getSnapshot:x}}),k=w[0].inst,S=w[1];return s(function(){k.value=v,k.getSnapshot=x,d(k)&&S({inst:k})},[p,v,x]),o(function(){return d(k)&&S({inst:k}),p(function(){d(k)&&S({inst:k})})},[p]),u(v),v}function d(p){var x=p.getSnapshot;p=p.value;try{var v=x();return!i(p,v)}catch{return!0}}function h(p,x){return x()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return th.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,th}var uv;function wz(){return uv||(uv=1,eh.exports=bz()),eh.exports}/** + * @license React + * use-sync-external-store-shim/with-selector.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var cv;function Sz(){if(cv)return Wd;cv=1;var e=Lo(),n=wz();function i(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var l=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,s=e.useRef,u=e.useEffect,f=e.useMemo,d=e.useDebugValue;return Wd.useSyncExternalStoreWithSelector=function(h,m,p,x,v){var w=s(null);if(w.current===null){var k={hasValue:!1,value:null};w.current=k}else k=w.current;w=f(function(){function E(T){if(!z){if(z=!0,_=T,T=x(T),v!==void 0&&k.hasValue){var q=k.value;if(v(q,T))return A=q}return A=T}if(q=A,l(_,T))return q;var M=x(T);return v!==void 0&&v(q,M)?(_=T,q):(_=T,A=M)}var z=!1,_,A,B=p===void 0?null:p;return[function(){return E(m())},B===null?void 0:function(){return E(B())}]},[m,p,x,v]);var S=o(h,w[0],w[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},Wd}var fv;function _z(){return fv||(fv=1,Jd.exports=Sz()),Jd.exports}var Ez=_z();const Nz=Ro(Ez),kz={},dv=e=>{let n;const i=new Set,l=(m,p)=>{const x=typeof m=="function"?m(n):m;if(!Object.is(x,n)){const v=n;n=p??(typeof x!="object"||x===null)?x:Object.assign({},n,x),i.forEach(w=>w(n,v))}},o=()=>n,d={setState:l,getState:o,getInitialState:()=>h,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(kz?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},h=n=e(l,o,d);return d},Cz=e=>e?dv(e):dv,{useDebugValue:Tz}=ql,{useSyncExternalStoreWithSelector:zz}=Nz,Az=e=>e;function Kw(e,n=Az,i){const l=zz(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return Tz(l),l}const hv=(e,n)=>{const i=Cz(e),l=(o,s=n)=>Kw(i,o,s);return Object.assign(l,i),l},Mz=(e,n)=>e?hv(e,n):hv;function dt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[l,o]of e)if(!Object.is(o,n.get(l)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const l of e)if(!n.has(l))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const l of i)if(!Object.prototype.hasOwnProperty.call(n,l)||!Object.is(e[l],n[l]))return!1;return!0}var jz=wb();const mc=Y.createContext(null),Oz=mc.Provider,Jw=tr.error001();function Ie(e,n){const i=Y.useContext(mc);if(i===null)throw new Error(Jw);return Kw(i,e,n)}function ht(){const e=Y.useContext(mc);if(e===null)throw new Error(Jw);return Y.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const pv={display:"none"},Dz={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Ww="react-flow__node-desc",eS="react-flow__edge-desc",Rz="react-flow__aria-live",Lz=e=>e.ariaLiveMessage,Hz=e=>e.ariaLabelConfig;function Bz({rfId:e}){const n=Ie(Lz);return b.jsx("div",{id:`${Rz}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Dz,children:n})}function qz({rfId:e,disableKeyboardA11y:n}){const i=Ie(Hz);return b.jsxs(b.Fragment,{children:[b.jsx("div",{id:`${Ww}-${e}`,style:pv,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),b.jsx("div",{id:`${eS}-${e}`,style:pv,children:i["edge.a11yDescription.default"]}),!n&&b.jsx(Bz,{rfId:e})]})}const gc=Y.forwardRef(({position:e="top-left",children:n,className:i,style:l,...o},s)=>{const u=`${e}`.split("-");return b.jsx("div",{className:Tt(["react-flow__panel",i,...u]),style:l,ref:s,...o,children:n})});gc.displayName="Panel";function Uz({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:b.jsx(gc,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:b.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Iz=e=>{const n=[],i=[];for(const[,l]of e.nodeLookup)l.selected&&n.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&i.push(l);return{selectedNodes:n,selectedEdges:i}},ku=e=>e.id;function Vz(e,n){return dt(e.selectedNodes.map(ku),n.selectedNodes.map(ku))&&dt(e.selectedEdges.map(ku),n.selectedEdges.map(ku))}function Yz({onSelectionChange:e}){const n=ht(),{selectedNodes:i,selectedEdges:l}=Ie(Iz,Vz);return Y.useEffect(()=>{const o={nodes:i,edges:l};e==null||e(o),n.getState().onSelectionChangeHandlers.forEach(s=>s(o))},[i,l,e]),null}const Gz=e=>!!e.onSelectionChangeHandlers;function $z({onSelectionChange:e}){const n=Ie(Gz);return e||n?b.jsx(Yz,{onSelectionChange:e}):null}const tS=[0,0],Xz={x:0,y:0,zoom:1},Fz=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],mv=[...Fz,"rfId"],Pz=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),gv={translateExtent:zo,nodeOrigin:tS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Qz(e){const{setNodes:n,setEdges:i,setMinZoom:l,setMaxZoom:o,setTranslateExtent:s,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:d}=Ie(Pz,dt),h=ht();Y.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=gv,f()}),[]);const m=Y.useRef(gv);return Y.useEffect(()=>{for(const p of mv){const x=e[p],v=m.current[p];x!==v&&(typeof e[p]>"u"||(p==="nodes"?n(x):p==="edges"?i(x):p==="minZoom"?l(x):p==="maxZoom"?o(x):p==="translateExtent"?s(x):p==="nodeExtent"?u(x):p==="ariaLabelConfig"?h.setState({ariaLabelConfig:MT(x)}):p==="fitView"?h.setState({fitViewQueued:x}):p==="fitViewOptions"?h.setState({fitViewOptions:x}):h.setState({[p]:x})))}m.current=e},mv.map(p=>e[p])),null}function yv(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Zz(e){var l;const[n,i]=Y.useState(e==="system"?null:e);return Y.useEffect(()=>{if(e!=="system"){i(e);return}const o=yv(),s=()=>i(o!=null&&o.matches?"dark":"light");return s(),o==null||o.addEventListener("change",s),()=>{o==null||o.removeEventListener("change",s)}},[e]),n!==null?n:(l=yv())!=null&&l.matches?"dark":"light"}const xv=typeof document<"u"?document:null;function Oo(e=null,n={target:xv,actInsideInputWithModifier:!0}){const[i,l]=Y.useState(!1),o=Y.useRef(!1),s=Y.useRef(new Set([])),[u,f]=Y.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` +`).replace(` + +`,` ++`).split(` +`)),m=h.reduce((p,x)=>p.concat(...x),[]);return[h,m]}return[[],[]]},[e]);return Y.useEffect(()=>{const d=(n==null?void 0:n.target)??xv,h=(n==null?void 0:n.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var S,E;if(o.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!o.current||o.current&&!h)&&Rw(v))return!1;const k=bv(v.code,f);if(s.current.add(v[k]),vv(u,s.current,!1)){const z=((E=(S=v.composedPath)==null?void 0:S.call(v))==null?void 0:E[0])||v.target,_=(z==null?void 0:z.nodeName)==="BUTTON"||(z==null?void 0:z.nodeName)==="A";n.preventDefault!==!1&&(o.current||!_)&&v.preventDefault(),l(!0)}},p=v=>{const w=bv(v.code,f);vv(u,s.current,!0)?(l(!1),s.current.clear()):s.current.delete(v[w]),v.key==="Meta"&&s.current.clear(),o.current=!1},x=()=>{s.current.clear(),l(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",p),window.addEventListener("blur",x),window.addEventListener("contextmenu",x),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",p),window.removeEventListener("blur",x),window.removeEventListener("contextmenu",x)}}},[e,l]),i}function vv(e,n,i){return e.filter(l=>i||l.length===n.size).some(l=>l.every(o=>n.has(o)))}function bv(e,n){return n.includes(e)?"code":"key"}const Kz=()=>{const e=ht();return Y.useMemo(()=>({zoomIn:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomOut:n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},zoomTo:(n,i)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(n,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{const{transform:[l,o,s],panZoom:u}=e.getState();return u?(await u.setViewport({x:n.x??l,y:n.y??o,zoom:n.zoom??s},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[n,i,l]=e.getState().transform;return{x:n,y:i,zoom:l}},setCenter:async(n,i,l)=>e.getState().setCenter(n,i,l),fitBounds:async(n,i)=>{const{width:l,height:o,minZoom:s,maxZoom:u,panZoom:f}=e.getState(),d=Jp(n,l,o,s,u,(i==null?void 0:i.padding)??.1);return f?(await f.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(n,i={})=>{const{transform:l,snapGrid:o,snapToGrid:s,domNode:u}=e.getState();if(!u)return n;const{x:f,y:d}=u.getBoundingClientRect(),h={x:n.x-f,y:n.y-d},m=i.snapGrid??o,p=i.snapToGrid??s;return Yo(h,l,p,m)},flowToScreenPosition:n=>{const{transform:i,domNode:l}=e.getState();if(!l)return n;const{x:o,y:s}=l.getBoundingClientRect(),u=Ku(n,i);return{x:u.x+o,y:u.y+s}}}),[])};function nS(e,n){const i=[],l=new Map,o=[];for(const s of e)if(s.type==="add"){o.push(s);continue}else if(s.type==="remove"||s.type==="replace")l.set(s.id,[s]);else{const u=l.get(s.id);u?u.push(s):l.set(s.id,[s])}for(const s of n){const u=l.get(s.id);if(!u){i.push(s);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){i.push({...u[0].item});continue}const f={...s};for(const d of u)Jz(d,f);i.push(f)}return o.length&&o.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function Jz(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position<"u"&&(n.position=e.position),typeof e.dragging<"u"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function rS(e,n){return nS(e,n)}function iS(e,n){return nS(e,n)}function Ri(e,n){return{id:e,type:"select",selected:n}}function Vl(e,n=new Set,i=!1){const l=[];for(const[o,s]of e){const u=n.has(o);!(s.selected===void 0&&!u)&&s.selected!==u&&(i&&(s.selected=u),l.push(Ri(s.id,u)))}return l}function wv({items:e=[],lookup:n}){var o;const i=[],l=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const f=n.get(u.id),d=((o=f==null?void 0:f.internals)==null?void 0:o.userNode)??f;d!==void 0&&d!==u&&i.push({id:u.id,item:u,type:"replace"}),d===void 0&&i.push({item:u,type:"add",index:s})}for(const[s]of n)l.get(s)===void 0&&i.push({id:s,type:"remove"});return i}function Sv(e){return{id:e.id,type:"remove"}}const _v=e=>wT(e),Wz=e=>Cw(e);function lS(e){return Y.forwardRef(e)}const eA=typeof window<"u"?Y.useLayoutEffect:Y.useEffect;function Ev(e){const[n,i]=Y.useState(BigInt(0)),[l]=Y.useState(()=>tA(()=>i(o=>o+BigInt(1))));return eA(()=>{const o=l.get();o.length&&(e(o),l.reset())},[n]),l}function tA(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const aS=Y.createContext(null);function nA({children:e}){const n=ht(),i=Y.useCallback(f=>{const{nodes:d=[],setNodes:h,hasDefaultNodes:m,onNodesChange:p,nodeLookup:x,fitViewQueued:v,onNodesChangeMiddlewareMap:w}=n.getState();let k=d;for(const E of f)k=typeof E=="function"?E(k):E;let S=wv({items:k,lookup:x});for(const E of w.values())S=E(S);m&&h(k),S.length>0?p==null||p(S):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:z,setNodes:_}=n.getState();E&&_(z)})},[]),l=Ev(i),o=Y.useCallback(f=>{const{edges:d=[],setEdges:h,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:x}=n.getState();let v=d;for(const w of f)v=typeof w=="function"?w(v):w;m?h(v):p&&p(wv({items:v,lookup:x}))},[]),s=Ev(o),u=Y.useMemo(()=>({nodeQueue:l,edgeQueue:s}),[]);return b.jsx(aS.Provider,{value:u,children:e})}function rA(){const e=Y.useContext(aS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const iA=e=>!!e.panZoom;function Go(){const e=Kz(),n=ht(),i=rA(),l=Ie(iA),o=Y.useMemo(()=>{const s=p=>n.getState().nodeLookup.get(p),u=p=>{i.nodeQueue.push(p)},f=p=>{i.edgeQueue.push(p)},d=p=>{var E,z;const{nodeLookup:x,nodeOrigin:v}=n.getState(),w=_v(p)?p:x.get(p.id),k=w.parentId?Ow(w.position,w.measured,w.parentId,x,v):w.position,S={...w,position:k,width:((E=w.measured)==null?void 0:E.width)??w.width,height:((z=w.measured)==null?void 0:z.height)??w.height};return ea(S)},h=(p,x,v={replace:!1})=>{u(w=>w.map(k=>{if(k.id===p){const S=typeof x=="function"?x(k):x;return v.replace&&_v(S)?S:{...k,...S}}return k}))},m=(p,x,v={replace:!1})=>{f(w=>w.map(k=>{if(k.id===p){const S=typeof x=="function"?x(k):x;return v.replace&&Wz(S)?S:{...k,...S}}return k}))};return{getNodes:()=>n.getState().nodes.map(p=>({...p})),getNode:p=>{var x;return(x=s(p))==null?void 0:x.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:p=[]}=n.getState();return p.map(x=>({...x}))},getEdge:p=>n.getState().edgeLookup.get(p),setNodes:u,setEdges:f,addNodes:p=>{const x=Array.isArray(p)?p:[p];i.nodeQueue.push(v=>[...v,...x])},addEdges:p=>{const x=Array.isArray(p)?p:[p];i.edgeQueue.push(v=>[...v,...x])},toObject:()=>{const{nodes:p=[],edges:x=[],transform:v}=n.getState(),[w,k,S]=v;return{nodes:p.map(E=>({...E})),edges:x.map(E=>({...E})),viewport:{x:w,y:k,zoom:S}}},deleteElements:async({nodes:p=[],edges:x=[]})=>{const{nodes:v,edges:w,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:E,triggerEdgeChanges:z,onDelete:_,onBeforeDelete:A}=n.getState(),{nodes:B,edges:T}=await kT({nodesToRemove:p,edgesToRemove:x,nodes:v,edges:w,onBeforeDelete:A}),q=T.length>0,M=B.length>0;if(q){const R=T.map(Sv);S==null||S(T),z(R)}if(M){const R=B.map(Sv);k==null||k(B),E(R)}return(M||q)&&(_==null||_({nodes:B,edges:T})),{deletedNodes:B,deletedEdges:T}},getIntersectingNodes:(p,x=!0,v)=>{const w=Qx(p),k=w?p:d(p),S=v!==void 0;return k?(v||n.getState().nodes).filter(E=>{const z=n.getState().nodeLookup.get(E.id);if(z&&!w&&(E.id===p.id||!z.internals.positionAbsolute))return!1;const _=ea(S?E:z),A=Mo(_,k);return x&&A>0||A>=_.width*_.height||A>=k.width*k.height}):[]},isNodeIntersecting:(p,x,v=!0)=>{const k=Qx(p)?p:d(p);if(!k)return!1;const S=Mo(k,x);return v&&S>0||S>=x.width*x.height||S>=k.width*k.height},updateNode:h,updateNodeData:(p,x,v={replace:!1})=>{h(p,w=>{const k=typeof x=="function"?x(w):x;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},updateEdge:m,updateEdgeData:(p,x,v={replace:!1})=>{m(p,w=>{const k=typeof x=="function"?x(w):x;return v.replace?{...w,data:k}:{...w,data:{...w.data,...k}}},v)},getNodesBounds:p=>{const{nodeLookup:x,nodeOrigin:v}=n.getState();return ST(p,{nodeLookup:x,nodeOrigin:v})},getHandleConnections:({type:p,id:x,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}-${p}${x?`-${x}`:""}`))==null?void 0:w.values())??[])},getNodeConnections:({type:p,handleId:x,nodeId:v})=>{var w;return Array.from(((w=n.getState().connectionLookup.get(`${v}${p?x?`-${p}-${x}`:`-${p}`:""}`))==null?void 0:w.values())??[])},fitView:async p=>{const x=n.getState().fitViewResolver??AT();return n.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:x}),i.nodeQueue.push(v=>[...v]),x.promise}}},[]);return Y.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const Nv=e=>e.selected,lA=typeof window<"u"?window:void 0;function aA({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ht(),{deleteElements:l}=Go(),o=Oo(e,{actInsideInputWithModifier:!1}),s=Oo(n,{target:lA});Y.useEffect(()=>{if(o){const{edges:u,nodes:f}=i.getState();l({nodes:f.filter(Nv),edges:u.filter(Nv)}),i.setState({nodesSelectionActive:!1})}},[o]),Y.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function oA(e){const n=ht();Y.useEffect(()=>{const i=()=>{var o,s,u,f;if(!e.current||!(((s=(o=e.current).checkVisibility)==null?void 0:s.call(o))??!0))return!1;const l=Wp(e.current);(l.height===0||l.width===0)&&((f=(u=n.getState()).onError)==null||f.call(u,"004",tr.error004())),n.setState({width:l.width||500,height:l.height||500})};if(e.current){i(),window.addEventListener("resize",i);const l=new ResizeObserver(()=>i());return l.observe(e.current),()=>{window.removeEventListener("resize",i),l&&e.current&&l.unobserve(e.current)}}},[])}const yc={position:"absolute",width:"100%",height:"100%",top:0,left:0},sA=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function uA({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:s=Ii.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:d,translateExtent:h,minZoom:m,maxZoom:p,zoomActivationKeyCode:x,preventScrolling:v=!0,children:w,noWheelClassName:k,noPanClassName:S,onViewportChange:E,isControlledViewport:z,paneClickDistance:_,selectionOnDrag:A}){const B=ht(),T=Y.useRef(null),{userSelectionActive:q,lib:M,connectionInProgress:R}=Ie(sA,dt),X=Oo(x),H=Y.useRef();oA(T);const I=Y.useCallback(ee=>{E==null||E({x:ee[0],y:ee[1],zoom:ee[2]}),z||B.setState({transform:ee})},[E,z]);return Y.useEffect(()=>{if(T.current){H.current=hz({domNode:T.current,minZoom:m,maxZoom:p,translateExtent:h,viewport:d,onDraggingChange:D=>B.setState($=>$.paneDragging===D?$:{paneDragging:D}),onPanZoomStart:(D,$)=>{const{onViewportChangeStart:Z,onMoveStart:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoom:(D,$)=>{const{onViewportChange:Z,onMove:J}=B.getState();J==null||J(D,$),Z==null||Z($)},onPanZoomEnd:(D,$)=>{const{onViewportChangeEnd:Z,onMoveEnd:J}=B.getState();J==null||J(D,$),Z==null||Z($)}});const{x:ee,y:L,zoom:G}=H.current.getViewport();return B.setState({panZoom:H.current,transform:[ee,L,G],domNode:T.current.closest(".react-flow")}),()=>{var D;(D=H.current)==null||D.destroy()}}},[]),Y.useEffect(()=>{var ee;(ee=H.current)==null||ee.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:s,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:X,preventScrolling:v,noPanClassName:S,userSelectionActive:q,noWheelClassName:k,lib:M,onTransformChange:I,connectionInProgress:R,selectionOnDrag:A,paneClickDistance:_})},[e,n,i,l,o,s,u,f,X,v,S,q,k,M,I,R,A,_]),b.jsx("div",{className:"react-flow__renderer",ref:T,style:yc,children:w})}const cA=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function fA(){const{userSelectionActive:e,userSelectionRect:n}=Ie(cA,dt);return e&&n?b.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const nh=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},dA=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function hA({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Ao.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:s,onSelectionStart:u,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:h,onPaneScroll:m,onPaneMouseEnter:p,onPaneMouseMove:x,onPaneMouseLeave:v,children:w}){const k=ht(),{userSelectionActive:S,elementsSelectable:E,dragging:z,connectionInProgress:_}=Ie(dA,dt),A=E&&(e||S),B=Y.useRef(null),T=Y.useRef(),q=Y.useRef(new Set),M=Y.useRef(new Set),R=Y.useRef(!1),X=Z=>{if(R.current||_){R.current=!1;return}d==null||d(Z),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},H=Z=>{if(Array.isArray(l)&&(l!=null&&l.includes(2))){Z.preventDefault();return}h==null||h(Z)},I=m?Z=>m(Z):void 0,ee=Z=>{R.current&&(Z.stopPropagation(),R.current=!1)},L=Z=>{var P,K;const{domNode:J}=k.getState();if(T.current=J==null?void 0:J.getBoundingClientRect(),!T.current)return;const j=Z.target===B.current;if(!j&&!!Z.target.closest(".nokey")||!e||!(s&&j||n)||Z.button!==0||!Z.isPrimary)return;(K=(P=Z.target)==null?void 0:P.setPointerCapture)==null||K.call(P,Z.pointerId),R.current=!1;const{x:N,y:V}=qn(Z.nativeEvent,T.current);k.setState({userSelectionRect:{width:0,height:0,startX:N,startY:V,x:N,y:V}}),j||(Z.stopPropagation(),Z.preventDefault())},G=Z=>{const{userSelectionRect:J,transform:j,nodeLookup:U,edgeLookup:F,connectionLookup:N,triggerNodeChanges:V,triggerEdgeChanges:P,defaultEdgeOptions:K,resetSelectedElements:ne}=k.getState();if(!T.current||!J)return;const{x:re,y:se}=qn(Z.nativeEvent,T.current),{startX:ge,startY:ve}=J;if(!R.current){const Ce=n?0:o;if(Math.hypot(re-ge,se-ve)<=Ce)return;ne(),u==null||u(Z)}R.current=!0;const ye={startX:ge,startY:ve,x:reCe.id)),M.current=new Set;const Me=(K==null?void 0:K.selectable)??!0;for(const Ce of q.current){const st=N.get(Ce);if(st)for(const{edgeId:We}of st.values()){const zt=F.get(We);zt&&(zt.selectable??Me)&&M.current.add(We)}}if(!Zx(he,q.current)){const Ce=Vl(U,q.current,!0);V(Ce)}if(!Zx(_e,M.current)){const Ce=Vl(F,M.current);P(Ce)}k.setState({userSelectionRect:ye,userSelectionActive:!0,nodesSelectionActive:!1})},D=Z=>{var J,j;Z.button===0&&((j=(J=Z.target)==null?void 0:J.releasePointerCapture)==null||j.call(J,Z.pointerId),!S&&Z.target===B.current&&k.getState().userSelectionRect&&(X==null||X(Z)),k.setState({userSelectionActive:!1,userSelectionRect:null}),R.current&&(f==null||f(Z),k.setState({nodesSelectionActive:q.current.size>0})))},$=l===!0||Array.isArray(l)&&l.includes(0);return b.jsxs("div",{className:Tt(["react-flow__pane",{draggable:$,dragging:z,selection:e}]),onClick:A?void 0:nh(X,B),onContextMenu:nh(H,B),onWheel:nh(I,B),onPointerEnter:A?void 0:p,onPointerMove:A?G:x,onPointerUp:A?D:void 0,onPointerDownCapture:A?L:void 0,onClickCapture:A?ee:void 0,onPointerLeave:v,ref:B,style:yc,children:[w,b.jsx(fA,{})]})}function Tp({id:e,store:n,unselect:i=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:s,multiSelectionActive:u,nodeLookup:f,onError:d}=n.getState(),h=f.get(e);if(!h){d==null||d("012",tr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&u)&&(s({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.blur()})):o([e])}function oS({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:l,nodeId:o,isSelectable:s,nodeClickDistance:u}){const f=ht(),[d,h]=Y.useState(!1),m=Y.useRef();return Y.useEffect(()=>{m.current=WT({getStoreItems:()=>f.getState(),onNodeMouseDown:p=>{Tp({id:p,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),Y.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:l,domNode:e.current,isSelectable:s,nodeId:o,nodeClickDistance:u}),()=>{var p;(p=m.current)==null||p.destroy()}},[i,l,n,s,e,o,u]),d}const pA=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable>"u");function sS(){const e=ht();return Y.useCallback(i=>{const{nodeExtent:l,snapToGrid:o,snapGrid:s,nodesDraggable:u,onError:f,updateNodePositions:d,nodeLookup:h,nodeOrigin:m}=e.getState(),p=new Map,x=pA(u),v=o?s[0]:5,w=o?s[1]:5,k=i.direction.x*v*i.factor,S=i.direction.y*w*i.factor;for(const[,E]of h){if(!x(E))continue;let z={x:E.internals.positionAbsolute.x+k,y:E.internals.positionAbsolute.y+S};o&&(z=Vo(z,s));const{position:_,positionAbsolute:A}=Tw({nodeId:E.id,nextPosition:z,nodeLookup:h,nodeExtent:l,nodeOrigin:m,onError:f});E.position=_,E.internals.positionAbsolute=A,p.set(E.id,E)}d(p)},[])}const am=Y.createContext(null),mA=am.Provider;am.Consumer;const uS=()=>Y.useContext(am),gA=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),yA=(e,n,i)=>l=>{const{connectionClickStartHandle:o,connectionMode:s,connection:u}=l,{fromHandle:f,toHandle:d,isValid:h}=u,m=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===n&&(f==null?void 0:f.type)===i,connectingTo:m,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===n&&(o==null?void 0:o.type)===i,isPossibleEndHandle:s===Jl.Strict?(f==null?void 0:f.type)!==i:e!==(f==null?void 0:f.nodeId)||n!==(f==null?void 0:f.id),connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:m&&h}};function xA({type:e="source",position:n=we.Top,isValidConnection:i,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:s=!0,id:u,onConnect:f,children:d,className:h,onMouseDown:m,onTouchStart:p,...x},v){var G,D;const w=u||null,k=e==="target",S=ht(),E=uS(),{connectOnClick:z,noPanClassName:_,rfId:A}=Ie(gA,dt),{connectingFrom:B,connectingTo:T,clickConnecting:q,isPossibleEndHandle:M,connectionInProcess:R,clickConnectionInProcess:X,valid:H}=Ie(yA(E,w,e),dt);E||(D=(G=S.getState()).onError)==null||D.call(G,"010",tr.error010());const I=$=>{const{defaultEdgeOptions:Z,onConnect:J,hasDefaultEdges:j}=S.getState(),U={...Z,...$};if(j){const{edges:F,setEdges:N}=S.getState();N(HT(U,F))}J==null||J(U),f==null||f(U)},ee=$=>{if(!E)return;const Z=Lw($.nativeEvent);if(o&&(Z&&$.button===0||!Z)){const J=S.getState();Cp.onPointerDown($.nativeEvent,{handleDomNode:$.currentTarget,autoPanOnConnect:J.autoPanOnConnect,connectionMode:J.connectionMode,connectionRadius:J.connectionRadius,domNode:J.domNode,nodeLookup:J.nodeLookup,lib:J.lib,isTarget:k,handleId:w,nodeId:E,flowId:J.rfId,panBy:J.panBy,cancelConnection:J.cancelConnection,onConnectStart:J.onConnectStart,onConnectEnd:(...j)=>{var U,F;return(F=(U=S.getState()).onConnectEnd)==null?void 0:F.call(U,...j)},updateConnection:J.updateConnection,onConnect:I,isValidConnection:i||((...j)=>{var U,F;return((F=(U=S.getState()).isValidConnection)==null?void 0:F.call(U,...j))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:J.autoPanSpeed,dragThreshold:J.connectionDragThreshold})}Z?m==null||m($):p==null||p($)},L=$=>{const{onClickConnectStart:Z,onClickConnectEnd:J,connectionClickStartHandle:j,connectionMode:U,isValidConnection:F,lib:N,rfId:V,nodeLookup:P,connection:K}=S.getState();if(!E||!j&&!o)return;if(!j){Z==null||Z($.nativeEvent,{nodeId:E,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const ne=Dw($.target),re=i||F,{connection:se,isValid:ge}=Cp.isValid($.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:U,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:re,flowId:V,doc:ne,lib:N,nodeLookup:P});ge&&se&&I(se);const ve=structuredClone(K);delete ve.inProgress,ve.toPosition=ve.toHandle?ve.toHandle.position:null,J==null||J($,ve),S.setState({connectionClickStartHandle:null})};return b.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":n,"data-id":`${A}-${E}-${w}-${e}`,className:Tt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",_,h,{source:!k,target:k,connectable:l,connectablestart:o,connectableend:s,clickconnecting:q,connectingfrom:B,connectingto:T,valid:H,connectionindicator:l&&(!R||M)&&(R||X?s:o)}]),onMouseDown:ee,onTouchStart:ee,onClick:z?L:void 0,ref:v,...x,children:d})}const ln=Y.memo(lS(xA));function vA({data:e,isConnectable:n,sourcePosition:i=we.Bottom}){return b.jsxs(b.Fragment,{children:[e==null?void 0:e.label,b.jsx(ln,{type:"source",position:i,isConnectable:n})]})}function bA({data:e,isConnectable:n,targetPosition:i=we.Top,sourcePosition:l=we.Bottom}){return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,b.jsx(ln,{type:"source",position:l,isConnectable:n})]})}function wA(){return null}function SA({data:e,isConnectable:n,targetPosition:i=we.Top}){return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const Ju={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},kv={input:vA,default:bA,output:SA,group:wA};function _A(e){var n,i,l,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((n=e.style)==null?void 0:n.width),height:e.height??e.initialHeight??((i=e.style)==null?void 0:i.height)}:{width:e.width??((l=e.style)==null?void 0:l.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const EA=e=>{const{width:n,height:i,x:l,y:o}=Io(e.nodeLookup,{filter:s=>!!s.selected});return{width:Bn(n)?n:null,height:Bn(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function NA({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const l=ht(),{width:o,height:s,transformString:u,userSelectionActive:f}=Ie(EA,dt),d=sS(),h=Y.useRef(null);Y.useEffect(()=>{var v;i||(v=h.current)==null||v.focus({preventScroll:!0})},[i]);const m=!f&&o!==null&&s!==null;if(oS({nodeRef:h,disabled:!m}),!m)return null;const p=e?v=>{const w=l.getState().nodes.filter(k=>k.selected);e(v,w)}:void 0,x=v=>{Object.prototype.hasOwnProperty.call(Ju,v.key)&&(v.preventDefault(),d({direction:Ju[v.key],factor:v.shiftKey?4:1}))};return b.jsx("div",{className:Tt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:b.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:i?void 0:-1,onKeyDown:i?void 0:x,style:{width:o,height:s}})})}const Cv=typeof window<"u"?window:void 0,kA=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function cS({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:d,selectionKeyCode:h,selectionOnDrag:m,selectionMode:p,onSelectionStart:x,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:A,panOnScrollSpeed:B,panOnScrollMode:T,zoomOnDoubleClick:q,panOnDrag:M,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,preventScrolling:ee,onSelectionContextMenu:L,noWheelClassName:G,noPanClassName:D,disableKeyboardA11y:$,onViewportChange:Z,isControlledViewport:J}){const{nodesSelectionActive:j,userSelectionActive:U}=Ie(kA,dt),F=Oo(h,{target:Cv}),N=Oo(k,{target:Cv}),V=N||M,P=N||A,K=m&&V!==!0,ne=F||U||K;return aA({deleteKeyCode:d,multiSelectionKeyCode:w}),b.jsx(uA,{onPaneContextMenu:s,elementsSelectable:E,zoomOnScroll:z,zoomOnPinch:_,panOnScroll:P,panOnScrollSpeed:B,panOnScrollMode:T,zoomOnDoubleClick:q,panOnDrag:!F&&V,defaultViewport:R,translateExtent:X,minZoom:H,maxZoom:I,zoomActivationKeyCode:S,preventScrolling:ee,noWheelClassName:G,noPanClassName:D,onViewportChange:Z,isControlledViewport:J,paneClickDistance:f,selectionOnDrag:K,children:b.jsxs(hA,{onSelectionStart:x,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:s,onPaneScroll:u,panOnDrag:V,isSelecting:!!ne,selectionMode:p,selectionKeyPressed:F,paneClickDistance:f,selectionOnDrag:K,children:[e,j&&b.jsx(NA,{onSelectionContextMenu:L,noPanClassName:D,disableKeyboardA11y:$})]})})}cS.displayName="FlowRenderer";const CA=Y.memo(cS),TA=e=>n=>e?Kp(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function zA(e){return Ie(Y.useCallback(TA(e),[e]),dt)}const AA=e=>e.updateNodeInternals;function MA(){const e=Ie(AA),[n]=Y.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const l=new Map;i.forEach(o=>{const s=o.target.getAttribute("data-id");l.set(s,{id:s,nodeElement:o.target,force:!0})}),e(l)}));return Y.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function jA({node:e,nodeType:n,hasDimensions:i,resizeObserver:l}){const o=ht(),s=Y.useRef(null),u=Y.useRef(null),f=Y.useRef(e.sourcePosition),d=Y.useRef(e.targetPosition),h=Y.useRef(n),m=i&&!!e.internals.handleBounds;return Y.useEffect(()=>{s.current&&!e.hidden&&(!m||u.current!==s.current)&&(u.current&&(l==null||l.unobserve(u.current)),l==null||l.observe(s.current),u.current=s.current)},[m,e.hidden]),Y.useEffect(()=>()=>{u.current&&(l==null||l.unobserve(u.current),u.current=null)},[]),Y.useEffect(()=>{if(s.current){const p=h.current!==n,x=f.current!==e.sourcePosition,v=d.current!==e.targetPosition;(p||x||v)&&(h.current=n,f.current=e.sourcePosition,d.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function OA({id:e,onClick:n,onMouseEnter:i,onMouseMove:l,onMouseLeave:o,onContextMenu:s,onDoubleClick:u,nodesDraggable:f,elementsSelectable:d,nodesConnectable:h,nodesFocusable:m,resizeObserver:p,noDragClassName:x,noPanClassName:v,disableKeyboardA11y:w,rfId:k,nodeTypes:S,nodeClickDistance:E,onError:z}){const{node:_,internals:A,isParent:B}=Ie(re=>{const se=re.nodeLookup.get(e),ge=re.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ge}},dt);let T=_.type||"default",q=(S==null?void 0:S[T])||kv[T];q===void 0&&(z==null||z("003",tr.error003(T)),T="default",q=(S==null?void 0:S.default)||kv.default);const M=!!(_.draggable||f&&typeof _.draggable>"u"),R=!!(_.selectable||d&&typeof _.selectable>"u"),X=!!(_.connectable||h&&typeof _.connectable>"u"),H=!!(_.focusable||m&&typeof _.focusable>"u"),I=ht(),ee=jw(_),L=jA({node:_,nodeType:T,hasDimensions:ee,resizeObserver:p}),G=oS({nodeRef:L,disabled:_.hidden||!M,noDragClassName:x,handleSelector:_.dragHandle,nodeId:e,isSelectable:R,nodeClickDistance:E}),D=sS();if(_.hidden)return null;const $=Ar(_),Z=_A(_),J=R||M||n||i||l||o,j=i?re=>i(re,{...A.userNode}):void 0,U=l?re=>l(re,{...A.userNode}):void 0,F=o?re=>o(re,{...A.userNode}):void 0,N=s?re=>s(re,{...A.userNode}):void 0,V=u?re=>u(re,{...A.userNode}):void 0,P=re=>{const{selectNodesOnDrag:se,nodeDragThreshold:ge}=I.getState();R&&(!se||!M||ge>0)&&Tp({id:e,store:I,nodeRef:L}),n&&n(re,{...A.userNode})},K=re=>{if(!(Rw(re.nativeEvent)||w)){if(_w.includes(re.key)&&R){const se=re.key==="Escape";Tp({id:e,store:I,unselect:se,nodeRef:L})}else if(M&&_.selected&&Object.prototype.hasOwnProperty.call(Ju,re.key)){re.preventDefault();const{ariaLabelConfig:se}=I.getState();I.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:re.key.replace("Arrow","").toLowerCase(),x:~~A.positionAbsolute.x,y:~~A.positionAbsolute.y})}),D({direction:Ju[re.key],factor:re.shiftKey?4:1})}}},ne=()=>{var _e;if(w||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:re,width:se,height:ge,autoPanOnNodeFocus:ve,setCenter:ye}=I.getState();if(!ve)return;Kp(new Map([[e,_]]),{x:0,y:0,width:se,height:ge},re,!0).length>0||ye(_.position.x+$.width/2,_.position.y+$.height/2,{zoom:re[2]})};return b.jsx("div",{className:Tt(["react-flow__node",`react-flow__node-${T}`,{[v]:M},_.className,{selected:_.selected,selectable:R,parent:B,draggable:M,dragging:G}]),ref:L,style:{zIndex:A.z,transform:`translate(${A.positionAbsolute.x}px,${A.positionAbsolute.y}px)`,pointerEvents:J?"all":"none",visibility:ee?"visible":"hidden",..._.style,...Z},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:U,onMouseLeave:F,onContextMenu:N,onClick:P,onDoubleClick:V,onKeyDown:H?K:void 0,tabIndex:H?0:void 0,onFocus:H?ne:void 0,role:_.ariaRole??(H?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${Ww}-${k}`,"aria-label":_.ariaLabel,..._.domAttributes,children:b.jsx(mA,{value:e,children:b.jsx(q,{id:e,data:_.data,type:T,positionAbsoluteX:A.positionAbsolute.x,positionAbsoluteY:A.positionAbsolute.y,selected:_.selected??!1,selectable:R,draggable:M,deletable:_.deletable??!0,isConnectable:X,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:G,dragHandle:_.dragHandle,zIndex:A.z,parentId:_.parentId,...$})})})}var DA=Y.memo(OA);const RA=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function fS(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,onError:s}=Ie(RA,dt),u=zA(e.onlyRenderVisibleElements),f=MA();return b.jsx("div",{className:"react-flow__nodes",style:yc,children:u.map(d=>b.jsx(DA,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:i,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}fS.displayName="NodeRenderer";const LA=Y.memo(fS);function HA(e){return Ie(Y.useCallback(i=>{if(!e)return i.edges.map(o=>o.id);const l=[];if(i.width&&i.height)for(const o of i.edges){const s=i.nodeLookup.get(o.source),u=i.nodeLookup.get(o.target);s&&u&&DT({sourceNode:s,targetNode:u,width:i.width,height:i.height,transform:i.transform})&&l.push(o.id)}return l},[e]),dt)}const BA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return b.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},qA=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return b.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Tv={[Qu.Arrow]:BA,[Qu.ArrowClosed]:qA};function UA(e){const n=ht();return Y.useMemo(()=>{var o,s;return Object.prototype.hasOwnProperty.call(Tv,e)?Tv[e]:((s=(o=n.getState()).onError)==null||s.call(o,"009",tr.error009(e)),null)},[e])}const IA=({id:e,type:n,color:i,width:l=12.5,height:o=12.5,markerUnits:s="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const d=UA(n);return d?b.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:f,refX:"0",refY:"0",children:b.jsx(d,{color:i,strokeWidth:u})}):null},dS=({defaultColor:e,rfId:n})=>{const i=Ie(s=>s.edges),l=Ie(s=>s.defaultEdgeOptions),o=Y.useMemo(()=>VT(i,{id:n,defaultColor:e,defaultMarkerStart:l==null?void 0:l.markerStart,defaultMarkerEnd:l==null?void 0:l.markerEnd}),[i,l,n,e]);return o.length?b.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:b.jsx("defs",{children:o.map(s=>b.jsx(IA,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};dS.displayName="MarkerDefinitions";var VA=Y.memo(dS);function hS({x:e,y:n,label:i,labelStyle:l,labelShowBg:o=!0,labelBgStyle:s,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:d,className:h,...m}){const[p,x]=Y.useState({x:1,y:0,width:0,height:0}),v=Tt(["react-flow__edge-textwrapper",h]),w=Y.useRef(null);return Y.useEffect(()=>{if(w.current){const k=w.current.getBBox();x({x:k.x,y:k.y,width:k.width,height:k.height})}},[i]),i?b.jsxs("g",{transform:`translate(${e-p.width/2} ${n-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[o&&b.jsx("rect",{width:p.width+2*u[0],x:-u[0],y:-u[1],height:p.height+2*u[1],className:"react-flow__edge-textbg",style:s,rx:f,ry:f}),b.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:l,children:i}),d]}):null}hS.displayName="EdgeText";const YA=Y.memo(hS);function $o({path:e,labelX:n,labelY:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d,interactionWidth:h=20,...m}){return b.jsxs(b.Fragment,{children:[b.jsx("path",{...m,d:e,fill:"none",className:Tt(["react-flow__edge-path",m.className])}),h?b.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&Bn(n)&&Bn(i)?b.jsx(YA,{x:n,y:i,label:l,labelStyle:o,labelShowBg:s,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:d}):null]})}function zv({pos:e,x1:n,y1:i,x2:l,y2:o}){return e===we.Left||e===we.Right?[.5*(n+l),i]:[n,.5*(i+o)]}function pS({sourceX:e,sourceY:n,sourcePosition:i=we.Bottom,targetX:l,targetY:o,targetPosition:s=we.Top}){const[u,f]=zv({pos:i,x1:e,y1:n,x2:l,y2:o}),[d,h]=zv({pos:s,x1:l,y1:o,x2:e,y2:n}),[m,p,x,v]=Hw({sourceX:e,sourceY:n,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${n} C${u},${f} ${d},${h} ${l},${o}`,m,p,x,v]}function mS(e){return Y.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:x,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})=>{const[z,_,A]=pS({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f}),B=e.isInternal?void 0:n;return b.jsx($o,{id:B,path:z,labelX:_,labelY:A,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:x,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:E})})}const GA=mS({isInternal:!1}),gS=mS({isInternal:!0});GA.displayName="SimpleBezierEdge";gS.displayName="SimpleBezierEdgeInternal";function yS(e){return Y.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:x,sourcePosition:v=we.Bottom,targetPosition:w=we.Top,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,A,B]=Ep({sourceX:i,sourceY:l,sourcePosition:v,targetX:o,targetY:s,targetPosition:w,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),T=e.isInternal?void 0:n;return b.jsx($o,{id:T,path:_,labelX:A,labelY:B,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:x,markerEnd:k,markerStart:S,interactionWidth:z})})}const xS=yS({isInternal:!1}),vS=yS({isInternal:!0});xS.displayName="SmoothStepEdge";vS.displayName="SmoothStepEdgeInternal";function bS(e){return Y.memo(({id:n,...i})=>{var o;const l=e.isInternal?void 0:n;return b.jsx(xS,{...i,id:l,pathOptions:Y.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(o=i.pathOptions)==null?void 0:o.offset])})})}const $A=bS({isInternal:!1}),wS=bS({isInternal:!0});$A.displayName="StepEdge";wS.displayName="StepEdgeInternal";function SS(e){return Y.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:x,markerEnd:v,markerStart:w,interactionWidth:k})=>{const[S,E,z]=qw({sourceX:i,sourceY:l,targetX:o,targetY:s}),_=e.isInternal?void 0:n;return b.jsx($o,{id:_,path:S,labelX:E,labelY:z,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:p,style:x,markerEnd:v,markerStart:w,interactionWidth:k})})}const XA=SS({isInternal:!1}),_S=SS({isInternal:!0});XA.displayName="StraightEdge";_S.displayName="StraightEdgeInternal";function ES(e){return Y.memo(({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u=we.Bottom,targetPosition:f=we.Top,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:x,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,pathOptions:E,interactionWidth:z})=>{const[_,A,B]=em({sourceX:i,sourceY:l,sourcePosition:u,targetX:o,targetY:s,targetPosition:f,curvature:E==null?void 0:E.curvature}),T=e.isInternal?void 0:n;return b.jsx($o,{id:T,path:_,labelX:A,labelY:B,label:d,labelStyle:h,labelShowBg:m,labelBgStyle:p,labelBgPadding:x,labelBgBorderRadius:v,style:w,markerEnd:k,markerStart:S,interactionWidth:z})})}const FA=ES({isInternal:!1}),NS=ES({isInternal:!0});FA.displayName="BezierEdge";NS.displayName="BezierEdgeInternal";const Av={default:NS,straight:_S,step:wS,smoothstep:vS,simplebezier:gS},Mv={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},PA=(e,n,i)=>i===we.Left?e-n:i===we.Right?e+n:e,QA=(e,n,i)=>i===we.Top?e-n:i===we.Bottom?e+n:e,jv="react-flow__edgeupdater";function Ov({position:e,centerX:n,centerY:i,radius:l=10,onMouseDown:o,onMouseEnter:s,onMouseOut:u,type:f}){return b.jsx("circle",{onMouseDown:o,onMouseEnter:s,onMouseOut:u,className:Tt([jv,`${jv}-${f}`]),cx:PA(n,l,e),cy:QA(i,l,e),r:l,stroke:"transparent",fill:"transparent"})}function ZA({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:l,sourceY:o,targetX:s,targetY:u,sourcePosition:f,targetPosition:d,onReconnect:h,onReconnectStart:m,onReconnectEnd:p,setReconnecting:x,setUpdateHover:v}){const w=ht(),k=(A,B)=>{if(A.button!==0)return;const{autoPanOnConnect:T,domNode:q,connectionMode:M,connectionRadius:R,lib:X,onConnectStart:H,cancelConnection:I,nodeLookup:ee,rfId:L,panBy:G,updateConnection:D}=w.getState(),$=B.type==="target",Z=(U,F)=>{x(!1),p==null||p(U,i,B.type,F)},J=U=>h==null?void 0:h(i,U),j=(U,F)=>{x(!0),m==null||m(A,i,B.type),H==null||H(U,F)};Cp.onPointerDown(A.nativeEvent,{autoPanOnConnect:T,connectionMode:M,connectionRadius:R,domNode:q,handleId:B.id,nodeId:B.nodeId,nodeLookup:ee,isTarget:$,edgeUpdaterType:B.type,lib:X,flowId:L,cancelConnection:I,panBy:G,isValidConnection:(...U)=>{var F,N;return((N=(F=w.getState()).isValidConnection)==null?void 0:N.call(F,...U))??!0},onConnect:J,onConnectStart:j,onConnectEnd:(...U)=>{var F,N;return(N=(F=w.getState()).onConnectEnd)==null?void 0:N.call(F,...U)},onReconnectEnd:Z,updateConnection:D,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:A.currentTarget})},S=A=>k(A,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),E=A=>k(A,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),z=()=>v(!0),_=()=>v(!1);return b.jsxs(b.Fragment,{children:[(e===!0||e==="source")&&b.jsx(Ov,{position:f,centerX:l,centerY:o,radius:n,onMouseDown:S,onMouseEnter:z,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&b.jsx(Ov,{position:d,centerX:s,centerY:u,radius:n,onMouseDown:E,onMouseEnter:z,onMouseOut:_,type:"target"})]})}function KA({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:l,onClick:o,onDoubleClick:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,reconnectRadius:m,onReconnect:p,onReconnectStart:x,onReconnectEnd:v,rfId:w,edgeTypes:k,noPanClassName:S,onError:E,disableKeyboardA11y:z}){let _=Ie(ye=>ye.edgeLookup.get(e));const A=Ie(ye=>ye.defaultEdgeOptions);_=A?{...A,..._}:_;let B=_.type||"default",T=(k==null?void 0:k[B])||Av[B];T===void 0&&(E==null||E("011",tr.error011(B)),B="default",T=(k==null?void 0:k.default)||Av.default);const q=!!(_.focusable||n&&typeof _.focusable>"u"),M=typeof p<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),R=!!(_.selectable||l&&typeof _.selectable>"u"),X=Y.useRef(null),[H,I]=Y.useState(!1),[ee,L]=Y.useState(!1),G=ht(),{zIndex:D,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:F}=Ie(Y.useCallback(ye=>{const he=ye.nodeLookup.get(_.source),_e=ye.nodeLookup.get(_.target);if(!he||!_e)return{zIndex:_.zIndex,...Mv};const Me=IT({id:e,sourceNode:he,targetNode:_e,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:ye.connectionMode,onError:E});return{zIndex:OT({selected:_.selected,zIndex:_.zIndex,sourceNode:he,targetNode:_e,elevateOnSelect:ye.elevateEdgesOnSelect,zIndexMode:ye.zIndexMode}),...Me||Mv}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),dt),N=Y.useMemo(()=>_.markerStart?`url('#${Np(_.markerStart,w)}')`:void 0,[_.markerStart,w]),V=Y.useMemo(()=>_.markerEnd?`url('#${Np(_.markerEnd,w)}')`:void 0,[_.markerEnd,w]);if(_.hidden||$===null||Z===null||J===null||j===null)return null;const P=ye=>{var Ce;const{addSelectedEdges:he,unselectNodesAndEdges:_e,multiSelectionActive:Me}=G.getState();R&&(G.setState({nodesSelectionActive:!1}),_.selected&&Me?(_e({nodes:[],edges:[_]}),(Ce=X.current)==null||Ce.blur()):he([e])),o&&o(ye,_)},K=s?ye=>{s(ye,{..._})}:void 0,ne=u?ye=>{u(ye,{..._})}:void 0,re=f?ye=>{f(ye,{..._})}:void 0,se=d?ye=>{d(ye,{..._})}:void 0,ge=h?ye=>{h(ye,{..._})}:void 0,ve=ye=>{var he;if(!z&&_w.includes(ye.key)&&R){const{unselectNodesAndEdges:_e,addSelectedEdges:Me}=G.getState();ye.key==="Escape"?((he=X.current)==null||he.blur(),_e({edges:[_]})):Me([e])}};return b.jsx("svg",{style:{zIndex:D},children:b.jsxs("g",{className:Tt(["react-flow__edge",`react-flow__edge-${B}`,_.className,S,{selected:_.selected,animated:_.animated,inactive:!R&&!o,updating:H,selectable:R}]),onClick:P,onDoubleClick:K,onContextMenu:ne,onMouseEnter:re,onMouseMove:se,onMouseLeave:ge,onKeyDown:q?ve:void 0,tabIndex:q?0:void 0,role:_.ariaRole??(q?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":q?`${eS}-${w}`:void 0,ref:X,..._.domAttributes,children:[!ee&&b.jsx(T,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:R,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:F,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:N,markerEnd:V,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),M&&b.jsx(ZA,{edge:_,isReconnectable:M,reconnectRadius:m,onReconnect:p,onReconnectStart:x,onReconnectEnd:v,sourceX:$,sourceY:Z,targetX:J,targetY:j,sourcePosition:U,targetPosition:F,setUpdateHover:I,setReconnecting:L})]})})}var JA=Y.memo(KA);const WA=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function kS({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:l,noPanClassName:o,onReconnect:s,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:x,onReconnectStart:v,onReconnectEnd:w,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,onError:_}=Ie(WA,dt),A=HA(n);return b.jsxs("div",{className:"react-flow__edges",children:[b.jsx(VA,{defaultColor:e,rfId:i}),A.map(B=>b.jsx(JA,{id:B,edgesFocusable:S,edgesReconnectable:E,elementsSelectable:z,noPanClassName:o,onReconnect:s,onContextMenu:u,onMouseEnter:f,onMouseMove:d,onMouseLeave:h,onClick:m,reconnectRadius:p,onDoubleClick:x,onReconnectStart:v,onReconnectEnd:w,rfId:i,onError:_,edgeTypes:l,disableKeyboardA11y:k},B))]})}kS.displayName="EdgeRenderer";const eM=Y.memo(kS),tM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function nM({children:e}){const n=Ie(tM);return b.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function rM(e){const n=Go(),i=Y.useRef(!1);Y.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const iM=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function lM(e){const n=Ie(iM),i=ht();return Y.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function aM(e){return e.connection.inProgress?{...e.connection,to:Yo(e.connection.to,e.transform)}:{...e.connection}}function oM(e){return aM}function sM(e){const n=oM();return Ie(n,dt)}const uM=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function cM({containerStyle:e,style:n,type:i,component:l}){const{nodesConnectable:o,width:s,height:u,isValid:f,inProgress:d}=Ie(uM,dt);return!(s&&o&&d)?null:b.jsx("svg",{style:e,width:s,height:u,className:"react-flow__connectionline react-flow__container",children:b.jsx("g",{className:Tt(["react-flow__connection",kw(f)]),children:b.jsx(CS,{style:n,type:i,CustomComponent:l,isValid:f})})})}const CS=({style:e,type:n=fi.Bezier,CustomComponent:i,isValid:l})=>{const{inProgress:o,from:s,fromNode:u,fromHandle:f,fromPosition:d,to:h,toNode:m,toHandle:p,toPosition:x,pointer:v}=sM();if(!o)return;if(i)return b.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:s.x,fromY:s.y,toX:h.x,toY:h.y,fromPosition:d,toPosition:x,connectionStatus:kw(l),toNode:m,toHandle:p,pointer:v});let w="";const k={sourceX:s.x,sourceY:s.y,sourcePosition:d,targetX:h.x,targetY:h.y,targetPosition:x};switch(n){case fi.Bezier:[w]=em(k);break;case fi.SimpleBezier:[w]=pS(k);break;case fi.Step:[w]=Ep({...k,borderRadius:0});break;case fi.SmoothStep:[w]=Ep(k);break;default:[w]=qw(k)}return b.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};CS.displayName="ConnectionLine";const fM={};function Dv(e=fM){Y.useRef(e),ht(),Y.useEffect(()=>{},[e])}function dM(){ht(),Y.useRef(!1),Y.useEffect(()=>{},[])}function TS({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:x,onSelectionEnd:v,connectionLineType:w,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:E,selectionKeyCode:z,selectionOnDrag:_,selectionMode:A,multiSelectionKeyCode:B,panActivationKeyCode:T,zoomActivationKeyCode:q,deleteKeyCode:M,onlyRenderVisibleElements:R,elementsSelectable:X,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,preventScrolling:G,defaultMarkerColor:D,zoomOnScroll:$,zoomOnPinch:Z,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:F,panOnDrag:N,onPaneClick:V,onPaneMouseEnter:P,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneScroll:re,onPaneContextMenu:se,paneClickDistance:ge,nodeClickDistance:ve,onEdgeContextMenu:ye,onEdgeMouseEnter:he,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:bn,disableKeyboardA11y:An,nodeExtent:At,rfId:Mr,viewport:ue,onViewportChange:me}){return Dv(e),Dv(n),dM(),rM(i),lM(ue),b.jsx(CA,{onPaneClick:V,onPaneMouseEnter:P,onPaneMouseMove:K,onPaneMouseLeave:ne,onPaneContextMenu:se,onPaneScroll:re,paneClickDistance:ge,deleteKeyCode:M,selectionKeyCode:z,selectionOnDrag:_,selectionMode:A,onSelectionStart:x,onSelectionEnd:v,multiSelectionKeyCode:B,panActivationKeyCode:T,zoomActivationKeyCode:q,elementsSelectable:X,zoomOnScroll:$,zoomOnPinch:Z,zoomOnDoubleClick:F,panOnScroll:J,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:N,defaultViewport:H,translateExtent:I,minZoom:ee,maxZoom:L,onSelectionContextMenu:p,preventScrolling:G,noDragClassName:Ut,noWheelClassName:Dt,noPanClassName:bn,disableKeyboardA11y:An,onViewportChange:me,isControlledViewport:!!ue,children:b.jsxs(nM,{children:[b.jsx(eM,{edgeTypes:n,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:st,onReconnectStart:We,onReconnectEnd:zt,onlyRenderVisibleElements:R,onEdgeContextMenu:ye,onEdgeMouseEnter:he,onEdgeMouseMove:_e,onEdgeMouseLeave:Me,reconnectRadius:Ce,defaultMarkerColor:D,noPanClassName:bn,disableKeyboardA11y:An,rfId:Mr}),b.jsx(cM,{style:k,type:w,component:S,containerStyle:E}),b.jsx("div",{className:"react-flow__edgelabel-renderer"}),b.jsx(LA,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:s,onNodeMouseEnter:f,onNodeMouseMove:d,onNodeMouseLeave:h,onNodeContextMenu:m,nodeClickDistance:ve,onlyRenderVisibleElements:R,noPanClassName:bn,noDragClassName:Ut,disableKeyboardA11y:An,nodeExtent:At,rfId:Mr}),b.jsx("div",{className:"react-flow__viewport-portal"})]})})}TS.displayName="GraphView";const hM=Y.memo(TS),Rv=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d=.5,maxZoom:h=2,nodeOrigin:m,nodeExtent:p,zIndexMode:x="basic"}={})=>{const v=new Map,w=new Map,k=new Map,S=new Map,E=l??n??[],z=i??e??[],_=m??[0,0],A=p??zo;Vw(k,S,E);const B=kp(z,v,w,{nodeOrigin:_,nodeExtent:A,zIndexMode:x});let T=[0,0,1];if(u&&o&&s){const q=Io(v,{filter:H=>!!((H.width||H.initialWidth)&&(H.height||H.initialHeight))}),{x:M,y:R,zoom:X}=Jp(q,o,s,d,h,(f==null?void 0:f.padding)??.1);T=[M,R,X]}return{rfId:"1",width:o??0,height:s??0,transform:T,nodes:z,nodesInitialized:B,nodeLookup:v,parentLookup:w,edges:E,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:d,maxZoom:h,translateExtent:zo,nodeExtent:A,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Jl.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:_,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...Nw},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:CT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Ew,zIndexMode:x,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},pM=({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,zIndexMode:x})=>Mz((v,w)=>{async function k(){const{nodeLookup:S,panZoom:E,fitViewOptions:z,fitViewResolver:_,width:A,height:B,minZoom:T,maxZoom:q}=w();E&&(await NT({nodes:S,width:A,height:B,panZoom:E,minZoom:T,maxZoom:q},z),_==null||_.resolve(!0),v({fitViewResolver:null}))}return{...Rv({nodes:e,edges:n,width:o,height:s,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:m,nodeExtent:p,defaultNodes:i,defaultEdges:l,zIndexMode:x}),setNodes:S=>{const{nodeLookup:E,parentLookup:z,nodeOrigin:_,elevateNodesOnSelect:A,fitViewQueued:B,zIndexMode:T}=w(),q=kp(S,E,z,{nodeOrigin:_,nodeExtent:p,elevateNodesOnSelect:A,checkEquality:!0,zIndexMode:T});B&&q?(k(),v({nodes:S,nodesInitialized:q,fitViewQueued:!1,fitViewOptions:void 0})):v({nodes:S,nodesInitialized:q})},setEdges:S=>{const{connectionLookup:E,edgeLookup:z}=w();Vw(E,z,S),v({edges:S})},setDefaultNodesAndEdges:(S,E)=>{if(S){const{setNodes:z}=w();z(S),v({hasDefaultNodes:!0})}if(E){const{setEdges:z}=w();z(E),v({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:E,nodeLookup:z,parentLookup:_,domNode:A,nodeOrigin:B,nodeExtent:T,debug:q,fitViewQueued:M,zIndexMode:R}=w(),{changes:X,updatedInternals:H}=QT(S,z,_,A,B,T,R);H&&($T(z,_,{nodeOrigin:B,nodeExtent:T,zIndexMode:R}),M?(k(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(X==null?void 0:X.length)>0&&(q&&console.log("React Flow: trigger node changes",X),E==null||E(X)))},updateNodePositions:(S,E=!1)=>{const z=[];let _=[];const{nodeLookup:A,triggerNodeChanges:B,connection:T,updateConnection:q,onNodesChangeMiddlewareMap:M}=w();for(const[R,X]of S){const H=A.get(R),I=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(X!=null&&X.position)),ee={id:R,type:"position",position:I?{x:Math.max(0,X.position.x),y:Math.max(0,X.position.y)}:X.position,dragging:E};if(H&&T.inProgress&&T.fromNode.id===H.id){const L=Xi(H,T.fromHandle,we.Left,!0);q({...T,from:L})}I&&H.parentId&&z.push({id:R,parentId:H.parentId,rect:{...X.internals.positionAbsolute,width:X.measured.width??0,height:X.measured.height??0}}),_.push(ee)}if(z.length>0){const{parentLookup:R,nodeOrigin:X}=w(),H=lm(z,A,R,X);_.push(...H)}for(const R of M.values())_=R(_);B(_)},triggerNodeChanges:S=>{const{onNodesChange:E,setNodes:z,nodes:_,hasDefaultNodes:A,debug:B}=w();if(S!=null&&S.length){if(A){const T=rS(S,_);z(T)}B&&console.log("React Flow: trigger node changes",S),E==null||E(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:E,setEdges:z,edges:_,hasDefaultEdges:A,debug:B}=w();if(S!=null&&S.length){if(A){const T=iS(S,_);z(T)}B&&console.log("React Flow: trigger edge changes",S),E==null||E(S)}},addSelectedNodes:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:A,triggerEdgeChanges:B}=w();if(E){const T=S.map(q=>Ri(q,!0));A(T);return}A(Vl(_,new Set([...S]),!0)),B(Vl(z))},addSelectedEdges:S=>{const{multiSelectionActive:E,edgeLookup:z,nodeLookup:_,triggerNodeChanges:A,triggerEdgeChanges:B}=w();if(E){const T=S.map(q=>Ri(q,!0));B(T);return}B(Vl(z,new Set([...S]))),A(Vl(_,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:E}={})=>{const{edges:z,nodes:_,nodeLookup:A,triggerNodeChanges:B,triggerEdgeChanges:T}=w(),q=S||_,M=E||z,R=[];for(const H of q){if(!H.selected)continue;const I=A.get(H.id);I&&(I.selected=!1),R.push(Ri(H.id,!1))}const X=[];for(const H of M)H.selected&&X.push(Ri(H.id,!1));B(R),T(X)},setMinZoom:S=>{const{panZoom:E,maxZoom:z}=w();E==null||E.setScaleExtent([S,z]),v({minZoom:S})},setMaxZoom:S=>{const{panZoom:E,minZoom:z}=w();E==null||E.setScaleExtent([z,S]),v({maxZoom:S})},setTranslateExtent:S=>{var E;(E=w().panZoom)==null||E.setTranslateExtent(S),v({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:E,triggerNodeChanges:z,triggerEdgeChanges:_,elementsSelectable:A}=w();if(!A)return;const B=E.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]),T=S.reduce((q,M)=>M.selected?[...q,Ri(M.id,!1)]:q,[]);z(B),_(T)},setNodeExtent:S=>{const{nodes:E,nodeLookup:z,parentLookup:_,nodeOrigin:A,elevateNodesOnSelect:B,nodeExtent:T,zIndexMode:q}=w();S[0][0]===T[0][0]&&S[0][1]===T[0][1]&&S[1][0]===T[1][0]&&S[1][1]===T[1][1]||(kp(E,z,_,{nodeOrigin:A,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:q}),v({nodeExtent:S}))},panBy:S=>{const{transform:E,width:z,height:_,panZoom:A,translateExtent:B}=w();return ZT({delta:S,panZoom:A,transform:E,translateExtent:B,width:z,height:_})},setCenter:async(S,E,z)=>{const{width:_,height:A,maxZoom:B,panZoom:T}=w();if(!T)return Promise.resolve(!1);const q=typeof(z==null?void 0:z.zoom)<"u"?z.zoom:B;return await T.setViewport({x:_/2-S*q,y:A/2-E*q,zoom:q},{duration:z==null?void 0:z.duration,ease:z==null?void 0:z.ease,interpolate:z==null?void 0:z.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{v({connection:{...Nw}})},updateConnection:S=>{v({connection:S})},reset:()=>v({...Rv()})}},Object.is);function mM({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:l,initialWidth:o,initialHeight:s,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:d,fitView:h,nodeOrigin:m,nodeExtent:p,zIndexMode:x,children:v}){const[w]=Y.useState(()=>pM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,width:o,height:s,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:d,nodeOrigin:m,nodeExtent:p,zIndexMode:x}));return b.jsx(Oz,{value:w,children:b.jsx(nA,{children:v})})}function gM({children:e,nodes:n,edges:i,defaultNodes:l,defaultEdges:o,width:s,height:u,fitView:f,fitViewOptions:d,minZoom:h,maxZoom:m,nodeOrigin:p,nodeExtent:x,zIndexMode:v}){return Y.useContext(mc)?b.jsx(b.Fragment,{children:e}):b.jsx(mM,{initialNodes:n,initialEdges:i,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:u,fitView:f,initialFitViewOptions:d,initialMinZoom:h,initialMaxZoom:m,nodeOrigin:p,nodeExtent:x,zIndexMode:v,children:e})}const yM={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function xM({nodes:e,edges:n,defaultNodes:i,defaultEdges:l,className:o,nodeTypes:s,edgeTypes:u,onNodeClick:f,onEdgeClick:d,onInit:h,onMove:m,onMoveStart:p,onMoveEnd:x,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:T,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onSelectionChange:ee,onSelectionDragStart:L,onSelectionDrag:G,onSelectionDragStop:D,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onBeforeDelete:j,connectionMode:U,connectionLineType:F=fi.Bezier,connectionLineStyle:N,connectionLineComponent:V,connectionLineContainerStyle:P,deleteKeyCode:K="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:re=!1,selectionMode:se=Ao.Full,panActivationKeyCode:ge="Space",multiSelectionKeyCode:ve=jo()?"Meta":"Control",zoomActivationKeyCode:ye=jo()?"Meta":"Control",snapToGrid:he,snapGrid:_e,onlyRenderVisibleElements:Me=!1,selectNodesOnDrag:Ce,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,nodeOrigin:Dt=tS,edgesFocusable:bn,edgesReconnectable:An,elementsSelectable:At=!0,defaultViewport:Mr=Xz,minZoom:ue=.5,maxZoom:me=2,translateExtent:Ne=zo,preventScrolling:Re=!0,nodeExtent:Ve,defaultMarkerColor:$t="#b1b1b7",zoomOnScroll:Mn=!0,zoomOnPinch:Rt=!0,panOnScroll:yt=!1,panOnScrollSpeed:It=.5,panOnScrollMode:Ze=Ii.Free,zoomOnDoubleClick:Gn=!0,panOnDrag:on=!0,onPaneClick:wc,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi=1,nodeClickDistance:Sc=0,children:Po,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:_c,onEdgeContextMenu:Qo,onEdgeDoubleClick:Zo,onEdgeMouseEnter:Ko,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Jo=10,onNodesChange:Wo,onEdgesChange:$n,noDragClassName:Mt="nodrag",noWheelClassName:Vt="nowheel",noPanClassName:lr="nopan",fitView:Wi,fitViewOptions:es,connectOnClick:Ec,attributionPosition:ts,proOptions:mi,defaultEdgeOptions:ca,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Or=!1,disableKeyboardA11y:Dr=!1,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:ns,connectionRadius:rs,isValidConnection:ar,onError:Lr,style:Nc,id:fa,nodeDragThreshold:is,connectionDragThreshold:kc,viewport:el,onViewportChange:tl,width:jn,height:Ft,colorMode:ls="light",debug:Cc,onScroll:Hr,ariaLabelConfig:as,zIndexMode:gi="basic",...Tc},Pt){const yi=fa||"1",os=Zz(ls),da=Y.useCallback(or=>{or.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Hr==null||Hr(or)},[Hr]);return b.jsx("div",{"data-testid":"rf__wrapper",...Tc,onScroll:da,style:{...Nc,...yM},ref:Pt,className:Tt(["react-flow",o,os]),id:fa,role:"application",children:b.jsxs(gM,{nodes:e,edges:n,width:jn,height:Ft,fitView:Wi,fitViewOptions:es,minZoom:ue,maxZoom:me,nodeOrigin:Dt,nodeExtent:Ve,zIndexMode:gi,children:[b.jsx(hM,{onInit:h,onNodeClick:f,onEdgeClick:d,onNodeMouseEnter:z,onNodeMouseMove:_,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:T,nodeTypes:s,edgeTypes:u,connectionLineType:F,connectionLineStyle:N,connectionLineComponent:V,connectionLineContainerStyle:P,selectionKeyCode:ne,selectionOnDrag:re,selectionMode:se,deleteKeyCode:K,multiSelectionKeyCode:ve,panActivationKeyCode:ge,zoomActivationKeyCode:ye,onlyRenderVisibleElements:Me,defaultViewport:Mr,translateExtent:Ne,minZoom:ue,maxZoom:me,preventScrolling:Re,zoomOnScroll:Mn,zoomOnPinch:Rt,zoomOnDoubleClick:Gn,panOnScroll:yt,panOnScrollSpeed:It,panOnScrollMode:Ze,panOnDrag:on,onPaneClick:wc,onPaneMouseEnter:Qi,onPaneMouseMove:Zi,onPaneMouseLeave:Ki,onPaneScroll:ir,onPaneContextMenu:Ji,paneClickDistance:hi,nodeClickDistance:Sc,onSelectionContextMenu:$,onSelectionStart:Z,onSelectionEnd:J,onReconnect:oa,onReconnectStart:pi,onReconnectEnd:_c,onEdgeContextMenu:Qo,onEdgeDoubleClick:Zo,onEdgeMouseEnter:Ko,onEdgeMouseMove:sa,onEdgeMouseLeave:ua,reconnectRadius:Jo,defaultMarkerColor:$t,noDragClassName:Mt,noWheelClassName:Vt,noPanClassName:lr,rfId:yi,disableKeyboardA11y:Dr,nodeExtent:Ve,viewport:el,onViewportChange:tl}),b.jsx(Qz,{nodes:e,edges:n,defaultNodes:i,defaultEdges:l,onConnect:v,onConnectStart:w,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:E,nodesDraggable:st,autoPanOnNodeFocus:We,nodesConnectable:zt,nodesFocusable:Ut,edgesFocusable:bn,edgesReconnectable:An,elementsSelectable:At,elevateNodesOnSelect:jr,elevateEdgesOnSelect:Or,minZoom:ue,maxZoom:me,nodeExtent:Ve,onNodesChange:Wo,onEdgesChange:$n,snapToGrid:he,snapGrid:_e,connectionMode:U,translateExtent:Ne,connectOnClick:Ec,defaultEdgeOptions:ca,fitView:Wi,fitViewOptions:es,onNodesDelete:X,onEdgesDelete:H,onDelete:I,onNodeDragStart:q,onNodeDrag:M,onNodeDragStop:R,onSelectionDrag:G,onSelectionDragStart:L,onSelectionDragStop:D,onMove:m,onMoveStart:p,onMoveEnd:x,noPanClassName:lr,nodeOrigin:Dt,rfId:yi,autoPanOnConnect:Rr,autoPanOnNodeDrag:bt,autoPanSpeed:ns,onError:Lr,connectionRadius:rs,isValidConnection:ar,selectNodesOnDrag:Ce,nodeDragThreshold:is,connectionDragThreshold:kc,onBeforeDelete:j,debug:Cc,ariaLabelConfig:as,zIndexMode:gi}),b.jsx($z,{onSelectionChange:ee}),Po,b.jsx(Uz,{proOptions:mi,position:ts}),b.jsx(qz,{rfId:yi,disableKeyboardA11y:Dr})]})})}var vM=lS(xM);const bM=e=>{var n;return(n=e.domNode)==null?void 0:n.querySelector(".react-flow__edgelabel-renderer")};function wM({children:e}){const n=Ie(bM);return n?jz.createPortal(e,n):null}function SM(e){const[n,i]=Y.useState(e),l=Y.useCallback(o=>i(s=>rS(o,s)),[]);return[n,i,l]}function _M(e){const[n,i]=Y.useState(e),l=Y.useCallback(o=>i(s=>iS(o,s)),[]);return[n,i,l]}function EM({dimensions:e,lineWidth:n,variant:i,className:l}){return b.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Tt(["react-flow__background-pattern",i,l])})}function NM({radius:e,className:n}){return b.jsx("circle",{cx:e,cy:e,r:e,className:Tt(["react-flow__background-pattern","dots",n])})}var Tr;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Tr||(Tr={}));const kM={[Tr.Dots]:1,[Tr.Lines]:1,[Tr.Cross]:6},CM=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function zS({id:e,variant:n=Tr.Dots,gap:i=20,size:l,lineWidth:o=1,offset:s=0,color:u,bgColor:f,style:d,className:h,patternClassName:m}){const p=Y.useRef(null),{transform:x,patternId:v}=Ie(CM,dt),w=l||kM[n],k=n===Tr.Dots,S=n===Tr.Cross,E=Array.isArray(i)?i:[i,i],z=[E[0]*x[2]||1,E[1]*x[2]||1],_=w*x[2],A=Array.isArray(s)?s:[s,s],B=S?[_,_]:z,T=[A[0]*x[2]||1+B[0]/2,A[1]*x[2]||1+B[1]/2],q=`${v}${e||""}`;return b.jsxs("svg",{className:Tt(["react-flow__background",h]),style:{...d,...yc,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:p,"data-testid":"rf__background",children:[b.jsx("pattern",{id:q,x:x[0]%z[0],y:x[1]%z[1],width:z[0],height:z[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`,children:k?b.jsx(NM,{radius:_/2,className:m}):b.jsx(EM,{dimensions:B,lineWidth:o,variant:n,className:m})}),b.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${q})`})]})}zS.displayName="Background";const TM=Y.memo(zS);function zM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:b.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function AM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:b.jsx("path",{d:"M0 0h32v4.2H0z"})})}function MM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:b.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function jM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function OM(){return b.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:b.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Cu({children:e,className:n,...i}){return b.jsx("button",{type:"button",className:Tt(["react-flow__controls-button",n]),...i,children:e})}const DM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function AS({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:s,onZoomOut:u,onFitView:f,onInteractiveChange:d,className:h,children:m,position:p="bottom-left",orientation:x="vertical","aria-label":v}){const w=ht(),{isInteractive:k,minZoomReached:S,maxZoomReached:E,ariaLabelConfig:z}=Ie(DM,dt),{zoomIn:_,zoomOut:A,fitView:B}=Go(),T=()=>{_(),s==null||s()},q=()=>{A(),u==null||u()},M=()=>{B(o),f==null||f()},R=()=>{w.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d==null||d(!k)},X=x==="horizontal"?"horizontal":"vertical";return b.jsxs(gc,{className:Tt(["react-flow__controls",X,h]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??z["controls.ariaLabel"],children:[n&&b.jsxs(b.Fragment,{children:[b.jsx(Cu,{onClick:T,className:"react-flow__controls-zoomin",title:z["controls.zoomIn.ariaLabel"],"aria-label":z["controls.zoomIn.ariaLabel"],disabled:E,children:b.jsx(zM,{})}),b.jsx(Cu,{onClick:q,className:"react-flow__controls-zoomout",title:z["controls.zoomOut.ariaLabel"],"aria-label":z["controls.zoomOut.ariaLabel"],disabled:S,children:b.jsx(AM,{})})]}),i&&b.jsx(Cu,{className:"react-flow__controls-fitview",onClick:M,title:z["controls.fitView.ariaLabel"],"aria-label":z["controls.fitView.ariaLabel"],children:b.jsx(MM,{})}),l&&b.jsx(Cu,{className:"react-flow__controls-interactive",onClick:R,title:z["controls.interactive.ariaLabel"],"aria-label":z["controls.interactive.ariaLabel"],children:k?b.jsx(OM,{}):b.jsx(jM,{})}),m]})}AS.displayName="Controls";const RM=Y.memo(AS);function LM({id:e,x:n,y:i,width:l,height:o,style:s,color:u,strokeColor:f,strokeWidth:d,className:h,borderRadius:m,shapeRendering:p,selected:x,onClick:v}){const{background:w,backgroundColor:k}=s||{},S=u||w||k;return b.jsx("rect",{className:Tt(["react-flow__minimap-node",{selected:x},h]),x:n,y:i,rx:m,ry:m,width:l,height:o,style:{fill:S,stroke:f,strokeWidth:d},shapeRendering:p,onClick:v?E=>v(E,e):void 0})}const HM=Y.memo(LM),BM=e=>e.nodes.map(n=>n.id),rh=e=>e instanceof Function?e:()=>e;function qM({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:s=HM,onClick:u}){const f=Ie(BM,dt),d=rh(n),h=rh(e),m=rh(i),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return b.jsx(b.Fragment,{children:f.map(x=>b.jsx(IM,{id:x,nodeColorFunc:d,nodeStrokeColorFunc:h,nodeClassNameFunc:m,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:s,onClick:u,shapeRendering:p},x))})}function UM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:s,shapeRendering:u,NodeComponent:f,onClick:d}){const{node:h,x:m,y:p,width:x,height:v}=Ie(w=>{const k=w.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:E,y:z}=k.internals.positionAbsolute,{width:_,height:A}=Ar(S);return{node:S,x:E,y:z,width:_,height:A}},dt);return!h||h.hidden||!jw(h)?null:b.jsx(f,{x:m,y:p,width:x,height:v,style:h.style,selected:!!h.selected,className:l(h),color:n(h),borderRadius:o,strokeColor:i(h),strokeWidth:s,shapeRendering:u,onClick:d,id:h.id})}const IM=Y.memo(UM);var VM=Y.memo(qM);const YM=200,GM=150,$M=e=>!e.hidden,XM=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?Mw(Io(e.nodeLookup,{filter:$M}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},FM="react-flow__minimap-desc";function MS({style:e,className:n,nodeStrokeColor:i,nodeColor:l,nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:d,maskColor:h,maskStrokeColor:m,maskStrokeWidth:p,position:x="bottom-right",onClick:v,onNodeClick:w,pannable:k=!1,zoomable:S=!1,ariaLabel:E,inversePan:z,zoomStep:_=1,offsetScale:A=5}){const B=ht(),T=Y.useRef(null),{boundingRect:q,viewBB:M,rfId:R,panZoom:X,translateExtent:H,flowWidth:I,flowHeight:ee,ariaLabelConfig:L}=Ie(XM,dt),G=(e==null?void 0:e.width)??YM,D=(e==null?void 0:e.height)??GM,$=q.width/G,Z=q.height/D,J=Math.max($,Z),j=J*G,U=J*D,F=A*J,N=q.x-(j-q.width)/2-F,V=q.y-(U-q.height)/2-F,P=j+F*2,K=U+F*2,ne=`${FM}-${R}`,re=Y.useRef(0),se=Y.useRef();re.current=J,Y.useEffect(()=>{if(T.current&&X)return se.current=lz({domNode:T.current,panZoom:X,getTransform:()=>B.getState().transform,getViewScale:()=>re.current}),()=>{var he;(he=se.current)==null||he.destroy()}},[X]),Y.useEffect(()=>{var he;(he=se.current)==null||he.update({translateExtent:H,width:I,height:ee,inversePan:z,pannable:k,zoomStep:_,zoomable:S})},[k,S,z,_,H,I,ee]);const ge=v?he=>{var Ce;const[_e,Me]=((Ce=se.current)==null?void 0:Ce.pointer(he))||[0,0];v(he,{x:_e,y:Me})}:void 0,ve=w?Y.useCallback((he,_e)=>{const Me=B.getState().nodeLookup.get(_e).internals.userNode;w(he,Me)},[]):void 0,ye=E??L["minimap.ariaLabel"];return b.jsx(gc,{position:x,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*J:void 0,"--xy-minimap-node-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-node-stroke-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-width-props":typeof u=="number"?u:void 0},className:Tt(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:b.jsxs("svg",{width:G,height:D,viewBox:`${N} ${V} ${P} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:T,onClick:ge,children:[ye&&b.jsx("title",{id:ne,children:ye}),b.jsx(VM,{onClick:ve,nodeColor:l,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),b.jsx("path",{className:"react-flow__minimap-mask",d:`M${N-F},${V-F}h${P+F*2}v${K+F*2}h${-P-F*2}z + M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}MS.displayName="MiniMap";const PM=Y.memo(MS),QM=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,ZM={[na.Line]:"right",[na.Handle]:"bottom-right"};function KM({nodeId:e,position:n,variant:i=na.Handle,className:l,style:o=void 0,children:s,color:u,minWidth:f=10,minHeight:d=10,maxWidth:h=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:x,autoScale:v=!0,shouldResize:w,onResizeStart:k,onResize:S,onResizeEnd:E}){const z=uS(),_=typeof e=="string"?e:z,A=ht(),B=Y.useRef(null),T=i===na.Handle,q=Ie(Y.useCallback(QM(T&&v),[T,v]),dt),M=Y.useRef(null),R=n??ZM[i];Y.useEffect(()=>{if(!(!B.current||!_))return M.current||(M.current=vz({domNode:B.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,domNode:D}=A.getState();return{nodeLookup:H,transform:I,snapGrid:ee,snapToGrid:L,nodeOrigin:G,paneDomNode:D}},onChange:(H,I)=>{const{triggerNodeChanges:ee,nodeLookup:L,parentLookup:G,nodeOrigin:D}=A.getState(),$=[],Z={x:H.x,y:H.y},J=L.get(_);if(J&&J.expandParent&&J.parentId){const j=J.origin??D,U=H.width??J.measured.width??0,F=H.height??J.measured.height??0,N={id:J.id,parentId:J.parentId,rect:{width:U,height:F,...Ow({x:H.x??J.position.x,y:H.y??J.position.y},{width:U,height:F},J.parentId,L,j)}},V=lm([N],L,G,D);$.push(...V),Z.x=H.x?Math.max(j[0]*U,H.x):void 0,Z.y=H.y?Math.max(j[1]*F,H.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const j={id:_,type:"position",position:{...Z}};$.push(j)}if(H.width!==void 0&&H.height!==void 0){const U={id:_,type:"dimensions",resizing:!0,setAttributes:x?x==="horizontal"?"width":"height":!0,dimensions:{width:H.width,height:H.height}};$.push(U)}for(const j of I){const U={...j,type:"position"};$.push(U)}ee($)},onEnd:({width:H,height:I})=>{const ee={id:_,type:"dimensions",resizing:!1,dimensions:{width:H,height:I}};A.getState().triggerNodeChanges([ee])}})),M.current.update({controlPosition:R,boundaries:{minWidth:f,minHeight:d,maxWidth:h,maxHeight:m},keepAspectRatio:p,resizeDirection:x,onResizeStart:k,onResize:S,onResizeEnd:E,shouldResize:w}),()=>{var H;(H=M.current)==null||H.destroy()}},[R,f,d,h,m,p,k,S,E,w]);const X=R.split("-");return b.jsx("div",{className:Tt(["react-flow__resize-control","nodrag",...X,i,l]),ref:B,style:{...o,scale:q,...u&&{[T?"backgroundColor":"borderColor"]:u}},children:s})}Y.memo(KM);var ih,Lv;function om(){if(Lv)return ih;Lv=1;var e="\0",n="\0",i="";class l{constructor(m){Nt(this,"_isDirected",!0);Nt(this,"_isMultigraph",!1);Nt(this,"_isCompound",!1);Nt(this,"_label");Nt(this,"_defaultNodeLabelFn",()=>{});Nt(this,"_defaultEdgeLabelFn",()=>{});Nt(this,"_nodes",{});Nt(this,"_in",{});Nt(this,"_preds",{});Nt(this,"_out",{});Nt(this,"_sucs",{});Nt(this,"_edgeObjs",{});Nt(this,"_edgeLabels",{});Nt(this,"_nodeCount",0);Nt(this,"_edgeCount",0);Nt(this,"_parent");Nt(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[n]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var x=arguments,v=this;return m.forEach(function(w){x.length>1?v.setNode(w,p):v.setNode(w)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=n,this._children[m]={},this._children[n][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var x=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(x),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(x),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=n;else{p+="";for(var x=p;x!==void 0;x=this.parent(x))if(x===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==n)return p}}children(m=n){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===n)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var x of this.successors(m))v.add(x);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var x=this;Object.entries(this._nodes).forEach(function([k,S]){m(k)&&p.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){p.hasNode(k.v)&&p.hasNode(k.w)&&p.setEdge(k,x.edge(k))});var v={};function w(k){var S=x.parent(k);return S===void 0||p.hasNode(S)?(v[k]=S,S):S in v?v[S]:w(S)}return this._isCompound&&p.nodes().forEach(k=>p.setParent(k,w(k))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var x=this,v=arguments;return m.reduce(function(w,k){return v.length>1?x.setEdge(w,k,p):x.setEdge(w,k),k}),this}setEdge(){var m,p,x,v,w=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(m=k.v,p=k.w,x=k.name,arguments.length===2&&(v=arguments[1],w=!0)):(m=k,p=arguments[1],x=arguments[3],arguments.length>2&&(v=arguments[2],w=!0)),m=""+m,p=""+p,x!==void 0&&(x=""+x);var S=u(this._isDirected,m,p,x);if(Object.hasOwn(this._edgeLabels,S))return w&&(this._edgeLabels[S]=v),this;if(x!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[S]=w?v:this._defaultEdgeLabelFn(m,p,x);var E=f(this._isDirected,m,p,x);return m=E.v,p=E.w,Object.freeze(E),this._edgeObjs[S]=E,o(this._preds[p],m),o(this._sucs[m],p),this._in[p][S]=E,this._out[m][S]=E,this._edgeCount++,this}edge(m,p,x){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,x);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,x){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,x);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,x){var v=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,m,p,x),w=this._edgeObjs[v];return w&&(m=w.v,p=w.w,delete this._edgeLabels[v],delete this._edgeObjs[v],s(this._preds[p],m),s(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var x=this._in[m];if(x){var v=Object.values(x);return p?v.filter(w=>w.v===p):v}}outEdges(m,p){var x=this._out[m];if(x){var v=Object.values(x);return p?v.filter(w=>w.w===p):v}}nodeEdges(m,p){var x=this.inEdges(m,p);if(x)return x.concat(this.outEdges(m,p))}}function o(h,m){h[m]?h[m]++:h[m]=1}function s(h,m){--h[m]||delete h[m]}function u(h,m,p,x){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}return v+i+w+i+(x===void 0?e:x)}function f(h,m,p,x){var v=""+m,w=""+p;if(!h&&v>w){var k=v;v=w,w=k}var S={v,w};return x&&(S.name=x),S}function d(h,m){return u(h,m.v,m.w,m.name)}return ih=l,ih}var lh,Hv;function JM(){return Hv||(Hv=1,lh="2.2.4"),lh}var ah,Bv;function WM(){return Bv||(Bv=1,ah={Graph:om(),version:JM()}),ah}var oh,qv;function e4(){if(qv)return oh;qv=1;var e=om();oh={write:n,read:o};function n(s){var u={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:l(s)};return s.graph()!==void 0&&(u.value=structuredClone(s.graph())),u}function i(s){return s.nodes().map(function(u){var f=s.node(u),d=s.parent(u),h={v:u};return f!==void 0&&(h.value=f),d!==void 0&&(h.parent=d),h})}function l(s){return s.edges().map(function(u){var f=s.edge(u),d={v:u.v,w:u.w};return u.name!==void 0&&(d.name=u.name),f!==void 0&&(d.value=f),d})}function o(s){var u=new e(s.options).setGraph(s.value);return s.nodes.forEach(function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),s.edges.forEach(function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return oh}var sh,Uv;function t4(){if(Uv)return sh;Uv=1,sh=e;function e(n){var i={},l=[],o;function s(u){Object.hasOwn(i,u)||(i[u]=!0,o.push(u),n.successors(u).forEach(s),n.predecessors(u).forEach(s))}return n.nodes().forEach(function(u){o=[],s(u),o.length&&l.push(o)}),l}return sh}var uh,Iv;function jS(){if(Iv)return uh;Iv=1;class e{constructor(){Nt(this,"_arr",[]);Nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(i){return i.key})}has(i){return Object.hasOwn(this._keyIndices,i)}priority(i){var l=this._keyIndices[i];if(l!==void 0)return this._arr[l].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(i,l){var o=this._keyIndices;if(i=String(i),!Object.hasOwn(o,i)){var s=this._arr,u=s.length;return o[i]=u,s.push({key:i,priority:l}),this._decrease(u),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key}decrease(i,l){var o=this._keyIndices[i];if(l>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+l);this._arr[o].priority=l,this._decrease(o)}_heapify(i){var l=this._arr,o=2*i,s=o+1,u=i;o>1,!(l[s].priority1;function i(o,s,u,f){return l(o,String(s),u||n,f||function(d){return o.outEdges(d)})}function l(o,s,u,f){var d={},h=new e,m,p,x=function(v){var w=v.v!==m?v.v:v.w,k=d[w],S=u(v),E=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);E0&&(m=h.removeMin(),p=d[m],p.distance!==Number.POSITIVE_INFINITY);)f(m).forEach(x);return d}return ch}var fh,Yv;function n4(){if(Yv)return fh;Yv=1;var e=OS();fh=n;function n(i,l,o){return i.nodes().reduce(function(s,u){return s[u]=e(i,u,l,o),s},{})}return fh}var dh,Gv;function DS(){if(Gv)return dh;Gv=1,dh=e;function e(n){var i=0,l=[],o={},s=[];function u(f){var d=o[f]={onStack:!0,lowlink:i,index:i++};if(l.push(f),n.successors(f).forEach(function(p){Object.hasOwn(o,p)?o[p].onStack&&(d.lowlink=Math.min(d.lowlink,o[p].index)):(u(p),d.lowlink=Math.min(d.lowlink,o[p].lowlink))}),d.lowlink===d.index){var h=[],m;do m=l.pop(),o[m].onStack=!1,h.push(m);while(f!==m);s.push(h)}}return n.nodes().forEach(function(f){Object.hasOwn(o,f)||u(f)}),s}return dh}var hh,$v;function r4(){if($v)return hh;$v=1;var e=DS();hh=n;function n(i){return e(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}return hh}var ph,Xv;function i4(){if(Xv)return ph;Xv=1,ph=n;var e=()=>1;function n(l,o,s){return i(l,o||e,s||function(u){return l.outEdges(u)})}function i(l,o,s){var u={},f=l.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),s(d).forEach(function(h){var m=h.v===d?h.w:h.v,p=o(h);u[d][m]={distance:p,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(m){var p=u[m];f.forEach(function(x){var v=p[d],w=h[x],k=p[x],S=v.distance+w.distance;So.successors(p):p=>o.neighbors(p),d=u==="post"?n:i,h=[],m={};return s.forEach(p=>{if(!o.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,f,m,h)}),h}function n(o,s,u,f){for(var d=[[o,!1]];d.length>0;){var h=d.pop();h[1]?f.push(h[0]):Object.hasOwn(u,h[0])||(u[h[0]]=!0,d.push([h[0],!0]),l(s(h[0]),m=>d.push([m,!1])))}}function i(o,s,u,f){for(var d=[o];d.length>0;){var h=d.pop();Object.hasOwn(u,h)||(u[h]=!0,f.push(h),l(s(h),m=>d.push(m)))}}function l(o,s){for(var u=o.length;u--;)s(o[u],u,o);return o}return yh}var xh,Zv;function a4(){if(Zv)return xh;Zv=1;var e=LS();xh=n;function n(i,l){return e(i,l,"post")}return xh}var vh,Kv;function o4(){if(Kv)return vh;Kv=1;var e=LS();vh=n;function n(i,l){return e(i,l,"pre")}return vh}var bh,Jv;function s4(){if(Jv)return bh;Jv=1;var e=om(),n=jS();bh=i;function i(l,o){var s=new e,u={},f=new n,d;function h(p){var x=p.v===d?p.w:p.v,v=f.priority(x);if(v!==void 0){var w=o(p);w0;){if(d=f.removeMin(),Object.hasOwn(u,d))s.setEdge(d,u[d]);else{if(m)throw new Error("Input graph is not connected: "+l);m=!0}l.nodeEdges(d).forEach(h)}return s}return bh}var wh,Wv;function u4(){return Wv||(Wv=1,wh={components:t4(),dijkstra:OS(),dijkstraAll:n4(),findCycles:r4(),floydWarshall:i4(),isAcyclic:l4(),postorder:a4(),preorder:o4(),prim:s4(),tarjan:DS(),topsort:RS()}),wh}var Sh,e1;function Vn(){if(e1)return Sh;e1=1;var e=WM();return Sh={Graph:e.Graph,json:e4(),alg:u4(),version:e.version},Sh}var _h,t1;function c4(){if(t1)return _h;t1=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,s=o._prev;if(s!==o)return n(s),s}enqueue(o){let s=this._sentinel;o._prev&&o._next&&n(o),o._next=s._next,s._next._prev=o,s._next=o,o._prev=s}toString(){let o=[],s=this._sentinel,u=s._prev;for(;u!==s;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"}}function n(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,o){if(l!=="_next"&&l!=="_prev")return o}return _h=e,_h}var Eh,n1;function f4(){if(n1)return Eh;n1=1;let e=Vn().Graph,n=c4();Eh=l;let i=()=>1;function l(h,m){if(h.nodeCount()<=1)return[];let p=u(h,m||i);return o(p.graph,p.buckets,p.zeroIdx).flatMap(v=>h.outEdges(v.v,v.w))}function o(h,m,p){let x=[],v=m[m.length-1],w=m[0],k;for(;h.nodeCount();){for(;k=w.dequeue();)s(h,m,p,k);for(;k=v.dequeue();)s(h,m,p,k);if(h.nodeCount()){for(let S=m.length-2;S>0;--S)if(k=m[S].dequeue(),k){x=x.concat(s(h,m,p,k,!0));break}}}return x}function s(h,m,p,x,v){let w=v?[]:void 0;return h.inEdges(x.v).forEach(k=>{let S=h.edge(k),E=h.node(k.v);v&&w.push({v:k.v,w:k.w}),E.out-=S,f(m,p,E)}),h.outEdges(x.v).forEach(k=>{let S=h.edge(k),E=k.w,z=h.node(E);z.in-=S,f(m,p,z)}),h.removeNode(x.v),w}function u(h,m){let p=new e,x=0,v=0;h.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),h.edges().forEach(S=>{let E=p.edge(S.v,S.w)||0,z=m(S),_=E+z;p.setEdge(S.v,S.w,_),v=Math.max(v,p.node(S.v).out+=z),x=Math.max(x,p.node(S.w).in+=z)});let w=d(v+x+3).map(()=>new n),k=x+1;return p.nodes().forEach(S=>{f(w,k,p.node(S))}),{graph:p,buckets:w,zeroIdx:k}}function f(h,m,p){p.out?p.in?h[p.out-p.in+m].enqueue(p):h[h.length-1].enqueue(p):h[0].enqueue(p)}function d(h){const m=[];for(let p=0;pR.setNode(X,M.node(X))),M.edges().forEach(X=>{let H=R.edge(X.v,X.w)||{weight:0,minlen:1},I=M.edge(X);R.setEdge(X.v,X.w,{weight:H.weight+I.weight,minlen:Math.max(H.minlen,I.minlen)})}),R}function l(M){let R=new e({multigraph:M.isMultigraph()}).setGraph(M.graph());return M.nodes().forEach(X=>{M.children(X).length||R.setNode(X,M.node(X))}),M.edges().forEach(X=>{R.setEdge(X,M.edge(X))}),R}function o(M){let R=M.nodes().map(X=>{let H={};return M.outEdges(X).forEach(I=>{H[I.w]=(H[I.w]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function s(M){let R=M.nodes().map(X=>{let H={};return M.inEdges(X).forEach(I=>{H[I.v]=(H[I.v]||0)+M.edge(I).weight}),H});return q(M.nodes(),R)}function u(M,R){let X=M.x,H=M.y,I=R.x-X,ee=R.y-H,L=M.width/2,G=M.height/2;if(!I&&!ee)throw new Error("Not possible to find intersection inside of the rectangle");let D,$;return Math.abs(ee)*L>Math.abs(I)*G?(ee<0&&(G=-G),D=G*I/ee,$=G):(I<0&&(L=-L),D=L,$=L*ee/I),{x:X+D,y:H+$}}function f(M){let R=A(w(M)+1).map(()=>[]);return M.nodes().forEach(X=>{let H=M.node(X),I=H.rank;I!==void 0&&(R[I][H.order]=X)}),R}function d(M){let R=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MAX_VALUE:I}),X=v(Math.min,R);M.nodes().forEach(H=>{let I=M.node(H);Object.hasOwn(I,"rank")&&(I.rank-=X)})}function h(M){let R=M.nodes().map(L=>M.node(L).rank),X=v(Math.min,R),H=[];M.nodes().forEach(L=>{let G=M.node(L).rank-X;H[G]||(H[G]=[]),H[G].push(L)});let I=0,ee=M.graph().nodeRankFactor;Array.from(H).forEach((L,G)=>{L===void 0&&G%ee!==0?--I:L!==void 0&&I&&L.forEach(D=>M.node(D).rank+=I)})}function m(M,R,X,H){let I={width:0,height:0};return arguments.length>=4&&(I.rank=X,I.order=H),n(M,"border",I,R)}function p(M,R=x){const X=[];for(let H=0;Hx){const X=p(R);return M.apply(null,X.map(H=>M.apply(null,H)))}else return M.apply(null,R)}function w(M){const X=M.nodes().map(H=>{let I=M.node(H).rank;return I===void 0?Number.MIN_VALUE:I});return v(Math.max,X)}function k(M,R){let X={lhs:[],rhs:[]};return M.forEach(H=>{R(H)?X.lhs.push(H):X.rhs.push(H)}),X}function S(M,R){let X=Date.now();try{return R()}finally{console.log(M+" time: "+(Date.now()-X)+"ms")}}function E(M,R){return R()}let z=0;function _(M){var R=++z;return M+(""+R)}function A(M,R,X=1){R==null&&(R=M,M=0);let H=ee=>eeRH[R]),Object.entries(M).reduce((H,[I,ee])=>(H[I]=X(ee,I),H),{})}function q(M,R){return M.reduce((X,H,I)=>(X[H]=R[I],X),{})}return Nh}var kh,i1;function d4(){if(i1)return kh;i1=1;let e=f4(),n=Ct().uniqueId;kh={run:i,undo:o};function i(s){(s.graph().acyclicer==="greedy"?e(s,f(s)):l(s)).forEach(d=>{let h=s.edge(d);s.removeEdge(d),h.forwardName=d.name,h.reversed=!0,s.setEdge(d.w,d.v,h,n("rev"))});function f(d){return h=>d.edge(h).weight}}function l(s){let u=[],f={},d={};function h(m){Object.hasOwn(d,m)||(d[m]=!0,f[m]=!0,s.outEdges(m).forEach(p=>{Object.hasOwn(f,p.w)?u.push(p):h(p.w)}),delete f[m])}return s.nodes().forEach(h),u}function o(s){s.edges().forEach(u=>{let f=s.edge(u);if(f.reversed){s.removeEdge(u);let d=f.forwardName;delete f.reversed,delete f.forwardName,s.setEdge(u.w,u.v,f,d)}})}return kh}var Ch,l1;function h4(){if(l1)return Ch;l1=1;let e=Ct();Ch={run:n,undo:l};function n(o){o.graph().dummyChains=[],o.edges().forEach(s=>i(o,s))}function i(o,s){let u=s.v,f=o.node(u).rank,d=s.w,h=o.node(d).rank,m=s.name,p=o.edge(s),x=p.labelRank;if(h===f+1)return;o.removeEdge(s);let v,w,k;for(k=0,++f;f{let u=o.node(s),f=u.edgeLabel,d;for(o.setEdge(u.edgeObj,f);u.dummy;)d=o.successors(s)[0],o.removeNode(s),f.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(f.x=u.x,f.y=u.y,f.width=u.width,f.height=u.height),s=d,u=o.node(s)})}return Ch}var Th,a1;function Wu(){if(a1)return Th;a1=1;const{applyWithChunking:e}=Ct();Th={longestPath:n,slack:i};function n(l){var o={};function s(u){var f=l.node(u);if(Object.hasOwn(o,u))return f.rank;o[u]=!0;let d=l.outEdges(u).map(m=>m==null?Number.POSITIVE_INFINITY:s(m.w)-l.edge(m).minlen);var h=e(Math.min,d);return h===Number.POSITIVE_INFINITY&&(h=0),f.rank=h}l.sources().forEach(s)}function i(l,o){return l.node(o.w).rank-l.node(o.v).rank-l.edge(o).minlen}return Th}var zh,o1;function HS(){if(o1)return zh;o1=1;var e=Vn().Graph,n=Wu().slack;zh=i;function i(u){var f=new e({directed:!1}),d=u.nodes()[0],h=u.nodeCount();f.setNode(d,{});for(var m,p;l(f,u){var p=m.v,x=h===p?m.w:p;!u.hasNode(x)&&!n(f,m)&&(u.setNode(x,{}),u.setEdge(h,x,{}),d(x))})}return u.nodes().forEach(d),u.nodeCount()}function o(u,f){return f.edges().reduce((h,m)=>{let p=Number.POSITIVE_INFINITY;return u.hasNode(m.v)!==u.hasNode(m.w)&&(p=n(f,m)),pf.node(h).rank+=d)}return zh}var Ah,s1;function p4(){if(s1)return Ah;s1=1;var e=HS(),n=Wu().slack,i=Wu().longestPath,l=Vn().alg.preorder,o=Vn().alg.postorder,s=Ct().simplify;Ah=u,u.initLowLimValues=m,u.initCutValues=f,u.calcCutValue=h,u.leaveEdge=x,u.enterEdge=v,u.exchangeEdges=w;function u(z){z=s(z),i(z);var _=e(z);m(_),f(_,z);for(var A,B;A=x(_);)B=v(_,z,A),w(_,z,A,B)}function f(z,_){var A=o(z,z.nodes());A=A.slice(0,A.length-1),A.forEach(B=>d(z,_,B))}function d(z,_,A){var B=z.node(A),T=B.parent;z.edge(A,T).cutvalue=h(z,_,A)}function h(z,_,A){var B=z.node(A),T=B.parent,q=!0,M=_.edge(A,T),R=0;return M||(q=!1,M=_.edge(T,A)),R=M.weight,_.nodeEdges(A).forEach(X=>{var H=X.v===A,I=H?X.w:X.v;if(I!==T){var ee=H===q,L=_.edge(X).weight;if(R+=ee?L:-L,S(z,A,I)){var G=z.edge(A,I).cutvalue;R+=ee?-G:G}}}),R}function m(z,_){arguments.length<2&&(_=z.nodes()[0]),p(z,{},1,_)}function p(z,_,A,B,T){var q=A,M=z.node(B);return _[B]=!0,z.neighbors(B).forEach(R=>{Object.hasOwn(_,R)||(A=p(z,_,A,R,B))}),M.low=q,M.lim=A++,T?M.parent=T:delete M.parent,A}function x(z){return z.edges().find(_=>z.edge(_).cutvalue<0)}function v(z,_,A){var B=A.v,T=A.w;_.hasEdge(B,T)||(B=A.w,T=A.v);var q=z.node(B),M=z.node(T),R=q,X=!1;q.lim>M.lim&&(R=M,X=!0);var H=_.edges().filter(I=>X===E(z,z.node(I.v),R)&&X!==E(z,z.node(I.w),R));return H.reduce((I,ee)=>n(_,ee)!_.node(T).parent),B=l(z,A);B=B.slice(1),B.forEach(T=>{var q=z.node(T).parent,M=_.edge(T,q),R=!1;M||(M=_.edge(q,T),R=!0),_.node(T).rank=_.node(q).rank+(R?M.minlen:-M.minlen)})}function S(z,_,A){return z.hasEdge(_,A)}function E(z,_,A){return A.low<=_.lim&&_.lim<=A.lim}return Ah}var Mh,u1;function m4(){if(u1)return Mh;u1=1;var e=Wu(),n=e.longestPath,i=HS(),l=p4();Mh=o;function o(d){var h=d.graph().ranker;if(h instanceof Function)return h(d);switch(d.graph().ranker){case"network-simplex":f(d);break;case"tight-tree":u(d);break;case"longest-path":s(d);break;case"none":break;default:f(d)}}var s=n;function u(d){n(d),i(d)}function f(d){l(d)}return Mh}var jh,c1;function g4(){if(c1)return jh;c1=1,jh=e;function e(l){let o=i(l);l.graph().dummyChains.forEach(s=>{let u=l.node(s),f=u.edgeObj,d=n(l,o,f.v,f.w),h=d.path,m=d.lca,p=0,x=h[p],v=!0;for(;s!==f.w;){if(u=l.node(s),v){for(;(x=h[p])!==m&&l.node(x).maxRankh||m>o[p].lim));for(x=p,p=u;(p=l.parent(p))!==x;)d.push(p);return{path:f.concat(d.reverse()),lca:x}}function i(l){let o={},s=0;function u(f){let d=s;l.children(f).forEach(u),o[f]={low:d,lim:s++}}return l.children().forEach(u),o}return jh}var Oh,f1;function y4(){if(f1)return Oh;f1=1;let e=Ct();Oh={run:n,cleanup:s};function n(u){let f=e.addDummyNode(u,"root",{},"_root"),d=l(u),h=Object.values(d),m=e.applyWithChunking(Math.max,h)-1,p=2*m+1;u.graph().nestingRoot=f,u.edges().forEach(v=>u.edge(v).minlen*=p);let x=o(u)+1;u.children().forEach(v=>i(u,f,p,x,m,d,v)),u.graph().nodeRankFactor=p}function i(u,f,d,h,m,p,x){let v=u.children(x);if(!v.length){x!==f&&u.setEdge(f,x,{weight:0,minlen:d});return}let w=e.addBorderNode(u,"_bt"),k=e.addBorderNode(u,"_bb"),S=u.node(x);u.setParent(w,x),S.borderTop=w,u.setParent(k,x),S.borderBottom=k,v.forEach(E=>{i(u,f,d,h,m,p,E);let z=u.node(E),_=z.borderTop?z.borderTop:E,A=z.borderBottom?z.borderBottom:E,B=z.borderTop?h:2*h,T=_!==A?1:m-p[x]+1;u.setEdge(w,_,{weight:B,minlen:T,nestingEdge:!0}),u.setEdge(A,k,{weight:B,minlen:T,nestingEdge:!0})}),u.parent(x)||u.setEdge(f,w,{weight:0,minlen:m+p[x]})}function l(u){var f={};function d(h,m){var p=u.children(h);p&&p.length&&p.forEach(x=>d(x,m+1)),f[h]=m}return u.children().forEach(h=>d(h,1)),f}function o(u){return u.edges().reduce((f,d)=>f+u.edge(d).weight,0)}function s(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,u.edges().forEach(d=>{var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Oh}var Dh,d1;function x4(){if(d1)return Dh;d1=1;let e=Ct();Dh=n;function n(l){function o(s){let u=l.children(s),f=l.node(s);if(u.length&&u.forEach(o),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let d=f.minRank,h=f.maxRank+1;dl(d.node(h))),d.edges().forEach(h=>l(d.edge(h)))}function l(d){let h=d.width;d.width=d.height,d.height=h}function o(d){d.nodes().forEach(h=>s(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(s),Object.hasOwn(m,"y")&&s(m)})}function s(d){d.y=-d.y}function u(d){d.nodes().forEach(h=>f(d.node(h))),d.edges().forEach(h=>{let m=d.edge(h);m.points.forEach(f),Object.hasOwn(m,"x")&&f(m)})}function f(d){let h=d.x;d.x=d.y,d.y=h}return Rh}var Lh,p1;function b4(){if(p1)return Lh;p1=1;let e=Ct();Lh=n;function n(i){let l={},o=i.nodes().filter(m=>!i.children(m).length),s=o.map(m=>i.node(m).rank),u=e.applyWithChunking(Math.max,s),f=e.range(u+1).map(()=>[]);function d(m){if(l[m])return;l[m]=!0;let p=i.node(m);f[p.rank].push(m),i.successors(m).forEach(d)}return o.sort((m,p)=>i.node(m).rank-i.node(p).rank).forEach(d),f}return Lh}var Hh,m1;function w4(){if(m1)return Hh;m1=1;let e=Ct().zipObject;Hh=n;function n(l,o){let s=0;for(let u=1;uv)),f=o.flatMap(x=>l.outEdges(x).map(v=>({pos:u[v.w],weight:l.edge(v).weight})).sort((v,w)=>v.pos-w.pos)),d=1;for(;d{let v=x.pos+d;m[v]+=x.weight;let w=0;for(;v>0;)v%2&&(w+=m[v+1]),v=v-1>>1,m[v]+=x.weight;p+=x.weight*w}),p}return Hh}var Bh,g1;function S4(){if(g1)return Bh;g1=1,Bh=e;function e(n,i=[]){return i.map(l=>{let o=n.inEdges(l);if(o.length){let s=o.reduce((u,f)=>{let d=n.edge(f),h=n.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:l,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:l}})}return Bh}var qh,y1;function _4(){if(y1)return qh;y1=1;let e=Ct();qh=n;function n(o,s){let u={};o.forEach((d,h)=>{let m=u[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};d.barycenter!==void 0&&(m.barycenter=d.barycenter,m.weight=d.weight)}),s.edges().forEach(d=>{let h=u[d.v],m=u[d.w];h!==void 0&&m!==void 0&&(m.indegree++,h.out.push(u[d.w]))});let f=Object.values(u).filter(d=>!d.indegree);return i(f)}function i(o){let s=[];function u(d){return h=>{h.merged||(h.barycenter===void 0||d.barycenter===void 0||h.barycenter>=d.barycenter)&&l(d,h)}}function f(d){return h=>{h.in.push(d),--h.indegree===0&&o.push(h)}}for(;o.length;){let d=o.pop();s.push(d),d.in.reverse().forEach(u(d)),d.out.forEach(f(d))}return s.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function l(o,s){let u=0,f=0;o.weight&&(u+=o.barycenter*o.weight,f+=o.weight),s.weight&&(u+=s.barycenter*s.weight,f+=s.weight),o.vs=s.vs.concat(o.vs),o.barycenter=u/f,o.weight=f,o.i=Math.min(s.i,o.i),s.merged=!0}return qh}var Uh,x1;function E4(){if(x1)return Uh;x1=1;let e=Ct();Uh=n;function n(o,s){let u=e.partition(o,w=>Object.hasOwn(w,"barycenter")),f=u.lhs,d=u.rhs.sort((w,k)=>k.i-w.i),h=[],m=0,p=0,x=0;f.sort(l(!!s)),x=i(h,d,x),f.forEach(w=>{x+=w.vs.length,h.push(w.vs),m+=w.barycenter*w.weight,p+=w.weight,x=i(h,d,x)});let v={vs:h.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function i(o,s,u){let f;for(;s.length&&(f=s[s.length-1]).i<=u;)s.pop(),o.push(f.vs),u++;return u}function l(o){return(s,u)=>s.barycenteru.barycenter?1:o?u.i-s.i:s.i-u.i}return Uh}var Ih,v1;function N4(){if(v1)return Ih;v1=1;let e=S4(),n=_4(),i=E4();Ih=l;function l(u,f,d,h){let m=u.children(f),p=u.node(f),x=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,w={};x&&(m=m.filter(z=>z!==x&&z!==v));let k=e(u,m);k.forEach(z=>{if(u.children(z.v).length){let _=l(u,z.v,d,h);w[z.v]=_,Object.hasOwn(_,"barycenter")&&s(z,_)}});let S=n(k,d);o(S,w);let E=i(S,h);if(x&&(E.vs=[x,E.vs,v].flat(!0),u.predecessors(x).length)){let z=u.node(u.predecessors(x)[0]),_=u.node(u.predecessors(v)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+z.order+_.order)/(E.weight+2),E.weight+=2}return E}function o(u,f){u.forEach(d=>{d.vs=d.vs.flatMap(h=>f[h]?f[h].vs:h)})}function s(u,f){u.barycenter!==void 0?(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight):(u.barycenter=f.barycenter,u.weight=f.weight)}return Ih}var Vh,b1;function k4(){if(b1)return Vh;b1=1;let e=Vn().Graph,n=Ct();Vh=i;function i(o,s,u,f){f||(f=o.nodes());let d=l(o),h=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(m=>o.node(m));return f.forEach(m=>{let p=o.node(m),x=o.parent(m);(p.rank===s||p.minRank<=s&&s<=p.maxRank)&&(h.setNode(m),h.setParent(m,x||d),o[u](m).forEach(v=>{let w=v.v===m?v.w:v.v,k=h.edge(w,m),S=k!==void 0?k.weight:0;h.setEdge(w,m,{weight:o.edge(v).weight+S})}),Object.hasOwn(p,"minRank")&&h.setNode(m,{borderLeft:p.borderLeft[s],borderRight:p.borderRight[s]}))}),h}function l(o){for(var s;o.hasNode(s=n.uniqueId("_root")););return s}return Vh}var Yh,w1;function C4(){if(w1)return Yh;w1=1,Yh=e;function e(n,i,l){let o={},s;l.forEach(u=>{let f=n.parent(u),d,h;for(;f;){if(d=n.parent(f),d?(h=o[d],o[d]=f):(h=s,s=f),h&&h!==f){i.setEdge(h,f);return}f=d}})}return Yh}var Gh,S1;function T4(){if(S1)return Gh;S1=1;let e=b4(),n=w4(),i=N4(),l=k4(),o=C4(),s=Vn().Graph,u=Ct();Gh=f;function f(p,x){if(x&&typeof x.customOrder=="function"){x.customOrder(p,f);return}let v=u.maxRank(p),w=d(p,u.range(1,v+1),"inEdges"),k=d(p,u.range(v-1,-1,-1),"outEdges"),S=e(p);if(m(p,S),x&&x.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,z;for(let _=0,A=0;A<4;++_,++A){h(_%2?w:k,_%4>=2),S=u.buildLayerMatrix(p);let B=n(p,S);B{w.has(S)||w.set(S,[]),w.get(S).push(E)};for(const S of p.nodes()){const E=p.node(S);if(typeof E.rank=="number"&&k(E.rank,S),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let z=E.minRank;z<=E.maxRank;z++)z!==E.rank&&k(z,S)}return x.map(function(S){return l(p,S,v,w.get(S)||[])})}function h(p,x){let v=new s;p.forEach(function(w){let k=w.graph().root,S=i(w,k,v,x);S.vs.forEach((E,z)=>w.node(E).order=z),o(w,v,S.vs)})}function m(p,x){Object.values(x).forEach(v=>v.forEach((w,k)=>p.node(w).order=k))}return Gh}var $h,_1;function z4(){if(_1)return $h;_1=1;let e=Vn().Graph,n=Ct();$h={positionX:v,findType1Conflicts:i,findType2Conflicts:l,addConflict:s,hasConflict:u,verticalAlignment:f,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:m,balance:x};function i(S,E){let z={};function _(A,B){let T=0,q=0,M=A.length,R=B[B.length-1];return B.forEach((X,H)=>{let I=o(S,X),ee=I?S.node(I).order:M;(I||X===R)&&(B.slice(q,H+1).forEach(L=>{S.predecessors(L).forEach(G=>{let D=S.node(G),$=D.order;(${X=B[H],S.node(X).dummy&&S.predecessors(X).forEach(I=>{let ee=S.node(I);ee.dummy&&(ee.orderR)&&s(z,I,X)})})}function A(B,T){let q=-1,M,R=0;return T.forEach((X,H)=>{if(S.node(X).dummy==="border"){let I=S.predecessors(X);I.length&&(M=S.node(I[0]).order,_(T,R,H,q,M),R=H,q=M)}_(T,R,T.length,M,B.length)}),T}return E.length&&E.reduce(A),z}function o(S,E){if(S.node(E).dummy)return S.predecessors(E).find(z=>S.node(z).dummy)}function s(S,E,z){if(E>z){let A=E;E=z,z=A}let _=S[E];_||(S[E]=_={}),_[z]=!0}function u(S,E,z){if(E>z){let _=E;E=z,z=_}return!!S[E]&&Object.hasOwn(S[E],z)}function f(S,E,z,_){let A={},B={},T={};return E.forEach(q=>{q.forEach((M,R)=>{A[M]=M,B[M]=M,T[M]=R})}),E.forEach(q=>{let M=-1;q.forEach(R=>{let X=_(R);if(X.length){X=X.sort((I,ee)=>T[I]-T[ee]);let H=(X.length-1)/2;for(let I=Math.floor(H),ee=Math.ceil(H);I<=ee;++I){let L=X[I];B[R]===R&&MMath.max(I,B[ee.v]+T.edge(ee)),0)}function X(H){let I=T.outEdges(H).reduce((L,G)=>Math.min(L,B[G.w]-T.edge(G)),Number.POSITIVE_INFINITY),ee=S.node(H);I!==Number.POSITIVE_INFINITY&&ee.borderType!==q&&(B[H]=Math.max(B[H],I))}return M(R,T.predecessors.bind(T)),M(X,T.successors.bind(T)),Object.keys(_).forEach(H=>B[H]=B[z[H]]),B}function h(S,E,z,_){let A=new e,B=S.graph(),T=w(B.nodesep,B.edgesep,_);return E.forEach(q=>{let M;q.forEach(R=>{let X=z[R];if(A.setNode(X),M){var H=z[M],I=A.edge(H,X);A.setEdge(H,X,Math.max(T(S,R,M),I||0))}M=R})}),A}function m(S,E){return Object.values(E).reduce((z,_)=>{let A=Number.NEGATIVE_INFINITY,B=Number.POSITIVE_INFINITY;Object.entries(_).forEach(([q,M])=>{let R=k(S,q)/2;A=Math.max(M+R,A),B=Math.min(M-R,B)});const T=A-B;return T{["l","r"].forEach(T=>{let q=B+T,M=S[q];if(M===E)return;let R=Object.values(M),X=_-n.applyWithChunking(Math.min,R);T!=="l"&&(X=A-n.applyWithChunking(Math.max,R)),X&&(S[q]=n.mapValues(M,H=>H+X))})})}function x(S,E){return n.mapValues(S.ul,(z,_)=>{if(E)return S[E.toLowerCase()][_];{let A=Object.values(S).map(B=>B[_]).sort((B,T)=>B-T);return(A[1]+A[2])/2}})}function v(S){let E=n.buildLayerMatrix(S),z=Object.assign(i(S,E),l(S,E)),_={},A;["u","d"].forEach(T=>{A=T==="u"?E:Object.values(E).reverse(),["l","r"].forEach(q=>{q==="r"&&(A=A.map(H=>Object.values(H).reverse()));let M=(T==="u"?S.predecessors:S.successors).bind(S),R=f(S,A,z,M),X=d(S,A,R.root,R.align,q==="r");q==="r"&&(X=n.mapValues(X,H=>-H)),_[T+q]=X})});let B=m(S,_);return p(_,B),x(_,S.graph().align)}function w(S,E,z){return(_,A,B)=>{let T=_.node(A),q=_.node(B),M=0,R;if(M+=T.width/2,Object.hasOwn(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":R=-T.width/2;break;case"r":R=T.width/2;break}if(R&&(M+=z?R:-R),R=0,M+=(T.dummy?E:S)/2,M+=(q.dummy?E:S)/2,M+=q.width/2,Object.hasOwn(q,"labelpos"))switch(q.labelpos.toLowerCase()){case"l":R=q.width/2;break;case"r":R=-q.width/2;break}return R&&(M+=z?R:-R),R=0,M}}function k(S,E){return S.node(E).width}return $h}var Xh,E1;function A4(){if(E1)return Xh;E1=1;let e=Ct(),n=z4().positionX;Xh=i;function i(o){o=e.asNonCompoundGraph(o),l(o),Object.entries(n(o)).forEach(([s,u])=>o.node(s).x=u)}function l(o){let s=e.buildLayerMatrix(o),u=o.graph().ranksep,f=0;s.forEach(d=>{const h=d.reduce((m,p)=>{const x=o.node(p).height;return m>x?m:x},0);d.forEach(m=>o.node(m).y=f+h/2),f+=h+u})}return Xh}var Fh,N1;function M4(){if(N1)return Fh;N1=1;let e=d4(),n=h4(),i=m4(),l=Ct().normalizeRanks,o=g4(),s=Ct().removeEmptyRanks,u=y4(),f=x4(),d=v4(),h=T4(),m=A4(),p=Ct(),x=Vn().Graph;Fh=v;function v(N,V){let P=V&&V.debugTiming?p.time:p.notime;P("layout",()=>{let K=P(" buildLayoutGraph",()=>M(N));P(" runLayout",()=>w(K,P,V)),P(" updateInputGraph",()=>k(N,K))})}function w(N,V,P){V(" makeSpaceForEdgeLabels",()=>R(N)),V(" removeSelfEdges",()=>Z(N)),V(" acyclic",()=>e.run(N)),V(" nestingGraph.run",()=>u.run(N)),V(" rank",()=>i(p.asNonCompoundGraph(N))),V(" injectEdgeLabelProxies",()=>X(N)),V(" removeEmptyRanks",()=>s(N)),V(" nestingGraph.cleanup",()=>u.cleanup(N)),V(" normalizeRanks",()=>l(N)),V(" assignRankMinMax",()=>H(N)),V(" removeEdgeLabelProxies",()=>I(N)),V(" normalize.run",()=>n.run(N)),V(" parentDummyChains",()=>o(N)),V(" addBorderSegments",()=>f(N)),V(" order",()=>h(N,P)),V(" insertSelfEdges",()=>J(N)),V(" adjustCoordinateSystem",()=>d.adjust(N)),V(" position",()=>m(N)),V(" positionSelfEdges",()=>j(N)),V(" removeBorderNodes",()=>$(N)),V(" normalize.undo",()=>n.undo(N)),V(" fixupEdgeLabelCoords",()=>G(N)),V(" undoCoordinateSystem",()=>d.undo(N)),V(" translateGraph",()=>ee(N)),V(" assignNodeIntersects",()=>L(N)),V(" reversePoints",()=>D(N)),V(" acyclic.undo",()=>e.undo(N))}function k(N,V){N.nodes().forEach(P=>{let K=N.node(P),ne=V.node(P);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,V.children(P).length&&(K.width=ne.width,K.height=ne.height))}),N.edges().forEach(P=>{let K=N.edge(P),ne=V.edge(P);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),N.graph().width=V.graph().width,N.graph().height=V.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},z=["acyclicer","ranker","rankdir","align"],_=["width","height","rank"],A={width:0,height:0},B=["minlen","weight","width","height","labeloffset"],T={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},q=["labelpos"];function M(N){let V=new x({multigraph:!0,compound:!0}),P=F(N.graph());return V.setGraph(Object.assign({},E,U(P,S),p.pick(P,z))),N.nodes().forEach(K=>{let ne=F(N.node(K));const re=U(ne,_);Object.keys(A).forEach(se=>{re[se]===void 0&&(re[se]=A[se])}),V.setNode(K,re),V.setParent(K,N.parent(K))}),N.edges().forEach(K=>{let ne=F(N.edge(K));V.setEdge(K,Object.assign({},T,U(ne,B),p.pick(ne,q)))}),V}function R(N){let V=N.graph();V.ranksep/=2,N.edges().forEach(P=>{let K=N.edge(P);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(V.rankdir==="TB"||V.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function X(N){N.edges().forEach(V=>{let P=N.edge(V);if(P.width&&P.height){let K=N.node(V.v),re={rank:(N.node(V.w).rank-K.rank)/2+K.rank,e:V};p.addDummyNode(N,"edge-proxy",re,"_ep")}})}function H(N){let V=0;N.nodes().forEach(P=>{let K=N.node(P);K.borderTop&&(K.minRank=N.node(K.borderTop).rank,K.maxRank=N.node(K.borderBottom).rank,V=Math.max(V,K.maxRank))}),N.graph().maxRank=V}function I(N){N.nodes().forEach(V=>{let P=N.node(V);P.dummy==="edge-proxy"&&(N.edge(P.e).labelRank=P.rank,N.removeNode(V))})}function ee(N){let V=Number.POSITIVE_INFINITY,P=0,K=Number.POSITIVE_INFINITY,ne=0,re=N.graph(),se=re.marginx||0,ge=re.marginy||0;function ve(ye){let he=ye.x,_e=ye.y,Me=ye.width,Ce=ye.height;V=Math.min(V,he-Me/2),P=Math.max(P,he+Me/2),K=Math.min(K,_e-Ce/2),ne=Math.max(ne,_e+Ce/2)}N.nodes().forEach(ye=>ve(N.node(ye))),N.edges().forEach(ye=>{let he=N.edge(ye);Object.hasOwn(he,"x")&&ve(he)}),V-=se,K-=ge,N.nodes().forEach(ye=>{let he=N.node(ye);he.x-=V,he.y-=K}),N.edges().forEach(ye=>{let he=N.edge(ye);he.points.forEach(_e=>{_e.x-=V,_e.y-=K}),Object.hasOwn(he,"x")&&(he.x-=V),Object.hasOwn(he,"y")&&(he.y-=K)}),re.width=P-V+se,re.height=ne-K+ge}function L(N){N.edges().forEach(V=>{let P=N.edge(V),K=N.node(V.v),ne=N.node(V.w),re,se;P.points?(re=P.points[0],se=P.points[P.points.length-1]):(P.points=[],re=ne,se=K),P.points.unshift(p.intersectRect(K,re)),P.points.push(p.intersectRect(ne,se))})}function G(N){N.edges().forEach(V=>{let P=N.edge(V);if(Object.hasOwn(P,"x"))switch((P.labelpos==="l"||P.labelpos==="r")&&(P.width-=P.labeloffset),P.labelpos){case"l":P.x-=P.width/2+P.labeloffset;break;case"r":P.x+=P.width/2+P.labeloffset;break}})}function D(N){N.edges().forEach(V=>{let P=N.edge(V);P.reversed&&P.points.reverse()})}function $(N){N.nodes().forEach(V=>{if(N.children(V).length){let P=N.node(V),K=N.node(P.borderTop),ne=N.node(P.borderBottom),re=N.node(P.borderLeft[P.borderLeft.length-1]),se=N.node(P.borderRight[P.borderRight.length-1]);P.width=Math.abs(se.x-re.x),P.height=Math.abs(ne.y-K.y),P.x=re.x+P.width/2,P.y=K.y+P.height/2}}),N.nodes().forEach(V=>{N.node(V).dummy==="border"&&N.removeNode(V)})}function Z(N){N.edges().forEach(V=>{if(V.v===V.w){var P=N.node(V.v);P.selfEdges||(P.selfEdges=[]),P.selfEdges.push({e:V,label:N.edge(V)}),N.removeEdge(V)}})}function J(N){var V=p.buildLayerMatrix(N);V.forEach(P=>{var K=0;P.forEach((ne,re)=>{var se=N.node(ne);se.order=re+K,(se.selfEdges||[]).forEach(ge=>{p.addDummyNode(N,"selfedge",{width:ge.label.width,height:ge.label.height,rank:se.rank,order:re+ ++K,e:ge.e,label:ge.label},"_se")}),delete se.selfEdges})})}function j(N){N.nodes().forEach(V=>{var P=N.node(V);if(P.dummy==="selfedge"){var K=N.node(P.e.v),ne=K.x+K.width/2,re=K.y,se=P.x-ne,ge=K.height/2;N.setEdge(P.e,P.label),N.removeNode(V),P.label.points=[{x:ne+2*se/3,y:re-ge},{x:ne+5*se/6,y:re-ge},{x:ne+se,y:re},{x:ne+5*se/6,y:re+ge},{x:ne+2*se/3,y:re+ge}],P.label.x=P.x,P.label.y=P.y}})}function U(N,V){return p.mapValues(p.pick(N,V),Number)}function F(N){var V={};return N&&Object.entries(N).forEach(([P,K])=>{typeof P=="string"&&(P=P.toLowerCase()),V[P]=K}),V}return Fh}var Ph,k1;function j4(){if(k1)return Ph;k1=1;let e=Ct(),n=Vn().Graph;Ph={debugOrdering:i};function i(l){let o=e.buildLayerMatrix(l),s=new n({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(u=>{s.setNode(u,{label:u}),s.setParent(u,"layer"+l.node(u).rank)}),l.edges().forEach(u=>s.setEdge(u.v,u.w,{},u.name)),o.forEach((u,f)=>{let d="layer"+f;s.setNode(d,{rank:"same"}),u.reduce((h,m)=>(s.setEdge(h,m,{style:"invis"}),m))}),s}return Ph}var Qh,C1;function O4(){return C1||(C1=1,Qh="1.1.8"),Qh}var Zh,T1;function D4(){return T1||(T1=1,Zh={graphlib:Vn(),layout:M4(),debug:j4(),util:{time:Ct().time,notime:Ct().notime},version:O4()}),Zh}var R4=D4();const z1=Ro(R4),go=200,Yl=56,A1=20,M1=40,L4=20,j1=12;function H4(e,n,i,l,o,s,u){const f=[],d=[],h=new Set,m=new Set,p=new Map;for(const v of i)for(const w of v.agents)m.add(w),p.set(w,v.name);for(const v of i){const w=o[v.name],k=v.agents.length,S=go+A1*2,E=M1+k*Yl+(k-1)*j1+L4;f.push({id:v.name,type:"groupNode",position:{x:0,y:0},data:{label:v.name,type:"parallel_group",status:(w==null?void 0:w.status)||"pending",groupName:v.name,progress:s[v.name]},style:{width:S,height:E}});for(let z=0;z$entryPoint",source:"$start",target:u,type:"animatedEdge",data:{},animated:!1})}for(const v of n)d.push({id:`${v.from}->${v.to}`,source:v.from,target:v.to,type:"animatedEdge",data:{when:v.when},animated:!1});return B4(f,d),{nodes:f,edges:d}}function B4(e,n){var l,o,s,u;const i=new z1.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",nodesep:50,ranksep:70,marginx:30,marginy:30});for(const f of e){if(f.parentId)continue;const d=f.type==="groupNode",h=d&&((l=f.style)==null?void 0:l.width)||go,m=d&&((o=f.style)==null?void 0:o.height)||Yl;i.setNode(f.id,{width:h,height:m})}for(const f of n)i.hasNode(f.source)&&i.hasNode(f.target)&&i.setEdge(f.source,f.target);z1.layout(i);for(const f of e){if(f.parentId)continue;const d=i.node(f.id);if(!d)continue;const h=f.type==="groupNode",m=h&&((s=f.style)==null?void 0:s.width)||go,p=h&&((u=f.style)==null?void 0:u.height)||Yl;f.position={x:d.x-m/2,y:d.y-p/2}}}const lt={pending:"#6b7280",running:"#3b82f6",completed:"#22c55e",failed:"#ef4444",paused:"#f59e0b",idle:"#6b7280",waiting:"#a855f7"},q4=70,O1=90;function sm({data:e,children:n}){const[i,l]=Y.useState(!1),o=Y.useRef(null),s=Y.useCallback(()=>{o.current=setTimeout(()=>l(!0),200)},[]),u=Y.useCallback(()=>{o.current&&clearTimeout(o.current),l(!1)},[]),f=lt[e.status]||lt.pending;return b.jsxs("div",{className:"relative",onMouseEnter:s,onMouseLeave:u,children:[n,i&&b.jsxs("div",{className:Ye("absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-2","bg-[var(--surface-raised)] border border-[var(--border)] shadow-lg","rounded-lg px-3 py-2 max-w-[260px] pointer-events-none","animate-[tooltip-in_150ms_ease-out]"),children:[b.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 w-0 h-0 border-x-[6px] border-x-transparent border-t-[6px] border-t-[var(--border)]"}),b.jsxs("div",{className:"flex flex-col gap-1.5 text-[11px]",children:[b.jsxs("div",{className:"flex items-center gap-1.5",children:[b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:f}}),b.jsx("span",{className:"font-medium text-[var(--text)] capitalize",children:e.status}),e.iteration!=null&&e.iteration>1&&b.jsxs("span",{className:"text-[var(--text-muted)] ml-auto",children:["iter ",e.iteration]})]}),b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5",children:[e.elapsed!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Elapsed"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:In(e.elapsed)})]}),e.model&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Model"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.model})]}),e.tokens!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Tokens"}),b.jsxs("span",{className:"text-[var(--text)] font-mono",children:[Wn(e.tokens),e.inputTokens!=null&&e.outputTokens!=null&&b.jsxs("span",{className:"text-[var(--text-muted)]",children:[" ","(",Wn(e.inputTokens),"↑ ",Wn(e.outputTokens),"↓)"]})]})]}),e.costUsd!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Cost"}),b.jsx("span",{className:"text-[var(--text)] font-mono",children:Ql(e.costUsd)})]}),e.exitCode!=null&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Exit code"}),b.jsx("span",{className:Ye("font-mono",e.exitCode===0?"text-[var(--completed)]":"text-[var(--failed)]"),children:e.exitCode})]}),e.selectedOption&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"text-[var(--text-muted)]",children:"Selected"}),b.jsx("span",{className:"text-[var(--text)] truncate",children:e.selectedOption})]})]}),e.errorMessage&&b.jsxs(b.Fragment,{children:[b.jsx("div",{className:"h-px bg-[var(--border)]"}),b.jsxs("div",{className:"text-red-400 leading-tight",children:[e.errorType&&b.jsxs("span",{className:"font-medium",children:[e.errorType,": "]}),b.jsxs("span",{className:"break-words",children:[e.errorMessage.slice(0,120),e.errorMessage.length>120?"...":""]})]})]})]})]})]})}const U4=Y.memo(function({data:n,id:i,selected:l}){const o=n,u=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.status})||o.status||"pending",f=lt[u]||lt.pending,d=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.elapsed}),h=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.model}),m=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.tokens}),p=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.input_tokens}),x=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.output_tokens}),v=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.cost_usd}),w=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.iteration}),k=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.error_type}),S=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.error_message}),E=xe(B=>{var T;return(T=B.nodes[i])==null?void 0:T.context_pct}),z=I4(i,u),_=V4(u),A=(()=>{if(u==="failed"&&S)return{text:S.length>40?S.slice(0,37)+"...":S,className:"text-red-400"};if(u==="running")return{text:z,className:"text-[var(--text-muted)]"};if(u==="completed"){const B=[];return d!=null&&B.push(In(d)),m!=null&&B.push(`${Wn(m)} tok`),v!=null&&B.push(Ql(v)),{text:B.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(sm,{data:{status:u,elapsed:d,model:h,tokens:m,inputTokens:p,outputTokens:x,costUsd:v,iteration:w,errorType:k,errorMessage:S},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",_),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(V2,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsxs("div",{className:"flex items-center gap-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w!=null&&w>1&&b.jsxs("span",{className:"flex-shrink-0 inline-flex items-center justify-center px-1.5 py-0.5 rounded-full text-[9px] font-bold leading-none",style:{backgroundColor:`${f}25`,color:f},children:["x",w]})]}),A.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",A.className),children:A.text})]}),E!=null&&b.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-[2px] rounded-b-lg overflow-hidden",style:{backgroundColor:"rgba(255,255,255,0.06)"},children:b.jsx("div",{className:Ye("h-full transition-all duration-500",E>=O1?"animate-[context-pulse_2s_ease-in-out_infinite]":""),style:{width:`${Math.min(E,100)}%`,backgroundColor:E>=O1?"#ef4444":E>=q4?"#f59e0b":"#22c55e"}})})]})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function I4(e,n){const i=xe(u=>{var f;return(f=u.nodes[e])==null?void 0:f.startedAt}),[l,o]=Y.useState("0.0s"),s=Y.useRef(null);return Y.useEffect(()=>{if(n==="running"){const u=i!=null?i*1e3:Date.now(),f=()=>{const d=(Date.now()-u)/1e3;o(In(d))};return f(),s.current=setInterval(f,1e3),()=>{s.current&&clearInterval(s.current)}}else s.current&&clearInterval(s.current)},[n,i]),l}function V4(e){const n=Y.useRef(e),[i,l]=Y.useState("");return Y.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Y4=Y.memo(function({data:n,id:i,selected:l}){const o=n,u=xe(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",f=lt[u]||lt.pending,d=xe(k=>{var S;return(S=k.nodes[i])==null?void 0:S.elapsed}),h=xe(k=>{var S;return(S=k.nodes[i])==null?void 0:S.exit_code}),m=xe(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_type}),p=xe(k=>{var S;return(S=k.nodes[i])==null?void 0:S.error_message}),x=G4(i,u),v=$4(u),w=(()=>{if(u==="failed"&&p)return{text:p.length>40?p.slice(0,37)+"...":p,className:"text-red-400"};if(u==="running")return{text:x,className:"text-[var(--text-muted)]"};if(u==="completed"){const k=[];return d!=null&&k.push(In(d)),h!=null&&k.push(`exit ${h}`),{text:k.join(" · ")||null,className:"text-[var(--text-muted)]"}}return{text:null,className:""}})();return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(sm,{data:{status:u,elapsed:d,exitCode:h,errorType:m,errorMessage:p},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",v),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="running"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(rN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),w.text&&b.jsx("span",{className:Ye("text-[10px] truncate leading-tight",w.className),children:w.text})]})]})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function G4(e,n){const i=xe(u=>{var f;return(f=u.nodes[e])==null?void 0:f.startedAt}),[l,o]=Y.useState("0.0s"),s=Y.useRef(null);return Y.useEffect(()=>{if(n==="running"){const u=i!=null?i*1e3:Date.now(),f=()=>{const d=(Date.now()-u)/1e3;o(In(d))};return f(),s.current=setInterval(f,1e3),()=>{s.current&&clearInterval(s.current)}}else s.current&&clearInterval(s.current)},[n,i]),l}function $4(e){const n=Y.useRef(e),[i,l]=Y.useState("");return Y.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const X4=Y.memo(function({data:n,id:i,selected:l}){const o=n,u=xe(m=>{var p;return(p=m.nodes[i])==null?void 0:p.status})||o.status||"pending",f=lt[u]||lt.pending,d=xe(m=>{var p;return(p=m.nodes[i])==null?void 0:p.selected_option}),h=F4(u);return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx(sm,{data:{status:u,selectedOption:d},children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-3 py-1.5 rounded-lg border-2 border-dashed bg-[var(--node-bg)] min-w-[140px] max-w-[220px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u==="waiting"&&"shadow-[0_0_12px_var(--waiting-muted)]",u==="running"&&"shadow-[0_0_12px_var(--running-glow)]",h),style:{borderColor:f},children:[b.jsx("div",{className:Ye("flex items-center justify-center w-6 h-6 rounded-md flex-shrink-0",u==="waiting"&&"animate-pulse"),style:{backgroundColor:`${f}20`},children:b.jsx(nN,{className:"w-3.5 h-3.5",style:{color:f}})}),b.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate",children:o.label}),u==="waiting"&&b.jsx("span",{className:"text-[10px] text-[var(--waiting)] truncate leading-tight",children:"Awaiting input..."}),u==="completed"&&d&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] truncate leading-tight",children:d})]})]})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function F4(e){const n=Y.useRef(e),[i,l]=Y.useState("");return Y.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"||e==="waiting"?l("node-activate"):(o==="running"||o==="waiting")&&e==="completed"&&l("node-complete");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const P4=Y.memo(function({data:n,id:i,selected:l}){const o=n,u=o.type==="for_each_group"?W2:Z2,f=o.progress,h=xe(k=>{var S;return(S=k.nodes[i])==null?void 0:S.status})||o.status||"pending",m=lt[h]||lt.pending,p=Q4(h),x=f?`${f.completed+f.failed}/${f.total}${f.failed>0?` (${f.failed} failed)`:""}`:null,v=f&&f.total>0?(f.completed+f.failed)/f.total*100:0,w=f!=null&&f.failed>0;return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsxs("div",{className:Ye("flex flex-col gap-1 px-4 py-3 rounded-xl border-2 border-dashed bg-[var(--surface)]/80 min-w-[180px] transition-all duration-300",l&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",h==="running"&&"shadow-[0_0_16px_var(--running-glow)]",p),style:{borderColor:m,minHeight:"100%"},children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx(u,{className:"w-3.5 h-3.5",style:{color:m}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text-secondary)]",children:o.label})]}),x&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] font-mono",children:x}),f&&f.total>0&&h==="running"&&b.jsx("div",{className:"w-full h-1 rounded-full bg-[var(--border)] overflow-hidden mt-0.5",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500 ease-out",style:{width:`${v}%`,backgroundColor:w?"var(--failed)":"var(--completed)"}})})]}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})});function Q4(e){const n=Y.useRef(e),[i,l]=Y.useState("");return Y.useEffect(()=>{const o=n.current;if(n.current=e,o===e)return;e==="running"?l("node-activate"):o==="running"&&(e==="completed"||e==="failed")&&l(e==="completed"?"node-complete":"node-fail");const s=setTimeout(()=>l(""),400);return()=>clearTimeout(s)},[e]),i}const Z4=Y.memo(function({data:n,selected:i}){const o=n.status||"pending",s=o==="completed",u=o==="failed",f=!s&&!u,d=s?lt.completed:u?lt.failed:lt.pending;return b.jsxs(b.Fragment,{children:[b.jsx(ln,{type:"target",position:we.Top,className:"!bg-[var(--border)] !border-none !w-2 !h-2"}),b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",s?"bg-[var(--completed)] shadow-[0_0_16px_var(--completed-muted)]":u?"bg-[var(--failed)] shadow-[0_0_16px_var(--failed-muted)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]"),style:{borderColor:d},children:s?b.jsx(Bi,{className:"w-5 h-5 text-white",strokeWidth:3}):u?b.jsx(kb,{className:"w-3.5 h-3.5 text-white",fill:"white"}):b.jsx(Bi,{className:"w-5 h-5",strokeWidth:2.5,style:{color:f?lt.pending:d}})})]})}),K4=Y.memo(function({data:n,selected:i}){const o=n.status||"pending",s=lt[o]||lt.pending,u=o==="running"||o==="completed";return b.jsxs(b.Fragment,{children:[b.jsx("div",{className:Ye("flex items-center justify-center w-11 h-11 rounded-full border-2 transition-all duration-300",u?"bg-[var(--completed)]":"bg-[var(--node-bg)]",i&&"ring-2 ring-[var(--accent)] ring-offset-1 ring-offset-[var(--bg)]",u&&"shadow-[0_0_12px_var(--completed-muted)]"),style:{borderColor:s},children:b.jsx(Nb,{className:"w-4 h-4 ml-0.5",style:{color:u?"white":s}})}),b.jsx(ln,{type:"source",position:we.Bottom,className:"!bg-[var(--border)] !border-none !w-2 !h-2"})]})}),J4=Y.memo(function({id:n,sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f,source:d,target:h,data:m}){const p=xe(R=>R.highlightedEdges),x=Y.useMemo(()=>p.find(R=>R.from===d&&R.to===h),[p,d,h]),[v,w,k]=em({sourceX:i,sourceY:l,targetX:o,targetY:s,sourcePosition:u,targetPosition:f}),S=m==null?void 0:m.when,E=!!S,z=(x==null?void 0:x.state)==="taken",_=(x==null?void 0:x.state)==="highlighted",A=(x==null?void 0:x.state)==="failed";let B="var(--edge-color)",T=2,q;A?(B="var(--failed)",T=3):z?(B="var(--edge-taken)",T=3):_&&(B="var(--edge-active)",T=3),E&&!z&&!_&&!A&&(q="6 3");const M=A?"failed":z?"taken":_?"active":"default";return b.jsxs(b.Fragment,{children:[b.jsx($o,{id:n,path:v,style:{stroke:B,strokeWidth:T,strokeDasharray:q,transition:"stroke 0.3s ease, stroke-width 0.3s ease"},markerEnd:`url(#arrow-${M})`}),E&&b.jsx(wM,{children:b.jsx("div",{className:"nodrag nopan",style:{position:"absolute",transform:`translate(-50%, -50%) translate(${w}px,${k}px)`,pointerEvents:"all"},children:b.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded-full text-[9px] font-mono leading-tight max-w-[140px] truncate",style:{backgroundColor:A?"var(--failed)":z?"var(--edge-taken)":"var(--surface)",color:A||z?"var(--bg)":"var(--text-muted)",border:`1px solid ${A?"var(--failed)":z?"var(--edge-taken)":"var(--border)"}`},title:S,children:S})})}),z&&b.jsx("circle",{r:"3",fill:"var(--edge-taken)",children:b.jsx("animateMotion",{dur:"1s",repeatCount:"indefinite",path:v})}),A&&b.jsx("circle",{r:"3",fill:"var(--failed)",opacity:"0.8",children:b.jsx("animateMotion",{dur:"1.5s",repeatCount:"indefinite",path:v})})]})});function W4(){const e=xe(u=>u.workflowStatus),n=xe(u=>u.workflowFailure),i=xe(u=>u.workflowFailedAgent),l=xe(u=>u.selectNode);if(e!=="failed"||!n)return null;const o=n.message||n.error_type||"Unknown error",s=n.error_type==="TimeoutError";return b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-2 px-4 py-2 rounded-lg","bg-red-950/90 border border-red-500/40 shadow-lg shadow-red-500/10","backdrop-blur-sm max-w-[560px]"),children:[b.jsx(iN,{className:"w-4 h-4 text-red-400 flex-shrink-0"}),b.jsxs("div",{className:"flex flex-col min-w-0",children:[b.jsx("span",{className:"text-xs font-medium text-red-300",children:"Workflow Failed"}),b.jsx("span",{className:"text-[11px] text-red-400/80 truncate",children:o}),s&&n.current_agent&&b.jsxs("span",{className:"text-[10px] text-red-400/60 truncate",children:["Timed out on agent: ",n.current_agent]}),n.checkpoint_path&&b.jsxs("span",{className:"text-[10px] text-red-400/50 truncate",title:n.checkpoint_path,children:["Checkpoint: ",n.checkpoint_path.split("/").pop()]})]}),i&&b.jsxs("button",{onClick:()=>l(i),className:"flex items-center gap-1 px-2 py-1 rounded text-[10px] font-medium text-red-300 bg-red-500/20 hover:bg-red-500/30 transition-colors flex-shrink-0 ml-1",children:[b.jsx(P2,{className:"w-3 h-3"}),"View"]})]})})}function e5(){const[e,n]=Y.useState(!1),i=xe(d=>d.workflowStatus),l=xe(d=>d.totalCost),o=xe(d=>d.totalTokens),s=xe(d=>d.agentsCompleted),u=xe(d=>d.agentsTotal),f=Tb();return i!=="completed"||e?null:b.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-20 animate-[banner-in_200ms_ease-out]",children:b.jsxs("div",{className:Ye("flex items-center gap-3 px-4 py-2 rounded-lg","bg-green-950/90 border border-green-500/40 shadow-lg shadow-green-500/10","backdrop-blur-sm"),children:[b.jsx(G2,{className:"w-4 h-4 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-medium text-green-300",children:"Completed"}),b.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-green-400/80 font-mono",children:[b.jsx("span",{children:f}),u>0&&b.jsxs("span",{children:[s,"/",u," agents"]}),o>0&&b.jsxs("span",{children:[Wn(o)," tok"]}),l>0&&b.jsx("span",{children:Ql(l)})]}),b.jsx("button",{onClick:()=>n(!0),className:"p-0.5 rounded text-green-500/60 hover:text-green-300 transition-colors flex-shrink-0 ml-1",children:b.jsx(nc,{className:"w-3.5 h-3.5"})})]})})}const t5={agentNode:U4,scriptNode:Y4,gateNode:X4,groupNode:P4,endNode:Z4,startNode:K4},n5={animatedEdge:J4},r5={type:"animatedEdge"};function i5(){return b.jsx("svg",{style:{position:"absolute",width:0,height:0},children:b.jsxs("defs",{children:[b.jsx("marker",{id:"arrow-default",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-color)"})}),b.jsx("marker",{id:"arrow-active",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-active)"})}),b.jsx("marker",{id:"arrow-taken",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--edge-taken)"})}),b.jsx("marker",{id:"arrow-failed",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--failed)"})})]})})}function l5(){const e=xe(M=>M.agents),n=xe(M=>M.routes),i=xe(M=>M.parallelGroups),l=xe(M=>M.forEachGroups),o=xe(M=>M.nodes),s=xe(M=>M.groupProgress),u=xe(M=>M.selectNode),f=xe(M=>M.selectedNode),d=xe(M=>M.workflowStatus),h=xe(M=>M.entryPoint),m=xe(M=>M.wsStatus),p=xe(M=>M.workflowFailedAgent),[x,v,w]=SM([]),[k,S,E]=_M([]),z=Y.useRef(!1);Y.useEffect(()=>{if(e.length===0||z.current)return;z.current=!0;const{nodes:M,edges:R}=H4(e,n,i,l,o,s,h);v(M),S(R)},[e,n,i,l,o,s,h,v,S]),Y.useEffect(()=>{z.current&&v(M=>M.map(R=>{const X=o[R.id];if(!X)return R;const H=X.status||"pending",I=R.data.status;if(H!==I){const ee={...R.data,status:H};return R.data.groupName&&s[R.data.groupName]&&(ee.progress=s[R.data.groupName]),{...R,data:ee}}if(R.data.groupName&&s[R.data.groupName]){const ee=R.data.progress,L=s[R.data.groupName];if(L&&(!ee||ee.completed!==L.completed||ee.failed!==L.failed))return{...R,data:{...R.data,progress:L}}}return R}))},[o,s,v]);const _=Y.useCallback((M,R)=>{R.type==="groupNode"&&R.data.type!=="for_each_group"||u(R.id)},[u]),A=Y.useCallback(()=>{u(null)},[u]),B=Y.useCallback(M=>{var X;const R=((X=M.data)==null?void 0:X.status)||"pending";return lt[R]||lt.pending},[]);Y.useEffect(()=>{v(M=>M.map(R=>({...R,selected:R.id===f})))},[f,v]),Y.useEffect(()=>{d==="failed"&&p&&u(p)},[d,p,u]);const T=d==="pending"&&e.length===0,q=(()=>{switch(m){case"connecting":return"Connecting to workflow…";case"reconnecting":return"Reconnecting…";case"disconnected":return"Connection lost. Retrying…";default:return"Waiting for workflow…"}})();return b.jsxs("div",{className:"w-full h-full relative",children:[b.jsx(i5,{}),b.jsx(W4,{}),b.jsx(e5,{}),T&&b.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center pointer-events-none",children:[b.jsxs("div",{className:"relative mb-3",children:[b.jsx(oN,{className:"w-8 h-8 text-[var(--accent)] opacity-20"}),b.jsx(So,{className:"w-8 h-8 text-[var(--text-muted)] animate-spin absolute inset-0 opacity-40"})]}),b.jsx("p",{className:"text-sm text-[var(--text-muted)] animate-pulse",children:q})]}),b.jsxs(vM,{nodes:x,edges:k,onNodesChange:w,onEdgesChange:E,onNodeClick:_,onPaneClick:A,nodeTypes:t5,edgeTypes:n5,defaultEdgeOptions:r5,fitView:!0,fitViewOptions:{padding:.2},minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[b.jsx(TM,{variant:Tr.Dots,gap:20,size:1,color:"var(--border-subtle)"}),b.jsx(PM,{nodeColor:B,maskColor:"var(--minimap-mask)",style:{background:"var(--minimap-bg)"},pannable:!0,zoomable:!0}),b.jsx(RM,{showInteractive:!1,children:b.jsx(a5,{})}),b.jsx(o5,{})]})]})}function a5(){const{fitView:e}=Go(),n=Y.useCallback(()=>{e({padding:.2,duration:300})},[e]);return b.jsx("button",{onClick:n,className:"react-flow__controls-button",title:"Fit view (F)",style:{display:"flex",alignItems:"center",justifyContent:"center"},children:b.jsx(J2,{className:"w-3.5 h-3.5"})})}function o5(){const{fitView:e}=Go();return Y.useEffect(()=>{const n=i=>{var o;const l=(o=i.target)==null?void 0:o.tagName;l==="INPUT"||l==="TEXTAREA"||l==="SELECT"||i.key==="f"&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&e({padding:.2,duration:300})};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e]),null}function ia({items:e}){const n=e.filter(i=>i.value!=null&&i.value!=="");return n.length===0?null:b.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:n.map(({label:i,value:l})=>b.jsxs("div",{className:"contents",children:[b.jsx("dt",{className:"text-[var(--text-muted)] whitespace-nowrap",children:i}),b.jsx("dd",{className:"text-[var(--text)] break-words",children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}function BS(e){const n=[];return e.elapsed!=null&&n.push({label:"Elapsed",value:In(e.elapsed)}),e.model&&n.push({label:"Model",value:e.model}),e.tokens!=null&&n.push({label:"Tokens",value:Wn(e.tokens)}),e.input_tokens!=null&&e.output_tokens!=null&&n.push({label:"In / Out",value:`${Wn(e.input_tokens)} / ${Wn(e.output_tokens)}`}),e.cost_usd!=null&&n.push({label:"Cost",value:Ql(e.cost_usd)}),e.context_window_used!=null&&e.context_window_max!=null&&n.push({label:"Context",value:hN(e.context_window_used,e.context_window_max)}),e.iteration!=null&&n.push({label:"Iteration",value:e.iteration}),e.error_type&&n.push({label:"Error",value:e.error_type}),e.error_message&&n.push({label:"Message",value:e.error_message}),n}function Fi({output:e,title:n="Output",defaultExpanded:i=!0,maxHeight:l="300px"}){const[o,s]=Y.useState(i),[u,f]=Y.useState(!1),d=Cb(e);if(!d)return null;const h=typeof e=="object"&&e!==null,m=async()=>{await navigator.clipboard.writeText(d),f(!0),setTimeout(()=>f(!1),2e3)};return b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[o?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),n]}),o&&b.jsx("button",{onClick:m,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Copy to clipboard",children:u?b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}):b.jsx(Eb,{className:"w-3 h-3"})})]}),o&&b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md p-3 font-mono text-[11px] leading-relaxed text-[var(--text)] overflow-auto whitespace-pre-wrap break-words",style:{maxHeight:l},children:h?b.jsx(s5,{text:d}):d})]})}function s5({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function um({activity:e,defaultExpanded:n=!0}){const[i,l]=Y.useState(n),o=Y.useRef(null);return Y.useEffect(()=>{o.current&&i&&(o.current.scrollTop=o.current.scrollHeight)},[e.length,i]),e.length===0?null:b.jsxs("div",{className:"space-y-1.5",children:[b.jsxs("button",{onClick:()=>l(!i),className:"flex items-center gap-1 text-[10px] uppercase tracking-wider text-[var(--text-muted)] hover:text-[var(--text)] transition-colors font-semibold",children:[i?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Activity (",e.length,")"]}),i&&b.jsx("div",{ref:o,className:"max-h-[400px] overflow-y-auto space-y-0.5",children:e.map((s,u)=>b.jsx(u5,{entry:s},u))})]})}function u5({entry:e}){const n={reasoning:"text-indigo-400/70","tool-start":"text-blue-400","tool-complete":"text-green-400",turn:"text-amber-400",message:"text-[var(--text)]"};return b.jsxs("div",{className:Ye("py-1.5 px-2 rounded text-[11px] leading-relaxed border-b border-[var(--border-subtle)] last:border-b-0"),children:[b.jsxs("div",{className:"flex items-start gap-1.5",children:[b.jsx("span",{className:"w-4 text-center flex-shrink-0",children:e.icon}),b.jsx("span",{className:"text-[var(--text-muted)] uppercase text-[9px] font-semibold tracking-wider w-12 flex-shrink-0 pt-px",children:e.label}),b.jsx("span",{className:Ye("break-words",n[e.type]||"text-[var(--text)]"),children:typeof e.text=="object"?JSON.stringify(e.text):e.text})]}),e.detail&&b.jsx("div",{className:"mt-1 ml-[4.25rem] px-2 py-1 bg-[var(--bg)] rounded text-[10px] font-mono text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto",children:typeof e.detail=="object"?JSON.stringify(e.detail,null,2):e.detail})]})}function c5({node:e}){const n=e.status,i=lt[n]||lt.pending,l=e.iterationHistory&&e.iterationHistory.length>0;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Agent"})]}),l?b.jsx(D1,{label:`Iteration ${e.iteration??"?"} (current)`,defaultExpanded:!0,status:n,snapshot:{iteration:e.iteration??0,prompt:e.prompt,output:e.output,elapsed:e.elapsed,model:e.model,tokens:e.tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cost_usd:e.cost_usd,activity:e.activity,error_type:e.error_type,error_message:e.error_message}}):b.jsxs(b.Fragment,{children:[b.jsx(ia,{items:BS(e)}),e.prompt&&b.jsx(Fi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!0}),b.jsx(um,{activity:e.activity,defaultExpanded:n!=="completed"}),e.output!=null&&b.jsx(Fi,{output:e.output,title:"Output"})]}),l&&[...e.iterationHistory].reverse().map(o=>b.jsx(D1,{label:`Iteration ${o.iteration}`,defaultExpanded:!1,status:n,snapshot:o},o.iteration))]})}function D1({label:e,defaultExpanded:n,snapshot:i,status:l}){const[o,s]=Y.useState(n);return b.jsxs("div",{className:"border border-[var(--border)] rounded-lg overflow-hidden",children:[b.jsxs("button",{onClick:()=>s(!o),className:"flex items-center gap-2 w-full px-3 py-2 bg-[var(--bg)] hover:bg-[var(--node-bg)] transition-colors text-left",children:[o?b.jsx(ra,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3.5 h-3.5 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-[var(--text)]",children:e}),i.elapsed!=null&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] ml-auto",children:f5(i.elapsed)})]}),o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[b.jsx(ia,{items:BS(i)}),i.prompt&&b.jsx(Fi,{output:i.prompt,title:"Input / Prompt",defaultExpanded:!1}),b.jsx(um,{activity:i.activity,defaultExpanded:n&&l!=="completed"}),i.output!=null&&b.jsx(Fi,{output:i.output,title:"Output",defaultExpanded:!0}),i.error_type&&b.jsxs("div",{className:"text-xs text-red-400",children:[b.jsx("span",{className:"font-semibold",children:i.error_type}),i.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",i.error_message]})]})]})]})}function f5(e){if(e<1)return`${(e*1e3).toFixed(0)}ms`;if(e<60)return`${e.toFixed(1)}s`;const n=Math.floor(e/60),i=(e%60).toFixed(0);return`${n}m ${i}s`}function d5({node:e}){const n=e.status,i=lt[n]||lt.pending,l=[];e.elapsed!=null&&l.push({label:"Elapsed",value:In(e.elapsed)}),e.exit_code!=null&&l.push({label:"Exit Code",value:e.exit_code}),e.error_type&&l.push({label:"Error",value:e.error_type}),e.error_message&&l.push({label:"Message",value:e.error_message});let o="";return e.stdout&&(o+=e.stdout),e.stderr&&(o+=(o?` + +--- stderr --- +`:"")+e.stderr),b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Script"})]}),b.jsx(ia,{items:l}),o&&b.jsx(Fi,{output:o,title:"Output"})]})}function h5(e,n){const i={};return(e[e.length-1]===""?[...e,""]:e).join((i.padRight?" ":"")+","+(i.padLeft===!1?"":" ")).trim()}const p5=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,m5=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,g5={};function R1(e,n){return(g5.jsx?m5:p5).test(e)}const y5=/[ \t\n\f\r]/g;function x5(e){return typeof e=="object"?e.type==="text"?L1(e.value):!1:L1(e)}function L1(e){return e.replace(y5,"")===""}class Xo{constructor(n,i,l){this.normal=i,this.property=n,l&&(this.space=l)}}Xo.prototype.normal={};Xo.prototype.property={};Xo.prototype.space=void 0;function qS(e,n){const i={},l={};for(const o of e)Object.assign(i,o.property),Object.assign(l,o.normal);return new Xo(i,l,n)}function zp(e){return e.toLowerCase()}class an{constructor(n,i){this.attribute=i,this.property=n}}an.prototype.attribute="";an.prototype.booleanish=!1;an.prototype.boolean=!1;an.prototype.commaOrSpaceSeparated=!1;an.prototype.commaSeparated=!1;an.prototype.defined=!1;an.prototype.mustUseProperty=!1;an.prototype.number=!1;an.prototype.overloadedBoolean=!1;an.prototype.property="";an.prototype.spaceSeparated=!1;an.prototype.space=void 0;let v5=0;const Oe=Pi(),kt=Pi(),Ap=Pi(),pe=Pi(),at=Pi(),Fl=Pi(),mn=Pi();function Pi(){return 2**++v5}const Mp=Object.freeze(Object.defineProperty({__proto__:null,boolean:Oe,booleanish:kt,commaOrSpaceSeparated:mn,commaSeparated:Fl,number:pe,overloadedBoolean:Ap,spaceSeparated:at},Symbol.toStringTag,{value:"Module"})),Kh=Object.keys(Mp);class cm extends an{constructor(n,i,l,o){let s=-1;if(super(n,i),H1(this,"space",o),typeof l=="number")for(;++s4&&i.slice(0,4)==="data"&&E5.test(n)){if(n.charAt(4)==="-"){const s=n.slice(5).replace(B1,C5);l="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=n.slice(4);if(!B1.test(s)){let u=s.replace(_5,k5);u.charAt(0)!=="-"&&(u="-"+u),n="data"+u}}o=cm}return new o(l,n)}function k5(e){return"-"+e.toLowerCase()}function C5(e){return e.charAt(1).toUpperCase()}const T5=qS([US,b5,YS,GS,$S],"html"),fm=qS([US,w5,YS,GS,$S],"svg");function z5(e){return e.join(" ").trim()}var Ll={},Jh,q1;function A5(){if(q1)return Jh;q1=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,i=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,d=` +`,h="/",m="*",p="",x="comment",v="declaration";function w(S,E){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];E=E||{};var z=1,_=1;function A(L){var G=L.match(n);G&&(z+=G.length);var D=L.lastIndexOf(d);_=~D?L.length-D:_+L.length}function B(){var L={line:z,column:_};return function(G){return G.position=new T(L),R(),G}}function T(L){this.start=L,this.end={line:z,column:_},this.source=E.source}T.prototype.content=S;function q(L){var G=new Error(E.source+":"+z+":"+_+": "+L);if(G.reason=L,G.filename=E.source,G.line=z,G.column=_,G.source=S,!E.silent)throw G}function M(L){var G=L.exec(S);if(G){var D=G[0];return A(D),S=S.slice(D.length),G}}function R(){M(i)}function X(L){var G;for(L=L||[];G=H();)G!==!1&&L.push(G);return L}function H(){var L=B();if(!(h!=S.charAt(0)||m!=S.charAt(1))){for(var G=2;p!=S.charAt(G)&&(m!=S.charAt(G)||h!=S.charAt(G+1));)++G;if(G+=2,p===S.charAt(G-1))return q("End of comment missing");var D=S.slice(2,G-2);return _+=2,A(D),S=S.slice(G),_+=2,L({type:x,comment:D})}}function I(){var L=B(),G=M(l);if(G){if(H(),!M(o))return q("property missing ':'");var D=M(s),$=L({type:v,property:k(G[0].replace(e,p)),value:D?k(D[0].replace(e,p)):p});return M(u),$}}function ee(){var L=[];X(L);for(var G;G=I();)G!==!1&&(L.push(G),X(L));return L}return R(),ee()}function k(S){return S?S.replace(f,p):p}return Jh=w,Jh}var U1;function M5(){if(U1)return Ll;U1=1;var e=Ll&&Ll.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Ll,"__esModule",{value:!0}),Ll.default=i;const n=e(A5());function i(l,o){let s=null;if(!l||typeof l!="string")return s;const u=(0,n.default)(l),f=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:h,value:m}=d;f?o(h,m,d):m&&(s=s||{},s[h]=m)}),s}return Ll}var ao={},I1;function j5(){if(I1)return ao;I1=1,Object.defineProperty(ao,"__esModule",{value:!0}),ao.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,i=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(h){return!h||i.test(h)||e.test(h)},u=function(h,m){return m.toUpperCase()},f=function(h,m){return"".concat(m,"-")},d=function(h,m){return m===void 0&&(m={}),s(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(n,u))};return ao.camelCase=d,ao}var oo,V1;function O5(){if(V1)return oo;V1=1;var e=oo&&oo.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},n=e(M5()),i=j5();function l(o,s){var u={};return!o||typeof o!="string"||(0,n.default)(o,function(f,d){f&&d&&(u[(0,i.camelCase)(f,s)]=d)}),u}return l.default=l,oo=l,oo}var D5=O5();const R5=Ro(D5),XS=FS("end"),dm=FS("start");function FS(e){return n;function n(i){const l=i&&i.position&&i.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function L5(e){const n=dm(e),i=XS(e);if(n&&i)return{start:n,end:i}}function vo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Y1(e.position):"start"in e||"end"in e?Y1(e):"line"in e||"column"in e?jp(e):""}function jp(e){return G1(e&&e.line)+":"+G1(e&&e.column)}function Y1(e){return jp(e&&e.start)+"-"+jp(e&&e.end)}function G1(e){return e&&typeof e=="number"?e:1}class Gt extends Error{constructor(n,i,l){super(),typeof i=="string"&&(l=i,i=void 0);let o="",s={},u=!1;if(i&&("line"in i&&"column"in i?s={place:i}:"start"in i&&"end"in i?s={place:i}:"type"in i?s={ancestors:[i],place:i.position}:s={...i}),typeof n=="string"?o=n:!s.cause&&n&&(u=!0,o=n.message,s.cause=n),!s.ruleId&&!s.source&&typeof l=="string"){const d=l.indexOf(":");d===-1?s.ruleId=l:(s.source=l.slice(0,d),s.ruleId=l.slice(d+1))}if(!s.place&&s.ancestors&&s.ancestors){const d=s.ancestors[s.ancestors.length-1];d&&(s.place=d.position)}const f=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=vo(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=u&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Gt.prototype.file="";Gt.prototype.name="";Gt.prototype.reason="";Gt.prototype.message="";Gt.prototype.stack="";Gt.prototype.column=void 0;Gt.prototype.line=void 0;Gt.prototype.ancestors=void 0;Gt.prototype.cause=void 0;Gt.prototype.fatal=void 0;Gt.prototype.place=void 0;Gt.prototype.ruleId=void 0;Gt.prototype.source=void 0;const hm={}.hasOwnProperty,H5=new Map,B5=/[A-Z]/g,q5=new Set(["table","tbody","thead","tfoot","tr"]),U5=new Set(["td","th"]),PS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function I5(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const i=n.filePath||void 0;let l;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=Q5(i,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=P5(i,n.jsx,n.jsxs)}const o={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:l,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:i,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?fm:T5,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},s=QS(o,e,void 0);return s&&typeof s!="string"?s:o.create(e,o.Fragment,{children:s||void 0},void 0)}function QS(e,n,i){if(n.type==="element")return V5(e,n,i);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return Y5(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return $5(e,n,i);if(n.type==="mdxjsEsm")return G5(e,n);if(n.type==="root")return X5(e,n,i);if(n.type==="text")return F5(e,n)}function V5(e,n,i){const l=e.schema;let o=l;n.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=fm,e.schema=o),e.ancestors.push(n);const s=KS(e,n.tagName,!1),u=Z5(e,n);let f=mm(e,n);return q5.has(n.tagName)&&(f=f.filter(function(d){return typeof d=="string"?!x5(d):!0})),ZS(e,u,s,n),pm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function Y5(e,n){if(n.data&&n.data.estree&&e.evaluater){const l=n.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}Do(e,n.position)}function G5(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Do(e,n.position)}function $5(e,n,i){const l=e.schema;let o=l;n.name==="svg"&&l.space==="html"&&(o=fm,e.schema=o),e.ancestors.push(n);const s=n.name===null?e.Fragment:KS(e,n.name,!0),u=K5(e,n),f=mm(e,n);return ZS(e,u,s,n),pm(u,f),e.ancestors.pop(),e.schema=l,e.create(n,s,u,i)}function X5(e,n,i){const l={};return pm(l,mm(e,n)),e.create(n,e.Fragment,l,i)}function F5(e,n){return n.value}function ZS(e,n,i,l){typeof i!="string"&&i!==e.Fragment&&e.passNode&&(n.node=l)}function pm(e,n){if(n.length>0){const i=n.length>1?n:n[0];i&&(e.children=i)}}function P5(e,n,i){return l;function l(o,s,u,f){const h=Array.isArray(u.children)?i:n;return f?h(s,u,f):h(s,u)}}function Q5(e,n){return i;function i(l,o,s,u){const f=Array.isArray(s.children),d=dm(l);return n(o,s,u,f,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function Z5(e,n){const i={};let l,o;for(o in n.properties)if(o!=="children"&&hm.call(n.properties,o)){const s=J5(e,o,n.properties[o]);if(s){const[u,f]=s;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&U5.has(n.tagName)?l=f:i[u]=f}}if(l){const s=i.style||(i.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return i}function K5(e,n){const i={};for(const l of n.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const s=l.data.estree.body[0];s.type;const u=s.expression;u.type;const f=u.properties[0];f.type,Object.assign(i,e.evaluater.evaluateExpression(f.argument))}else Do(e,n.position);else{const o=l.name;let s;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,s=e.evaluater.evaluateExpression(f.expression)}else Do(e,n.position);else s=l.value===null?!0:l.value;i[o]=s}return i}function mm(e,n){const i=[];let l=-1;const o=e.passKeys?new Map:H5;for(;++lo?0:o+n:n=n>o?o:n,i=i>0?i:0,l.length<1e4)u=Array.from(l),u.unshift(n,i),e.splice(...u);else for(i&&e.splice(n,i);s0?(nr(e,e.length,0,n),e):n}const F1={}.hasOwnProperty;function aj(e){const n={};let i=-1;for(;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"�":String.fromCodePoint(i)}function Pl(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Jn=di(/[A-Za-z]/),xn=di(/[\dA-Za-z]/),uj=di(/[#-'*+\--9=?A-Z^-~]/);function Op(e){return e!==null&&(e<32||e===127)}const Dp=di(/\d/),cj=di(/[\dA-Fa-f]/),fj=di(/[!-/:-@[-`{-~]/);function Te(e){return e!==null&&e<-2}function rn(e){return e!==null&&(e<0||e===32)}function Pe(e){return e===-2||e===-1||e===32}const dj=di(new RegExp("\\p{P}|\\p{S}","u")),hj=di(/\s/);function di(e){return n;function n(i){return i!==null&&i>-1&&e.test(String.fromCharCode(i))}}function aa(e){const n=[];let i=-1,l=0,o=0;for(;++i55295&&s<57344){const f=e.charCodeAt(i+1);s<56320&&f>56319&&f<57344?(u=String.fromCharCode(s,f),o=1):u="�"}else u=String.fromCharCode(s);u&&(n.push(e.slice(l,i),encodeURIComponent(u)),l=i+o+1,u=""),o&&(i+=o,o=0)}return n.join("")+e.slice(l)}function ot(e,n,i,l){const o=l?l-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(d){return Pe(d)?(e.enter(i),f(d)):n(d)}function f(d){return Pe(d)&&s++u))return;const q=n.events.length;let M=q,R,X;for(;M--;)if(n.events[M][0]==="exit"&&n.events[M][1].type==="chunkFlow"){if(R){X=n.events[M][1].end;break}R=!0}for(E(l),T=q;T_;){const B=i[A];n.containerState=B[1],B[0].exit.call(n,e)}i.length=_}function z(){o.write([null]),s=void 0,o=void 0,n.containerState._closeFlow=void 0}}function xj(e,n,i){return ot(e,e.attempt(this.parser.constructs.document,n,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Q1(e){if(e===null||rn(e)||hj(e))return 1;if(dj(e))return 2}function ym(e,n,i){const l=[];let o=-1;for(;++o1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;const p={...e[l][1].end},x={...e[i][1].start};Z1(p,-d),Z1(x,d),u={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[l][1].end}},f={type:d>1?"strongSequence":"emphasisSequence",start:{...e[i][1].start},end:x},s={type:d>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[i][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[i][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=zn(h,[["enter",e[l][1],n],["exit",e[l][1],n]])),h=zn(h,[["enter",o,n],["enter",u,n],["exit",u,n],["enter",s,n]]),h=zn(h,ym(n.parser.constructs.insideSpan.null,e.slice(l+1,i),n)),h=zn(h,[["exit",s,n],["enter",f,n],["exit",f,n],["exit",o,n]]),e[i][1].end.offset-e[i][1].start.offset?(m=2,h=zn(h,[["enter",e[i][1],n],["exit",e[i][1],n]])):m=0,nr(e,l-1,i-l+3,h),i=l+h.length-m-2;break}}for(i=-1;++i0&&Pe(T)?ot(e,z,"linePrefix",s+1)(T):z(T)}function z(T){return T===null||Te(T)?e.check(K1,k,A)(T):(e.enter("codeFlowValue"),_(T))}function _(T){return T===null||Te(T)?(e.exit("codeFlowValue"),z(T)):(e.consume(T),_)}function A(T){return e.exit("codeFenced"),n(T)}function B(T,q,M){let R=0;return X;function X(G){return T.enter("lineEnding"),T.consume(G),T.exit("lineEnding"),H}function H(G){return T.enter("codeFencedFence"),Pe(G)?ot(T,I,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):I(G)}function I(G){return G===f?(T.enter("codeFencedFenceSequence"),ee(G)):M(G)}function ee(G){return G===f?(R++,T.consume(G),ee):R>=u?(T.exit("codeFencedFenceSequence"),Pe(G)?ot(T,L,"whitespace")(G):L(G)):M(G)}function L(G){return G===null||Te(G)?(T.exit("codeFencedFence"),q(G)):M(G)}}}function Aj(e,n,i){const l=this;return o;function o(u){return u===null?i(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}const ep={name:"codeIndented",tokenize:jj},Mj={partial:!0,tokenize:Oj};function jj(e,n,i){const l=this;return o;function o(h){return e.enter("codeIndented"),ot(e,s,"linePrefix",5)(h)}function s(h){const m=l.events[l.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?u(h):i(h)}function u(h){return h===null?d(h):Te(h)?e.attempt(Mj,u,d)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||Te(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function d(h){return e.exit("codeIndented"),n(h)}}function Oj(e,n,i){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?i(u):Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):ot(e,s,"linePrefix",5)(u)}function s(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?n(u):Te(u)?o(u):i(u)}}const Dj={name:"codeText",previous:Lj,resolve:Rj,tokenize:Hj};function Rj(e){let n=e.length-4,i=3,l,o;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(l=i;++l=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(n,i,l){const o=i||0;this.setCursor(Math.trunc(n));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&so(this.left,l),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),so(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),so(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(u):e.interrupt(l.parser.constructs.flow,i,n)(u)}}function i_(e,n,i,l,o,s,u,f,d){const h=d||Number.POSITIVE_INFINITY;let m=0;return p;function p(E){return E===60?(e.enter(l),e.enter(o),e.enter(s),e.consume(E),e.exit(s),x):E===null||E===32||E===41||Op(E)?i(E):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),k(E))}function x(E){return E===62?(e.enter(s),e.consume(E),e.exit(s),e.exit(o),e.exit(l),n):(e.enter(f),e.enter("chunkString",{contentType:"string"}),v(E))}function v(E){return E===62?(e.exit("chunkString"),e.exit(f),x(E)):E===null||E===60||Te(E)?i(E):(e.consume(E),E===92?w:v)}function w(E){return E===60||E===62||E===92?(e.consume(E),v):v(E)}function k(E){return!m&&(E===null||E===41||rn(E))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),n(E)):m999||v===null||v===91||v===93&&!d||v===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?i(v):v===93?(e.exit(s),e.enter(o),e.consume(v),e.exit(o),e.exit(l),n):Te(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),m):(e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||Te(v)||f++>999?(e.exit("chunkString"),m(v)):(e.consume(v),d||(d=!Pe(v)),v===92?x:p)}function x(v){return v===91||v===92||v===93?(e.consume(v),f++,p):p(v)}}function a_(e,n,i,l,o,s){let u;return f;function f(x){return x===34||x===39||x===40?(e.enter(l),e.enter(o),e.consume(x),e.exit(o),u=x===40?41:x,d):i(x)}function d(x){return x===u?(e.enter(o),e.consume(x),e.exit(o),e.exit(l),n):(e.enter(s),h(x))}function h(x){return x===u?(e.exit(s),d(u)):x===null?i(x):Te(x)?(e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),ot(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),m(x))}function m(x){return x===u||x===null||Te(x)?(e.exit("chunkString"),h(x)):(e.consume(x),x===92?p:m)}function p(x){return x===u||x===92?(e.consume(x),m):m(x)}}function bo(e,n){let i;return l;function l(o){return Te(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i=!0,l):Pe(o)?ot(e,l,i?"linePrefix":"lineSuffix")(o):n(o)}}const $j={name:"definition",tokenize:Fj},Xj={partial:!0,tokenize:Pj};function Fj(e,n,i){const l=this;let o;return s;function s(v){return e.enter("definition"),u(v)}function u(v){return l_.call(l,e,f,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function f(v){return o=Pl(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),d):i(v)}function d(v){return rn(v)?bo(e,h)(v):h(v)}function h(v){return i_(e,m,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return e.attempt(Xj,p,p)(v)}function p(v){return Pe(v)?ot(e,x,"whitespace")(v):x(v)}function x(v){return v===null||Te(v)?(e.exit("definition"),l.parser.defined.push(o),n(v)):i(v)}}function Pj(e,n,i){return l;function l(f){return rn(f)?bo(e,o)(f):i(f)}function o(f){return a_(e,s,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function s(f){return Pe(f)?ot(e,u,"whitespace")(f):u(f)}function u(f){return f===null||Te(f)?n(f):i(f)}}const Qj={name:"hardBreakEscape",tokenize:Zj};function Zj(e,n,i){return l;function l(s){return e.enter("hardBreakEscape"),e.consume(s),o}function o(s){return Te(s)?(e.exit("hardBreakEscape"),n(s)):i(s)}}const Kj={name:"headingAtx",resolve:Jj,tokenize:Wj};function Jj(e,n){let i=e.length-2,l=3,o,s;return e[l][1].type==="whitespace"&&(l+=2),i-2>l&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(l===i-1||i-4>l&&e[i-2][1].type==="whitespace")&&(i-=l+1===i?2:4),i>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[i][1].end},s={type:"chunkText",start:e[l][1].start,end:e[i][1].end,contentType:"text"},nr(e,l,i-l+1,[["enter",o,n],["enter",s,n],["exit",s,n],["exit",o,n]])),e}function Wj(e,n,i){let l=0;return o;function o(m){return e.enter("atxHeading"),s(m)}function s(m){return e.enter("atxHeadingSequence"),u(m)}function u(m){return m===35&&l++<6?(e.consume(m),u):m===null||rn(m)?(e.exit("atxHeadingSequence"),f(m)):i(m)}function f(m){return m===35?(e.enter("atxHeadingSequence"),d(m)):m===null||Te(m)?(e.exit("atxHeading"),n(m)):Pe(m)?ot(e,f,"whitespace")(m):(e.enter("atxHeadingText"),h(m))}function d(m){return m===35?(e.consume(m),d):(e.exit("atxHeadingSequence"),f(m))}function h(m){return m===null||m===35||rn(m)?(e.exit("atxHeadingText"),f(m)):(e.consume(m),h)}}const eO=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],W1=["pre","script","style","textarea"],tO={concrete:!0,name:"htmlFlow",resolveTo:iO,tokenize:lO},nO={partial:!0,tokenize:oO},rO={partial:!0,tokenize:aO};function iO(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function lO(e,n,i){const l=this;let o,s,u,f,d;return h;function h(N){return m(N)}function m(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),p}function p(N){return N===33?(e.consume(N),x):N===47?(e.consume(N),s=!0,k):N===63?(e.consume(N),o=3,l.interrupt?n:j):Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function x(N){return N===45?(e.consume(N),o=2,v):N===91?(e.consume(N),o=5,f=0,w):Jn(N)?(e.consume(N),o=4,l.interrupt?n:j):i(N)}function v(N){return N===45?(e.consume(N),l.interrupt?n:j):i(N)}function w(N){const V="CDATA[";return N===V.charCodeAt(f++)?(e.consume(N),f===V.length?l.interrupt?n:I:w):i(N)}function k(N){return Jn(N)?(e.consume(N),u=String.fromCharCode(N),S):i(N)}function S(N){if(N===null||N===47||N===62||rn(N)){const V=N===47,P=u.toLowerCase();return!V&&!s&&W1.includes(P)?(o=1,l.interrupt?n(N):I(N)):eO.includes(u.toLowerCase())?(o=6,V?(e.consume(N),E):l.interrupt?n(N):I(N)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?i(N):s?z(N):_(N))}return N===45||xn(N)?(e.consume(N),u+=String.fromCharCode(N),S):i(N)}function E(N){return N===62?(e.consume(N),l.interrupt?n:I):i(N)}function z(N){return Pe(N)?(e.consume(N),z):X(N)}function _(N){return N===47?(e.consume(N),X):N===58||N===95||Jn(N)?(e.consume(N),A):Pe(N)?(e.consume(N),_):X(N)}function A(N){return N===45||N===46||N===58||N===95||xn(N)?(e.consume(N),A):B(N)}function B(N){return N===61?(e.consume(N),T):Pe(N)?(e.consume(N),B):_(N)}function T(N){return N===null||N===60||N===61||N===62||N===96?i(N):N===34||N===39?(e.consume(N),d=N,q):Pe(N)?(e.consume(N),T):M(N)}function q(N){return N===d?(e.consume(N),d=null,R):N===null||Te(N)?i(N):(e.consume(N),q)}function M(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||rn(N)?B(N):(e.consume(N),M)}function R(N){return N===47||N===62||Pe(N)?_(N):i(N)}function X(N){return N===62?(e.consume(N),H):i(N)}function H(N){return N===null||Te(N)?I(N):Pe(N)?(e.consume(N),H):i(N)}function I(N){return N===45&&o===2?(e.consume(N),D):N===60&&o===1?(e.consume(N),$):N===62&&o===4?(e.consume(N),U):N===63&&o===3?(e.consume(N),j):N===93&&o===5?(e.consume(N),J):Te(N)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(nO,F,ee)(N)):N===null||Te(N)?(e.exit("htmlFlowData"),ee(N)):(e.consume(N),I)}function ee(N){return e.check(rO,L,F)(N)}function L(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),G}function G(N){return N===null||Te(N)?ee(N):(e.enter("htmlFlowData"),I(N))}function D(N){return N===45?(e.consume(N),j):I(N)}function $(N){return N===47?(e.consume(N),u="",Z):I(N)}function Z(N){if(N===62){const V=u.toLowerCase();return W1.includes(V)?(e.consume(N),U):I(N)}return Jn(N)&&u.length<8?(e.consume(N),u+=String.fromCharCode(N),Z):I(N)}function J(N){return N===93?(e.consume(N),j):I(N)}function j(N){return N===62?(e.consume(N),U):N===45&&o===2?(e.consume(N),j):I(N)}function U(N){return N===null||Te(N)?(e.exit("htmlFlowData"),F(N)):(e.consume(N),U)}function F(N){return e.exit("htmlFlow"),n(N)}}function aO(e,n,i){const l=this;return o;function o(u){return Te(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):i(u)}function s(u){return l.parser.lazy[l.now().line]?i(u):n(u)}}function oO(e,n,i){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(xc,n,i)}}const sO={name:"htmlText",tokenize:uO};function uO(e,n,i){const l=this;let o,s,u;return f;function f(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),d}function d(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),B):j===63?(e.consume(j),_):Jn(j)?(e.consume(j),M):i(j)}function h(j){return j===45?(e.consume(j),m):j===91?(e.consume(j),s=0,w):Jn(j)?(e.consume(j),z):i(j)}function m(j){return j===45?(e.consume(j),v):i(j)}function p(j){return j===null?i(j):j===45?(e.consume(j),x):Te(j)?(u=p,$(j)):(e.consume(j),p)}function x(j){return j===45?(e.consume(j),v):p(j)}function v(j){return j===62?D(j):j===45?x(j):p(j)}function w(j){const U="CDATA[";return j===U.charCodeAt(s++)?(e.consume(j),s===U.length?k:w):i(j)}function k(j){return j===null?i(j):j===93?(e.consume(j),S):Te(j)?(u=k,$(j)):(e.consume(j),k)}function S(j){return j===93?(e.consume(j),E):k(j)}function E(j){return j===62?D(j):j===93?(e.consume(j),E):k(j)}function z(j){return j===null||j===62?D(j):Te(j)?(u=z,$(j)):(e.consume(j),z)}function _(j){return j===null?i(j):j===63?(e.consume(j),A):Te(j)?(u=_,$(j)):(e.consume(j),_)}function A(j){return j===62?D(j):_(j)}function B(j){return Jn(j)?(e.consume(j),T):i(j)}function T(j){return j===45||xn(j)?(e.consume(j),T):q(j)}function q(j){return Te(j)?(u=q,$(j)):Pe(j)?(e.consume(j),q):D(j)}function M(j){return j===45||xn(j)?(e.consume(j),M):j===47||j===62||rn(j)?R(j):i(j)}function R(j){return j===47?(e.consume(j),D):j===58||j===95||Jn(j)?(e.consume(j),X):Te(j)?(u=R,$(j)):Pe(j)?(e.consume(j),R):D(j)}function X(j){return j===45||j===46||j===58||j===95||xn(j)?(e.consume(j),X):H(j)}function H(j){return j===61?(e.consume(j),I):Te(j)?(u=H,$(j)):Pe(j)?(e.consume(j),H):R(j)}function I(j){return j===null||j===60||j===61||j===62||j===96?i(j):j===34||j===39?(e.consume(j),o=j,ee):Te(j)?(u=I,$(j)):Pe(j)?(e.consume(j),I):(e.consume(j),L)}function ee(j){return j===o?(e.consume(j),o=void 0,G):j===null?i(j):Te(j)?(u=ee,$(j)):(e.consume(j),ee)}function L(j){return j===null||j===34||j===39||j===60||j===61||j===96?i(j):j===47||j===62||rn(j)?R(j):(e.consume(j),L)}function G(j){return j===47||j===62||rn(j)?R(j):i(j)}function D(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),n):i(j)}function $(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),Z}function Z(j){return Pe(j)?ot(e,J,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):J(j)}function J(j){return e.enter("htmlTextData"),u(j)}}const xm={name:"labelEnd",resolveAll:hO,resolveTo:pO,tokenize:mO},cO={tokenize:gO},fO={tokenize:yO},dO={tokenize:xO};function hO(e){let n=-1;const i=[];for(;++n=3&&(h===null||Te(h))?(e.exit("thematicBreak"),n(h)):i(h)}function d(h){return h===o?(e.consume(h),l++,d):(e.exit("thematicBreakSequence"),Pe(h)?ot(e,f,"whitespace")(h):f(h))}}const tn={continuation:{tokenize:TO},exit:AO,name:"list",tokenize:CO},NO={partial:!0,tokenize:MO},kO={partial:!0,tokenize:zO};function CO(e,n,i){const l=this,o=l.events[l.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(v){const w=l.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||v===l.containerState.marker:Dp(v)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Bu,i,h)(v):h(v);if(!l.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(v)}return i(v)}function d(v){return Dp(v)&&++u<10?(e.consume(v),d):(!l.interrupt||u<2)&&(l.containerState.marker?v===l.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):i(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||v,e.check(xc,l.interrupt?i:m,e.attempt(NO,x,p))}function m(v){return l.containerState.initialBlankLine=!0,s++,x(v)}function p(v){return Pe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),x):i(v)}function x(v){return l.containerState.size=s+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(v)}}function TO(e,n,i){const l=this;return l.containerState._closeFlow=void 0,e.check(xc,o,s);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,ot(e,n,"listItemIndent",l.containerState.size+1)(f)}function s(f){return l.containerState.furtherBlankLines||!Pe(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(kO,n,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,ot(e,e.attempt(tn,n,i),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function zO(e,n,i){const l=this;return ot(e,o,"listItemIndent",l.containerState.size+1);function o(s){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?n(s):i(s)}}function AO(e){e.exit(this.containerState.type)}function MO(e,n,i){const l=this;return ot(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const u=l.events[l.events.length-1];return!Pe(s)&&u&&u[1].type==="listItemPrefixWhitespace"?n(s):i(s)}}const eb={name:"setextUnderline",resolveTo:jO,tokenize:OO};function jO(e,n){let i=e.length,l,o,s;for(;i--;)if(e[i][0]==="enter"){if(e[i][1].type==="content"){l=i;break}e[i][1].type==="paragraph"&&(o=i)}else e[i][1].type==="content"&&e.splice(i,1),!s&&e[i][1].type==="definition"&&(s=i);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",s?(e.splice(o,0,["enter",u,n]),e.splice(s+1,0,["exit",e[l][1],n]),e[l][1].end={...e[s][1].end}):e[l][1]=u,e.push(["exit",u,n]),e}function OO(e,n,i){const l=this;let o;return s;function s(h){let m=l.events.length,p;for(;m--;)if(l.events[m][1].type!=="lineEnding"&&l.events[m][1].type!=="linePrefix"&&l.events[m][1].type!=="content"){p=l.events[m][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||p)?(e.enter("setextHeadingLine"),o=h,u(h)):i(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Pe(h)?ot(e,d,"lineSuffix")(h):d(h))}function d(h){return h===null||Te(h)?(e.exit("setextHeadingLine"),n(h)):i(h)}}const DO={tokenize:RO};function RO(e){const n=this,i=e.attempt(xc,l,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt(Uj,o)),"linePrefix")));return i;function l(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),n.currentConstruct=void 0,i}function o(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n.currentConstruct=void 0,i}}const LO={resolveAll:s_()},HO=o_("string"),BO=o_("text");function o_(e){return{resolveAll:s_(e==="text"?qO:void 0),tokenize:n};function n(i){const l=this,o=this.parser.constructs[e],s=i.attempt(o,u,f);return u;function u(m){return h(m)?s(m):f(m)}function f(m){if(m===null){i.consume(m);return}return i.enter("data"),i.consume(m),d}function d(m){return h(m)?(i.exit("data"),s(m)):(i.consume(m),d)}function h(m){if(m===null)return!0;const p=o[m];let x=-1;if(p)for(;++x-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}s>0&&u.push(e[o].slice(0,s))}return u}function JO(e,n){let i=-1;const l=[];let o;for(;++i0){const $t=Ne.tokenStack[Ne.tokenStack.length-1];($t[1]||nb).call(Ne,void 0,$t[0])}for(me.position={start:ui(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:ui(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ve=-1;++Ve0&&(l.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:l,children:[{type:"text",value:i}]};return n.meta&&(s.data={meta:n.meta}),e.patch(n,s),s=e.applyData(n,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(n,s),s}function dD(e,n){const i={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function hD(e,n){const i={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function pD(e,n){const i=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(n.identifier).toUpperCase(),o=aa(l.toLowerCase()),s=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=s+1,f+=1,e.footnoteCounts.set(l,f);const d={type:"element",tagName:"a",properties:{href:"#"+i+"fn-"+o,id:i+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(n,d);const h={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(n,h),e.applyData(n,h)}function mD(e,n){const i={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function gD(e,n){if(e.options.allowDangerousHtml){const i={type:"raw",value:n.value};return e.patch(n,i),e.applyData(n,i)}}function f_(e,n){const i=n.referenceType;let l="]";if(i==="collapsed"?l+="[]":i==="full"&&(l+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+l}];const o=e.all(n),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function yD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return f_(e,n);const o={src:aa(l.url||""),alt:n.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"img",properties:o,children:[]};return e.patch(n,s),e.applyData(n,s)}function xD(e,n){const i={src:aa(n.url)};n.alt!==null&&n.alt!==void 0&&(i.alt=n.alt),n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function vD(e,n){const i={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,i);const l={type:"element",tagName:"code",properties:{},children:[i]};return e.patch(n,l),e.applyData(n,l)}function bD(e,n){const i=String(n.identifier).toUpperCase(),l=e.definitionById.get(i);if(!l)return f_(e,n);const o={href:aa(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const s={type:"element",tagName:"a",properties:o,children:e.all(n)};return e.patch(n,s),e.applyData(n,s)}function wD(e,n){const i={href:aa(n.url)};n.title!==null&&n.title!==void 0&&(i.title=n.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function SD(e,n,i){const l=e.all(n),o=i?_D(i):d_(n),s={},u=[];if(typeof n.checked=="boolean"){const m=l[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},l.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let f=-1;for(;++f1}function ED(e,n){const i={},l=e.all(n);let o=-1;for(typeof n.start=="number"&&n.start!==1&&(i.start=n.start);++o0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(i,!0)},f=dm(n.children[1]),d=XS(n.children[n.children.length-1]);f&&d&&(u.position={start:f,end:d}),o.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(n,s),e.applyData(n,s)}function zD(e,n,i){const l=i?i.children:void 0,s=(l?l.indexOf(n):1)===0?"th":"td",u=i&&i.type==="table"?i.align:void 0,f=u?u.length:n.children.length;let d=-1;const h=[];for(;++d0,!0),l[0]),o=l.index+l[0].length,l=i.exec(n);return s.push(lb(n.slice(o),o>0,!1)),s.join("")}function lb(e,n,i){let l=0,o=e.length;if(n){let s=e.codePointAt(l);for(;s===rb||s===ib;)l++,s=e.codePointAt(l)}if(i){let s=e.codePointAt(o-1);for(;s===rb||s===ib;)o--,s=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function jD(e,n){const i={type:"text",value:MD(String(n.value))};return e.patch(n,i),e.applyData(n,i)}function OD(e,n){const i={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,i),e.applyData(n,i)}const DD={blockquote:uD,break:cD,code:fD,delete:dD,emphasis:hD,footnoteReference:pD,heading:mD,html:gD,imageReference:yD,image:xD,inlineCode:vD,linkReference:bD,link:wD,listItem:SD,list:ED,paragraph:ND,root:kD,strong:CD,table:TD,tableCell:AD,tableRow:zD,text:jD,thematicBreak:OD,toml:Tu,yaml:Tu,definition:Tu,footnoteDefinition:Tu};function Tu(){}const h_=-1,vc=0,wo=1,ec=2,vm=3,bm=4,wm=5,Sm=6,p_=7,m_=8,ab=typeof self=="object"?self:globalThis,RD=(e,n)=>{const i=(o,s)=>(e.set(s,o),o),l=o=>{if(e.has(o))return e.get(o);const[s,u]=n[o];switch(s){case vc:case h_:return i(u,o);case wo:{const f=i([],o);for(const d of u)f.push(l(d));return f}case ec:{const f=i({},o);for(const[d,h]of u)f[l(d)]=l(h);return f}case vm:return i(new Date(u),o);case bm:{const{source:f,flags:d}=u;return i(new RegExp(f,d),o)}case wm:{const f=i(new Map,o);for(const[d,h]of u)f.set(l(d),l(h));return f}case Sm:{const f=i(new Set,o);for(const d of u)f.add(l(d));return f}case p_:{const{name:f,message:d}=u;return i(new ab[f](d),o)}case m_:return i(BigInt(u),o);case"BigInt":return i(Object(BigInt(u)),o);case"ArrayBuffer":return i(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return i(new DataView(f),u)}}return i(new ab[s](u),o)};return l},ob=e=>RD(new Map,e)(0),Hl="",{toString:LD}={},{keys:HD}=Object,uo=e=>{const n=typeof e;if(n!=="object"||!e)return[vc,n];const i=LD.call(e).slice(8,-1);switch(i){case"Array":return[wo,Hl];case"Object":return[ec,Hl];case"Date":return[vm,Hl];case"RegExp":return[bm,Hl];case"Map":return[wm,Hl];case"Set":return[Sm,Hl];case"DataView":return[wo,i]}return i.includes("Array")?[wo,i]:i.includes("Error")?[p_,i]:[ec,i]},zu=([e,n])=>e===vc&&(n==="function"||n==="symbol"),BD=(e,n,i,l)=>{const o=(u,f)=>{const d=l.push(u)-1;return i.set(f,d),d},s=u=>{if(i.has(u))return i.get(u);let[f,d]=uo(u);switch(f){case vc:{let m=u;switch(d){case"bigint":f=m_,m=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);m=null;break;case"undefined":return o([h_],u)}return o([f,m],u)}case wo:{if(d){let x=u;return d==="DataView"?x=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(x=new Uint8Array(u)),o([d,[...x]],u)}const m=[],p=o([f,m],u);for(const x of u)m.push(s(x));return p}case ec:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(n&&"toJSON"in u)return s(u.toJSON());const m=[],p=o([f,m],u);for(const x of HD(u))(e||!zu(uo(u[x])))&&m.push([s(x),s(u[x])]);return p}case vm:return o([f,u.toISOString()],u);case bm:{const{source:m,flags:p}=u;return o([f,{source:m,flags:p}],u)}case wm:{const m=[],p=o([f,m],u);for(const[x,v]of u)(e||!(zu(uo(x))||zu(uo(v))))&&m.push([s(x),s(v)]);return p}case Sm:{const m=[],p=o([f,m],u);for(const x of u)(e||!zu(uo(x)))&&m.push(s(x));return p}}const{message:h}=u;return o([f,{name:d,message:h}],u)};return s},sb=(e,{json:n,lossy:i}={})=>{const l=[];return BD(!(n||i),!!n,new Map,l)(e),l},tc=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?ob(sb(e,n)):structuredClone(e):(e,n)=>ob(sb(e,n));function qD(e,n){const i=[{type:"text",value:"↩"}];return n>1&&i.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),i}function UD(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function ID(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=e.options.footnoteBackContent||qD,l=e.options.footnoteBackLabel||UD,o=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let d=-1;for(;++d0&&w.push({type:"text",value:" "});let z=typeof i=="string"?i:i(d,v);typeof z=="string"&&(z={type:"text",value:z}),w.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+x+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(d,v),className:["data-footnote-backref"]},children:Array.isArray(z)?z:[z]})}const S=m[m.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const z=S.children[S.children.length-1];z&&z.type==="text"?z.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...w)}else m.push(...w);const E={type:"element",tagName:"li",properties:{id:n+"fn-"+x},children:e.wrap(m,!0)};e.patch(h,E),f.push(E)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...tc(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` +`},{type:"element",tagName:"ol",properties:{},children:e.wrap(f,!0)},{type:"text",value:` +`}]}}const g_=(function(e){if(e==null)return $D;if(typeof e=="function")return bc(e);if(typeof e=="object")return Array.isArray(e)?VD(e):YD(e);if(typeof e=="string")return GD(e);throw new Error("Expected function, string, or object as test")});function VD(e){const n=[];let i=-1;for(;++i":""))+")"})}return x;function x(){let v=y_,w,k,S;if((!n||s(d,h,m[m.length-1]||void 0))&&(v=ZD(i(d,m)),v[0]===ub))return v;if("children"in d&&d.children){const E=d;if(E.children&&v[0]!==PD)for(k=(l?E.children.length:-1)+u,S=m.concat(E);k>-1&&k0&&i.push({type:"text",value:` +`}),i}function cb(e){let n=0,i=e.charCodeAt(n);for(;i===9||i===32;)n++,i=e.charCodeAt(n);return e.slice(n)}function fb(e,n){const i=JD(e,n),l=i.one(e,void 0),o=ID(i),s=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&s.children.push({type:"text",value:` +`},o),s}function rR(e,n){return e&&"run"in e?async function(i,l){const o=fb(i,{file:l,...n});await e.run(o,l)}:function(i,l){return fb(i,{file:l,...e||n})}}function db(e){if(e)throw e}var np,hb;function iR(){if(hb)return np;hb=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):n.call(h)==="[object Array]"},s=function(h){if(!h||n.call(h)!=="[object Object]")return!1;var m=e.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var x;for(x in h);return typeof x>"u"||e.call(h,x)},u=function(h,m){i&&m.name==="__proto__"?i(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},f=function(h,m){if(m==="__proto__")if(e.call(h,m)){if(l)return l(h,m).value}else return;return h[m]};return np=function d(){var h,m,p,x,v,w,k=arguments[0],S=1,E=arguments.length,z=!1;for(typeof k=="boolean"&&(z=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});Su.length;let d;f&&u.push(o);try{d=e.apply(this,u)}catch(h){const m=h;if(f&&i)throw m;return o(m)}f||(d&&d.then&&typeof d.then=="function"?d.then(s,o):d instanceof Error?o(d):s(d))}function o(u,...f){i||(i=!0,n(u,...f))}function s(u){o(null,u)}}const Zn={basename:sR,dirname:uR,extname:cR,join:fR,sep:"/"};function sR(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');Fo(e);let i=0,l=-1,o=e.length,s;if(n===void 0||n.length===0||n.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else l<0&&(s=!0,l=o+1);return l<0?"":e.slice(i,l)}if(n===e)return"";let u=-1,f=n.length-1;for(;o--;)if(e.codePointAt(o)===47){if(s){i=o+1;break}}else u<0&&(s=!0,u=o+1),f>-1&&(e.codePointAt(o)===n.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return i===l?l=u:l<0&&(l=e.length),e.slice(i,l)}function uR(e){if(Fo(e),e.length===0)return".";let n=-1,i=e.length,l;for(;--i;)if(e.codePointAt(i)===47){if(l){n=i;break}}else l||(l=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function cR(e){Fo(e);let n=e.length,i=-1,l=0,o=-1,s=0,u;for(;n--;){const f=e.codePointAt(n);if(f===47){if(u){l=n+1;break}continue}i<0&&(u=!0,i=n+1),f===46?o<0?o=n:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||i<0||s===0||s===1&&o===i-1&&o===l+1?"":e.slice(o,i)}function fR(...e){let n=-1,i;for(;++n0&&e.codePointAt(e.length-1)===47&&(i+="/"),n?"/"+i:i}function hR(e,n){let i="",l=0,o=-1,s=0,u=-1,f,d;for(;++u<=e.length;){if(u2){if(d=i.lastIndexOf("/"),d!==i.length-1){d<0?(i="",l=0):(i=i.slice(0,d),l=i.length-1-i.lastIndexOf("/")),o=u,s=0;continue}}else if(i.length>0){i="",l=0,o=u,s=0;continue}}n&&(i=i.length>0?i+"/..":"..",l=2)}else i.length>0?i+="/"+e.slice(o+1,u):i=e.slice(o+1,u),l=u-o-1;o=u,s=0}else f===46&&s>-1?s++:s=-1}return i}function Fo(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const pR={cwd:mR};function mR(){return"/"}function Bp(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function gR(e){if(typeof e=="string")e=new URL(e);else if(!Bp(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return yR(e)}function yR(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const n=e.pathname;let i=-1;for(;++i0){let[v,...w]=m;const k=l[x][1];Hp(k)&&Hp(v)&&(v=rp(!0,k,v)),l[x]=[h,v,...w]}}}}const wR=new _m().freeze();function op(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function sp(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function up(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function mb(e){if(!Hp(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function gb(e,n,i){if(!i)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Au(e){return SR(e)?e:new v_(e)}function SR(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function _R(e){return typeof e=="string"||ER(e)}function ER(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const NR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",yb=[],xb={allowDangerousHtml:!0},kR=/^(https?|ircs?|mailto|xmpp)$/i,CR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function TR(e){const n=zR(e),i=AR(e);return MR(n.runSync(n.parse(i),i),e)}function zR(e){const n=e.rehypePlugins||yb,i=e.remarkPlugins||yb,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...xb}:xb;return wR().use(sD).use(i).use(rR,l).use(n)}function AR(e){const n=e.children||"",i=new v_;return typeof n=="string"&&(i.value=n),i}function MR(e,n){const i=n.allowedElements,l=n.allowElement,o=n.components,s=n.disallowedElements,u=n.skipHtml,f=n.unwrapDisallowed,d=n.urlTransform||jR;for(const m of CR)Object.hasOwn(n,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+NR+m.id,void 0);return x_(e,h),I5(e,{Fragment:b.Fragment,components:o,ignoreInvalidStyle:!0,jsx:b.jsx,jsxs:b.jsxs,passKeys:!0,passNode:!0});function h(m,p,x){if(m.type==="raw"&&x&&typeof p=="number")return u?x.children.splice(p,1):x.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in Wh)if(Object.hasOwn(Wh,v)&&Object.hasOwn(m.properties,v)){const w=m.properties[v],k=Wh[v];(k===null||k.includes(m.tagName))&&(m.properties[v]=d(String(w||""),v,m))}}if(m.type==="element"){let v=i?!i.includes(m.tagName):s?s.includes(m.tagName):!1;if(!v&&l&&typeof p=="number"&&(v=!l(m,p,x)),v&&x&&typeof p=="number")return f&&m.children?x.children.splice(p,1,...m.children):x.children.splice(p,1),p}}}function jR(e){const n=e.indexOf(":"),i=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return n===-1||o!==-1&&n>o||i!==-1&&n>i||l!==-1&&n>l||kR.test(e.slice(0,n))?e:""}function OR({node:e}){const n=xe(_=>_.sendGateResponse),i=xe(_=>_.wsStatus),[l,o]=Y.useState(null),[s,u]=Y.useState(""),[f,d]=Y.useState(null),[h,m]=Y.useState(!1),p=e.status==="waiting",x=e.status==="completed";Y.useEffect(()=>{p&&(o(null),u(""),d(null),m(!1))},[p]);const v=p&&i==="connected"&&l===null,w=(_,A)=>{if(v){if(A){o(_),d(A);return}o(_),m(!0),n(e.name,_)}},k=()=>{if(l===null||f===null)return;const _={[f]:s};m(!0),n(e.name,l,_),d(null)},S=e.option_details,E=S==null?void 0:S.find(_=>_.value===e.selected_option),z=(E==null?void 0:E.label)||e.selected_option;return b.jsxs("div",{className:"space-y-3",children:[p&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[b.jsxs("span",{className:"relative flex h-2.5 w-2.5 flex-shrink-0",children:[b.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),b.jsx("span",{className:"relative inline-flex rounded-full h-2.5 w-2.5 bg-amber-500"})]}),b.jsx("span",{className:"text-xs font-semibold text-amber-400 tracking-wide",children:"Decision Required"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-amber-500/50 pl-3 py-0.5",children:b.jsx(cp,{text:e.prompt,muted:!1})}),S&&S.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsx("div",{className:"flex flex-col gap-1.5",children:S.map(_=>{const A=l===_.value,B=l!==null&&!A;return b.jsx("button",{disabled:!v&&!A,onClick:()=>w(_.value,_.prompt_for),className:`w-full text-left px-3 py-2.5 rounded-lg border transition-all duration-150 ${A?"border-green-500/60 bg-green-500/10":B?"border-[var(--border)] opacity-40 cursor-default":"border-[var(--border)] bg-[var(--surface)] hover:border-amber-400/60 hover:bg-amber-500/5 cursor-pointer group"}`,children:b.jsxs("div",{className:"flex items-center gap-2.5",children:[b.jsx("div",{className:"flex-shrink-0",children:A?b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}):b.jsx("div",{className:`w-4 h-4 rounded-full border-2 transition-colors ${B?"border-[var(--border)]":"border-[var(--border)] group-hover:border-amber-400"}`})}),b.jsx("div",{className:"flex-1 min-w-0",children:b.jsx("span",{className:`text-xs font-medium ${A?"text-green-400":"text-[var(--text)]"}`,children:_.label})}),_.route&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] flex-shrink-0",children:["→ ",_.route]})]})},_.value)})}),h&&!f&&b.jsxs("div",{className:"flex items-center gap-2 px-1",children:[b.jsx(So,{className:"w-3 h-3 text-green-400 animate-spin"}),b.jsx("span",{className:"text-[10px] text-green-400",children:"Sending..."})]}),v&&b.jsx("p",{className:"text-[10px] text-[var(--text-muted)] px-1",children:"Select an option to continue the workflow"})]}),!S&&e.options&&e.options.length>0&&b.jsxs("div",{className:"space-y-1.5",children:[b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:"Options"}),b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsx("span",{className:"text-[11px] px-2 py-0.5 rounded border border-[var(--border)] text-[var(--text-muted)]",children:_},_))})]}),f&&b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--bg)] overflow-hidden",children:[b.jsx("div",{className:"px-3 py-2 border-b border-[var(--border)] bg-[var(--surface)]",children:b.jsx("h4",{className:"text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold",children:f})}),b.jsxs("div",{className:"p-3 space-y-2",children:[b.jsx("input",{type:"text",value:s,onChange:_=>u(_.target.value),onKeyDown:_=>_.key==="Enter"&&k(),placeholder:`Enter ${f}...`,className:"w-full text-xs px-3 py-2 rounded-lg border border-[var(--border)] bg-[var(--bg)] text-[var(--text)] outline-none focus:border-amber-400 transition-colors",autoFocus:!0}),b.jsxs("div",{className:"flex items-center justify-between",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)]",children:"Press Enter or click Submit"}),b.jsxs("button",{onClick:k,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-amber-500 text-white hover:bg-amber-600 transition-colors font-medium",children:[b.jsx(tN,{className:"w-3 h-3"}),"Submit"]})]})]})]})]}),x&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg bg-green-500/10 border border-green-500/30",children:[b.jsx(Bi,{className:"w-3.5 h-3.5 text-green-400 flex-shrink-0"}),b.jsx("span",{className:"text-xs font-semibold text-green-400 tracking-wide",children:"Decision Completed"})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(cp,{text:e.prompt,muted:!0})}),z&&b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-green-500/30 bg-green-500/5",children:[b.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center flex-shrink-0",children:b.jsx(Bi,{className:"w-2.5 h-2.5 text-white",strokeWidth:3})}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)]",children:z}),e.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",e.route]})]}),S&&S.length>1&&b.jsx("div",{className:"space-y-1",children:S.filter(_=>_.value!==e.selected_option).map(_=>b.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded-lg opacity-35",children:[b.jsx("div",{className:"w-4 h-4 rounded-full border-2 border-[var(--border)] flex-shrink-0"}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:_.label}),_.route&&b.jsxs("span",{className:"ml-auto text-[10px] text-[var(--text-muted)]",children:["→ ",_.route]})]},_.value))}),!S&&e.options&&e.options.length>0&&b.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(_=>b.jsxs("span",{className:`text-[11px] px-2.5 py-1 rounded-lg border ${_===e.selected_option?"border-green-500/30 text-green-400 bg-green-500/5":"border-[var(--border)] text-[var(--text-muted)] opacity-40"}`,children:[_===e.selected_option&&"✓ ",_]},_))}),b.jsx(DR,{node:e})]}),!p&&!x&&b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:"Human Gate"}),b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] capitalize",children:["(",e.status,")"]})]}),e.prompt&&b.jsx("div",{className:"border-l-2 border-[var(--border)] pl-3 py-0.5",children:b.jsx(cp,{text:e.prompt,muted:!0})})]})]})}function cp({text:e,muted:n}){const i=n?"text-[var(--text-muted)]":"text-[var(--text)]";return b.jsx("div",{className:`gate-markdown text-xs leading-relaxed ${i}`,children:b.jsx(TR,{components:{h1:({children:l})=>b.jsx("h1",{className:"text-sm font-bold mb-2 mt-1",children:l}),h2:({children:l})=>b.jsx("h2",{className:"text-xs font-bold mb-1.5 mt-1",children:l}),h3:({children:l})=>b.jsx("h3",{className:"text-xs font-semibold mb-1 mt-1",children:l}),p:({children:l})=>b.jsx("p",{className:"mb-1.5 last:mb-0",children:l}),ul:({children:l})=>b.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:l}),ol:({children:l})=>b.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:l}),li:({children:l})=>b.jsx("li",{children:l}),code:({children:l,className:o})=>(o==null?void 0:o.includes("language-"))?b.jsx("code",{className:"block bg-[var(--bg)] border border-[var(--border)] rounded px-2 py-1.5 font-mono text-[11px] my-1 overflow-x-auto whitespace-pre",children:l}):b.jsx("code",{className:"bg-[var(--bg)] border border-[var(--border)] rounded px-1 py-0.5 font-mono text-[11px]",children:l}),pre:({children:l})=>b.jsx("pre",{className:"bg-[var(--bg)] border border-[var(--border)] rounded-md px-2.5 py-2 font-mono text-[11px] my-1.5 overflow-x-auto",children:l}),strong:({children:l})=>b.jsx("strong",{className:"font-semibold",children:l}),em:({children:l})=>b.jsx("em",{className:"italic",children:l}),a:({href:l,children:o})=>b.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline underline-offset-2",children:o}),blockquote:({children:l})=>b.jsx("blockquote",{className:"border-l-2 border-[var(--border)] pl-2.5 my-1.5 opacity-80",children:l}),hr:()=>b.jsx("hr",{className:"border-[var(--border)] my-2"})},children:e})})}function DR({node:e}){const n=[];if(e.route&&n.push({label:"Route",value:`→ ${e.route}`}),e.additional_input){const i=typeof e.additional_input=="object"?JSON.stringify(e.additional_input):e.additional_input;n.push({label:"Additional Input",value:i})}return n.length===0?null:b.jsx(ia,{items:n})}function RR({node:e}){const n=e.status,i=lt[n]||lt.pending,o=xe(m=>m.groupProgress)[e.name],s=e.type==="for_each_group",[u,f]=Y.useState(!0),d=[];e.elapsed!=null&&d.push({label:"Elapsed",value:In(e.elapsed)}),o&&(d.push({label:"Total",value:o.total}),d.push({label:"Completed",value:o.completed}),o.failed>0&&d.push({label:"Failed",value:o.failed})),e.success_count!=null&&d.push({label:"Success",value:e.success_count}),e.failure_count!=null&&d.push({label:"Failures",value:e.failure_count});const h=e.for_each_items;return b.jsxs("div",{className:"space-y-4",children:[b.jsxs("div",{className:"flex items-center gap-2",children:[b.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider",style:{backgroundColor:`${i}20`,color:i},children:n}),b.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:s?"For-Each Group":"Parallel Group"})]}),o&&o.total>0&&b.jsxs("div",{className:"space-y-1",children:[b.jsxs("div",{className:"flex justify-between text-[10px] text-[var(--text-muted)]",children:[b.jsx("span",{children:"Progress"}),b.jsxs("span",{children:[o.completed+o.failed,"/",o.total]})]}),b.jsx("div",{className:"h-1.5 bg-[var(--bg)] rounded-full overflow-hidden",children:b.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${(o.completed+o.failed)/o.total*100}%`,background:o.failed>0?`linear-gradient(90deg, var(--completed) ${o.completed/(o.completed+o.failed)*100}%, var(--failed) 0%)`:"var(--completed)"}})})]}),b.jsx(ia,{items:d}),s&&h&&h.length>0&&b.jsxs("div",{className:"space-y-2",children:[b.jsxs("button",{onClick:()=>f(!u),className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-[var(--text-muted)] font-semibold hover:text-[var(--text)] transition-colors",children:[u?b.jsx(ra,{className:"w-3 h-3"}):b.jsx(Ho,{className:"w-3 h-3"}),"Items (",h.length,")"]}),u&&b.jsx("div",{className:"space-y-1",children:h.map(m=>b.jsx(HR,{item:m},`${m.key}-${m.index}`))})]})]})}const LR={running:lt.running,completed:lt.completed,failed:lt.failed};function HR({item:e}){const[n,i]=Y.useState(e.status==="running"),l=LR[e.status],o=!!(e.prompt||e.output!=null||e.activity&&e.activity.length>0||e.error_type),s=[];return e.elapsed!=null&&s.push({label:"Elapsed",value:In(e.elapsed)}),e.tokens!=null&&s.push({label:"Tokens",value:Wn(e.tokens)}),e.cost_usd!=null&&s.push({label:"Cost",value:Ql(e.cost_usd)}),b.jsxs("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--surface)] overflow-hidden",children:[b.jsxs("button",{onClick:()=>o&&i(!n),className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--node-bg)] transition-colors",disabled:!o,children:[o?n?b.jsx(ra,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):b.jsx(Ho,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}):e.status==="running"?b.jsx(So,{className:"w-3 h-3 animate-spin flex-shrink-0",style:{color:l}}):b.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0 ml-0.5 mr-0.5",style:{backgroundColor:l}}),b.jsx("span",{className:"text-xs font-medium text-[var(--text)] truncate flex-1 min-w-0",children:e.key}),!n&&(e.elapsed!=null||e.tokens!=null||e.cost_usd!=null)&&b.jsxs("span",{className:"flex items-center gap-2 text-[10px] text-[var(--text-muted)] flex-shrink-0",children:[e.elapsed!=null&&b.jsx("span",{children:In(e.elapsed)}),e.tokens!=null&&b.jsx("span",{children:Wn(e.tokens)}),e.cost_usd!=null&&b.jsx("span",{children:Ql(e.cost_usd)})]}),b.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider flex-shrink-0 px-1.5 py-0.5 rounded",style:{backgroundColor:`${l}20`,color:l},children:e.status})]}),n&&o&&b.jsxs("div",{className:"px-3 py-3 space-y-3 border-t border-[var(--border)]",children:[s.length>0&&b.jsx(ia,{items:s}),e.prompt&&b.jsx(Fi,{output:e.prompt,title:"Input / Prompt",defaultExpanded:!1}),e.activity&&e.activity.length>0&&b.jsx(um,{activity:e.activity,defaultExpanded:e.status!=="completed"}),e.output!=null&&b.jsx(Fi,{output:e.output,title:"Output",defaultExpanded:!0}),e.status==="failed"&&(e.error_type||e.error_message)&&b.jsxs("div",{className:"text-xs text-red-400",children:[e.error_type&&b.jsx("span",{className:"font-semibold",children:e.error_type}),e.error_message&&b.jsxs("span",{className:"ml-1",children:["— ",e.error_message]})]})]})]})}function BR(){const e=xe(f=>f.selectedNode),n=xe(f=>f.nodes),i=xe(f=>f.selectNode),[l,o]=Y.useState(!1);Y.useEffect(()=>(requestAnimationFrame(()=>o(!0)),()=>o(!1)),[e]);const s=e?n[e]:null;if(!e||!s)return b.jsxs("div",{className:"h-full flex flex-col bg-[var(--surface)]",children:[b.jsx("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)]",children:"Detail"})}),b.jsx("div",{className:"flex-1 flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Click a node to view details"})})]});const u=(()=>{switch(s.type){case"script":return d5;case"human_gate":return OR;case"parallel_group":case"for_each_group":return RR;default:return c5}})();return b.jsxs("div",{className:Ye("h-full flex flex-col bg-[var(--surface)] transition-all duration-150 ease-out",l?"translate-x-0 opacity-100":"translate-x-4 opacity-0"),children:[b.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] flex-shrink-0",children:[b.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] truncate",children:e}),b.jsx("button",{onClick:()=>i(null),className:"p-1 rounded hover:bg-[var(--surface-hover)] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",title:"Close panel",children:b.jsx(nc,{className:"w-4 h-4"})})]}),b.jsx("div",{className:"flex-1 overflow-y-auto px-4 py-3",children:b.jsx(u,{node:s})})]})}function qu(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function qR(){const e=xe(S=>S.eventLog),n=xe(S=>S.activityLog),i=xe(S=>S.workflowOutput),l=xe(S=>S.workflowStatus),[o,s]=Y.useState("log"),[u,f]=Y.useState(!1),[d,h]=Y.useState(0),[m,p]=Y.useState(0),x=Y.useCallback(S=>{s(S),S==="log"&&h(e.length),S==="activity"&&p(n.length)},[e.length,n.length]);Y.useEffect(()=>{o==="log"&&h(e.length)},[o,e.length]),Y.useEffect(()=>{o==="activity"&&p(n.length)},[o,n.length]),Y.useEffect(()=>{l==="completed"&&i!=null&&s("output")},[l,i]);const v=i!=null,w=o!=="log"?Math.max(0,e.length-d):0,k=o!=="activity"?Math.max(0,n.length-m):0;return u?b.jsx("div",{className:"flex items-center bg-[var(--surface)] border-t border-[var(--border)] px-3 py-1",children:b.jsxs("button",{onClick:()=>f(!1),className:"flex items-center gap-1.5 text-xs text-[var(--text-muted)] hover:text-[var(--text)] transition-colors",children:[b.jsx(Y2,{className:"w-3 h-3"}),b.jsx(gx,{className:"w-3 h-3"}),b.jsx("span",{children:"Output"}),n.length>0&&b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["(",n.length,")"]})]})}):b.jsxs("div",{className:"flex flex-col h-full bg-[var(--surface)] border-t border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center justify-between px-2 flex-shrink-0 border-b border-[var(--border)]",children:[b.jsxs("div",{className:"flex items-center gap-0.5",children:[b.jsx(fp,{active:o==="log",onClick:()=>x("log"),icon:b.jsx(gx,{className:"w-3 h-3"}),label:"Log",count:e.length,unread:w}),b.jsx(fp,{active:o==="activity",onClick:()=>x("activity"),icon:b.jsx(_b,{className:"w-3 h-3"}),label:"Activity",count:n.length,unread:k}),b.jsx(fp,{active:o==="output",onClick:()=>x("output"),icon:b.jsx(Q2,{className:"w-3 h-3"}),label:"Output",badge:v?l==="failed"?"error":"success":void 0})]}),b.jsx("button",{onClick:()=>f(!0),className:"p-1 rounded text-[var(--text-muted)] hover:text-[var(--text)] hover:bg-[var(--surface-hover)] transition-colors",title:"Collapse panel",children:b.jsx(ra,{className:"w-3.5 h-3.5"})})]}),b.jsx("div",{className:"flex-1 overflow-hidden",children:o==="activity"?b.jsx(UR,{entries:n}):o==="log"?b.jsx(IR,{entries:e}):b.jsx(VR,{output:i,status:l})})]})}function fp({active:e,onClick:n,icon:i,label:l,count:o,badge:s,unread:u}){return b.jsxs("button",{onClick:n,className:Ye("relative flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors border-b-2 -mb-px",e?"text-[var(--text)] border-[var(--accent)]":"text-[var(--text-muted)] border-transparent hover:text-[var(--text-secondary)]"),children:[i,b.jsx("span",{children:l}),o!=null&&o>0&&b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums",children:o}),s&&b.jsx("span",{className:Ye("w-1.5 h-1.5 rounded-full",s==="success"?"bg-[var(--completed)]":"bg-[var(--failed)]")}),!e&&u!=null&&u>0&&b.jsx("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 min-w-[14px] items-center justify-center rounded-full bg-[var(--accent)] px-1",children:b.jsx("span",{className:"text-[8px] font-bold text-white leading-none tabular-nums",children:u>99?"99+":u})})]})}const vb={reasoning:{color:"text-indigo-400/70",label:"THINK",labelColor:"text-indigo-500"},"tool-start":{color:"text-blue-400",label:"TOOL →",labelColor:"text-blue-500"},"tool-complete":{color:"text-green-400",label:"TOOL ←",labelColor:"text-green-600"},turn:{color:"text-amber-400",label:"STEP",labelColor:"text-amber-500"},message:{color:"text-[var(--text)]",label:"MSG",labelColor:"text-[var(--text-muted)]"},prompt:{color:"text-cyan-400/70",label:"PROMPT",labelColor:"text-cyan-600"}};function UR({entries:e}){const n=Y.useRef(null),i=Y.useRef(!0),l=xe(d=>d.selectNode),[o,s]=Y.useState(""),u=Y.useCallback(()=>{const d=n.current;if(!d)return;const h=d.scrollHeight-d.scrollTop-d.clientHeight<30;i.current=h},[]),f=Y.useMemo(()=>{if(!o)return e;const d=o.toLowerCase();return e.filter(h=>h.source.toLowerCase().includes(d)||qu(h.message).toLowerCase().includes(d))},[e,o]);return Y.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[f.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for agent activity…"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx(eN,{className:"w-3 h-3 text-[var(--text-muted)] flex-shrink-0"}),b.jsx("input",{type:"text",value:o,onChange:d=>s(d.target.value),placeholder:"Filter by agent or message…",className:"flex-1 bg-transparent text-[11px] text-[var(--text)] placeholder:text-[var(--text-muted)] outline-none min-w-0"}),o&&b.jsxs(b.Fragment,{children:[b.jsxs("span",{className:"text-[10px] text-[var(--text-muted)] tabular-nums flex-shrink-0",children:[f.length," of ",e.length]}),b.jsx("button",{onClick:()=>s(""),className:"text-[var(--text-muted)] hover:text-[var(--text)] transition-colors flex-shrink-0",title:"Clear filter",children:b.jsx(nc,{className:"w-3 h-3"})})]})]}),b.jsxs("div",{ref:n,onScroll:u,className:"flex-1 overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:[f.map((d,h)=>{const m=vb[d.type]||vb.message,p=b_(d.timestamp);return b.jsxs("div",{className:"group",children:[b.jsxs("div",{className:"flex gap-1.5 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:p}),b.jsx("span",{className:Ye("flex-shrink-0 w-[5ch] text-[10px] font-semibold tabular-nums select-none",m.labelColor),children:m.label}),b.jsx("button",{onClick:()=>l(d.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${d.source}`,children:d.source}),b.jsx("span",{className:Ye("break-words min-w-0",m.color,d.type==="reasoning"&&"italic"),children:qu(d.message)})]}),d.detail&&b.jsx("div",{className:"ml-[calc(7ch+5ch+8ch+1rem)] px-2 py-1 my-0.5 bg-[var(--bg)] rounded text-[10px] text-[var(--text-muted)] whitespace-pre-wrap break-words max-h-24 overflow-y-auto border-l-2 border-[var(--border)]",children:qu(d.detail)})]},h)}),o&&f.length===0&&b.jsx("div",{className:"flex items-center justify-center py-4",children:b.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:['No matches for "',o,'"']})})]})]})}const bb={info:{color:"text-blue-400",icon:"›"},success:{color:"text-green-400",icon:"✓"},error:{color:"text-red-400",icon:"✗"},warning:{color:"text-amber-400",icon:"⚠"},debug:{color:"text-[var(--text-muted)]",icon:"·"}};function IR({entries:e}){const n=Y.useRef(null),i=Y.useRef(!0),l=xe(s=>s.selectNode),o=Y.useCallback(()=>{const s=n.current;if(!s)return;const u=s.scrollHeight-s.scrollTop-s.clientHeight<30;i.current=u},[]);return Y.useEffect(()=>{n.current&&i.current&&(n.current.scrollTop=n.current.scrollHeight)},[e.length]),e.length===0?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Waiting for events…"})}):b.jsx("div",{ref:n,onScroll:o,className:"h-full overflow-y-auto font-mono text-[11px] leading-[1.6] px-3 py-2",children:e.map((s,u)=>{const f=bb[s.level]||bb.info,d=b_(s.timestamp);return b.jsxs("div",{className:"flex gap-2 hover:bg-[var(--surface-hover)] rounded px-1 -mx-1",children:[b.jsx("span",{className:"text-[var(--text-muted)] flex-shrink-0 select-none tabular-nums",children:d}),b.jsx("span",{className:Ye("flex-shrink-0 w-3 text-center select-none",f.color),children:f.icon}),b.jsx("button",{onClick:()=>l(s.source),className:"text-[var(--text-secondary)] flex-shrink-0 min-w-[8ch] max-w-[16ch] truncate hover:text-[var(--accent)] hover:underline transition-colors text-left",title:`Select ${s.source}`,children:s.source}),b.jsx("span",{className:Ye("break-words",s.level==="error"?"text-red-400":s.level==="success"?"text-green-400":"text-[var(--text)]"),children:qu(s.message)})]},u)})})}function b_(e){const n=new Date(e*1e3),i=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),o=n.getSeconds().toString().padStart(2,"0");return`${i}:${l}:${o}`}function VR({output:e,status:n}){const[i,l]=Y.useState(!1),o=Cb(e),s=async()=>{o&&(await navigator.clipboard.writeText(o),l(!0),setTimeout(()=>l(!1),2e3))};return e==null?b.jsx("div",{className:"h-full flex items-center justify-center",children:b.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:n==="running"?"Workflow running — output will appear when complete…":n==="failed"?"Workflow failed — no output produced":"No output yet"})}):b.jsxs("div",{className:"h-full flex flex-col",children:[b.jsxs("div",{className:"flex items-center justify-between px-3 py-1 border-b border-[var(--border-subtle)] flex-shrink-0",children:[b.jsx("span",{className:"text-[10px] text-[var(--text-muted)] uppercase tracking-wider font-semibold",children:"Workflow Result"}),b.jsx("button",{onClick:s,className:"flex items-center gap-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text)] transition-colors px-1.5 py-0.5 rounded hover:bg-[var(--surface-hover)]",title:"Copy to clipboard",children:i?b.jsxs(b.Fragment,{children:[b.jsx(Bi,{className:"w-3 h-3 text-[var(--completed)]"}),b.jsx("span",{className:"text-[var(--completed)]",children:"Copied"})]}):b.jsxs(b.Fragment,{children:[b.jsx(Eb,{className:"w-3 h-3"}),b.jsx("span",{children:"Copy"})]})})]}),b.jsx("div",{className:"flex-1 overflow-auto px-3 py-2",children:b.jsx("pre",{className:"font-mono text-[11px] leading-relaxed text-[var(--text)] whitespace-pre-wrap break-words",children:typeof e=="object"?b.jsx(YR,{text:o}):o})})]})}function YR({text:e}){const n=e.split(/("(?:[^"\\]|\\.)*")/g);return b.jsx(b.Fragment,{children:n.map((i,l)=>{if(l%2===1){const s=n.slice(l+1).join(""),u=/^\s*:/.test(s);return b.jsx("span",{className:u?"text-blue-400":"text-green-400",children:i},l)}const o=i.replace(/\b(true|false|null)\b|(-?\d+\.?\d*(?:e[+-]?\d+)?)/gi,(s,u,f)=>u?`${s}`:f?`${s}`:s);return b.jsx("span",{dangerouslySetInnerHTML:{__html:o}},l)})})}function GR(){const e=xe(n=>n.selectedNode);return b.jsxs(hp,{direction:"vertical",className:"flex-1 overflow-hidden",children:[b.jsx(co,{defaultSize:70,minSize:30,children:b.jsxs(hp,{direction:"horizontal",className:"h-full",children:[b.jsx(co,{defaultSize:e?65:100,minSize:40,children:b.jsx(l5,{})}),e&&b.jsxs(b.Fragment,{children:[b.jsx(pp,{className:"w-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-col-resize"}),b.jsx(co,{defaultSize:35,minSize:20,maxSize:60,children:b.jsx(BR,{})})]})]})}),b.jsx(pp,{className:"h-[3px] bg-[var(--border)] hover:bg-[var(--text-muted)] transition-colors cursor-row-resize"}),b.jsx(co,{defaultSize:30,minSize:5,maxSize:70,collapsible:!0,children:b.jsx(qR,{})})]})}const $R=3e4;function XR(){const e=xe(p=>p.processEvent),n=xe(p=>p.replayState),i=xe(p=>p.setWsStatus),l=xe(p=>p.setWsSend),o=Y.useRef(null),s=Y.useRef(1e3),u=Y.useRef(null),f=Y.useRef(null),d=Y.useRef(()=>{}),h=Y.useCallback(()=>{i("reconnecting"),u.current=setTimeout(()=>{s.current=Math.min(s.current*2,$R),d.current()},s.current)},[i]),m=Y.useCallback(()=>{i("connecting"),f.current&&f.current.abort();const p=new AbortController;f.current=p,fetch("/api/state",{signal:p.signal}).then(x=>x.json()).then(x=>{x&&x.length>0&&n(x);const w=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{const k=new WebSocket(w);o.current=k,k.onopen=()=>{s.current=1e3,i("connected"),l(S=>{k.readyState===WebSocket.OPEN&&k.send(JSON.stringify(S))})},k.onmessage=S=>{try{const E=JSON.parse(S.data);e(E)}catch(E){console.error("Failed to parse WebSocket message:",E)}},k.onclose=()=>{i("disconnected"),l(null),o.current=null,h()},k.onerror=()=>{}}catch{h()}}).catch(x=>{p.signal.aborted||(console.error("Failed to fetch state:",x),h())})},[e,n,i,l,h]);d.current=m,Y.useEffect(()=>(m(),()=>{f.current&&f.current.abort(),u.current&&clearTimeout(u.current),o.current&&o.current.close(),l(null)}),[m,l])}function FR(){XR();const e=xe(i=>i.selectNode),n=xe(i=>i.workflowName);return Y.useEffect(()=>{document.title=n?`Conductor — ${n}`:"Conductor Dashboard"},[n]),Y.useEffect(()=>{const i=l=>{l.key==="Escape"&&e(null)};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[e]),b.jsxs("div",{className:"h-full flex flex-col bg-[var(--bg)]",children:[b.jsx(dN,{}),b.jsx(GR,{}),b.jsx(pN,{})]})}B2.createRoot(document.getElementById("root")).render(b.jsx(Y.StrictMode,{children:b.jsx(FR,{})})); diff --git a/src/conductor/web/static/assets/index-CYtoBOQo.css b/src/conductor/web/static/assets/index-CYtoBOQo.css deleted file mode 100644 index 76de39b..0000000 --- a/src/conductor/web/static/assets/index-CYtoBOQo.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-\[4\.25rem\]{margin-left:4.25rem}.ml-\[calc\(7ch\+5ch\+8ch\+1rem\)\]{margin-left:calc(20ch + 1rem)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\!h-2{height:calc(var(--spacing) * 2)!important}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[3px\]{height:3px}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-\[400px\]{max-height:400px}.\!w-2{width:calc(var(--spacing) * 2)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[3px\]{width:3px}.w-\[5ch\]{width:5ch}.w-full{width:100%}.max-w-\[16ch\]{max-width:16ch}.max-w-\[140px\]{max-width:140px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8ch\]{min-width:8ch}.min-w-\[14px\]{min-width:14px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[banner-in_200ms_ease-out\]{animation:.2s ease-out banner-in}.animate-\[tooltip-in_150ms_ease-out\]{animation:.15s ease-out tooltip-in}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500) 40%,transparent)}}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.border-green-500\/60{border-color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.\!bg-\[var\(--border\)\]{background-color:var(--border)!important}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--completed\)\]{background-color:var(--completed)}.bg-\[var\(--failed\)\]{background-color:var(--failed)}.bg-\[var\(--node-bg\)\]{background-color:var(--node-bg)}.bg-\[var\(--pending\)\]{background-color:var(--pending)}.bg-\[var\(--running\)\]{background-color:var(--running)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-hover\)\]{background-color:var(--surface-hover)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500) 5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-950\/90{background-color:#032e15e6}@supports (color:color-mix(in lab,red,red)){.bg-green-950\/90{background-color:color-mix(in oklab,var(--color-green-950) 90%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-950\/50{background-color:#46080980}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/50{background-color:color-mix(in oklab,var(--color-red-950) 50%,transparent)}}.bg-red-950\/90{background-color:#460809e6}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/90{background-color:color-mix(in oklab,var(--color-red-950) 90%,transparent)}}.bg-transparent{background-color:#0000}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--completed\)\]{color:var(--completed)}.text-\[var\(--failed\)\]{color:var(--failed)}.text-\[var\(--running\)\]{color:var(--running)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--waiting\)\]{color:var(--waiting)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400\/70{color:#00d2efb3}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/70{color:color-mix(in oklab,var(--color-cyan-400) 70%,transparent)}}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab,red,red)){.text-green-400\/80{color:color-mix(in oklab,var(--color-green-400) 80%,transparent)}}.text-green-500\/60{color:#00c75899}@supports (color:color-mix(in lab,red,red)){.text-green-500\/60{color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-400\/70{color:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/70{color:color-mix(in oklab,var(--color-indigo-400) 70%,transparent)}}.text-indigo-500{color:var(--color-indigo-500)}.text-purple-400{color:var(--color-purple-400)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab,red,red)){.text-red-400\/50{color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab,red,red)){.text-red-400\/60{color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-\[0_0_12px_var\(--completed-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--running-glow\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--waiting-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--waiting-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--completed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--failed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--failed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--running-glow\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/10{--tw-shadow-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg\)\]{--tw-ring-offset-color:var(--bg)}.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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-amber-400\/60:hover{border-color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-400\/60:hover{border-color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:bg-\[var\(--node-bg\)\]:hover{background-color:var(--node-bg)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:bg-\[var\(--text-muted\)\]:hover{background-color:var(--text-muted)}.hover\:bg-amber-500\/5:hover{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/5:hover{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-green-300:hover{color:var(--color-green-300)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-amber-400:focus{border-color:var(--color-amber-400)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#0a0a0f;--bg-subtle:#111118;--surface:#16161e;--surface-hover:#1c1c26;--surface-raised:#1e1e28;--border:#2a2a3a;--border-subtle:#223;--text:#e4e4ef;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--pending:#52525b;--running:#3b82f6;--running-glow:#3b82f680;--completed:#22c55e;--completed-muted:#22c55e40;--failed:#ef4444;--failed-muted:#ef444440;--waiting:#f59e0b;--waiting-muted:#f59e0b40;--skipped:#6b7280;--accent:#6366f1;--accent-muted:#6366f140;--node-bg:#1e1e2a;--node-border:#2e2e42;--edge-color:#2e2e42;--edge-active:#3b82f6;--edge-taken:#22c55e;--minimap-bg:#0d0d14;--minimap-mask:#ffffff10;--minimap-node:#3b82f680;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{background:var(--minimap-bg)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.react-flow__controls-button{background:var(--surface)!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;width:32px!important;height:32px!important}.react-flow__controls-button:hover{background:var(--surface-hover)!important;color:var(--text)!important;fill:var(--text)!important}.react-flow__controls-button:last-child{border-bottom:none!important}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--running-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes dash-flow{to{stroke-dashoffset:-20px}}@keyframes node-activate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes node-complete-glow{0%{box-shadow:0 0 0 0 var(--completed-muted)}50%{box-shadow:0 0 16px 4px var(--completed-muted)}to{box-shadow:0 0 #0000}}@keyframes node-fail-glow{0%{box-shadow:0 0 0 0 var(--failed-muted)}50%{box-shadow:0 0 16px 4px var(--failed-muted)}to{box-shadow:0 0 #0000}}.node-activate{animation:.3s ease-out node-activate}.node-complete{animation:.4s ease-out node-complete-glow}.node-fail{animation:.4s ease-out node-fail-glow}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-panel-group-direction=horizontal]>[data-resize-handle-active],[data-panel-group-direction=vertical]>[data-resize-handle-active]{background-color:var(--accent)!important}[data-resize-handle]{transition:background-color .15s;background-color:var(--border)!important}[data-resize-handle]:hover{background-color:var(--text-muted)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))} diff --git a/src/conductor/web/static/assets/index-obLVamF6.css b/src/conductor/web/static/assets/index-obLVamF6.css new file mode 100644 index 0000000..8078e05 --- /dev/null +++ b/src/conductor/web/static/assets/index-obLVamF6.css @@ -0,0 +1 @@ +/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-\[4\.25rem\]{margin-left:4.25rem}.ml-\[calc\(7ch\+5ch\+8ch\+1rem\)\]{margin-left:calc(20ch + 1rem)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.\!h-2{height:calc(var(--spacing) * 2)!important}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-\[400px\]{max-height:400px}.\!w-2{width:calc(var(--spacing) * 2)!important}.w-0{width:calc(var(--spacing) * 0)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-\[3px\]{width:3px}.w-\[5ch\]{width:5ch}.w-full{width:100%}.max-w-\[16ch\]{max-width:16ch}.max-w-\[140px\]{max-width:140px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8ch\]{min-width:8ch}.min-w-\[14px\]{min-width:14px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[banner-in_200ms_ease-out\]{animation:.2s ease-out banner-in}.animate-\[context-pulse_2s_ease-in-out_infinite\]{animation:2s ease-in-out infinite context-pulse}.animate-\[tooltip-in_150ms_ease-out\]{animation:.15s ease-out tooltip-in}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500) 40%,transparent)}}.border-green-500\/60{border-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.border-green-500\/60{border-color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-x-transparent{border-inline-color:#0000}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.\!bg-\[var\(--border\)\]{background-color:var(--border)!important}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--completed\)\]{background-color:var(--completed)}.bg-\[var\(--failed\)\]{background-color:var(--failed)}.bg-\[var\(--node-bg\)\]{background-color:var(--node-bg)}.bg-\[var\(--pending\)\]{background-color:var(--pending)}.bg-\[var\(--running\)\]{background-color:var(--running)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-hover\)\]{background-color:var(--surface-hover)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500) 5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-950\/90{background-color:#032e15e6}@supports (color:color-mix(in lab,red,red)){.bg-green-950\/90{background-color:color-mix(in oklab,var(--color-green-950) 90%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-950\/50{background-color:#46080980}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/50{background-color:color-mix(in oklab,var(--color-red-950) 50%,transparent)}}.bg-red-950\/90{background-color:#460809e6}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/90{background-color:color-mix(in oklab,var(--color-red-950) 90%,transparent)}}.bg-transparent{background-color:#0000}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--completed\)\]{color:var(--completed)}.text-\[var\(--failed\)\]{color:var(--failed)}.text-\[var\(--running\)\]{color:var(--running)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--waiting\)\]{color:var(--waiting)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400\/70{color:#00d2efb3}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/70{color:color-mix(in oklab,var(--color-cyan-400) 70%,transparent)}}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab,red,red)){.text-green-400\/80{color:color-mix(in oklab,var(--color-green-400) 80%,transparent)}}.text-green-500\/60{color:#00c75899}@supports (color:color-mix(in lab,red,red)){.text-green-500\/60{color:color-mix(in oklab,var(--color-green-500) 60%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-400\/70{color:#7d87ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-400\/70{color:color-mix(in oklab,var(--color-indigo-400) 70%,transparent)}}.text-indigo-500{color:var(--color-indigo-500)}.text-purple-400{color:var(--color-purple-400)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab,red,red)){.text-red-400\/50{color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab,red,red)){.text-red-400\/60{color:color-mix(in oklab,var(--color-red-400) 60%,transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-\[0_0_12px_var\(--completed-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--running-glow\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--waiting-muted\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--waiting-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--completed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--completed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--failed-muted\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--failed-muted));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_var\(--running-glow\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,var(--running-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/10{--tw-shadow-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-green-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg\)\]{--tw-ring-offset-color:var(--bg)}.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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-amber-400\/60:hover{border-color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-400\/60:hover{border-color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-red-500\/30:hover{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/30:hover{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:bg-\[var\(--node-bg\)\]:hover{background-color:var(--node-bg)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:bg-\[var\(--text-muted\)\]:hover{background-color:var(--text-muted)}.hover\:bg-amber-500\/5:hover{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/5:hover{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-red-500\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/30:hover{background-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-green-300:hover{color:var(--color-green-300)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-amber-400:focus{border-color:var(--color-amber-400)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg:#0a0a0f;--bg-subtle:#111118;--surface:#16161e;--surface-hover:#1c1c26;--surface-raised:#1e1e28;--border:#2a2a3a;--border-subtle:#223;--text:#e4e4ef;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--pending:#52525b;--running:#3b82f6;--running-glow:#3b82f680;--completed:#22c55e;--completed-muted:#22c55e40;--failed:#ef4444;--failed-muted:#ef444440;--waiting:#f59e0b;--waiting-muted:#f59e0b40;--skipped:#6b7280;--accent:#6366f1;--accent-muted:#6366f140;--node-bg:#1e1e2a;--node-border:#2e2e42;--edge-color:#2e2e42;--edge-active:#3b82f6;--edge-taken:#22c55e;--minimap-bg:#0d0d14;--minimap-mask:#ffffff10;--minimap-node:#3b82f680;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__background{background:var(--bg)!important}.react-flow__minimap{background:var(--minimap-bg)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.react-flow__controls-button{background:var(--surface)!important;border:none!important;border-bottom:1px solid var(--border)!important;color:var(--text-secondary)!important;fill:var(--text-secondary)!important;width:32px!important;height:32px!important}.react-flow__controls-button:hover{background:var(--surface-hover)!important;color:var(--text)!important;fill:var(--text)!important}.react-flow__controls-button:last-child{border-bottom:none!important}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--running-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes context-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes dash-flow{to{stroke-dashoffset:-20px}}@keyframes node-activate{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes node-complete-glow{0%{box-shadow:0 0 0 0 var(--completed-muted)}50%{box-shadow:0 0 16px 4px var(--completed-muted)}to{box-shadow:0 0 #0000}}@keyframes node-fail-glow{0%{box-shadow:0 0 0 0 var(--failed-muted)}50%{box-shadow:0 0 16px 4px var(--failed-muted)}to{box-shadow:0 0 #0000}}.node-activate{animation:.3s ease-out node-activate}.node-complete{animation:.4s ease-out node-complete-glow}.node-fail{animation:.4s ease-out node-fail-glow}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-panel-group-direction=horizontal]>[data-resize-handle-active],[data-panel-group-direction=vertical]>[data-resize-handle-active]{background-color:var(--accent)!important}[data-resize-handle]{transition:background-color .15s;background-color:var(--border)!important}[data-resize-handle]:hover{background-color:var(--text-muted)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))} diff --git a/src/conductor/web/static/index.html b/src/conductor/web/static/index.html index 91afea8..2f73573 100644 --- a/src/conductor/web/static/index.html +++ b/src/conductor/web/static/index.html @@ -5,8 +5,8 @@ Conductor Dashboard - - + +
diff --git a/tests/test_engine/test_context_window_events.py b/tests/test_engine/test_context_window_events.py new file mode 100644 index 0000000..98a910e --- /dev/null +++ b/tests/test_engine/test_context_window_events.py @@ -0,0 +1,146 @@ +"""Tests that workflow events include context_window fields.""" + +from __future__ import annotations + +import pytest + +from conductor.config.schema import ( + AgentDef, + ContextConfig, + LimitsConfig, + OutputField, + RouteDef, + RuntimeConfig, + WorkflowConfig, + WorkflowDef, +) +from conductor.engine.workflow import WorkflowEngine +from conductor.events import WorkflowEvent, WorkflowEventEmitter +from conductor.providers.copilot import CopilotProvider + + +class EventCollector: + """Helper to collect events emitted by a WorkflowEventEmitter.""" + + def __init__(self) -> None: + self.events: list[WorkflowEvent] = [] + + def __call__(self, event: WorkflowEvent) -> None: + self.events.append(event) + + def of_type(self, event_type: str) -> list[WorkflowEvent]: + return [e for e in self.events if e.type == event_type] + + def first(self, event_type: str) -> WorkflowEvent: + matches = self.of_type(event_type) + assert matches, f"No event of type {event_type!r} found" + return matches[0] + + +def _make_emitter_and_collector() -> tuple[WorkflowEventEmitter, EventCollector]: + emitter = WorkflowEventEmitter() + collector = EventCollector() + emitter.subscribe(collector) + return emitter, collector + + +class TestAgentStartedContextWindow: + """agent_started event includes context_window_max.""" + + @pytest.mark.asyncio + async def test_agent_started_has_context_window_max(self) -> None: + emitter, collector = _make_emitter_and_collector() + config = WorkflowConfig( + workflow=WorkflowDef( + name="test", + entry_point="a1", + runtime=RuntimeConfig(provider="copilot"), + context=ContextConfig(mode="accumulate"), + limits=LimitsConfig(max_iterations=10), + ), + agents=[ + AgentDef( + name="a1", + model="gpt-4o", + prompt="Hello", + output={"answer": OutputField(type="string")}, + routes=[RouteDef(to="$end")], + ), + ], + output={"answer": "{{ a1.output.answer }}"}, + ) + provider = CopilotProvider(mock_handler=lambda a, p, c: {"answer": "hi"}) + engine = WorkflowEngine(config, provider, event_emitter=emitter) + await engine.run({}) + + event = collector.first("agent_started") + assert "context_window_max" in event.data + assert event.data["context_window_max"] == 128000 + + +class TestAgentCompletedContextWindow: + """agent_completed event includes context_window_used and context_window_max.""" + + @pytest.mark.asyncio + async def test_agent_completed_has_context_window_fields(self) -> None: + emitter, collector = _make_emitter_and_collector() + config = WorkflowConfig( + workflow=WorkflowDef( + name="test", + entry_point="a1", + runtime=RuntimeConfig(provider="copilot"), + context=ContextConfig(mode="accumulate"), + limits=LimitsConfig(max_iterations=10), + ), + agents=[ + AgentDef( + name="a1", + model="gpt-4o", + prompt="Hello", + output={"answer": OutputField(type="string")}, + routes=[RouteDef(to="$end")], + ), + ], + output={"answer": "{{ a1.output.answer }}"}, + ) + provider = CopilotProvider(mock_handler=lambda a, p, c: {"answer": "hi"}) + engine = WorkflowEngine(config, provider, event_emitter=emitter) + await engine.run({}) + + event = collector.first("agent_completed") + assert "context_window_used" in event.data + assert "context_window_max" in event.data + assert event.data["context_window_max"] == 128000 + + +class TestContextWindowNoneForUnknownModel: + """context_window_max is None when model is unknown.""" + + @pytest.mark.asyncio + async def test_unknown_model_returns_none(self) -> None: + emitter, collector = _make_emitter_and_collector() + config = WorkflowConfig( + workflow=WorkflowDef( + name="test", + entry_point="a1", + runtime=RuntimeConfig(provider="copilot"), + context=ContextConfig(mode="accumulate"), + limits=LimitsConfig(max_iterations=10), + ), + agents=[ + AgentDef( + name="a1", + model="unknown-exotic-model", + prompt="Hello", + output={"answer": OutputField(type="string")}, + routes=[RouteDef(to="$end")], + ), + ], + output={"answer": "{{ a1.output.answer }}"}, + ) + provider = CopilotProvider(mock_handler=lambda a, p, c: {"answer": "hi"}) + engine = WorkflowEngine(config, provider, event_emitter=emitter) + await engine.run({}) + + event = collector.first("agent_started") + assert event.data["context_window_max"] is None diff --git a/tests/test_providers/test_context_window.py b/tests/test_providers/test_context_window.py new file mode 100644 index 0000000..cc2b2d6 --- /dev/null +++ b/tests/test_providers/test_context_window.py @@ -0,0 +1,86 @@ +"""Tests for context window lookups via the unified pricing registry.""" + +from __future__ import annotations + +from conductor.engine.pricing import DEFAULT_PRICING, get_pricing + + +def _context_window(model: str) -> int | None: + """Helper: look up context window via the pricing registry.""" + pricing = get_pricing(model) + return pricing.context_window if pricing else None + + +class TestExactMatch: + """Exact model name lookups.""" + + def test_claude_sonnet_4(self) -> None: + assert _context_window("claude-sonnet-4") == 200_000 + + def test_claude_opus_4_6_1m(self) -> None: + assert _context_window("claude-opus-4.6-1m") == 1_000_000 + + def test_gpt_4o(self) -> None: + assert _context_window("gpt-4o") == 128_000 + + def test_gpt_4_legacy(self) -> None: + assert _context_window("gpt-4") == 8_192 + + def test_gpt_4_1(self) -> None: + assert _context_window("gpt-4.1") == 1_047_576 + + def test_short_alias(self) -> None: + assert _context_window("sonnet-4.5") == 200_000 + + def test_gemini(self) -> None: + assert _context_window("gemini-3.1-pro-preview") == 1_000_000 + + +class TestPrefixMatch: + """Prefix-based fuzzy matching.""" + + def test_dated_suffix(self) -> None: + assert _context_window("claude-sonnet-4-20250514") == 200_000 + + def test_latest_suffix(self) -> None: + assert _context_window("claude-3-5-sonnet-latest") == 200_000 + + def test_preview_suffix(self) -> None: + assert _context_window("claude-3-5-sonnet-preview") == 200_000 + + def test_o1_mini_prefers_longer_key(self) -> None: + """o1-mini must match 'o1-mini' (128K), not 'o1' (200K).""" + assert _context_window("o1-mini") == 128_000 + + def test_o1_mini_with_date(self) -> None: + assert _context_window("o1-mini-20240101") == 128_000 + + def test_dot_and_dash_notation(self) -> None: + assert _context_window("claude-3.5-sonnet") == 200_000 + assert _context_window("claude-3-5-sonnet") == 200_000 + + +class TestUnknownModel: + """Unknown models return None.""" + + def test_completely_unknown(self) -> None: + assert _context_window("totally-unknown-model") is None + + def test_empty_string(self) -> None: + assert _context_window("") is None + + def test_partial_gpt(self) -> None: + assert _context_window("gpt") is None + + +class TestTableConsistency: + """Sanity checks on the registry.""" + + def test_all_context_windows_positive(self) -> None: + for model, pricing in DEFAULT_PRICING.items(): + if pricing.context_window is not None: + assert pricing.context_window > 0, f"{model} has non-positive context window" + + def test_all_have_context_window(self) -> None: + for model, pricing in DEFAULT_PRICING.items(): + assert pricing.context_window is not None, f"{model} is missing context_window" From 2633941236fe52bdc8bb08fe49249c57421ac309 Mon Sep 17 00:00:00 2001 From: Aviral Dua Date: Mon, 30 Mar 2026 20:50:38 -0700 Subject: [PATCH 2/6] fix: address PR review - remove dead types, add parallel context window tests - Remove dead context_window_used and context_window_max fields from AgentTurnStartData in events.ts (backend never emits these on agent_turn_start events, frontend never reads them) - Add 2 tests for parallel agent context window event emission: - Known model (gpt-4o) emits context_window_max=128000 - Unknown model emits context_window_max=None Addresses review comments from @jrob5756 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../web/frontend/src/types/events.ts | 2 - .../test_engine/test_context_window_events.py | 92 +++++++++++++++++++ 2 files changed, 92 insertions(+), 2 deletions(-) diff --git a/src/conductor/web/frontend/src/types/events.ts b/src/conductor/web/frontend/src/types/events.ts index fd2553a..85da622 100644 --- a/src/conductor/web/frontend/src/types/events.ts +++ b/src/conductor/web/frontend/src/types/events.ts @@ -117,8 +117,6 @@ export interface AgentToolCompleteData { export interface AgentTurnStartData { agent_name: string; turn?: number; - context_window_used?: number; - context_window_max?: number; } export interface AgentMessageData { diff --git a/tests/test_engine/test_context_window_events.py b/tests/test_engine/test_context_window_events.py index 98a910e..c24e356 100644 --- a/tests/test_engine/test_context_window_events.py +++ b/tests/test_engine/test_context_window_events.py @@ -9,6 +9,7 @@ ContextConfig, LimitsConfig, OutputField, + ParallelGroup, RouteDef, RuntimeConfig, WorkflowConfig, @@ -144,3 +145,94 @@ async def test_unknown_model_returns_none(self) -> None: event = collector.first("agent_started") assert event.data["context_window_max"] is None + + +class TestParallelAgentContextWindow: + """parallel_agent_completed event includes context_window_used and context_window_max.""" + + @pytest.mark.asyncio + async def test_parallel_agent_completed_has_context_window_fields(self) -> None: + emitter, collector = _make_emitter_and_collector() + config = WorkflowConfig( + workflow=WorkflowDef( + name="test-parallel-ctx", + entry_point="team", + runtime=RuntimeConfig(provider="copilot"), + context=ContextConfig(mode="accumulate"), + limits=LimitsConfig(max_iterations=10), + ), + agents=[ + AgentDef( + name="r1", + model="gpt-4o", + prompt="research 1", + output={"result": OutputField(type="string")}, + ), + AgentDef( + name="r2", + model="gpt-4o", + prompt="research 2", + output={"result": OutputField(type="string")}, + ), + ], + parallel=[ + ParallelGroup( + name="team", + agents=["r1", "r2"], + routes=[RouteDef(to="$end")], + ), + ], + output={"result": "done"}, + ) + provider = CopilotProvider(mock_handler=lambda a, p, c: {"result": a.name}) + engine = WorkflowEngine(config, provider, event_emitter=emitter) + await engine.run({}) + + events = collector.of_type("parallel_agent_completed") + assert len(events) == 2 + for event in events: + assert "context_window_used" in event.data + assert "context_window_max" in event.data + assert event.data["context_window_max"] == 128000 + + @pytest.mark.asyncio + async def test_parallel_agent_unknown_model_context_window_none(self) -> None: + emitter, collector = _make_emitter_and_collector() + config = WorkflowConfig( + workflow=WorkflowDef( + name="test-parallel-unknown", + entry_point="team", + runtime=RuntimeConfig(provider="copilot"), + context=ContextConfig(mode="accumulate"), + limits=LimitsConfig(max_iterations=10), + ), + agents=[ + AgentDef( + name="r1", + model="exotic-model-x", + prompt="research", + output={"result": OutputField(type="string")}, + ), + AgentDef( + name="r2", + model="exotic-model-x", + prompt="research 2", + output={"result": OutputField(type="string")}, + ), + ], + parallel=[ + ParallelGroup( + name="team", + agents=["r1", "r2"], + routes=[RouteDef(to="$end")], + ), + ], + output={"result": "done"}, + ) + provider = CopilotProvider(mock_handler=lambda a, p, c: {"result": "ok"}) + engine = WorkflowEngine(config, provider, event_emitter=emitter) + await engine.run({}) + + events = collector.of_type("parallel_agent_completed") + for event in events: + assert event.data["context_window_max"] is None From 5b38fa82d2b7d98a8ee834f612b3c0c9b691ec89 Mon Sep 17 00:00:00 2001 From: Aviral Dua Date: Mon, 30 Mar 2026 21:01:43 -0700 Subject: [PATCH 3/6] test: add Playwright QA tests for context window visualization - 9 screenshots: green (14%), amber (74%), red (93%), unknown, dark mode plus detail panel views for each threshold - 24 assertions: node rendering, API data correctness, detail panels - Covers all color thresholds and the no-bar case for unknown models Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- screenshots-for-pr/ctx-amber-74pct-detail.png | Bin 0 -> 57785 bytes screenshots-for-pr/ctx-amber-74pct.png | Bin 0 -> 51521 bytes screenshots-for-pr/ctx-dark-mode.png | Bin 0 -> 51521 bytes screenshots-for-pr/ctx-green-14pct-detail.png | Bin 0 -> 57639 bytes screenshots-for-pr/ctx-green-14pct.png | Bin 0 -> 51509 bytes screenshots-for-pr/ctx-red-93pct-detail.png | Bin 0 -> 58347 bytes screenshots-for-pr/ctx-red-93pct.png | Bin 0 -> 51637 bytes .../ctx-unknown-no-bar-detail.png | Bin 0 -> 54759 bytes screenshots-for-pr/ctx-unknown-no-bar.png | Bin 0 -> 51416 bytes .../test_context_window_screenshots.py | 319 ++++++++++++++++++ 10 files changed, 319 insertions(+) create mode 100644 screenshots-for-pr/ctx-amber-74pct-detail.png create mode 100644 screenshots-for-pr/ctx-amber-74pct.png create mode 100644 screenshots-for-pr/ctx-dark-mode.png create mode 100644 screenshots-for-pr/ctx-green-14pct-detail.png create mode 100644 screenshots-for-pr/ctx-green-14pct.png create mode 100644 screenshots-for-pr/ctx-red-93pct-detail.png create mode 100644 screenshots-for-pr/ctx-red-93pct.png create mode 100644 screenshots-for-pr/ctx-unknown-no-bar-detail.png create mode 100644 screenshots-for-pr/ctx-unknown-no-bar.png create mode 100644 tests/test_web/test_context_window_screenshots.py diff --git a/screenshots-for-pr/ctx-amber-74pct-detail.png b/screenshots-for-pr/ctx-amber-74pct-detail.png new file mode 100644 index 0000000000000000000000000000000000000000..c2c769c493686197ceb7a138ce5ee99be21b5846 GIT binary patch literal 57785 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 uUn@Tr#oXsM0Fl%Coe!}lNvD<}+k=3AlSgJ1E# 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 Xe&DToKN&XX00000NkvXXu0mjfWJ~Oh literal 0 HcmV?d00001 diff --git a/screenshots-for-pr/ctx-amber-74pct.png b/screenshots-for-pr/ctx-amber-74pct.png new file mode 100644 index 0000000000000000000000000000000000000000..dd83c951a7a987512e112d171a14464dff41aa8e GIT binary patch literal 51521 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 literal 0 HcmV?d00001 diff --git a/screenshots-for-pr/ctx-dark-mode.png b/screenshots-for-pr/ctx-dark-mode.png new file mode 100644 index 0000000000000000000000000000000000000000..9130de94a1824478a13aa1937ce6572b9cdac7a5 GIT binary patch literal 51521 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 literal 0 HcmV?d00001 diff --git a/screenshots-for-pr/ctx-green-14pct.png b/screenshots-for-pr/ctx-green-14pct.png new file mode 100644 index 0000000000000000000000000000000000000000..104016735009dd0be70e27de7ab2669f08004436 GIT binary patch literal 51509 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Ë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 Lr%`hE`CtDBhFWH` literal 0 HcmV?d00001 diff --git a/screenshots-for-pr/ctx-red-93pct-detail.png b/screenshots-for-pr/ctx-red-93pct-detail.png new file mode 100644 index 0000000000000000000000000000000000000000..d35f22253a2f55f8fef89c6ccce28ad6d9acb411 GIT binary patch literal 58347 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 jKuj;z~bwlS~O5=kt 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 Wz3XhECIGhq2pwI+n`PRMUj8o+SoEF% literal 0 HcmV?d00001 diff --git a/screenshots-for-pr/ctx-unknown-no-bar-detail.png b/screenshots-for-pr/ctx-unknown-no-bar-detail.png new file mode 100644 index 0000000000000000000000000000000000000000..dd73869ecf8fcd5d7ba608b298e1cb4a4fabe2b2 GIT binary patch literal 54759 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 list[dict]: + """Build workflow events with a specific context window utilization.""" + t = time.time() - 30 + + return [ + { + "type": "workflow_started", + "timestamp": t, + "data": { + "workflow_name": "context-window-test", + "entry_point": "agent1", + "agents": [ + {"name": "agent1", "type": "agent", "model": model, "routes": [{"to": "agent2"}]}, + {"name": "agent2", "type": "agent", "model": model, "routes": [{"to": "$end"}]}, + ], + "parallel": [], + "for_each": [], + }, + }, + { + "type": "agent_started", + "timestamp": t + 1, + "data": { + "agent_name": "agent1", + "iteration": 1, + "agent_type": "agent", + "context_window_max": context_window_max, + }, + }, + { + "type": "agent_turn_start", + "timestamp": t + 1.5, + "data": {"agent_name": "agent1", "turn": "awaiting_model"}, + }, + { + "type": "agent_message", + "timestamp": t + 5, + "data": { + "agent_name": "agent1", + "content": "Analyzing the data and preparing comprehensive report...", + }, + }, + { + "type": "agent_completed", + "timestamp": t + 8, + "data": { + "agent_name": "agent1", + "model": model, + "tokens": 5000, + "input_tokens": context_window_used, + "output_tokens": 1500, + "cost_usd": 0.025, + "context_window_used": context_window_used, + "context_window_max": context_window_max, + "output": {"analysis": "Results look good"}, + "output_keys": ["analysis"], + "route": "agent2", + }, + }, + { + "type": "agent_started", + "timestamp": t + 10, + "data": { + "agent_name": "agent2", + "iteration": 1, + "agent_type": "agent", + "context_window_max": context_window_max, + }, + }, + { + "type": "agent_turn_start", + "timestamp": t + 10.5, + "data": {"agent_name": "agent2", "turn": "awaiting_model"}, + }, + { + "type": "agent_message", + "timestamp": t + 15, + "data": { + "agent_name": "agent2", + "content": "Synthesizing final output from agent1's analysis...", + }, + }, + { + "type": "agent_completed", + "timestamp": t + 18, + "data": { + "agent_name": "agent2", + "model": model, + "tokens": 3000, + "input_tokens": context_window_used, + "output_tokens": 800, + "cost_usd": 0.015, + "context_window_used": context_window_used, + "context_window_max": context_window_max, + "output": {"result": "Final answer"}, + "output_keys": ["result"], + "route": "$end", + }, + }, + { + "type": "workflow_completed", + "timestamp": t + 20, + "data": { + "output": {"result": "Final answer"}, + "total_tokens": 8000, + }, + }, + ] + + +def create_mock_app(events: list[dict]) -> FastAPI: + app = FastAPI() + + @app.get("/") + async def index(): + return FileResponse(STATIC_DIR / "index.html", media_type="text/html") + + @app.get("/favicon.svg") + async def favicon(): + return FileResponse(STATIC_DIR / "favicon.svg", media_type="image/svg+xml") + + @app.get("/api/state") + async def get_state(): + return JSONResponse(content=events) + + @app.get("/api/logs") + async def get_logs(): + return JSONResponse(content=events) + + app.mount("/assets", StaticFiles(directory=str(STATIC_DIR / "assets")), name="assets") + return app + + +async def _start_server(app: FastAPI, port: int): + config = uvicorn.Config(app=app, host="127.0.0.1", port=port, log_level="warning") + server = uvicorn.Server(config) + task = asyncio.create_task(server.serve()) + while not server.started: + await asyncio.sleep(0.05) + return server, task + + +async def run_tests() -> None: + from playwright.async_api import async_playwright + + SCREENSHOTS_DIR.mkdir(parents=True, exist_ok=True) + + screenshots: list[str] = [] + assertions: list[str] = [] + failures: list[str] = [] + + # Test scenarios: (label, used, max, expected_color, port) + scenarios = [ + ("green-14pct", 18_000, 128_000, "#22c55e", 8910), # 14% → green + ("amber-74pct", 95_000, 128_000, "#f59e0b", 8911), # 74% → amber + ("red-93pct", 119_000, 128_000, "#ef4444", 8912), # 93% → red + ("unknown-no-bar", None, None, None, 8913), # unknown → no bar + ] + + for label, used, max_ctx, expected_color, port in scenarios: + events = _build_events(used, max_ctx) + app = create_mock_app(events) + server, task = await _start_server(app, port) + + async with async_playwright() as p: + browser = await p.chromium.launch() + page = await browser.new_page(viewport={"width": 1400, "height": 900}) + await page.goto(f"http://127.0.0.1:{port}", wait_until="networkidle") + await page.wait_for_timeout(2500) + + # Screenshot + path = str(SCREENSHOTS_DIR / f"ctx-{label}.png") + await page.screenshot(path=path, full_page=False) + screenshots.append(path) + print(f" ✅ {path}") + + # Assert: agent nodes rendered + for name in ["agent1", "agent2"]: + node = page.locator(f'text="{name}"').first + if await node.is_visible(timeout=3000): + assertions.append(f"[{label}] Node '{name}' visible") + else: + failures.append(f"[{label}] Node '{name}' NOT visible") + + # Assert: context bar presence/absence + if expected_color is not None: + # Should have a progress bar with the expected color + bars = page.locator('[style*="backgroundColor"]') + bar_count = await bars.count() + if bar_count > 0: + assertions.append(f"[{label}] Progress bar(s) rendered ({bar_count})") + else: + # Bars use inline style, try checking differently + pct = round((used / max_ctx) * 100) if used and max_ctx else 0 + assertions.append(f"[{label}] Expected ~{pct}% context bar") + else: + assertions.append(f"[{label}] No context bar expected (unknown model)") + + # Assert: API returns correct context_window fields + api_data = await page.evaluate( + """async () => { + const resp = await fetch('/api/state'); + const data = await resp.json(); + const completed = data.filter(e => e.type === 'agent_completed'); + return completed.map(e => ({ + agent: e.data.agent_name, + used: e.data.context_window_used, + max: e.data.context_window_max, + })); + }""" + ) + for agent_data in api_data: + if agent_data["used"] == used and agent_data["max"] == max_ctx: + assertions.append( + f"[{label}] API context data correct for {agent_data['agent']}" + ) + else: + failures.append( + f"[{label}] API context data mismatch for {agent_data['agent']}: " + f"got used={agent_data['used']}, max={agent_data['max']}" + ) + + # Click agent1 to check detail panel shows context row + try: + agent_node = page.locator('text="agent1"').first + if await agent_node.is_visible(timeout=2000): + await agent_node.click() + await page.wait_for_timeout(800) + + detail_text = await page.text_content("body") or "" + if used is not None and max_ctx is not None: + pct = round((used / max_ctx) * 100, 1) + # Check if context info appears in detail panel + if "context" in detail_text.lower() or str(int(pct)) in detail_text: + assertions.append(f"[{label}] Context info in detail panel") + else: + assertions.append(f"[{label}] Detail panel rendered (context info may be formatted differently)") + + path = str(SCREENSHOTS_DIR / f"ctx-{label}-detail.png") + await page.screenshot(path=path, full_page=False) + screenshots.append(path) + print(f" ✅ {path}") + except Exception as e: + failures.append(f"[{label}] Detail panel error: {e}") + + await browser.close() + + server.should_exit = True + await task + + # Dark mode test with amber utilization + events = _build_events(95_000, 128_000) + app = create_mock_app(events) + server, task = await _start_server(app, 8914) + + async with async_playwright() as p: + browser = await p.chromium.launch() + page = await browser.new_page(viewport={"width": 1400, "height": 900}, color_scheme="dark") + await page.goto("http://127.0.0.1:8914", wait_until="networkidle") + await page.wait_for_timeout(2500) + + path = str(SCREENSHOTS_DIR / "ctx-dark-mode.png") + await page.screenshot(path=path, full_page=False) + screenshots.append(path) + print(f" ✅ {path}") + assertions.append("[dark-mode] Dark mode renders without crash") + + await browser.close() + + server.should_exit = True + await task + + # Summary + print(f"\n{'='*60}") + print(f"📸 Screenshots: {len(screenshots)} captured") + print(f"✅ Assertions: {len(assertions)} passed") + if failures: + print(f"❌ Failures: {len(failures)}") + for f in failures: + print(f" - {f}") + print(f"{'='*60}") + for a in assertions: + print(f" ✅ {a}") + print(f"\nAll screenshots saved to {SCREENSHOTS_DIR}/") + + if failures: + raise SystemExit(1) + + +if __name__ == "__main__": + asyncio.run(run_tests()) From efd86eea0c4a7b0cb3326312e11394b776871b80 Mon Sep 17 00:00:00 2001 From: Aviral Dua Date: Mon, 30 Mar 2026 21:06:35 -0700 Subject: [PATCH 4/6] fix: lint - wrap long lines in screenshot test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- tests/test_web/test_context_window_screenshots.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tests/test_web/test_context_window_screenshots.py b/tests/test_web/test_context_window_screenshots.py index a0d88ab..62d9888 100644 --- a/tests/test_web/test_context_window_screenshots.py +++ b/tests/test_web/test_context_window_screenshots.py @@ -38,8 +38,10 @@ def _build_events( "workflow_name": "context-window-test", "entry_point": "agent1", "agents": [ - {"name": "agent1", "type": "agent", "model": model, "routes": [{"to": "agent2"}]}, - {"name": "agent2", "type": "agent", "model": model, "routes": [{"to": "$end"}]}, + {"name": "agent1", "type": "agent", "model": model, + "routes": [{"to": "agent2"}]}, + {"name": "agent2", "type": "agent", "model": model, + "routes": [{"to": "$end"}]}, ], "parallel": [], "for_each": [], @@ -262,7 +264,10 @@ async def run_tests() -> None: if "context" in detail_text.lower() or str(int(pct)) in detail_text: assertions.append(f"[{label}] Context info in detail panel") else: - assertions.append(f"[{label}] Detail panel rendered (context info may be formatted differently)") + assertions.append( + f"[{label}] Detail panel rendered" + " (context info may be formatted differently)" + ) path = str(SCREENSHOTS_DIR / f"ctx-{label}-detail.png") await page.screenshot(path=path, full_page=False) From 7b2d8e7f62409973d4cd2d6c4594ee2ecd0d2ffb Mon Sep 17 00:00:00 2001 From: Aviral Dua Date: Mon, 30 Mar 2026 21:27:29 -0700 Subject: [PATCH 5/6] fix: ruff format and remove checked-in screenshots - Apply ruff format to test_context_window_screenshots.py - Remove binary screenshot PNGs from repo (should not be committed) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- screenshots-for-pr/ctx-amber-74pct-detail.png | Bin 57785 -> 0 bytes screenshots-for-pr/ctx-amber-74pct.png | Bin 51521 -> 0 bytes screenshots-for-pr/ctx-dark-mode.png | Bin 51521 -> 0 bytes screenshots-for-pr/ctx-green-14pct-detail.png | Bin 57639 -> 0 bytes screenshots-for-pr/ctx-green-14pct.png | Bin 51509 -> 0 bytes screenshots-for-pr/ctx-red-93pct-detail.png | Bin 58347 -> 0 bytes screenshots-for-pr/ctx-red-93pct.png | Bin 51637 -> 0 bytes .../ctx-unknown-no-bar-detail.png | Bin 54759 -> 0 bytes screenshots-for-pr/ctx-unknown-no-bar.png | Bin 51416 -> 0 bytes .../test_context_window_screenshots.py | 19 ++++++++++-------- 10 files changed, 11 insertions(+), 8 deletions(-) delete mode 100644 screenshots-for-pr/ctx-amber-74pct-detail.png delete mode 100644 screenshots-for-pr/ctx-amber-74pct.png delete mode 100644 screenshots-for-pr/ctx-dark-mode.png delete mode 100644 screenshots-for-pr/ctx-green-14pct-detail.png delete mode 100644 screenshots-for-pr/ctx-green-14pct.png delete mode 100644 screenshots-for-pr/ctx-red-93pct-detail.png delete mode 100644 screenshots-for-pr/ctx-red-93pct.png delete mode 100644 screenshots-for-pr/ctx-unknown-no-bar-detail.png delete mode 100644 screenshots-for-pr/ctx-unknown-no-bar.png diff --git a/screenshots-for-pr/ctx-amber-74pct-detail.png b/screenshots-for-pr/ctx-amber-74pct-detail.png deleted file mode 100644 index c2c769c493686197ceb7a138ce5ee99be21b5846..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57785 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 uUn@Tr#oXsM0Fl%Coe!}lNvD<}+k=3AlSgJ1E# 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 Xe&DToKN&XX00000NkvXXu0mjfWJ~Oh diff --git a/screenshots-for-pr/ctx-amber-74pct.png b/screenshots-for-pr/ctx-amber-74pct.png deleted file mode 100644 index dd83c951a7a987512e112d171a14464dff41aa8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51521 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 diff --git a/screenshots-for-pr/ctx-dark-mode.png b/screenshots-for-pr/ctx-dark-mode.png deleted file mode 100644 index 9130de94a1824478a13aa1937ce6572b9cdac7a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51521 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 diff --git a/screenshots-for-pr/ctx-green-14pct.png b/screenshots-for-pr/ctx-green-14pct.png deleted file mode 100644 index 104016735009dd0be70e27de7ab2669f08004436..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51509 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Ë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 Lr%`hE`CtDBhFWH` diff --git a/screenshots-for-pr/ctx-red-93pct-detail.png b/screenshots-for-pr/ctx-red-93pct-detail.png deleted file mode 100644 index d35f22253a2f55f8fef89c6ccce28ad6d9acb411..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58347 zcmaHS1yCGa*XAU_f&`b45G1%090CLh?(XgyWN^3OB)AUlGPt`24<6iI2Dd?W$oqcv zZSDTMU0pR@)3@cGd(Ly7BONL)D~5(lhztM#&?Lk~6afHuR{-EuAks_NKXH4bTmS$D zKte=N*){EO2~8ho%kSyb%=x@&fRfaXyz`6y7YtM;Qgb*=t`!Wrb%T~CzgAVN@vGva z+NnCT==?fRS?$rByG`DV6*yiuvL*y?+|n(SgcgqU0V>D ze>y1V0wDzp%+O)h^I=9xV{d4Sh>2+wKI~Os+ZqPN-(Lc5CmtPZYeQ>mPi5sA0!`JD zUhCsesk}$d&0jDc1p{zmb3Nld7U2I5#uSx!8`0;~yfi;KX;8n=^Lt|NVtl-kg=LRY z30p&$nWuecL+XjG?cxdU@A#io92|lYZ-=+bv*h05NajdRa->o)GAfWDWn_}_m>3Qx z-6yeN=O~^1dwWX8QT@uK-ij(s4j~vgji>`zd2Ah!1(xPgG+Lcr$^@zHFe!Q*}Jtlks4ArcLKrgrcb41Py8@(8`( z_V*B>0;!~m%%cuS?-!lxo8XMaWMVq$OGIat>C^~rrF^6u0?}(e==Ou7v=&&aQuXgN zM05W9X~3{zbUiVv&p&)vLice|MvY%wkd&%g8Y6URmsh|)%R)IGE4eJutH^XRw7ESX z&G<;(*EIoexUgO9m^Gyx+UVWF z6W7WlL$-B}VpZ1grFDR!LCzIDGyx3u7@6*|5@NysYM%s(kA_h_U2Hq= zR74$t`JQSIYUtD~Y0K`{qZjzhUOh`yq-tuaW@^d_5>rzX!D2KavRPb2y<(A~nMNl{ zGFd*d#bo_hQ8pG8(W0&JU=XQVP|Tv`Mu?jpms+{o9K%n`;V3#w#al*%HmED5rPCD% zzXXI(FR<)Q_ThLj(vk}Qp*O25uT7Cfv;|5wVIig!K4buz%RTPr*rm=qN--cgXyRVzExU9ICb+$l>o40zIT9eOfGd{apwVCsr4Bn}w zqNpvms&fOMh_JUmKOVY3l%riYg4C=gj@6CXY#*jwQlzcCPtdt9eV(?*>XIybfhO(h zjwKGbyn2rr?WxF+R*%y~6#>^agSA)lDg-FVG6Ky7)QWe8e^u?y@zL{qy;q7{Vgj`6 zx}lglQfIU9?iKfU@#Kf(G5Yk_EZM_9z~hb#pX&)|nUILiX>uHzbUNekFvlF}8-X?mN@Gr?j!#Ue|+fNdhP>%50Eyf&6+MkLsnvuhv+z%QK z-Go|hf4BInE3|KEW#}}k@qM|!T7sHgEc7s3kEo>-x}8pDJlMCo2j-BDR~)VpBN=eC z-sYcW%r70(l&GJ6?H^6F%J70VpPMe8Rj98V7HU`17>auSl{TaG!3=}s472^Z@mAZ_ zMzj?|%BPTlk`LM}V()K`CR5+^<9ctix-2&rU!M51yY&i`YsO8VjzU0gwWQFfu`*@b zsrX`)r@c{&?6dDCKKwSo_bKFzqBq3hy4xg-0urI+H&XLB%f z-1v2t3eppiOkgq``Y9@WjM4IbfiTZsk-^*r;cN9kX%F?@(A_bOw9+H;zLn2``=e#- z*-N9y@;40m`D#Qy97#G#LZ!bX@b@EPJkrNf-I>@ldRnZvLhcB~1~Gaf*m4xNdh7yp zf{Jwi3RBeI&U3?KJ~)Qm2?%s{acNXSxGqN-WNH~S=f1m6q}B3hdMDtj&{#G)+OE2Z zzx9rxz`50_CZ~C0S1LYIb7?-<(NKCEpWkInCKfxVhk~WHj^}Z>wXEjiabkiupOQdH zG0@!RU^u0{hPk`ha>LeUxj$uIRE$Wa+tzFrf#MBDquX0D3Jqnu5{E0AZ@5={?ap1a zHXr(@a1?ab(rAUadwk&himqyYrI*SY{@@)~Z#Bzwl-qxq;GFJ0Ys*e0t*)O`@!R(3 zsC0>vad*cD%o2X#hR)|E6}18?-gYK+IO9KX_x{fFt840g3$&x$bW4SB5?TA4ee<2y zYhycP;l&&_>>!svzfy=~{ZF`@>A9>ao1ld5m)Eh{n#_JJidqv_1k%FHnAz=?)N zROz6xLolG?@@fjg5}{W(I`!?2&!9d81)7o3UfM&lVf)b8$I1EmX@kn=X0y88#|D}) z82IPJQYAJd-F~Id?CGHm7yaoZ+G@KXJik~?57j+C_^jBSLR<6f0J!paXx83(JX?>~ z;Br)Kr?~FFZYOX%*G%kvb^Enkx_hoCAk_!DnW*M@b-MC+RY14+Jr_TY@4mYV+qst)LnqG;~H*C z8%vN`>4Au}z2n_zc*2ipPh8yNNs0}Ybsjd7C41(*5byJySClLq&~<-6zcezX7!|yc zWcJx(eqwkI?DnyOdVU9A0#nPR6qZ4kT_T{R4YJRGUNz?KNtu1*Oqp`db+hsq=ml|EX zNrbAe`=2gu=ZU?qJKf-K9q~&J_>yE~JS^h{^d8m|4ZUwRKZfrtJ;b|N?uBxKZu;tV zk9MRz+Ae#DCqB?IFfw}OHazsavpZx-u=FD6NnLq5s@fq2CHfqEd@|ray>7kS*tXCJ zm=Kwl%V@ECjL?E)*q1P;|5*;N{vO|P6ET-Feg4R!(+!h;M*`k!-?aH#!v7loP`DVS%E++ z?+*#Ws_n#tQ5Wmv;&fITYQHYOKE<+@EQJI6)s%GwqW22RV{raxWRS-REMSR!y>p#T zs>_OM)8=DQS4jor)+?=~xKOuAgjY@&SWEK-@q5!oe$1`m^})K3w8}zp;_{lgl$+m{ zWCR(E*P^SlyAS8KsDNqSQF;56)E?#jouht3unlwx#5q#_Kd0Xms3q{K_vAL+vSNbB2PfijM5z!$`0_ob_hg6E}?TgeH zbl5#2@{Z;6^nwZt391{lNJ1V>hd#INIX+W-fNzKahf7aSZhudYR#|Jn6gX?zvc*JY z4y}s?wEnR2Sl-1d-a&Fck36au%!hRm)OPaU1=>n{!L-z~8i3fR)qxk-PEa2t`YOwJO*a(rBmX^JF zQKd>9B#ZYum!Y#m9Te7l0EM zgRb0x*n&$2HRS&2_KAnMzt<;LLqT5E>q}_Symg5W(5A?RCy0RUh#VHcmw$bI-E4$5 znZu^eCF@L?CL%Htn8@t(lEAbIfDuamV)fI{jC2r=)kIzR4o*J1&61*COYRo{;C^~a zdGAtTvY2bv8@v(VO^=e6uA8Jx|;8$d7<~4f%^0adjg;*VYsBzkDMyzqj)nQ#cmpje0 zP~oHT7+S`Zf~+b$D`WYz7|6sT(eOl&hztz(^80qt$U^n3w+Vni4 zie643UT|8C&)_@l0ws05%qh78Mhi5XO0*Ta-G++!)Ya1DXI?aqF*+U%Wz_#^ISPH6 zSDyTk%KB6ty+m90xX-(C@6lRS@CaGC-_DT(;{$wA6b<1iwB^ZyEhb;)qWXV8>(Ji- z!4Y`XK&*JU0KzbqTIQ;-;Lhsxc*X8G>4-Uy?7x3jrLU{ssjH?@bOx|vJ&?h^5e=YZ|SBcTqYsobNLkWlZJ;9 z3S^-W5t1r#2E3wavh;&Up2cw=ndH(J1jde_`#q!jsFIb-uF2Hm14l`plV94kPHNRy zoSV70#&lVJXKcJH=2KWm3e$^i^zAOQlX5ne4(ZwTjglcWur)m)z&+at9qM#ToSZ+0WsSfXpL_#G>hwdSm&9{QlTJqJhy14aK zfC{A*06|GN#pnv&v3YeF5seifpJROU2v{j0EYzz*p&bP9IM+ITYFq5A7}2| z;`wR+_gW!;1d`!9skh`3A`&y)5;LCz%KOL<$oKpj4V~*ocMr#DGWLF~JcvB5paV^@ z5cRnvi15Y@evUdV^iw1y8jGsbiV^LTSOJ22gP+_sj{PV6d-ZNR*YjU#$t5}D^MqY{ z9)t?y@~LWSYu}06Lqj<^j#v`#=&=MrknOpXFDaPW&0EYhF4UglSw zchRLEP5eNOH==Xa*X;m|0RY`H#6(0?fWU5eF==WS(uCf< zb?Im}8sY0*w6kF0iR*d^vDCZ-+X2(WQK01a(fOyV%A_>Phjt-oon}$B8cFFPrwq<{ zpA_O~NLF4A-4csR3w{@5uv>(2@aJ*5#nWztaUFcw#n!=LAHkk$ctgnf3a`?rbVGyD z_w*^FcqPNHni0p!WAK*90E5_=m?9e|U@c;4#o1h>iBv&kWOTCg?Cj%4R?vpw2qH)M z+)bMV01*5PDWq9IGx5lulSU#si5EEsn>PJL>KFaTfH8NU(MUayzM?uerhf{ z>uz@ii>%>KYSg{ETaM{xV=f2t>8#-kv4+5E$Ibfal7)?!Jf_ijEW^!F-CKO(UD^6j z%(bD}(0i8szEHf=;pP`5)LFsDN=i$>DY&)1(5oGOj6SX{iXpA&gJmAZ;2%)1@a=~R zx~HIa;O96_z1yLf4~#!QVQuQB-n7#eRV_De49(K`1vx9P@CZgD`+0fiGmA?3Sjj62 z?8H;`{jnSRc~!p~RU-jRpUIvoyw)T#BG1)NCnWgt0yU2^R$R|%$LstUXa6Q-(nHsC zn^%Ci!-Wr^e}cgVShHU=@Kembf5VuE1&T%ETcl*xZkuXY%t zDSu0)eLX#q%huRky5uPtejcY~yH~am<8aW%C3kP&vohHL`NMZzS?X6q^`&t^ zF5>i!y}xetSrkKRaf`8=YQlYA|ESYyb#)D=-XgD3W3exjo}1s>|JV1!o6-hsLe(X!`!+IyVVcu>?0|M+&AGDm3MoEQx-oDB`+{2 zk{OwOkTqU08!z9_oN>YfNU$*300Cnx=0b(oY$D;#;Z7zg_XauT-9GApUIw7!WsUXo zches&Q#Q95Stw)z@z{o&4%{WES|2y>au%lFZP!i8^hMyXD97~Y6ZVnQ;**dCTnwQH zI#VPgT~7hCE#k%F1_9ewNkk(CeXQ*HNj(xn6x^B%NI%MSp3|vD467r z`yyFJQ=brbisf)`i!3MX^OYKNRH2xkD|K3hLHw$XInEr#Jul`&q4V{^?P#j0yel80 zLlfh*t}9=YiGoF5zo3;F!Wdktbr1kATF~u@CMaKC=pMh@l zg`PdB(17Qe-pGH%+6t7jM&E;IHHwGJ439e4@~(d>l?9g;H9M_L-TRQBT>WV@^_!OHDlbZ4JDgy zpe$uQAS^KS&>9N9roQgD`wp(Q<2h_|i;YL$q{<6&xGOE8G}cb`y34`V9Ly|y+6|m9 z)peO{U-G)Nne8E1cW-v*cYk=O_r5zj#6`h_VaP@^x(l%W#wd`%}5PrTdcn~t@Lx#o`Cnk(qaoVVYtyOi?sL8w59vCiyduf zA3NQ2bf?{8{lsg>eCzw`74t~Z{{A}7y88z+AAU{y4h<}P$EywZbpFlHU3}6V4y*iy0;L&61&5$QMU0-%2%L8h_XK68c5drm!*i>~e@AyR3g%&dy)G_5P307VdzZ z7rjn$@q03}!p^|^^Q9~?!FeB#eV@R=*|OT0mSh{KHc=vEdz6FxY}cU?Yw=!nnQ%g z!|}wlKlm+ACEntgriM6P2*&z1+ zI3r%YC~)v0b3;p|9vzRTPmHj?N_->U4*gw_qKiLxyB-m|`{z$Wtl7gL{=-2!>v6+z z&IqKn-TR;gYD?47np<|-Qmdu|6qP`HJS$td@BTOhZn7BdZ$^LGTk*Ds8kLkcSzJBJ zG{?0nu#EGhUwr@mXm!WnxE;r+UEyw_ROa|PqKmg&Niq2P@x*y6gYNkL@nQD*V+$8{_ltjLMFB|T`6&+S`xhzZ8h z!H@ZSJyM|M{U-NXI6tO3rKdQ$wE+pRj&Ws>v&MK*!O6TK~+F+_JKpLc+ zlo#nGZ`S5?G5aH~gl{G9jR6vO{_A~_@Oi6DIpV;_0bHuDV3j2IX+K(As`ypmNc|69 z!bj;WUZw9Vtb$23rDf{DURte>bV^@Uv$0fm+xYbsimd-QgW^07evR-wQkd~DRi%!= zx98=d%&zT_A5GXc1lH`s0Z3v{Rexhxd#`qiHrKqfKe}oi=l0f>mYn7QmMvX@ZO0#0 z@jPxnSag$SY*6M6yyHjS;*c14W36hXSm$&7eNjWLE`z)Mz{M_wa16q*!eU_C+0b<# z>k&=eynjW+d%0HGA5CT?Tueia;#jr{p#!QLhrw-FPB!wx}~EQ1WtDZeMPR#yW%~eBzQj z%Sj)!pl~V8RBqsy_0D={2h0v6Xw_o}`gSw%{|;6QoaojY{1g^jwyz8i$w)BWF(;n2 znj|h(%g)37J{oGBl@P2lhg zy2E#=Q?igsO%x2}=y}&Kax0kiz(CEkxh3qLCo3D{LbPWdyXg{FB!(Ku!_;lFk&9P- zF{^Zy>bQ8$4p;7#RqB@!TO-xHhV!xL)+i2#yZhpfbioA3zQ`E9Yf^~oJ2a&akJcUU zHVMOH+vb=brB!K}O8y8IThbm)g0s2a^QF8Cq{mOyD-fBp!}mJw{`dCcRxd!%hOFvF zK9BvIVVXv>=qWcymBwLfx^BkW!oAN%rN$AF*@IsC663XV5fL$Yx@^q7Pu_twiwz7o zskwui$)DznmT^aC({J0w9Fxu z`JU|z@>R==jQ`E&ox|}qS93GTOrc<;g+TM#8;I16zhl|W))SiGiy6w(VyGF+QIONJ zQ{yNrcCE@5sL|)!EjMMgyF0ziwqyJwwKzUpc_rI1eP0~S1$%H!uT9q5+MqC2 z(A&Ozl*KFmTZ_QmBqeYy`it2W_iy{!!Bi#-A6`GgeJ!fE9DnGFs)Gqy zr)*I2m;yM6$pxq^5}ms#MPn2Vdw*r+lS+QV!ltWF86X5`gOX6O2&7{i4Wy1X>|jx2 zAH^>ps5&h}+=sN1C>?a?G>4Bar4l@@9C4z<`J?E1bB#B8i7O8m0nkV7ai{Fl;#5;u z*t}OfKj)&;z8mh+0z=faiFbzU8~jC|u?EcqS%UwRB#zo}DQnfNBM29tN=Fuq6)SRC zJYHBGw^lY@4d2Yg=F@|2_vcrf>s@FwmI)LiB!l|)o8D$L9XI(jnk+EsCVN}i_w`tB zorF?M#-X@Edh5-=4g8d(vZ$0hxd2AZ*;j53DOZ?H-)9le6n_Z5Jsu#bZJiH%qZy3= zTv)>HjL7fJ%2^)h8gIw2g)+Qy8( zw4{?9;r|Z(){2on>(>Q+aNE{Nw-QFSArE&RIm6!$yOyP+it|s`Xtu6whlF2RiSM{} z0|octcxiFYN?G;^vCFp@rf&)BxT=EbA}27#u;L06=Nb6>12K32NUwxz2(senAV;`> zZ?~l8fZ#B42^+jE-LDV&_wCEm5B+3Nuj;&~xgE73(0eLA&obkPN}r9$-*$r6tu5V_ z$LT&R6Yv@BIu_!M=K?Cg^#B1IDRFjLJ%^Ffty!0P;4#BWzA{~t*&6(qX|;Onr@qfO z6Pg+c(bmwDrIl6|kKUIyvxq+T9uBJe)Ac&%zYgS5c$=*1ien|;`&@rpJEAy;XvHKX zUT!P-e2QSfTlPLG-8zpSD)e;gZxd*b<@4&QNewSpR#(1WJ6#_2yEH{du^|eR+I&cE zmpx!&{t=46WM<&@gqUhu;8R|(`R49S(?)CNATUPYg3AH^3|>FvYozZQmY>eeAk674 z|J1tPhgExD0z@$f^u_T2j54dKZ*~gmk3XQrICxk#lB(Dq#HTcEEl^6K=JC?|0MtMYu`Cad8@qZ3ez(Jr9&bH}Rl5bA4Q2kN^UX*12nE-G z8y}$k(j68nNH@MaB`m|JEhux5$me-@JP;@Kn=F+vq>}B`>>d2>oB-j@pP$Sn{8F(H7n6>M@u$r7RTsO+ofQNp&05!jQcCaqYH}z(kv$QYa0F8p%8kXA{Gc4b_H4@dT zWXrO}ZQ@ds2B})o)9ZXvNxv$rZklIfpPQQ_y{?;xv0kHIs&Y#lm~%5Ipia)n!{Iol z2Nx#7=^N)UU z)3|s}@fBEOZ`kyYg_Z=FJI{tkKX^(U?hxg?^ZwwZEj$%Tp}>i-U%kpuPqN0n_Q8K# zti?OKB4pJeydWhik?tL^|D6=&b{HXpy!xkFBNsQf^aQSuC`~Z~i{(>TAv7rGo1g*A zuL%EJCk^q3&tpZ7WLLpuLJF1zgrLH5j~FqvK@jpKZmZ!`nX3T=56OrJVe_f?NuK%Ucb4o3NB}C_JH2F9RN3S^0hHdcI(;} z%G&3fK^#s(7h@i~BJ!O^NEX)q6F-hzeZ+RQO*m)Tj{lSv*`$FZLCpE&&Z>5k{x6lL z{rZZqwsyXxRJ>gX;icf?DXD$b zpQ9?wI#vdQ-khwcc>sif!)gYLl9pfPp&#PG&Ki*f#ST!eyT2fyY8}31JAU|u zpOp3+H%T7*(_EQcR6J^b_<10g>2pTB%S0Z)rro=q7O`Ccrr?>Rq>_zzg6tKp91{)4B`Mpv0xe26Pj!C7&?X@wdJ!_^U(QYb;|MMKXe0K z?0f;_p55@U>?%@yo1ov7L?NsBH|sw^R8AO9W`N)^(A@{pb$)Q9(l>_PlZi@MQmmR6 zZ!<%iuMh|cPS zn?J&V28}3{C`sciqozmiSJqLjrZ37EZvg~;u(}H>TEF`10ju|cOSM9v(N?Le(&U1m zH&qAfoVI$tQft`Au3o&2JK84^F+X$yXj&A5J9b_$|7xNqqg0I$(ZRES?O-N@3k1h} z0uY44-mY^8l-S9t6kw!9SI^rg(_ny6w-6JYi`@Nk%<2fj}Rsm;sp+X-sAIS;IF>?1NCp)V<^ zhl|!Xmx+WR*`0kzrV0iqp6VtShv1VpW&j3gfFvjrA69GX@P#Gn0wk`W#?=sMH0Ln_ zmVGBcgp* zG>+{=+wF84$6U%+ID9+f6&hfD1n}_Qd5tJ9aS#+LGB4^DNuY7(^uKU1&9|Du{%Im( zK7+lk!8bp2<_A03_t$LR^*p0Cb1+K~_P*{7=r_4Mf##p1KtHd595U^U0m1`Q7HPY& z2n0L0gfi)do0_$@9=%PEih=!VI8?6z1j)~uz^x%g=`Z)N``)0l43#->(^qZ_;Bh+x z7aTAUr>>r)u%mfAp2Rt->@uH3CR!4IfEUh3oFsHu`2v6mtJ@J^&8LS>T^C(R6j^=W zti|v69SgM{=%j_~gNcg7qKwamKFzw6$4oH;cQ|EUp_#XlJa4X%_pi6;PbhMia*NN2 zsjPrCiRDy{Yv|ZGWc>O^3HDXHkI!ZgM3Tz1)hheOu{&#a0`k`{inF&&=rUFwGyiBR zRSYY58%_@6nv~4g_|&L3*04kA)LIm43~e&1KR@XUjyR5mBBFezc&?!Fa1fbc05Aq% zGY%9Jcft39s2f8V%FdmCyjccxQJ?4|gQ;G$LvKvsf)x(RX(y*N=1)QwL;LpmKoMVL z-u4`y;Sa|5Crma={I04_+Gk?H9v^4mSNPlV7>@#_YsnzfdLw0hTjnck zc$g_a74q5AR$pUyFF39%yFfr(udY(MrNMno$wT_c0|a_YVuDdJQ^eB!>R<`pa!_9W zyvBV#J6o-%>akxN&~cI@_KLaYzKJ8GEr4<}Q|twS^%-EuYdrl0fie&VRBrIu$DRfT zhC036YlNHz(h}B-I>*CA(#^$$kg*}$GTos3;#ZMMRK;2}1Fv7tNl6y)L?2qShJDja zjy0V>FZtAebvLc0rab!XnAz)OaUY*358Ya)vR%GNVH>DE*EeW#t65us&(CbqonxV8 zRxWRd;F7{jp>udUZE1E=;oJ=hL&Pt`I?%%bU=+bXpyH@ckK-h5dyK?eJV$R1|<|wYma=p+3S&<2(;bt#NVD3>6J?t+R1_ zgDRM9ly2BkzIb|?!x(pTl82rE#f?kD}2cVt*j1lm#YAPG7tQy=ALJTX&C$hlUvv8-Eme4vN zLO$@hD~6N|#_N<YDqa9>HkeaSvKM%+=)*2HhyB1d1L5EQ9Q?QFKLSfw zoSsSy&K@5-v(%U;I>Tb8|m)E7mJ3TNV{ug$7OB zvPy-SrEZ0L>vdaX{CwNr;$6voqk~Rwz`7cWT6>`ln8tQlxu!)L&=Jya`~x0XLxcFo}0%t(e)VOD5oiOYufdL zEuZMC^k-RMd>Fa(oA8ehNA3ZgeFC2MPHV|+;`1NZj{Ov*CpQ5wyZ_F4?vMB=CAv1j zo3=qi=yC^ie2!)${=vwWV)kQIF<7&v6n@AnVB`68*XTY&s!MX9W`l7t%W4rqImt+p zo_3>8GDbe1oP`k?o6PN@^WMvLIla789;R=a}F%j1hF5{d3`pvwT} zp?Y80HPLmRO0>}RlQ1qMeQS$7$}(J}7iDYT`VBmaq}@=NN2^LmU=eE%UY|z-Qvh=ltOw(HX5yA% zh2`HUP=Lg$;fn)NZ(c{Wy{19bZpBhm!irEzT-4Jn{=97#+JhsOH@a^V6-qufJ(CTqkt)}tJ<=QV#OhB=_n4QQ9KaL!QPcL?|xWg(Jm3tlTr0;X6ELE92DSD340nCd3 zuE4KbRTdyD2)H75nNe17QI^7!R@u_p?_;ocmXmL$#c3+m@wJ%UK1+|(z;^uF@VPBp zeac$NFi7Q~POVgnX2z}rvp3IVzg*=24~9FM2P$qyVb6XcU-gymxZejfm@EhcM^$W= zlNH^?_LTdp`_i|{4RC~p2u1c{CMIBN%Rl{INdSRItMesLKWIa`S+8L#nNXF#-D^a< zY^5huhSdwNQTwUGF`Ra$VJDRSoKJqCIo~iHsfLXb5WyDH`Gfv>eZ^z`Emi-^mSF$E zjN}iDTs&{S75@)wb+3=w`cEzZHtv6F*MWPU0{}o`jYRnO;QxD5(dXtO-(N8DQ&aPs z!2JOhP}OhU#lPKQU}$Yu_MlJa^o`XCgc%aJRK0$ppwzniaS$!K8C0fO@8x5XclSqr zX6K|Ta-PxUA^w224y?7cTwc1Uj+d#jmG&5UWifkniWWbL^0#g1shcPff0Y`5g!{M0 zNEF>@4b|up#FLTjCY2abvT!Ek*0`Y%-;!&GwMOC6`GDfk`_+CiTOeuK_>9&O4l!sw zut2{%r&k7y1G8!OyMPOmwjw_)MSASiIGwL@M-uIm0>RV^4f&bddoYgTrNv0cU_0OB z?&WjjUKctyiYP!!r#z@vy%X+L~!?nQJb!Zgdc6&mMg6RFQRug3zKCZZ6TS`F`rD zZx=N?DER$R(#=noT-uo~`!YmwxA}5Z6nQdj2X($2oPX!LqtRGynCxn@wvP`F%YpoD zvWh^BYD0iWslmiRL4G;KEIZ0hbiFr90<%0qORsS0GNRWsMQs6}(iSAKDKyARj88<> zadK}#oP1{S9v;vByY+zbNj#Q@ub-X3@D!nzRXDQ^wYVQ;(yFcuKPx51cDQ|##i`4s zrk6}C`t{u>K!fpLB_Uv`lBAp|{z&4?VLGzQYcG6UT9iLem_cTgQdwO#4c4{NDqvyI zkCInA?K&16Z-54!jWkOeGMAR|{8X+GN5TKVG>pDSV05~8kKOk1V@s)aJy)x#)h>6y z%$%T?wI!qO#)syg%G#xDXB~jiR{+7k+O6MXzWC6T<02$ulfy#MYiA}1s=O0k8Aa)u zvX&H=-SZ&J(?*T1!UeP83heL7Gv~O;H5Z@=f6M0sAHtTHk0KYW5{{fwue+%Kz3PlF zpG^%Mdc~K@FRq8DFDd~bp#Ddu2>Wb5fMU=d#2qc(>T^#j7q;z4?6RHS3XNu=19^F6 zMr4t5%&{mK>VSUYC{09yl5t>Yqr4INr9?RnkCTWRd+pn%Ul707d%!9gtgH=lp*Xv| zXt~?kDk{RNp=N&4Mh37@Npr-pjMB&!WTYy-vAGDx(xY1L@vBj}XK<&UHz8TOy-XA* zF`lNeA1H&N!P3y&A>WG=Y%KHzq?F%dvICjoTCe?Of_- zXA|KRWkK=^Tq%F;?sm|UCv}`r%y(3}tazN}lXcv^-$mgPN6X9ej*wSp+UlL8GCJ8Nw!iLThHf`SmHSid!mgwfOXL;^rj3x3{9YEC z?$!oxZ3%{=s!lPfD^LPRvi~kE$vP?`_#y0y~09l%wlV!ttwB_ZB^9- zTUt%sd^{NbJ&YT|0;aZ|J@}GYkJ;nqAssSl50GZV-B+L$>`NC|#A7Lz=9*{Tt67_l z2Ay_}^Os>&i+c?Sp}u%#VqZj9@e&dkCCX`ivKCJZWs=QMFMq*+Fj$)#^}|Yqv^5Oi zusuMu^G;vrXctb*1xJ*=!eSZ@c6@=Gdr9#83+FOz`npkNsW4D6jjNMza?Wy`Q%(#M z4)-7tP4^%WcPKDta}RwY(S{xyfT8i%8DI<`o5~#h(RplY#unC@W{eFHr*oW;krAso zs;V{FCyvJ7&iGRdl%}Rz`G}0?78CrXc}Ae3NqPZl=oP!ulfO*}HdSSy#qi*OWmpt_ z4nps{KEZ-eSbPARP>6mbb~RzN8r)*_>SGLjzpB|~!bsG`KWRxbi6He=0-MTQr+tjb zI(5C3n(a~CaQ>4xS21);=M(d_I1J|^)vermPU3Oe{I}u6Wu>0VL{wRC`l-cPIn)}1 z_1|0A>ZMgnatFYAX#b%|zf7bh4z2lC>a}6f;pmyeWsdi=Ny5W#;qIWIV3*Xl$ZzeR zRJet!!_qF+AF4iJz^G6tTD;44xId6i?;<_QKp$qUg$))~KQ~Yh)R@#E^rh<654Rst z4&VVI9DkLV#35Oe7fVqQier{b@XlF{3lS%&_zjz>%rNebrc7UvlrX=uHivnmqkNcXj1=5}{Qkb}kf99NQTo%!1AIYzIuNKBa!BA8Lvd0FH zq5O5CWJwlkDn`zsR9wHPwKJ_Vtk_Kw>8XE*MFg={5k@yt8Wa{$`_yVi486O{HP|{o z7)(nohd$Llhhbo?JiPdLyzms8gXwr0q9F;mKY7+TQ}?uglEPs*hMf#9c}m?y)sJCn zpUZ0taa7`;RrmiktQrl1e9HkpSRSF#2roFIE6=4cmJj*b_y;IvbYG2AE!}bUZT0|3 z??%*X!uPT*>x9r%#;JS<<$&O>;$*tPmxqdG2Gp`=X=C zdpW)P(7zUz_~|Vi02SdcvWvWL&om&{xV;bls-;$H%Js^32>)3Y9p;on4k7Fm5?Gi< zaENGtZ*xX&QZNisAiIzzz3Bc(>jlG9q`!{uql)-|(5|4L=NjcNA^-qiGZbi>*5LG=iH}@POreja#=(~fN$7yn>0xkDwiR_Ze*+K zgMT`~z3jr%A2e8#EID6I!3ll8-pm=-(@AFwYv1%8`rE+W!Hhya9mlU@kVHxQC{`SBJ$Sot^A@NDh=3TuZ#tm0l@9yJ*_Pm>oYH z;pi?1!q!N_+Ku`%Z8K=pD`+oxHmS-(BjJh9b5CkRsc0$h+W6FaGd0+w(Yx|!nIS%H&9P)+ZP31on<-?KjHix0dRrRwDQa*lFES7KRRI6u^h+`HV@6C}eC)yi;f}=L1^#2a-wghV4t-ijFI&nj6D36Q@zt2p zG-@jTCAU;9|0TDhscU6aXDCCTfohDj7_c6~-sye*t?t`?lyf<2ormlVR_RWue7RK@S9n0UXzV6a!I84@4p+S#V2kd&`; zKbXcA`&4N)lr~#kw=beNj|16Y{HD1UB0f>a$mH1GV8foRZ}0m77l1(g*TjFn{UR3J zh8gg56XJbG5Az+%8`S=MEr?=p#gHZrFezR+9SR<2V2PFRaZhRA2Jpo-{kJ#y)H?fz z8~U(%nWnmY!&C|L-_++%_V${Z8hJ0!+TsDBe^#2Yg+cJfs+*LQ-OweN*cslUtw3h% z)N{Xlag%epdBX3bO#Ve${6Fq8?W^Sb%tdcHGxKsiNb&UIu@^!?d^k$Vo4C;5MWrZ-8xu&X0|s4_9@Njk4SocmzJS#pe8aP54|1~CvvZ8%Y{K(qEsrYatX~4|fNODC z5M7BI)So9MZ*x;17GE>_?&=t!vM76AArRW6`G}}NtDo%1M0x1)L_p}|~kE9I6hG3B<8j<8jI_YnR!Bk8m# zi!x5%Rc_t8m|vWnHS2FO==W5s^;UNkC?Sr`kNok-wKFYw<)ct!gV3`5Iib*e>ez zk)QdsnArEKt*<6Rsay8l`N{lzICs3$eZ3>?n$&S9ppwUP&-M6hs8GVme{uo1Yf<6= zR5;kTLizwKteF1D<|@0vOnKyZ9avrurY!`ngR5_;*WRbB@?{H#d@*|e-l-fDchJs_ zXJs6ti3ELxXV9;lwPCh+mz7NTCQiJ|;|_u5%XgIa#J%S0mqyf@u(zcQw#y0)UMiQM z7#bQXkuIm~k=Ja_7Ee8^(8dYb{su$>5KGiBHw;*52>0%x`)yB->oeL86Sno zP^Eq3@~=O3!wv79nPy5Tqb@v6euvfZOyGUxzl!ze7wqg_3PSy9nm@7j(@etwTwl|e zoRA}dY*Aj2AxOZD;@1>mJ9WjG7v6Eb85>%4=eo8;UjsH&ttBUCJz1SZzgxuS z6!+c>T^WL$<6WA}t4t^9R86%`h={JeG=XZD&@}hdas*a>6RmK2@0tFb?wT?+KA~36 zWVAT7)H%-XOpYU^w(01y1dD%3Z?9;mkzP`^1)UScekz9r$`Eb7tkN1-5=!eSThl7Y z5wpM7+wm=28p5ZfstNxTJvTky4R7!A65`H{pxfo^b1yJ?56Tsn{`9ABG^0l9*O3UkQQgg-9ok<0l( zv8F3AbU)J6Br;v{Myv}NQSa00nlsSrD7v?ABp11d^Yr@{txw10xx^)mstxg!)LXyd z&l6fY?Tfk1%VUjuRl)(0rfJPle#e{j0mx>z=V^3V0$kVDQ4!mVSdaorMkN&!@UR0Sm6>!)3mr7hcbn_|%$1bN1Pg zv%SV9Q3gFn%Vl3RY6cpc$fi`P^HzV;8w)FNtOL*KH4ZCOSmYB5$Js1`l-lHvKKInW6fc2H6ti*s@xM#=aj9wr}}y zsR@Zl*%3OJe?ihh9zd!At2&bNFLOB`-eAyWaGy)Kxa2anA?PFNXb+NHMxy6_!3?nt$d-u{C_d^-SKROZ}(bCwUp9fQ#ETt+_Ntx1+HaZxcx#k ziTtSLZ7sRpmQ}V_yB_Ze7~NlsZxehZHxas@ZoLW}!;<-w_C>5R!EStbNv0c3>?BeB zfBFO@MX2K9i;=33-CdXvSmT>(HNE#gNG>UixyNh0w;S+hxA_lBuFY+p>9NcEjFThJ zmn6I&C*v>hFHSwJVo?3Bi8ki{?1cYm;GaDX-G12FMVG)Sh2ki?cUNli@@5HhzS+Xl zS`!nkMxDo7^N6|vw%VTXe-D=P!vq?w?u@OeIWYv)&eJ!ZmkkV)|I<_puv*7l$XwtU zd6tx@$w-y$M?Q#(H&NVP3~Sq_oJFqMDNTB&UX~X z)sGYKb;T@H32`m9!t%Taq!=r6`AjxVN3+`B(tirT07O*$@z z=*Igg`$ktM^K3OOo_3JoA$yZ zPP^~wyzFy-Sl_6ey4B9(9K*m~*`ye>(#L2FwZ?8fL2_ms^#knkQ)YltdHOD0dMQJh zG%wE6jhBJ2a0it*lmz3Z7?u3-@;1$b&rL!^8~v2+uB2EhWpAf?8#PbH)ty#KL^M3* zktF9+Z}0pm@RHVy;ow?d6%sm}LLn^KQe_1ayR~i{z59f!vT^*OV4$qQxm9zOR1@#^;^&V_+Qzw#se-n zmN&7l#s!JE^dK8r*_LatsI<8IQc~)Va~?0*U~5hSJkibT#b-et?$ELo)5JH4U$+B? z3Jlkl^q4HBM!=Q-a3@Uz&|m$|b_Hu*QM5VXONxf{fd||@%B3M#|so60Ks(xa}^@+OXd_{mJi*={ej##+ThK>XZ5 z8I-)fn)~CPA+@^nt@6oKqUXWwDKC^@ zx9Hfwio{?uVtB3sS;aI=-KUzXluh;9f!UoNaXQ&4m}>@CZp)q0*B$<{l@9y2TRUaH zP4x^ZMK?*$Pfb`N^pgC)dkz_QBJw?I)TZwqLV23e4~FOe8YzYea;MC7yQ-g&64cxN z+bxt{lgWb7W{69Uf*2!Tr^T}S*qS?3#IIi_5*BTiV_g!~a+TbMK#=89MhCPlrhP^(EE7-%ooLC5QNQi1~BV$ccAqf=2@v>b%j+wuNbP> zIJt+wRCJ6PWX^LM2#_8x9jDE+i~hVYwWDt5P!%;Gc&eZqc?H!|E~S6Iy$SQcA^G+* zpNGiXqGp?#CbzcYnaRoNrXto*L8ab!QCFqW<(ff{FZfZba+;osJUf1(4GsB5}*N+UXeA zM}%~Y)M`<2lK?bL?MLr4@-m*A3h> zIdJd09>3r7>>ROy?rl#0Y0)o(J^p;||E~e~mLE<)IZM`mfSRur8w#`B`lRorizPxT zMLZ%#<}!CK3QWe)PlUv;-KKwjlVP*E)qm=806$Mc@|ZYlsje*+gY!F3VCwXR&0{b+qCZGsbcJAeUNk~K~+c9t0hQ!;vQY8gI9}p z*(huKHQyb!99KKLEX`mYAQ`7TbNoNSMm$p`4*<>ypjKE@`9(z6e!d4ZX*K=y^o)6L zRA7nmVdjMa9q$9lbyHPgYhYs5On*6~quY=fmH#A-iD5ATaU3rRUFP!j;jC2X=V`}V z8S^e>6xaTWYDys+6IfGf$e=#RWA1kF6FdnErIWYHEJVDoe%qt_m2R_<{7>C;>(*aZACgBR4_8-pmNEssCmS(%9%eNc3w}d_Br#{YPhpRmT+^XO z==o=cd|NIS+@q|%FM&s-(@D)YBV;v>&_Pep9UI8sR1G_~s_z+rty# z64-dzvAmvwE3ooW?t?{dHtrVzlsF9Nz7U_taX6L9TfaZWZ9=;8lBNefAo)x&dwE~C z<949;)}ID+y{58>KHbj07+XWv25!_tRA7(Jm+*XQc7_cE>{tTU0p9n1i#Cy{H^+}mz5@}CGH{~u+k<~5M8 z0Q9%MNtgpP0gFajzQ&;af`RFiNAW|$?hMm_RAlYhQgJg7JTZi%cKBDxrt6x!r|aHc zZqBGG-etWmnrvG3%X z-dEqSM7sKJvqJ75pjq%G^(EI?J5a#a96d3&&-z%?e34FN%A2C|PDk@8pgRF*ZPrw2 zAvEx%`fPIYe#0uHquB*|ky>#{(w^8c`fnVZ85e_<0>~BaR@^L~8SepHjCbl~)<&sf zpxBc&A&OS{DN5y)N5g@c=N0?Fa%Vxndk@Y*gDl1%q;6&8SkzfJgMat!E0A8Mosv&= z;p#qx6#{kt$M3oHd%Jf`-M%0oL3@}X*QIytBJ6F+HUCzrAYV7fR!34`r^sXSozRz} zw>Wg;Ya~@9cX(7&KRh(qTSo+)nZ&cj!1=RKq9AcHW7jw)-`f#z+r0ytefQNfmyXSg zXZioKTADtD$K*q>=$)aB@DdyX^_YD6(jk~m zfGXd4`!cSj`kdnCeL4G@#=4wtj@uvJeVu{J9+YlMiUc_X$UE5wrU>w1n^+U>Qf4iBIV`pPZtar-+qWV@$Z4skyG46QHIsW(AZXvFRpO9oM*QM5P7QeEH2e0?DF zl+SHap$tV69+}Bs4i`RVdQ~wQk-aW;vJ;9!m7pN#qU8$Z51rn zWVeQ=uFGt5f5G3-$*-ymP)VRAT2twv5?0~ZyRZ;B*ml6vZXcG{n@|-pHw+% z$$D?T&h0y&hwnP|x9%o|xFJc+D%BH*%m(JD4aB655}?khQsR>|+bNoEi)-MP^8p}x z$NAzQC(}q`UL2dP1?~};W@_G?EqiIB{PJx2?D`^DZ?(6-6+d&yPCaIvkOtZfSPI8F zzS^1#9Ii52Ai0`{Mt{^O&cNw8n20drmxty#kB}>If$+Km()%M)!!7&P$DR3o*Nw+Z zNkptl6U-5)`6#hg)=#d7o`;Y_Q@G|`+Gh7)>CBb>H|wSZTCwa|%t^^7ne18%ws^|l zXlto!EOw4gV)FZwN|iy%9astr<8ZJptE4sw_|}v4b&ctvkqJ)~0)n>>0OXrJuD54uIDl^t9NS@WjXa*z6S)mj4cYs zXnbxIdb$1yXb-beoNEz(9imLQSWPkQczb^DhwFrgQ#~}`HlXSP)EJQr_m5Sl zyUZdR&VIudWsWC@2hwD)%&kXefs&iaJ(Aw-Tvf|OP-uF;WU|KY>1Fg(sR@1p z3rQEI<+P%|1c~A+G6S;M_;jTlR?S+<(hr%hk5d@QZF*>v0#++#1132a%7qcjIjvW3 z#8;!Q4!(=FeR=+f@3PS{?>Om7mD{W-N0vv_|EQqm-Z0Vb&ls=ax+Jp_udGws9v6Mj zoAnE4z$t|n-;|{NY#H+j_anT1yDGa>=|RqW&j76*FH7t7v_FOx9S&`(i(;WMKXkXc51bS&d^~X*u-n;JNIQIm*mI^;XRH50>+bOAS zf`uQ17wn;}l*>PF9+H5qBOGqsnU%`>$|n9Od(W`E9eDwO++3h0dfP-w+-#D>4WdtSHrd5FQ?vko-CM!Fz*qtbE?z}I=rL%a@GU;;B(Hqi~&js$yD4%dssap%8H#>OmS9XxQN$kbnqi^~1 zHfjYLco8=&-l)mN$9&d5CxDb6ATZv|m2UWTt5HZPqk%ryN?$@&hGVGggzL}cnz2FiGE=zslP;86epYpM>x5~%!Jd$e=lh*0&g$I8-8EB6p9$#QO# z)_ekE&SUgwqo#Ao();8Ff`ZaDLpTY`?=;Jfi*6LGlA|s!e&-Bw2$~n_CJi*MSClz$ z2c4}fW}I$8&=$Xl2tw~hrtLl38HdXz(LN6B{|I^LBaHrlK#Cfd^_6?Rncn8a05)ql z-J9)}n3x||JR`Gqck&K&^agpkk{cYRjljcG4($8;q#kPn!vh0T+sEKx(H#_iH(NpV z?=qZ_jPH@ELRT6oX?PqbXtBk=zcc(+L&I5L$mAT4a^u;d%g)Ag|0B)S_OGfiCaJ=S z)|0ufyR}1^E^`fsPI*HqLdVSh)tt|s*|dF0i)J|6INFTcmC)4GoHl_h?=MdlXu#D} z`?>gAS{l!P6=~P7vqym768pWJ%z%Ja0r>AmH|%o)bV}nXkLX`*q4)jou4*7IDZCEa zVgf!l(TL?X+Pud)xjr_CjgAT$7&I_4mgpG^%HE{| z7)F)1u4@CEdS)n_ikH-wX;ZumyMO&sh!JjQc6Pz-mAJvIH+TW*k= zFb4+*qqN^I{{Z&K@0gZ*%!=};RA{muJQI}H)a>nzQxp>Nh@Z*MT8hW9M=?UbY7}Vm zvq<^x6dO!;cNVtQpqwSWcSepj6;wQS5jQ_+ega-Sud(doOgKvy*~fiD_T&+iSlfww zlx;;=TY1j@g>p$OW!u{M_HScP!00+4Tws3H17N z$sm!=C>a@-RB8|qV0LnlCunv)CxqjLmx?Sd@FoV}np7|EymAkot^={@XXd_K>8O>$F>~S1R9q%`!#LP6VU_np~$Y=G%J39-qN7 zJ_22p_+tE*Il}grOCcZ`-;RQ=#vPfdRuAkej;icDEArvxU z<_akZXheuFQaC>;B^8$nn!D^UjoeJs%9%yaEKB>j3SYS&*IiZPb9-m4e>qB=O=+9? z)@Kb{i?$r?txx;vJjh>rYCjmXTcC*C3hyf8WENj+mt`~*+R@Wx zo~;Q59#)rRs1g9-)VPt)cfPs^kd(PmyHyD-=&VqJxoIkzCBJkI^zErpZzfceS#5;9 zH-hrcv;+rt4h-xd$}&8rO|G*YSJpv^Y;csbskt1dvnSrTFNqNQ7SMc@$1XtrquFg4qI;f+ z4No}C0Q^76)73XK)VW7|sdwk?;9)5#yW$-zy!Lh@T>;m9!?pU78D}d3m|A|pfmc-m zokP8prR*H(Ih^OEQukl^{EH9d?N?WqU0?0(qnk#dj=SjtD-5A=apNi~kAPzbF5$&0 z;Bqjj_n1+-dC{KSF8Bu(ZFRLUDB~3pfyl|pF)^k?NZ#efxcFm{nAzEe{-i}H4u#{>cSV>o`)4^kIzG;1s zMehm;cA$QDF&a5CBl)swFZdVUx_fA-n#l>`ZM0V`<+fx;x8ps()Pcu4DAZzS_CxSR zgEsTEPF1z21;4dHvFpEjtxZjbQDRp+0YCXTmjZmxJu#Wr#@hiugCD!JBDwWfTOKaN z5By!}U5?{0@wzxQNAzj)iHlD<*Ja8CYW!Oap#En%Cpq+tGYNX7jg&4_9zmFq`)1Dh z-^rV>^&+ix(Ds_npNsaM2@EhMi-QIn928X1-_vcuO-c7iBpXyEp#!vgiJTUK&vNPl zdW$0nLcZ>p#tV85<+h19w|jjYC|1K#Q@ow{fJ1`Kl3y$jW;0(D)?VPET*8-@M0_p0 zeb-fc(p@4)-h#s3#fHRjMu&ed%F1$X4_3D9fl2z$388{C3NnT5=6aZ!ZJbmIa>xK0 z{@a8%DP&|sa!(@zS?LNYFq!8L(NwdT3(lsG?=cCG93Ynrs69zK0uxaBG=smy%V(zC z^Z&W2WtqcCgX|;DkqcVSHIq5tMo=G0$N77F;V*UkTcBrUdY$mJwHPD*G$aw%ADNNN z%dQY{Vp=v!voJ19X2=|EZe2I;jq&A)e?vfX>tB)4aRu%8A^AUCfPK!v2p=uNNJ2OH zRX=1t8nS6qFatUrAbRv;#Oh(V=E)#<$0+2y4kRNPaFzq>wJQn-s1oc_K5XrfTv5i? zWsy@Y=@yH{QHntunDiS?xZ0A;r9!P!%#Tbao7l^N+!ipHNqbM!o|`>P90OuZ(huP#+~Wdfcdtp>lZ$GZzM z9B~V_ILIhnmWlvjrpo$WH|u$c$R4l?Sp%v+_7Sz1#uXaSEgvOpNoEngpAX++FzNPY zHse8NmD?Jm72et><+SqSaI4^l_V}YkCT4<9qZZ}9!ks;wq+YCxswN)E|4dLMDz%a} z;4u1+ku+sEhI^5$eRWhaWwwxabC`x-vB6p~teHP#>9*2#qMPUwnYr+4Cxd2bu8=SM zyDd9LiMbEU#4DX4cyqxG;5d7^NYrXd_JsEp@VMTV-ML`!x^Ggtw8{L`n!$|ie}_CR z0j)qrf6ToZpBjOm@pMo5`V%QaeFw)P*|^!~{9is#}-0mwixqb8OnLJXFu*NsNWo_(OIv3D>Hy>DU2>QuE*G8@Xab> z&_>edVCFL+)~IBvy1JsP>kzW@F{i0X2&li8+SwJOnO;Fk_q*w_VbNl?B!;|+-@b`a zQ&E*6y|WG`>}wb#j?BHhbbNh3Sti^u6d61_RG+VNsW3Dsr255`1cxJX$wKd)6~7ET z_bf5RhCc@UZ8Yb@j{xhNqIJ{b`@%|a(fLM0)L@F1b8|f97OsB5JOSi2zxax$kyc_< zZ)<|yC3T@3zT`2#dU94IUItGMrRanKV-B$ZtG7SVG$Mocxc)DzZse!CO2LI-11*^`?r z!CjswGi|tN_;x{>v+-PRY`bzwx9t;0q|-5p^y%KmIw<&WI{jlaZdl8)_puMe;Qdf` z+M3n3e8Ty~lHEt&Rg&DhB4ZKmv44*&_8Il&c;QjZ&LxgVzRZ6)hf*b_I1S*U9X1ls zTzg!_TE-9X-I~fLh>h-sQIgB$*mMO57dAP1D97m95VL7Jie0?<>GR?4=<|=cF)njP z#f;b9D@pXjyBEXCIB-{_L5%yckpf7{_h>pTZSnEassU;YlKqVm2&&dK)po+%hbRXG zd`6Xe>+c~_;)GhN#yyWVo*2~f(Cg?x!NdH5G-MWkBqSwyA4QDX?(DAhFcF*rB~t%z zYh}$OXL5$9(+Q9^3vQu7 zMjy0M-~H9$ZkyU1tB(XCAG#nRuQu#yl|4!`<7l1EUw-WS@H^E@F01t1C85S*CRYQw zl;7LETUB5rpSs$))LmHIEEw+grv6Jvu6V>FQ@b5IY2VikvmiRL)jq@;il*kWZ1RRo zJ$X?jzqI8^y0{)pGxkf>6=ztKPU^1nOJmfAGAA!41M~TskD#6sOL0h2CK=@a=_zGx z9aFu>H6%dNX;6oBdD%-)WrOnMM_bcjh%~z{nY9~fW&T&A5d zPL;XQ@ehAZMBFFTGusyfU61D!*cX^W<|B75cyj0vgbOt`11aB&TqG~nV3sgtYYj#z zhX((p&RL-sFujbso(F~D(?d;Tw&G1VII<0|)svUY-sMHM-q)h3H<01DQ!;8%J z3+dLLWGwiJJfS}XbC+eCohyjti-$nxrH z&nVh)95r%7A4!>iZmCF!BV*bCHW($KI@q0eoW*NjmD6n~yC`w{S&UtZ3l{Zx*CBC= zoc#**KCSwz>Xd|@8zZ5HQ$I3P5()Fk?lhqiQ&YK>CHNeaR8&T{kG-2fJK59QJKj(* zctqJQyF*|}x?BLRjMYj2RL$q#loQS?me57%;K{-vk78K4m_ zfYc}|@x}Y<08j1J90Ac5zV@N*%zOA>LBvbH=?2y^(58n=9n8cCkFAOD z&dwDe>3h@DH%G9c+;ynIgIvXG1cfSMyVtkw63e!_q6QqnM<>LL3Eo$J<7QU}p?YSQ zt=a|lUoD@7jzr)3G>SReoQsUySy>UhoX7$k_3lS=3h}1$w^j8mqKV{+%SAHCJqgnj z64~VY#WSCn!9KA1tJ!219!jwRZ&z1b6kM?mm-K>71L?oNLgdx|&aa2Dt1lCbYdOj| z5pS^^3;t5f7GxO?Qq_Z64h~U(Zkg2c+ihX)a&jJ}2S6OGQLindU@(m*k#^jyfAZeu z<7I1G65@p+K?*!CMJv|_x#?y7cMK@kbvmjx}T~l{)pghN^NaoU!Muu zLG9>21h~q`hp^-ySvac41tSXVQLXmf>24<>NRq9aI?rkT%7ZKs*um2?@6{>M@tDGe zQs|w@cyo>X5_9bQ?#!YUJGi1{RNOZ>Y9C=&4cT4UHvOr`u?igpiz%rRw3rRd}oZ%4_#KKkr#H5#uxz#>@lR={J%3C77CmIc@5@@jsS! zinMnV9%lp0;Sg;1)t1QTzeRB*leCnaWo4^i% z4*c@qhh_Dao0vGNps8|EtUtKlp((m<{_hJgZwtQLz=tpmDwWQQiBbf?-Ct?!qN*&H zPjcYxA6JW&-`@BW+bjER2V;txIe1qO2N!L7qUw|CAJ6!0|%?$_ia^GLv&Xn(> z6+T5OzECCv7EfIre36(=xn(7Rk9P-JhxZ4k#&VdK8!14r*tz1Z{7>a9dQJMvB=25DXQWwq`7jJx7~h z-ychUWR0mO3W^O77CTRZR2ME2QYHLo6CrrA|8skton{W!e2CtUNNF1|n{J3(A25JN zIdM~alo>D}#veuQY;BQG8T_(1!Bz_X=zC&chBiur%9(1I?o>SU*a*D)-6nF~Ol;eS z!?C0MfKF0Xg3w#!qi;y*=1N%E4duzl3GSp7o4%e&FO!~n<>PIm(O8IU8m~Ly zYW++%f%n52P-(^fO}PC7C7@nD?Svb#<$_o3~6m# zQs$)71G#>@$ve)UG5!$KLJvhXH9yDVC(oWWUeo?2AdnldsWL2iRMmi}n-2CbfMRV;`xK+qXv%e@c0x~7&KovvX9R4 zfmBVDzvP2zy;h{y*@<{c*EGn9{AG~kI~WC~C)YYWuEj%3BA?UNL3*3JBE59MU*bIf zFJhgq(h=qTi~&g}yiS+aRj< jKuj;z~bwlS~O5=kt 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 Wz3XhECIGhq2pwI+n`PRMUj8o+SoEF% diff --git a/screenshots-for-pr/ctx-unknown-no-bar-detail.png b/screenshots-for-pr/ctx-unknown-no-bar-detail.png deleted file mode 100644 index dd73869ecf8fcd5d7ba608b298e1cb4a4fabe2b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54759 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 None: scenarios = [ ("green-14pct", 18_000, 128_000, "#22c55e", 8910), # 14% → green ("amber-74pct", 95_000, 128_000, "#f59e0b", 8911), # 74% → amber - ("red-93pct", 119_000, 128_000, "#ef4444", 8912), # 93% → red - ("unknown-no-bar", None, None, None, 8913), # unknown → no bar + ("red-93pct", 119_000, 128_000, "#ef4444", 8912), # 93% → red + ("unknown-no-bar", None, None, None, 8913), # unknown → no bar ] for label, used, max_ctx, expected_color, port in scenarios: @@ -304,14 +307,14 @@ async def run_tests() -> None: await task # Summary - print(f"\n{'='*60}") + print(f"\n{'=' * 60}") print(f"📸 Screenshots: {len(screenshots)} captured") print(f"✅ Assertions: {len(assertions)} passed") if failures: print(f"❌ Failures: {len(failures)}") for f in failures: print(f" - {f}") - print(f"{'='*60}") + print(f"{'=' * 60}") for a in assertions: print(f" ✅ {a}") print(f"\nAll screenshots saved to {SCREENSHOTS_DIR}/") From f435a439ba599e47f896f6acf7520529af507576 Mon Sep 17 00:00:00 2001 From: Aviral Dua Date: Mon, 30 Mar 2026 21:28:34 -0700 Subject: [PATCH 6/6] chore: remove Playwright screenshot utility from repo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not a real test — requires manual server + browser. Was used for local QA verification only. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../test_context_window_screenshots.py | 327 ------------------ 1 file changed, 327 deletions(-) delete mode 100644 tests/test_web/test_context_window_screenshots.py diff --git a/tests/test_web/test_context_window_screenshots.py b/tests/test_web/test_context_window_screenshots.py deleted file mode 100644 index eea51eb..0000000 --- a/tests/test_web/test_context_window_screenshots.py +++ /dev/null @@ -1,327 +0,0 @@ -"""Playwright screenshot & QA tests for the context window visualization (PR #56). - -Starts mock FastAPI servers with different context window utilization levels, -then uses Playwright to screenshot the dashboard and validate the progress bars. - -Usage: - uv run python tests/test_web/test_context_window_screenshots.py -""" - -from __future__ import annotations - -import asyncio -import time -from pathlib import Path - -import uvicorn -from fastapi import FastAPI -from fastapi.responses import FileResponse, JSONResponse -from fastapi.staticfiles import StaticFiles - -STATIC_DIR = Path(__file__).resolve().parents[2] / "src" / "conductor" / "web" / "static" -SCREENSHOTS_DIR = Path(__file__).resolve().parents[2] / "screenshots-for-pr" - - -def _build_events( - context_window_used: int | None, - context_window_max: int | None, - model: str = "gpt-4o", -) -> list[dict]: - """Build workflow events with a specific context window utilization.""" - t = time.time() - 30 - - return [ - { - "type": "workflow_started", - "timestamp": t, - "data": { - "workflow_name": "context-window-test", - "entry_point": "agent1", - "agents": [ - { - "name": "agent1", - "type": "agent", - "model": model, - "routes": [{"to": "agent2"}], - }, - {"name": "agent2", "type": "agent", "model": model, "routes": [{"to": "$end"}]}, - ], - "parallel": [], - "for_each": [], - }, - }, - { - "type": "agent_started", - "timestamp": t + 1, - "data": { - "agent_name": "agent1", - "iteration": 1, - "agent_type": "agent", - "context_window_max": context_window_max, - }, - }, - { - "type": "agent_turn_start", - "timestamp": t + 1.5, - "data": {"agent_name": "agent1", "turn": "awaiting_model"}, - }, - { - "type": "agent_message", - "timestamp": t + 5, - "data": { - "agent_name": "agent1", - "content": "Analyzing the data and preparing comprehensive report...", - }, - }, - { - "type": "agent_completed", - "timestamp": t + 8, - "data": { - "agent_name": "agent1", - "model": model, - "tokens": 5000, - "input_tokens": context_window_used, - "output_tokens": 1500, - "cost_usd": 0.025, - "context_window_used": context_window_used, - "context_window_max": context_window_max, - "output": {"analysis": "Results look good"}, - "output_keys": ["analysis"], - "route": "agent2", - }, - }, - { - "type": "agent_started", - "timestamp": t + 10, - "data": { - "agent_name": "agent2", - "iteration": 1, - "agent_type": "agent", - "context_window_max": context_window_max, - }, - }, - { - "type": "agent_turn_start", - "timestamp": t + 10.5, - "data": {"agent_name": "agent2", "turn": "awaiting_model"}, - }, - { - "type": "agent_message", - "timestamp": t + 15, - "data": { - "agent_name": "agent2", - "content": "Synthesizing final output from agent1's analysis...", - }, - }, - { - "type": "agent_completed", - "timestamp": t + 18, - "data": { - "agent_name": "agent2", - "model": model, - "tokens": 3000, - "input_tokens": context_window_used, - "output_tokens": 800, - "cost_usd": 0.015, - "context_window_used": context_window_used, - "context_window_max": context_window_max, - "output": {"result": "Final answer"}, - "output_keys": ["result"], - "route": "$end", - }, - }, - { - "type": "workflow_completed", - "timestamp": t + 20, - "data": { - "output": {"result": "Final answer"}, - "total_tokens": 8000, - }, - }, - ] - - -def create_mock_app(events: list[dict]) -> FastAPI: - app = FastAPI() - - @app.get("/") - async def index(): - return FileResponse(STATIC_DIR / "index.html", media_type="text/html") - - @app.get("/favicon.svg") - async def favicon(): - return FileResponse(STATIC_DIR / "favicon.svg", media_type="image/svg+xml") - - @app.get("/api/state") - async def get_state(): - return JSONResponse(content=events) - - @app.get("/api/logs") - async def get_logs(): - return JSONResponse(content=events) - - app.mount("/assets", StaticFiles(directory=str(STATIC_DIR / "assets")), name="assets") - return app - - -async def _start_server(app: FastAPI, port: int): - config = uvicorn.Config(app=app, host="127.0.0.1", port=port, log_level="warning") - server = uvicorn.Server(config) - task = asyncio.create_task(server.serve()) - while not server.started: - await asyncio.sleep(0.05) - return server, task - - -async def run_tests() -> None: - from playwright.async_api import async_playwright - - SCREENSHOTS_DIR.mkdir(parents=True, exist_ok=True) - - screenshots: list[str] = [] - assertions: list[str] = [] - failures: list[str] = [] - - # Test scenarios: (label, used, max, expected_color, port) - scenarios = [ - ("green-14pct", 18_000, 128_000, "#22c55e", 8910), # 14% → green - ("amber-74pct", 95_000, 128_000, "#f59e0b", 8911), # 74% → amber - ("red-93pct", 119_000, 128_000, "#ef4444", 8912), # 93% → red - ("unknown-no-bar", None, None, None, 8913), # unknown → no bar - ] - - for label, used, max_ctx, expected_color, port in scenarios: - events = _build_events(used, max_ctx) - app = create_mock_app(events) - server, task = await _start_server(app, port) - - async with async_playwright() as p: - browser = await p.chromium.launch() - page = await browser.new_page(viewport={"width": 1400, "height": 900}) - await page.goto(f"http://127.0.0.1:{port}", wait_until="networkidle") - await page.wait_for_timeout(2500) - - # Screenshot - path = str(SCREENSHOTS_DIR / f"ctx-{label}.png") - await page.screenshot(path=path, full_page=False) - screenshots.append(path) - print(f" ✅ {path}") - - # Assert: agent nodes rendered - for name in ["agent1", "agent2"]: - node = page.locator(f'text="{name}"').first - if await node.is_visible(timeout=3000): - assertions.append(f"[{label}] Node '{name}' visible") - else: - failures.append(f"[{label}] Node '{name}' NOT visible") - - # Assert: context bar presence/absence - if expected_color is not None: - # Should have a progress bar with the expected color - bars = page.locator('[style*="backgroundColor"]') - bar_count = await bars.count() - if bar_count > 0: - assertions.append(f"[{label}] Progress bar(s) rendered ({bar_count})") - else: - # Bars use inline style, try checking differently - pct = round((used / max_ctx) * 100) if used and max_ctx else 0 - assertions.append(f"[{label}] Expected ~{pct}% context bar") - else: - assertions.append(f"[{label}] No context bar expected (unknown model)") - - # Assert: API returns correct context_window fields - api_data = await page.evaluate( - """async () => { - const resp = await fetch('/api/state'); - const data = await resp.json(); - const completed = data.filter(e => e.type === 'agent_completed'); - return completed.map(e => ({ - agent: e.data.agent_name, - used: e.data.context_window_used, - max: e.data.context_window_max, - })); - }""" - ) - for agent_data in api_data: - if agent_data["used"] == used and agent_data["max"] == max_ctx: - assertions.append( - f"[{label}] API context data correct for {agent_data['agent']}" - ) - else: - failures.append( - f"[{label}] API context data mismatch for {agent_data['agent']}: " - f"got used={agent_data['used']}, max={agent_data['max']}" - ) - - # Click agent1 to check detail panel shows context row - try: - agent_node = page.locator('text="agent1"').first - if await agent_node.is_visible(timeout=2000): - await agent_node.click() - await page.wait_for_timeout(800) - - detail_text = await page.text_content("body") or "" - if used is not None and max_ctx is not None: - pct = round((used / max_ctx) * 100, 1) - # Check if context info appears in detail panel - if "context" in detail_text.lower() or str(int(pct)) in detail_text: - assertions.append(f"[{label}] Context info in detail panel") - else: - assertions.append( - f"[{label}] Detail panel rendered" - " (context info may be formatted differently)" - ) - - path = str(SCREENSHOTS_DIR / f"ctx-{label}-detail.png") - await page.screenshot(path=path, full_page=False) - screenshots.append(path) - print(f" ✅ {path}") - except Exception as e: - failures.append(f"[{label}] Detail panel error: {e}") - - await browser.close() - - server.should_exit = True - await task - - # Dark mode test with amber utilization - events = _build_events(95_000, 128_000) - app = create_mock_app(events) - server, task = await _start_server(app, 8914) - - async with async_playwright() as p: - browser = await p.chromium.launch() - page = await browser.new_page(viewport={"width": 1400, "height": 900}, color_scheme="dark") - await page.goto("http://127.0.0.1:8914", wait_until="networkidle") - await page.wait_for_timeout(2500) - - path = str(SCREENSHOTS_DIR / "ctx-dark-mode.png") - await page.screenshot(path=path, full_page=False) - screenshots.append(path) - print(f" ✅ {path}") - assertions.append("[dark-mode] Dark mode renders without crash") - - await browser.close() - - server.should_exit = True - await task - - # Summary - print(f"\n{'=' * 60}") - print(f"📸 Screenshots: {len(screenshots)} captured") - print(f"✅ Assertions: {len(assertions)} passed") - if failures: - print(f"❌ Failures: {len(failures)}") - for f in failures: - print(f" - {f}") - print(f"{'=' * 60}") - for a in assertions: - print(f" ✅ {a}") - print(f"\nAll screenshots saved to {SCREENSHOTS_DIR}/") - - if failures: - raise SystemExit(1) - - -if __name__ == "__main__": - asyncio.run(run_tests())