From 4c1be22150c43a7a041a2612c56e110c07902988 Mon Sep 17 00:00:00 2001 From: alex s <46074070+bearsyankees@users.noreply.github.com> Date: Wed, 23 Sep 2026 20:25:23 -0400 Subject: [PATCH] Let agents delete a vulnerability report they filed (#1354) --- strix/agents/factory.py | 2 + strix/agents/prompts/system_prompt.jinja | 1 + strix/interface/cli.py | 22 ++ .../interface/tui/internal/render/registry.go | 2 + strix/interface/tui/internal/render/report.go | 30 ++ strix/interface/tui/runtime.py | 3 + .../VulnReportDeleteRenderer.tsx | 49 ++++ .../components/live/tool-renderers/index.ts | 4 +- ...{index-DN__rVv3.css => index-CrLE9rrV.css} | 2 +- .../{index-B94ANU8d.js => index-DbPDzbcJ.js} | 32 +-- strix/interface/viewer/static/index.html | 4 +- strix/report/state.py | 201 ++++++++++--- strix/tools/reporting/tool.py | 123 ++++++++ tests/test_reporting_fields.py | 272 +++++++++++++++++- 14 files changed, 688 insertions(+), 59 deletions(-) create mode 100644 strix/interface/viewer/frontend/src/components/live/tool-renderers/VulnReportDeleteRenderer.tsx rename strix/interface/viewer/static/assets/{index-DN__rVv3.css => index-CrLE9rrV.css} (76%) rename strix/interface/viewer/static/assets/{index-B94ANU8d.js => index-DbPDzbcJ.js} (90%) diff --git a/strix/agents/factory.py b/strix/agents/factory.py index ac31444dc..063a5dd4a 100644 --- a/strix/agents/factory.py +++ b/strix/agents/factory.py @@ -56,6 +56,7 @@ from strix.tools.proxy.tools import ( from strix.tools.reporting.tool import ( create_dependency_report, create_vulnerability_report, + delete_vulnerability_report, get_report, list_reports, update_vulnerability_report, @@ -589,6 +590,7 @@ _BASE_TOOLS: tuple[Tool, ...] = ( create_vulnerability_report, create_dependency_report, update_vulnerability_report, + delete_vulnerability_report, list_reports, get_report, list_requests, diff --git a/strix/agents/prompts/system_prompt.jinja b/strix/agents/prompts/system_prompt.jinja index 7934dfb99..491b544c3 100644 --- a/strix/agents/prompts/system_prompt.jinja +++ b/strix/agents/prompts/system_prompt.jinja @@ -244,6 +244,7 @@ VALIDATION REQUIREMENTS: - DEDUPLICATION: The create_vulnerability_report tool uses LLM-based deduplication. If it rejects your report as a duplicate, DO NOT attempt to re-submit the same vulnerability. Accept the rejection and move on to testing other areas. The vulnerability has already been reported by another agent. If your evidence proves more than the finding it matched (a working exploit where that one had only a static trace, a chain that raises the impact), revise that finding with update_vulnerability_report using the duplicate_of id — never re-file it. - HTTP EVIDENCE: a finding you validated through the proxy is not fully filed until `http_exchange_ids` carries the proxy request ids of the exchanges that prove it — the request that triggers the vulnerability plus the baseline/control request it differs from (an unauthenticated success next to the authenticated one, the payload response next to the benign one). Copy the ids exactly as `list_requests`/`view_request` show them, never invent or guess one, and never omit the field to bypass validation. Leave it out only when there is no captured HTTP exchange at all (static-only code findings, dependency CVEs). If you filed before the proving exchanges existed, attach them afterwards with update_vulnerability_report. Without the ids, the finding ships as prose nobody can replay. - REVISING A FINDING: use update_vulnerability_report (report id + the fields you want to replace + update_reason) when you learn something a finding already on file does not carry — you built the PoC after filing it, a chain raised its impact, further testing weakened it, or its counterevidence/remediation/code locations were wrong. Editing a finding needs no duplicate verdict, and it is always better than filing a second report for the same issue. Read the finding first with get_report, and pass only the fields that change. +- WITHDRAWING A FINDING: when re-testing proves a finding you filed is not a vulnerability at all — the exploit only worked because of your own test setup (a mixed-up session, a self-inflicted state change, a misread response), the behaviour is intended, or the control is in fact enforced — delete it with delete_vulnerability_report (report id + delete_reason). Never leave a disproved finding on file as a zero-CVSS, "retracted", or "false positive" report, and never rewrite its text into a note saying it was wrong: a report that exists is read as a finding. Delete is for a finding that does not exist; a finding that is real but weaker than filed is revised, not deleted. - REVIEWING FILED FINDINGS (orchestrator/root agent): use list_reports to see every vulnerability filed so far in this scan (by any agent, root or child) — metadata-first with per-severity counts — and get_report to read one finding in full by its id. These are read-only orchestration tools: the root agent uses them to track coverage, avoid dispatching work on already-covered ground, assemble the finish_scan executive summary, and reason about attack-chaining across confirmed findings. Leaf/specialist agents should NOT call them — just do your assigned testing and file findings. Each entry shows which agent filed it (agent_name), and your own entries are flagged by_you. list_notes/get_note do the same for notes. STATE & COORDINATION TOOLS (when and how): diff --git a/strix/interface/cli.py b/strix/interface/cli.py index 684805d02..a8992ce49 100644 --- a/strix/interface/cli.py +++ b/strix/interface/cli.py @@ -122,10 +122,32 @@ async def run_cli(args: Any) -> None: # noqa: PLR0915 console.print(vuln_panel) console.print() + def display_vulnerability_deleted(report: dict[str, Any]) -> None: + report_id = str(report.get("id", "unknown")) + deletion = report.get("deletion") + deletion = deletion if isinstance(deletion, dict) else {} + deleted_by = deletion.get("agent_name") or deletion.get("agent_id") or "agent" + text = Text() + text.append("Withdrawn: ", style="bold") + text.append(f"{report.get('title', '')}\n\n") + text.append(f"Deleted by {deleted_by}. ", style="dim") + text.append(str(deletion.get("reason") or "")) + console.print( + Panel( + text, + title=f"[bold yellow]{report_id.upper()} (withdrawn)", + title_align="left", + border_style="yellow", + padding=(1, 2), + ) + ) + console.print() + report_state.vulnerability_found_callback = display_vulnerability report_state.vulnerability_updated_callback = lambda report: display_vulnerability( report, updated=True ) + report_state.vulnerability_deleted_callback = display_vulnerability_deleted def cleanup_on_exit() -> None: report_state.cleanup() diff --git a/strix/interface/tui/internal/render/registry.go b/strix/interface/tui/internal/render/registry.go index a7cfc6c79..9b7f4f35a 100644 --- a/strix/interface/tui/internal/render/registry.go +++ b/strix/interface/tui/internal/render/registry.go @@ -86,6 +86,8 @@ func Tool(data map[string]any) string { return renderVulnerabilityReport(args, result) case "update_vulnerability_report": return renderVulnerabilityReportUpdate(args, result) + case "delete_vulnerability_report": + return renderVulnerabilityReportDelete(args, result) case "create_dependency_report": return renderDependencyReport(args, result) case "list_reports": diff --git a/strix/interface/tui/internal/render/report.go b/strix/interface/tui/internal/render/report.go index 4640225ad..8b82b6022 100644 --- a/strix/interface/tui/internal/render/report.go +++ b/strix/interface/tui/internal/render/report.go @@ -21,6 +21,36 @@ func renderVulnerabilityReportUpdate(args map[string]any, result any) string { return renderReport(args, result, "Vulnerability Report Updated", "Updating report...") } +// A deletion names the report it withdraws and the reason; the result carries +// the title the report had, so the reader knows what left the scan. +func renderVulnerabilityReportDelete(args map[string]any, result any) string { + resultMap, _ := result.(map[string]any) + var b strings.Builder + b.WriteString("🐞 " + Bold(ReportHdr).Render("Vulnerability Report Deleted")) + + reportID := StringValue(args["report_id"]) + if reportID != "" { + b.WriteString("\n\n" + Bold(Field).Render("Report: ") + reportID) + } + if title := StringValue(resultMap["title"]); title != "" { + b.WriteString("\n\n" + Bold(Field).Render("Title: ") + title) + } + if sev := StringValue(resultMap["severity"]); sev != "" { + b.WriteString("\n\n" + Bold(Field).Render("Severity: ") + + lipgloss.NewStyle().Bold(true).Foreground(SeverityColor(sev)).Render(strings.ToUpper(sev))) + } + if reason := StringValue(args["delete_reason"]); reason != "" { + b.WriteString("\n\n" + Bold(Field).Render("Reason") + "\n" + reason) + } + if errMsg := StringValue(resultMap["error"]); errMsg != "" { + b.WriteString("\n\n" + Col(SevHigh).Render(errMsg)) + } + if reportID == "" { + b.WriteString("\n " + Dim().Render("Deleting report...")) + } + return "\n\n" + b.String() + "\n\n" +} + func renderReport(args map[string]any, result any, heading, pending string) string { resultMap, _ := result.(map[string]any) var b strings.Builder diff --git a/strix/interface/tui/runtime.py b/strix/interface/tui/runtime.py index a20960ce7..15352c520 100644 --- a/strix/interface/tui/runtime.py +++ b/strix/interface/tui/runtime.py @@ -114,6 +114,9 @@ class GoTuiRuntime: self.report_state.vulnerability_updated_callback = lambda _report: ( self.controller.notify_changed() ) + self.report_state.vulnerability_deleted_callback = lambda _report: ( + self.controller.notify_changed() + ) self.controller.notify_changed() async def check_setup_model(self) -> None: diff --git a/strix/interface/viewer/frontend/src/components/live/tool-renderers/VulnReportDeleteRenderer.tsx b/strix/interface/viewer/frontend/src/components/live/tool-renderers/VulnReportDeleteRenderer.tsx new file mode 100644 index 000000000..90e3ccec4 --- /dev/null +++ b/strix/interface/viewer/frontend/src/components/live/tool-renderers/VulnReportDeleteRenderer.tsx @@ -0,0 +1,49 @@ +"use client"; + +import type { ToolRendererProps } from "@/types/events"; +import { TruncatedText } from "./ToolCard"; + +const SEVERITY_COLORS: Record = { + critical: "text-red-400", high: "text-orange-400", medium: "text-yellow-400", + low: "text-blue-400", info: "text-cyan-400", +}; + +/** A withdrawn finding: which report went, and what disproved it. */ +export default function VulnReportDeleteRenderer({ args, result, status }: ToolRendererProps) { + const reportId = (args.report_id as string) ?? ""; + const reason = (args.delete_reason as string) ?? ""; + + const res = result && typeof result === "object" ? (result as Record) : null; + const ok = res?.success === true; + const error = typeof res?.error === "string" ? res.error : ""; + const title = typeof res?.title === "string" ? res.title : ""; + const severity = typeof res?.severity === "string" ? res.severity.toLowerCase() : ""; + const failed = res != null ? !ok : status === "failed" || status === "error"; + const pending = res == null && !failed; + const label = pending ? "withdrawing report\u2026" : failed ? "report not withdrawn" : "report withdrawn"; + const labelColor = pending ? "text-[#888]" : failed ? "text-red-400/80" : "text-yellow-400/80"; + + return ( +
+
+ + {label} + + {reportId && {reportId}} + {severity && ( + + {severity.toUpperCase()} + + )} +
+ {title &&
{title}
} + {reason && ( +
+ Why +
+
+ )} + {error &&
{error}
} +
+ ); +} diff --git a/strix/interface/viewer/frontend/src/components/live/tool-renderers/index.ts b/strix/interface/viewer/frontend/src/components/live/tool-renderers/index.ts index dcc568fb9..071a333b4 100644 --- a/strix/interface/viewer/frontend/src/components/live/tool-renderers/index.ts +++ b/strix/interface/viewer/frontend/src/components/live/tool-renderers/index.ts @@ -12,6 +12,7 @@ import FileEditRenderer from "./FileEditRenderer"; import ApplyPatchRenderer from "./ApplyPatchRenderer"; import ViewImageRenderer from "./ViewImageRenderer"; import VulnReportRenderer from "./VulnReportRenderer"; +import VulnReportDeleteRenderer from "./VulnReportDeleteRenderer"; import ReportListRenderer from "./ReportListRenderer"; import ProxyRenderer from "./ProxyRenderer"; import ThinkRenderer from "./ThinkRenderer"; @@ -116,7 +117,7 @@ const CATEGORY_TOOLS: Record = { filesystem: ["apply_patch", "view_image", "str_replace_editor", "list_files", "search_files"], // Caido proxy tools (legacy: send_request) proxy: ["list_requests", "view_request", "repeat_request", "list_sitemap", "view_sitemap_entry", "scope_rules", "send_request"], - reporting: ["create_vulnerability_report", "update_vulnerability_report", "list_reports", "get_report"], + reporting: ["create_vulnerability_report", "update_vulnerability_report", "delete_vulnerability_report", "list_reports", "get_report"], thinking: ["think"], agents: ["create_agent", "agent_finish", "send_message_to_agent", "wait_for_agents", "view_agent_graph", "stop_agent"], search: ["web_search"], @@ -151,6 +152,7 @@ const RENDERER_OVERRIDES: Partial:not(:last-child)){--tw-space-y-reverse:0;margin-block:0}: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(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * 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-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * 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)))}:where(.space-y-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-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-white\/\[0\.04\]>:not(:last-child)){border-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){:where(.divide-white\/\[0\.04\]>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-clip{overflow-x:clip}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.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-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.\!border-\[\#222\]{border-color:#222!important}.border-\[\#1a1a1a\]{border-color:#1a1a1a}.border-\[\#2a2a2a\]{border-color:#2a2a2a}.border-\[\#3a3a3a\]{border-color:#3a3a3a}.border-\[\#22c55e\]\/40{border-color:#22c55e66}.border-\[\#222\]{border-color:#222}.border-\[\#333\]{border-color:#333}.border-\[\#444\]{border-color:#444}.border-\[\#191919\]{border-color:#191919}.border-\[rgba\(255\,255\,255\,0\.08\)\]{border-color:#ffffff14}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/20{border-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500) 30%,transparent)}}.border-blue-500\/40{border-color:#3080ff66}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/40{border-color:color-mix(in oklab,var(--color-blue-500) 40%,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-emerald-500\/25{border-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/25{border-color:color-mix(in oklab,var(--color-emerald-500) 25%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.border-gray-500\/20{border-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.border-gray-500\/20{border-color:color-mix(in oklab,var(--color-gray-500) 20%,transparent)}}.border-orange-500\/20{border-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/20{border-color:color-mix(in oklab,var(--color-orange-500) 20%,transparent)}}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/30{border-color:color-mix(in oklab,var(--color-orange-500) 30%,transparent)}}.border-purple-500\/20{border-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/20{border-color:color-mix(in oklab,var(--color-purple-500) 20%,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\/25{border-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.border-red-500\/25{border-color:color-mix(in oklab,var(--color-red-500) 25%,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-white{border-color:var(--color-white)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.border-white\/\[0\.06\]{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.06\]{border-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.border-white\/\[0\.08\]{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.08\]{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.border-white\/\[0\.18\]{border-color:#ffffff2e}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.18\]{border-color:color-mix(in oklab,var(--color-white) 18%,transparent)}}.border-yellow-500\/20{border-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/20{border-color:color-mix(in oklab,var(--color-yellow-500) 20%,transparent)}}.border-yellow-500\/25{border-color:#edb20040}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/25{border-color:color-mix(in oklab,var(--color-yellow-500) 25%,transparent)}}.border-yellow-500\/30{border-color:#edb2004d}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/30{border-color:color-mix(in oklab,var(--color-yellow-500) 30%,transparent)}}.border-t-white{border-top-color:var(--color-white)}.\!bg-\[\#0a0a0a\]{background-color:#0a0a0a!important}.\!bg-\[\#444\]{background-color:#444!important}.\!bg-transparent{background-color:#0000!important}.bg-\[\#0a0a0a\]{background-color:#0a0a0a}.bg-\[\#1a1a1a\]{background-color:#1a1a1a}.bg-\[\#1e1e1e\]{background-color:#1e1e1e}.bg-\[\#2a2a2a\]{background-color:#2a2a2a}.bg-\[\#22c55e\]\/10{background-color:#22c55e1a}.bg-\[\#111\]{background-color:#111}.bg-\[\#222\]{background-color:#222}.bg-\[\#555\]{background-color:#555}.bg-\[\#888\]{background-color:#888}.bg-\[\#050505\]{background-color:#050505}.bg-\[\#252525\]{background-color:#252525}.bg-\[rgba\(255\,255\,255\,0\.02\)\]{background-color:#ffffff05}.bg-\[rgba\(255\,255\,255\,0\.3\)\]{background-color:#ffffff4d}.bg-\[rgba\(255\,255\,255\,0\.04\)\]{background-color:#ffffff0a}.bg-\[rgba\(255\,255\,255\,0\.05\)\]{background-color:#ffffff0d}.bg-\[rgba\(255\,255\,255\,0\.08\)\]{background-color:#ffffff14}.bg-\[rgba\(255\,255\,255\,0\.12\)\]{background-color:#ffffff1f}.bg-black{background-color:var(--color-black)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500) 10%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.bg-blue-500\/\[0\.12\]{background-color:#3080ff1f}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/\[0\.12\]{background-color:color-mix(in oklab,var(--color-blue-500) 12%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/5{background-color:color-mix(in oklab,var(--color-emerald-500) 5%,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-emerald-500\/\[0\.06\]{background-color:#00bb7f0f}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-emerald-500) 6%,transparent)}}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-500\/10{background-color:#6a72821a}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/10{background-color:color-mix(in oklab,var(--color-gray-500) 10%,transparent)}}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500) 10%,transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500) 20%,transparent)}}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500) 10%,transparent)}}.bg-purple-500\/\[0\.08\]{background-color:#ac4bff14}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/\[0\.08\]{background-color:color-mix(in oklab,var(--color-purple-500) 8%,transparent)}}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500) 5%,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\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500) 15%,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-500\/\[0\.12\]{background-color:#fb2c361f}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/\[0\.12\]{background-color:color-mix(in oklab,var(--color-red-500) 12%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/8{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.bg-white\/8{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.bg-white\/\[0\.08\]{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.08\]{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.bg-white\/\[0\.015\]{background-color:#ffffff04}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.015\]{background-color:color-mix(in oklab,var(--color-white) 1.5%,transparent)}}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500) 10%,transparent)}}.bg-yellow-500\/15{background-color:#edb20026}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/15{background-color:color-mix(in oklab,var(--color-yellow-500) 15%,transparent)}}.bg-yellow-500\/20{background-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/20{background-color:color-mix(in oklab,var(--color-yellow-500) 20%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-0{padding-inline:0}.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)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.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-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-\[5px\]{padding-top:5px}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-geist-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.4em\]{--tw-tracking:.4em;letter-spacing:.4em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.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}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#22c55e\]{color:#22c55e}.text-\[\#333\]{color:#333}.text-\[\#444\]{color:#444}.text-\[\#555\]{color:#555}.text-\[\#666\]{color:#666}.text-\[\#777\]{color:#777}.text-\[\#888\]{color:#888}.text-\[\#999\]{color:#999}.text-\[\#aaa\]{color:#aaa}.text-\[\#bbb\]{color:#bbb}.text-\[\#ddd\]{color:#ddd}.text-\[\#e5e5e5\]{color:#e5e5e5}.text-\[\#ededed\]{color:#ededed}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/70{color:#fcbb00b3}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/70{color:color-mix(in oklab,var(--color-amber-400) 70%,transparent)}}.text-amber-400\/80{color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/80{color:color-mix(in oklab,var(--color-amber-400) 80%,transparent)}}.text-black{color:var(--color-black)}.text-blue-400{color:var(--color-blue-400)}.text-blue-400\/60{color:#54a2ff99}@supports (color:color-mix(in lab,red,red)){.text-blue-400\/60{color:color-mix(in oklab,var(--color-blue-400) 60%,transparent)}}.text-blue-400\/80{color:#54a2ffcc}@supports (color:color-mix(in lab,red,red)){.text-blue-400\/80{color:color-mix(in oklab,var(--color-blue-400) 80%,transparent)}}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400{color:var(--color-cyan-400)}.text-cyan-400\/60{color:#00d2ef99}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/60{color:color-mix(in oklab,var(--color-cyan-400) 60%,transparent)}}.text-cyan-400\/80{color:#00d2efcc}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/80{color:color-mix(in oklab,var(--color-cyan-400) 80%,transparent)}}.text-emerald-200{color:var(--color-emerald-200)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/30{color:#00d2944d}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/30{color:color-mix(in oklab,var(--color-emerald-400) 30%,transparent)}}.text-emerald-400\/60{color:#00d29499}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/60{color:color-mix(in oklab,var(--color-emerald-400) 60%,transparent)}}.text-emerald-400\/70{color:#00d294b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/70{color:color-mix(in oklab,var(--color-emerald-400) 70%,transparent)}}.text-emerald-400\/80{color:#00d294cc}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/80{color:color-mix(in oklab,var(--color-emerald-400) 80%,transparent)}}.text-gray-400{color:var(--color-gray-400)}.text-orange-400{color:var(--color-orange-400)}.text-orange-400\/60{color:#ff8b1a99}@supports (color:color-mix(in lab,red,red)){.text-orange-400\/60{color:color-mix(in oklab,var(--color-orange-400) 60%,transparent)}}.text-orange-400\/80{color:#ff8b1acc}@supports (color:color-mix(in lab,red,red)){.text-orange-400\/80{color:color-mix(in oklab,var(--color-orange-400) 80%,transparent)}}.text-orange-500{color:var(--color-orange-500)}.text-purple-400{color:var(--color-purple-400)}.text-purple-400\/60{color:#c07eff99}@supports (color:color-mix(in lab,red,red)){.text-purple-400\/60{color:color-mix(in oklab,var(--color-purple-400) 60%,transparent)}}.text-purple-400\/70{color:#c07effb3}@supports (color:color-mix(in lab,red,red)){.text-purple-400\/70{color:color-mix(in oklab,var(--color-purple-400) 70%,transparent)}}.text-purple-400\/80{color:#c07effcc}@supports (color:color-mix(in lab,red,red)){.text-purple-400\/80{color:color-mix(in oklab,var(--color-purple-400) 80%,transparent)}}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/30{color:#ff65684d}@supports (color:color-mix(in lab,red,red)){.text-red-400\/30{color:color-mix(in oklab,var(--color-red-400) 30%,transparent)}}.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\/70{color:#ff6568b3}@supports (color:color-mix(in lab,red,red)){.text-red-400\/70{color:color-mix(in oklab,var(--color-red-400) 70%,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-red-500{color:var(--color-red-500)}.text-sky-400{color:var(--color-sky-400)}.text-sky-400\/80{color:#00bcfecc}@supports (color:color-mix(in lab,red,red)){.text-sky-400\/80{color:color-mix(in oklab,var(--color-sky-400) 80%,transparent)}}.text-teal-300{color:var(--color-teal-300)}.text-teal-400{color:var(--color-teal-400)}.text-teal-400\/80{color:#00d3bdcc}@supports (color:color-mix(in lab,red,red)){.text-teal-400\/80{color:color-mix(in oklab,var(--color-teal-400) 80%,transparent)}}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-400\/80{color:#fac800cc}@supports (color:color-mix(in lab,red,red)){.text-yellow-400\/80{color:color-mix(in oklab,var(--color-yellow-400) 80%,transparent)}}.text-yellow-500{color:var(--color-yellow-500)}.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,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.opacity-100{opacity:1}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);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)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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)}.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,)}.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-\[width\]{transition-property:width;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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.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}.\[font-variant-ligatures\:none\]{font-variant-ligatures:none}@media(hover:hover){.group-hover\:bg-\[rgba\(255\,255\,255\,0\.2\)\]:is(:where(.group):hover *){background-color:#fff3}.group-hover\:text-\[\#aaa\]:is(:where(.group):hover *){color:#aaa}.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}.group-hover\:opacity-90:is(:where(.group):hover *){opacity:.9}.group-hover\/code\:opacity-100:is(:where(.group\/code):hover *){opacity:1}}.placeholder\:text-\[\#444\]::placeholder{color:#444}@media(hover:hover){.hover\:border-\[\#333\]:hover{border-color:#333}.hover\:border-\[\#444\]:hover{border-color:#444}.hover\:border-\[\#555\]:hover{border-color:#555}.hover\:border-emerald-500\/40:hover{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/40:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.hover\:border-white\/\[0\.12\]:hover{border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/\[0\.12\]:hover{border-color:color-mix(in oklab,var(--color-white) 12%,transparent)}}.hover\:border-white\/\[0\.16\]:hover{border-color:#ffffff29}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/\[0\.16\]:hover{border-color:color-mix(in oklab,var(--color-white) 16%,transparent)}}.hover\:bg-\[\#1a1a1a\]:hover{background-color:#1a1a1a}.hover\:bg-\[\#2a2a2a\]:hover{background-color:#2a2a2a}.hover\:bg-\[\#e5e5e5\]:hover{background-color:#e5e5e5}.hover\:bg-\[rgba\(255\,255\,255\,0\.06\)\]:hover{background-color:#ffffff0f}.hover\:bg-\[rgba\(255\,255\,255\,0\.08\)\]:hover{background-color:#ffffff14}.hover\:bg-\[rgba\(255\,255\,255\,0\.09\)\]:hover{background-color:#ffffff17}.hover\:bg-neutral-200:hover{background-color:var(--color-neutral-200)}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.06\]:hover{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.hover\:text-\[\#888\]:hover{color:#888}.hover\:text-\[\#aaa\]:hover{color:#aaa}.hover\:text-\[\#ccc\]:hover{color:#ccc}.hover\:text-\[\#ededed\]:hover{color:#ededed}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.focus\:border-\[\#444\]:focus{border-color:#444}.focus\:border-white\/50:focus{border-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.focus\:border-white\/50:focus{border-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.focus\:ring-2:focus{--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)}.focus\:ring-white\/10:focus{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.focus\:ring-white\/10:focus{--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--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)}.focus-visible\:ring-white\/20:focus-visible{--tw-ring-color:#fff3}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-white\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:opacity-60:disabled{opacity:.6}@media(min-width:40rem){.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-12{padding-block:calc(var(--spacing) * 12)}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-6{top:calc(var(--spacing) * 6)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:max-h-\[calc\(100vh-3rem\)\]{max-height:calc(100vh - 3rem)}.lg\:grid-cols-\[1fr_340px\]{grid-template-columns:1fr 340px}.lg\:overflow-y-auto{overflow-y:auto}.lg\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.lg\:border-\[\#2a2a2a\]{border-color:#2a2a2a}.lg\:pl-6{padding-left:calc(var(--spacing) * 6)}}.\[\&_svg\]\:h-3\.5 svg{height:calc(var(--spacing) * 3.5)}.\[\&_svg\]\:w-3\.5 svg{width:calc(var(--spacing) * 3.5)}}:root{--font-geist-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-geist-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}html,body{color:#fff;font-family:var(--font-geist-sans);background:#000}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}@keyframes page-in{0%{opacity:0;filter:blur(8px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}.animate-page-in{animation:.15s ease-out page-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.35s ease-out fade-in}@keyframes cardIn{0%{opacity:0;filter:blur(4px);transform:translateY(8px)scale(.97)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.animate-card-in{opacity:0;animation:.3s cubic-bezier(.16,1,.3,1) forwards cardIn}.animate-card-in:first-child{animation-delay:0s}.animate-card-in:nth-child(2){animation-delay:50ms}.animate-card-in:nth-child(3){animation-delay:.1s}.animate-card-in:nth-child(4){animation-delay:.15s}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(400%)}}.animate-shimmer{animation:2s infinite shimmer}@keyframes dialog-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes dialog-panel-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes dialog-panel-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.dialog-overlay[data-state=open]{animation:.2s dialog-overlay-in}.dialog-overlay[data-state=closed]{animation:.2s forwards dialog-overlay-out}.dialog-panel[data-state=open]{animation:.2s dialog-panel-in}.dialog-panel[data-state=closed]{animation:.2s forwards dialog-panel-out}.agent-modal[data-state=open]{animation:.14s dialog-overlay-in}.agent-modal[data-state=closed]{animation:.14s forwards dialog-overlay-out}@keyframes tab-in{0%{opacity:0;filter:blur(4px);transform:translateY(6px)}to{opacity:1;filter:blur();transform:translateY(0)}}.animate-tab-in{animation:.2s ease-out tab-in}.prose-markdown{color:#999;word-wrap:break-word;overflow-wrap:break-word;font-size:14px;line-height:1.7}.prose-markdown p{margin-bottom:.75em}.prose-markdown p:last-child{margin-bottom:0}.prose-markdown strong{color:#ccc;font-weight:600}.prose-markdown em{font-style:italic}.prose-markdown code{color:#ccc;font-variant-ligatures:none;background:#0a0a0a;border:1px solid #111;border-radius:4px;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.prose-markdown pre{font-variant-ligatures:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.prose-markdown pre code{color:inherit;background:0 0;border:none;padding:0;font-size:13px}.prose-markdown ul,.prose-markdown ol{margin-bottom:.75em;padding-left:1.5em}.prose-markdown ul{list-style-type:disc}.prose-markdown ol{list-style-type:decimal}.prose-markdown li{margin-bottom:.25em}.prose-markdown li>ul,.prose-markdown li>ol{margin-top:.25em;margin-bottom:.25em;padding-left:1.5em}.prose-markdown ol+ul{margin-top:-.5em;padding-left:3em}.prose-markdown h1,.prose-markdown h2,.prose-markdown h3,.prose-markdown h4,.prose-markdown h5,.prose-markdown h6{color:#ddd;margin-top:1em;margin-bottom:.5em;font-weight:600}.prose-markdown a{color:inherit;pointer-events:none;text-decoration:none}.prose-markdown blockquote{color:#777;border-left:3px solid #333;margin:.75em 0;padding-left:1em}.prose-markdown hr{border:none;border-top:1px solid #222;margin:1em 0}.prose-markdown>table{border-collapse:collapse;width:100%;margin:.75em 0}.prose-markdown>table th,.prose-markdown>table td{text-align:left;border:1px solid #333;padding:.4em .75em;font-size:13px}.prose-markdown>table th{color:#ccc;background:#1a1a1a;font-weight:600}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@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-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}} +*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.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: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--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;touch-action:none}.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))}/*! tailwindcss v4.3.3 | 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-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--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-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-400:oklch(82.8% .189 84.429);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-400:oklch(77.7% .152 181.912);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-400:oklch(74.6% .16 232.661);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-neutral-200:oklch(92.2% 0 none);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--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;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{inset-inline:0}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.mx-0{margin-inline:0}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-4{margin-block:calc(var(--spacing) * 4)}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-\[1px\]{margin-top:1px}.mt-\[2px\]{margin-top:2px}.-mr-0\.5{margin-right:calc(var(--spacing) * -.5)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.\!h-1\.5{height:calc(var(--spacing) * 1.5)!important}.h-0\.5{height:calc(var(--spacing) * .5)}.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-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-\[30px\]{height:30px}.h-\[60vh\]{height:60vh}.h-\[72px\]{height:72px}.h-\[480px\]{height:480px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[160px\]{max-height:160px}.max-h-\[400px\]{max-height:400px}.max-h-\[1200px\]{max-height:1200px}.min-h-screen{min-height:100vh}.\!w-1\.5{width:calc(var(--spacing) * 1.5)!important}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1{width:var(--spacing)}.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-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-28{width:calc(var(--spacing) * 28)}.w-96{width:calc(var(--spacing) * 96)}.w-\[1px\]{width:1px}.w-\[30px\]{width:30px}.w-\[180px\]{width:180px}.w-\[260px\]{width:260px}.w-\[calc\(100vw-4rem\)\]{width:calc(100vw - 4rem)}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[75\%\]{max-width:75%}.max-w-\[80\%\]{max-width:80%}.max-w-\[88rem\]{max-width:88rem}.max-w-\[140px\]{max-width:140px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[80px\]{min-width:80px}.min-w-\[112px\]{min-width:112px}.min-w-\[160px\]{min-width:160px}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.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-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.scrollbar-thin{scrollbar-width:thin}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[7rem_1fr\]{grid-template-columns:7rem 1fr}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.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)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-px{gap:1px}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block:0}: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(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * 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-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * 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)))}:where(.space-y-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-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-white\/\[0\.04\]>:not(:last-child)){border-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){:where(.divide-white\/\[0\.04\]>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-clip{overflow-x:clip}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.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-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.\!border-\[\#222\]{border-color:#222!important}.border-\[\#1a1a1a\]{border-color:#1a1a1a}.border-\[\#2a2a2a\]{border-color:#2a2a2a}.border-\[\#3a3a3a\]{border-color:#3a3a3a}.border-\[\#22c55e\]\/40{border-color:#22c55e66}.border-\[\#222\]{border-color:#222}.border-\[\#333\]{border-color:#333}.border-\[\#444\]{border-color:#444}.border-\[\#191919\]{border-color:#191919}.border-\[rgba\(255\,255\,255\,0\.08\)\]{border-color:#ffffff14}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/20{border-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500) 30%,transparent)}}.border-blue-500\/40{border-color:#3080ff66}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/40{border-color:color-mix(in oklab,var(--color-blue-500) 40%,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-emerald-500\/25{border-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/25{border-color:color-mix(in oklab,var(--color-emerald-500) 25%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.border-gray-500\/20{border-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.border-gray-500\/20{border-color:color-mix(in oklab,var(--color-gray-500) 20%,transparent)}}.border-orange-500\/20{border-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/20{border-color:color-mix(in oklab,var(--color-orange-500) 20%,transparent)}}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/30{border-color:color-mix(in oklab,var(--color-orange-500) 30%,transparent)}}.border-purple-500\/20{border-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/20{border-color:color-mix(in oklab,var(--color-purple-500) 20%,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\/25{border-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.border-red-500\/25{border-color:color-mix(in oklab,var(--color-red-500) 25%,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-white{border-color:var(--color-white)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.border-white\/\[0\.06\]{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.06\]{border-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.border-white\/\[0\.08\]{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.08\]{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.border-white\/\[0\.18\]{border-color:#ffffff2e}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.18\]{border-color:color-mix(in oklab,var(--color-white) 18%,transparent)}}.border-yellow-500\/20{border-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/20{border-color:color-mix(in oklab,var(--color-yellow-500) 20%,transparent)}}.border-yellow-500\/25{border-color:#edb20040}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/25{border-color:color-mix(in oklab,var(--color-yellow-500) 25%,transparent)}}.border-yellow-500\/30{border-color:#edb2004d}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/30{border-color:color-mix(in oklab,var(--color-yellow-500) 30%,transparent)}}.border-t-white{border-top-color:var(--color-white)}.\!bg-\[\#0a0a0a\]{background-color:#0a0a0a!important}.\!bg-\[\#444\]{background-color:#444!important}.\!bg-transparent{background-color:#0000!important}.bg-\[\#0a0a0a\]{background-color:#0a0a0a}.bg-\[\#1a1a1a\]{background-color:#1a1a1a}.bg-\[\#1e1e1e\]{background-color:#1e1e1e}.bg-\[\#2a2a2a\]{background-color:#2a2a2a}.bg-\[\#22c55e\]\/10{background-color:#22c55e1a}.bg-\[\#111\]{background-color:#111}.bg-\[\#222\]{background-color:#222}.bg-\[\#555\]{background-color:#555}.bg-\[\#888\]{background-color:#888}.bg-\[\#050505\]{background-color:#050505}.bg-\[\#252525\]{background-color:#252525}.bg-\[rgba\(255\,255\,255\,0\.02\)\]{background-color:#ffffff05}.bg-\[rgba\(255\,255\,255\,0\.3\)\]{background-color:#ffffff4d}.bg-\[rgba\(255\,255\,255\,0\.04\)\]{background-color:#ffffff0a}.bg-\[rgba\(255\,255\,255\,0\.05\)\]{background-color:#ffffff0d}.bg-\[rgba\(255\,255\,255\,0\.08\)\]{background-color:#ffffff14}.bg-\[rgba\(255\,255\,255\,0\.12\)\]{background-color:#ffffff1f}.bg-black{background-color:var(--color-black)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500) 10%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.bg-blue-500\/\[0\.12\]{background-color:#3080ff1f}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/\[0\.12\]{background-color:color-mix(in oklab,var(--color-blue-500) 12%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/5{background-color:color-mix(in oklab,var(--color-emerald-500) 5%,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-emerald-500\/\[0\.06\]{background-color:#00bb7f0f}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-emerald-500) 6%,transparent)}}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-500\/10{background-color:#6a72821a}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/10{background-color:color-mix(in oklab,var(--color-gray-500) 10%,transparent)}}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500) 10%,transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500) 20%,transparent)}}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500) 10%,transparent)}}.bg-purple-500\/\[0\.08\]{background-color:#ac4bff14}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/\[0\.08\]{background-color:color-mix(in oklab,var(--color-purple-500) 8%,transparent)}}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500) 5%,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\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500) 15%,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-500\/\[0\.12\]{background-color:#fb2c361f}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/\[0\.12\]{background-color:color-mix(in oklab,var(--color-red-500) 12%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/8{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.bg-white\/8{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.bg-white\/\[0\.08\]{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.08\]{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.bg-white\/\[0\.015\]{background-color:#ffffff04}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.015\]{background-color:color-mix(in oklab,var(--color-white) 1.5%,transparent)}}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500) 10%,transparent)}}.bg-yellow-500\/15{background-color:#edb20026}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/15{background-color:color-mix(in oklab,var(--color-yellow-500) 15%,transparent)}}.bg-yellow-500\/20{background-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/20{background-color:color-mix(in oklab,var(--color-yellow-500) 20%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-0{padding-inline:0}.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)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.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-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-\[5px\]{padding-top:5px}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-geist-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.4em\]{--tw-tracking:.4em;letter-spacing:.4em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.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}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#22c55e\]{color:#22c55e}.text-\[\#333\]{color:#333}.text-\[\#444\]{color:#444}.text-\[\#555\]{color:#555}.text-\[\#666\]{color:#666}.text-\[\#777\]{color:#777}.text-\[\#888\]{color:#888}.text-\[\#999\]{color:#999}.text-\[\#aaa\]{color:#aaa}.text-\[\#bbb\]{color:#bbb}.text-\[\#ddd\]{color:#ddd}.text-\[\#e5e5e5\]{color:#e5e5e5}.text-\[\#ededed\]{color:#ededed}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/70{color:#fcbb00b3}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/70{color:color-mix(in oklab,var(--color-amber-400) 70%,transparent)}}.text-amber-400\/80{color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/80{color:color-mix(in oklab,var(--color-amber-400) 80%,transparent)}}.text-black{color:var(--color-black)}.text-blue-400{color:var(--color-blue-400)}.text-blue-400\/60{color:#54a2ff99}@supports (color:color-mix(in lab,red,red)){.text-blue-400\/60{color:color-mix(in oklab,var(--color-blue-400) 60%,transparent)}}.text-blue-400\/80{color:#54a2ffcc}@supports (color:color-mix(in lab,red,red)){.text-blue-400\/80{color:color-mix(in oklab,var(--color-blue-400) 80%,transparent)}}.text-blue-500{color:var(--color-blue-500)}.text-cyan-400{color:var(--color-cyan-400)}.text-cyan-400\/60{color:#00d2ef99}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/60{color:color-mix(in oklab,var(--color-cyan-400) 60%,transparent)}}.text-cyan-400\/80{color:#00d2efcc}@supports (color:color-mix(in lab,red,red)){.text-cyan-400\/80{color:color-mix(in oklab,var(--color-cyan-400) 80%,transparent)}}.text-emerald-200{color:var(--color-emerald-200)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/30{color:#00d2944d}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/30{color:color-mix(in oklab,var(--color-emerald-400) 30%,transparent)}}.text-emerald-400\/60{color:#00d29499}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/60{color:color-mix(in oklab,var(--color-emerald-400) 60%,transparent)}}.text-emerald-400\/70{color:#00d294b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/70{color:color-mix(in oklab,var(--color-emerald-400) 70%,transparent)}}.text-emerald-400\/80{color:#00d294cc}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/80{color:color-mix(in oklab,var(--color-emerald-400) 80%,transparent)}}.text-gray-400{color:var(--color-gray-400)}.text-orange-400{color:var(--color-orange-400)}.text-orange-400\/60{color:#ff8b1a99}@supports (color:color-mix(in lab,red,red)){.text-orange-400\/60{color:color-mix(in oklab,var(--color-orange-400) 60%,transparent)}}.text-orange-400\/80{color:#ff8b1acc}@supports (color:color-mix(in lab,red,red)){.text-orange-400\/80{color:color-mix(in oklab,var(--color-orange-400) 80%,transparent)}}.text-orange-500{color:var(--color-orange-500)}.text-purple-400{color:var(--color-purple-400)}.text-purple-400\/60{color:#c07eff99}@supports (color:color-mix(in lab,red,red)){.text-purple-400\/60{color:color-mix(in oklab,var(--color-purple-400) 60%,transparent)}}.text-purple-400\/70{color:#c07effb3}@supports (color:color-mix(in lab,red,red)){.text-purple-400\/70{color:color-mix(in oklab,var(--color-purple-400) 70%,transparent)}}.text-purple-400\/80{color:#c07effcc}@supports (color:color-mix(in lab,red,red)){.text-purple-400\/80{color:color-mix(in oklab,var(--color-purple-400) 80%,transparent)}}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/30{color:#ff65684d}@supports (color:color-mix(in lab,red,red)){.text-red-400\/30{color:color-mix(in oklab,var(--color-red-400) 30%,transparent)}}.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\/70{color:#ff6568b3}@supports (color:color-mix(in lab,red,red)){.text-red-400\/70{color:color-mix(in oklab,var(--color-red-400) 70%,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-red-500{color:var(--color-red-500)}.text-sky-400{color:var(--color-sky-400)}.text-sky-400\/80{color:#00bcfecc}@supports (color:color-mix(in lab,red,red)){.text-sky-400\/80{color:color-mix(in oklab,var(--color-sky-400) 80%,transparent)}}.text-teal-300{color:var(--color-teal-300)}.text-teal-400{color:var(--color-teal-400)}.text-teal-400\/80{color:#00d3bdcc}@supports (color:color-mix(in lab,red,red)){.text-teal-400\/80{color:color-mix(in oklab,var(--color-teal-400) 80%,transparent)}}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-400\/80{color:#fac800cc}@supports (color:color-mix(in lab,red,red)){.text-yellow-400\/80{color:color-mix(in oklab,var(--color-yellow-400) 80%,transparent)}}.text-yellow-500{color:var(--color-yellow-500)}.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,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.opacity-100{opacity:1}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);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)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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)}.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,)}.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-\[width\]{transition-property:width;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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.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}.\[font-variant-ligatures\:none\]{font-variant-ligatures:none}@media(hover:hover){.group-hover\:bg-\[rgba\(255\,255\,255\,0\.2\)\]:is(:where(.group):hover *){background-color:#fff3}.group-hover\:text-\[\#aaa\]:is(:where(.group):hover *){color:#aaa}.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}.group-hover\:opacity-90:is(:where(.group):hover *){opacity:.9}.group-hover\/code\:opacity-100:is(:where(.group\/code):hover *){opacity:1}}.placeholder\:text-\[\#444\]::placeholder{color:#444}@media(hover:hover){.hover\:border-\[\#333\]:hover{border-color:#333}.hover\:border-\[\#444\]:hover{border-color:#444}.hover\:border-\[\#555\]:hover{border-color:#555}.hover\:border-emerald-500\/40:hover{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/40:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.hover\:border-white\/\[0\.12\]:hover{border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/\[0\.12\]:hover{border-color:color-mix(in oklab,var(--color-white) 12%,transparent)}}.hover\:border-white\/\[0\.16\]:hover{border-color:#ffffff29}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/\[0\.16\]:hover{border-color:color-mix(in oklab,var(--color-white) 16%,transparent)}}.hover\:bg-\[\#1a1a1a\]:hover{background-color:#1a1a1a}.hover\:bg-\[\#2a2a2a\]:hover{background-color:#2a2a2a}.hover\:bg-\[\#e5e5e5\]:hover{background-color:#e5e5e5}.hover\:bg-\[rgba\(255\,255\,255\,0\.06\)\]:hover{background-color:#ffffff0f}.hover\:bg-\[rgba\(255\,255\,255\,0\.08\)\]:hover{background-color:#ffffff14}.hover\:bg-\[rgba\(255\,255\,255\,0\.09\)\]:hover{background-color:#ffffff17}.hover\:bg-neutral-200:hover{background-color:var(--color-neutral-200)}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.06\]:hover{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.hover\:text-\[\#888\]:hover{color:#888}.hover\:text-\[\#aaa\]:hover{color:#aaa}.hover\:text-\[\#ccc\]:hover{color:#ccc}.hover\:text-\[\#ededed\]:hover{color:#ededed}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.focus\:border-\[\#444\]:focus{border-color:#444}.focus\:border-white\/50:focus{border-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.focus\:border-white\/50:focus{border-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.focus\:ring-2:focus{--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)}.focus\:ring-white\/10:focus{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.focus\:ring-white\/10:focus{--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--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)}.focus-visible\:ring-white\/20:focus-visible{--tw-ring-color:#fff3}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-white\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:opacity-60:disabled{opacity:.6}@media(min-width:40rem){.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-12{padding-block:calc(var(--spacing) * 12)}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-6{top:calc(var(--spacing) * 6)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:max-h-\[calc\(100vh-3rem\)\]{max-height:calc(100vh - 3rem)}.lg\:grid-cols-\[1fr_340px\]{grid-template-columns:1fr 340px}.lg\:overflow-y-auto{overflow-y:auto}.lg\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.lg\:border-\[\#2a2a2a\]{border-color:#2a2a2a}.lg\:pl-6{padding-left:calc(var(--spacing) * 6)}}.\[\&_svg\]\:h-3\.5 svg{height:calc(var(--spacing) * 3.5)}.\[\&_svg\]\:w-3\.5 svg{width:calc(var(--spacing) * 3.5)}}:root{--font-geist-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-geist-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}html,body{color:#fff;font-family:var(--font-geist-sans);background:#000}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}@keyframes page-in{0%{opacity:0;filter:blur(8px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}.animate-page-in{animation:.15s ease-out page-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.35s ease-out fade-in}@keyframes cardIn{0%{opacity:0;filter:blur(4px);transform:translateY(8px)scale(.97)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.animate-card-in{opacity:0;animation:.3s cubic-bezier(.16,1,.3,1) forwards cardIn}.animate-card-in:first-child{animation-delay:0s}.animate-card-in:nth-child(2){animation-delay:50ms}.animate-card-in:nth-child(3){animation-delay:.1s}.animate-card-in:nth-child(4){animation-delay:.15s}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(400%)}}.animate-shimmer{animation:2s infinite shimmer}@keyframes dialog-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes dialog-panel-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes dialog-panel-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.dialog-overlay[data-state=open]{animation:.2s dialog-overlay-in}.dialog-overlay[data-state=closed]{animation:.2s forwards dialog-overlay-out}.dialog-panel[data-state=open]{animation:.2s dialog-panel-in}.dialog-panel[data-state=closed]{animation:.2s forwards dialog-panel-out}.agent-modal[data-state=open]{animation:.14s dialog-overlay-in}.agent-modal[data-state=closed]{animation:.14s forwards dialog-overlay-out}@keyframes tab-in{0%{opacity:0;filter:blur(4px);transform:translateY(6px)}to{opacity:1;filter:blur();transform:translateY(0)}}.animate-tab-in{animation:.2s ease-out tab-in}.prose-markdown{color:#999;word-wrap:break-word;overflow-wrap:break-word;font-size:14px;line-height:1.7}.prose-markdown p{margin-bottom:.75em}.prose-markdown p:last-child{margin-bottom:0}.prose-markdown strong{color:#ccc;font-weight:600}.prose-markdown em{font-style:italic}.prose-markdown code{color:#ccc;font-variant-ligatures:none;background:#0a0a0a;border:1px solid #111;border-radius:4px;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.prose-markdown pre{font-variant-ligatures:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.prose-markdown pre code{color:inherit;background:0 0;border:none;padding:0;font-size:13px}.prose-markdown ul,.prose-markdown ol{margin-bottom:.75em;padding-left:1.5em}.prose-markdown ul{list-style-type:disc}.prose-markdown ol{list-style-type:decimal}.prose-markdown li{margin-bottom:.25em}.prose-markdown li>ul,.prose-markdown li>ol{margin-top:.25em;margin-bottom:.25em;padding-left:1.5em}.prose-markdown ol+ul{margin-top:-.5em;padding-left:3em}.prose-markdown h1,.prose-markdown h2,.prose-markdown h3,.prose-markdown h4,.prose-markdown h5,.prose-markdown h6{color:#ddd;margin-top:1em;margin-bottom:.5em;font-weight:600}.prose-markdown a{color:inherit;pointer-events:none;text-decoration:none}.prose-markdown blockquote{color:#777;border-left:3px solid #333;margin:.75em 0;padding-left:1em}.prose-markdown hr{border:none;border-top:1px solid #222;margin:1em 0}.prose-markdown>table{border-collapse:collapse;width:100%;margin:.75em 0}.prose-markdown>table th,.prose-markdown>table td{text-align:left;border:1px solid #333;padding:.4em .75em;font-size:13px}.prose-markdown>table th{color:#ccc;background:#1a1a1a;font-weight:600}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@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-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}} diff --git a/strix/interface/viewer/static/assets/index-B94ANU8d.js b/strix/interface/viewer/static/assets/index-DbPDzbcJ.js similarity index 90% rename from strix/interface/viewer/static/assets/index-B94ANU8d.js rename to strix/interface/viewer/static/assets/index-DbPDzbcJ.js index 8e12932be..5d395f7ea 100644 --- a/strix/interface/viewer/static/assets/index-B94ANU8d.js +++ b/strix/interface/viewer/static/assets/index-DbPDzbcJ.js @@ -45,8 +45,8 @@ `);for(x=u=0;ux||ne[u]!==le[x]){var he=` `+ne[u].replace(" at new "," at ");return n.displayName&&he.includes("")&&(he=he.replace("",n.displayName)),he}while(1<=u&&0<=x);break}}}finally{De=!1,Error.prepareStackTrace=l}return(l=n?n.displayName||n.name:"")?Ne(l):""}function st(n,i){switch(n.tag){case 26:case 27:case 5:return Ne(n.type);case 16:return Ne("Lazy");case 13:return n.child!==i&&i!==null?Ne("Suspense Fallback"):Ne("Suspense");case 19:return Ne("SuspenseList");case 0:case 15:return $e(n.type,!1);case 11:return $e(n.type.render,!1);case 1:return $e(n.type,!0);case 31:return Ne("Activity");default:return""}}function Rt(n){try{var i="",l=null;do i+=st(n,l),l=n,n=n.return;while(n);return i}catch(u){return` Error generating stack: `+u.message+` -`+u.stack}}var Xt=Object.prototype.hasOwnProperty,Pt=e.unstable_scheduleCallback,Kt=e.unstable_cancelCallback,Yn=e.unstable_shouldYield,Nn=e.unstable_requestPaint,ct=e.unstable_now,It=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,be=e.unstable_UserBlockingPriority,Oe=e.unstable_NormalPriority,Fe=e.unstable_LowPriority,Ze=e.unstable_IdlePriority,cn=e.log,Sn=e.unstable_setDisableYieldValue,Zt=null,At=null;function Jt(n){if(typeof cn=="function"&&Sn(n),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(Zt,n)}catch{}}var ut=Math.clz32?Math.clz32:Si,In=Math.log,un=Math.LN2;function Si(n){return n>>>=0,n===0?32:31-(In(n)/un|0)|0}var nt=256,Xn=262144,On=4194304;function mn(n){var i=n&42;if(i!==0)return i;switch(n&-n){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 n&261888;case 262144:case 524288:case 1048576:case 2097152:return n&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return n&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return n}}function re(n,i,l){var u=n.pendingLanes;if(u===0)return 0;var x=0,v=n.suspendedLanes,T=n.pingedLanes;n=n.warmLanes;var G=u&134217727;return G!==0?(u=G&~v,u!==0?x=mn(u):(T&=G,T!==0?x=mn(T):l||(l=G&~n,l!==0&&(x=mn(l))))):(G=u&~v,G!==0?x=mn(G):T!==0?x=mn(T):l||(l=u&~n,l!==0&&(x=mn(l)))),x===0?0:i!==0&&i!==x&&(i&v)===0&&(v=x&-x,l=i&-i,v>=l||v===32&&(l&4194048)!==0)?i:x}function me(n,i){return(n.pendingLanes&~(n.suspendedLanes&~n.pingedLanes)&i)===0}function Ee(n,i){switch(n){case 1:case 2:case 4:case 8:case 64:return i+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 i+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 Pe(){var n=On;return On<<=1,(On&62914560)===0&&(On=4194304),n}function St(n){for(var i=[],l=0;31>l;l++)i.push(n);return i}function gt(n,i){n.pendingLanes|=i,i!==268435456&&(n.suspendedLanes=0,n.pingedLanes=0,n.warmLanes=0)}function Me(n,i,l,u,x,v){var T=n.pendingLanes;n.pendingLanes=l,n.suspendedLanes=0,n.pingedLanes=0,n.warmLanes=0,n.expiredLanes&=l,n.entangledLanes&=l,n.errorRecoveryDisabledLanes&=l,n.shellSuspendCounter=0;var G=n.entanglements,ne=n.expirationTimes,le=n.hiddenUpdates;for(l=T&~l;0"u")return null;try{return n.activeElement||n.body}catch{return n.body}}var is=/[\n"\\]/g;function Cn(n){return n.replace(is,function(i){return"\\"+i.charCodeAt(0).toString(16)+" "})}function ba(n,i,l,u,x,v,T,G){n.name="",T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"?n.type=T:n.removeAttribute("type"),i!=null?T==="number"?(i===0&&n.value===""||n.value!=i)&&(n.value=""+_t(i)):n.value!==""+_t(i)&&(n.value=""+_t(i)):T!=="submit"&&T!=="reset"||n.removeAttribute("value"),i!=null?Ri(n,T,_t(i)):l!=null?Ri(n,T,_t(l)):u!=null&&n.removeAttribute("value"),x==null&&v!=null&&(n.defaultChecked=!!v),x!=null&&(n.checked=x&&typeof x!="function"&&typeof x!="symbol"),G!=null&&typeof G!="function"&&typeof G!="symbol"&&typeof G!="boolean"?n.name=""+_t(G):n.removeAttribute("name")}function Sr(n,i,l,u,x,v,T,G){if(v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"&&(n.type=v),i!=null||l!=null){if(!(v!=="submit"&&v!=="reset"||i!=null)){Mi(n);return}l=l!=null?""+_t(l):"",i=i!=null?""+_t(i):l,G||i===n.value||(n.value=i),n.defaultValue=i}u=u??x,u=typeof u!="function"&&typeof u!="symbol"&&!!u,n.checked=G?n.checked:!!u,n.defaultChecked=!!u,T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"&&(n.name=T),Mi(n)}function Ri(n,i,l){i==="number"&&Oi(n.ownerDocument)===n||n.defaultValue===""+l||(n.defaultValue=""+l)}function dn(n,i,l,u){if(n=n.options,i){i={};for(var x=0;x"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),fd=!1;if(ti)try{var ol={};Object.defineProperty(ol,"passive",{get:function(){fd=!0}}),window.addEventListener("test",ol,ol),window.removeEventListener("test",ol,ol)}catch{fd=!1}var Li=null,hd=null,Go=null;function Eg(){if(Go)return Go;var n,i=hd,l=i.length,u,x="value"in Li?Li.value:Li.textContent,v=x.length;for(n=0;n=dl),Ag=" ",Mg=!1;function Og(n,i){switch(n){case"keyup":return tS.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Rg(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var ss=!1;function rS(n,i){switch(n){case"compositionend":return Rg(i);case"keypress":return i.which!==32?null:(Mg=!0,Ag);case"textInput":return n=i.data,n===Ag&&Mg?null:n;default:return null}}function iS(n,i){if(ss)return n==="compositionend"||!bd&&Og(n,i)?(n=Eg(),Go=hd=Li=null,ss=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1=i)return{node:l,offset:i-n};n=u}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=Hg(l)}}function qg(n,i){return n&&i?n===i?!0:n&&n.nodeType===3?!1:i&&i.nodeType===3?qg(n,i.parentNode):"contains"in n?n.contains(i):n.compareDocumentPosition?!!(n.compareDocumentPosition(i)&16):!1:!1}function Pg(n){n=n!=null&&n.ownerDocument!=null&&n.ownerDocument.defaultView!=null?n.ownerDocument.defaultView:window;for(var i=Oi(n.document);i instanceof n.HTMLIFrameElement;){try{var l=typeof i.contentWindow.location.href=="string"}catch{l=!1}if(l)n=i.contentWindow;else break;i=Oi(n.document)}return i}function _d(n){var i=n&&n.nodeName&&n.nodeName.toLowerCase();return i&&(i==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||i==="textarea"||n.contentEditable==="true")}var fS=ti&&"documentMode"in document&&11>=document.documentMode,ls=null,wd=null,pl=null,Ed=!1;function Fg(n,i,l){var u=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;Ed||ls==null||ls!==Oi(u)||(u=ls,"selectionStart"in u&&_d(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),pl&&ml(pl,u)||(pl=u,u=Bc(wd,"onSelect"),0>=T,x-=T,Hr=1<<32-ut(i)+x|l<Ke?(at=je,je=null):at=je.sibling;var mt=ce(ae,je,se[Ke],pe);if(mt===null){je===null&&(je=at);break}n&&je&&mt.alternate===null&&i(ae,je),ie=v(mt,ie,Ke),ht===null?Ie=mt:ht.sibling=mt,ht=mt,je=at}if(Ke===se.length)return l(ae,je),lt&&ri(ae,Ke),Ie;if(je===null){for(;KeKe?(at=je,je=null):at=je.sibling;var ra=ce(ae,je,mt.value,pe);if(ra===null){je===null&&(je=at);break}n&&je&&ra.alternate===null&&i(ae,je),ie=v(ra,ie,Ke),ht===null?Ie=ra:ht.sibling=ra,ht=ra,je=at}if(mt.done)return l(ae,je),lt&&ri(ae,Ke),Ie;if(je===null){for(;!mt.done;Ke++,mt=se.next())mt=ge(ae,mt.value,pe),mt!==null&&(ie=v(mt,ie,Ke),ht===null?Ie=mt:ht.sibling=mt,ht=mt);return lt&&ri(ae,Ke),Ie}for(je=u(je);!mt.done;Ke++,mt=se.next())mt=de(je,ae,Ke,mt.value,pe),mt!==null&&(n&&mt.alternate!==null&&je.delete(mt.key===null?Ke:mt.key),ie=v(mt,ie,Ke),ht===null?Ie=mt:ht.sibling=mt,ht=mt);return n&&je.forEach(function(Rk){return i(ae,Rk)}),lt&&ri(ae,Ke),Ie}function Nt(ae,ie,se,pe){if(typeof se=="object"&&se!==null&&se.type===N&&se.key===null&&(se=se.props.children),typeof se=="object"&&se!==null){switch(se.$$typeof){case y:e:{for(var Ie=se.key;ie!==null;){if(ie.key===Ie){if(Ie=se.type,Ie===N){if(ie.tag===7){l(ae,ie.sibling),pe=x(ie,se.props.children),pe.return=ae,ae=pe;break e}}else if(ie.elementType===Ie||typeof Ie=="object"&&Ie!==null&&Ie.$$typeof===z&&Aa(Ie)===ie.type){l(ae,ie.sibling),pe=x(ie,se.props),_l(pe,se),pe.return=ae,ae=pe;break e}l(ae,ie);break}else i(ae,ie);ie=ie.sibling}se.type===N?(pe=Na(se.props.children,ae.mode,pe,se.key),pe.return=ae,ae=pe):(pe=tc(se.type,se.key,se.props,null,ae.mode,pe),_l(pe,se),pe.return=ae,ae=pe)}return T(ae);case _:e:{for(Ie=se.key;ie!==null;){if(ie.key===Ie)if(ie.tag===4&&ie.stateNode.containerInfo===se.containerInfo&&ie.stateNode.implementation===se.implementation){l(ae,ie.sibling),pe=x(ie,se.children||[]),pe.return=ae,ae=pe;break e}else{l(ae,ie);break}else i(ae,ie);ie=ie.sibling}pe=Md(se,ae.mode,pe),pe.return=ae,ae=pe}return T(ae);case z:return se=Aa(se),Nt(ae,ie,se,pe)}if($(se))return Ae(ae,ie,se,pe);if(Z(se)){if(Ie=Z(se),typeof Ie!="function")throw Error(a(150));return se=Ie.call(se),He(ae,ie,se,pe)}if(typeof se.then=="function")return Nt(ae,ie,oc(se),pe);if(se.$$typeof===E)return Nt(ae,ie,ic(ae,se),pe);cc(ae,se)}return typeof se=="string"&&se!==""||typeof se=="number"||typeof se=="bigint"?(se=""+se,ie!==null&&ie.tag===6?(l(ae,ie.sibling),pe=x(ie,se),pe.return=ae,ae=pe):(l(ae,ie),pe=Ad(se,ae.mode,pe),pe.return=ae,ae=pe),T(ae)):l(ae,ie)}return function(ae,ie,se,pe){try{vl=0;var Ie=Nt(ae,ie,se,pe);return bs=null,Ie}catch(je){if(je===xs||je===sc)throw je;var ht=Zn(29,je,null,ae.mode);return ht.lanes=pe,ht.return=ae,ht}finally{}}}var Oa=hx(!0),mx=hx(!1),Hi=!1;function qd(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Pd(n,i){n=n.updateQueue,i.updateQueue===n&&(i.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,callbacks:null})}function $i(n){return{lane:n,tag:0,payload:null,callback:null,next:null}}function qi(n,i,l){var u=n.updateQueue;if(u===null)return null;if(u=u.shared,(pt&2)!==0){var x=u.pending;return x===null?i.next=i:(i.next=x.next,x.next=i),u.pending=i,i=ec(n),Qg(n,null,l),i}return Jo(n,u,i,l),ec(n)}function wl(n,i,l){if(i=i.updateQueue,i!==null&&(i=i.shared,(l&4194048)!==0)){var u=i.lanes;u&=n.pendingLanes,l|=u,i.lanes=l,Ue(n,l)}}function Fd(n,i){var l=n.updateQueue,u=n.alternate;if(u!==null&&(u=u.updateQueue,l===u)){var x=null,v=null;if(l=l.firstBaseUpdate,l!==null){do{var T={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};v===null?x=v=T:v=v.next=T,l=l.next}while(l!==null);v===null?x=v=i:v=v.next=i}else x=v=i;l={baseState:u.baseState,firstBaseUpdate:x,lastBaseUpdate:v,shared:u.shared,callbacks:u.callbacks},n.updateQueue=l;return}n=l.lastBaseUpdate,n===null?l.firstBaseUpdate=i:n.next=i,l.lastBaseUpdate=i}var Gd=!1;function El(){if(Gd){var n=gs;if(n!==null)throw n}}function Nl(n,i,l,u){Gd=!1;var x=n.updateQueue;Hi=!1;var v=x.firstBaseUpdate,T=x.lastBaseUpdate,G=x.shared.pending;if(G!==null){x.shared.pending=null;var ne=G,le=ne.next;ne.next=null,T===null?v=le:T.next=le,T=ne;var he=n.alternate;he!==null&&(he=he.updateQueue,G=he.lastBaseUpdate,G!==T&&(G===null?he.firstBaseUpdate=le:G.next=le,he.lastBaseUpdate=ne))}if(v!==null){var ge=x.baseState;T=0,he=le=ne=null,G=v;do{var ce=G.lane&-536870913,de=ce!==G.lane;if(de?(it&ce)===ce:(u&ce)===ce){ce!==0&&ce===ps&&(Gd=!0),he!==null&&(he=he.next={lane:0,tag:G.tag,payload:G.payload,callback:null,next:null});e:{var Ae=n,He=G;ce=i;var Nt=l;switch(He.tag){case 1:if(Ae=He.payload,typeof Ae=="function"){ge=Ae.call(Nt,ge,ce);break e}ge=Ae;break e;case 3:Ae.flags=Ae.flags&-65537|128;case 0:if(Ae=He.payload,ce=typeof Ae=="function"?Ae.call(Nt,ge,ce):Ae,ce==null)break e;ge=g({},ge,ce);break e;case 2:Hi=!0}}ce=G.callback,ce!==null&&(n.flags|=64,de&&(n.flags|=8192),de=x.callbacks,de===null?x.callbacks=[ce]:de.push(ce))}else de={lane:ce,tag:G.tag,payload:G.payload,callback:G.callback,next:null},he===null?(le=he=de,ne=ge):he=he.next=de,T|=ce;if(G=G.next,G===null){if(G=x.shared.pending,G===null)break;de=G,G=de.next,de.next=null,x.lastBaseUpdate=de,x.shared.pending=null}}while(!0);he===null&&(ne=ge),x.baseState=ne,x.firstBaseUpdate=le,x.lastBaseUpdate=he,v===null&&(x.shared.lanes=0),Yi|=T,n.lanes=T,n.memoizedState=ge}}function px(n,i){if(typeof n!="function")throw Error(a(191,n));n.call(i)}function gx(n,i){var l=n.callbacks;if(l!==null)for(n.callbacks=null,n=0;nv?v:8;var T=O.T,G={};O.T=G,df(n,!1,i,l);try{var ne=x(),le=O.S;if(le!==null&&le(G,ne),ne!==null&&typeof ne=="object"&&typeof ne.then=="function"){var he=_S(ne,u);Cl(n,i,he,tr(n))}else Cl(n,i,u,tr(n))}catch(ge){Cl(n,i,{then:function(){},status:"rejected",reason:ge},tr())}finally{U.p=v,T!==null&&G.types!==null&&(T.types=G.types),O.T=T}}function CS(){}function cf(n,i,l,u){if(n.tag!==5)throw Error(a(476));var x=Xx(n).queue;Yx(n,x,i,K,l===null?CS:function(){return Kx(n),l(u)})}function Xx(n){var i=n.memoizedState;if(i!==null)return i;i={memoizedState:K,baseState:K,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:li,lastRenderedState:K},next:null};var l={};return i.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:li,lastRenderedState:l},next:null},n.memoizedState=i,n=n.alternate,n!==null&&(n.memoizedState=i),i}function Kx(n){var i=Xx(n);i.next===null&&(i=n.alternate.memoizedState),Cl(n,i.next.queue,{},tr())}function uf(){return vn(Fl)}function Zx(){return Wt().memoizedState}function Qx(){return Wt().memoizedState}function TS(n){for(var i=n.return;i!==null;){switch(i.tag){case 24:case 3:var l=tr();n=$i(l);var u=qi(i,n,l);u!==null&&(Pn(u,i,l),wl(u,i,l)),i={cache:Bd()},n.payload=i;return}i=i.return}}function AS(n,i,l){var u=tr();l={lane:u,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},yc(n)?Jx(i,l):(l=Cd(n,i,l,u),l!==null&&(Pn(l,n,u),eb(l,i,u)))}function Wx(n,i,l){var u=tr();Cl(n,i,l,u)}function Cl(n,i,l,u){var x={lane:u,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(yc(n))Jx(i,x);else{var v=n.alternate;if(n.lanes===0&&(v===null||v.lanes===0)&&(v=i.lastRenderedReducer,v!==null))try{var T=i.lastRenderedState,G=v(T,l);if(x.hasEagerState=!0,x.eagerState=G,Kn(G,T))return Jo(n,i,x,0),kt===null&&Wo(),!1}catch{}finally{}if(l=Cd(n,i,x,u),l!==null)return Pn(l,n,u),eb(l,i,u),!0}return!1}function df(n,i,l,u){if(u={lane:2,revertLane:Pf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},yc(n)){if(i)throw Error(a(479))}else i=Cd(n,l,u,2),i!==null&&Pn(i,n,2)}function yc(n){var i=n.alternate;return n===Xe||i!==null&&i===Xe}function Jx(n,i){vs=fc=!0;var l=n.pending;l===null?i.next=i:(i.next=l.next,l.next=i),n.pending=i}function eb(n,i,l){if((l&4194048)!==0){var u=i.lanes;u&=n.pendingLanes,l|=u,i.lanes=l,Ue(n,l)}}var Tl={readContext:vn,use:pc,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};Tl.useEffectEvent=Gt;var tb={readContext:vn,use:pc,useCallback:function(n,i){return Dn().memoizedState=[n,i===void 0?null:i],n},useContext:vn,useEffect:Bx,useImperativeHandle:function(n,i,l){l=l!=null?l.concat([n]):null,xc(4194308,4,qx.bind(null,i,n),l)},useLayoutEffect:function(n,i){return xc(4194308,4,n,i)},useInsertionEffect:function(n,i){xc(4,2,n,i)},useMemo:function(n,i){var l=Dn();i=i===void 0?null:i;var u=n();if(Ra){Jt(!0);try{n()}finally{Jt(!1)}}return l.memoizedState=[u,i],u},useReducer:function(n,i,l){var u=Dn();if(l!==void 0){var x=l(i);if(Ra){Jt(!0);try{l(i)}finally{Jt(!1)}}}else x=i;return u.memoizedState=u.baseState=x,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:x},u.queue=n,n=n.dispatch=AS.bind(null,Xe,n),[u.memoizedState,n]},useRef:function(n){var i=Dn();return n={current:n},i.memoizedState=n},useState:function(n){n=rf(n);var i=n.queue,l=Wx.bind(null,Xe,i);return i.dispatch=l,[n.memoizedState,l]},useDebugValue:lf,useDeferredValue:function(n,i){var l=Dn();return of(l,n,i)},useTransition:function(){var n=rf(!1);return n=Yx.bind(null,Xe,n.queue,!0,!1),Dn().memoizedState=n,[!1,n]},useSyncExternalStore:function(n,i,l){var u=Xe,x=Dn();if(lt){if(l===void 0)throw Error(a(407));l=l()}else{if(l=i(),kt===null)throw Error(a(349));(it&127)!==0||wx(u,i,l)}x.memoizedState=l;var v={value:l,getSnapshot:i};return x.queue=v,Bx(Nx.bind(null,u,v,n),[n]),u.flags|=2048,ws(9,{destroy:void 0},Ex.bind(null,u,v,l,i),null),l},useId:function(){var n=Dn(),i=kt.identifierPrefix;if(lt){var l=$r,u=Hr;l=(u&~(1<<32-ut(u)-1)).toString(32)+l,i="_"+i+"R_"+l,l=hc++,0<\/script>",v=v.removeChild(v.firstChild);break;case"select":v=typeof u.is=="string"?T.createElement("select",{is:u.is}):T.createElement("select"),u.multiple?v.multiple=!0:u.size&&(v.size=u.size);break;default:v=typeof u.is=="string"?T.createElement(x,{is:u.is}):T.createElement(x)}}v[Ut]=i,v[pn]=u;e:for(T=i.child;T!==null;){if(T.tag===5||T.tag===6)v.appendChild(T.stateNode);else if(T.tag!==4&&T.tag!==27&&T.child!==null){T.child.return=T,T=T.child;continue}if(T===i)break e;for(;T.sibling===null;){if(T.return===null||T.return===i)break e;T=T.return}T.sibling.return=T.return,T=T.sibling}i.stateNode=v;e:switch(wn(v,x,u),x){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break e;case"img":u=!0;break e;default:u=!1}u&&ci(i)}}return Dt(i),Sf(i,i.type,n===null?null:n.memoizedProps,i.pendingProps,l),null;case 6:if(n&&i.stateNode!=null)n.memoizedProps!==u&&ci(i);else{if(typeof u!="string"&&i.stateNode===null)throw Error(a(166));if(n=Q.current,hs(i)){if(n=i.stateNode,l=i.memoizedProps,u=null,x=yn,x!==null)switch(x.tag){case 27:case 5:u=x.memoizedProps}n[Ut]=i,n=!!(n.nodeValue===l||u!==null&&u.suppressHydrationWarning===!0||v0(n.nodeValue,l)),n||Bi(i,!0)}else n=Uc(n).createTextNode(u),n[Ut]=i,i.stateNode=n}return Dt(i),null;case 31:if(l=i.memoizedState,n===null||n.memoizedState!==null){if(u=hs(i),l!==null){if(n===null){if(!u)throw Error(a(318));if(n=i.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(a(557));n[Ut]=i}else Sa(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;Dt(i),n=!1}else l=Dd(),n!==null&&n.memoizedState!==null&&(n.memoizedState.hydrationErrors=l),n=!0;if(!n)return i.flags&256?(Wn(i),i):(Wn(i),null);if((i.flags&128)!==0)throw Error(a(558))}return Dt(i),null;case 13:if(u=i.memoizedState,n===null||n.memoizedState!==null&&n.memoizedState.dehydrated!==null){if(x=hs(i),u!==null&&u.dehydrated!==null){if(n===null){if(!x)throw Error(a(318));if(x=i.memoizedState,x=x!==null?x.dehydrated:null,!x)throw Error(a(317));x[Ut]=i}else Sa(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;Dt(i),x=!1}else x=Dd(),n!==null&&n.memoizedState!==null&&(n.memoizedState.hydrationErrors=x),x=!0;if(!x)return i.flags&256?(Wn(i),i):(Wn(i),null)}return Wn(i),(i.flags&128)!==0?(i.lanes=l,i):(l=u!==null,n=n!==null&&n.memoizedState!==null,l&&(u=i.child,x=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(x=u.alternate.memoizedState.cachePool.pool),v=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(v=u.memoizedState.cachePool.pool),v!==x&&(u.flags|=2048)),l!==n&&l&&(i.child.flags|=8192),Nc(i,i.updateQueue),Dt(i),null);case 4:return te(),n===null&&Yf(i.stateNode.containerInfo),Dt(i),null;case 10:return ai(i.type),Dt(i),null;case 19:if(F(Qt),u=i.memoizedState,u===null)return Dt(i),null;if(x=(i.flags&128)!==0,v=u.rendering,v===null)if(x)Ml(u,!1);else{if(Vt!==0||n!==null&&(n.flags&128)!==0)for(n=i.child;n!==null;){if(v=dc(n),v!==null){for(i.flags|=128,Ml(u,!1),n=v.updateQueue,i.updateQueue=n,Nc(i,n),i.subtreeFlags=0,n=l,l=i.child;l!==null;)Wg(l,n),l=l.sibling;return D(Qt,Qt.current&1|2),lt&&ri(i,u.treeForkCount),i.child}n=n.sibling}u.tail!==null&&ct()>Ac&&(i.flags|=128,x=!0,Ml(u,!1),i.lanes=4194304)}else{if(!x)if(n=dc(v),n!==null){if(i.flags|=128,x=!0,n=n.updateQueue,i.updateQueue=n,Nc(i,n),Ml(u,!0),u.tail===null&&u.tailMode==="hidden"&&!v.alternate&&!lt)return Dt(i),null}else 2*ct()-u.renderingStartTime>Ac&&l!==536870912&&(i.flags|=128,x=!0,Ml(u,!1),i.lanes=4194304);u.isBackwards?(v.sibling=i.child,i.child=v):(n=u.last,n!==null?n.sibling=v:i.child=v,u.last=v)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=ct(),n.sibling=null,l=Qt.current,D(Qt,x?l&1|2:l&1),lt&&ri(i,u.treeForkCount),n):(Dt(i),null);case 22:case 23:return Wn(i),Yd(),u=i.memoizedState!==null,n!==null?n.memoizedState!==null!==u&&(i.flags|=8192):u&&(i.flags|=8192),u?(l&536870912)!==0&&(i.flags&128)===0&&(Dt(i),i.subtreeFlags&6&&(i.flags|=8192)):Dt(i),l=i.updateQueue,l!==null&&Nc(i,l.retryQueue),l=null,n!==null&&n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(l=n.memoizedState.cachePool.pool),u=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(u=i.memoizedState.cachePool.pool),u!==l&&(i.flags|=2048),n!==null&&F(Ta),null;case 24:return l=null,n!==null&&(l=n.memoizedState.cache),i.memoizedState.cache!==l&&(i.flags|=2048),ai(tn),Dt(i),null;case 25:return null;case 30:return null}throw Error(a(156,i.tag))}function DS(n,i){switch(Rd(i),i.tag){case 1:return n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 3:return ai(tn),te(),n=i.flags,(n&65536)!==0&&(n&128)===0?(i.flags=n&-65537|128,i):null;case 26:case 27:case 5:return fe(i),null;case 31:if(i.memoizedState!==null){if(Wn(i),i.alternate===null)throw Error(a(340));Sa()}return n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 13:if(Wn(i),n=i.memoizedState,n!==null&&n.dehydrated!==null){if(i.alternate===null)throw Error(a(340));Sa()}return n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 19:return F(Qt),null;case 4:return te(),null;case 10:return ai(i.type),null;case 22:case 23:return Wn(i),Yd(),n!==null&&F(Ta),n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 24:return ai(tn),null;case 25:return null;default:return null}}function Sb(n,i){switch(Rd(i),i.tag){case 3:ai(tn),te();break;case 26:case 27:case 5:fe(i);break;case 4:te();break;case 31:i.memoizedState!==null&&Wn(i);break;case 13:Wn(i);break;case 19:F(Qt);break;case 10:ai(i.type);break;case 22:case 23:Wn(i),Yd(),n!==null&&F(Ta);break;case 24:ai(tn)}}function Ol(n,i){try{var l=i.updateQueue,u=l!==null?l.lastEffect:null;if(u!==null){var x=u.next;l=x;do{if((l.tag&n)===n){u=void 0;var v=l.create,T=l.inst;u=v(),T.destroy=u}l=l.next}while(l!==x)}}catch(G){yt(i,i.return,G)}}function Gi(n,i,l){try{var u=i.updateQueue,x=u!==null?u.lastEffect:null;if(x!==null){var v=x.next;u=v;do{if((u.tag&n)===n){var T=u.inst,G=T.destroy;if(G!==void 0){T.destroy=void 0,x=i;var ne=l,le=G;try{le()}catch(he){yt(x,ne,he)}}}u=u.next}while(u!==v)}}catch(he){yt(i,i.return,he)}}function kb(n){var i=n.updateQueue;if(i!==null){var l=n.stateNode;try{gx(i,l)}catch(u){yt(n,n.return,u)}}}function Cb(n,i,l){l.props=ja(n.type,n.memoizedProps),l.state=n.memoizedState;try{l.componentWillUnmount()}catch(u){yt(n,i,u)}}function Rl(n,i){try{var l=n.ref;if(l!==null){switch(n.tag){case 26:case 27:case 5:var u=n.stateNode;break;case 30:u=n.stateNode;break;default:u=n.stateNode}typeof l=="function"?n.refCleanup=l(u):l.current=u}}catch(x){yt(n,i,x)}}function qr(n,i){var l=n.ref,u=n.refCleanup;if(l!==null)if(typeof u=="function")try{u()}catch(x){yt(n,i,x)}finally{n.refCleanup=null,n=n.alternate,n!=null&&(n.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(x){yt(n,i,x)}else l.current=null}function Tb(n){var i=n.type,l=n.memoizedProps,u=n.stateNode;try{e:switch(i){case"button":case"input":case"select":case"textarea":l.autoFocus&&u.focus();break e;case"img":l.src?u.src=l.src:l.srcSet&&(u.srcset=l.srcSet)}}catch(x){yt(n,n.return,x)}}function kf(n,i,l){try{var u=n.stateNode;nk(u,n.type,l,i),u[pn]=i}catch(x){yt(n,n.return,x)}}function Ab(n){return n.tag===5||n.tag===3||n.tag===26||n.tag===27&&Wi(n.type)||n.tag===4}function Cf(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||Ab(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.tag===27&&Wi(n.type)||n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function Tf(n,i,l){var u=n.tag;if(u===5||u===6)n=n.stateNode,i?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(n,i):(i=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,i.appendChild(n),l=l._reactRootContainer,l!=null||i.onclick!==null||(i.onclick=_e));else if(u!==4&&(u===27&&Wi(n.type)&&(l=n.stateNode,i=null),n=n.child,n!==null))for(Tf(n,i,l),n=n.sibling;n!==null;)Tf(n,i,l),n=n.sibling}function Sc(n,i,l){var u=n.tag;if(u===5||u===6)n=n.stateNode,i?l.insertBefore(n,i):l.appendChild(n);else if(u!==4&&(u===27&&Wi(n.type)&&(l=n.stateNode),n=n.child,n!==null))for(Sc(n,i,l),n=n.sibling;n!==null;)Sc(n,i,l),n=n.sibling}function Mb(n){var i=n.stateNode,l=n.memoizedProps;try{for(var u=n.type,x=i.attributes;x.length;)i.removeAttributeNode(x[0]);wn(i,u,l),i[Ut]=n,i[pn]=l}catch(v){yt(n,n.return,v)}}var ui=!1,an=!1,Af=!1,Ob=typeof WeakSet=="function"?WeakSet:Set,xn=null;function LS(n,i){if(n=n.containerInfo,Zf=Vc,n=Pg(n),_d(n)){if("selectionStart"in n)var l={start:n.selectionStart,end:n.selectionEnd};else e:{l=(l=n.ownerDocument)&&l.defaultView||window;var u=l.getSelection&&l.getSelection();if(u&&u.rangeCount!==0){l=u.anchorNode;var x=u.anchorOffset,v=u.focusNode;u=u.focusOffset;try{l.nodeType,v.nodeType}catch{l=null;break e}var T=0,G=-1,ne=-1,le=0,he=0,ge=n,ce=null;t:for(;;){for(var de;ge!==l||x!==0&&ge.nodeType!==3||(G=T+x),ge!==v||u!==0&&ge.nodeType!==3||(ne=T+u),ge.nodeType===3&&(T+=ge.nodeValue.length),(de=ge.firstChild)!==null;)ce=ge,ge=de;for(;;){if(ge===n)break t;if(ce===l&&++le===x&&(G=T),ce===v&&++he===u&&(ne=T),(de=ge.nextSibling)!==null)break;ge=ce,ce=ge.parentNode}ge=de}l=G===-1||ne===-1?null:{start:G,end:ne}}else l=null}l=l||{start:0,end:0}}else l=null;for(Qf={focusedElem:n,selectionRange:l},Vc=!1,xn=i;xn!==null;)if(i=xn,n=i.child,(i.subtreeFlags&1028)!==0&&n!==null)n.return=i,xn=n;else for(;xn!==null;){switch(i=xn,v=i.alternate,n=i.flags,i.tag){case 0:if((n&4)!==0&&(n=i.updateQueue,n=n!==null?n.events:null,n!==null))for(l=0;l title"))),wn(v,u,l),v[Ut]=n,Ft(v),u=v;break e;case"link":var T=I0("link","href",x).get(u+(l.href||""));if(T){for(var G=0;GNt&&(T=Nt,Nt=He,He=T);var ae=$g(G,He),ie=$g(G,Nt);if(ae&&ie&&(de.rangeCount!==1||de.anchorNode!==ae.node||de.anchorOffset!==ae.offset||de.focusNode!==ie.node||de.focusOffset!==ie.offset)){var se=ge.createRange();se.setStart(ae.node,ae.offset),de.removeAllRanges(),He>Nt?(de.addRange(se),de.extend(ie.node,ie.offset)):(se.setEnd(ie.node,ie.offset),de.addRange(se))}}}}for(ge=[],de=G;de=de.parentNode;)de.nodeType===1&&ge.push({element:de,left:de.scrollLeft,top:de.scrollTop});for(typeof G.focus=="function"&&G.focus(),G=0;Gl?32:l,O.T=null,l=zf,zf=null;var v=Ki,T=pi;if(fn=0,Cs=Ki=null,pi=0,(pt&6)!==0)throw Error(a(331));var G=pt;if(pt|=4,qb(v.current),Ub(v,v.current,T,l),pt=G,Bl(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(Zt,v)}catch{}return!0}finally{U.p=x,O.T=u,s0(n,i)}}function o0(n,i,l){i=ur(l,i),i=pf(n.stateNode,i,2),n=qi(n,i,2),n!==null&&(gt(n,2),Pr(n))}function yt(n,i,l){if(n.tag===3)o0(n,n,l);else for(;i!==null;){if(i.tag===3){o0(i,n,l);break}else if(i.tag===1){var u=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Xi===null||!Xi.has(u))){n=ur(l,n),l=cb(2),u=qi(i,l,2),u!==null&&(ub(l,u,i,n),gt(u,2),Pr(u));break}}i=i.return}}function Hf(n,i,l){var u=n.pingCache;if(u===null){u=n.pingCache=new BS;var x=new Set;u.set(i,x)}else x=u.get(i),x===void 0&&(x=new Set,u.set(i,x));x.has(l)||(Rf=!0,x.add(l),n=PS.bind(null,n,i,l),i.then(n,n))}function PS(n,i,l){var u=n.pingCache;u!==null&&u.delete(i),n.pingedLanes|=n.suspendedLanes&l,n.warmLanes&=~l,kt===n&&(it&l)===l&&(Vt===4||Vt===3&&(it&62914560)===it&&300>ct()-Tc?(pt&2)===0&&Ts(n,0):jf|=l,ks===it&&(ks=0)),Pr(n)}function c0(n,i){i===0&&(i=Pe()),n=Ea(n,i),n!==null&&(gt(n,i),Pr(n))}function FS(n){var i=n.memoizedState,l=0;i!==null&&(l=i.retryLane),c0(n,l)}function GS(n,i){var l=0;switch(n.tag){case 31:case 13:var u=n.stateNode,x=n.memoizedState;x!==null&&(l=x.retryLane);break;case 19:u=n.stateNode;break;case 22:u=n.stateNode._retryCache;break;default:throw Error(a(314))}u!==null&&u.delete(i),c0(n,l)}function VS(n,i){return Pt(n,i)}var Lc=null,Ms=null,$f=!1,zc=!1,qf=!1,Qi=0;function Pr(n){n!==Ms&&n.next===null&&(Ms===null?Lc=Ms=n:Ms=Ms.next=n),zc=!0,$f||($f=!0,XS())}function Bl(n,i){if(!qf&&zc){qf=!0;do for(var l=!1,u=Lc;u!==null;){if(n!==0){var x=u.pendingLanes;if(x===0)var v=0;else{var T=u.suspendedLanes,G=u.pingedLanes;v=(1<<31-ut(42|n)+1)-1,v&=x&~(T&~G),v=v&201326741?v&201326741|1:v?v|2:0}v!==0&&(l=!0,h0(u,v))}else v=it,v=re(u,u===kt?v:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),(v&3)===0||me(u,v)||(l=!0,h0(u,v));u=u.next}while(l);qf=!1}}function YS(){u0()}function u0(){zc=$f=!1;var n=0;Qi!==0&&ik()&&(n=Qi);for(var i=ct(),l=null,u=Lc;u!==null;){var x=u.next,v=d0(u,i);v===0?(u.next=null,l===null?Lc=x:l.next=x,x===null&&(Ms=l)):(l=u,(n!==0||(v&3)!==0)&&(zc=!0)),u=x}fn!==0&&fn!==5||Bl(n),Qi!==0&&(Qi=0)}function d0(n,i){for(var l=n.suspendedLanes,u=n.pingedLanes,x=n.expirationTimes,v=n.pendingLanes&-62914561;0G)break;var he=ne.transferSize,ge=ne.initiatorType;he&&_0(ge)&&(ne=ne.responseEnd,T+=he*(ne"u"?null:document;function j0(n,i,l){var u=Os;if(u&&typeof i=="string"&&i){var x=Cn(i);x='link[rel="'+n+'"][href="'+x+'"]',typeof l=="string"&&(x+='[crossorigin="'+l+'"]'),R0.has(x)||(R0.add(x),n={rel:n,crossOrigin:l,href:i},u.querySelector(x)===null&&(i=u.createElement("link"),wn(i,"link",n),Ft(i),u.head.appendChild(i)))}}function hk(n){gi.D(n),j0("dns-prefetch",n,null)}function mk(n,i){gi.C(n,i),j0("preconnect",n,i)}function pk(n,i,l){gi.L(n,i,l);var u=Os;if(u&&n&&i){var x='link[rel="preload"][as="'+Cn(i)+'"]';i==="image"&&l&&l.imageSrcSet?(x+='[imagesrcset="'+Cn(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(x+='[imagesizes="'+Cn(l.imageSizes)+'"]')):x+='[href="'+Cn(n)+'"]';var v=x;switch(i){case"style":v=Rs(n);break;case"script":v=js(n)}gr.has(v)||(n=g({rel:"preload",href:i==="image"&&l&&l.imageSrcSet?void 0:n,as:i},l),gr.set(v,n),u.querySelector(x)!==null||i==="style"&&u.querySelector(ql(v))||i==="script"&&u.querySelector(Pl(v))||(i=u.createElement("link"),wn(i,"link",n),Ft(i),u.head.appendChild(i)))}}function gk(n,i){gi.m(n,i);var l=Os;if(l&&n){var u=i&&typeof i.as=="string"?i.as:"script",x='link[rel="modulepreload"][as="'+Cn(u)+'"][href="'+Cn(n)+'"]',v=x;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":v=js(n)}if(!gr.has(v)&&(n=g({rel:"modulepreload",href:n},i),gr.set(v,n),l.querySelector(x)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(Pl(v)))return}u=l.createElement("link"),wn(u,"link",n),Ft(u),l.head.appendChild(u)}}}function xk(n,i,l){gi.S(n,i,l);var u=Os;if(u&&n){var x=Br(u).hoistableStyles,v=Rs(n);i=i||"default";var T=x.get(v);if(!T){var G={loading:0,preload:null};if(T=u.querySelector(ql(v)))G.loading=5;else{n=g({rel:"stylesheet",href:n,"data-precedence":i},l),(l=gr.get(v))&&ih(n,l);var ne=T=u.createElement("link");Ft(ne),wn(ne,"link",n),ne._p=new Promise(function(le,he){ne.onload=le,ne.onerror=he}),ne.addEventListener("load",function(){G.loading|=1}),ne.addEventListener("error",function(){G.loading|=2}),G.loading|=4,$c(T,i,u)}T={type:"stylesheet",instance:T,count:1,state:G},x.set(v,T)}}}function bk(n,i){gi.X(n,i);var l=Os;if(l&&n){var u=Br(l).hoistableScripts,x=js(n),v=u.get(x);v||(v=l.querySelector(Pl(x)),v||(n=g({src:n,async:!0},i),(i=gr.get(x))&&ah(n,i),v=l.createElement("script"),Ft(v),wn(v,"link",n),l.head.appendChild(v)),v={type:"script",instance:v,count:1,state:null},u.set(x,v))}}function yk(n,i){gi.M(n,i);var l=Os;if(l&&n){var u=Br(l).hoistableScripts,x=js(n),v=u.get(x);v||(v=l.querySelector(Pl(x)),v||(n=g({src:n,async:!0,type:"module"},i),(i=gr.get(x))&&ah(n,i),v=l.createElement("script"),Ft(v),wn(v,"link",n),l.head.appendChild(v)),v={type:"script",instance:v,count:1,state:null},u.set(x,v))}}function D0(n,i,l,u){var x=(x=Q.current)?Hc(x):null;if(!x)throw Error(a(446));switch(n){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(i=Rs(l.href),l=Br(x).hoistableStyles,u=l.get(i),u||(u={type:"style",instance:null,count:0,state:null},l.set(i,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){n=Rs(l.href);var v=Br(x).hoistableStyles,T=v.get(n);if(T||(x=x.ownerDocument||x,T={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},v.set(n,T),(v=x.querySelector(ql(n)))&&!v._p&&(T.instance=v,T.state.loading=5),gr.has(n)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},gr.set(n,l),v||vk(x,n,l,T.state))),i&&u===null)throw Error(a(528,""));return T}if(i&&u!==null)throw Error(a(529,""));return null;case"script":return i=l.async,l=l.src,typeof l=="string"&&i&&typeof i!="function"&&typeof i!="symbol"?(i=js(l),l=Br(x).hoistableScripts,u=l.get(i),u||(u={type:"script",instance:null,count:0,state:null},l.set(i,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(a(444,n))}}function Rs(n){return'href="'+Cn(n)+'"'}function ql(n){return'link[rel="stylesheet"]['+n+"]"}function L0(n){return g({},n,{"data-precedence":n.precedence,precedence:null})}function vk(n,i,l,u){n.querySelector('link[rel="preload"][as="style"]['+i+"]")?u.loading=1:(i=n.createElement("link"),u.preload=i,i.addEventListener("load",function(){return u.loading|=1}),i.addEventListener("error",function(){return u.loading|=2}),wn(i,"link",l),Ft(i),n.head.appendChild(i))}function js(n){return'[src="'+Cn(n)+'"]'}function Pl(n){return"script[async]"+n}function z0(n,i,l){if(i.count++,i.instance===null)switch(i.type){case"style":var u=n.querySelector('style[data-href~="'+Cn(l.href)+'"]');if(u)return i.instance=u,Ft(u),u;var x=g({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return u=(n.ownerDocument||n).createElement("style"),Ft(u),wn(u,"style",x),$c(u,l.precedence,n),i.instance=u;case"stylesheet":x=Rs(l.href);var v=n.querySelector(ql(x));if(v)return i.state.loading|=4,i.instance=v,Ft(v),v;u=L0(l),(x=gr.get(x))&&ih(u,x),v=(n.ownerDocument||n).createElement("link"),Ft(v);var T=v;return T._p=new Promise(function(G,ne){T.onload=G,T.onerror=ne}),wn(v,"link",u),i.state.loading|=4,$c(v,l.precedence,n),i.instance=v;case"script":return v=js(l.src),(x=n.querySelector(Pl(v)))?(i.instance=x,Ft(x),x):(u=l,(x=gr.get(v))&&(u=g({},l),ah(u,x)),n=n.ownerDocument||n,x=n.createElement("script"),Ft(x),wn(x,"link",u),n.head.appendChild(x),i.instance=x);case"void":return null;default:throw Error(a(443,i.type))}else i.type==="stylesheet"&&(i.state.loading&4)===0&&(u=i.instance,i.state.loading|=4,$c(u,l.precedence,n));return i.instance}function $c(n,i,l){for(var u=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),x=u.length?u[u.length-1]:null,v=x,T=0;T title"):null)}function _k(n,i,l){if(l===1||i.itemProp!=null)return!1;switch(n){case"meta":case"title":return!0;case"style":if(typeof i.precedence!="string"||typeof i.href!="string"||i.href==="")break;return!0;case"link":if(typeof i.rel!="string"||typeof i.href!="string"||i.href===""||i.onLoad||i.onError)break;switch(i.rel){case"stylesheet":return n=i.disabled,typeof i.precedence=="string"&&n==null;default:return!0}case"script":if(i.async&&typeof i.async!="function"&&typeof i.async!="symbol"&&!i.onLoad&&!i.onError&&i.src&&typeof i.src=="string")return!0}return!1}function U0(n){return!(n.type==="stylesheet"&&(n.state.loading&3)===0)}function wk(n,i,l,u){if(l.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var x=Rs(u.href),v=i.querySelector(ql(x));if(v){i=v._p,i!==null&&typeof i=="object"&&typeof i.then=="function"&&(n.count++,n=Pc.bind(n),i.then(n,n)),l.state.loading|=4,l.instance=v,Ft(v);return}v=i.ownerDocument||i,u=L0(u),(x=gr.get(x))&&ih(u,x),v=v.createElement("link"),Ft(v);var T=v;T._p=new Promise(function(G,ne){T.onload=G,T.onerror=ne}),wn(v,"link",u),l.instance=v}n.stylesheets===null&&(n.stylesheets=new Map),n.stylesheets.set(l,i),(i=l.state.preload)&&(l.state.loading&3)===0&&(n.count++,l=Pc.bind(n),i.addEventListener("load",l),i.addEventListener("error",l))}}var sh=0;function Ek(n,i){return n.stylesheets&&n.count===0&&Gc(n,n.stylesheets),0sh?50:800)+i);return n.unsuspend=l,function(){n.unsuspend=null,clearTimeout(u),clearTimeout(x)}}:null}function Pc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Gc(this,this.stylesheets);else if(this.unsuspend){var n=this.unsuspend;this.unsuspend=null,n()}}}var Fc=null;function Gc(n,i){n.stylesheets=null,n.unsuspend!==null&&(n.count++,Fc=new Map,i.forEach(Nk,n),Fc=null,Pc.call(n))}function Nk(n,i){if(!(i.state.loading&4)){var l=Fc.get(n);if(l)var u=l.get(null);else{l=new Map,Fc.set(n,l);for(var x=n.querySelectorAll("link[data-precedence],style[data-precedence]"),v=0;v"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),ph.exports=Uk(),ph.exports}var $k=Hk();/** +`+u.stack}}var Xt=Object.prototype.hasOwnProperty,Ft=e.unstable_scheduleCallback,Kt=e.unstable_cancelCallback,Yn=e.unstable_shouldYield,Nn=e.unstable_requestPaint,ct=e.unstable_now,It=e.unstable_getCurrentPriorityLevel,ue=e.unstable_ImmediatePriority,be=e.unstable_UserBlockingPriority,Oe=e.unstable_NormalPriority,Fe=e.unstable_LowPriority,Ze=e.unstable_IdlePriority,cn=e.log,Sn=e.unstable_setDisableYieldValue,Zt=null,At=null;function Jt(n){if(typeof cn=="function"&&Sn(n),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(Zt,n)}catch{}}var ut=Math.clz32?Math.clz32:Si,In=Math.log,un=Math.LN2;function Si(n){return n>>>=0,n===0?32:31-(In(n)/un|0)|0}var nt=256,Xn=262144,On=4194304;function mn(n){var i=n&42;if(i!==0)return i;switch(n&-n){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 n&261888;case 262144:case 524288:case 1048576:case 2097152:return n&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return n&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return n}}function re(n,i,l){var u=n.pendingLanes;if(u===0)return 0;var x=0,v=n.suspendedLanes,T=n.pingedLanes;n=n.warmLanes;var G=u&134217727;return G!==0?(u=G&~v,u!==0?x=mn(u):(T&=G,T!==0?x=mn(T):l||(l=G&~n,l!==0&&(x=mn(l))))):(G=u&~v,G!==0?x=mn(G):T!==0?x=mn(T):l||(l=u&~n,l!==0&&(x=mn(l)))),x===0?0:i!==0&&i!==x&&(i&v)===0&&(v=x&-x,l=i&-i,v>=l||v===32&&(l&4194048)!==0)?i:x}function me(n,i){return(n.pendingLanes&~(n.suspendedLanes&~n.pingedLanes)&i)===0}function Ee(n,i){switch(n){case 1:case 2:case 4:case 8:case 64:return i+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 i+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 Pe(){var n=On;return On<<=1,(On&62914560)===0&&(On=4194304),n}function St(n){for(var i=[],l=0;31>l;l++)i.push(n);return i}function gt(n,i){n.pendingLanes|=i,i!==268435456&&(n.suspendedLanes=0,n.pingedLanes=0,n.warmLanes=0)}function Me(n,i,l,u,x,v){var T=n.pendingLanes;n.pendingLanes=l,n.suspendedLanes=0,n.pingedLanes=0,n.warmLanes=0,n.expiredLanes&=l,n.entangledLanes&=l,n.errorRecoveryDisabledLanes&=l,n.shellSuspendCounter=0;var G=n.entanglements,ne=n.expirationTimes,le=n.hiddenUpdates;for(l=T&~l;0"u")return null;try{return n.activeElement||n.body}catch{return n.body}}var is=/[\n"\\]/g;function Cn(n){return n.replace(is,function(i){return"\\"+i.charCodeAt(0).toString(16)+" "})}function ba(n,i,l,u,x,v,T,G){n.name="",T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"?n.type=T:n.removeAttribute("type"),i!=null?T==="number"?(i===0&&n.value===""||n.value!=i)&&(n.value=""+_t(i)):n.value!==""+_t(i)&&(n.value=""+_t(i)):T!=="submit"&&T!=="reset"||n.removeAttribute("value"),i!=null?Ri(n,T,_t(i)):l!=null?Ri(n,T,_t(l)):u!=null&&n.removeAttribute("value"),x==null&&v!=null&&(n.defaultChecked=!!v),x!=null&&(n.checked=x&&typeof x!="function"&&typeof x!="symbol"),G!=null&&typeof G!="function"&&typeof G!="symbol"&&typeof G!="boolean"?n.name=""+_t(G):n.removeAttribute("name")}function Sr(n,i,l,u,x,v,T,G){if(v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"&&(n.type=v),i!=null||l!=null){if(!(v!=="submit"&&v!=="reset"||i!=null)){Mi(n);return}l=l!=null?""+_t(l):"",i=i!=null?""+_t(i):l,G||i===n.value||(n.value=i),n.defaultValue=i}u=u??x,u=typeof u!="function"&&typeof u!="symbol"&&!!u,n.checked=G?n.checked:!!u,n.defaultChecked=!!u,T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"&&(n.name=T),Mi(n)}function Ri(n,i,l){i==="number"&&Oi(n.ownerDocument)===n||n.defaultValue===""+l||(n.defaultValue=""+l)}function dn(n,i,l,u){if(n=n.options,i){i={};for(var x=0;x"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),fd=!1;if(ti)try{var ol={};Object.defineProperty(ol,"passive",{get:function(){fd=!0}}),window.addEventListener("test",ol,ol),window.removeEventListener("test",ol,ol)}catch{fd=!1}var Li=null,hd=null,Go=null;function Eg(){if(Go)return Go;var n,i=hd,l=i.length,u,x="value"in Li?Li.value:Li.textContent,v=x.length;for(n=0;n=dl),Ag=" ",Mg=!1;function Og(n,i){switch(n){case"keyup":return tS.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Rg(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var ss=!1;function rS(n,i){switch(n){case"compositionend":return Rg(i);case"keypress":return i.which!==32?null:(Mg=!0,Ag);case"textInput":return n=i.data,n===Ag&&Mg?null:n;default:return null}}function iS(n,i){if(ss)return n==="compositionend"||!bd&&Og(n,i)?(n=Eg(),Go=hd=Li=null,ss=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1=i)return{node:l,offset:i-n};n=u}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=Hg(l)}}function qg(n,i){return n&&i?n===i?!0:n&&n.nodeType===3?!1:i&&i.nodeType===3?qg(n,i.parentNode):"contains"in n?n.contains(i):n.compareDocumentPosition?!!(n.compareDocumentPosition(i)&16):!1:!1}function Pg(n){n=n!=null&&n.ownerDocument!=null&&n.ownerDocument.defaultView!=null?n.ownerDocument.defaultView:window;for(var i=Oi(n.document);i instanceof n.HTMLIFrameElement;){try{var l=typeof i.contentWindow.location.href=="string"}catch{l=!1}if(l)n=i.contentWindow;else break;i=Oi(n.document)}return i}function _d(n){var i=n&&n.nodeName&&n.nodeName.toLowerCase();return i&&(i==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||i==="textarea"||n.contentEditable==="true")}var fS=ti&&"documentMode"in document&&11>=document.documentMode,ls=null,wd=null,pl=null,Ed=!1;function Fg(n,i,l){var u=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;Ed||ls==null||ls!==Oi(u)||(u=ls,"selectionStart"in u&&_d(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),pl&&ml(pl,u)||(pl=u,u=Bc(wd,"onSelect"),0>=T,x-=T,Hr=1<<32-ut(i)+x|l<Ke?(at=je,je=null):at=je.sibling;var mt=ce(ae,je,se[Ke],pe);if(mt===null){je===null&&(je=at);break}n&&je&&mt.alternate===null&&i(ae,je),ie=v(mt,ie,Ke),ht===null?Ie=mt:ht.sibling=mt,ht=mt,je=at}if(Ke===se.length)return l(ae,je),lt&&ri(ae,Ke),Ie;if(je===null){for(;KeKe?(at=je,je=null):at=je.sibling;var ra=ce(ae,je,mt.value,pe);if(ra===null){je===null&&(je=at);break}n&&je&&ra.alternate===null&&i(ae,je),ie=v(ra,ie,Ke),ht===null?Ie=ra:ht.sibling=ra,ht=ra,je=at}if(mt.done)return l(ae,je),lt&&ri(ae,Ke),Ie;if(je===null){for(;!mt.done;Ke++,mt=se.next())mt=ge(ae,mt.value,pe),mt!==null&&(ie=v(mt,ie,Ke),ht===null?Ie=mt:ht.sibling=mt,ht=mt);return lt&&ri(ae,Ke),Ie}for(je=u(je);!mt.done;Ke++,mt=se.next())mt=de(je,ae,Ke,mt.value,pe),mt!==null&&(n&&mt.alternate!==null&&je.delete(mt.key===null?Ke:mt.key),ie=v(mt,ie,Ke),ht===null?Ie=mt:ht.sibling=mt,ht=mt);return n&&je.forEach(function(Rk){return i(ae,Rk)}),lt&&ri(ae,Ke),Ie}function Nt(ae,ie,se,pe){if(typeof se=="object"&&se!==null&&se.type===N&&se.key===null&&(se=se.props.children),typeof se=="object"&&se!==null){switch(se.$$typeof){case y:e:{for(var Ie=se.key;ie!==null;){if(ie.key===Ie){if(Ie=se.type,Ie===N){if(ie.tag===7){l(ae,ie.sibling),pe=x(ie,se.props.children),pe.return=ae,ae=pe;break e}}else if(ie.elementType===Ie||typeof Ie=="object"&&Ie!==null&&Ie.$$typeof===z&&Aa(Ie)===ie.type){l(ae,ie.sibling),pe=x(ie,se.props),_l(pe,se),pe.return=ae,ae=pe;break e}l(ae,ie);break}else i(ae,ie);ie=ie.sibling}se.type===N?(pe=Na(se.props.children,ae.mode,pe,se.key),pe.return=ae,ae=pe):(pe=tc(se.type,se.key,se.props,null,ae.mode,pe),_l(pe,se),pe.return=ae,ae=pe)}return T(ae);case _:e:{for(Ie=se.key;ie!==null;){if(ie.key===Ie)if(ie.tag===4&&ie.stateNode.containerInfo===se.containerInfo&&ie.stateNode.implementation===se.implementation){l(ae,ie.sibling),pe=x(ie,se.children||[]),pe.return=ae,ae=pe;break e}else{l(ae,ie);break}else i(ae,ie);ie=ie.sibling}pe=Md(se,ae.mode,pe),pe.return=ae,ae=pe}return T(ae);case z:return se=Aa(se),Nt(ae,ie,se,pe)}if($(se))return Ae(ae,ie,se,pe);if(Z(se)){if(Ie=Z(se),typeof Ie!="function")throw Error(a(150));return se=Ie.call(se),He(ae,ie,se,pe)}if(typeof se.then=="function")return Nt(ae,ie,oc(se),pe);if(se.$$typeof===E)return Nt(ae,ie,ic(ae,se),pe);cc(ae,se)}return typeof se=="string"&&se!==""||typeof se=="number"||typeof se=="bigint"?(se=""+se,ie!==null&&ie.tag===6?(l(ae,ie.sibling),pe=x(ie,se),pe.return=ae,ae=pe):(l(ae,ie),pe=Ad(se,ae.mode,pe),pe.return=ae,ae=pe),T(ae)):l(ae,ie)}return function(ae,ie,se,pe){try{vl=0;var Ie=Nt(ae,ie,se,pe);return bs=null,Ie}catch(je){if(je===xs||je===sc)throw je;var ht=Zn(29,je,null,ae.mode);return ht.lanes=pe,ht.return=ae,ht}finally{}}}var Oa=hx(!0),mx=hx(!1),Hi=!1;function qd(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Pd(n,i){n=n.updateQueue,i.updateQueue===n&&(i.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,callbacks:null})}function $i(n){return{lane:n,tag:0,payload:null,callback:null,next:null}}function qi(n,i,l){var u=n.updateQueue;if(u===null)return null;if(u=u.shared,(pt&2)!==0){var x=u.pending;return x===null?i.next=i:(i.next=x.next,x.next=i),u.pending=i,i=ec(n),Qg(n,null,l),i}return Jo(n,u,i,l),ec(n)}function wl(n,i,l){if(i=i.updateQueue,i!==null&&(i=i.shared,(l&4194048)!==0)){var u=i.lanes;u&=n.pendingLanes,l|=u,i.lanes=l,Ue(n,l)}}function Fd(n,i){var l=n.updateQueue,u=n.alternate;if(u!==null&&(u=u.updateQueue,l===u)){var x=null,v=null;if(l=l.firstBaseUpdate,l!==null){do{var T={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};v===null?x=v=T:v=v.next=T,l=l.next}while(l!==null);v===null?x=v=i:v=v.next=i}else x=v=i;l={baseState:u.baseState,firstBaseUpdate:x,lastBaseUpdate:v,shared:u.shared,callbacks:u.callbacks},n.updateQueue=l;return}n=l.lastBaseUpdate,n===null?l.firstBaseUpdate=i:n.next=i,l.lastBaseUpdate=i}var Gd=!1;function El(){if(Gd){var n=gs;if(n!==null)throw n}}function Nl(n,i,l,u){Gd=!1;var x=n.updateQueue;Hi=!1;var v=x.firstBaseUpdate,T=x.lastBaseUpdate,G=x.shared.pending;if(G!==null){x.shared.pending=null;var ne=G,le=ne.next;ne.next=null,T===null?v=le:T.next=le,T=ne;var he=n.alternate;he!==null&&(he=he.updateQueue,G=he.lastBaseUpdate,G!==T&&(G===null?he.firstBaseUpdate=le:G.next=le,he.lastBaseUpdate=ne))}if(v!==null){var ge=x.baseState;T=0,he=le=ne=null,G=v;do{var ce=G.lane&-536870913,de=ce!==G.lane;if(de?(it&ce)===ce:(u&ce)===ce){ce!==0&&ce===ps&&(Gd=!0),he!==null&&(he=he.next={lane:0,tag:G.tag,payload:G.payload,callback:null,next:null});e:{var Ae=n,He=G;ce=i;var Nt=l;switch(He.tag){case 1:if(Ae=He.payload,typeof Ae=="function"){ge=Ae.call(Nt,ge,ce);break e}ge=Ae;break e;case 3:Ae.flags=Ae.flags&-65537|128;case 0:if(Ae=He.payload,ce=typeof Ae=="function"?Ae.call(Nt,ge,ce):Ae,ce==null)break e;ge=g({},ge,ce);break e;case 2:Hi=!0}}ce=G.callback,ce!==null&&(n.flags|=64,de&&(n.flags|=8192),de=x.callbacks,de===null?x.callbacks=[ce]:de.push(ce))}else de={lane:ce,tag:G.tag,payload:G.payload,callback:G.callback,next:null},he===null?(le=he=de,ne=ge):he=he.next=de,T|=ce;if(G=G.next,G===null){if(G=x.shared.pending,G===null)break;de=G,G=de.next,de.next=null,x.lastBaseUpdate=de,x.shared.pending=null}}while(!0);he===null&&(ne=ge),x.baseState=ne,x.firstBaseUpdate=le,x.lastBaseUpdate=he,v===null&&(x.shared.lanes=0),Yi|=T,n.lanes=T,n.memoizedState=ge}}function px(n,i){if(typeof n!="function")throw Error(a(191,n));n.call(i)}function gx(n,i){var l=n.callbacks;if(l!==null)for(n.callbacks=null,n=0;nv?v:8;var T=O.T,G={};O.T=G,df(n,!1,i,l);try{var ne=x(),le=O.S;if(le!==null&&le(G,ne),ne!==null&&typeof ne=="object"&&typeof ne.then=="function"){var he=_S(ne,u);Cl(n,i,he,tr(n))}else Cl(n,i,u,tr(n))}catch(ge){Cl(n,i,{then:function(){},status:"rejected",reason:ge},tr())}finally{U.p=v,T!==null&&G.types!==null&&(T.types=G.types),O.T=T}}function CS(){}function cf(n,i,l,u){if(n.tag!==5)throw Error(a(476));var x=Xx(n).queue;Yx(n,x,i,K,l===null?CS:function(){return Kx(n),l(u)})}function Xx(n){var i=n.memoizedState;if(i!==null)return i;i={memoizedState:K,baseState:K,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:li,lastRenderedState:K},next:null};var l={};return i.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:li,lastRenderedState:l},next:null},n.memoizedState=i,n=n.alternate,n!==null&&(n.memoizedState=i),i}function Kx(n){var i=Xx(n);i.next===null&&(i=n.alternate.memoizedState),Cl(n,i.next.queue,{},tr())}function uf(){return vn(Fl)}function Zx(){return Wt().memoizedState}function Qx(){return Wt().memoizedState}function TS(n){for(var i=n.return;i!==null;){switch(i.tag){case 24:case 3:var l=tr();n=$i(l);var u=qi(i,n,l);u!==null&&(Pn(u,i,l),wl(u,i,l)),i={cache:Bd()},n.payload=i;return}i=i.return}}function AS(n,i,l){var u=tr();l={lane:u,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},yc(n)?Jx(i,l):(l=Cd(n,i,l,u),l!==null&&(Pn(l,n,u),eb(l,i,u)))}function Wx(n,i,l){var u=tr();Cl(n,i,l,u)}function Cl(n,i,l,u){var x={lane:u,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(yc(n))Jx(i,x);else{var v=n.alternate;if(n.lanes===0&&(v===null||v.lanes===0)&&(v=i.lastRenderedReducer,v!==null))try{var T=i.lastRenderedState,G=v(T,l);if(x.hasEagerState=!0,x.eagerState=G,Kn(G,T))return Jo(n,i,x,0),kt===null&&Wo(),!1}catch{}finally{}if(l=Cd(n,i,x,u),l!==null)return Pn(l,n,u),eb(l,i,u),!0}return!1}function df(n,i,l,u){if(u={lane:2,revertLane:Pf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},yc(n)){if(i)throw Error(a(479))}else i=Cd(n,l,u,2),i!==null&&Pn(i,n,2)}function yc(n){var i=n.alternate;return n===Xe||i!==null&&i===Xe}function Jx(n,i){vs=fc=!0;var l=n.pending;l===null?i.next=i:(i.next=l.next,l.next=i),n.pending=i}function eb(n,i,l){if((l&4194048)!==0){var u=i.lanes;u&=n.pendingLanes,l|=u,i.lanes=l,Ue(n,l)}}var Tl={readContext:vn,use:pc,useCallback:Vt,useContext:Vt,useEffect:Vt,useImperativeHandle:Vt,useLayoutEffect:Vt,useInsertionEffect:Vt,useMemo:Vt,useReducer:Vt,useRef:Vt,useState:Vt,useDebugValue:Vt,useDeferredValue:Vt,useTransition:Vt,useSyncExternalStore:Vt,useId:Vt,useHostTransitionStatus:Vt,useFormState:Vt,useActionState:Vt,useOptimistic:Vt,useMemoCache:Vt,useCacheRefresh:Vt};Tl.useEffectEvent=Vt;var tb={readContext:vn,use:pc,useCallback:function(n,i){return Dn().memoizedState=[n,i===void 0?null:i],n},useContext:vn,useEffect:Bx,useImperativeHandle:function(n,i,l){l=l!=null?l.concat([n]):null,xc(4194308,4,qx.bind(null,i,n),l)},useLayoutEffect:function(n,i){return xc(4194308,4,n,i)},useInsertionEffect:function(n,i){xc(4,2,n,i)},useMemo:function(n,i){var l=Dn();i=i===void 0?null:i;var u=n();if(Ra){Jt(!0);try{n()}finally{Jt(!1)}}return l.memoizedState=[u,i],u},useReducer:function(n,i,l){var u=Dn();if(l!==void 0){var x=l(i);if(Ra){Jt(!0);try{l(i)}finally{Jt(!1)}}}else x=i;return u.memoizedState=u.baseState=x,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:x},u.queue=n,n=n.dispatch=AS.bind(null,Xe,n),[u.memoizedState,n]},useRef:function(n){var i=Dn();return n={current:n},i.memoizedState=n},useState:function(n){n=rf(n);var i=n.queue,l=Wx.bind(null,Xe,i);return i.dispatch=l,[n.memoizedState,l]},useDebugValue:lf,useDeferredValue:function(n,i){var l=Dn();return of(l,n,i)},useTransition:function(){var n=rf(!1);return n=Yx.bind(null,Xe,n.queue,!0,!1),Dn().memoizedState=n,[!1,n]},useSyncExternalStore:function(n,i,l){var u=Xe,x=Dn();if(lt){if(l===void 0)throw Error(a(407));l=l()}else{if(l=i(),kt===null)throw Error(a(349));(it&127)!==0||wx(u,i,l)}x.memoizedState=l;var v={value:l,getSnapshot:i};return x.queue=v,Bx(Nx.bind(null,u,v,n),[n]),u.flags|=2048,ws(9,{destroy:void 0},Ex.bind(null,u,v,l,i),null),l},useId:function(){var n=Dn(),i=kt.identifierPrefix;if(lt){var l=$r,u=Hr;l=(u&~(1<<32-ut(u)-1)).toString(32)+l,i="_"+i+"R_"+l,l=hc++,0<\/script>",v=v.removeChild(v.firstChild);break;case"select":v=typeof u.is=="string"?T.createElement("select",{is:u.is}):T.createElement("select"),u.multiple?v.multiple=!0:u.size&&(v.size=u.size);break;default:v=typeof u.is=="string"?T.createElement(x,{is:u.is}):T.createElement(x)}}v[Ut]=i,v[pn]=u;e:for(T=i.child;T!==null;){if(T.tag===5||T.tag===6)v.appendChild(T.stateNode);else if(T.tag!==4&&T.tag!==27&&T.child!==null){T.child.return=T,T=T.child;continue}if(T===i)break e;for(;T.sibling===null;){if(T.return===null||T.return===i)break e;T=T.return}T.sibling.return=T.return,T=T.sibling}i.stateNode=v;e:switch(wn(v,x,u),x){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break e;case"img":u=!0;break e;default:u=!1}u&&ci(i)}}return Dt(i),Sf(i,i.type,n===null?null:n.memoizedProps,i.pendingProps,l),null;case 6:if(n&&i.stateNode!=null)n.memoizedProps!==u&&ci(i);else{if(typeof u!="string"&&i.stateNode===null)throw Error(a(166));if(n=Q.current,hs(i)){if(n=i.stateNode,l=i.memoizedProps,u=null,x=yn,x!==null)switch(x.tag){case 27:case 5:u=x.memoizedProps}n[Ut]=i,n=!!(n.nodeValue===l||u!==null&&u.suppressHydrationWarning===!0||v0(n.nodeValue,l)),n||Bi(i,!0)}else n=Uc(n).createTextNode(u),n[Ut]=i,i.stateNode=n}return Dt(i),null;case 31:if(l=i.memoizedState,n===null||n.memoizedState!==null){if(u=hs(i),l!==null){if(n===null){if(!u)throw Error(a(318));if(n=i.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(a(557));n[Ut]=i}else Sa(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;Dt(i),n=!1}else l=Dd(),n!==null&&n.memoizedState!==null&&(n.memoizedState.hydrationErrors=l),n=!0;if(!n)return i.flags&256?(Wn(i),i):(Wn(i),null);if((i.flags&128)!==0)throw Error(a(558))}return Dt(i),null;case 13:if(u=i.memoizedState,n===null||n.memoizedState!==null&&n.memoizedState.dehydrated!==null){if(x=hs(i),u!==null&&u.dehydrated!==null){if(n===null){if(!x)throw Error(a(318));if(x=i.memoizedState,x=x!==null?x.dehydrated:null,!x)throw Error(a(317));x[Ut]=i}else Sa(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;Dt(i),x=!1}else x=Dd(),n!==null&&n.memoizedState!==null&&(n.memoizedState.hydrationErrors=x),x=!0;if(!x)return i.flags&256?(Wn(i),i):(Wn(i),null)}return Wn(i),(i.flags&128)!==0?(i.lanes=l,i):(l=u!==null,n=n!==null&&n.memoizedState!==null,l&&(u=i.child,x=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(x=u.alternate.memoizedState.cachePool.pool),v=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(v=u.memoizedState.cachePool.pool),v!==x&&(u.flags|=2048)),l!==n&&l&&(i.child.flags|=8192),Nc(i,i.updateQueue),Dt(i),null);case 4:return te(),n===null&&Yf(i.stateNode.containerInfo),Dt(i),null;case 10:return ai(i.type),Dt(i),null;case 19:if(F(Qt),u=i.memoizedState,u===null)return Dt(i),null;if(x=(i.flags&128)!==0,v=u.rendering,v===null)if(x)Ml(u,!1);else{if(Yt!==0||n!==null&&(n.flags&128)!==0)for(n=i.child;n!==null;){if(v=dc(n),v!==null){for(i.flags|=128,Ml(u,!1),n=v.updateQueue,i.updateQueue=n,Nc(i,n),i.subtreeFlags=0,n=l,l=i.child;l!==null;)Wg(l,n),l=l.sibling;return D(Qt,Qt.current&1|2),lt&&ri(i,u.treeForkCount),i.child}n=n.sibling}u.tail!==null&&ct()>Ac&&(i.flags|=128,x=!0,Ml(u,!1),i.lanes=4194304)}else{if(!x)if(n=dc(v),n!==null){if(i.flags|=128,x=!0,n=n.updateQueue,i.updateQueue=n,Nc(i,n),Ml(u,!0),u.tail===null&&u.tailMode==="hidden"&&!v.alternate&&!lt)return Dt(i),null}else 2*ct()-u.renderingStartTime>Ac&&l!==536870912&&(i.flags|=128,x=!0,Ml(u,!1),i.lanes=4194304);u.isBackwards?(v.sibling=i.child,i.child=v):(n=u.last,n!==null?n.sibling=v:i.child=v,u.last=v)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=ct(),n.sibling=null,l=Qt.current,D(Qt,x?l&1|2:l&1),lt&&ri(i,u.treeForkCount),n):(Dt(i),null);case 22:case 23:return Wn(i),Yd(),u=i.memoizedState!==null,n!==null?n.memoizedState!==null!==u&&(i.flags|=8192):u&&(i.flags|=8192),u?(l&536870912)!==0&&(i.flags&128)===0&&(Dt(i),i.subtreeFlags&6&&(i.flags|=8192)):Dt(i),l=i.updateQueue,l!==null&&Nc(i,l.retryQueue),l=null,n!==null&&n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(l=n.memoizedState.cachePool.pool),u=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(u=i.memoizedState.cachePool.pool),u!==l&&(i.flags|=2048),n!==null&&F(Ta),null;case 24:return l=null,n!==null&&(l=n.memoizedState.cache),i.memoizedState.cache!==l&&(i.flags|=2048),ai(tn),Dt(i),null;case 25:return null;case 30:return null}throw Error(a(156,i.tag))}function DS(n,i){switch(Rd(i),i.tag){case 1:return n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 3:return ai(tn),te(),n=i.flags,(n&65536)!==0&&(n&128)===0?(i.flags=n&-65537|128,i):null;case 26:case 27:case 5:return fe(i),null;case 31:if(i.memoizedState!==null){if(Wn(i),i.alternate===null)throw Error(a(340));Sa()}return n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 13:if(Wn(i),n=i.memoizedState,n!==null&&n.dehydrated!==null){if(i.alternate===null)throw Error(a(340));Sa()}return n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 19:return F(Qt),null;case 4:return te(),null;case 10:return ai(i.type),null;case 22:case 23:return Wn(i),Yd(),n!==null&&F(Ta),n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 24:return ai(tn),null;case 25:return null;default:return null}}function Sb(n,i){switch(Rd(i),i.tag){case 3:ai(tn),te();break;case 26:case 27:case 5:fe(i);break;case 4:te();break;case 31:i.memoizedState!==null&&Wn(i);break;case 13:Wn(i);break;case 19:F(Qt);break;case 10:ai(i.type);break;case 22:case 23:Wn(i),Yd(),n!==null&&F(Ta);break;case 24:ai(tn)}}function Ol(n,i){try{var l=i.updateQueue,u=l!==null?l.lastEffect:null;if(u!==null){var x=u.next;l=x;do{if((l.tag&n)===n){u=void 0;var v=l.create,T=l.inst;u=v(),T.destroy=u}l=l.next}while(l!==x)}}catch(G){yt(i,i.return,G)}}function Gi(n,i,l){try{var u=i.updateQueue,x=u!==null?u.lastEffect:null;if(x!==null){var v=x.next;u=v;do{if((u.tag&n)===n){var T=u.inst,G=T.destroy;if(G!==void 0){T.destroy=void 0,x=i;var ne=l,le=G;try{le()}catch(he){yt(x,ne,he)}}}u=u.next}while(u!==v)}}catch(he){yt(i,i.return,he)}}function kb(n){var i=n.updateQueue;if(i!==null){var l=n.stateNode;try{gx(i,l)}catch(u){yt(n,n.return,u)}}}function Cb(n,i,l){l.props=ja(n.type,n.memoizedProps),l.state=n.memoizedState;try{l.componentWillUnmount()}catch(u){yt(n,i,u)}}function Rl(n,i){try{var l=n.ref;if(l!==null){switch(n.tag){case 26:case 27:case 5:var u=n.stateNode;break;case 30:u=n.stateNode;break;default:u=n.stateNode}typeof l=="function"?n.refCleanup=l(u):l.current=u}}catch(x){yt(n,i,x)}}function qr(n,i){var l=n.ref,u=n.refCleanup;if(l!==null)if(typeof u=="function")try{u()}catch(x){yt(n,i,x)}finally{n.refCleanup=null,n=n.alternate,n!=null&&(n.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(x){yt(n,i,x)}else l.current=null}function Tb(n){var i=n.type,l=n.memoizedProps,u=n.stateNode;try{e:switch(i){case"button":case"input":case"select":case"textarea":l.autoFocus&&u.focus();break e;case"img":l.src?u.src=l.src:l.srcSet&&(u.srcset=l.srcSet)}}catch(x){yt(n,n.return,x)}}function kf(n,i,l){try{var u=n.stateNode;nk(u,n.type,l,i),u[pn]=i}catch(x){yt(n,n.return,x)}}function Ab(n){return n.tag===5||n.tag===3||n.tag===26||n.tag===27&&Wi(n.type)||n.tag===4}function Cf(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||Ab(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.tag===27&&Wi(n.type)||n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function Tf(n,i,l){var u=n.tag;if(u===5||u===6)n=n.stateNode,i?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(n,i):(i=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,i.appendChild(n),l=l._reactRootContainer,l!=null||i.onclick!==null||(i.onclick=_e));else if(u!==4&&(u===27&&Wi(n.type)&&(l=n.stateNode,i=null),n=n.child,n!==null))for(Tf(n,i,l),n=n.sibling;n!==null;)Tf(n,i,l),n=n.sibling}function Sc(n,i,l){var u=n.tag;if(u===5||u===6)n=n.stateNode,i?l.insertBefore(n,i):l.appendChild(n);else if(u!==4&&(u===27&&Wi(n.type)&&(l=n.stateNode),n=n.child,n!==null))for(Sc(n,i,l),n=n.sibling;n!==null;)Sc(n,i,l),n=n.sibling}function Mb(n){var i=n.stateNode,l=n.memoizedProps;try{for(var u=n.type,x=i.attributes;x.length;)i.removeAttributeNode(x[0]);wn(i,u,l),i[Ut]=n,i[pn]=l}catch(v){yt(n,n.return,v)}}var ui=!1,an=!1,Af=!1,Ob=typeof WeakSet=="function"?WeakSet:Set,xn=null;function LS(n,i){if(n=n.containerInfo,Zf=Vc,n=Pg(n),_d(n)){if("selectionStart"in n)var l={start:n.selectionStart,end:n.selectionEnd};else e:{l=(l=n.ownerDocument)&&l.defaultView||window;var u=l.getSelection&&l.getSelection();if(u&&u.rangeCount!==0){l=u.anchorNode;var x=u.anchorOffset,v=u.focusNode;u=u.focusOffset;try{l.nodeType,v.nodeType}catch{l=null;break e}var T=0,G=-1,ne=-1,le=0,he=0,ge=n,ce=null;t:for(;;){for(var de;ge!==l||x!==0&&ge.nodeType!==3||(G=T+x),ge!==v||u!==0&&ge.nodeType!==3||(ne=T+u),ge.nodeType===3&&(T+=ge.nodeValue.length),(de=ge.firstChild)!==null;)ce=ge,ge=de;for(;;){if(ge===n)break t;if(ce===l&&++le===x&&(G=T),ce===v&&++he===u&&(ne=T),(de=ge.nextSibling)!==null)break;ge=ce,ce=ge.parentNode}ge=de}l=G===-1||ne===-1?null:{start:G,end:ne}}else l=null}l=l||{start:0,end:0}}else l=null;for(Qf={focusedElem:n,selectionRange:l},Vc=!1,xn=i;xn!==null;)if(i=xn,n=i.child,(i.subtreeFlags&1028)!==0&&n!==null)n.return=i,xn=n;else for(;xn!==null;){switch(i=xn,v=i.alternate,n=i.flags,i.tag){case 0:if((n&4)!==0&&(n=i.updateQueue,n=n!==null?n.events:null,n!==null))for(l=0;l title"))),wn(v,u,l),v[Ut]=n,Gt(v),u=v;break e;case"link":var T=I0("link","href",x).get(u+(l.href||""));if(T){for(var G=0;GNt&&(T=Nt,Nt=He,He=T);var ae=$g(G,He),ie=$g(G,Nt);if(ae&&ie&&(de.rangeCount!==1||de.anchorNode!==ae.node||de.anchorOffset!==ae.offset||de.focusNode!==ie.node||de.focusOffset!==ie.offset)){var se=ge.createRange();se.setStart(ae.node,ae.offset),de.removeAllRanges(),He>Nt?(de.addRange(se),de.extend(ie.node,ie.offset)):(se.setEnd(ie.node,ie.offset),de.addRange(se))}}}}for(ge=[],de=G;de=de.parentNode;)de.nodeType===1&&ge.push({element:de,left:de.scrollLeft,top:de.scrollTop});for(typeof G.focus=="function"&&G.focus(),G=0;Gl?32:l,O.T=null,l=zf,zf=null;var v=Ki,T=pi;if(fn=0,Cs=Ki=null,pi=0,(pt&6)!==0)throw Error(a(331));var G=pt;if(pt|=4,qb(v.current),Ub(v,v.current,T,l),pt=G,Bl(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(Zt,v)}catch{}return!0}finally{U.p=x,O.T=u,s0(n,i)}}function o0(n,i,l){i=ur(l,i),i=pf(n.stateNode,i,2),n=qi(n,i,2),n!==null&&(gt(n,2),Pr(n))}function yt(n,i,l){if(n.tag===3)o0(n,n,l);else for(;i!==null;){if(i.tag===3){o0(i,n,l);break}else if(i.tag===1){var u=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Xi===null||!Xi.has(u))){n=ur(l,n),l=cb(2),u=qi(i,l,2),u!==null&&(ub(l,u,i,n),gt(u,2),Pr(u));break}}i=i.return}}function Hf(n,i,l){var u=n.pingCache;if(u===null){u=n.pingCache=new BS;var x=new Set;u.set(i,x)}else x=u.get(i),x===void 0&&(x=new Set,u.set(i,x));x.has(l)||(Rf=!0,x.add(l),n=PS.bind(null,n,i,l),i.then(n,n))}function PS(n,i,l){var u=n.pingCache;u!==null&&u.delete(i),n.pingedLanes|=n.suspendedLanes&l,n.warmLanes&=~l,kt===n&&(it&l)===l&&(Yt===4||Yt===3&&(it&62914560)===it&&300>ct()-Tc?(pt&2)===0&&Ts(n,0):jf|=l,ks===it&&(ks=0)),Pr(n)}function c0(n,i){i===0&&(i=Pe()),n=Ea(n,i),n!==null&&(gt(n,i),Pr(n))}function FS(n){var i=n.memoizedState,l=0;i!==null&&(l=i.retryLane),c0(n,l)}function GS(n,i){var l=0;switch(n.tag){case 31:case 13:var u=n.stateNode,x=n.memoizedState;x!==null&&(l=x.retryLane);break;case 19:u=n.stateNode;break;case 22:u=n.stateNode._retryCache;break;default:throw Error(a(314))}u!==null&&u.delete(i),c0(n,l)}function VS(n,i){return Ft(n,i)}var Lc=null,Ms=null,$f=!1,zc=!1,qf=!1,Qi=0;function Pr(n){n!==Ms&&n.next===null&&(Ms===null?Lc=Ms=n:Ms=Ms.next=n),zc=!0,$f||($f=!0,XS())}function Bl(n,i){if(!qf&&zc){qf=!0;do for(var l=!1,u=Lc;u!==null;){if(n!==0){var x=u.pendingLanes;if(x===0)var v=0;else{var T=u.suspendedLanes,G=u.pingedLanes;v=(1<<31-ut(42|n)+1)-1,v&=x&~(T&~G),v=v&201326741?v&201326741|1:v?v|2:0}v!==0&&(l=!0,h0(u,v))}else v=it,v=re(u,u===kt?v:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),(v&3)===0||me(u,v)||(l=!0,h0(u,v));u=u.next}while(l);qf=!1}}function YS(){u0()}function u0(){zc=$f=!1;var n=0;Qi!==0&&ik()&&(n=Qi);for(var i=ct(),l=null,u=Lc;u!==null;){var x=u.next,v=d0(u,i);v===0?(u.next=null,l===null?Lc=x:l.next=x,x===null&&(Ms=l)):(l=u,(n!==0||(v&3)!==0)&&(zc=!0)),u=x}fn!==0&&fn!==5||Bl(n),Qi!==0&&(Qi=0)}function d0(n,i){for(var l=n.suspendedLanes,u=n.pingedLanes,x=n.expirationTimes,v=n.pendingLanes&-62914561;0G)break;var he=ne.transferSize,ge=ne.initiatorType;he&&_0(ge)&&(ne=ne.responseEnd,T+=he*(ne"u"?null:document;function j0(n,i,l){var u=Os;if(u&&typeof i=="string"&&i){var x=Cn(i);x='link[rel="'+n+'"][href="'+x+'"]',typeof l=="string"&&(x+='[crossorigin="'+l+'"]'),R0.has(x)||(R0.add(x),n={rel:n,crossOrigin:l,href:i},u.querySelector(x)===null&&(i=u.createElement("link"),wn(i,"link",n),Gt(i),u.head.appendChild(i)))}}function hk(n){gi.D(n),j0("dns-prefetch",n,null)}function mk(n,i){gi.C(n,i),j0("preconnect",n,i)}function pk(n,i,l){gi.L(n,i,l);var u=Os;if(u&&n&&i){var x='link[rel="preload"][as="'+Cn(i)+'"]';i==="image"&&l&&l.imageSrcSet?(x+='[imagesrcset="'+Cn(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(x+='[imagesizes="'+Cn(l.imageSizes)+'"]')):x+='[href="'+Cn(n)+'"]';var v=x;switch(i){case"style":v=Rs(n);break;case"script":v=js(n)}gr.has(v)||(n=g({rel:"preload",href:i==="image"&&l&&l.imageSrcSet?void 0:n,as:i},l),gr.set(v,n),u.querySelector(x)!==null||i==="style"&&u.querySelector(ql(v))||i==="script"&&u.querySelector(Pl(v))||(i=u.createElement("link"),wn(i,"link",n),Gt(i),u.head.appendChild(i)))}}function gk(n,i){gi.m(n,i);var l=Os;if(l&&n){var u=i&&typeof i.as=="string"?i.as:"script",x='link[rel="modulepreload"][as="'+Cn(u)+'"][href="'+Cn(n)+'"]',v=x;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":v=js(n)}if(!gr.has(v)&&(n=g({rel:"modulepreload",href:n},i),gr.set(v,n),l.querySelector(x)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(Pl(v)))return}u=l.createElement("link"),wn(u,"link",n),Gt(u),l.head.appendChild(u)}}}function xk(n,i,l){gi.S(n,i,l);var u=Os;if(u&&n){var x=Br(u).hoistableStyles,v=Rs(n);i=i||"default";var T=x.get(v);if(!T){var G={loading:0,preload:null};if(T=u.querySelector(ql(v)))G.loading=5;else{n=g({rel:"stylesheet",href:n,"data-precedence":i},l),(l=gr.get(v))&&ih(n,l);var ne=T=u.createElement("link");Gt(ne),wn(ne,"link",n),ne._p=new Promise(function(le,he){ne.onload=le,ne.onerror=he}),ne.addEventListener("load",function(){G.loading|=1}),ne.addEventListener("error",function(){G.loading|=2}),G.loading|=4,$c(T,i,u)}T={type:"stylesheet",instance:T,count:1,state:G},x.set(v,T)}}}function bk(n,i){gi.X(n,i);var l=Os;if(l&&n){var u=Br(l).hoistableScripts,x=js(n),v=u.get(x);v||(v=l.querySelector(Pl(x)),v||(n=g({src:n,async:!0},i),(i=gr.get(x))&&ah(n,i),v=l.createElement("script"),Gt(v),wn(v,"link",n),l.head.appendChild(v)),v={type:"script",instance:v,count:1,state:null},u.set(x,v))}}function yk(n,i){gi.M(n,i);var l=Os;if(l&&n){var u=Br(l).hoistableScripts,x=js(n),v=u.get(x);v||(v=l.querySelector(Pl(x)),v||(n=g({src:n,async:!0,type:"module"},i),(i=gr.get(x))&&ah(n,i),v=l.createElement("script"),Gt(v),wn(v,"link",n),l.head.appendChild(v)),v={type:"script",instance:v,count:1,state:null},u.set(x,v))}}function D0(n,i,l,u){var x=(x=Q.current)?Hc(x):null;if(!x)throw Error(a(446));switch(n){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(i=Rs(l.href),l=Br(x).hoistableStyles,u=l.get(i),u||(u={type:"style",instance:null,count:0,state:null},l.set(i,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){n=Rs(l.href);var v=Br(x).hoistableStyles,T=v.get(n);if(T||(x=x.ownerDocument||x,T={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},v.set(n,T),(v=x.querySelector(ql(n)))&&!v._p&&(T.instance=v,T.state.loading=5),gr.has(n)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},gr.set(n,l),v||vk(x,n,l,T.state))),i&&u===null)throw Error(a(528,""));return T}if(i&&u!==null)throw Error(a(529,""));return null;case"script":return i=l.async,l=l.src,typeof l=="string"&&i&&typeof i!="function"&&typeof i!="symbol"?(i=js(l),l=Br(x).hoistableScripts,u=l.get(i),u||(u={type:"script",instance:null,count:0,state:null},l.set(i,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(a(444,n))}}function Rs(n){return'href="'+Cn(n)+'"'}function ql(n){return'link[rel="stylesheet"]['+n+"]"}function L0(n){return g({},n,{"data-precedence":n.precedence,precedence:null})}function vk(n,i,l,u){n.querySelector('link[rel="preload"][as="style"]['+i+"]")?u.loading=1:(i=n.createElement("link"),u.preload=i,i.addEventListener("load",function(){return u.loading|=1}),i.addEventListener("error",function(){return u.loading|=2}),wn(i,"link",l),Gt(i),n.head.appendChild(i))}function js(n){return'[src="'+Cn(n)+'"]'}function Pl(n){return"script[async]"+n}function z0(n,i,l){if(i.count++,i.instance===null)switch(i.type){case"style":var u=n.querySelector('style[data-href~="'+Cn(l.href)+'"]');if(u)return i.instance=u,Gt(u),u;var x=g({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return u=(n.ownerDocument||n).createElement("style"),Gt(u),wn(u,"style",x),$c(u,l.precedence,n),i.instance=u;case"stylesheet":x=Rs(l.href);var v=n.querySelector(ql(x));if(v)return i.state.loading|=4,i.instance=v,Gt(v),v;u=L0(l),(x=gr.get(x))&&ih(u,x),v=(n.ownerDocument||n).createElement("link"),Gt(v);var T=v;return T._p=new Promise(function(G,ne){T.onload=G,T.onerror=ne}),wn(v,"link",u),i.state.loading|=4,$c(v,l.precedence,n),i.instance=v;case"script":return v=js(l.src),(x=n.querySelector(Pl(v)))?(i.instance=x,Gt(x),x):(u=l,(x=gr.get(v))&&(u=g({},l),ah(u,x)),n=n.ownerDocument||n,x=n.createElement("script"),Gt(x),wn(x,"link",u),n.head.appendChild(x),i.instance=x);case"void":return null;default:throw Error(a(443,i.type))}else i.type==="stylesheet"&&(i.state.loading&4)===0&&(u=i.instance,i.state.loading|=4,$c(u,l.precedence,n));return i.instance}function $c(n,i,l){for(var u=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),x=u.length?u[u.length-1]:null,v=x,T=0;T title"):null)}function _k(n,i,l){if(l===1||i.itemProp!=null)return!1;switch(n){case"meta":case"title":return!0;case"style":if(typeof i.precedence!="string"||typeof i.href!="string"||i.href==="")break;return!0;case"link":if(typeof i.rel!="string"||typeof i.href!="string"||i.href===""||i.onLoad||i.onError)break;switch(i.rel){case"stylesheet":return n=i.disabled,typeof i.precedence=="string"&&n==null;default:return!0}case"script":if(i.async&&typeof i.async!="function"&&typeof i.async!="symbol"&&!i.onLoad&&!i.onError&&i.src&&typeof i.src=="string")return!0}return!1}function U0(n){return!(n.type==="stylesheet"&&(n.state.loading&3)===0)}function wk(n,i,l,u){if(l.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var x=Rs(u.href),v=i.querySelector(ql(x));if(v){i=v._p,i!==null&&typeof i=="object"&&typeof i.then=="function"&&(n.count++,n=Pc.bind(n),i.then(n,n)),l.state.loading|=4,l.instance=v,Gt(v);return}v=i.ownerDocument||i,u=L0(u),(x=gr.get(x))&&ih(u,x),v=v.createElement("link"),Gt(v);var T=v;T._p=new Promise(function(G,ne){T.onload=G,T.onerror=ne}),wn(v,"link",u),l.instance=v}n.stylesheets===null&&(n.stylesheets=new Map),n.stylesheets.set(l,i),(i=l.state.preload)&&(l.state.loading&3)===0&&(n.count++,l=Pc.bind(n),i.addEventListener("load",l),i.addEventListener("error",l))}}var sh=0;function Ek(n,i){return n.stylesheets&&n.count===0&&Gc(n,n.stylesheets),0sh?50:800)+i);return n.unsuspend=l,function(){n.unsuspend=null,clearTimeout(u),clearTimeout(x)}}:null}function Pc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Gc(this,this.stylesheets);else if(this.unsuspend){var n=this.unsuspend;this.unsuspend=null,n()}}}var Fc=null;function Gc(n,i){n.stylesheets=null,n.unsuspend!==null&&(n.count++,Fc=new Map,i.forEach(Nk,n),Fc=null,Pc.call(n))}function Nk(n,i){if(!(i.state.loading&4)){var l=Fc.get(n);if(l)var u=l.get(null);else{l=new Map,Fc.set(n,l);for(var x=n.querySelectorAll("link[data-precedence],style[data-precedence]"),v=0;v"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),ph.exports=Uk(),ph.exports}var $k=Hk();/** * @license lucide-react v0.563.0 - ISC * * This source code is licensed under the ISC license. @@ -424,7 +424,7 @@ Error generating stack: `+u.message+` */const BT=[["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"}]],UT=Ce("zap",BT),HT={open:{label:"Open",color:"bg-red-500/10 text-red-400 border-red-500/20",dotColor:"bg-red-500",description:"Newly discovered, awaiting triage"},in_progress:{label:"In Progress",color:"bg-blue-500/10 text-blue-400 border-blue-500/20",dotColor:"bg-blue-500",description:"Someone is working on this"},snoozed:{label:"Snoozed",color:"bg-purple-500/10 text-purple-400 border-purple-500/20",dotColor:"bg-purple-500",description:"Temporarily hidden until a follow-up date"},fixed:{label:"Fixed",color:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20",dotColor:"bg-emerald-500",description:"This vulnerability has been fixed"},ignored:{label:"Ignored",color:"bg-gray-500/10 text-gray-400 border-gray-500/20",dotColor:"bg-gray-500",description:"Acknowledged but accepted"}},$T={trivial:{label:"Trivial",color:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20"},low:{label:"Low",color:"bg-blue-500/10 text-blue-400 border-blue-500/20"},medium:{label:"Medium",color:"bg-yellow-500/10 text-yellow-400 border-yellow-500/20"},high:{label:"High",color:"bg-orange-500/10 text-orange-400 border-orange-500/20"}},ew={critical:"bg-red-500/20 text-red-500 border-red-500/30",high:"bg-orange-500/20 text-orange-500 border-orange-500/30",medium:"bg-yellow-500/20 text-yellow-500 border-yellow-500/30",low:"bg-blue-500/20 text-blue-500 border-blue-500/30"};function Jc(e){return e.original_severity!=null&&e.original_severity!==e.severity}const qT={js:"javascript",ts:"typescript",tsx:"typescript",jsx:"javascript",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",php:"php",cs:"csharp",cpp:"cpp",c:"c",sh:"bash",bash:"bash",sql:"sql",html:"html",css:"css",json:"json",yaml:"yaml",yml:"yaml",xml:"xml"};function PT(e){var r;if(!e)return null;const t=(r=e.split(".").pop())==null?void 0:r.toLowerCase();return t&&qT[t]||null}function Cp(e){switch(e){case"critical":return"bg-red-500";case"high":return"bg-orange-500";case"medium":return"bg-yellow-500";default:return"bg-blue-500"}}async function Tp(e){try{await navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea");t.value=e,t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}}const Yu="https://app.strix.ai/api/auth/signup",Ap="https://strix.ai/demo",FT="https://strix.ai/pricing",GT="ref=oss_viewer&utm_source=oss_viewer&utm_medium=local_viewer&utm_campaign=oss_viewer";function _i(e,t){const r=e.includes("?")?"&":"?";return`${e}${r}${GT}&utm_content=${encodeURIComponent(t)}`}function Mr(e,t={}){try{const r={event:e};for(const[s,o]of Object.entries(t))o!==void 0&&(r[s]=o);const a=JSON.stringify(r);typeof navigator<"u"&&navigator.sendBeacon?navigator.sendBeacon("/api/event",a):fetch("/api/event",{method:"POST",body:a,keepalive:!0})}catch{}}function yr(e,t){Mr("cta_clicked",{cta:e,surface:t})}function tw(e){var t,r,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t{const r=new Array(e.length+t.length);for(let a=0;a({classGroupId:e,validator:t}),nw=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),Su="-",dy=[],KT="arbitrary..",ZT=e=>{const t=WT(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:c=>{if(c.startsWith("[")&&c.endsWith("]"))return QT(c);const d=c.split(Su),h=d[0]===""&&d.length>1?1:0;return rw(d,h,t)},getConflictingClassGroupIds:(c,d)=>{if(d){const h=a[c],f=r[c];return h?f?YT(f,h):h:f||dy}return r[c]||dy}}},rw=(e,t,r)=>{if(e.length-t===0)return r.classGroupId;const s=e[t],o=r.nextPart.get(s);if(o){const f=rw(e,t+1,o);if(f)return f}const c=r.validators;if(c===null)return;const d=t===0?e.join(Su):e.slice(t).join(Su),h=c.length;for(let f=0;fe.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),r=t.indexOf(":"),a=t.slice(0,r);return a?KT+a:void 0})(),WT=e=>{const{theme:t,classGroups:r}=e;return JT(r,t)},JT=(e,t)=>{const r=nw();for(const a in e){const s=e[a];Mp(s,r,a,t)}return r},Mp=(e,t,r,a)=>{const s=e.length;for(let o=0;o{if(typeof e=="string"){tA(e,t,r);return}if(typeof e=="function"){nA(e,t,r,a);return}rA(e,t,r,a)},tA=(e,t,r)=>{const a=e===""?t:iw(t,e);a.classGroupId=r},nA=(e,t,r,a)=>{if(iA(e)){Mp(e(a),t,r,a);return}t.validators===null&&(t.validators=[]),t.validators.push(XT(r,e))},rA=(e,t,r,a)=>{const s=Object.entries(e),o=s.length;for(let c=0;c{let r=e;const a=t.split(Su),s=a.length;for(let o=0;o"isThemeGetter"in e&&e.isThemeGetter===!0,aA=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=Object.create(null),a=Object.create(null);const s=(o,c)=>{r[o]=c,t++,t>e&&(t=0,a=r,r=Object.create(null))};return{get(o){let c=r[o];if(c!==void 0)return c;if((c=a[o])!==void 0)return s(o,c),c},set(o,c){o in r?r[o]=c:s(o,c)}}},Vm="!",fy=":",sA=[],hy=(e,t,r,a,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:a,isExternal:s}),lA=e=>{const{prefix:t,experimentalParseClassName:r}=e;let a=s=>{const o=[];let c=0,d=0,h=0,f;const p=s.length;for(let N=0;Nh?f-h:void 0;return hy(o,y,b,_)};if(t){const s=t+fy,o=a;a=c=>c.startsWith(s)?o(c.slice(s.length)):hy(sA,!1,c,void 0,!0)}if(r){const s=a;a=o=>r({className:o,parseClassName:s})}return a},oA=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((r,a)=>{t.set(r,1e6+a)}),r=>{const a=[];let s=[];for(let o=0;o0&&(s.sort(),a.push(...s),s=[]),a.push(c)):s.push(c)}return s.length>0&&(s.sort(),a.push(...s)),a}},cA=e=>({cache:aA(e.cacheSize),parseClassName:lA(e),sortModifiers:oA(e),postfixLookupClassGroupIds:uA(e),...ZT(e)}),uA=e=>{const t=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let a=0;a{const{parseClassName:r,getClassGroupId:a,getConflictingClassGroupIds:s,sortModifiers:o,postfixLookupClassGroupIds:c}=t,d=[],h=e.trim().split(dA);let f="";for(let p=h.length-1;p>=0;p-=1){const g=h[p],{isExternal:b,modifiers:y,hasImportantModifier:_,baseClassName:N,maybePostfixModifierPosition:S}=r(g);if(b){f=g+(f.length>0?" "+f:f);continue}let w=!!S,C;if(w){const H=N.substring(0,S);C=a(H);const z=C&&c[C]?a(N):void 0;z&&z!==C&&(C=z,w=!1)}else C=a(N);if(!C){if(!w){f=g+(f.length>0?" "+f:f);continue}if(C=a(N),!C){f=g+(f.length>0?" "+f:f);continue}w=!1}const E=y.length===0?"":y.length===1?y[0]:o(y).join(":"),A=_?E+Vm:E,B=A+C;if(d.indexOf(B)>-1)continue;d.push(B);const R=s(C,w);for(let H=0;H0?" "+f:f)}return f},hA=(...e)=>{let t=0,r,a,s="";for(;t{if(typeof e=="string")return e;let t,r="";for(let a=0;a{let r,a,s,o;const c=h=>{const f=t.reduce((p,g)=>g(p),e());return r=cA(f),a=r.cache.get,s=r.cache.set,o=d,d(h)},d=h=>{const f=a(h);if(f)return f;const p=fA(h,r);return s(h,p),p};return o=c,(...h)=>o(hA(...h))},pA=[],hn=e=>{const t=r=>r[e]||pA;return t.isThemeGetter=!0,t},sw=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,lw=/^\((?:(\w[\w-]*):)?(.+)\)$/i,gA=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,xA=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,bA=/\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$/,yA=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,vA=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,_A=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ia=e=>gA.test(e),We=e=>!!e&&!Number.isNaN(Number(e)),Fr=e=>!!e&&Number.isInteger(Number(e)),vh=e=>e.endsWith("%")&&We(e.slice(0,-1)),xi=e=>xA.test(e),ow=()=>!0,wA=e=>bA.test(e)&&!yA.test(e),Op=()=>!1,EA=e=>vA.test(e),NA=e=>_A.test(e),SA=e=>!ke(e)&&!Te(e),kA=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),CA=e=>ma(e,dw,Op),ke=e=>sw.test(e),za=e=>ma(e,fw,wA),my=e=>ma(e,LA,We),TA=e=>ma(e,mw,ow),AA=e=>ma(e,hw,Op),py=e=>ma(e,cw,Op),MA=e=>ma(e,uw,NA),eu=e=>ma(e,pw,EA),Te=e=>lw.test(e),Zl=e=>Wa(e,fw),OA=e=>Wa(e,hw),gy=e=>Wa(e,cw),RA=e=>Wa(e,dw),jA=e=>Wa(e,uw),tu=e=>Wa(e,pw,!0),DA=e=>Wa(e,mw,!0),ma=(e,t,r)=>{const a=sw.exec(e);return a?a[1]?t(a[1]):r(a[2]):!1},Wa=(e,t,r=!1)=>{const a=lw.exec(e);return a?a[1]?t(a[1]):r:!1},cw=e=>e==="position"||e==="percentage",uw=e=>e==="image"||e==="url",dw=e=>e==="length"||e==="size"||e==="bg-size",fw=e=>e==="length",LA=e=>e==="number",hw=e=>e==="family-name",mw=e=>e==="number"||e==="weight",pw=e=>e==="shadow",zA=()=>{const e=hn("color"),t=hn("font"),r=hn("text"),a=hn("font-weight"),s=hn("tracking"),o=hn("leading"),c=hn("breakpoint"),d=hn("container"),h=hn("spacing"),f=hn("radius"),p=hn("shadow"),g=hn("inset-shadow"),b=hn("text-shadow"),y=hn("drop-shadow"),_=hn("blur"),N=hn("perspective"),S=hn("aspect"),w=hn("ease"),C=hn("animate"),E=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],B=()=>[...A(),Te,ke],R=()=>["auto","hidden","clip","visible","scroll"],H=()=>["auto","contain","none"],z=()=>[Te,ke,h],Y=()=>[ia,"full","auto",...z()],j=()=>[Fr,"none","subgrid",Te,ke],I=()=>["auto",{span:["full",Fr,Te,ke]},Fr,Te,ke],Z=()=>[Fr,"auto",Te,ke],P=()=>["auto","min","max","fr",Te,ke],k=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],$=()=>["start","end","center","stretch","center-safe","end-safe"],O=()=>["auto",...z()],U=()=>[ia,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...z()],K=()=>[ia,"screen","full","dvw","lvw","svw","min","max","fit",...z()],X=()=>[ia,"screen","full","lh","dvh","lvh","svh","min","max","fit",...z()],M=()=>[e,Te,ke],L=()=>[...A(),gy,py,{position:[Te,ke]}],F=()=>["no-repeat",{repeat:["","x","y","space","round"]}],D=()=>["auto","cover","contain",RA,CA,{size:[Te,ke]}],V=()=>[vh,Zl,za],q=()=>["","none","full",f,Te,ke],Q=()=>["",We,Zl,za],J=()=>["solid","dashed","dotted","double"],W=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],te=()=>[We,vh,gy,py],oe=()=>["","none",_,Te,ke],fe=()=>["none",We,Te,ke],xe=()=>["none",We,Te,ke],we=()=>[We,Te,ke],Ne=()=>[ia,"full",...z()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[xi],breakpoint:[xi],color:[ow],container:[xi],"drop-shadow":[xi],ease:["in","out","in-out"],font:[SA],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[xi],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[xi],shadow:[xi],spacing:["px",We],text:[xi],"text-shadow":[xi],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ia,ke,Te,S]}],container:["container"],"container-type":[{"@container":["","normal","size",Te,ke]}],"container-named":[kA],columns:[{columns:[We,ke,Te,d]}],"break-after":[{"break-after":E()}],"break-before":[{"break-before":E()}],"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"],sr:["sr-only","not-sr-only"],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:B()}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:H()}],"overscroll-x":[{"overscroll-x":H()}],"overscroll-y":[{"overscroll-y":H()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:Y()}],"inset-x":[{"inset-x":Y()}],"inset-y":[{"inset-y":Y()}],start:[{"inset-s":Y(),start:Y()}],end:[{"inset-e":Y(),end:Y()}],"inset-bs":[{"inset-bs":Y()}],"inset-be":[{"inset-be":Y()}],top:[{top:Y()}],right:[{right:Y()}],bottom:[{bottom:Y()}],left:[{left:Y()}],visibility:["visible","invisible","collapse"],z:[{z:[Fr,"auto",Te,ke]}],basis:[{basis:[ia,"full","auto",d,...z()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[We,ia,"auto","initial","none",ke]}],grow:[{grow:["",We,Te,ke]}],shrink:[{shrink:["",We,Te,ke]}],order:[{order:[Fr,"first","last","none",Te,ke]}],"grid-cols":[{"grid-cols":j()}],"col-start-end":[{col:I()}],"col-start":[{"col-start":Z()}],"col-end":[{"col-end":Z()}],"grid-rows":[{"grid-rows":j()}],"row-start-end":[{row:I()}],"row-start":[{"row-start":Z()}],"row-end":[{"row-end":Z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":P()}],"auto-rows":[{"auto-rows":P()}],gap:[{gap:z()}],"gap-x":[{"gap-x":z()}],"gap-y":[{"gap-y":z()}],"justify-content":[{justify:[...k(),"normal"]}],"justify-items":[{"justify-items":[...$(),"normal"]}],"justify-self":[{"justify-self":["auto",...$()]}],"align-content":[{content:["normal",...k()]}],"align-items":[{items:[...$(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...$(),{baseline:["","last"]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...$(),"baseline"]}],"place-self":[{"place-self":["auto",...$()]}],p:[{p:z()}],px:[{px:z()}],py:[{py:z()}],ps:[{ps:z()}],pe:[{pe:z()}],pbs:[{pbs:z()}],pbe:[{pbe:z()}],pt:[{pt:z()}],pr:[{pr:z()}],pb:[{pb:z()}],pl:[{pl:z()}],m:[{m:O()}],mx:[{mx:O()}],my:[{my:O()}],ms:[{ms:O()}],me:[{me:O()}],mbs:[{mbs:O()}],mbe:[{mbe:O()}],mt:[{mt:O()}],mr:[{mr:O()}],mb:[{mb:O()}],ml:[{ml:O()}],"space-x":[{"space-x":z()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":z()}],"space-y-reverse":["space-y-reverse"],size:[{size:U()}],"inline-size":[{inline:["auto",...K()]}],"min-inline-size":[{"min-inline":["auto",...K()]}],"max-inline-size":[{"max-inline":["none",...K()]}],"block-size":[{block:["auto",...X()]}],"min-block-size":[{"min-block":["auto",...X()]}],"max-block-size":[{"max-block":["none",...X()]}],w:[{w:[d,"screen",...U()]}],"min-w":[{"min-w":[d,"screen","none",...U()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[c]},...U()]}],h:[{h:["screen","lh",...U()]}],"min-h":[{"min-h":["screen","lh","none",...U()]}],"max-h":[{"max-h":["screen","lh",...U()]}],"font-size":[{text:["base",r,Zl,za]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[a,DA,TA]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",vh,ke]}],"font-family":[{font:[OA,AA,t]}],"font-features":[{"font-features":[ke]}],"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:[s,Te,ke]}],"line-clamp":[{"line-clamp":[We,"none",Te,my]}],leading:[{leading:[o,...z()]}],"list-image":[{"list-image":["none",Te,ke]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Te,ke]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...J(),"wavy"]}],"text-decoration-thickness":[{decoration:[We,"from-font","auto",Te,za]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[We,"auto",Te,ke]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:z()}],"tab-size":[{tab:[Fr,Te,ke]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Te,ke]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Te,ke]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:L()}],"bg-repeat":[{bg:F()}],"bg-size":[{bg:D()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Fr,Te,ke],radial:["",Te,ke],conic:[Fr,Te,ke]},jA,MA]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:V()}],"gradient-via-pos":[{via:V()}],"gradient-to-pos":[{to:V()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:q()}],"rounded-s":[{"rounded-s":q()}],"rounded-e":[{"rounded-e":q()}],"rounded-t":[{"rounded-t":q()}],"rounded-r":[{"rounded-r":q()}],"rounded-b":[{"rounded-b":q()}],"rounded-l":[{"rounded-l":q()}],"rounded-ss":[{"rounded-ss":q()}],"rounded-se":[{"rounded-se":q()}],"rounded-ee":[{"rounded-ee":q()}],"rounded-es":[{"rounded-es":q()}],"rounded-tl":[{"rounded-tl":q()}],"rounded-tr":[{"rounded-tr":q()}],"rounded-br":[{"rounded-br":q()}],"rounded-bl":[{"rounded-bl":q()}],"border-w":[{border:Q()}],"border-w-x":[{"border-x":Q()}],"border-w-y":[{"border-y":Q()}],"border-w-s":[{"border-s":Q()}],"border-w-e":[{"border-e":Q()}],"border-w-bs":[{"border-bs":Q()}],"border-w-be":[{"border-be":Q()}],"border-w-t":[{"border-t":Q()}],"border-w-r":[{"border-r":Q()}],"border-w-b":[{"border-b":Q()}],"border-w-l":[{"border-l":Q()}],"divide-x":[{"divide-x":Q()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Q()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...J(),"hidden","none"]}],"divide-style":[{divide:[...J(),"hidden","none"]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-bs":[{"border-bs":M()}],"border-color-be":[{"border-be":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...J(),"none","hidden"]}],"outline-offset":[{"outline-offset":[We,Te,ke]}],"outline-w":[{outline:["",We,Zl,za]}],"outline-color":[{outline:M()}],shadow:[{shadow:["","none",p,tu,eu]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":["none",g,tu,eu]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:Q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[We,za]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":Q()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":["none",b,tu,eu]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[We,Te,ke]}],"mix-blend":[{"mix-blend":[...W(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":W()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[We]}],"mask-image-linear-from-pos":[{"mask-linear-from":te()}],"mask-image-linear-to-pos":[{"mask-linear-to":te()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":te()}],"mask-image-t-to-pos":[{"mask-t-to":te()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":te()}],"mask-image-r-to-pos":[{"mask-r-to":te()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":te()}],"mask-image-b-to-pos":[{"mask-b-to":te()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":te()}],"mask-image-l-to-pos":[{"mask-l-to":te()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":te()}],"mask-image-x-to-pos":[{"mask-x-to":te()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":te()}],"mask-image-y-to-pos":[{"mask-y-to":te()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[Te,ke]}],"mask-image-radial-from-pos":[{"mask-radial-from":te()}],"mask-image-radial-to-pos":[{"mask-radial-to":te()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":A()}],"mask-image-conic-pos":[{"mask-conic":[We]}],"mask-image-conic-from-pos":[{"mask-conic-from":te()}],"mask-image-conic-to-pos":[{"mask-conic-to":te()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:L()}],"mask-repeat":[{mask:F()}],"mask-size":[{mask:D()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Te,ke]}],filter:[{filter:["","none",Te,ke]}],blur:[{blur:oe()}],brightness:[{brightness:[We,Te,ke]}],contrast:[{contrast:[We,Te,ke]}],"drop-shadow":[{"drop-shadow":["","none",y,tu,eu]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:["",We,Te,ke]}],"hue-rotate":[{"hue-rotate":[We,Te,ke]}],invert:[{invert:["",We,Te,ke]}],saturate:[{saturate:[We,Te,ke]}],sepia:[{sepia:["",We,Te,ke]}],"backdrop-filter":[{"backdrop-filter":["","none",Te,ke]}],"backdrop-blur":[{"backdrop-blur":oe()}],"backdrop-brightness":[{"backdrop-brightness":[We,Te,ke]}],"backdrop-contrast":[{"backdrop-contrast":[We,Te,ke]}],"backdrop-grayscale":[{"backdrop-grayscale":["",We,Te,ke]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[We,Te,ke]}],"backdrop-invert":[{"backdrop-invert":["",We,Te,ke]}],"backdrop-opacity":[{"backdrop-opacity":[We,Te,ke]}],"backdrop-saturate":[{"backdrop-saturate":[We,Te,ke]}],"backdrop-sepia":[{"backdrop-sepia":["",We,Te,ke]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":z()}],"border-spacing-x":[{"border-spacing-x":z()}],"border-spacing-y":[{"border-spacing-y":z()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Te,ke]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[We,"initial",Te,ke]}],ease:[{ease:["linear","initial",w,Te,ke]}],delay:[{delay:[We,Te,ke]}],animate:[{animate:["none",C,Te,ke]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[N,Te,ke]}],"perspective-origin":[{"perspective-origin":B()}],rotate:[{rotate:fe()}],"rotate-x":[{"rotate-x":fe()}],"rotate-y":[{"rotate-y":fe()}],"rotate-z":[{"rotate-z":fe()}],scale:[{scale:xe()}],"scale-x":[{"scale-x":xe()}],"scale-y":[{"scale-y":xe()}],"scale-z":[{"scale-z":xe()}],"scale-3d":["scale-3d"],skew:[{skew:we()}],"skew-x":[{"skew-x":we()}],"skew-y":[{"skew-y":we()}],transform:[{transform:[Te,ke,"","none","gpu","cpu"]}],"transform-origin":[{origin:B()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ne()}],"translate-x":[{"translate-x":Ne()}],"translate-y":[{"translate-y":Ne()}],"translate-z":[{"translate-z":Ne()}],"translate-none":["translate-none"],zoom:[{zoom:[Fr,Te,ke]}],accent:[{accent:M()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],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",Te,ke]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":M()}],"scrollbar-track-color":[{"scrollbar-track":M()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":z()}],"scroll-mx":[{"scroll-mx":z()}],"scroll-my":[{"scroll-my":z()}],"scroll-ms":[{"scroll-ms":z()}],"scroll-me":[{"scroll-me":z()}],"scroll-mbs":[{"scroll-mbs":z()}],"scroll-mbe":[{"scroll-mbe":z()}],"scroll-mt":[{"scroll-mt":z()}],"scroll-mr":[{"scroll-mr":z()}],"scroll-mb":[{"scroll-mb":z()}],"scroll-ml":[{"scroll-ml":z()}],"scroll-p":[{"scroll-p":z()}],"scroll-px":[{"scroll-px":z()}],"scroll-py":[{"scroll-py":z()}],"scroll-ps":[{"scroll-ps":z()}],"scroll-pe":[{"scroll-pe":z()}],"scroll-pbs":[{"scroll-pbs":z()}],"scroll-pbe":[{"scroll-pbe":z()}],"scroll-pt":[{"scroll-pt":z()}],"scroll-pr":[{"scroll-pr":z()}],"scroll-pb":[{"scroll-pb":z()}],"scroll-pl":[{"scroll-pl":z()}],"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",Te,ke]}],fill:[{fill:["none",...M()]}],"stroke-w":[{stroke:[We,Zl,za,my]}],stroke:[{stroke:["none",...M()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","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","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","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-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","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-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","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"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","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-pbs","scroll-pbe","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"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},IA=mA(zA);function br(...e){return IA(VT(e))}function BA(e){return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}function Ym(e){const t=new Date(e),a=Math.floor((new Date().getTime()-t.getTime())/1e3);return a<60?"just now":a<3600?`${Math.floor(a/60)}m ago`:a<86400?`${Math.floor(a/3600)}h ago`:a<604800?`${Math.floor(a/86400)}d ago`:BA(e)}function UA(e){return`STRIX-${e}`}function Ls(e){return new Intl.NumberFormat("en-US").format(e)}function HA(e,t){const r={};return(e[e.length-1]===""?[...e,""]:e).join((r.padRight?" ":"")+","+(r.padLeft===!1?"":" ")).trim()}const $A=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,qA=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,PA={};function xy(e,t){return(PA.jsx?qA:$A).test(e)}const FA=/[ \t\n\f\r]/g;function GA(e){return typeof e=="object"?e.type==="text"?by(e.value):!1:by(e)}function by(e){return e.replace(FA,"")===""}class jo{constructor(t,r,a){this.normal=r,this.property=t,a&&(this.space=a)}}jo.prototype.normal={};jo.prototype.property={};jo.prototype.space=void 0;function gw(e,t){const r={},a={};for(const s of e)Object.assign(r,s.property),Object.assign(a,s.normal);return new jo(r,a,t)}function Xm(e){return e.toLowerCase()}class Vn{constructor(t,r){this.attribute=r,this.property=t}}Vn.prototype.attribute="";Vn.prototype.booleanish=!1;Vn.prototype.boolean=!1;Vn.prototype.commaOrSpaceSeparated=!1;Vn.prototype.commaSeparated=!1;Vn.prototype.defined=!1;Vn.prototype.mustUseProperty=!1;Vn.prototype.number=!1;Vn.prototype.overloadedBoolean=!1;Vn.prototype.property="";Vn.prototype.spaceSeparated=!1;Vn.prototype.space=void 0;let VA=0;const Ge=Ja(),sn=Ja(),Km=Ja(),ve=Ja(),Ct=Ja(),qa=Ja(),rr=Ja();function Ja(){return 2**++VA}const Zm=Object.freeze(Object.defineProperty({__proto__:null,boolean:Ge,booleanish:sn,commaOrSpaceSeparated:rr,commaSeparated:qa,number:ve,overloadedBoolean:Km,spaceSeparated:Ct},Symbol.toStringTag,{value:"Module"})),_h=Object.keys(Zm);class Rp extends Vn{constructor(t,r,a,s){let o=-1;if(super(t,r),yy(this,"space",s),typeof a=="number")for(;++o<_h.length;){const c=_h[o];yy(this,_h[o],(a&Zm[c])===Zm[c])}}}Rp.prototype.defined=!0;function yy(e,t,r){r&&(e[t]=r)}function nl(e){const t={},r={};for(const[a,s]of Object.entries(e.properties)){const o=new Rp(a,e.transform(e.attributes||{},a),s,e.space);e.mustUseProperty&&e.mustUseProperty.includes(a)&&(o.mustUseProperty=!0),t[a]=o,r[Xm(a)]=a,r[Xm(o.attribute)]=a}return new jo(t,r,e.space)}const xw=nl({properties:{ariaActiveDescendant:null,ariaAtomic:sn,ariaAutoComplete:null,ariaBusy:sn,ariaChecked:sn,ariaColCount:ve,ariaColIndex:ve,ariaColSpan:ve,ariaControls:Ct,ariaCurrent:null,ariaDescribedBy:Ct,ariaDetails:null,ariaDisabled:sn,ariaDropEffect:Ct,ariaErrorMessage:null,ariaExpanded:sn,ariaFlowTo:Ct,ariaGrabbed:sn,ariaHasPopup:null,ariaHidden:sn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Ct,ariaLevel:ve,ariaLive:null,ariaModal:sn,ariaMultiLine:sn,ariaMultiSelectable:sn,ariaOrientation:null,ariaOwns:Ct,ariaPlaceholder:null,ariaPosInSet:ve,ariaPressed:sn,ariaReadOnly:sn,ariaRelevant:null,ariaRequired:sn,ariaRoleDescription:Ct,ariaRowCount:ve,ariaRowIndex:ve,ariaRowSpan:ve,ariaSelected:sn,ariaSetSize:ve,ariaSort:null,ariaValueMax:ve,ariaValueMin:ve,ariaValueNow:ve,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function bw(e,t){return t in e?e[t]:t}function yw(e,t){return bw(e,t.toLowerCase())}const YA=nl({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:qa,acceptCharset:Ct,accessKey:Ct,action:null,allow:null,allowFullScreen:Ge,allowPaymentRequest:Ge,allowUserMedia:Ge,alpha:Ge,alt:null,as:null,async:Ge,autoCapitalize:null,autoComplete:Ct,autoFocus:Ge,autoPlay:Ge,blocking:Ct,capture:null,charSet:null,checked:Ge,cite:null,className:Ct,closedBy:null,colorSpace:null,cols:ve,colSpan:ve,command:null,commandFor:null,content:null,contentEditable:sn,controls:Ge,controlsList:Ct,coords:ve|qa,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Ge,defer:Ge,dir:null,dirName:null,disabled:Ge,download:Km,draggable:sn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Ge,formTarget:null,headers:Ct,height:ve,hidden:Km,high:ve,href:null,hrefLang:null,htmlFor:Ct,httpEquiv:Ct,id:null,imageSizes:null,imageSrcSet:null,inert:Ge,inputMode:null,integrity:null,is:null,isMap:Ge,itemId:null,itemProp:Ct,itemRef:Ct,itemScope:Ge,itemType:Ct,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Ge,low:ve,manifest:null,max:null,maxLength:ve,media:null,method:null,min:null,minLength:ve,multiple:Ge,muted:Ge,name:null,nonce:null,noModule:Ge,noValidate:Ge,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Ge,optimum:ve,pattern:null,ping:Ct,placeholder:null,playsInline:Ge,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Ge,referrerPolicy:null,rel:Ct,required:Ge,reversed:Ge,rows:ve,rowSpan:ve,sandbox:Ct,scope:null,scoped:Ge,seamless:Ge,selected:Ge,shadowRootClonable:Ge,shadowRootCustomElementRegistry:Ge,shadowRootDelegatesFocus:Ge,shadowRootMode:null,shadowRootSerializable:Ge,shape:null,size:ve,sizes:null,slot:null,span:ve,spellCheck:sn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:ve,step:null,style:null,tabIndex:ve,target:null,title:null,translate:null,type:null,typeMustMatch:Ge,useMap:null,value:sn,width:ve,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Ct,axis:null,background:null,bgColor:null,border:ve,borderColor:null,bottomMargin:ve,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Ge,declare:Ge,event:null,face:null,frame:null,frameBorder:null,hSpace:ve,leftMargin:ve,link:null,longDesc:null,lowSrc:null,marginHeight:ve,marginWidth:ve,noResize:Ge,noHref:Ge,noShade:Ge,noWrap:Ge,object:null,profile:null,prompt:null,rev:null,rightMargin:ve,rules:null,scheme:null,scrolling:sn,standby:null,summary:null,text:null,topMargin:ve,valueType:null,version:null,vAlign:null,vLink:null,vSpace:ve,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:Ge,disablePictureInPicture:Ge,disableRemotePlayback:Ge,exportParts:qa,part:Ct,prefix:null,property:null,results:ve,security:null,unselectable:null},space:"html",transform:yw}),XA=nl({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:rr,accentHeight:ve,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:ve,amplitude:ve,arabicForm:null,ascent:ve,attributeName:null,attributeType:null,azimuth:ve,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:ve,by:null,calcMode:null,capHeight:ve,className:Ct,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:ve,diffuseConstant:ve,direction:null,display:null,dur:null,divisor:ve,dominantBaseline:null,download:Ge,dx:null,dy:null,edgeMode:null,editable:null,elevation:ve,enableBackground:null,end:null,event:null,exponent:ve,externalResourcesRequired:null,fill:null,fillOpacity:ve,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:qa,g2:qa,glyphName:qa,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:ve,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:ve,horizOriginX:ve,horizOriginY:ve,id:null,ideographic:ve,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:ve,k:ve,k1:ve,k2:ve,k3:ve,k4:ve,kernelMatrix:rr,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:ve,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:ve,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:ve,overlineThickness:ve,paintOrder:null,panose1:null,path:null,pathLength:ve,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Ct,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:ve,pointsAtY:ve,pointsAtZ:ve,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:rr,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:rr,rev:rr,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:rr,requiredFeatures:rr,requiredFonts:rr,requiredFormats:rr,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:ve,specularExponent:ve,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:ve,strikethroughThickness:ve,string:null,stroke:null,strokeDashArray:rr,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:ve,strokeOpacity:ve,strokeWidth:null,style:null,surfaceScale:ve,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:rr,tabIndex:ve,tableValues:null,target:null,targetX:ve,targetY:ve,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:rr,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:ve,underlineThickness:ve,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:ve,values:null,vAlphabetic:ve,vMathematical:ve,vectorEffect:null,vHanging:ve,vIdeographic:ve,version:null,vertAdvY:ve,vertOriginX:ve,vertOriginY:ve,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:ve,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:bw}),vw=nl({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),_w=nl({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:yw}),ww=nl({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),KA={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},ZA=/[A-Z]/g,vy=/-[a-z]/g,QA=/^data[-\w.:]+$/i;function WA(e,t){const r=Xm(t);let a=t,s=Vn;if(r in e.normal)return e.property[e.normal[r]];if(r.length>4&&r.slice(0,4)==="data"&&QA.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(vy,eM);a="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!vy.test(o)){let c=o.replace(ZA,JA);c.charAt(0)!=="-"&&(c="-"+c),t="data"+c}}s=Rp}return new s(a,t)}function JA(e){return"-"+e.toLowerCase()}function eM(e){return e.charAt(1).toUpperCase()}const tM=gw([xw,YA,vw,_w,ww],"html"),jp=gw([xw,XA,vw,_w,ww],"svg");function nM(e){return e.join(" ").trim()}var zs={},wh,_y;function rM(){if(_y)return wh;_y=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,r=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,s=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,d=/^\s+|\s+$/g,h=` `,f="/",p="*",g="",b="comment",y="declaration";function _(S,w){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];w=w||{};var C=1,E=1;function A(k){var $=k.match(t);$&&(C+=$.length);var O=k.lastIndexOf(h);E=~O?k.length-O:E+k.length}function B(){var k={line:C,column:E};return function($){return $.position=new R(k),Y(),$}}function R(k){this.start=k,this.end={line:C,column:E},this.source=w.source}R.prototype.content=S;function H(k){var $=new Error(w.source+":"+C+":"+E+": "+k);if($.reason=k,$.filename=w.source,$.line=C,$.column=E,$.source=S,!w.silent)throw $}function z(k){var $=k.exec(S);if($){var O=$[0];return A(O),S=S.slice(O.length),$}}function Y(){z(r)}function j(k){var $;for(k=k||[];$=I();)$!==!1&&k.push($);return k}function I(){var k=B();if(!(f!=S.charAt(0)||p!=S.charAt(1))){for(var $=2;g!=S.charAt($)&&(p!=S.charAt($)||f!=S.charAt($+1));)++$;if($+=2,g===S.charAt($-1))return H("End of comment missing");var O=S.slice(2,$-2);return E+=2,A(O),S=S.slice($),E+=2,k({type:b,comment:O})}}function Z(){var k=B(),$=z(a);if($){if(I(),!z(s))return H("property missing ':'");var O=z(o),U=k({type:y,property:N($[0].replace(e,g)),value:O?N(O[0].replace(e,g)):g});return z(c),U}}function P(){var k=[];j(k);for(var $;$=Z();)$!==!1&&(k.push($),j(k));return k}return Y(),P()}function N(S){return S?S.replace(d,g):g}return wh=_,wh}var wy;function iM(){if(wy)return zs;wy=1;var e=zs&&zs.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(zs,"__esModule",{value:!0}),zs.default=r;const t=e(rM());function r(a,s){let o=null;if(!a||typeof a!="string")return o;const c=(0,t.default)(a),d=typeof s=="function";return c.forEach(h=>{if(h.type!=="declaration")return;const{property:f,value:p}=h;d?s(f,p,h):p&&(o=o||{},o[f]=p)}),o}return zs}var Ql={},Ey;function aM(){if(Ey)return Ql;Ey=1,Object.defineProperty(Ql,"__esModule",{value:!0}),Ql.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,r=/^[^-]+$/,a=/^-(webkit|moz|ms|o|khtml)-/,s=/^-(ms)-/,o=function(f){return!f||r.test(f)||e.test(f)},c=function(f,p){return p.toUpperCase()},d=function(f,p){return"".concat(p,"-")},h=function(f,p){return p===void 0&&(p={}),o(f)?f:(f=f.toLowerCase(),p.reactCompat?f=f.replace(s,d):f=f.replace(a,d),f.replace(t,c))};return Ql.camelCase=h,Ql}var Wl,Ny;function sM(){if(Ny)return Wl;Ny=1;var e=Wl&&Wl.__importDefault||function(s){return s&&s.__esModule?s:{default:s}},t=e(iM()),r=aM();function a(s,o){var c={};return!s||typeof s!="string"||(0,t.default)(s,function(d,h){d&&h&&(c[(0,r.camelCase)(d,o)]=h)}),c}return a.default=a,Wl=a,Wl}var lM=sM();const oM=Mo(lM),Ew=Nw("end"),Dp=Nw("start");function Nw(e){return t;function t(r){const a=r&&r.position&&r.position[e]||{};if(typeof a.line=="number"&&a.line>0&&typeof a.column=="number"&&a.column>0)return{line:a.line,column:a.column,offset:typeof a.offset=="number"&&a.offset>-1?a.offset:void 0}}}function cM(e){const t=Dp(e),r=Ew(e);if(t&&r)return{start:t,end:r}}function oo(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Sy(e.position):"start"in e||"end"in e?Sy(e):"line"in e||"column"in e?Qm(e):""}function Qm(e){return ky(e&&e.line)+":"+ky(e&&e.column)}function Sy(e){return Qm(e&&e.start)+"-"+Qm(e&&e.end)}function ky(e){return e&&typeof e=="number"?e:1}class Mn extends Error{constructor(t,r,a){super(),typeof r=="string"&&(a=r,r=void 0);let s="",o={},c=!1;if(r&&("line"in r&&"column"in r?o={place:r}:"start"in r&&"end"in r?o={place:r}:"type"in r?o={ancestors:[r],place:r.position}:o={...r}),typeof t=="string"?s=t:!o.cause&&t&&(c=!0,s=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof a=="string"){const h=a.indexOf(":");h===-1?o.ruleId=a:(o.source=a.slice(0,h),o.ruleId=a.slice(h+1))}if(!o.place&&o.ancestors&&o.ancestors){const h=o.ancestors[o.ancestors.length-1];h&&(o.place=h.position)}const d=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=d?d.column:void 0,this.fatal=void 0,this.file="",this.message=s,this.line=d?d.line:void 0,this.name=oo(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=c&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Mn.prototype.file="";Mn.prototype.name="";Mn.prototype.reason="";Mn.prototype.message="";Mn.prototype.stack="";Mn.prototype.column=void 0;Mn.prototype.line=void 0;Mn.prototype.ancestors=void 0;Mn.prototype.cause=void 0;Mn.prototype.fatal=void 0;Mn.prototype.place=void 0;Mn.prototype.ruleId=void 0;Mn.prototype.source=void 0;const Lp={}.hasOwnProperty,uM=new Map,dM=/[A-Z]/g,fM=new Set(["table","tbody","thead","tfoot","tr"]),hM=new Set(["td","th"]),Sw="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function mM(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const r=t.filePath||void 0;let a;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");a=wM(r,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");a=_M(r,t.jsx,t.jsxs)}const s={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:a,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:r,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?jp:tM,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},o=kw(s,e,void 0);return o&&typeof o!="string"?o:s.create(e,s.Fragment,{children:o||void 0},void 0)}function kw(e,t,r){if(t.type==="element")return pM(e,t,r);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return gM(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return bM(e,t,r);if(t.type==="mdxjsEsm")return xM(e,t);if(t.type==="root")return yM(e,t,r);if(t.type==="text")return vM(e,t)}function pM(e,t,r){const a=e.schema;let s=a;t.tagName.toLowerCase()==="svg"&&a.space==="html"&&(s=jp,e.schema=s),e.ancestors.push(t);const o=Tw(e,t.tagName,!1),c=EM(e,t);let d=Ip(e,t);return fM.has(t.tagName)&&(d=d.filter(function(h){return typeof h=="string"?!GA(h):!0})),Cw(e,c,o,t),zp(c,d),e.ancestors.pop(),e.schema=a,e.create(t,o,c,r)}function gM(e,t){if(t.data&&t.data.estree&&e.evaluater){const a=t.data.estree.body[0];return a.type,e.evaluater.evaluateExpression(a.expression)}xo(e,t.position)}function xM(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);xo(e,t.position)}function bM(e,t,r){const a=e.schema;let s=a;t.name==="svg"&&a.space==="html"&&(s=jp,e.schema=s),e.ancestors.push(t);const o=t.name===null?e.Fragment:Tw(e,t.name,!0),c=NM(e,t),d=Ip(e,t);return Cw(e,c,o,t),zp(c,d),e.ancestors.pop(),e.schema=a,e.create(t,o,c,r)}function yM(e,t,r){const a={};return zp(a,Ip(e,t)),e.create(t,e.Fragment,a,r)}function vM(e,t){return t.value}function Cw(e,t,r,a){typeof r!="string"&&r!==e.Fragment&&e.passNode&&(t.node=a)}function zp(e,t){if(t.length>0){const r=t.length>1?t:t[0];r&&(e.children=r)}}function _M(e,t,r){return a;function a(s,o,c,d){const f=Array.isArray(c.children)?r:t;return d?f(o,c,d):f(o,c)}}function wM(e,t){return r;function r(a,s,o,c){const d=Array.isArray(o.children),h=Dp(a);return t(s,o,c,d,{columnNumber:h?h.column-1:void 0,fileName:e,lineNumber:h?h.line:void 0},void 0)}}function EM(e,t){const r={};let a,s;for(s in t.properties)if(s!=="children"&&Lp.call(t.properties,s)){const o=SM(e,s,t.properties[s]);if(o){const[c,d]=o;e.tableCellAlignToStyle&&c==="align"&&typeof d=="string"&&hM.has(t.tagName)?a=d:r[c]=d}}if(a){const o=r.style||(r.style={});o[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=a}return r}function NM(e,t){const r={};for(const a of t.attributes)if(a.type==="mdxJsxExpressionAttribute")if(a.data&&a.data.estree&&e.evaluater){const o=a.data.estree.body[0];o.type;const c=o.expression;c.type;const d=c.properties[0];d.type,Object.assign(r,e.evaluater.evaluateExpression(d.argument))}else xo(e,t.position);else{const s=a.name;let o;if(a.value&&typeof a.value=="object")if(a.value.data&&a.value.data.estree&&e.evaluater){const d=a.value.data.estree.body[0];d.type,o=e.evaluater.evaluateExpression(d.expression)}else xo(e,t.position);else o=a.value===null?!0:a.value;r[s]=o}return r}function Ip(e,t){const r=[];let a=-1;const s=e.passKeys?new Map:uM;for(;++as?0:s+t:t=t>s?s:t,r=r>0?r:0,a.length<1e4)c=Array.from(a),c.unshift(t,r),e.splice(...c);else for(r&&e.splice(t,r);o0?(ar(e,e.length,0,t),e):t}const Ay={}.hasOwnProperty;function Mw(e){const t={};let r=-1;for(;++r13&&r<32||r>126&&r<160||r>55295&&r<57344||r>64975&&r<65008||(r&65535)===65535||(r&65535)===65534||r>1114111?"�":String.fromCodePoint(r)}function Dr(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Ln=pa(/[A-Za-z]/),An=pa(/[\dA-Za-z]/),DM=pa(/[#-'*+\--9=?A-Z^-~]/);function ku(e){return e!==null&&(e<32||e===127)}const Wm=pa(/\d/),LM=pa(/[\dA-Fa-f]/),zM=pa(/[!-/:-@[-`{-~]/);function Be(e){return e!==null&&e<-2}function Tt(e){return e!==null&&(e<0||e===32)}function tt(e){return e===-2||e===-1||e===32}const Xu=pa(new RegExp("\\p{P}|\\p{S}","u")),Va=pa(/\s/);function pa(e){return t;function t(r){return r!==null&&r>-1&&e.test(String.fromCharCode(r))}}function rl(e){const t=[];let r=-1,a=0,s=0;for(;++r55295&&o<57344){const d=e.charCodeAt(r+1);o<56320&&d>56319&&d<57344?(c=String.fromCharCode(o,d),s=1):c="�"}else c=String.fromCharCode(o);c&&(t.push(e.slice(a,r),encodeURIComponent(c)),a=r+s+1,c=""),s&&(r+=s,s=0)}return t.join("")+e.slice(a)}function ot(e,t,r,a){const s=a?a-1:Number.POSITIVE_INFINITY;let o=0;return c;function c(h){return tt(h)?(e.enter(r),d(h)):t(h)}function d(h){return tt(h)&&o++c))return;const H=t.events.length;let z=H,Y,j;for(;z--;)if(t.events[z][0]==="exit"&&t.events[z][1].type==="chunkFlow"){if(Y){j=t.events[z][1].end;break}Y=!0}for(w(a),R=H;RE;){const B=r[A];t.containerState=B[1],B[0].exit.call(t,e)}r.length=E}function C(){s.write([null]),o=void 0,s=void 0,t.containerState._closeFlow=void 0}}function $M(e,t,r){return ot(e,e.attempt(this.parser.constructs.document,t,r),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Xs(e){if(e===null||Tt(e)||Va(e))return 1;if(Xu(e))return 2}function Ku(e,t,r){const a=[];let s=-1;for(;++s1&&e[r][1].end.offset-e[r][1].start.offset>1?2:1;const g={...e[a][1].end},b={...e[r][1].start};Oy(g,-h),Oy(b,h),c={type:h>1?"strongSequence":"emphasisSequence",start:g,end:{...e[a][1].end}},d={type:h>1?"strongSequence":"emphasisSequence",start:{...e[r][1].start},end:b},o={type:h>1?"strongText":"emphasisText",start:{...e[a][1].end},end:{...e[r][1].start}},s={type:h>1?"strong":"emphasis",start:{...c.start},end:{...d.end}},e[a][1].end={...c.start},e[r][1].start={...d.end},f=[],e[a][1].end.offset-e[a][1].start.offset&&(f=xr(f,[["enter",e[a][1],t],["exit",e[a][1],t]])),f=xr(f,[["enter",s,t],["enter",c,t],["exit",c,t],["enter",o,t]]),f=xr(f,Ku(t.parser.constructs.insideSpan.null,e.slice(a+1,r),t)),f=xr(f,[["exit",o,t],["enter",d,t],["exit",d,t],["exit",s,t]]),e[r][1].end.offset-e[r][1].start.offset?(p=2,f=xr(f,[["enter",e[r][1],t],["exit",e[r][1],t]])):p=0,ar(e,a-1,r-a+3,f),r=a+f.length-p-2;break}}for(r=-1;++r0&&tt(R)?ot(e,C,"linePrefix",o+1)(R):C(R)}function C(R){return R===null||Be(R)?e.check(Ry,N,A)(R):(e.enter("codeFlowValue"),E(R))}function E(R){return R===null||Be(R)?(e.exit("codeFlowValue"),C(R)):(e.consume(R),E)}function A(R){return e.exit("codeFenced"),t(R)}function B(R,H,z){let Y=0;return j;function j($){return R.enter("lineEnding"),R.consume($),R.exit("lineEnding"),I}function I($){return R.enter("codeFencedFence"),tt($)?ot(R,Z,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)($):Z($)}function Z($){return $===d?(R.enter("codeFencedFenceSequence"),P($)):z($)}function P($){return $===d?(Y++,R.consume($),P):Y>=c?(R.exit("codeFencedFenceSequence"),tt($)?ot(R,k,"whitespace")($):k($)):z($)}function k($){return $===null||Be($)?(R.exit("codeFencedFence"),H($)):z($)}}}function JM(e,t,r){const a=this;return s;function s(c){return c===null?r(c):(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),o)}function o(c){return a.parser.lazy[a.now().line]?r(c):t(c)}}const Nh={name:"codeIndented",tokenize:t5},e5={partial:!0,tokenize:n5};function t5(e,t,r){const a=this;return s;function s(f){return e.enter("codeIndented"),ot(e,o,"linePrefix",5)(f)}function o(f){const p=a.events[a.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?c(f):r(f)}function c(f){return f===null?h(f):Be(f)?e.attempt(e5,c,h)(f):(e.enter("codeFlowValue"),d(f))}function d(f){return f===null||Be(f)?(e.exit("codeFlowValue"),c(f)):(e.consume(f),d)}function h(f){return e.exit("codeIndented"),t(f)}}function n5(e,t,r){const a=this;return s;function s(c){return a.parser.lazy[a.now().line]?r(c):Be(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),s):ot(e,o,"linePrefix",5)(c)}function o(c){const d=a.events[a.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?t(c):Be(c)?s(c):r(c)}}const r5={name:"codeText",previous:a5,resolve:i5,tokenize:s5};function i5(e){let t=e.length-4,r=3,a,s;if((e[r][1].type==="lineEnding"||e[r][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(a=r;++a=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-a+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-a+this.left.length).reverse())}splice(t,r,a){const s=r||0;this.setCursor(Math.trunc(t));const o=this.right.splice(this.right.length-s,Number.POSITIVE_INFINITY);return a&&Jl(this.left,a),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Jl(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Jl(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(c):e.interrupt(a.parser.constructs.flow,r,t)(c)}}function zw(e,t,r,a,s,o,c,d,h){const f=h||Number.POSITIVE_INFINITY;let p=0;return g;function g(w){return w===60?(e.enter(a),e.enter(s),e.enter(o),e.consume(w),e.exit(o),b):w===null||w===32||w===41||ku(w)?r(w):(e.enter(a),e.enter(c),e.enter(d),e.enter("chunkString",{contentType:"string"}),N(w))}function b(w){return w===62?(e.enter(o),e.consume(w),e.exit(o),e.exit(s),e.exit(a),t):(e.enter(d),e.enter("chunkString",{contentType:"string"}),y(w))}function y(w){return w===62?(e.exit("chunkString"),e.exit(d),b(w)):w===null||w===60||Be(w)?r(w):(e.consume(w),w===92?_:y)}function _(w){return w===60||w===62||w===92?(e.consume(w),y):y(w)}function N(w){return!p&&(w===null||w===41||Tt(w))?(e.exit("chunkString"),e.exit(d),e.exit(c),e.exit(a),t(w)):p999||y===null||y===91||y===93&&!h||y===94&&!d&&"_hiddenFootnoteSupport"in c.parser.constructs?r(y):y===93?(e.exit(o),e.enter(s),e.consume(y),e.exit(s),e.exit(a),t):Be(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),p):(e.enter("chunkString",{contentType:"string"}),g(y))}function g(y){return y===null||y===91||y===93||Be(y)||d++>999?(e.exit("chunkString"),p(y)):(e.consume(y),h||(h=!tt(y)),y===92?b:g)}function b(y){return y===91||y===92||y===93?(e.consume(y),d++,g):g(y)}}function Bw(e,t,r,a,s,o){let c;return d;function d(b){return b===34||b===39||b===40?(e.enter(a),e.enter(s),e.consume(b),e.exit(s),c=b===40?41:b,h):r(b)}function h(b){return b===c?(e.enter(s),e.consume(b),e.exit(s),e.exit(a),t):(e.enter(o),f(b))}function f(b){return b===c?(e.exit(o),h(c)):b===null?r(b):Be(b)?(e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),ot(e,f,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),p(b))}function p(b){return b===c||b===null||Be(b)?(e.exit("chunkString"),f(b)):(e.consume(b),b===92?g:p)}function g(b){return b===c||b===92?(e.consume(b),p):p(b)}}function co(e,t){let r;return a;function a(s){return Be(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),r=!0,a):tt(s)?ot(e,a,r?"linePrefix":"lineSuffix")(s):t(s)}}const m5={name:"definition",tokenize:g5},p5={partial:!0,tokenize:x5};function g5(e,t,r){const a=this;let s;return o;function o(y){return e.enter("definition"),c(y)}function c(y){return Iw.call(a,e,d,r,"definitionLabel","definitionLabelMarker","definitionLabelString")(y)}function d(y){return s=Dr(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)),y===58?(e.enter("definitionMarker"),e.consume(y),e.exit("definitionMarker"),h):r(y)}function h(y){return Tt(y)?co(e,f)(y):f(y)}function f(y){return zw(e,p,r,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(y)}function p(y){return e.attempt(p5,g,g)(y)}function g(y){return tt(y)?ot(e,b,"whitespace")(y):b(y)}function b(y){return y===null||Be(y)?(e.exit("definition"),a.parser.defined.push(s),t(y)):r(y)}}function x5(e,t,r){return a;function a(d){return Tt(d)?co(e,s)(d):r(d)}function s(d){return Bw(e,o,r,"definitionTitle","definitionTitleMarker","definitionTitleString")(d)}function o(d){return tt(d)?ot(e,c,"whitespace")(d):c(d)}function c(d){return d===null||Be(d)?t(d):r(d)}}const b5={name:"hardBreakEscape",tokenize:y5};function y5(e,t,r){return a;function a(o){return e.enter("hardBreakEscape"),e.consume(o),s}function s(o){return Be(o)?(e.exit("hardBreakEscape"),t(o)):r(o)}}const v5={name:"headingAtx",resolve:_5,tokenize:w5};function _5(e,t){let r=e.length-2,a=3,s,o;return e[a][1].type==="whitespace"&&(a+=2),r-2>a&&e[r][1].type==="whitespace"&&(r-=2),e[r][1].type==="atxHeadingSequence"&&(a===r-1||r-4>a&&e[r-2][1].type==="whitespace")&&(r-=a+1===r?2:4),r>a&&(s={type:"atxHeadingText",start:e[a][1].start,end:e[r][1].end},o={type:"chunkText",start:e[a][1].start,end:e[r][1].end,contentType:"text"},ar(e,a,r-a+1,[["enter",s,t],["enter",o,t],["exit",o,t],["exit",s,t]])),e}function w5(e,t,r){let a=0;return s;function s(p){return e.enter("atxHeading"),o(p)}function o(p){return e.enter("atxHeadingSequence"),c(p)}function c(p){return p===35&&a++<6?(e.consume(p),c):p===null||Tt(p)?(e.exit("atxHeadingSequence"),d(p)):r(p)}function d(p){return p===35?(e.enter("atxHeadingSequence"),h(p)):p===null||Be(p)?(e.exit("atxHeading"),t(p)):tt(p)?ot(e,d,"whitespace")(p):(e.enter("atxHeadingText"),f(p))}function h(p){return p===35?(e.consume(p),h):(e.exit("atxHeadingSequence"),d(p))}function f(p){return p===null||p===35||Tt(p)?(e.exit("atxHeadingText"),d(p)):(e.consume(p),f)}}const E5=["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"],Dy=["pre","script","style","textarea"],N5={concrete:!0,name:"htmlFlow",resolveTo:C5,tokenize:T5},S5={partial:!0,tokenize:M5},k5={partial:!0,tokenize:A5};function C5(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function T5(e,t,r){const a=this;let s,o,c,d,h;return f;function f(D){return p(D)}function p(D){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(D),g}function g(D){return D===33?(e.consume(D),b):D===47?(e.consume(D),o=!0,N):D===63?(e.consume(D),s=3,a.interrupt?t:M):Ln(D)?(e.consume(D),c=String.fromCharCode(D),S):r(D)}function b(D){return D===45?(e.consume(D),s=2,y):D===91?(e.consume(D),s=5,d=0,_):Ln(D)?(e.consume(D),s=4,a.interrupt?t:M):r(D)}function y(D){return D===45?(e.consume(D),a.interrupt?t:M):r(D)}function _(D){const V="CDATA[";return D===V.charCodeAt(d++)?(e.consume(D),d===V.length?a.interrupt?t:Z:_):r(D)}function N(D){return Ln(D)?(e.consume(D),c=String.fromCharCode(D),S):r(D)}function S(D){if(D===null||D===47||D===62||Tt(D)){const V=D===47,q=c.toLowerCase();return!V&&!o&&Dy.includes(q)?(s=1,a.interrupt?t(D):Z(D)):E5.includes(c.toLowerCase())?(s=6,V?(e.consume(D),w):a.interrupt?t(D):Z(D)):(s=7,a.interrupt&&!a.parser.lazy[a.now().line]?r(D):o?C(D):E(D))}return D===45||An(D)?(e.consume(D),c+=String.fromCharCode(D),S):r(D)}function w(D){return D===62?(e.consume(D),a.interrupt?t:Z):r(D)}function C(D){return tt(D)?(e.consume(D),C):j(D)}function E(D){return D===47?(e.consume(D),j):D===58||D===95||Ln(D)?(e.consume(D),A):tt(D)?(e.consume(D),E):j(D)}function A(D){return D===45||D===46||D===58||D===95||An(D)?(e.consume(D),A):B(D)}function B(D){return D===61?(e.consume(D),R):tt(D)?(e.consume(D),B):E(D)}function R(D){return D===null||D===60||D===61||D===62||D===96?r(D):D===34||D===39?(e.consume(D),h=D,H):tt(D)?(e.consume(D),R):z(D)}function H(D){return D===h?(e.consume(D),h=null,Y):D===null||Be(D)?r(D):(e.consume(D),H)}function z(D){return D===null||D===34||D===39||D===47||D===60||D===61||D===62||D===96||Tt(D)?B(D):(e.consume(D),z)}function Y(D){return D===47||D===62||tt(D)?E(D):r(D)}function j(D){return D===62?(e.consume(D),I):r(D)}function I(D){return D===null||Be(D)?Z(D):tt(D)?(e.consume(D),I):r(D)}function Z(D){return D===45&&s===2?(e.consume(D),O):D===60&&s===1?(e.consume(D),U):D===62&&s===4?(e.consume(D),L):D===63&&s===3?(e.consume(D),M):D===93&&s===5?(e.consume(D),X):Be(D)&&(s===6||s===7)?(e.exit("htmlFlowData"),e.check(S5,F,P)(D)):D===null||Be(D)?(e.exit("htmlFlowData"),P(D)):(e.consume(D),Z)}function P(D){return e.check(k5,k,F)(D)}function k(D){return e.enter("lineEnding"),e.consume(D),e.exit("lineEnding"),$}function $(D){return D===null||Be(D)?P(D):(e.enter("htmlFlowData"),Z(D))}function O(D){return D===45?(e.consume(D),M):Z(D)}function U(D){return D===47?(e.consume(D),c="",K):Z(D)}function K(D){if(D===62){const V=c.toLowerCase();return Dy.includes(V)?(e.consume(D),L):Z(D)}return Ln(D)&&c.length<8?(e.consume(D),c+=String.fromCharCode(D),K):Z(D)}function X(D){return D===93?(e.consume(D),M):Z(D)}function M(D){return D===62?(e.consume(D),L):D===45&&s===2?(e.consume(D),M):Z(D)}function L(D){return D===null||Be(D)?(e.exit("htmlFlowData"),F(D)):(e.consume(D),L)}function F(D){return e.exit("htmlFlow"),t(D)}}function A5(e,t,r){const a=this;return s;function s(c){return Be(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),o):r(c)}function o(c){return a.parser.lazy[a.now().line]?r(c):t(c)}}function M5(e,t,r){return a;function a(s){return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),e.attempt(Do,t,r)}}const O5={name:"htmlText",tokenize:R5};function R5(e,t,r){const a=this;let s,o,c;return d;function d(M){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(M),h}function h(M){return M===33?(e.consume(M),f):M===47?(e.consume(M),B):M===63?(e.consume(M),E):Ln(M)?(e.consume(M),z):r(M)}function f(M){return M===45?(e.consume(M),p):M===91?(e.consume(M),o=0,_):Ln(M)?(e.consume(M),C):r(M)}function p(M){return M===45?(e.consume(M),y):r(M)}function g(M){return M===null?r(M):M===45?(e.consume(M),b):Be(M)?(c=g,U(M)):(e.consume(M),g)}function b(M){return M===45?(e.consume(M),y):g(M)}function y(M){return M===62?O(M):M===45?b(M):g(M)}function _(M){const L="CDATA[";return M===L.charCodeAt(o++)?(e.consume(M),o===L.length?N:_):r(M)}function N(M){return M===null?r(M):M===93?(e.consume(M),S):Be(M)?(c=N,U(M)):(e.consume(M),N)}function S(M){return M===93?(e.consume(M),w):N(M)}function w(M){return M===62?O(M):M===93?(e.consume(M),w):N(M)}function C(M){return M===null||M===62?O(M):Be(M)?(c=C,U(M)):(e.consume(M),C)}function E(M){return M===null?r(M):M===63?(e.consume(M),A):Be(M)?(c=E,U(M)):(e.consume(M),E)}function A(M){return M===62?O(M):E(M)}function B(M){return Ln(M)?(e.consume(M),R):r(M)}function R(M){return M===45||An(M)?(e.consume(M),R):H(M)}function H(M){return Be(M)?(c=H,U(M)):tt(M)?(e.consume(M),H):O(M)}function z(M){return M===45||An(M)?(e.consume(M),z):M===47||M===62||Tt(M)?Y(M):r(M)}function Y(M){return M===47?(e.consume(M),O):M===58||M===95||Ln(M)?(e.consume(M),j):Be(M)?(c=Y,U(M)):tt(M)?(e.consume(M),Y):O(M)}function j(M){return M===45||M===46||M===58||M===95||An(M)?(e.consume(M),j):I(M)}function I(M){return M===61?(e.consume(M),Z):Be(M)?(c=I,U(M)):tt(M)?(e.consume(M),I):Y(M)}function Z(M){return M===null||M===60||M===61||M===62||M===96?r(M):M===34||M===39?(e.consume(M),s=M,P):Be(M)?(c=Z,U(M)):tt(M)?(e.consume(M),Z):(e.consume(M),k)}function P(M){return M===s?(e.consume(M),s=void 0,$):M===null?r(M):Be(M)?(c=P,U(M)):(e.consume(M),P)}function k(M){return M===null||M===34||M===39||M===60||M===61||M===96?r(M):M===47||M===62||Tt(M)?Y(M):(e.consume(M),k)}function $(M){return M===47||M===62||Tt(M)?Y(M):r(M)}function O(M){return M===62?(e.consume(M),e.exit("htmlTextData"),e.exit("htmlText"),t):r(M)}function U(M){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),K}function K(M){return tt(M)?ot(e,X,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):X(M)}function X(M){return e.enter("htmlTextData"),c(M)}}const Hp={name:"labelEnd",resolveAll:z5,resolveTo:I5,tokenize:B5},j5={tokenize:U5},D5={tokenize:H5},L5={tokenize:$5};function z5(e){let t=-1;const r=[];for(;++t=3&&(f===null||Be(f))?(e.exit("thematicBreak"),t(f)):r(f)}function h(f){return f===s?(e.consume(f),a++,h):(e.exit("thematicBreakSequence"),tt(f)?ot(e,d,"whitespace")(f):d(f))}}const Fn={continuation:{tokenize:Q5},exit:J5,name:"list",tokenize:Z5},X5={partial:!0,tokenize:eO},K5={partial:!0,tokenize:W5};function Z5(e,t,r){const a=this,s=a.events[a.events.length-1];let o=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0,c=0;return d;function d(y){const _=a.containerState.type||(y===42||y===43||y===45?"listUnordered":"listOrdered");if(_==="listUnordered"?!a.containerState.marker||y===a.containerState.marker:Wm(y)){if(a.containerState.type||(a.containerState.type=_,e.enter(_,{_container:!0})),_==="listUnordered")return e.enter("listItemPrefix"),y===42||y===45?e.check(bu,r,f)(y):f(y);if(!a.interrupt||y===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),h(y)}return r(y)}function h(y){return Wm(y)&&++c<10?(e.consume(y),h):(!a.interrupt||c<2)&&(a.containerState.marker?y===a.containerState.marker:y===41||y===46)?(e.exit("listItemValue"),f(y)):r(y)}function f(y){return e.enter("listItemMarker"),e.consume(y),e.exit("listItemMarker"),a.containerState.marker=a.containerState.marker||y,e.check(Do,a.interrupt?r:p,e.attempt(X5,b,g))}function p(y){return a.containerState.initialBlankLine=!0,o++,b(y)}function g(y){return tt(y)?(e.enter("listItemPrefixWhitespace"),e.consume(y),e.exit("listItemPrefixWhitespace"),b):r(y)}function b(y){return a.containerState.size=o+a.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(y)}}function Q5(e,t,r){const a=this;return a.containerState._closeFlow=void 0,e.check(Do,s,o);function s(d){return a.containerState.furtherBlankLines=a.containerState.furtherBlankLines||a.containerState.initialBlankLine,ot(e,t,"listItemIndent",a.containerState.size+1)(d)}function o(d){return a.containerState.furtherBlankLines||!tt(d)?(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,c(d)):(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,e.attempt(K5,t,c)(d))}function c(d){return a.containerState._closeFlow=!0,a.interrupt=void 0,ot(e,e.attempt(Fn,t,r),"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(d)}}function W5(e,t,r){const a=this;return ot(e,s,"listItemIndent",a.containerState.size+1);function s(o){const c=a.events[a.events.length-1];return c&&c[1].type==="listItemIndent"&&c[2].sliceSerialize(c[1],!0).length===a.containerState.size?t(o):r(o)}}function J5(e){e.exit(this.containerState.type)}function eO(e,t,r){const a=this;return ot(e,s,"listItemPrefixWhitespace",a.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function s(o){const c=a.events[a.events.length-1];return!tt(o)&&c&&c[1].type==="listItemPrefixWhitespace"?t(o):r(o)}}const Ly={name:"setextUnderline",resolveTo:tO,tokenize:nO};function tO(e,t){let r=e.length,a,s,o;for(;r--;)if(e[r][0]==="enter"){if(e[r][1].type==="content"){a=r;break}e[r][1].type==="paragraph"&&(s=r)}else e[r][1].type==="content"&&e.splice(r,1),!o&&e[r][1].type==="definition"&&(o=r);const c={type:"setextHeading",start:{...e[a][1].start},end:{...e[e.length-1][1].end}};return e[s][1].type="setextHeadingText",o?(e.splice(s,0,["enter",c,t]),e.splice(o+1,0,["exit",e[a][1],t]),e[a][1].end={...e[o][1].end}):e[a][1]=c,e.push(["exit",c,t]),e}function nO(e,t,r){const a=this;let s;return o;function o(f){let p=a.events.length,g;for(;p--;)if(a.events[p][1].type!=="lineEnding"&&a.events[p][1].type!=="linePrefix"&&a.events[p][1].type!=="content"){g=a.events[p][1].type==="paragraph";break}return!a.parser.lazy[a.now().line]&&(a.interrupt||g)?(e.enter("setextHeadingLine"),s=f,c(f)):r(f)}function c(f){return e.enter("setextHeadingLineSequence"),d(f)}function d(f){return f===s?(e.consume(f),d):(e.exit("setextHeadingLineSequence"),tt(f)?ot(e,h,"lineSuffix")(f):h(f))}function h(f){return f===null||Be(f)?(e.exit("setextHeadingLine"),t(f)):r(f)}}const rO={tokenize:iO};function iO(e){const t=this,r=e.attempt(Do,a,e.attempt(this.parser.constructs.flowInitial,s,ot(e,e.attempt(this.parser.constructs.flow,s,e.attempt(c5,s)),"linePrefix")));return r;function a(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,r}function s(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,r}}const aO={resolveAll:Hw()},sO=Uw("string"),lO=Uw("text");function Uw(e){return{resolveAll:Hw(e==="text"?oO:void 0),tokenize:t};function t(r){const a=this,s=this.parser.constructs[e],o=r.attempt(s,c,d);return c;function c(p){return f(p)?o(p):d(p)}function d(p){if(p===null){r.consume(p);return}return r.enter("data"),r.consume(p),h}function h(p){return f(p)?(r.exit("data"),o(p)):(r.consume(p),h)}function f(p){if(p===null)return!0;const g=s[p];let b=-1;if(g)for(;++b-1){const d=c[0];typeof d=="string"?c[0]=d.slice(a):c.shift()}o>0&&c.push(e[s].slice(0,o))}return c}function _O(e,t){let r=-1;const a=[];let s;for(;++r0){const cn=Oe.tokenStack[Oe.tokenStack.length-1];(cn[1]||Iy).call(Oe,void 0,cn[0])}for(be.position={start:aa(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:aa(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ze=-1;++Ze0){const cn=Oe.tokenStack[Oe.tokenStack.length-1];(cn[1]||Iy).call(Oe,void 0,cn[0])}for(be.position={start:aa(ue.length>0?ue[0][1].start:{line:1,column:1,offset:0}),end:aa(ue.length>0?ue[ue.length-2][1].end:{line:1,column:1,offset:0})},Ze=-1;++Ze0&&(a.className=["language-"+s[0]]);let o={type:"element",tagName:"code",properties:a,children:[{type:"text",value:r}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:"element",tagName:"pre",properties:{},children:[o]},e.patch(t,o),o}function LO(e,t){const r={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function zO(e,t){const r={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function IO(e,t){const r=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",a=String(t.identifier).toUpperCase(),s=rl(a.toLowerCase()),o=e.footnoteOrder.indexOf(a);let c,d=e.footnoteCounts.get(a);d===void 0?(d=0,e.footnoteOrder.push(a),c=e.footnoteOrder.length):c=o+1,d+=1,e.footnoteCounts.set(a,d);const h={type:"element",tagName:"a",properties:{href:"#"+r+"fn-"+s,id:r+"fnref-"+s+(d>1?"-"+d:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(c)}]};e.patch(t,h);const f={type:"element",tagName:"sup",properties:{},children:[h]};return e.patch(t,f),e.applyData(t,f)}function BO(e,t){const r={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function UO(e,t){if(e.options.allowDangerousHtml){const r={type:"raw",value:t.value};return e.patch(t,r),e.applyData(t,r)}}function Pw(e,t){const r=t.referenceType;let a="]";if(r==="collapsed"?a+="[]":r==="full"&&(a+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+a}];const s=e.all(t),o=s[0];o&&o.type==="text"?o.value="["+o.value:s.unshift({type:"text",value:"["});const c=s[s.length-1];return c&&c.type==="text"?c.value+=a:s.push({type:"text",value:a}),s}function HO(e,t){const r=String(t.identifier).toUpperCase(),a=e.definitionById.get(r);if(!a)return Pw(e,t);const s={src:rl(a.url||""),alt:t.alt};a.title!==null&&a.title!==void 0&&(s.title=a.title);const o={type:"element",tagName:"img",properties:s,children:[]};return e.patch(t,o),e.applyData(t,o)}function $O(e,t){const r={src:rl(t.url)};t.alt!==null&&t.alt!==void 0&&(r.alt=t.alt),t.title!==null&&t.title!==void 0&&(r.title=t.title);const a={type:"element",tagName:"img",properties:r,children:[]};return e.patch(t,a),e.applyData(t,a)}function qO(e,t){const r={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,r);const a={type:"element",tagName:"code",properties:{},children:[r]};return e.patch(t,a),e.applyData(t,a)}function PO(e,t){const r=String(t.identifier).toUpperCase(),a=e.definitionById.get(r);if(!a)return Pw(e,t);const s={href:rl(a.url||"")};a.title!==null&&a.title!==void 0&&(s.title=a.title);const o={type:"element",tagName:"a",properties:s,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)}function FO(e,t){const r={href:rl(t.url)};t.title!==null&&t.title!==void 0&&(r.title=t.title);const a={type:"element",tagName:"a",properties:r,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function GO(e,t,r){const a=e.all(t),s=r?VO(r):Fw(t),o={},c=[];if(typeof t.checked=="boolean"){const p=a[0];let g;p&&p.type==="element"&&p.tagName==="p"?g=p:(g={type:"element",tagName:"p",properties:{},children:[]},a.unshift(g)),g.children.length>0&&g.children.unshift({type:"text",value:" "}),g.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let d=-1;for(;++d",...h.current()})),f+=h.move(">")):(d=r.enter("destinationRaw"),f+=h.move(r.safe(e.url,{before:f,after:e.title?" ":")",...h.current()}))),d(),e.title&&(d=r.enter(`title${o}`),f+=h.move(" "+s),f+=h.move(r.safe(e.title,{before:f,after:s,...h.current()})),f+=h.move(s),d()),f+=h.move(")"),c(),f}function W3(){return"!"}aE.peek=J3;function aE(e,t,r,a){const s=e.referenceType,o=r.enter("imageReference");let c=r.enter("label");const d=r.createTracker(a);let h=d.move("![");const f=r.safe(e.alt,{before:h,after:"]",...d.current()});h+=d.move(f+"]["),c();const p=r.stack;r.stack=[],c=r.enter("reference");const g=r.safe(r.associationId(e),{before:h,after:"]",...d.current()});return c(),r.stack=p,o(),s==="full"||!f||f!==g?h+=d.move(g+"]"):s==="shortcut"?h=h.slice(0,-1):h+=d.move("]"),h}function J3(){return"!"}sE.peek=e4;function sE(e,t,r){let a=e.value||"",s="`",o=-1;for(;new RegExp("(^|[^`])"+s+"([^`]|$)").test(a);)s+="`";for(/[^ \r\n]/.test(a)&&(/^[ \r\n]/.test(a)&&/[ \r\n]$/.test(a)||/^`|`$/.test(a))&&(a=" "+a+" ");++o\u007F]/.test(e.url))}oE.peek=t4;function oE(e,t,r,a){const s=Xp(r),o=s==='"'?"Quote":"Apostrophe",c=r.createTracker(a);let d,h;if(lE(e,r)){const p=r.stack;r.stack=[],d=r.enter("autolink");let g=c.move("<");return g+=c.move(r.containerPhrasing(e,{before:g,after:">",...c.current()})),g+=c.move(">"),d(),r.stack=p,g}d=r.enter("link"),h=r.enter("label");let f=c.move("[");return f+=c.move(r.containerPhrasing(e,{before:f,after:"](",...c.current()})),f+=c.move("]("),h(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(h=r.enter("destinationLiteral"),f+=c.move("<"),f+=c.move(r.safe(e.url,{before:f,after:">",...c.current()})),f+=c.move(">")):(h=r.enter("destinationRaw"),f+=c.move(r.safe(e.url,{before:f,after:e.title?" ":")",...c.current()}))),h(),e.title&&(h=r.enter(`title${o}`),f+=c.move(" "+s),f+=c.move(r.safe(e.title,{before:f,after:s,...c.current()})),f+=c.move(s),h()),f+=c.move(")"),d(),f}function t4(e,t,r){return lE(e,r)?"<":"["}cE.peek=n4;function cE(e,t,r,a){const s=e.referenceType,o=r.enter("linkReference");let c=r.enter("label");const d=r.createTracker(a);let h=d.move("[");const f=r.containerPhrasing(e,{before:h,after:"]",...d.current()});h+=d.move(f+"]["),c();const p=r.stack;r.stack=[],c=r.enter("reference");const g=r.safe(r.associationId(e),{before:h,after:"]",...d.current()});return c(),r.stack=p,o(),s==="full"||!f||f!==g?h+=d.move(g+"]"):s==="shortcut"?h=h.slice(0,-1):h+=d.move("]"),h}function n4(){return"["}function Kp(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function r4(e){const t=Kp(e),r=e.options.bulletOther;if(!r)return t==="*"?"-":"*";if(r!=="*"&&r!=="+"&&r!=="-")throw new Error("Cannot serialize items with `"+r+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(r===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+r+"`) to be different");return r}function i4(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function uE(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function a4(e,t,r,a){const s=r.enter("list"),o=r.bulletCurrent;let c=e.ordered?i4(r):Kp(r);const d=e.ordered?c==="."?")":".":r4(r);let h=t&&r.bulletLastUsed?c===r.bulletLastUsed:!1;if(!e.ordered){const p=e.children?e.children[0]:void 0;if((c==="*"||c==="-")&&p&&(!p.children||!p.children[0])&&r.stack[r.stack.length-1]==="list"&&r.stack[r.stack.length-2]==="listItem"&&r.stack[r.stack.length-3]==="list"&&r.stack[r.stack.length-4]==="listItem"&&r.indexStack[r.indexStack.length-1]===0&&r.indexStack[r.indexStack.length-2]===0&&r.indexStack[r.indexStack.length-3]===0&&(h=!0),uE(r)===c&&p){let g=-1;for(;++g-1?t.start:1)+(r.options.incrementListMarker===!1?0:t.children.indexOf(e))+o);let c=o.length+1;(s==="tab"||s==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(c=Math.ceil(c/4)*4);const d=r.createTracker(a);d.move(o+" ".repeat(c-o.length)),d.shift(c);const h=r.enter("listItem"),f=r.indentLines(r.containerFlow(e,d.current()),p);return h(),f;function p(g,b,y){return b?(y?"":" ".repeat(c))+g:(y?o:o+" ".repeat(c-o.length))+g}}function o4(e,t,r,a){const s=r.enter("paragraph"),o=r.enter("phrasing"),c=r.containerPhrasing(e,a);return o(),s(),c}const c4=Qu(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function u4(e,t,r,a){return(e.children.some(function(c){return c4(c)})?r.containerPhrasing:r.containerFlow).call(r,e,a)}function d4(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}dE.peek=f4;function dE(e,t,r,a){const s=d4(r),o=r.enter("strong"),c=r.createTracker(a),d=c.move(s+s);let h=c.move(r.containerPhrasing(e,{after:s,before:d,...c.current()}));const f=h.charCodeAt(0),p=Au(a.before.charCodeAt(a.before.length-1),f,s);p.inside&&(h=bo(f)+h.slice(1));const g=h.charCodeAt(h.length-1),b=Au(a.after.charCodeAt(0),g,s);b.inside&&(h=h.slice(0,-1)+bo(g));const y=c.move(s+s);return o(),r.attentionEncodeSurroundingInfo={after:b.outside,before:p.outside},d+h+y}function f4(e,t,r){return r.options.strong||"*"}function h4(e,t,r,a){return r.safe(e.value,a)}function m4(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function p4(e,t,r){const a=(uE(r)+(r.options.ruleSpaces?" ":"")).repeat(m4(r));return r.options.ruleSpaces?a.slice(0,-1):a}const fE={blockquote:B3,break:nv,code:F3,definition:V3,emphasis:nE,hardBreak:nv,heading:Z3,html:rE,image:iE,imageReference:aE,inlineCode:sE,link:oE,linkReference:cE,list:a4,listItem:l4,paragraph:o4,root:u4,strong:dE,text:h4,thematicBreak:p4};function g4(){return{enter:{table:x4,tableData:rv,tableHeader:rv,tableRow:y4},exit:{codeText:v4,table:b4,tableData:Ih,tableHeader:Ih,tableRow:Ih}}}function x4(e){const t=e._align;this.enter({type:"table",align:t.map(function(r){return r==="none"?null:r}),children:[]},e),this.data.inTable=!0}function b4(e){this.exit(e),this.data.inTable=void 0}function y4(e){this.enter({type:"tableRow",children:[]},e)}function Ih(e){this.exit(e)}function rv(e){this.enter({type:"tableCell",children:[]},e)}function v4(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,_4));const r=this.stack[this.stack.length-1];r.type,r.value=t,this.exit(e)}function _4(e,t){return t==="|"?t:e}function w4(e){const t=e||{},r=t.tableCellPadding,a=t.tablePipeAlign,s=t.stringLength,o=r?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:b,table:c,tableCell:h,tableRow:d}};function c(y,_,N,S){return f(p(y,N,S),y.align)}function d(y,_,N,S){const w=g(y,N,S),C=f([w]);return C.slice(0,C.indexOf(` -`))}function h(y,_,N,S){const w=N.enter("tableCell"),C=N.enter("phrasing"),E=N.containerPhrasing(y,{...S,before:o,after:o});return C(),w(),E}function f(y,_){return z3(y,{align:_,alignDelimiters:a,padding:r,stringLength:s})}function p(y,_,N){const S=y.children;let w=-1;const C=[],E=_.enter("table");for(;++w0&&!r&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),r}const H4={tokenize:X4,partial:!0};function $4(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:G4,continuation:{tokenize:V4},exit:Y4}},text:{91:{name:"gfmFootnoteCall",tokenize:F4},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:q4,resolveTo:P4}}}}function q4(e,t,r){const a=this;let s=a.events.length;const o=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let c;for(;s--;){const h=a.events[s][1];if(h.type==="labelImage"){c=h;break}if(h.type==="gfmFootnoteCall"||h.type==="labelLink"||h.type==="label"||h.type==="image"||h.type==="link")break}return d;function d(h){if(!c||!c._balanced)return r(h);const f=Dr(a.sliceSerialize({start:c.end,end:a.now()}));return f.codePointAt(0)!==94||!o.includes(f.slice(1))?r(h):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(h),e.exit("gfmFootnoteCallLabelMarker"),t(h))}}function P4(e,t){let r=e.length;for(;r--;)if(e[r][1].type==="labelImage"&&e[r][0]==="enter"){e[r][1];break}e[r+1][1].type="data",e[r+3][1].type="gfmFootnoteCallLabelMarker";const a={type:"gfmFootnoteCall",start:Object.assign({},e[r+3][1].start),end:Object.assign({},e[e.length-1][1].end)},s={type:"gfmFootnoteCallMarker",start:Object.assign({},e[r+3][1].end),end:Object.assign({},e[r+3][1].end)};s.end.column++,s.end.offset++,s.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},s.end),end:Object.assign({},e[e.length-1][1].start)},c={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},d=[e[r+1],e[r+2],["enter",a,t],e[r+3],e[r+4],["enter",s,t],["exit",s,t],["enter",o,t],["enter",c,t],["exit",c,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",a,t]];return e.splice(r,e.length-r+1,...d),e}function F4(e,t,r){const a=this,s=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o=0,c;return d;function d(g){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),h}function h(g){return g!==94?r(g):(e.enter("gfmFootnoteCallMarker"),e.consume(g),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",f)}function f(g){if(o>999||g===93&&!c||g===null||g===91||Tt(g))return r(g);if(g===93){e.exit("chunkString");const b=e.exit("gfmFootnoteCallString");return s.includes(Dr(a.sliceSerialize(b)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):r(g)}return Tt(g)||(c=!0),o++,e.consume(g),g===92?p:f}function p(g){return g===91||g===92||g===93?(e.consume(g),o++,f):f(g)}}function G4(e,t,r){const a=this,s=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o,c=0,d;return h;function h(_){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(_),e.exit("gfmFootnoteDefinitionLabelMarker"),f}function f(_){return _===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(_),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):r(_)}function p(_){if(c>999||_===93&&!d||_===null||_===91||Tt(_))return r(_);if(_===93){e.exit("chunkString");const N=e.exit("gfmFootnoteDefinitionLabelString");return o=Dr(a.sliceSerialize(N)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(_),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),b}return Tt(_)||(d=!0),c++,e.consume(_),_===92?g:p}function g(_){return _===91||_===92||_===93?(e.consume(_),c++,p):p(_)}function b(_){return _===58?(e.enter("definitionMarker"),e.consume(_),e.exit("definitionMarker"),s.includes(o)||s.push(o),ot(e,y,"gfmFootnoteDefinitionWhitespace")):r(_)}function y(_){return t(_)}}function V4(e,t,r){return e.check(Do,t,e.attempt(H4,t,r))}function Y4(e){e.exit("gfmFootnoteDefinition")}function X4(e,t,r){const a=this;return ot(e,s,"gfmFootnoteDefinitionIndent",5);function s(o){const c=a.events[a.events.length-1];return c&&c[1].type==="gfmFootnoteDefinitionIndent"&&c[2].sliceSerialize(c[1],!0).length===4?t(o):r(o)}}function K4(e){let r=(e||{}).singleTilde;const a={name:"strikethrough",tokenize:o,resolveAll:s};return r==null&&(r=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function s(c,d){let h=-1;for(;++h1?h(_):(c.consume(_),g++,y);if(g<2&&!r)return h(_);const S=c.exit("strikethroughSequenceTemporary"),w=Xs(_);return S._open=!w||w===2&&!!N,S._close=!N||N===2&&!!w,d(_)}}}class Z4{constructor(){this.map=[]}add(t,r,a){Q4(this,t,r,a)}consume(t){if(this.map.sort(function(o,c){return o[0]-c[0]}),this.map.length===0)return;let r=this.map.length;const a=[];for(;r>0;)r-=1,a.push(t.slice(this.map[r][0]+this.map[r][1]),this.map[r][2]),t.length=this.map[r][0];a.push(t.slice()),t.length=0;let s=a.pop();for(;s;){for(const o of s)t.push(o);s=a.pop()}this.map.length=0}}function Q4(e,t,r,a){let s=0;if(!(r===0&&a.length===0)){for(;s-1;){const k=a.events[I][1].type;if(k==="lineEnding"||k==="linePrefix")I--;else break}const Z=I>-1?a.events[I][1].type:null,P=Z==="tableHead"||Z==="tableRow"?R:h;return P===R&&a.parser.lazy[a.now().line]?r(j):P(j)}function h(j){return e.enter("tableHead"),e.enter("tableRow"),f(j)}function f(j){return j===124||(c=!0,o+=1),p(j)}function p(j){return j===null?r(j):Be(j)?o>1?(o=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),y):r(j):tt(j)?ot(e,p,"whitespace")(j):(o+=1,c&&(c=!1,s+=1),j===124?(e.enter("tableCellDivider"),e.consume(j),e.exit("tableCellDivider"),c=!0,p):(e.enter("data"),g(j)))}function g(j){return j===null||j===124||Tt(j)?(e.exit("data"),p(j)):(e.consume(j),j===92?b:g)}function b(j){return j===92||j===124?(e.consume(j),g):g(j)}function y(j){return a.interrupt=!1,a.parser.lazy[a.now().line]?r(j):(e.enter("tableDelimiterRow"),c=!1,tt(j)?ot(e,_,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):_(j))}function _(j){return j===45||j===58?S(j):j===124?(c=!0,e.enter("tableCellDivider"),e.consume(j),e.exit("tableCellDivider"),N):B(j)}function N(j){return tt(j)?ot(e,S,"whitespace")(j):S(j)}function S(j){return j===58?(o+=1,c=!0,e.enter("tableDelimiterMarker"),e.consume(j),e.exit("tableDelimiterMarker"),w):j===45?(o+=1,w(j)):j===null||Be(j)?A(j):B(j)}function w(j){return j===45?(e.enter("tableDelimiterFiller"),C(j)):B(j)}function C(j){return j===45?(e.consume(j),C):j===58?(c=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(j),e.exit("tableDelimiterMarker"),E):(e.exit("tableDelimiterFiller"),E(j))}function E(j){return tt(j)?ot(e,A,"whitespace")(j):A(j)}function A(j){return j===124?_(j):j===null||Be(j)?!c||s!==o?B(j):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(j)):B(j)}function B(j){return r(j)}function R(j){return e.enter("tableRow"),H(j)}function H(j){return j===124?(e.enter("tableCellDivider"),e.consume(j),e.exit("tableCellDivider"),H):j===null||Be(j)?(e.exit("tableRow"),t(j)):tt(j)?ot(e,H,"whitespace")(j):(e.enter("data"),z(j))}function z(j){return j===null||j===124||Tt(j)?(e.exit("data"),H(j)):(e.consume(j),j===92?Y:z)}function Y(j){return j===92||j===124?(e.consume(j),z):z(j)}}function tj(e,t){let r=-1,a=!0,s=0,o=[0,0,0,0],c=[0,0,0,0],d=!1,h=0,f,p,g;const b=new Z4;for(;++rr[2]+1){const _=r[2]+1,N=r[3]-r[2]-1;e.add(_,N,[])}}e.add(r[3]+1,0,[["exit",g,t]])}return s!==void 0&&(o.end=Object.assign({},Hs(t.events,s)),e.add(s,0,[["exit",o,t]]),o=void 0),o}function av(e,t,r,a,s){const o=[],c=Hs(t.events,r);s&&(s.end=Object.assign({},c),o.push(["exit",s,t])),a.end=Object.assign({},c),o.push(["exit",a,t]),e.add(r+1,0,o)}function Hs(e,t){const r=e[t],a=r[0]==="enter"?"start":"end";return r[1][a]}const nj={name:"tasklistCheck",tokenize:ij};function rj(){return{text:{91:nj}}}function ij(e,t,r){const a=this;return s;function s(h){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?r(h):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(h),e.exit("taskListCheckMarker"),o)}function o(h){return Tt(h)?(e.enter("taskListCheckValueUnchecked"),e.consume(h),e.exit("taskListCheckValueUnchecked"),c):h===88||h===120?(e.enter("taskListCheckValueChecked"),e.consume(h),e.exit("taskListCheckValueChecked"),c):r(h)}function c(h){return h===93?(e.enter("taskListCheckMarker"),e.consume(h),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),d):r(h)}function d(h){return Be(h)?t(h):tt(h)?e.check({tokenize:aj},t,r)(h):r(h)}}function aj(e,t,r){return ot(e,a,"whitespace");function a(s){return s===null?r(s):t(s)}}function sj(e){return Mw([O4(),$4(),K4(e),J4(),rj()])}const lj={};function Qp(e){const t=this,r=e||lj,a=t.data(),s=a.micromarkExtensions||(a.micromarkExtensions=[]),o=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),c=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);s.push(sj(r)),o.push(C4()),c.push(T4(r))}var Bh,sv;function oj(){if(sv)return Bh;sv=1;function e(re){return re instanceof Map?re.clear=re.delete=re.set=function(){throw new Error("map is read-only")}:re instanceof Set&&(re.add=re.clear=re.delete=function(){throw new Error("set is read-only")}),Object.freeze(re),Object.getOwnPropertyNames(re).forEach(me=>{const Ee=re[me],Pe=typeof Ee;(Pe==="object"||Pe==="function")&&!Object.isFrozen(Ee)&&e(Ee)}),re}class t{constructor(me){me.data===void 0&&(me.data={}),this.data=me.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function r(re){return re.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function a(re,...me){const Ee=Object.create(null);for(const Pe in re)Ee[Pe]=re[Pe];return me.forEach(function(Pe){for(const St in Pe)Ee[St]=Pe[St]}),Ee}const s="",o=re=>!!re.scope,c=(re,{prefix:me})=>{if(re.startsWith("language:"))return re.replace("language:","language-");if(re.includes(".")){const Ee=re.split(".");return[`${me}${Ee.shift()}`,...Ee.map((Pe,St)=>`${Pe}${"_".repeat(St+1)}`)].join(" ")}return`${me}${re}`};class d{constructor(me,Ee){this.buffer="",this.classPrefix=Ee.classPrefix,me.walk(this)}addText(me){this.buffer+=r(me)}openNode(me){if(!o(me))return;const Ee=c(me.scope,{prefix:this.classPrefix});this.span(Ee)}closeNode(me){o(me)&&(this.buffer+=s)}value(){return this.buffer}span(me){this.buffer+=``}}const h=(re={})=>{const me={children:[]};return Object.assign(me,re),me};class f{constructor(){this.rootNode=h(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(me){this.top.children.push(me)}openNode(me){const Ee=h({scope:me});this.add(Ee),this.stack.push(Ee)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(me){return this.constructor._walk(me,this.rootNode)}static _walk(me,Ee){return typeof Ee=="string"?me.addText(Ee):Ee.children&&(me.openNode(Ee),Ee.children.forEach(Pe=>this._walk(me,Pe)),me.closeNode(Ee)),me}static _collapse(me){typeof me!="string"&&me.children&&(me.children.every(Ee=>typeof Ee=="string")?me.children=[me.children.join("")]:me.children.forEach(Ee=>{f._collapse(Ee)}))}}class p extends f{constructor(me){super(),this.options=me}addText(me){me!==""&&this.add(me)}startScope(me){this.openNode(me)}endScope(){this.closeNode()}__addSublanguage(me,Ee){const Pe=me.root;Ee&&(Pe.scope=`language:${Ee}`),this.add(Pe)}toHTML(){return new d(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(re){return re?typeof re=="string"?re:re.source:null}function b(re){return N("(?=",re,")")}function y(re){return N("(?:",re,")*")}function _(re){return N("(?:",re,")?")}function N(...re){return re.map(Ee=>g(Ee)).join("")}function S(re){const me=re[re.length-1];return typeof me=="object"&&me.constructor===Object?(re.splice(re.length-1,1),me):{}}function w(...re){return"("+(S(re).capture?"":"?:")+re.map(Pe=>g(Pe)).join("|")+")"}function C(re){return new RegExp(re.toString()+"|").exec("").length-1}function E(re,me){const Ee=re&&re.exec(me);return Ee&&Ee.index===0}const A=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function B(re,{joinWith:me}){let Ee=0;return re.map(Pe=>{Ee+=1;const St=Ee;let gt=g(Pe),Me="";for(;gt.length>0;){const Se=A.exec(gt);if(!Se){Me+=gt;break}Me+=gt.substring(0,Se.index),gt=gt.substring(Se.index+Se[0].length),Se[0][0]==="\\"&&Se[1]?Me+="\\"+String(Number(Se[1])+St):(Me+=Se[0],Se[0]==="("&&Ee++)}return Me}).map(Pe=>`(${Pe})`).join(me)}const R=/\b\B/,H="[a-zA-Z]\\w*",z="[a-zA-Z_]\\w*",Y="\\b\\d+(\\.\\d+)?",j="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",I="\\b(0b[01]+)",Z="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",P=(re={})=>{const me=/^#![ ]*\//;return re.binary&&(re.begin=N(me,/.*\b/,re.binary,/\b.*/)),a({scope:"meta",begin:me,end:/$/,relevance:0,"on:begin":(Ee,Pe)=>{Ee.index!==0&&Pe.ignoreMatch()}},re)},k={begin:"\\\\[\\s\\S]",relevance:0},$={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[k]},O={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[k]},U={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},K=function(re,me,Ee={}){const Pe=a({scope:"comment",begin:re,end:me,contains:[]},Ee);Pe.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const St=w("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Pe.contains.push({begin:N(/[ ]+/,"(",St,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Pe},X=K("//","$"),M=K("/\\*","\\*/"),L=K("#","$"),F={scope:"number",begin:Y,relevance:0},D={scope:"number",begin:j,relevance:0},V={scope:"number",begin:I,relevance:0},q={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[k,{begin:/\[/,end:/\]/,relevance:0,contains:[k]}]},Q={scope:"title",begin:H,relevance:0},J={scope:"title",begin:z,relevance:0},W={begin:"\\.\\s*"+z,relevance:0};var oe=Object.freeze({__proto__:null,APOS_STRING_MODE:$,BACKSLASH_ESCAPE:k,BINARY_NUMBER_MODE:V,BINARY_NUMBER_RE:I,COMMENT:K,C_BLOCK_COMMENT_MODE:M,C_LINE_COMMENT_MODE:X,C_NUMBER_MODE:D,C_NUMBER_RE:j,END_SAME_AS_BEGIN:function(re){return Object.assign(re,{"on:begin":(me,Ee)=>{Ee.data._beginMatch=me[1]},"on:end":(me,Ee)=>{Ee.data._beginMatch!==me[1]&&Ee.ignoreMatch()}})},HASH_COMMENT_MODE:L,IDENT_RE:H,MATCH_NOTHING_RE:R,METHOD_GUARD:W,NUMBER_MODE:F,NUMBER_RE:Y,PHRASAL_WORDS_MODE:U,QUOTE_STRING_MODE:O,REGEXP_MODE:q,RE_STARTERS_RE:Z,SHEBANG:P,TITLE_MODE:Q,UNDERSCORE_IDENT_RE:z,UNDERSCORE_TITLE_MODE:J});function fe(re,me){re.input[re.index-1]==="."&&me.ignoreMatch()}function xe(re,me){re.className!==void 0&&(re.scope=re.className,delete re.className)}function we(re,me){me&&re.beginKeywords&&(re.begin="\\b("+re.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",re.__beforeBegin=fe,re.keywords=re.keywords||re.beginKeywords,delete re.beginKeywords,re.relevance===void 0&&(re.relevance=0))}function Ne(re,me){Array.isArray(re.illegal)&&(re.illegal=w(...re.illegal))}function De(re,me){if(re.match){if(re.begin||re.end)throw new Error("begin & end are not supported with match");re.begin=re.match,delete re.match}}function $e(re,me){re.relevance===void 0&&(re.relevance=1)}const st=(re,me)=>{if(!re.beforeMatch)return;if(re.starts)throw new Error("beforeMatch cannot be used with starts");const Ee=Object.assign({},re);Object.keys(re).forEach(Pe=>{delete re[Pe]}),re.keywords=Ee.keywords,re.begin=N(Ee.beforeMatch,b(Ee.begin)),re.starts={relevance:0,contains:[Object.assign(Ee,{endsParent:!0})]},re.relevance=0,delete Ee.beforeMatch},Rt=["of","and","for","in","not","or","if","then","parent","list","value"],Xt="keyword";function Pt(re,me,Ee=Xt){const Pe=Object.create(null);return typeof re=="string"?St(Ee,re.split(" ")):Array.isArray(re)?St(Ee,re):Object.keys(re).forEach(function(gt){Object.assign(Pe,Pt(re[gt],me,gt))}),Pe;function St(gt,Me){me&&(Me=Me.map(Se=>Se.toLowerCase())),Me.forEach(function(Se){const Ue=Se.split("|");Pe[Ue[0]]=[gt,Kt(Ue[0],Ue[1])]})}}function Kt(re,me){return me?Number(me):Yn(re)?0:1}function Yn(re){return Rt.includes(re.toLowerCase())}const Nn={},ct=re=>{console.error(re)},It=(re,...me)=>{console.log(`WARN: ${re}`,...me)},ue=(re,me)=>{Nn[`${re}/${me}`]||(console.log(`Deprecated as of ${re}. ${me}`),Nn[`${re}/${me}`]=!0)},be=new Error;function Oe(re,me,{key:Ee}){let Pe=0;const St=re[Ee],gt={},Me={};for(let Se=1;Se<=me.length;Se++)Me[Se+Pe]=St[Se],gt[Se+Pe]=!0,Pe+=C(me[Se-1]);re[Ee]=Me,re[Ee]._emit=gt,re[Ee]._multi=!0}function Fe(re){if(Array.isArray(re.begin)){if(re.skip||re.excludeBegin||re.returnBegin)throw ct("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),be;if(typeof re.beginScope!="object"||re.beginScope===null)throw ct("beginScope must be object"),be;Oe(re,re.begin,{key:"beginScope"}),re.begin=B(re.begin,{joinWith:""})}}function Ze(re){if(Array.isArray(re.end)){if(re.skip||re.excludeEnd||re.returnEnd)throw ct("skip, excludeEnd, returnEnd not compatible with endScope: {}"),be;if(typeof re.endScope!="object"||re.endScope===null)throw ct("endScope must be object"),be;Oe(re,re.end,{key:"endScope"}),re.end=B(re.end,{joinWith:""})}}function cn(re){re.scope&&typeof re.scope=="object"&&re.scope!==null&&(re.beginScope=re.scope,delete re.scope)}function Sn(re){cn(re),typeof re.beginScope=="string"&&(re.beginScope={_wrap:re.beginScope}),typeof re.endScope=="string"&&(re.endScope={_wrap:re.endScope}),Fe(re),Ze(re)}function Zt(re){function me(Me,Se){return new RegExp(g(Me),"m"+(re.case_insensitive?"i":"")+(re.unicodeRegex?"u":"")+(Se?"g":""))}class Ee{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Se,Ue){Ue.position=this.position++,this.matchIndexes[this.matchAt]=Ue,this.regexes.push([Ue,Se]),this.matchAt+=C(Se)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Se=this.regexes.map(Ue=>Ue[1]);this.matcherRe=me(B(Se,{joinWith:"|"}),!0),this.lastIndex=0}exec(Se){this.matcherRe.lastIndex=this.lastIndex;const Ue=this.matcherRe.exec(Se);if(!Ue)return null;const Bt=Ue.findIndex((vr,ki)=>ki>0&&vr!==void 0),Mt=this.matchIndexes[Bt];return Ue.splice(0,Bt),Object.assign(Ue,Mt)}}class Pe{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Se){if(this.multiRegexes[Se])return this.multiRegexes[Se];const Ue=new Ee;return this.rules.slice(Se).forEach(([Bt,Mt])=>Ue.addRule(Bt,Mt)),Ue.compile(),this.multiRegexes[Se]=Ue,Ue}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Se,Ue){this.rules.push([Se,Ue]),Ue.type==="begin"&&this.count++}exec(Se){const Ue=this.getMatcher(this.regexIndex);Ue.lastIndex=this.lastIndex;let Bt=Ue.exec(Se);if(this.resumingScanAtSamePosition()&&!(Bt&&Bt.index===this.lastIndex)){const Mt=this.getMatcher(0);Mt.lastIndex=this.lastIndex+1,Bt=Mt.exec(Se)}return Bt&&(this.regexIndex+=Bt.position+1,this.regexIndex===this.count&&this.considerAll()),Bt}}function St(Me){const Se=new Pe;return Me.contains.forEach(Ue=>Se.addRule(Ue.begin,{rule:Ue,type:"begin"})),Me.terminatorEnd&&Se.addRule(Me.terminatorEnd,{type:"end"}),Me.illegal&&Se.addRule(Me.illegal,{type:"illegal"}),Se}function gt(Me,Se){const Ue=Me;if(Me.isCompiled)return Ue;[xe,De,Sn,st].forEach(Mt=>Mt(Me,Se)),re.compilerExtensions.forEach(Mt=>Mt(Me,Se)),Me.__beforeBegin=null,[we,Ne,$e].forEach(Mt=>Mt(Me,Se)),Me.isCompiled=!0;let Bt=null;return typeof Me.keywords=="object"&&Me.keywords.$pattern&&(Me.keywords=Object.assign({},Me.keywords),Bt=Me.keywords.$pattern,delete Me.keywords.$pattern),Bt=Bt||/\w+/,Me.keywords&&(Me.keywords=Pt(Me.keywords,re.case_insensitive)),Ue.keywordPatternRe=me(Bt,!0),Se&&(Me.begin||(Me.begin=/\B|\b/),Ue.beginRe=me(Ue.begin),!Me.end&&!Me.endsWithParent&&(Me.end=/\B|\b/),Me.end&&(Ue.endRe=me(Ue.end)),Ue.terminatorEnd=g(Ue.end)||"",Me.endsWithParent&&Se.terminatorEnd&&(Ue.terminatorEnd+=(Me.end?"|":"")+Se.terminatorEnd)),Me.illegal&&(Ue.illegalRe=me(Me.illegal)),Me.contains||(Me.contains=[]),Me.contains=[].concat(...Me.contains.map(function(Mt){return Jt(Mt==="self"?Me:Mt)})),Me.contains.forEach(function(Mt){gt(Mt,Ue)}),Me.starts&>(Me.starts,Se),Ue.matcher=St(Ue),Ue}if(re.compilerExtensions||(re.compilerExtensions=[]),re.contains&&re.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return re.classNameAliases=a(re.classNameAliases||{}),gt(re)}function At(re){return re?re.endsWithParent||At(re.starts):!1}function Jt(re){return re.variants&&!re.cachedVariants&&(re.cachedVariants=re.variants.map(function(me){return a(re,{variants:null},me)})),re.cachedVariants?re.cachedVariants:At(re)?a(re,{starts:re.starts?a(re.starts):null}):Object.isFrozen(re)?a(re):re}var ut="11.11.1";class In extends Error{constructor(me,Ee){super(me),this.name="HTMLInjectionError",this.html=Ee}}const un=r,Si=a,nt=Symbol("nomatch"),Xn=7,On=function(re){const me=Object.create(null),Ee=Object.create(null),Pe=[];let St=!0;const gt="Could not find the language '{}', did you forget to load/include a language module?",Me={disableAutodetect:!0,name:"Plain text",contains:[]};let Se={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:p};function Ue(ye){return Se.noHighlightRe.test(ye)}function Bt(ye){let Le=ye.className+" ";Le+=ye.parentNode?ye.parentNode.className:"";const Qe=Se.languageDetectRe.exec(Le);if(Qe){const ft=bn(Qe[1]);return ft||(It(gt.replace("{}",Qe[1])),It("Falling back to no-highlight mode for this block.",ye)),ft?Qe[1]:"no-highlight"}return Le.split(/\s+/).find(ft=>Ue(ft)||bn(ft))}function Mt(ye,Le,Qe){let ft="",Ht="";typeof Le=="object"?(ft=ye,Qe=Le.ignoreIllegals,Ht=Le.language):(ue("10.7.0","highlight(lang, code, ...args) has been deprecated."),ue("10.7.0",`Please use highlight(code, options) instead. +`))}function h(y,_,N,S){const w=N.enter("tableCell"),C=N.enter("phrasing"),E=N.containerPhrasing(y,{...S,before:o,after:o});return C(),w(),E}function f(y,_){return z3(y,{align:_,alignDelimiters:a,padding:r,stringLength:s})}function p(y,_,N){const S=y.children;let w=-1;const C=[],E=_.enter("table");for(;++w0&&!r&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),r}const H4={tokenize:X4,partial:!0};function $4(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:G4,continuation:{tokenize:V4},exit:Y4}},text:{91:{name:"gfmFootnoteCall",tokenize:F4},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:q4,resolveTo:P4}}}}function q4(e,t,r){const a=this;let s=a.events.length;const o=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let c;for(;s--;){const h=a.events[s][1];if(h.type==="labelImage"){c=h;break}if(h.type==="gfmFootnoteCall"||h.type==="labelLink"||h.type==="label"||h.type==="image"||h.type==="link")break}return d;function d(h){if(!c||!c._balanced)return r(h);const f=Dr(a.sliceSerialize({start:c.end,end:a.now()}));return f.codePointAt(0)!==94||!o.includes(f.slice(1))?r(h):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(h),e.exit("gfmFootnoteCallLabelMarker"),t(h))}}function P4(e,t){let r=e.length;for(;r--;)if(e[r][1].type==="labelImage"&&e[r][0]==="enter"){e[r][1];break}e[r+1][1].type="data",e[r+3][1].type="gfmFootnoteCallLabelMarker";const a={type:"gfmFootnoteCall",start:Object.assign({},e[r+3][1].start),end:Object.assign({},e[e.length-1][1].end)},s={type:"gfmFootnoteCallMarker",start:Object.assign({},e[r+3][1].end),end:Object.assign({},e[r+3][1].end)};s.end.column++,s.end.offset++,s.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},s.end),end:Object.assign({},e[e.length-1][1].start)},c={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},d=[e[r+1],e[r+2],["enter",a,t],e[r+3],e[r+4],["enter",s,t],["exit",s,t],["enter",o,t],["enter",c,t],["exit",c,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",a,t]];return e.splice(r,e.length-r+1,...d),e}function F4(e,t,r){const a=this,s=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o=0,c;return d;function d(g){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),h}function h(g){return g!==94?r(g):(e.enter("gfmFootnoteCallMarker"),e.consume(g),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",f)}function f(g){if(o>999||g===93&&!c||g===null||g===91||Tt(g))return r(g);if(g===93){e.exit("chunkString");const b=e.exit("gfmFootnoteCallString");return s.includes(Dr(a.sliceSerialize(b)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):r(g)}return Tt(g)||(c=!0),o++,e.consume(g),g===92?p:f}function p(g){return g===91||g===92||g===93?(e.consume(g),o++,f):f(g)}}function G4(e,t,r){const a=this,s=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o,c=0,d;return h;function h(_){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(_),e.exit("gfmFootnoteDefinitionLabelMarker"),f}function f(_){return _===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(_),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):r(_)}function p(_){if(c>999||_===93&&!d||_===null||_===91||Tt(_))return r(_);if(_===93){e.exit("chunkString");const N=e.exit("gfmFootnoteDefinitionLabelString");return o=Dr(a.sliceSerialize(N)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(_),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),b}return Tt(_)||(d=!0),c++,e.consume(_),_===92?g:p}function g(_){return _===91||_===92||_===93?(e.consume(_),c++,p):p(_)}function b(_){return _===58?(e.enter("definitionMarker"),e.consume(_),e.exit("definitionMarker"),s.includes(o)||s.push(o),ot(e,y,"gfmFootnoteDefinitionWhitespace")):r(_)}function y(_){return t(_)}}function V4(e,t,r){return e.check(Do,t,e.attempt(H4,t,r))}function Y4(e){e.exit("gfmFootnoteDefinition")}function X4(e,t,r){const a=this;return ot(e,s,"gfmFootnoteDefinitionIndent",5);function s(o){const c=a.events[a.events.length-1];return c&&c[1].type==="gfmFootnoteDefinitionIndent"&&c[2].sliceSerialize(c[1],!0).length===4?t(o):r(o)}}function K4(e){let r=(e||{}).singleTilde;const a={name:"strikethrough",tokenize:o,resolveAll:s};return r==null&&(r=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function s(c,d){let h=-1;for(;++h1?h(_):(c.consume(_),g++,y);if(g<2&&!r)return h(_);const S=c.exit("strikethroughSequenceTemporary"),w=Xs(_);return S._open=!w||w===2&&!!N,S._close=!N||N===2&&!!w,d(_)}}}class Z4{constructor(){this.map=[]}add(t,r,a){Q4(this,t,r,a)}consume(t){if(this.map.sort(function(o,c){return o[0]-c[0]}),this.map.length===0)return;let r=this.map.length;const a=[];for(;r>0;)r-=1,a.push(t.slice(this.map[r][0]+this.map[r][1]),this.map[r][2]),t.length=this.map[r][0];a.push(t.slice()),t.length=0;let s=a.pop();for(;s;){for(const o of s)t.push(o);s=a.pop()}this.map.length=0}}function Q4(e,t,r,a){let s=0;if(!(r===0&&a.length===0)){for(;s-1;){const k=a.events[I][1].type;if(k==="lineEnding"||k==="linePrefix")I--;else break}const Z=I>-1?a.events[I][1].type:null,P=Z==="tableHead"||Z==="tableRow"?R:h;return P===R&&a.parser.lazy[a.now().line]?r(j):P(j)}function h(j){return e.enter("tableHead"),e.enter("tableRow"),f(j)}function f(j){return j===124||(c=!0,o+=1),p(j)}function p(j){return j===null?r(j):Be(j)?o>1?(o=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),y):r(j):tt(j)?ot(e,p,"whitespace")(j):(o+=1,c&&(c=!1,s+=1),j===124?(e.enter("tableCellDivider"),e.consume(j),e.exit("tableCellDivider"),c=!0,p):(e.enter("data"),g(j)))}function g(j){return j===null||j===124||Tt(j)?(e.exit("data"),p(j)):(e.consume(j),j===92?b:g)}function b(j){return j===92||j===124?(e.consume(j),g):g(j)}function y(j){return a.interrupt=!1,a.parser.lazy[a.now().line]?r(j):(e.enter("tableDelimiterRow"),c=!1,tt(j)?ot(e,_,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):_(j))}function _(j){return j===45||j===58?S(j):j===124?(c=!0,e.enter("tableCellDivider"),e.consume(j),e.exit("tableCellDivider"),N):B(j)}function N(j){return tt(j)?ot(e,S,"whitespace")(j):S(j)}function S(j){return j===58?(o+=1,c=!0,e.enter("tableDelimiterMarker"),e.consume(j),e.exit("tableDelimiterMarker"),w):j===45?(o+=1,w(j)):j===null||Be(j)?A(j):B(j)}function w(j){return j===45?(e.enter("tableDelimiterFiller"),C(j)):B(j)}function C(j){return j===45?(e.consume(j),C):j===58?(c=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(j),e.exit("tableDelimiterMarker"),E):(e.exit("tableDelimiterFiller"),E(j))}function E(j){return tt(j)?ot(e,A,"whitespace")(j):A(j)}function A(j){return j===124?_(j):j===null||Be(j)?!c||s!==o?B(j):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(j)):B(j)}function B(j){return r(j)}function R(j){return e.enter("tableRow"),H(j)}function H(j){return j===124?(e.enter("tableCellDivider"),e.consume(j),e.exit("tableCellDivider"),H):j===null||Be(j)?(e.exit("tableRow"),t(j)):tt(j)?ot(e,H,"whitespace")(j):(e.enter("data"),z(j))}function z(j){return j===null||j===124||Tt(j)?(e.exit("data"),H(j)):(e.consume(j),j===92?Y:z)}function Y(j){return j===92||j===124?(e.consume(j),z):z(j)}}function tj(e,t){let r=-1,a=!0,s=0,o=[0,0,0,0],c=[0,0,0,0],d=!1,h=0,f,p,g;const b=new Z4;for(;++rr[2]+1){const _=r[2]+1,N=r[3]-r[2]-1;e.add(_,N,[])}}e.add(r[3]+1,0,[["exit",g,t]])}return s!==void 0&&(o.end=Object.assign({},Hs(t.events,s)),e.add(s,0,[["exit",o,t]]),o=void 0),o}function av(e,t,r,a,s){const o=[],c=Hs(t.events,r);s&&(s.end=Object.assign({},c),o.push(["exit",s,t])),a.end=Object.assign({},c),o.push(["exit",a,t]),e.add(r+1,0,o)}function Hs(e,t){const r=e[t],a=r[0]==="enter"?"start":"end";return r[1][a]}const nj={name:"tasklistCheck",tokenize:ij};function rj(){return{text:{91:nj}}}function ij(e,t,r){const a=this;return s;function s(h){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?r(h):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(h),e.exit("taskListCheckMarker"),o)}function o(h){return Tt(h)?(e.enter("taskListCheckValueUnchecked"),e.consume(h),e.exit("taskListCheckValueUnchecked"),c):h===88||h===120?(e.enter("taskListCheckValueChecked"),e.consume(h),e.exit("taskListCheckValueChecked"),c):r(h)}function c(h){return h===93?(e.enter("taskListCheckMarker"),e.consume(h),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),d):r(h)}function d(h){return Be(h)?t(h):tt(h)?e.check({tokenize:aj},t,r)(h):r(h)}}function aj(e,t,r){return ot(e,a,"whitespace");function a(s){return s===null?r(s):t(s)}}function sj(e){return Mw([O4(),$4(),K4(e),J4(),rj()])}const lj={};function Qp(e){const t=this,r=e||lj,a=t.data(),s=a.micromarkExtensions||(a.micromarkExtensions=[]),o=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),c=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);s.push(sj(r)),o.push(C4()),c.push(T4(r))}var Bh,sv;function oj(){if(sv)return Bh;sv=1;function e(re){return re instanceof Map?re.clear=re.delete=re.set=function(){throw new Error("map is read-only")}:re instanceof Set&&(re.add=re.clear=re.delete=function(){throw new Error("set is read-only")}),Object.freeze(re),Object.getOwnPropertyNames(re).forEach(me=>{const Ee=re[me],Pe=typeof Ee;(Pe==="object"||Pe==="function")&&!Object.isFrozen(Ee)&&e(Ee)}),re}class t{constructor(me){me.data===void 0&&(me.data={}),this.data=me.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function r(re){return re.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function a(re,...me){const Ee=Object.create(null);for(const Pe in re)Ee[Pe]=re[Pe];return me.forEach(function(Pe){for(const St in Pe)Ee[St]=Pe[St]}),Ee}const s="",o=re=>!!re.scope,c=(re,{prefix:me})=>{if(re.startsWith("language:"))return re.replace("language:","language-");if(re.includes(".")){const Ee=re.split(".");return[`${me}${Ee.shift()}`,...Ee.map((Pe,St)=>`${Pe}${"_".repeat(St+1)}`)].join(" ")}return`${me}${re}`};class d{constructor(me,Ee){this.buffer="",this.classPrefix=Ee.classPrefix,me.walk(this)}addText(me){this.buffer+=r(me)}openNode(me){if(!o(me))return;const Ee=c(me.scope,{prefix:this.classPrefix});this.span(Ee)}closeNode(me){o(me)&&(this.buffer+=s)}value(){return this.buffer}span(me){this.buffer+=``}}const h=(re={})=>{const me={children:[]};return Object.assign(me,re),me};class f{constructor(){this.rootNode=h(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(me){this.top.children.push(me)}openNode(me){const Ee=h({scope:me});this.add(Ee),this.stack.push(Ee)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(me){return this.constructor._walk(me,this.rootNode)}static _walk(me,Ee){return typeof Ee=="string"?me.addText(Ee):Ee.children&&(me.openNode(Ee),Ee.children.forEach(Pe=>this._walk(me,Pe)),me.closeNode(Ee)),me}static _collapse(me){typeof me!="string"&&me.children&&(me.children.every(Ee=>typeof Ee=="string")?me.children=[me.children.join("")]:me.children.forEach(Ee=>{f._collapse(Ee)}))}}class p extends f{constructor(me){super(),this.options=me}addText(me){me!==""&&this.add(me)}startScope(me){this.openNode(me)}endScope(){this.closeNode()}__addSublanguage(me,Ee){const Pe=me.root;Ee&&(Pe.scope=`language:${Ee}`),this.add(Pe)}toHTML(){return new d(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(re){return re?typeof re=="string"?re:re.source:null}function b(re){return N("(?=",re,")")}function y(re){return N("(?:",re,")*")}function _(re){return N("(?:",re,")?")}function N(...re){return re.map(Ee=>g(Ee)).join("")}function S(re){const me=re[re.length-1];return typeof me=="object"&&me.constructor===Object?(re.splice(re.length-1,1),me):{}}function w(...re){return"("+(S(re).capture?"":"?:")+re.map(Pe=>g(Pe)).join("|")+")"}function C(re){return new RegExp(re.toString()+"|").exec("").length-1}function E(re,me){const Ee=re&&re.exec(me);return Ee&&Ee.index===0}const A=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function B(re,{joinWith:me}){let Ee=0;return re.map(Pe=>{Ee+=1;const St=Ee;let gt=g(Pe),Me="";for(;gt.length>0;){const Se=A.exec(gt);if(!Se){Me+=gt;break}Me+=gt.substring(0,Se.index),gt=gt.substring(Se.index+Se[0].length),Se[0][0]==="\\"&&Se[1]?Me+="\\"+String(Number(Se[1])+St):(Me+=Se[0],Se[0]==="("&&Ee++)}return Me}).map(Pe=>`(${Pe})`).join(me)}const R=/\b\B/,H="[a-zA-Z]\\w*",z="[a-zA-Z_]\\w*",Y="\\b\\d+(\\.\\d+)?",j="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",I="\\b(0b[01]+)",Z="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",P=(re={})=>{const me=/^#![ ]*\//;return re.binary&&(re.begin=N(me,/.*\b/,re.binary,/\b.*/)),a({scope:"meta",begin:me,end:/$/,relevance:0,"on:begin":(Ee,Pe)=>{Ee.index!==0&&Pe.ignoreMatch()}},re)},k={begin:"\\\\[\\s\\S]",relevance:0},$={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[k]},O={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[k]},U={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},K=function(re,me,Ee={}){const Pe=a({scope:"comment",begin:re,end:me,contains:[]},Ee);Pe.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const St=w("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Pe.contains.push({begin:N(/[ ]+/,"(",St,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Pe},X=K("//","$"),M=K("/\\*","\\*/"),L=K("#","$"),F={scope:"number",begin:Y,relevance:0},D={scope:"number",begin:j,relevance:0},V={scope:"number",begin:I,relevance:0},q={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[k,{begin:/\[/,end:/\]/,relevance:0,contains:[k]}]},Q={scope:"title",begin:H,relevance:0},J={scope:"title",begin:z,relevance:0},W={begin:"\\.\\s*"+z,relevance:0};var oe=Object.freeze({__proto__:null,APOS_STRING_MODE:$,BACKSLASH_ESCAPE:k,BINARY_NUMBER_MODE:V,BINARY_NUMBER_RE:I,COMMENT:K,C_BLOCK_COMMENT_MODE:M,C_LINE_COMMENT_MODE:X,C_NUMBER_MODE:D,C_NUMBER_RE:j,END_SAME_AS_BEGIN:function(re){return Object.assign(re,{"on:begin":(me,Ee)=>{Ee.data._beginMatch=me[1]},"on:end":(me,Ee)=>{Ee.data._beginMatch!==me[1]&&Ee.ignoreMatch()}})},HASH_COMMENT_MODE:L,IDENT_RE:H,MATCH_NOTHING_RE:R,METHOD_GUARD:W,NUMBER_MODE:F,NUMBER_RE:Y,PHRASAL_WORDS_MODE:U,QUOTE_STRING_MODE:O,REGEXP_MODE:q,RE_STARTERS_RE:Z,SHEBANG:P,TITLE_MODE:Q,UNDERSCORE_IDENT_RE:z,UNDERSCORE_TITLE_MODE:J});function fe(re,me){re.input[re.index-1]==="."&&me.ignoreMatch()}function xe(re,me){re.className!==void 0&&(re.scope=re.className,delete re.className)}function we(re,me){me&&re.beginKeywords&&(re.begin="\\b("+re.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",re.__beforeBegin=fe,re.keywords=re.keywords||re.beginKeywords,delete re.beginKeywords,re.relevance===void 0&&(re.relevance=0))}function Ne(re,me){Array.isArray(re.illegal)&&(re.illegal=w(...re.illegal))}function De(re,me){if(re.match){if(re.begin||re.end)throw new Error("begin & end are not supported with match");re.begin=re.match,delete re.match}}function $e(re,me){re.relevance===void 0&&(re.relevance=1)}const st=(re,me)=>{if(!re.beforeMatch)return;if(re.starts)throw new Error("beforeMatch cannot be used with starts");const Ee=Object.assign({},re);Object.keys(re).forEach(Pe=>{delete re[Pe]}),re.keywords=Ee.keywords,re.begin=N(Ee.beforeMatch,b(Ee.begin)),re.starts={relevance:0,contains:[Object.assign(Ee,{endsParent:!0})]},re.relevance=0,delete Ee.beforeMatch},Rt=["of","and","for","in","not","or","if","then","parent","list","value"],Xt="keyword";function Ft(re,me,Ee=Xt){const Pe=Object.create(null);return typeof re=="string"?St(Ee,re.split(" ")):Array.isArray(re)?St(Ee,re):Object.keys(re).forEach(function(gt){Object.assign(Pe,Ft(re[gt],me,gt))}),Pe;function St(gt,Me){me&&(Me=Me.map(Se=>Se.toLowerCase())),Me.forEach(function(Se){const Ue=Se.split("|");Pe[Ue[0]]=[gt,Kt(Ue[0],Ue[1])]})}}function Kt(re,me){return me?Number(me):Yn(re)?0:1}function Yn(re){return Rt.includes(re.toLowerCase())}const Nn={},ct=re=>{console.error(re)},It=(re,...me)=>{console.log(`WARN: ${re}`,...me)},ue=(re,me)=>{Nn[`${re}/${me}`]||(console.log(`Deprecated as of ${re}. ${me}`),Nn[`${re}/${me}`]=!0)},be=new Error;function Oe(re,me,{key:Ee}){let Pe=0;const St=re[Ee],gt={},Me={};for(let Se=1;Se<=me.length;Se++)Me[Se+Pe]=St[Se],gt[Se+Pe]=!0,Pe+=C(me[Se-1]);re[Ee]=Me,re[Ee]._emit=gt,re[Ee]._multi=!0}function Fe(re){if(Array.isArray(re.begin)){if(re.skip||re.excludeBegin||re.returnBegin)throw ct("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),be;if(typeof re.beginScope!="object"||re.beginScope===null)throw ct("beginScope must be object"),be;Oe(re,re.begin,{key:"beginScope"}),re.begin=B(re.begin,{joinWith:""})}}function Ze(re){if(Array.isArray(re.end)){if(re.skip||re.excludeEnd||re.returnEnd)throw ct("skip, excludeEnd, returnEnd not compatible with endScope: {}"),be;if(typeof re.endScope!="object"||re.endScope===null)throw ct("endScope must be object"),be;Oe(re,re.end,{key:"endScope"}),re.end=B(re.end,{joinWith:""})}}function cn(re){re.scope&&typeof re.scope=="object"&&re.scope!==null&&(re.beginScope=re.scope,delete re.scope)}function Sn(re){cn(re),typeof re.beginScope=="string"&&(re.beginScope={_wrap:re.beginScope}),typeof re.endScope=="string"&&(re.endScope={_wrap:re.endScope}),Fe(re),Ze(re)}function Zt(re){function me(Me,Se){return new RegExp(g(Me),"m"+(re.case_insensitive?"i":"")+(re.unicodeRegex?"u":"")+(Se?"g":""))}class Ee{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Se,Ue){Ue.position=this.position++,this.matchIndexes[this.matchAt]=Ue,this.regexes.push([Ue,Se]),this.matchAt+=C(Se)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Se=this.regexes.map(Ue=>Ue[1]);this.matcherRe=me(B(Se,{joinWith:"|"}),!0),this.lastIndex=0}exec(Se){this.matcherRe.lastIndex=this.lastIndex;const Ue=this.matcherRe.exec(Se);if(!Ue)return null;const Bt=Ue.findIndex((vr,ki)=>ki>0&&vr!==void 0),Mt=this.matchIndexes[Bt];return Ue.splice(0,Bt),Object.assign(Ue,Mt)}}class Pe{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Se){if(this.multiRegexes[Se])return this.multiRegexes[Se];const Ue=new Ee;return this.rules.slice(Se).forEach(([Bt,Mt])=>Ue.addRule(Bt,Mt)),Ue.compile(),this.multiRegexes[Se]=Ue,Ue}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Se,Ue){this.rules.push([Se,Ue]),Ue.type==="begin"&&this.count++}exec(Se){const Ue=this.getMatcher(this.regexIndex);Ue.lastIndex=this.lastIndex;let Bt=Ue.exec(Se);if(this.resumingScanAtSamePosition()&&!(Bt&&Bt.index===this.lastIndex)){const Mt=this.getMatcher(0);Mt.lastIndex=this.lastIndex+1,Bt=Mt.exec(Se)}return Bt&&(this.regexIndex+=Bt.position+1,this.regexIndex===this.count&&this.considerAll()),Bt}}function St(Me){const Se=new Pe;return Me.contains.forEach(Ue=>Se.addRule(Ue.begin,{rule:Ue,type:"begin"})),Me.terminatorEnd&&Se.addRule(Me.terminatorEnd,{type:"end"}),Me.illegal&&Se.addRule(Me.illegal,{type:"illegal"}),Se}function gt(Me,Se){const Ue=Me;if(Me.isCompiled)return Ue;[xe,De,Sn,st].forEach(Mt=>Mt(Me,Se)),re.compilerExtensions.forEach(Mt=>Mt(Me,Se)),Me.__beforeBegin=null,[we,Ne,$e].forEach(Mt=>Mt(Me,Se)),Me.isCompiled=!0;let Bt=null;return typeof Me.keywords=="object"&&Me.keywords.$pattern&&(Me.keywords=Object.assign({},Me.keywords),Bt=Me.keywords.$pattern,delete Me.keywords.$pattern),Bt=Bt||/\w+/,Me.keywords&&(Me.keywords=Ft(Me.keywords,re.case_insensitive)),Ue.keywordPatternRe=me(Bt,!0),Se&&(Me.begin||(Me.begin=/\B|\b/),Ue.beginRe=me(Ue.begin),!Me.end&&!Me.endsWithParent&&(Me.end=/\B|\b/),Me.end&&(Ue.endRe=me(Ue.end)),Ue.terminatorEnd=g(Ue.end)||"",Me.endsWithParent&&Se.terminatorEnd&&(Ue.terminatorEnd+=(Me.end?"|":"")+Se.terminatorEnd)),Me.illegal&&(Ue.illegalRe=me(Me.illegal)),Me.contains||(Me.contains=[]),Me.contains=[].concat(...Me.contains.map(function(Mt){return Jt(Mt==="self"?Me:Mt)})),Me.contains.forEach(function(Mt){gt(Mt,Ue)}),Me.starts&>(Me.starts,Se),Ue.matcher=St(Ue),Ue}if(re.compilerExtensions||(re.compilerExtensions=[]),re.contains&&re.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return re.classNameAliases=a(re.classNameAliases||{}),gt(re)}function At(re){return re?re.endsWithParent||At(re.starts):!1}function Jt(re){return re.variants&&!re.cachedVariants&&(re.cachedVariants=re.variants.map(function(me){return a(re,{variants:null},me)})),re.cachedVariants?re.cachedVariants:At(re)?a(re,{starts:re.starts?a(re.starts):null}):Object.isFrozen(re)?a(re):re}var ut="11.11.1";class In extends Error{constructor(me,Ee){super(me),this.name="HTMLInjectionError",this.html=Ee}}const un=r,Si=a,nt=Symbol("nomatch"),Xn=7,On=function(re){const me=Object.create(null),Ee=Object.create(null),Pe=[];let St=!0;const gt="Could not find the language '{}', did you forget to load/include a language module?",Me={disableAutodetect:!0,name:"Plain text",contains:[]};let Se={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:p};function Ue(ye){return Se.noHighlightRe.test(ye)}function Bt(ye){let Le=ye.className+" ";Le+=ye.parentNode?ye.parentNode.className:"";const Qe=Se.languageDetectRe.exec(Le);if(Qe){const ft=bn(Qe[1]);return ft||(It(gt.replace("{}",Qe[1])),It("Falling back to no-highlight mode for this block.",ye)),ft?Qe[1]:"no-highlight"}return Le.split(/\s+/).find(ft=>Ue(ft)||bn(ft))}function Mt(ye,Le,Qe){let ft="",Ht="";typeof Le=="object"?(ft=ye,Qe=Le.ignoreIllegals,Ht=Le.language):(ue("10.7.0","highlight(lang, code, ...args) has been deprecated."),ue("10.7.0",`Please use highlight(code, options) instead. https://github.com/highlightjs/highlight.js/issues/2277`),Ht=ye,ft=Le),Qe===void 0&&(Qe=!0);const gn={code:ft,language:Ht};Jr("before:highlight",gn);const Rn=gn.result?gn.result:vr(gn.language,gn.code,Qe);return Rn.code=gn.code,Jr("after:highlight",Rn),Rn}function vr(ye,Le,Qe,ft){const Ht=Object.create(null);function gn(_e,Re){return _e.keywords[Re]}function Rn(){if(!qe.keywords){en.addText(xt);return}let _e=0;qe.keywordPatternRe.lastIndex=0;let Re=qe.keywordPatternRe.exec(xt),Ye="";for(;Re;){Ye+=xt.substring(_e,Re.index);const rt=dn.case_insensitive?Re[0].toLowerCase():Re[0],$t=gn(qe,rt);if($t){const[or,sl]=$t;if(en.addText(Ye),Ye="",Ht[rt]=(Ht[rt]||0)+1,Ht[rt]<=Xn&&(ji+=sl),or.startsWith("_"))Ye+=Re[0];else{const Fo=dn.classNameAliases[or]||or;jn(Re[0],Fo)}}else Ye+=Re[0];_e=qe.keywordPatternRe.lastIndex,Re=qe.keywordPatternRe.exec(xt)}Ye+=xt.substring(_e),en.addText(Ye)}function kn(){if(xt==="")return;let _e=null;if(typeof qe.subLanguage=="string"){if(!me[qe.subLanguage]){en.addText(xt);return}_e=vr(qe.subLanguage,xt,!0,Po[qe.subLanguage]),Po[qe.subLanguage]=_e._top}else _e=Ci(xt,qe.subLanguage.length?qe.subLanguage:null);qe.relevance>0&&(ji+=_e.relevance),en.__addSublanguage(_e._emitter,_e.language)}function _t(){qe.subLanguage!=null?kn():Rn(),xt=""}function jn(_e,Re){_e!==""&&(en.startScope(Re),en.addText(_e),en.endScope())}function rs(_e,Re){let Ye=1;const rt=Re.length-1;for(;Ye<=rt;){if(!_e._emit[Ye]){Ye++;continue}const $t=dn.classNameAliases[_e[Ye]]||_e[Ye],or=Re[Ye];$t?jn(or,$t):(xt=or,Rn(),xt=""),Ye++}}function Mi(_e,Re){return _e.scope&&typeof _e.scope=="string"&&en.openNode(dn.classNameAliases[_e.scope]||_e.scope),_e.beginScope&&(_e.beginScope._wrap?(jn(xt,dn.classNameAliases[_e.beginScope._wrap]||_e.beginScope._wrap),xt=""):_e.beginScope._multi&&(rs(_e.beginScope,Re),xt="")),qe=Object.create(_e,{parent:{value:qe}}),qe}function Ur(_e,Re,Ye){let rt=E(_e.endRe,Ye);if(rt){if(_e["on:end"]){const $t=new t(_e);_e["on:end"](Re,$t),$t.isMatchIgnored&&(rt=!1)}if(rt){for(;_e.endsParent&&_e.parent;)_e=_e.parent;return _e}}if(_e.endsWithParent)return Ur(_e.parent,Re,Ye)}function Oi(_e){return qe.matcher.regexIndex===0?(xt+=_e[0],1):(Di=!0,0)}function is(_e){const Re=_e[0],Ye=_e.rule,rt=new t(Ye),$t=[Ye.__beforeBegin,Ye["on:begin"]];for(const or of $t)if(or&&(or(_e,rt),rt.isMatchIgnored))return Oi(Re);return Ye.skip?xt+=Re:(Ye.excludeBegin&&(xt+=Re),_t(),!Ye.returnBegin&&!Ye.excludeBegin&&(xt=Re)),Mi(Ye,_e),Ye.returnBegin?0:Re.length}function Cn(_e){const Re=_e[0],Ye=Le.substring(_e.index),rt=Ur(qe,_e,Ye);if(!rt)return nt;const $t=qe;qe.endScope&&qe.endScope._wrap?(_t(),jn(Re,qe.endScope._wrap)):qe.endScope&&qe.endScope._multi?(_t(),rs(qe.endScope,_e)):$t.skip?xt+=Re:($t.returnEnd||$t.excludeEnd||(xt+=Re),_t(),$t.excludeEnd&&(xt=Re));do qe.scope&&en.closeNode(),!qe.skip&&!qe.subLanguage&&(ji+=qe.relevance),qe=qe.parent;while(qe!==rt.parent);return rt.starts&&Mi(rt.starts,_e),$t.returnEnd?0:Re.length}function ba(){const _e=[];for(let Re=qe;Re!==dn;Re=Re.parent)Re.scope&&_e.unshift(Re.scope);_e.forEach(Re=>en.openNode(Re))}let Sr={};function Ri(_e,Re){const Ye=Re&&Re[0];if(xt+=_e,Ye==null)return _t(),0;if(Sr.type==="begin"&&Re.type==="end"&&Sr.index===Re.index&&Ye===""){if(xt+=Le.slice(Re.index,Re.index+1),!St){const rt=new Error(`0 width match regex (${ye})`);throw rt.languageName=ye,rt.badRule=Sr.rule,rt}return 1}if(Sr=Re,Re.type==="begin")return is(Re);if(Re.type==="illegal"&&!Qe){const rt=new Error('Illegal lexeme "'+Ye+'" for mode "'+(qe.scope||"")+'"');throw rt.mode=qe,rt}else if(Re.type==="end"){const rt=Cn(Re);if(rt!==nt)return rt}if(Re.type==="illegal"&&Ye==="")return xt+=` -`,1;if(al>1e5&&al>Re.index*3)throw new Error("potential infinite loop, way more iterations than matches");return xt+=Ye,Ye.length}const dn=bn(ye);if(!dn)throw ct(gt.replace("{}",ye)),new Error('Unknown language: "'+ye+'"');const ya=Zt(dn);let as="",qe=ft||ya;const Po={},en=new Se.__emitter(Se);ba();let xt="",ji=0,ei=0,al=0,Di=!1;try{if(dn.__emitTokens)dn.__emitTokens(Le,en);else{for(qe.matcher.considerAll();;){al++,Di?Di=!1:qe.matcher.considerAll(),qe.matcher.lastIndex=ei;const _e=qe.matcher.exec(Le);if(!_e)break;const Re=Le.substring(ei,_e.index),Ye=Ri(Re,_e);ei=_e.index+Ye}Ri(Le.substring(ei))}return en.finalize(),as=en.toHTML(),{language:ye,value:as,relevance:ji,illegal:!1,_emitter:en,_top:qe}}catch(_e){if(_e.message&&_e.message.includes("Illegal"))return{language:ye,value:un(Le),illegal:!0,relevance:0,_illegalBy:{message:_e.message,index:ei,context:Le.slice(ei-100,ei+100),mode:_e.mode,resultSoFar:as},_emitter:en};if(St)return{language:ye,value:un(Le),illegal:!1,relevance:0,errorRaised:_e,_emitter:en,_top:qe};throw _e}}function ki(ye){const Le={value:un(ye),illegal:!1,relevance:0,_top:Me,_emitter:new Se.__emitter(Se)};return Le._emitter.addText(ye),Le}function Ci(ye,Le){Le=Le||Se.languages||Object.keys(me);const Qe=ki(ye),ft=Le.filter(bn).filter(Er).map(_t=>vr(_t,ye,!1));ft.unshift(Qe);const Ht=ft.sort((_t,jn)=>{if(_t.relevance!==jn.relevance)return jn.relevance-_t.relevance;if(_t.language&&jn.language){if(bn(_t.language).supersetOf===jn.language)return 1;if(bn(jn.language).supersetOf===_t.language)return-1}return 0}),[gn,Rn]=Ht,kn=gn;return kn.secondBest=Rn,kn}function lr(ye,Le,Qe){const ft=Le&&Ee[Le]||Qe;ye.classList.add("hljs"),ye.classList.add(`language-${ft}`)}function Ut(ye){let Le=null;const Qe=Bt(ye);if(Ue(Qe))return;if(Jr("before:highlightElement",{el:ye,language:Qe}),ye.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",ye);return}if(ye.children.length>0&&(Se.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(ye)),Se.throwUnescapedHTML))throw new In("One of your code blocks includes unescaped HTML.",ye.innerHTML);Le=ye;const ft=Le.textContent,Ht=Qe?Mt(ft,{language:Qe,ignoreIllegals:!0}):Ci(ft);ye.innerHTML=Ht.value,ye.dataset.highlighted="yes",lr(ye,Qe,Ht.language),ye.result={language:Ht.language,re:Ht.relevance,relevance:Ht.relevance},Ht.secondBest&&(ye.secondBest={language:Ht.secondBest.language,relevance:Ht.secondBest.relevance}),Jr("after:highlightElement",{el:ye,result:Ht,text:ft})}function pn(ye){Se=Si(Se,ye)}const _r=()=>{Ai(),ue("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Ti(){Ai(),ue("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let ga=!1;function Ai(){function ye(){Ai()}if(document.readyState==="loading"){ga||window.addEventListener("DOMContentLoaded",ye,!1),ga=!0;return}document.querySelectorAll(Se.cssSelector).forEach(Ut)}function ts(ye,Le){let Qe=null;try{Qe=Le(re)}catch(ft){if(ct("Language definition for '{}' could not be registered.".replace("{}",ye)),St)ct(ft);else throw ft;Qe=Me}Qe.name||(Qe.name=ye),me[ye]=Qe,Qe.rawDefinition=Le.bind(null,re),Qe.aliases&&wr(Qe.aliases,{languageName:ye})}function Wr(ye){delete me[ye];for(const Le of Object.keys(Ee))Ee[Le]===ye&&delete Ee[Le]}function xa(){return Object.keys(me)}function bn(ye){return ye=(ye||"").toLowerCase(),me[ye]||me[Ee[ye]]}function wr(ye,{languageName:Le}){typeof ye=="string"&&(ye=[ye]),ye.forEach(Qe=>{Ee[Qe.toLowerCase()]=Le})}function Er(ye){const Le=bn(ye);return Le&&!Le.disableAutodetect}function Br(ye){ye["before:highlightBlock"]&&!ye["before:highlightElement"]&&(ye["before:highlightElement"]=Le=>{ye["before:highlightBlock"](Object.assign({block:Le.el},Le))}),ye["after:highlightBlock"]&&!ye["after:highlightElement"]&&(ye["after:highlightElement"]=Le=>{ye["after:highlightBlock"](Object.assign({block:Le.el},Le))})}function Ft(ye){Br(ye),Pe.push(ye)}function ns(ye){const Le=Pe.indexOf(ye);Le!==-1&&Pe.splice(Le,1)}function Jr(ye,Le){const Qe=ye;Pe.forEach(function(ft){ft[Qe]&&ft[Qe](Le)})}function Nr(ye){return ue("10.7.0","highlightBlock will be removed entirely in v12.0"),ue("10.7.0","Please use highlightElement now."),Ut(ye)}Object.assign(re,{highlight:Mt,highlightAuto:Ci,highlightAll:Ai,highlightElement:Ut,highlightBlock:Nr,configure:pn,initHighlighting:_r,initHighlightingOnLoad:Ti,registerLanguage:ts,unregisterLanguage:Wr,listLanguages:xa,getLanguage:bn,registerAliases:wr,autoDetection:Er,inherit:Si,addPlugin:Ft,removePlugin:ns}),re.debugMode=function(){St=!1},re.safeMode=function(){St=!0},re.versionString=ut,re.regex={concat:N,lookahead:b,either:w,optional:_,anyNumberOfTimes:y};for(const ye in oe)typeof oe[ye]=="object"&&e(oe[ye]);return Object.assign(re,oe),re},mn=On({});return mn.newInstance=()=>On({}),Bh=mn,mn.HighlightJS=mn,mn.default=mn,Bh}var Uh,lv;function cj(){if(lv)return Uh;lv=1;function e(t){const r=t.regex,a=r.concat(/[\p{L}_]/u,r.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),s=/[\p{L}0-9._:-]+/u,o={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},c={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},d=t.inherit(c,{begin:/\(/,end:/\)/}),h=t.inherit(t.APOS_STRING_MODE,{className:"string"}),f=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),p={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[c,f,h,d,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[c,d,f,h]}]}]},t.COMMENT(//,{relevance:10}),{begin://,relevance:10},o,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[f]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[p],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[p],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:r.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:a,relevance:0,starts:p}]},{className:"tag",begin:r.concat(/<\//,r.lookahead(r.concat(a,/>/))),contains:[{className:"name",begin:a,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}return Uh=e,Uh}var Hh,ov;function uj(){if(ov)return Hh;ov=1;function e(t){const r=t.regex,a={},s={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[a]}]};Object.assign(a,{className:"variable",variants:[{begin:r.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},s]});const o={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},c=t.inherit(t.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),d={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},h={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,a,o]};o.contains.push(h);const f={match:/\\"/},p={className:"string",begin:/'/,end:/'/},g={match:/\\'/},b={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,a]},y=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],_=t.SHEBANG({binary:`(${y.join("|")})`,relevance:10}),N={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},S=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],w=["true","false"],C={match:/(\/[a-z._-]+)+/},E=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],A=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],B=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],R=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:S,literal:w,built_in:[...E,...A,"set","shopt",...B,...R]},contains:[_,t.SHEBANG(),N,b,c,d,C,h,f,p,g,a]}}return Hh=e,Hh}var $h,cv;function dj(){if(cv)return $h;cv=1;function e(t){const r=t.regex,a=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",d="("+s+"|"+r.optional(o)+"[a-zA-Z_]\\w*"+r.optional("<[^<>]+>")+")",h={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},p={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},g={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},b={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(p,{className:"string"}),{className:"string",begin:/<.*?>/},a,t.C_BLOCK_COMMENT_MODE]},y={className:"title",begin:r.optional(o)+t.IDENT_RE,relevance:0},_=r.optional(o)+t.IDENT_RE+"\\s*\\(",w={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},C=[b,h,a,t.C_BLOCK_COMMENT_MODE,g,p],E={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:w,contains:C.concat([{begin:/\(/,end:/\)/,keywords:w,contains:C.concat(["self"]),relevance:0}]),relevance:0},A={begin:"("+d+"[\\*&\\s]+)+"+_,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:w,relevance:0},{begin:_,returnBegin:!0,contains:[t.inherit(y,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[a,t.C_BLOCK_COMMENT_MODE,p,g,h,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",a,t.C_BLOCK_COMMENT_MODE,p,g,h]}]},h,a,t.C_BLOCK_COMMENT_MODE,b]};return{name:"C",aliases:["h"],keywords:w,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{preprocessor:b,strings:p,keywords:w}}}return $h=e,$h}var qh,uv;function fj(){if(uv)return qh;uv=1;function e(t){const r=t.regex,a=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",d="(?!struct)("+s+"|"+r.optional(o)+"[a-zA-Z_]\\w*"+r.optional("<[^<>]+>")+")",h={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},p={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},g={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},b={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(p,{className:"string"}),{className:"string",begin:/<.*?>/},a,t.C_BLOCK_COMMENT_MODE]},y={className:"title",begin:r.optional(o)+t.IDENT_RE,relevance:0},_=r.optional(o)+t.IDENT_RE+"\\s*\\(",N=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],S=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],w=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],C=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],B={type:S,keyword:N,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:w},R={className:"function.dispatch",relevance:0,keywords:{_hint:C},begin:r.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,t.IDENT_RE,r.lookahead(/(<[^<>]+>|)\s*\(/))},H=[R,b,h,a,t.C_BLOCK_COMMENT_MODE,g,p],z={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:B,contains:H.concat([{begin:/\(/,end:/\)/,keywords:B,contains:H.concat(["self"]),relevance:0}]),relevance:0},Y={className:"function",begin:"("+d+"[\\*&\\s]+)+"+_,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:B,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:B,relevance:0},{begin:_,returnBegin:!0,contains:[y],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[p,g]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:[a,t.C_BLOCK_COMMENT_MODE,p,g,h,{begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:["self",a,t.C_BLOCK_COMMENT_MODE,p,g,h]}]},h,a,t.C_BLOCK_COMMENT_MODE,b]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:B,illegal:"",keywords:B,contains:["self",h]},{begin:t.IDENT_RE+"::",keywords:B},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}return qh=e,qh}var Ph,dv;function hj(){if(dv)return Ph;dv=1;function e(t){const r=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],a=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],s=["default","false","null","true"],o=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],c=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],d={keyword:o.concat(c),built_in:r,literal:s},h=t.inherit(t.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),f={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},p={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},g={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},b=t.inherit(g,{illegal:/\n/}),y={className:"subst",begin:/\{/,end:/\}/,keywords:d},_=t.inherit(y,{illegal:/\n/}),N={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},t.BACKSLASH_ESCAPE,_]},S={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},y]},w=t.inherit(S,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},_]});y.contains=[S,N,g,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,t.C_BLOCK_COMMENT_MODE],_.contains=[w,N,b,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,t.inherit(t.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const C={variants:[p,S,N,g,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},h]},A=t.IDENT_RE+"(<"+t.IDENT_RE+"(\\s*,\\s*"+t.IDENT_RE+")*>)?(\\[\\])?",B={begin:"@"+t.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:d,illegal:/::/,contains:[t.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},C,f,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},h,E,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[h,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[h,E,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+A+"\\s+)+"+t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:d,contains:[{beginKeywords:a.join(" "),relevance:0},{begin:t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[t.TITLE_MODE,E],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,relevance:0,contains:[C,f,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},B]}}return Ph=e,Ph}var Fh,fv;function mj(){if(fv)return Fh;fv=1;const e=f=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:f.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:f.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),t=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],r=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],a=[...t,...r],s=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),o=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),c=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),d=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function h(f){const p=f.regex,g=e(f),b={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},y="and or not only",_=/@-?\w[\w]*(-\w+)*/,N="[a-zA-Z-][a-zA-Z0-9_-]*",S=[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[g.BLOCK_COMMENT,b,g.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+N,relevance:0},g.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+o.join("|")+")"},{begin:":(:)?("+c.join("|")+")"}]},g.CSS_VARIABLE,{className:"attribute",begin:"\\b("+d.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[g.BLOCK_COMMENT,g.HEXCOLOR,g.IMPORTANT,g.CSS_NUMBER_MODE,...S,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...S,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},g.FUNCTION_DISPATCH]},{begin:p.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:_},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:y,attribute:s.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...S,g.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+a.join("|")+")\\b"}]}}return Fh=h,Fh}var Gh,hv;function pj(){if(hv)return Gh;hv=1;function e(t){const r=t.regex,a={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},s={begin:"^[-\\*]{3,}",end:"$"},o={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},c={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},d={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},h=/[A-Za-z][A-Za-z0-9+.-]*/,f={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:r.concat(/\[.+?\]\(/,h,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},p={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},g={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},b=t.inherit(p,{contains:[]}),y=t.inherit(g,{contains:[]});p.contains.push(y),g.contains.push(b);let _=[a,f];return[p,g,b,y].forEach(C=>{C.contains=C.contains.concat(_)}),_=_.concat(p,g),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:_},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:_}]}]},a,c,p,g,{className:"quote",begin:"^>\\s+",contains:_,end:"$"},o,s,f,d,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}return Gh=e,Gh}var Vh,mv;function gj(){if(mv)return Vh;mv=1;function e(t){const r=t.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:r.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:r.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}return Vh=e,Vh}var Yh,pv;function xj(){if(pv)return Yh;pv=1;function e(t){const r=t.regex,a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",s=r.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),o=r.concat(s,/(::\w+)*/),d={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},h={className:"doctag",begin:"@[A-Za-z]+"},f={begin:"#<",end:">"},p=[t.COMMENT("#","$",{contains:[h]}),t.COMMENT("^=begin","^=end",{contains:[h],relevance:10}),t.COMMENT("^__END__",t.MATCH_NOTHING_RE)],g={className:"subst",begin:/#\{/,end:/\}/,keywords:d},b={className:"string",contains:[t.BACKSLASH_ESCAPE,g],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:r.concat(/<<[-~]?'?/,r.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[t.BACKSLASH_ESCAPE,g]})]}]},y="[1-9](_?[0-9])*|0",_="[0-9](_?[0-9])*",N={className:"number",relevance:0,variants:[{begin:`\\b(${y})(\\.(${_}))?([eE][+-]?(${_})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},S={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:d}]},H=[b,{variants:[{match:[/class\s+/,o,/\s+<\s+/,o]},{match:[/\b(class|module)\s+/,o]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:d},{match:[/(include|extend)\s+/,o],scope:{2:"title.class"},keywords:d},{relevance:0,match:[o,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:s,scope:"title.class"},{match:[/def/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[S]},{begin:t.IDENT_RE+"::"},{className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[b,{begin:a}],relevance:0},N,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:d},{begin:"("+t.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[t.BACKSLASH_ESCAPE,g],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(f,p),relevance:0}].concat(f,p);g.contains=H,S.contains=H;const I=[{begin:/^\s*=>/,starts:{end:"$",contains:H}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:d,contains:H}}];return p.unshift(f),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:d,illegal:/\/\*/,contains:[t.SHEBANG({binary:"ruby"})].concat(I).concat(p).concat(H)}}return Yh=e,Yh}var Xh,gv;function bj(){if(gv)return Xh;gv=1;function e(t){const c={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:c,illegal:"s(c,d,h-1))}function o(c){const d=c.regex,h="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",f=h+s("(?:<"+h+"~~~(?:\\s*,\\s*"+h+"~~~)*>)?",/~~~/g,2),_={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},N={className:"meta",begin:"@"+h,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},S={className:"params",begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:[c.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:_,illegal:/<\/|#/,contains:[c.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[c.BACKSLASH_ESCAPE]},c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,h],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[d.concat(/(?!else)/,h),/\s+/,h,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,h],className:{1:"keyword",3:"title.class"},contains:[S,c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+f+"\\s+)",c.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:_,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:[N,c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,a,c.C_BLOCK_COMMENT_MODE]},c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},a,N]}}return Qh=o,Qh}var Wh,vv;function wj(){if(vv)return Wh;vv=1;const e="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],r=["true","false","null","undefined","NaN","Infinity"],a=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],o=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],d=[].concat(o,a,s);function h(f){const p=f.regex,g=(J,{after:W})=>{const te="",end:""},_=/<[A-Za-z0-9\\._:-]+\s*\/>/,N={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(J,W)=>{const te=J[0].length+J.index,oe=J.input[te];if(oe==="<"||oe===","){W.ignoreMatch();return}oe===">"&&(g(J,{after:te})||W.ignoreMatch());let fe;const xe=J.input.substring(te);if(fe=xe.match(/^\s*=/)){W.ignoreMatch();return}if((fe=xe.match(/^\s+extends\s+/))&&fe.index===0){W.ignoreMatch();return}}},S={$pattern:e,keyword:t,literal:r,built_in:d,"variable.language":c},w="[0-9](_?[0-9])*",C=`\\.(${w})`,E="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",A={className:"number",variants:[{begin:`(\\b(${E})((${C})|\\.)?|(${C}))[eE][+-]?(${w})\\b`},{begin:`\\b(${E})\\b((${C})\\b|\\.)?|(${C})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},B={className:"subst",begin:"\\$\\{",end:"\\}",keywords:S,contains:[]},R={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[f.BACKSLASH_ESCAPE,B],subLanguage:"xml"}},H={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[f.BACKSLASH_ESCAPE,B],subLanguage:"css"}},z={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[f.BACKSLASH_ESCAPE,B],subLanguage:"graphql"}},Y={className:"string",begin:"`",end:"`",contains:[f.BACKSLASH_ESCAPE,B]},I={className:"comment",variants:[f.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:b+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),f.C_BLOCK_COMMENT_MODE,f.C_LINE_COMMENT_MODE]},Z=[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE,R,H,z,Y,{match:/\$\d+/},A];B.contains=Z.concat({begin:/\{/,end:/\}/,keywords:S,contains:["self"].concat(Z)});const P=[].concat(I,B.contains),k=P.concat([{begin:/(\s*)\(/,end:/\)/,keywords:S,contains:["self"].concat(P)}]),$={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:S,contains:k},O={variants:[{match:[/class/,/\s+/,b,/\s+/,/extends/,/\s+/,p.concat(b,"(",p.concat(/\./,b),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,b],scope:{1:"keyword",3:"title.class"}}]},U={relevance:0,match:p.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...a,...s]}},K={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},X={variants:[{match:[/function/,/\s+/,b,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[$],illegal:/%/},M={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function L(J){return p.concat("(?!",J.join("|"),")")}const F={match:p.concat(/\b/,L([...o,"super","import"].map(J=>`${J}\\s*\\(`)),b,p.lookahead(/\s*\(/)),className:"title.function",relevance:0},D={begin:p.concat(/\./,p.lookahead(p.concat(b,/(?![0-9A-Za-z$_(])/))),end:b,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},V={match:[/get|set/,/\s+/,b,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},$]},q="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+f.UNDERSCORE_IDENT_RE+")\\s*=>",Q={match:[/const|var|let/,/\s+/,b,/\s*/,/=\s*/,/(async\s*)?/,p.lookahead(q)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[$]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:S,exports:{PARAMS_CONTAINS:k,CLASS_REFERENCE:U},illegal:/#(?![$_A-z])/,contains:[f.SHEBANG({label:"shebang",binary:"node",relevance:5}),K,f.APOS_STRING_MODE,f.QUOTE_STRING_MODE,R,H,z,Y,I,{match:/\$\d+/},A,U,{scope:"attr",match:b+p.lookahead(":"),relevance:0},Q,{begin:"("+f.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[I,f.REGEXP_MODE,{className:"function",begin:q,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:f.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:S,contains:k}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:y.begin,end:y.end},{match:_},{begin:N.begin,"on:begin":N.isTrulyOpeningTag,end:N.end}],subLanguage:"xml",contains:[{begin:N.begin,end:N.end,skip:!0,contains:["self"]}]}]},X,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+f.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[$,f.inherit(f.TITLE_MODE,{begin:b,className:"title.function"})]},{match:/\.\.\./,relevance:0},D,{match:"\\$"+b,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[$]},F,M,O,V,{match:/\$[(.]/}]}}return Wh=h,Wh}var Jh,_v;function Ej(){if(_v)return Jh;_v=1;function e(t){const r={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},a={match:/[{}[\],:]/,className:"punctuation",relevance:0},s=["true","false","null"],o={scope:"literal",beginKeywords:s.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:s},contains:[r,a,t.QUOTE_STRING_MODE,o,t.C_NUMBER_MODE,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}return Jh=e,Jh}var em,wv;function Nj(){if(wv)return em;wv=1;var e="[0-9](_*[0-9])*",t=`\\.(${e})`,r="[0-9a-fA-F](_*[0-9a-fA-F])*",a={className:"number",variants:[{begin:`(\\b(${e})((${t})|\\.)?|(${t}))[eE][+-]?(${e})[fFdD]?\\b`},{begin:`\\b(${e})((${t})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${t})[fFdD]?\\b`},{begin:`\\b(${e})[fFdD]\\b`},{begin:`\\b0[xX]((${r})\\.?|(${r})?\\.(${r}))[pP][+-]?(${e})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${r})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function s(o){const c={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},d={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},h={className:"symbol",begin:o.UNDERSCORE_IDENT_RE+"@"},f={className:"subst",begin:/\$\{/,end:/\}/,contains:[o.C_NUMBER_MODE]},p={className:"variable",begin:"\\$"+o.UNDERSCORE_IDENT_RE},g={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[p,f]},{begin:"'",end:"'",illegal:/\n/,contains:[o.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[o.BACKSLASH_ESCAPE,p,f]}]};f.contains.push(g);const b={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+o.UNDERSCORE_IDENT_RE+")?"},y={className:"meta",begin:"@"+o.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[o.inherit(g,{className:"string"}),"self"]}]},_=a,N=o.COMMENT("/\\*","\\*/",{contains:[o.C_BLOCK_COMMENT_MODE]}),S={variants:[{className:"type",begin:o.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},w=S;return w.variants[1].contains=[S],S.variants[1].contains=[w],{name:"Kotlin",aliases:["kt","kts"],keywords:c,contains:[o.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),o.C_LINE_COMMENT_MODE,N,d,h,b,y,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:c,relevance:5,contains:[{begin:o.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[o.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:c,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[S,o.C_LINE_COMMENT_MODE,N],relevance:0},o.C_LINE_COMMENT_MODE,N,b,y,g,o.C_NUMBER_MODE]},N]},{begin:[/class|interface|trait/,/\s+/,o.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},o.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},b,y]},g,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` +`,1;if(al>1e5&&al>Re.index*3)throw new Error("potential infinite loop, way more iterations than matches");return xt+=Ye,Ye.length}const dn=bn(ye);if(!dn)throw ct(gt.replace("{}",ye)),new Error('Unknown language: "'+ye+'"');const ya=Zt(dn);let as="",qe=ft||ya;const Po={},en=new Se.__emitter(Se);ba();let xt="",ji=0,ei=0,al=0,Di=!1;try{if(dn.__emitTokens)dn.__emitTokens(Le,en);else{for(qe.matcher.considerAll();;){al++,Di?Di=!1:qe.matcher.considerAll(),qe.matcher.lastIndex=ei;const _e=qe.matcher.exec(Le);if(!_e)break;const Re=Le.substring(ei,_e.index),Ye=Ri(Re,_e);ei=_e.index+Ye}Ri(Le.substring(ei))}return en.finalize(),as=en.toHTML(),{language:ye,value:as,relevance:ji,illegal:!1,_emitter:en,_top:qe}}catch(_e){if(_e.message&&_e.message.includes("Illegal"))return{language:ye,value:un(Le),illegal:!0,relevance:0,_illegalBy:{message:_e.message,index:ei,context:Le.slice(ei-100,ei+100),mode:_e.mode,resultSoFar:as},_emitter:en};if(St)return{language:ye,value:un(Le),illegal:!1,relevance:0,errorRaised:_e,_emitter:en,_top:qe};throw _e}}function ki(ye){const Le={value:un(ye),illegal:!1,relevance:0,_top:Me,_emitter:new Se.__emitter(Se)};return Le._emitter.addText(ye),Le}function Ci(ye,Le){Le=Le||Se.languages||Object.keys(me);const Qe=ki(ye),ft=Le.filter(bn).filter(Er).map(_t=>vr(_t,ye,!1));ft.unshift(Qe);const Ht=ft.sort((_t,jn)=>{if(_t.relevance!==jn.relevance)return jn.relevance-_t.relevance;if(_t.language&&jn.language){if(bn(_t.language).supersetOf===jn.language)return 1;if(bn(jn.language).supersetOf===_t.language)return-1}return 0}),[gn,Rn]=Ht,kn=gn;return kn.secondBest=Rn,kn}function lr(ye,Le,Qe){const ft=Le&&Ee[Le]||Qe;ye.classList.add("hljs"),ye.classList.add(`language-${ft}`)}function Ut(ye){let Le=null;const Qe=Bt(ye);if(Ue(Qe))return;if(Jr("before:highlightElement",{el:ye,language:Qe}),ye.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",ye);return}if(ye.children.length>0&&(Se.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(ye)),Se.throwUnescapedHTML))throw new In("One of your code blocks includes unescaped HTML.",ye.innerHTML);Le=ye;const ft=Le.textContent,Ht=Qe?Mt(ft,{language:Qe,ignoreIllegals:!0}):Ci(ft);ye.innerHTML=Ht.value,ye.dataset.highlighted="yes",lr(ye,Qe,Ht.language),ye.result={language:Ht.language,re:Ht.relevance,relevance:Ht.relevance},Ht.secondBest&&(ye.secondBest={language:Ht.secondBest.language,relevance:Ht.secondBest.relevance}),Jr("after:highlightElement",{el:ye,result:Ht,text:ft})}function pn(ye){Se=Si(Se,ye)}const _r=()=>{Ai(),ue("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Ti(){Ai(),ue("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let ga=!1;function Ai(){function ye(){Ai()}if(document.readyState==="loading"){ga||window.addEventListener("DOMContentLoaded",ye,!1),ga=!0;return}document.querySelectorAll(Se.cssSelector).forEach(Ut)}function ts(ye,Le){let Qe=null;try{Qe=Le(re)}catch(ft){if(ct("Language definition for '{}' could not be registered.".replace("{}",ye)),St)ct(ft);else throw ft;Qe=Me}Qe.name||(Qe.name=ye),me[ye]=Qe,Qe.rawDefinition=Le.bind(null,re),Qe.aliases&&wr(Qe.aliases,{languageName:ye})}function Wr(ye){delete me[ye];for(const Le of Object.keys(Ee))Ee[Le]===ye&&delete Ee[Le]}function xa(){return Object.keys(me)}function bn(ye){return ye=(ye||"").toLowerCase(),me[ye]||me[Ee[ye]]}function wr(ye,{languageName:Le}){typeof ye=="string"&&(ye=[ye]),ye.forEach(Qe=>{Ee[Qe.toLowerCase()]=Le})}function Er(ye){const Le=bn(ye);return Le&&!Le.disableAutodetect}function Br(ye){ye["before:highlightBlock"]&&!ye["before:highlightElement"]&&(ye["before:highlightElement"]=Le=>{ye["before:highlightBlock"](Object.assign({block:Le.el},Le))}),ye["after:highlightBlock"]&&!ye["after:highlightElement"]&&(ye["after:highlightElement"]=Le=>{ye["after:highlightBlock"](Object.assign({block:Le.el},Le))})}function Gt(ye){Br(ye),Pe.push(ye)}function ns(ye){const Le=Pe.indexOf(ye);Le!==-1&&Pe.splice(Le,1)}function Jr(ye,Le){const Qe=ye;Pe.forEach(function(ft){ft[Qe]&&ft[Qe](Le)})}function Nr(ye){return ue("10.7.0","highlightBlock will be removed entirely in v12.0"),ue("10.7.0","Please use highlightElement now."),Ut(ye)}Object.assign(re,{highlight:Mt,highlightAuto:Ci,highlightAll:Ai,highlightElement:Ut,highlightBlock:Nr,configure:pn,initHighlighting:_r,initHighlightingOnLoad:Ti,registerLanguage:ts,unregisterLanguage:Wr,listLanguages:xa,getLanguage:bn,registerAliases:wr,autoDetection:Er,inherit:Si,addPlugin:Gt,removePlugin:ns}),re.debugMode=function(){St=!1},re.safeMode=function(){St=!0},re.versionString=ut,re.regex={concat:N,lookahead:b,either:w,optional:_,anyNumberOfTimes:y};for(const ye in oe)typeof oe[ye]=="object"&&e(oe[ye]);return Object.assign(re,oe),re},mn=On({});return mn.newInstance=()=>On({}),Bh=mn,mn.HighlightJS=mn,mn.default=mn,Bh}var Uh,lv;function cj(){if(lv)return Uh;lv=1;function e(t){const r=t.regex,a=r.concat(/[\p{L}_]/u,r.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),s=/[\p{L}0-9._:-]+/u,o={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},c={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},d=t.inherit(c,{begin:/\(/,end:/\)/}),h=t.inherit(t.APOS_STRING_MODE,{className:"string"}),f=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),p={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[c,f,h,d,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[c,d,f,h]}]}]},t.COMMENT(//,{relevance:10}),{begin://,relevance:10},o,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[f]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[p],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[p],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:r.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:a,relevance:0,starts:p}]},{className:"tag",begin:r.concat(/<\//,r.lookahead(r.concat(a,/>/))),contains:[{className:"name",begin:a,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}return Uh=e,Uh}var Hh,ov;function uj(){if(ov)return Hh;ov=1;function e(t){const r=t.regex,a={},s={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[a]}]};Object.assign(a,{className:"variable",variants:[{begin:r.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},s]});const o={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},c=t.inherit(t.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),d={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},h={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,a,o]};o.contains.push(h);const f={match:/\\"/},p={className:"string",begin:/'/,end:/'/},g={match:/\\'/},b={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,a]},y=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],_=t.SHEBANG({binary:`(${y.join("|")})`,relevance:10}),N={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},S=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],w=["true","false"],C={match:/(\/[a-z._-]+)+/},E=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],A=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],B=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],R=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:S,literal:w,built_in:[...E,...A,"set","shopt",...B,...R]},contains:[_,t.SHEBANG(),N,b,c,d,C,h,f,p,g,a]}}return Hh=e,Hh}var $h,cv;function dj(){if(cv)return $h;cv=1;function e(t){const r=t.regex,a=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",d="("+s+"|"+r.optional(o)+"[a-zA-Z_]\\w*"+r.optional("<[^<>]+>")+")",h={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},p={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},g={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},b={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(p,{className:"string"}),{className:"string",begin:/<.*?>/},a,t.C_BLOCK_COMMENT_MODE]},y={className:"title",begin:r.optional(o)+t.IDENT_RE,relevance:0},_=r.optional(o)+t.IDENT_RE+"\\s*\\(",w={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},C=[b,h,a,t.C_BLOCK_COMMENT_MODE,g,p],E={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:w,contains:C.concat([{begin:/\(/,end:/\)/,keywords:w,contains:C.concat(["self"]),relevance:0}]),relevance:0},A={begin:"("+d+"[\\*&\\s]+)+"+_,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:w,relevance:0},{begin:_,returnBegin:!0,contains:[t.inherit(y,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[a,t.C_BLOCK_COMMENT_MODE,p,g,h,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",a,t.C_BLOCK_COMMENT_MODE,p,g,h]}]},h,a,t.C_BLOCK_COMMENT_MODE,b]};return{name:"C",aliases:["h"],keywords:w,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{preprocessor:b,strings:p,keywords:w}}}return $h=e,$h}var qh,uv;function fj(){if(uv)return qh;uv=1;function e(t){const r=t.regex,a=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",d="(?!struct)("+s+"|"+r.optional(o)+"[a-zA-Z_]\\w*"+r.optional("<[^<>]+>")+")",h={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},p={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},g={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},b={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(p,{className:"string"}),{className:"string",begin:/<.*?>/},a,t.C_BLOCK_COMMENT_MODE]},y={className:"title",begin:r.optional(o)+t.IDENT_RE,relevance:0},_=r.optional(o)+t.IDENT_RE+"\\s*\\(",N=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],S=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],w=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],C=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],B={type:S,keyword:N,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:w},R={className:"function.dispatch",relevance:0,keywords:{_hint:C},begin:r.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,t.IDENT_RE,r.lookahead(/(<[^<>]+>|)\s*\(/))},H=[R,b,h,a,t.C_BLOCK_COMMENT_MODE,g,p],z={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:B,contains:H.concat([{begin:/\(/,end:/\)/,keywords:B,contains:H.concat(["self"]),relevance:0}]),relevance:0},Y={className:"function",begin:"("+d+"[\\*&\\s]+)+"+_,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:B,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:B,relevance:0},{begin:_,returnBegin:!0,contains:[y],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[p,g]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:[a,t.C_BLOCK_COMMENT_MODE,p,g,h,{begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:["self",a,t.C_BLOCK_COMMENT_MODE,p,g,h]}]},h,a,t.C_BLOCK_COMMENT_MODE,b]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:B,illegal:"",keywords:B,contains:["self",h]},{begin:t.IDENT_RE+"::",keywords:B},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}return qh=e,qh}var Ph,dv;function hj(){if(dv)return Ph;dv=1;function e(t){const r=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],a=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],s=["default","false","null","true"],o=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],c=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],d={keyword:o.concat(c),built_in:r,literal:s},h=t.inherit(t.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),f={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},p={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},g={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},b=t.inherit(g,{illegal:/\n/}),y={className:"subst",begin:/\{/,end:/\}/,keywords:d},_=t.inherit(y,{illegal:/\n/}),N={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},t.BACKSLASH_ESCAPE,_]},S={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},y]},w=t.inherit(S,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},_]});y.contains=[S,N,g,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,t.C_BLOCK_COMMENT_MODE],_.contains=[w,N,b,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,t.inherit(t.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const C={variants:[p,S,N,g,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},h]},A=t.IDENT_RE+"(<"+t.IDENT_RE+"(\\s*,\\s*"+t.IDENT_RE+")*>)?(\\[\\])?",B={begin:"@"+t.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:d,illegal:/::/,contains:[t.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},C,f,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},h,E,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[h,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[h,E,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+A+"\\s+)+"+t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:d,contains:[{beginKeywords:a.join(" "),relevance:0},{begin:t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[t.TITLE_MODE,E],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,relevance:0,contains:[C,f,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},B]}}return Ph=e,Ph}var Fh,fv;function mj(){if(fv)return Fh;fv=1;const e=f=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:f.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:f.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),t=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],r=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],a=[...t,...r],s=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),o=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),c=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),d=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function h(f){const p=f.regex,g=e(f),b={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},y="and or not only",_=/@-?\w[\w]*(-\w+)*/,N="[a-zA-Z-][a-zA-Z0-9_-]*",S=[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[g.BLOCK_COMMENT,b,g.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+N,relevance:0},g.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+o.join("|")+")"},{begin:":(:)?("+c.join("|")+")"}]},g.CSS_VARIABLE,{className:"attribute",begin:"\\b("+d.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[g.BLOCK_COMMENT,g.HEXCOLOR,g.IMPORTANT,g.CSS_NUMBER_MODE,...S,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...S,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},g.FUNCTION_DISPATCH]},{begin:p.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:_},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:y,attribute:s.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...S,g.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+a.join("|")+")\\b"}]}}return Fh=h,Fh}var Gh,hv;function pj(){if(hv)return Gh;hv=1;function e(t){const r=t.regex,a={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},s={begin:"^[-\\*]{3,}",end:"$"},o={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},c={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},d={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},h=/[A-Za-z][A-Za-z0-9+.-]*/,f={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:r.concat(/\[.+?\]\(/,h,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},p={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},g={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},b=t.inherit(p,{contains:[]}),y=t.inherit(g,{contains:[]});p.contains.push(y),g.contains.push(b);let _=[a,f];return[p,g,b,y].forEach(C=>{C.contains=C.contains.concat(_)}),_=_.concat(p,g),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:_},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:_}]}]},a,c,p,g,{className:"quote",begin:"^>\\s+",contains:_,end:"$"},o,s,f,d,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}return Gh=e,Gh}var Vh,mv;function gj(){if(mv)return Vh;mv=1;function e(t){const r=t.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:r.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:r.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}return Vh=e,Vh}var Yh,pv;function xj(){if(pv)return Yh;pv=1;function e(t){const r=t.regex,a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",s=r.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),o=r.concat(s,/(::\w+)*/),d={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},h={className:"doctag",begin:"@[A-Za-z]+"},f={begin:"#<",end:">"},p=[t.COMMENT("#","$",{contains:[h]}),t.COMMENT("^=begin","^=end",{contains:[h],relevance:10}),t.COMMENT("^__END__",t.MATCH_NOTHING_RE)],g={className:"subst",begin:/#\{/,end:/\}/,keywords:d},b={className:"string",contains:[t.BACKSLASH_ESCAPE,g],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:r.concat(/<<[-~]?'?/,r.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[t.BACKSLASH_ESCAPE,g]})]}]},y="[1-9](_?[0-9])*|0",_="[0-9](_?[0-9])*",N={className:"number",relevance:0,variants:[{begin:`\\b(${y})(\\.(${_}))?([eE][+-]?(${_})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},S={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:d}]},H=[b,{variants:[{match:[/class\s+/,o,/\s+<\s+/,o]},{match:[/\b(class|module)\s+/,o]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:d},{match:[/(include|extend)\s+/,o],scope:{2:"title.class"},keywords:d},{relevance:0,match:[o,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:s,scope:"title.class"},{match:[/def/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[S]},{begin:t.IDENT_RE+"::"},{className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[b,{begin:a}],relevance:0},N,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:d},{begin:"("+t.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[t.BACKSLASH_ESCAPE,g],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(f,p),relevance:0}].concat(f,p);g.contains=H,S.contains=H;const I=[{begin:/^\s*=>/,starts:{end:"$",contains:H}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:d,contains:H}}];return p.unshift(f),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:d,illegal:/\/\*/,contains:[t.SHEBANG({binary:"ruby"})].concat(I).concat(p).concat(H)}}return Yh=e,Yh}var Xh,gv;function bj(){if(gv)return Xh;gv=1;function e(t){const c={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:c,illegal:"s(c,d,h-1))}function o(c){const d=c.regex,h="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",f=h+s("(?:<"+h+"~~~(?:\\s*,\\s*"+h+"~~~)*>)?",/~~~/g,2),_={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},N={className:"meta",begin:"@"+h,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},S={className:"params",begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:[c.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:_,illegal:/<\/|#/,contains:[c.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[c.BACKSLASH_ESCAPE]},c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,h],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[d.concat(/(?!else)/,h),/\s+/,h,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,h],className:{1:"keyword",3:"title.class"},contains:[S,c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+f+"\\s+)",c.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:_,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:[N,c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,a,c.C_BLOCK_COMMENT_MODE]},c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE]},a,N]}}return Qh=o,Qh}var Wh,vv;function wj(){if(vv)return Wh;vv=1;const e="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],r=["true","false","null","undefined","NaN","Infinity"],a=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],o=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],d=[].concat(o,a,s);function h(f){const p=f.regex,g=(J,{after:W})=>{const te="",end:""},_=/<[A-Za-z0-9\\._:-]+\s*\/>/,N={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(J,W)=>{const te=J[0].length+J.index,oe=J.input[te];if(oe==="<"||oe===","){W.ignoreMatch();return}oe===">"&&(g(J,{after:te})||W.ignoreMatch());let fe;const xe=J.input.substring(te);if(fe=xe.match(/^\s*=/)){W.ignoreMatch();return}if((fe=xe.match(/^\s+extends\s+/))&&fe.index===0){W.ignoreMatch();return}}},S={$pattern:e,keyword:t,literal:r,built_in:d,"variable.language":c},w="[0-9](_?[0-9])*",C=`\\.(${w})`,E="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",A={className:"number",variants:[{begin:`(\\b(${E})((${C})|\\.)?|(${C}))[eE][+-]?(${w})\\b`},{begin:`\\b(${E})\\b((${C})\\b|\\.)?|(${C})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},B={className:"subst",begin:"\\$\\{",end:"\\}",keywords:S,contains:[]},R={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[f.BACKSLASH_ESCAPE,B],subLanguage:"xml"}},H={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[f.BACKSLASH_ESCAPE,B],subLanguage:"css"}},z={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[f.BACKSLASH_ESCAPE,B],subLanguage:"graphql"}},Y={className:"string",begin:"`",end:"`",contains:[f.BACKSLASH_ESCAPE,B]},I={className:"comment",variants:[f.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:b+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),f.C_BLOCK_COMMENT_MODE,f.C_LINE_COMMENT_MODE]},Z=[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE,R,H,z,Y,{match:/\$\d+/},A];B.contains=Z.concat({begin:/\{/,end:/\}/,keywords:S,contains:["self"].concat(Z)});const P=[].concat(I,B.contains),k=P.concat([{begin:/(\s*)\(/,end:/\)/,keywords:S,contains:["self"].concat(P)}]),$={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:S,contains:k},O={variants:[{match:[/class/,/\s+/,b,/\s+/,/extends/,/\s+/,p.concat(b,"(",p.concat(/\./,b),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,b],scope:{1:"keyword",3:"title.class"}}]},U={relevance:0,match:p.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...a,...s]}},K={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},X={variants:[{match:[/function/,/\s+/,b,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[$],illegal:/%/},M={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function L(J){return p.concat("(?!",J.join("|"),")")}const F={match:p.concat(/\b/,L([...o,"super","import"].map(J=>`${J}\\s*\\(`)),b,p.lookahead(/\s*\(/)),className:"title.function",relevance:0},D={begin:p.concat(/\./,p.lookahead(p.concat(b,/(?![0-9A-Za-z$_(])/))),end:b,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},V={match:[/get|set/,/\s+/,b,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},$]},q="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+f.UNDERSCORE_IDENT_RE+")\\s*=>",Q={match:[/const|var|let/,/\s+/,b,/\s*/,/=\s*/,/(async\s*)?/,p.lookahead(q)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[$]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:S,exports:{PARAMS_CONTAINS:k,CLASS_REFERENCE:U},illegal:/#(?![$_A-z])/,contains:[f.SHEBANG({label:"shebang",binary:"node",relevance:5}),K,f.APOS_STRING_MODE,f.QUOTE_STRING_MODE,R,H,z,Y,I,{match:/\$\d+/},A,U,{scope:"attr",match:b+p.lookahead(":"),relevance:0},Q,{begin:"("+f.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[I,f.REGEXP_MODE,{className:"function",begin:q,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:f.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:S,contains:k}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:y.begin,end:y.end},{match:_},{begin:N.begin,"on:begin":N.isTrulyOpeningTag,end:N.end}],subLanguage:"xml",contains:[{begin:N.begin,end:N.end,skip:!0,contains:["self"]}]}]},X,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+f.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[$,f.inherit(f.TITLE_MODE,{begin:b,className:"title.function"})]},{match:/\.\.\./,relevance:0},D,{match:"\\$"+b,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[$]},F,M,O,V,{match:/\$[(.]/}]}}return Wh=h,Wh}var Jh,_v;function Ej(){if(_v)return Jh;_v=1;function e(t){const r={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},a={match:/[{}[\],:]/,className:"punctuation",relevance:0},s=["true","false","null"],o={scope:"literal",beginKeywords:s.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:s},contains:[r,a,t.QUOTE_STRING_MODE,o,t.C_NUMBER_MODE,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}return Jh=e,Jh}var em,wv;function Nj(){if(wv)return em;wv=1;var e="[0-9](_*[0-9])*",t=`\\.(${e})`,r="[0-9a-fA-F](_*[0-9a-fA-F])*",a={className:"number",variants:[{begin:`(\\b(${e})((${t})|\\.)?|(${t}))[eE][+-]?(${e})[fFdD]?\\b`},{begin:`\\b(${e})((${t})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${t})[fFdD]?\\b`},{begin:`\\b(${e})[fFdD]\\b`},{begin:`\\b0[xX]((${r})\\.?|(${r})?\\.(${r}))[pP][+-]?(${e})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${r})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function s(o){const c={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},d={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},h={className:"symbol",begin:o.UNDERSCORE_IDENT_RE+"@"},f={className:"subst",begin:/\$\{/,end:/\}/,contains:[o.C_NUMBER_MODE]},p={className:"variable",begin:"\\$"+o.UNDERSCORE_IDENT_RE},g={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[p,f]},{begin:"'",end:"'",illegal:/\n/,contains:[o.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[o.BACKSLASH_ESCAPE,p,f]}]};f.contains.push(g);const b={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+o.UNDERSCORE_IDENT_RE+")?"},y={className:"meta",begin:"@"+o.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[o.inherit(g,{className:"string"}),"self"]}]},_=a,N=o.COMMENT("/\\*","\\*/",{contains:[o.C_BLOCK_COMMENT_MODE]}),S={variants:[{className:"type",begin:o.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},w=S;return w.variants[1].contains=[S],S.variants[1].contains=[w],{name:"Kotlin",aliases:["kt","kts"],keywords:c,contains:[o.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),o.C_LINE_COMMENT_MODE,N,d,h,b,y,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:c,relevance:5,contains:[{begin:o.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[o.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:c,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[S,o.C_LINE_COMMENT_MODE,N],relevance:0},o.C_LINE_COMMENT_MODE,N,b,y,g,o.C_NUMBER_MODE]},N]},{begin:[/class|interface|trait/,/\s+/,o.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},o.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},b,y]},g,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` `},_]}}return em=s,em}var tm,Ev;function Sj(){if(Ev)return tm;Ev=1;const e=p=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:p.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[p.APOS_STRING_MODE,p.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:p.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),t=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],r=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],a=[...t,...r],s=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),o=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),c=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),d=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),h=o.concat(c).sort().reverse();function f(p){const g=e(p),b=h,y="and or not only",_="[\\w-]+",N="("+_+"|@\\{"+_+"\\})",S=[],w=[],C=function(P){return{className:"string",begin:"~?"+P+".*?"+P}},E=function(P,k,$){return{className:P,begin:k,relevance:$}},A={$pattern:/[a-z-]+/,keyword:y,attribute:s.join(" ")},B={begin:"\\(",end:"\\)",contains:w,keywords:A,relevance:0};w.push(p.C_LINE_COMMENT_MODE,p.C_BLOCK_COMMENT_MODE,C("'"),C('"'),g.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},g.HEXCOLOR,B,E("variable","@@?"+_,10),E("variable","@\\{"+_+"\\}"),E("built_in","~?`[^`]*?`"),{className:"attribute",begin:_+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},g.IMPORTANT,{beginKeywords:"and not"},g.FUNCTION_DISPATCH);const R=w.concat({begin:/\{/,end:/\}/,contains:S}),H={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(w)},z={begin:N+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},g.CSS_VARIABLE,{className:"attribute",begin:"\\b("+d.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:w}}]},Y={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:A,returnEnd:!0,contains:w,relevance:0}},j={className:"variable",variants:[{begin:"@"+_+"\\s*:",relevance:15},{begin:"@"+_}],starts:{end:"[;}]",returnEnd:!0,contains:R}},I={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:N,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[p.C_LINE_COMMENT_MODE,p.C_BLOCK_COMMENT_MODE,H,E("keyword","all\\b"),E("variable","@\\{"+_+"\\}"),{begin:"\\b("+a.join("|")+")\\b",className:"selector-tag"},g.CSS_NUMBER_MODE,E("selector-tag",N,0),E("selector-id","#"+N),E("selector-class","\\."+N,0),E("selector-tag","&",0),g.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+o.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+c.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:R},{begin:"!important"},g.FUNCTION_DISPATCH]},Z={begin:_+`:(:)?(${b.join("|")})`,returnBegin:!0,contains:[I]};return S.push(p.C_LINE_COMMENT_MODE,p.C_BLOCK_COMMENT_MODE,Y,j,Z,z,I,H,g.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:S}}return tm=f,tm}var nm,Nv;function kj(){if(Nv)return nm;Nv=1;function e(t){const r="\\[=*\\[",a="\\]=*\\]",s={begin:r,end:a,contains:["self"]},o=[t.COMMENT("--(?!"+r+")","$"),t.COMMENT("--"+r,a,{contains:[s],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:t.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:o.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[t.inherit(t.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:o}].concat(o)},t.C_NUMBER_MODE,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{className:"string",begin:r,end:a,contains:[s],relevance:5}])}}return nm=e,nm}var rm,Sv;function Cj(){if(Sv)return rm;Sv=1;function e(t){const r={className:"variable",variants:[{begin:"\\$\\("+t.UNDERSCORE_IDENT_RE+"\\)",contains:[t.BACKSLASH_ESCAPE]},{begin:/\$[@%\{/,end:/\}/},h={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},f={scope:"variable",variants:[{begin:/\$\d/},{begin:r.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[h]},p={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},g=[t.BACKSLASH_ESCAPE,c,f],b=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],y=(S,w,C="\\1")=>{const E=C==="\\1"?C:r.concat(C,w);return r.concat(r.concat("(?:",S,")"),w,/(?:\\.|[^\\\/])*?/,E,/(?:\\.|[^\\\/])*?/,C,s)},_=(S,w,C)=>r.concat(r.concat("(?:",S,")"),w,/(?:\\.|[^\\\/])*?/,C,s),N=[f,t.HASH_COMMENT_MODE,t.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),d,{className:"string",contains:g,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},p,{begin:"(\\/\\/|"+t.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[t.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:y("s|tr|y",r.either(...b,{capture:!0}))},{begin:y("s|tr|y","\\(","\\)")},{begin:y("s|tr|y","\\[","\\]")},{begin:y("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:_("(?:m|qr)?",/\//,/\//)},{begin:_("m|qr",r.either(...b,{capture:!0}),/\1/)},{begin:_("m|qr",/\(/,/\)/)},{begin:_("m|qr",/\[/,/\]/)},{begin:_("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE,h]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE,h,p]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return c.contains=N,d.contains=N,{name:"Perl",aliases:["pl","pm"],keywords:o,contains:N}}return im=e,im}var am,Cv;function Aj(){if(Cv)return am;Cv=1;function e(t){const r={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},a=/[a-zA-Z@][a-zA-Z0-9_]*/,h={"variable.language":["this","super"],$pattern:a,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},f={$pattern:a,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:h,illegal:"/,end:/$/,illegal:"\\n"},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+f.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:f,contains:[t.UNDERSCORE_TITLE_MODE]},{begin:"\\."+t.UNDERSCORE_IDENT_RE,relevance:0}]}}return am=e,am}var sm,Tv;function Mj(){if(Tv)return sm;Tv=1;function e(t){const r=t.regex,a=/(?![A-Za-z0-9])(?![$])/,s=r.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,a),o=r.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,a),c=r.concat(/[A-Z]+/,a),d={scope:"variable",match:"\\$+"+s},h={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},f={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},p=t.inherit(t.APOS_STRING_MODE,{illegal:null}),g=t.inherit(t.QUOTE_STRING_MODE,{illegal:null,contains:t.QUOTE_STRING_MODE.contains.concat(f)}),b={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:t.QUOTE_STRING_MODE.contains.concat(f),"on:begin":($,O)=>{O.data._beginMatch=$[1]||$[2]},"on:end":($,O)=>{O.data._beginMatch!==$[1]&&O.ignoreMatch()}},y=t.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),_=`[ -]`,N={scope:"string",variants:[g,p,b,y]},S={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},w=["false","null","true"],C=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],E=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],B={keyword:C,literal:($=>{const O=[];return $.forEach(U=>{O.push(U),U.toLowerCase()===U?O.push(U.toUpperCase()):O.push(U.toLowerCase())}),O})(w),built_in:E},R=$=>$.map(O=>O.replace(/\|\d+$/,"")),H={variants:[{match:[/new/,r.concat(_,"+"),r.concat("(?!",R(E).join("\\b|"),"\\b)"),o],scope:{1:"keyword",4:"title.class"}}]},z=r.concat(s,"\\b(?!\\()"),Y={variants:[{match:[r.concat(/::/,r.lookahead(/(?!class\b)/)),z],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[o,r.concat(/::/,r.lookahead(/(?!class\b)/)),z],scope:{1:"title.class",3:"variable.constant"}},{match:[o,r.concat("::",r.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[o,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},j={scope:"attr",match:r.concat(s,r.lookahead(":"),r.lookahead(/(?!::)/))},I={relevance:0,begin:/\(/,end:/\)/,keywords:B,contains:[j,d,Y,t.C_BLOCK_COMMENT_MODE,N,S,H]},Z={relevance:0,match:[/\b/,r.concat("(?!fn\\b|function\\b|",R(C).join("\\b|"),"|",R(E).join("\\b|"),"\\b)"),s,r.concat(_,"*"),r.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[I]};I.contains.push(Z);const P=[j,Y,t.C_BLOCK_COMMENT_MODE,N,S,H],k={begin:r.concat(/#\[\s*\\?/,r.either(o,c)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:w,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:w,keyword:["new","array"]},contains:["self",...P]},...P,{scope:"meta",variants:[{match:o},{match:c}]}]};return{case_insensitive:!1,keywords:B,contains:[k,t.HASH_COMMENT_MODE,t.COMMENT("//","$"),t.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:t.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},h,{scope:"variable.language",match:/\$this\b/},d,Z,Y,{match:[/const/,/\s/,s],scope:{1:"keyword",3:"variable.constant"}},H,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},t.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:B,contains:["self",k,d,Y,t.C_BLOCK_COMMENT_MODE,N,S]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[t.inherit(t.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},t.UNDERSCORE_TITLE_MODE]},N,S]}}return sm=e,sm}var lm,Av;function Oj(){if(Av)return lm;Av=1;function e(t){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},t.inherit(t.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),t.inherit(t.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}return lm=e,lm}var om,Mv;function Rj(){if(Mv)return om;Mv=1;function e(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}return om=e,om}var cm,Ov;function jj(){if(Ov)return cm;Ov=1;function e(t){const r=t.regex,a=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),s=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],h={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:s,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},f={className:"meta",begin:/^(>>>|\.\.\.) /},p={className:"subst",begin:/\{/,end:/\}/,keywords:h,illegal:/#/},g={begin:/\{\{/,relevance:0},b={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,f,g,p]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,f,g,p]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[t.BACKSLASH_ESCAPE,g,p]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,g,p]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},y="[0-9](_?[0-9])*",_=`(\\b(${y}))?\\.(${y})|\\b(${y})\\.`,N=`\\b|${s.join("|")}`,S={className:"number",relevance:0,variants:[{begin:`(\\b(${y})|(${_}))[eE][+-]?(${y})[jJ]?(?=${N})`},{begin:`(${_})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${N})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${N})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${N})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${N})`},{begin:`\\b(${y})[jJ](?=${N})`}]},w={className:"comment",begin:r.lookahead(/# type:/),end:/$/,keywords:h,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},C={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:["self",f,S,b,t.HASH_COMMENT_MODE]}]};return p.contains=[b,S,f],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:h,illegal:/(<\/|\?)|=>/,contains:[f,S,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},b,w,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[C]},{variants:[{match:[/\bclass/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/\bclass/,/\s+/,a]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[S,C,b]}]}}return cm=e,cm}var um,Rv;function Dj(){if(Rv)return um;Rv=1;function e(t){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}return um=e,um}var dm,jv;function Lj(){if(jv)return dm;jv=1;function e(t){const r=t.regex,a=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,s=r.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),o=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,c=r.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:a,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[t.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:r.lookahead(r.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:a},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),t.HASH_COMMENT_MODE,{scope:"string",contains:[t.BACKSLASH_ESCAPE],variants:[t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[o,s]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,s]},{scope:{1:"punctuation",2:"number"},match:[c,s]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,s]}]},{scope:{3:"operator"},match:[a,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:o},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:c},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}return dm=e,dm}var fm,Dv;function zj(){if(Dv)return fm;Dv=1;function e(t){const r=t.regex,a=/(r#)?/,s=r.concat(a,t.UNDERSCORE_IDENT_RE),o=r.concat(a,t.IDENT_RE),c={className:"title.function.invoke",relevance:0,begin:r.concat(/\b/,/(?!let|for|while|if|else|match\b)/,o,r.lookahead(/\s*\(/))},d="([ui](8|16|32|64|128|size)|f(32|64))?",h=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],f=["true","false","Some","None","Ok","Err"],p=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],g=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:t.IDENT_RE+"!?",type:g,keyword:h,literal:f,built_in:p},illegal:""},c]}}return fm=e,fm}var hm,Lv;function Ij(){if(Lv)return hm;Lv=1;const e=f=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:f.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:f.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),t=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],r=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],a=[...t,...r],s=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),o=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),c=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),d=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function h(f){const p=e(f),g=c,b=o,y="@[a-z-]+",_="and or not only",S={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[f.C_LINE_COMMENT_MODE,f.C_BLOCK_COMMENT_MODE,p.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},p.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+a.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+b.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+g.join("|")+")"},S,{begin:/\(/,end:/\)/,contains:[p.CSS_NUMBER_MODE]},p.CSS_VARIABLE,{className:"attribute",begin:"\\b("+d.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[p.BLOCK_COMMENT,S,p.HEXCOLOR,p.CSS_NUMBER_MODE,f.QUOTE_STRING_MODE,f.APOS_STRING_MODE,p.IMPORTANT,p.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:y,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:_,attribute:s.join(" ")},contains:[{begin:y,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},S,f.QUOTE_STRING_MODE,f.APOS_STRING_MODE,p.HEXCOLOR,p.CSS_NUMBER_MODE]},p.FUNCTION_DISPATCH]}}return hm=h,hm}var mm,zv;function Bj(){if(zv)return mm;zv=1;function e(t){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}return mm=e,mm}var pm,Iv;function Uj(){if(Iv)return pm;Iv=1;function e(t){const r=t.regex,a=t.COMMENT("--","$"),s={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},o={begin:/"/,end:/"/,contains:[{match:/""/}]},c=["true","false","unknown"],d=["double precision","large object","with timezone","without timezone"],h=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],f=["add","asc","collation","desc","final","first","last","view"],p=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],g=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],b=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],y=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],_=g,N=[...p,...f].filter(R=>!g.includes(R)),S={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},w={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},C={match:r.concat(/\b/,r.either(..._),/\s*\(/),relevance:0,keywords:{built_in:_}};function E(R){return r.concat(/\b/,r.either(...R.map(H=>H.replace(/\s+/,"\\s+"))),/\b/)}const A={scope:"keyword",match:E(y),relevance:0};function B(R,{exceptions:H,when:z}={}){const Y=z;return H=H||[],R.map(j=>j.match(/\|\d+$/)||H.includes(j)?j:Y(j)?`${j}|0`:j)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:B(N,{when:R=>R.length<3}),literal:c,type:h,built_in:b},contains:[{scope:"type",match:E(d)},A,C,S,s,o,t.C_NUMBER_MODE,t.C_BLOCK_COMMENT_MODE,a,w]}}return pm=e,pm}var gm,Bv;function Hj(){if(Bv)return gm;Bv=1;function e(z){return z?typeof z=="string"?z:z.source:null}function t(z){return r("(?=",z,")")}function r(...z){return z.map(j=>e(j)).join("")}function a(z){const Y=z[z.length-1];return typeof Y=="object"&&Y.constructor===Object?(z.splice(z.length-1,1),Y):{}}function s(...z){return"("+(a(z).capture?"":"?:")+z.map(I=>e(I)).join("|")+")"}const o=z=>r(/\b/,z,/\w$/.test(z)?/\b/:/\B/),c=["Protocol","Type"].map(o),d=["init","self"].map(o),h=["Any","Self"],f=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],p=["false","nil","true"],g=["assignment","associativity","higherThan","left","lowerThan","none","right"],b=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],y=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],_=s(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),N=s(_,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),S=r(_,N,"*"),w=s(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),C=s(w,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),E=r(w,C,"*"),A=r(/[A-Z]/,C,"*"),B=["attached","autoclosure",r(/convention\(/,s("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",r(/objc\(/,E,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],R=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function H(z){const Y={match:/\s+/,relevance:0},j=z.COMMENT("/\\*","\\*/",{contains:["self"]}),I=[z.C_LINE_COMMENT_MODE,j],Z={match:[/\./,s(...c,...d)],className:{2:"keyword"}},P={match:r(/\./,s(...f)),relevance:0},k=f.filter(nt=>typeof nt=="string").concat(["_|0"]),$=f.filter(nt=>typeof nt!="string").concat(h).map(o),O={variants:[{className:"keyword",match:s(...$,...d)}]},U={$pattern:s(/\b\w+/,/#\w+/),keyword:k.concat(b),literal:p},K=[Z,P,O],X={match:r(/\./,s(...y)),relevance:0},M={className:"built_in",match:r(/\b/,s(...y),/(?=\()/)},L=[X,M],F={match:/->/,relevance:0},D={className:"operator",relevance:0,variants:[{match:S},{match:`\\.(\\.|${N})+`}]},V=[F,D],q="([0-9]_*)+",Q="([0-9a-fA-F]_*)+",J={className:"number",relevance:0,variants:[{match:`\\b(${q})(\\.(${q}))?([eE][+-]?(${q}))?\\b`},{match:`\\b0x(${Q})(\\.(${Q}))?([pP][+-]?(${q}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},W=(nt="")=>({className:"subst",variants:[{match:r(/\\/,nt,/[0\\tnr"']/)},{match:r(/\\/,nt,/u\{[0-9a-fA-F]{1,8}\}/)}]}),te=(nt="")=>({className:"subst",match:r(/\\/,nt,/[\t ]*(?:[\r\n]|\r\n)/)}),oe=(nt="")=>({className:"subst",label:"interpol",begin:r(/\\/,nt,/\(/),end:/\)/}),fe=(nt="")=>({begin:r(nt,/"""/),end:r(/"""/,nt),contains:[W(nt),te(nt),oe(nt)]}),xe=(nt="")=>({begin:r(nt,/"/),end:r(/"/,nt),contains:[W(nt),oe(nt)]}),we={className:"string",variants:[fe(),fe("#"),fe("##"),fe("###"),xe(),xe("#"),xe("##"),xe("###")]},Ne=[z.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[z.BACKSLASH_ESCAPE]}],De={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:Ne},$e=nt=>{const Xn=r(nt,/\//),On=r(/\//,nt);return{begin:Xn,end:On,contains:[...Ne,{scope:"comment",begin:`#(?!.*${On})`,end:/$/}]}},st={scope:"regexp",variants:[$e("###"),$e("##"),$e("#"),De]},Rt={match:r(/`/,E,/`/)},Xt={className:"variable",match:/\$\d+/},Pt={className:"variable",match:`\\$${C}+`},Kt=[Rt,Xt,Pt],Yn={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:R,contains:[...V,J,we]}]}},Nn={scope:"keyword",match:r(/@/,s(...B),t(s(/\(/,/\s+/)))},ct={scope:"meta",match:r(/@/,E)},It=[Yn,Nn,ct],ue={match:t(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:r(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,C,"+")},{className:"type",match:A,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:r(/\s+&\s+/,t(A)),relevance:0}]},be={begin://,keywords:U,contains:[...I,...K,...It,F,ue]};ue.contains.push(be);const Oe={match:r(E,/\s*:/),keywords:"_|0",relevance:0},Fe={begin:/\(/,end:/\)/,relevance:0,keywords:U,contains:["self",Oe,...I,st,...K,...L,...V,J,we,...Kt,...It,ue]},Ze={begin://,keywords:"repeat each",contains:[...I,ue]},cn={begin:s(t(r(E,/\s*:/)),t(r(E,/\s+/,E,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:E}]},Sn={begin:/\(/,end:/\)/,keywords:U,contains:[cn,...I,...K,...V,J,we,...It,ue,Fe],endsParent:!0,illegal:/["']/},Zt={match:[/(func|macro)/,/\s+/,s(Rt.match,E,S)],className:{1:"keyword",3:"title.function"},contains:[Ze,Sn,Y],illegal:[/\[/,/%/]},At={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[Ze,Sn,Y],illegal:/\[|%/},Jt={match:[/operator/,/\s+/,S],className:{1:"keyword",3:"title"}},ut={begin:[/precedencegroup/,/\s+/,A],className:{1:"keyword",3:"title"},contains:[ue],keywords:[...g,...p],end:/}/},In={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},un={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},Si={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,E,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:U,contains:[Ze,...K,{begin:/:/,end:/\{/,keywords:U,contains:[{scope:"title.class.inherited",match:A},...K],relevance:0}]};for(const nt of we.variants){const Xn=nt.contains.find(mn=>mn.label==="interpol");Xn.keywords=U;const On=[...K,...L,...V,J,we,...Kt];Xn.contains=[...On,{begin:/\(/,end:/\)/,contains:["self",...On]}]}return{name:"Swift",keywords:U,contains:[...I,Zt,At,In,un,Si,Jt,ut,{beginKeywords:"import",end:/$/,contains:[...I],relevance:0},st,...K,...L,...V,J,we,...Kt,...It,ue,Fe]}}return gm=H,gm}var xm,Uv;function $j(){if(Uv)return xm;Uv=1;function e(t){const r="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},o={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},c={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},d={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,o]},h=t.inherit(d,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),y={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},_={end:",",endsWithParent:!0,excludeEnd:!0,keywords:r,relevance:0},N={begin:/\{/,end:/\}/,contains:[_],illegal:"\\n",relevance:0},S={begin:"\\[",end:"\\]",contains:[_],illegal:"\\n",relevance:0},w=[s,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:r,keywords:{literal:r}},y,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},N,S,c,d],C=[...w];return C.pop(),C.push(h),_.contains=C,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:w}}return xm=e,xm}var bm,Hv;function qj(){if(Hv)return bm;Hv=1;const e="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],r=["true","false","null","undefined","NaN","Infinity"],a=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],o=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],d=[].concat(o,a,s);function h(p){const g=p.regex,b=(W,{after:te})=>{const oe="",end:""},N=/<[A-Za-z0-9\\._:-]+\s*\/>/,S={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(W,te)=>{const oe=W[0].length+W.index,fe=W.input[oe];if(fe==="<"||fe===","){te.ignoreMatch();return}fe===">"&&(b(W,{after:oe})||te.ignoreMatch());let xe;const we=W.input.substring(oe);if(xe=we.match(/^\s*=/)){te.ignoreMatch();return}if((xe=we.match(/^\s+extends\s+/))&&xe.index===0){te.ignoreMatch();return}}},w={$pattern:e,keyword:t,literal:r,built_in:d,"variable.language":c},C="[0-9](_?[0-9])*",E=`\\.(${C})`,A="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",B={className:"number",variants:[{begin:`(\\b(${A})((${E})|\\.)?|(${E}))[eE][+-]?(${C})\\b`},{begin:`\\b(${A})\\b((${E})\\b|\\.)?|(${E})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},R={className:"subst",begin:"\\$\\{",end:"\\}",keywords:w,contains:[]},H={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[p.BACKSLASH_ESCAPE,R],subLanguage:"xml"}},z={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[p.BACKSLASH_ESCAPE,R],subLanguage:"css"}},Y={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[p.BACKSLASH_ESCAPE,R],subLanguage:"graphql"}},j={className:"string",begin:"`",end:"`",contains:[p.BACKSLASH_ESCAPE,R]},Z={className:"comment",variants:[p.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:y+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),p.C_BLOCK_COMMENT_MODE,p.C_LINE_COMMENT_MODE]},P=[p.APOS_STRING_MODE,p.QUOTE_STRING_MODE,H,z,Y,j,{match:/\$\d+/},B];R.contains=P.concat({begin:/\{/,end:/\}/,keywords:w,contains:["self"].concat(P)});const k=[].concat(Z,R.contains),$=k.concat([{begin:/(\s*)\(/,end:/\)/,keywords:w,contains:["self"].concat(k)}]),O={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:w,contains:$},U={variants:[{match:[/class/,/\s+/,y,/\s+/,/extends/,/\s+/,g.concat(y,"(",g.concat(/\./,y),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,y],scope:{1:"keyword",3:"title.class"}}]},K={relevance:0,match:g.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...a,...s]}},X={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},M={variants:[{match:[/function/,/\s+/,y,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[O],illegal:/%/},L={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function F(W){return g.concat("(?!",W.join("|"),")")}const D={match:g.concat(/\b/,F([...o,"super","import"].map(W=>`${W}\\s*\\(`)),y,g.lookahead(/\s*\(/)),className:"title.function",relevance:0},V={begin:g.concat(/\./,g.lookahead(g.concat(y,/(?![0-9A-Za-z$_(])/))),end:y,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},q={match:[/get|set/,/\s+/,y,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},O]},Q="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+p.UNDERSCORE_IDENT_RE+")\\s*=>",J={match:[/const|var|let/,/\s+/,y,/\s*/,/=\s*/,/(async\s*)?/,g.lookahead(Q)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[O]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:w,exports:{PARAMS_CONTAINS:$,CLASS_REFERENCE:K},illegal:/#(?![$_A-z])/,contains:[p.SHEBANG({label:"shebang",binary:"node",relevance:5}),X,p.APOS_STRING_MODE,p.QUOTE_STRING_MODE,H,z,Y,j,Z,{match:/\$\d+/},B,K,{scope:"attr",match:y+g.lookahead(":"),relevance:0},J,{begin:"("+p.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Z,p.REGEXP_MODE,{className:"function",begin:Q,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:p.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:w,contains:$}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:_.begin,end:_.end},{match:N},{begin:S.begin,"on:begin":S.isTrulyOpeningTag,end:S.end}],subLanguage:"xml",contains:[{begin:S.begin,end:S.end,skip:!0,contains:["self"]}]}]},M,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+p.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[O,p.inherit(p.TITLE_MODE,{begin:y,className:"title.function"})]},{match:/\.\.\./,relevance:0},V,{match:"\\$"+y,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[O]},D,L,U,q,{match:/\$[(.]/}]}}function f(p){const g=p.regex,b=h(p),y=e,_=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],N={begin:[/namespace/,/\s+/,p.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},S={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:_},contains:[b.exports.CLASS_REFERENCE]},w={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},C=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],E={$pattern:e,keyword:t.concat(C),literal:r,built_in:d.concat(_),"variable.language":c},A={className:"meta",begin:"@"+y},B=(Y,j,I)=>{const Z=Y.contains.findIndex(P=>P.label===j);if(Z===-1)throw new Error("can not find mode to replace");Y.contains.splice(Z,1,I)};Object.assign(b.keywords,E),b.exports.PARAMS_CONTAINS.push(A);const R=b.contains.find(Y=>Y.scope==="attr"),H=Object.assign({},R,{match:g.concat(y,g.lookahead(/\s*\?:/))});b.exports.PARAMS_CONTAINS.push([b.exports.CLASS_REFERENCE,R,H]),b.contains=b.contains.concat([A,N,S,H]),B(b,"shebang",p.SHEBANG()),B(b,"use_strict",w);const z=b.contains.find(Y=>Y.label==="func.def");return z.relevance=0,Object.assign(b,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),b}return bm=f,bm}var ym,$v;function Pj(){if($v)return ym;$v=1;function e(t){const r=t.regex,a={className:"string",begin:/"(""|[^/n])"C\b/},s={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},o=/\d{1,2}\/\d{1,2}\/\d{4}/,c=/\d{4}-\d{1,2}-\d{1,2}/,d=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,h=/\d{1,2}(:\d{1,2}){1,2}/,f={className:"literal",variants:[{begin:r.concat(/# */,r.either(c,o),/ *#/)},{begin:r.concat(/# */,h,/ *#/)},{begin:r.concat(/# */,d,/ *#/)},{begin:r.concat(/# */,r.either(c,o),/ +/,r.either(d,h),/ *#/)}]},p={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},g={className:"label",begin:/^\w+:/},b=t.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),y=t.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[a,s,f,p,g,b,y,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[y]}]}}return ym=e,ym}var vm,qv;function Fj(){if(qv)return vm;qv=1;function e(t){t.regex;const r=t.COMMENT(/\(;/,/;\)/);r.contains.push("self");const a=t.COMMENT(/;;/,/$/),s=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],o={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},c={className:"variable",begin:/\$[\w_]+/},d={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},h={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},f={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},p={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:s},contains:[a,r,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},c,d,o,t.QUOTE_STRING_MODE,f,p,h]}}return vm=e,vm}var _m,Pv;function Gj(){if(Pv)return _m;Pv=1;var e=oj();return e.registerLanguage("xml",cj()),e.registerLanguage("bash",uj()),e.registerLanguage("c",dj()),e.registerLanguage("cpp",fj()),e.registerLanguage("csharp",hj()),e.registerLanguage("css",mj()),e.registerLanguage("markdown",pj()),e.registerLanguage("diff",gj()),e.registerLanguage("ruby",xj()),e.registerLanguage("go",bj()),e.registerLanguage("graphql",yj()),e.registerLanguage("ini",vj()),e.registerLanguage("java",_j()),e.registerLanguage("javascript",wj()),e.registerLanguage("json",Ej()),e.registerLanguage("kotlin",Nj()),e.registerLanguage("less",Sj()),e.registerLanguage("lua",kj()),e.registerLanguage("makefile",Cj()),e.registerLanguage("perl",Tj()),e.registerLanguage("objectivec",Aj()),e.registerLanguage("php",Mj()),e.registerLanguage("php-template",Oj()),e.registerLanguage("plaintext",Rj()),e.registerLanguage("python",jj()),e.registerLanguage("python-repl",Dj()),e.registerLanguage("r",Lj()),e.registerLanguage("rust",zj()),e.registerLanguage("scss",Ij()),e.registerLanguage("shell",Bj()),e.registerLanguage("sql",Uj()),e.registerLanguage("swift",Hj()),e.registerLanguage("yaml",$j()),e.registerLanguage("typescript",qj()),e.registerLanguage("vbnet",Pj()),e.registerLanguage("wasm",Fj()),e.HighlightJS=e,e.default=e,_m=e,_m}var Vj=Gj();const zn=Mo(Vj);function Yj(e){const t=e.regex,r="HTTP/([32]|1\\.[01])",a=/[A-Za-z][A-Za-z0-9-]*/,s={className:"attribute",begin:t.concat("^",a,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},o=[s,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+r+" \\d{3})",end:/$/,contains:[{className:"meta",begin:r},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:o}},{begin:"(?=^[A-Z]+ (.*?) "+r+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:r},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:o}},e.inherit(s,{relevance:0})]}}function Xj(e){const t=e.regex,r={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{\w+\}/},{begin:t.concat(/[$@]/,e.UNDERSCORE_IDENT_RE)}]},s={endsWithParent:!0,keywords:{$pattern:/[a-z_]{2,}|\/dev\/poll/,literal:["on","off","yes","no","true","false","none","blocked","debug","info","notice","warn","error","crit","select","break","last","permanent","redirect","kqueue","rtsig","epoll","poll","/dev/poll"]},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[r]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:"\\s\\^",end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]?\\b",relevance:0},r]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{beginKeywords:"upstream location",end:/;|\{/,contains:s.contains,keywords:{section:"upstream location"}},{className:"section",begin:t.concat(e.UNDERSCORE_IDENT_RE+t.lookahead(/\s+\{/)),relevance:0},{begin:t.lookahead(e.UNDERSCORE_IDENT_RE+"\\s"),end:";|\\{",contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:s}],relevance:0}],illegal:"[^\\s\\}\\{]"}}function Kj(e){const t={className:"number",begin:/[$%]\d+/},r={className:"number",begin:/\b\d+/},a={className:"number",begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/},s={className:"number",begin:/:\d{1,5}/};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/,contains:[a,s,e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{_:["order","deny","allow","setenv","rewriterule","rewriteengine","rewritecond","documentroot","sethandler","errordocument","loadmodule","options","header","listen","serverroot","servername"]},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{scope:"punctuation",match:/\\\n/},{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable",begin:/[\$%]\{/,end:/\}/,contains:["self",t]},a,r,e.QUOTE_STRING_MODE]}}],illegal:/\S/}}function Zj(e){return{name:"Dockerfile",aliases:["docker"],case_insensitive:!0,keywords:["from","maintainer","expose","env","arg","user","onbuild","stopsignal"],contains:[e.HASH_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{beginKeywords:"run cmd entrypoint volume add copy workdir label healthcheck shell",starts:{end:/[^\\]$/,subLanguage:"bash"}}],illegal:"{const O=[];return $.forEach(U=>{O.push(U),U.toLowerCase()===U?O.push(U.toUpperCase()):O.push(U.toLowerCase())}),O})(w),built_in:E},R=$=>$.map(O=>O.replace(/\|\d+$/,"")),H={variants:[{match:[/new/,r.concat(_,"+"),r.concat("(?!",R(E).join("\\b|"),"\\b)"),o],scope:{1:"keyword",4:"title.class"}}]},z=r.concat(s,"\\b(?!\\()"),Y={variants:[{match:[r.concat(/::/,r.lookahead(/(?!class\b)/)),z],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[o,r.concat(/::/,r.lookahead(/(?!class\b)/)),z],scope:{1:"title.class",3:"variable.constant"}},{match:[o,r.concat("::",r.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[o,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},j={scope:"attr",match:r.concat(s,r.lookahead(":"),r.lookahead(/(?!::)/))},I={relevance:0,begin:/\(/,end:/\)/,keywords:B,contains:[j,d,Y,t.C_BLOCK_COMMENT_MODE,N,S,H]},Z={relevance:0,match:[/\b/,r.concat("(?!fn\\b|function\\b|",R(C).join("\\b|"),"|",R(E).join("\\b|"),"\\b)"),s,r.concat(_,"*"),r.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[I]};I.contains.push(Z);const P=[j,Y,t.C_BLOCK_COMMENT_MODE,N,S,H],k={begin:r.concat(/#\[\s*\\?/,r.either(o,c)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:w,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:w,keyword:["new","array"]},contains:["self",...P]},...P,{scope:"meta",variants:[{match:o},{match:c}]}]};return{case_insensitive:!1,keywords:B,contains:[k,t.HASH_COMMENT_MODE,t.COMMENT("//","$"),t.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:t.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},h,{scope:"variable.language",match:/\$this\b/},d,Z,Y,{match:[/const/,/\s/,s],scope:{1:"keyword",3:"variable.constant"}},H,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},t.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:B,contains:["self",k,d,Y,t.C_BLOCK_COMMENT_MODE,N,S]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[t.inherit(t.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},t.UNDERSCORE_TITLE_MODE]},N,S]}}return sm=e,sm}var lm,Av;function Oj(){if(Av)return lm;Av=1;function e(t){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},t.inherit(t.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),t.inherit(t.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}return lm=e,lm}var om,Mv;function Rj(){if(Mv)return om;Mv=1;function e(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}return om=e,om}var cm,Ov;function jj(){if(Ov)return cm;Ov=1;function e(t){const r=t.regex,a=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),s=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],h={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:s,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},f={className:"meta",begin:/^(>>>|\.\.\.) /},p={className:"subst",begin:/\{/,end:/\}/,keywords:h,illegal:/#/},g={begin:/\{\{/,relevance:0},b={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,f,g,p]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,f,g,p]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[t.BACKSLASH_ESCAPE,g,p]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,g,p]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},y="[0-9](_?[0-9])*",_=`(\\b(${y}))?\\.(${y})|\\b(${y})\\.`,N=`\\b|${s.join("|")}`,S={className:"number",relevance:0,variants:[{begin:`(\\b(${y})|(${_}))[eE][+-]?(${y})[jJ]?(?=${N})`},{begin:`(${_})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${N})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${N})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${N})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${N})`},{begin:`\\b(${y})[jJ](?=${N})`}]},w={className:"comment",begin:r.lookahead(/# type:/),end:/$/,keywords:h,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},C={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:["self",f,S,b,t.HASH_COMMENT_MODE]}]};return p.contains=[b,S,f],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:h,illegal:/(<\/|\?)|=>/,contains:[f,S,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},b,w,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[C]},{variants:[{match:[/\bclass/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/\bclass/,/\s+/,a]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[S,C,b]}]}}return cm=e,cm}var um,Rv;function Dj(){if(Rv)return um;Rv=1;function e(t){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}return um=e,um}var dm,jv;function Lj(){if(jv)return dm;jv=1;function e(t){const r=t.regex,a=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,s=r.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),o=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,c=r.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:a,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[t.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:r.lookahead(r.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:a},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),t.HASH_COMMENT_MODE,{scope:"string",contains:[t.BACKSLASH_ESCAPE],variants:[t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[o,s]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,s]},{scope:{1:"punctuation",2:"number"},match:[c,s]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,s]}]},{scope:{3:"operator"},match:[a,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:o},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:c},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}return dm=e,dm}var fm,Dv;function zj(){if(Dv)return fm;Dv=1;function e(t){const r=t.regex,a=/(r#)?/,s=r.concat(a,t.UNDERSCORE_IDENT_RE),o=r.concat(a,t.IDENT_RE),c={className:"title.function.invoke",relevance:0,begin:r.concat(/\b/,/(?!let|for|while|if|else|match\b)/,o,r.lookahead(/\s*\(/))},d="([ui](8|16|32|64|128|size)|f(32|64))?",h=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],f=["true","false","Some","None","Ok","Err"],p=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],g=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:t.IDENT_RE+"!?",type:g,keyword:h,literal:f,built_in:p},illegal:""},c]}}return fm=e,fm}var hm,Lv;function Ij(){if(Lv)return hm;Lv=1;const e=f=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:f.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:f.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),t=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],r=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],a=[...t,...r],s=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),o=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),c=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),d=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function h(f){const p=e(f),g=c,b=o,y="@[a-z-]+",_="and or not only",S={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[f.C_LINE_COMMENT_MODE,f.C_BLOCK_COMMENT_MODE,p.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},p.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+a.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+b.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+g.join("|")+")"},S,{begin:/\(/,end:/\)/,contains:[p.CSS_NUMBER_MODE]},p.CSS_VARIABLE,{className:"attribute",begin:"\\b("+d.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[p.BLOCK_COMMENT,S,p.HEXCOLOR,p.CSS_NUMBER_MODE,f.QUOTE_STRING_MODE,f.APOS_STRING_MODE,p.IMPORTANT,p.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:y,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:_,attribute:s.join(" ")},contains:[{begin:y,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},S,f.QUOTE_STRING_MODE,f.APOS_STRING_MODE,p.HEXCOLOR,p.CSS_NUMBER_MODE]},p.FUNCTION_DISPATCH]}}return hm=h,hm}var mm,zv;function Bj(){if(zv)return mm;zv=1;function e(t){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}return mm=e,mm}var pm,Iv;function Uj(){if(Iv)return pm;Iv=1;function e(t){const r=t.regex,a=t.COMMENT("--","$"),s={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},o={begin:/"/,end:/"/,contains:[{match:/""/}]},c=["true","false","unknown"],d=["double precision","large object","with timezone","without timezone"],h=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],f=["add","asc","collation","desc","final","first","last","view"],p=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],g=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],b=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],y=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],_=g,N=[...p,...f].filter(R=>!g.includes(R)),S={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},w={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},C={match:r.concat(/\b/,r.either(..._),/\s*\(/),relevance:0,keywords:{built_in:_}};function E(R){return r.concat(/\b/,r.either(...R.map(H=>H.replace(/\s+/,"\\s+"))),/\b/)}const A={scope:"keyword",match:E(y),relevance:0};function B(R,{exceptions:H,when:z}={}){const Y=z;return H=H||[],R.map(j=>j.match(/\|\d+$/)||H.includes(j)?j:Y(j)?`${j}|0`:j)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:B(N,{when:R=>R.length<3}),literal:c,type:h,built_in:b},contains:[{scope:"type",match:E(d)},A,C,S,s,o,t.C_NUMBER_MODE,t.C_BLOCK_COMMENT_MODE,a,w]}}return pm=e,pm}var gm,Bv;function Hj(){if(Bv)return gm;Bv=1;function e(z){return z?typeof z=="string"?z:z.source:null}function t(z){return r("(?=",z,")")}function r(...z){return z.map(j=>e(j)).join("")}function a(z){const Y=z[z.length-1];return typeof Y=="object"&&Y.constructor===Object?(z.splice(z.length-1,1),Y):{}}function s(...z){return"("+(a(z).capture?"":"?:")+z.map(I=>e(I)).join("|")+")"}const o=z=>r(/\b/,z,/\w$/.test(z)?/\b/:/\B/),c=["Protocol","Type"].map(o),d=["init","self"].map(o),h=["Any","Self"],f=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],p=["false","nil","true"],g=["assignment","associativity","higherThan","left","lowerThan","none","right"],b=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],y=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],_=s(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),N=s(_,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),S=r(_,N,"*"),w=s(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),C=s(w,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),E=r(w,C,"*"),A=r(/[A-Z]/,C,"*"),B=["attached","autoclosure",r(/convention\(/,s("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",r(/objc\(/,E,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],R=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function H(z){const Y={match:/\s+/,relevance:0},j=z.COMMENT("/\\*","\\*/",{contains:["self"]}),I=[z.C_LINE_COMMENT_MODE,j],Z={match:[/\./,s(...c,...d)],className:{2:"keyword"}},P={match:r(/\./,s(...f)),relevance:0},k=f.filter(nt=>typeof nt=="string").concat(["_|0"]),$=f.filter(nt=>typeof nt!="string").concat(h).map(o),O={variants:[{className:"keyword",match:s(...$,...d)}]},U={$pattern:s(/\b\w+/,/#\w+/),keyword:k.concat(b),literal:p},K=[Z,P,O],X={match:r(/\./,s(...y)),relevance:0},M={className:"built_in",match:r(/\b/,s(...y),/(?=\()/)},L=[X,M],F={match:/->/,relevance:0},D={className:"operator",relevance:0,variants:[{match:S},{match:`\\.(\\.|${N})+`}]},V=[F,D],q="([0-9]_*)+",Q="([0-9a-fA-F]_*)+",J={className:"number",relevance:0,variants:[{match:`\\b(${q})(\\.(${q}))?([eE][+-]?(${q}))?\\b`},{match:`\\b0x(${Q})(\\.(${Q}))?([pP][+-]?(${q}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},W=(nt="")=>({className:"subst",variants:[{match:r(/\\/,nt,/[0\\tnr"']/)},{match:r(/\\/,nt,/u\{[0-9a-fA-F]{1,8}\}/)}]}),te=(nt="")=>({className:"subst",match:r(/\\/,nt,/[\t ]*(?:[\r\n]|\r\n)/)}),oe=(nt="")=>({className:"subst",label:"interpol",begin:r(/\\/,nt,/\(/),end:/\)/}),fe=(nt="")=>({begin:r(nt,/"""/),end:r(/"""/,nt),contains:[W(nt),te(nt),oe(nt)]}),xe=(nt="")=>({begin:r(nt,/"/),end:r(/"/,nt),contains:[W(nt),oe(nt)]}),we={className:"string",variants:[fe(),fe("#"),fe("##"),fe("###"),xe(),xe("#"),xe("##"),xe("###")]},Ne=[z.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[z.BACKSLASH_ESCAPE]}],De={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:Ne},$e=nt=>{const Xn=r(nt,/\//),On=r(/\//,nt);return{begin:Xn,end:On,contains:[...Ne,{scope:"comment",begin:`#(?!.*${On})`,end:/$/}]}},st={scope:"regexp",variants:[$e("###"),$e("##"),$e("#"),De]},Rt={match:r(/`/,E,/`/)},Xt={className:"variable",match:/\$\d+/},Ft={className:"variable",match:`\\$${C}+`},Kt=[Rt,Xt,Ft],Yn={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:R,contains:[...V,J,we]}]}},Nn={scope:"keyword",match:r(/@/,s(...B),t(s(/\(/,/\s+/)))},ct={scope:"meta",match:r(/@/,E)},It=[Yn,Nn,ct],ue={match:t(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:r(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,C,"+")},{className:"type",match:A,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:r(/\s+&\s+/,t(A)),relevance:0}]},be={begin://,keywords:U,contains:[...I,...K,...It,F,ue]};ue.contains.push(be);const Oe={match:r(E,/\s*:/),keywords:"_|0",relevance:0},Fe={begin:/\(/,end:/\)/,relevance:0,keywords:U,contains:["self",Oe,...I,st,...K,...L,...V,J,we,...Kt,...It,ue]},Ze={begin://,keywords:"repeat each",contains:[...I,ue]},cn={begin:s(t(r(E,/\s*:/)),t(r(E,/\s+/,E,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:E}]},Sn={begin:/\(/,end:/\)/,keywords:U,contains:[cn,...I,...K,...V,J,we,...It,ue,Fe],endsParent:!0,illegal:/["']/},Zt={match:[/(func|macro)/,/\s+/,s(Rt.match,E,S)],className:{1:"keyword",3:"title.function"},contains:[Ze,Sn,Y],illegal:[/\[/,/%/]},At={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[Ze,Sn,Y],illegal:/\[|%/},Jt={match:[/operator/,/\s+/,S],className:{1:"keyword",3:"title"}},ut={begin:[/precedencegroup/,/\s+/,A],className:{1:"keyword",3:"title"},contains:[ue],keywords:[...g,...p],end:/}/},In={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},un={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},Si={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,E,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:U,contains:[Ze,...K,{begin:/:/,end:/\{/,keywords:U,contains:[{scope:"title.class.inherited",match:A},...K],relevance:0}]};for(const nt of we.variants){const Xn=nt.contains.find(mn=>mn.label==="interpol");Xn.keywords=U;const On=[...K,...L,...V,J,we,...Kt];Xn.contains=[...On,{begin:/\(/,end:/\)/,contains:["self",...On]}]}return{name:"Swift",keywords:U,contains:[...I,Zt,At,In,un,Si,Jt,ut,{beginKeywords:"import",end:/$/,contains:[...I],relevance:0},st,...K,...L,...V,J,we,...Kt,...It,ue,Fe]}}return gm=H,gm}var xm,Uv;function $j(){if(Uv)return xm;Uv=1;function e(t){const r="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},o={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},c={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},d={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,o]},h=t.inherit(d,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),y={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},_={end:",",endsWithParent:!0,excludeEnd:!0,keywords:r,relevance:0},N={begin:/\{/,end:/\}/,contains:[_],illegal:"\\n",relevance:0},S={begin:"\\[",end:"\\]",contains:[_],illegal:"\\n",relevance:0},w=[s,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:r,keywords:{literal:r}},y,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},N,S,c,d],C=[...w];return C.pop(),C.push(h),_.contains=C,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:w}}return xm=e,xm}var bm,Hv;function qj(){if(Hv)return bm;Hv=1;const e="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],r=["true","false","null","undefined","NaN","Infinity"],a=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],o=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],d=[].concat(o,a,s);function h(p){const g=p.regex,b=(W,{after:te})=>{const oe="",end:""},N=/<[A-Za-z0-9\\._:-]+\s*\/>/,S={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(W,te)=>{const oe=W[0].length+W.index,fe=W.input[oe];if(fe==="<"||fe===","){te.ignoreMatch();return}fe===">"&&(b(W,{after:oe})||te.ignoreMatch());let xe;const we=W.input.substring(oe);if(xe=we.match(/^\s*=/)){te.ignoreMatch();return}if((xe=we.match(/^\s+extends\s+/))&&xe.index===0){te.ignoreMatch();return}}},w={$pattern:e,keyword:t,literal:r,built_in:d,"variable.language":c},C="[0-9](_?[0-9])*",E=`\\.(${C})`,A="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",B={className:"number",variants:[{begin:`(\\b(${A})((${E})|\\.)?|(${E}))[eE][+-]?(${C})\\b`},{begin:`\\b(${A})\\b((${E})\\b|\\.)?|(${E})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},R={className:"subst",begin:"\\$\\{",end:"\\}",keywords:w,contains:[]},H={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[p.BACKSLASH_ESCAPE,R],subLanguage:"xml"}},z={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[p.BACKSLASH_ESCAPE,R],subLanguage:"css"}},Y={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[p.BACKSLASH_ESCAPE,R],subLanguage:"graphql"}},j={className:"string",begin:"`",end:"`",contains:[p.BACKSLASH_ESCAPE,R]},Z={className:"comment",variants:[p.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:y+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),p.C_BLOCK_COMMENT_MODE,p.C_LINE_COMMENT_MODE]},P=[p.APOS_STRING_MODE,p.QUOTE_STRING_MODE,H,z,Y,j,{match:/\$\d+/},B];R.contains=P.concat({begin:/\{/,end:/\}/,keywords:w,contains:["self"].concat(P)});const k=[].concat(Z,R.contains),$=k.concat([{begin:/(\s*)\(/,end:/\)/,keywords:w,contains:["self"].concat(k)}]),O={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:w,contains:$},U={variants:[{match:[/class/,/\s+/,y,/\s+/,/extends/,/\s+/,g.concat(y,"(",g.concat(/\./,y),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,y],scope:{1:"keyword",3:"title.class"}}]},K={relevance:0,match:g.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...a,...s]}},X={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},M={variants:[{match:[/function/,/\s+/,y,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[O],illegal:/%/},L={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function F(W){return g.concat("(?!",W.join("|"),")")}const D={match:g.concat(/\b/,F([...o,"super","import"].map(W=>`${W}\\s*\\(`)),y,g.lookahead(/\s*\(/)),className:"title.function",relevance:0},V={begin:g.concat(/\./,g.lookahead(g.concat(y,/(?![0-9A-Za-z$_(])/))),end:y,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},q={match:[/get|set/,/\s+/,y,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},O]},Q="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+p.UNDERSCORE_IDENT_RE+")\\s*=>",J={match:[/const|var|let/,/\s+/,y,/\s*/,/=\s*/,/(async\s*)?/,g.lookahead(Q)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[O]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:w,exports:{PARAMS_CONTAINS:$,CLASS_REFERENCE:K},illegal:/#(?![$_A-z])/,contains:[p.SHEBANG({label:"shebang",binary:"node",relevance:5}),X,p.APOS_STRING_MODE,p.QUOTE_STRING_MODE,H,z,Y,j,Z,{match:/\$\d+/},B,K,{scope:"attr",match:y+g.lookahead(":"),relevance:0},J,{begin:"("+p.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Z,p.REGEXP_MODE,{className:"function",begin:Q,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:p.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:w,contains:$}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:_.begin,end:_.end},{match:N},{begin:S.begin,"on:begin":S.isTrulyOpeningTag,end:S.end}],subLanguage:"xml",contains:[{begin:S.begin,end:S.end,skip:!0,contains:["self"]}]}]},M,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+p.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[O,p.inherit(p.TITLE_MODE,{begin:y,className:"title.function"})]},{match:/\.\.\./,relevance:0},V,{match:"\\$"+y,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[O]},D,L,U,q,{match:/\$[(.]/}]}}function f(p){const g=p.regex,b=h(p),y=e,_=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],N={begin:[/namespace/,/\s+/,p.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},S={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:_},contains:[b.exports.CLASS_REFERENCE]},w={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},C=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],E={$pattern:e,keyword:t.concat(C),literal:r,built_in:d.concat(_),"variable.language":c},A={className:"meta",begin:"@"+y},B=(Y,j,I)=>{const Z=Y.contains.findIndex(P=>P.label===j);if(Z===-1)throw new Error("can not find mode to replace");Y.contains.splice(Z,1,I)};Object.assign(b.keywords,E),b.exports.PARAMS_CONTAINS.push(A);const R=b.contains.find(Y=>Y.scope==="attr"),H=Object.assign({},R,{match:g.concat(y,g.lookahead(/\s*\?:/))});b.exports.PARAMS_CONTAINS.push([b.exports.CLASS_REFERENCE,R,H]),b.contains=b.contains.concat([A,N,S,H]),B(b,"shebang",p.SHEBANG()),B(b,"use_strict",w);const z=b.contains.find(Y=>Y.label==="func.def");return z.relevance=0,Object.assign(b,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),b}return bm=f,bm}var ym,$v;function Pj(){if($v)return ym;$v=1;function e(t){const r=t.regex,a={className:"string",begin:/"(""|[^/n])"C\b/},s={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},o=/\d{1,2}\/\d{1,2}\/\d{4}/,c=/\d{4}-\d{1,2}-\d{1,2}/,d=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,h=/\d{1,2}(:\d{1,2}){1,2}/,f={className:"literal",variants:[{begin:r.concat(/# */,r.either(c,o),/ *#/)},{begin:r.concat(/# */,h,/ *#/)},{begin:r.concat(/# */,d,/ *#/)},{begin:r.concat(/# */,r.either(c,o),/ +/,r.either(d,h),/ *#/)}]},p={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},g={className:"label",begin:/^\w+:/},b=t.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),y=t.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[a,s,f,p,g,b,y,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[y]}]}}return ym=e,ym}var vm,qv;function Fj(){if(qv)return vm;qv=1;function e(t){t.regex;const r=t.COMMENT(/\(;/,/;\)/);r.contains.push("self");const a=t.COMMENT(/;;/,/$/),s=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],o={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},c={className:"variable",begin:/\$[\w_]+/},d={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},h={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},f={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},p={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:s},contains:[a,r,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},c,d,o,t.QUOTE_STRING_MODE,f,p,h]}}return vm=e,vm}var _m,Pv;function Gj(){if(Pv)return _m;Pv=1;var e=oj();return e.registerLanguage("xml",cj()),e.registerLanguage("bash",uj()),e.registerLanguage("c",dj()),e.registerLanguage("cpp",fj()),e.registerLanguage("csharp",hj()),e.registerLanguage("css",mj()),e.registerLanguage("markdown",pj()),e.registerLanguage("diff",gj()),e.registerLanguage("ruby",xj()),e.registerLanguage("go",bj()),e.registerLanguage("graphql",yj()),e.registerLanguage("ini",vj()),e.registerLanguage("java",_j()),e.registerLanguage("javascript",wj()),e.registerLanguage("json",Ej()),e.registerLanguage("kotlin",Nj()),e.registerLanguage("less",Sj()),e.registerLanguage("lua",kj()),e.registerLanguage("makefile",Cj()),e.registerLanguage("perl",Tj()),e.registerLanguage("objectivec",Aj()),e.registerLanguage("php",Mj()),e.registerLanguage("php-template",Oj()),e.registerLanguage("plaintext",Rj()),e.registerLanguage("python",jj()),e.registerLanguage("python-repl",Dj()),e.registerLanguage("r",Lj()),e.registerLanguage("rust",zj()),e.registerLanguage("scss",Ij()),e.registerLanguage("shell",Bj()),e.registerLanguage("sql",Uj()),e.registerLanguage("swift",Hj()),e.registerLanguage("yaml",$j()),e.registerLanguage("typescript",qj()),e.registerLanguage("vbnet",Pj()),e.registerLanguage("wasm",Fj()),e.HighlightJS=e,e.default=e,_m=e,_m}var Vj=Gj();const zn=Mo(Vj);function Yj(e){const t=e.regex,r="HTTP/([32]|1\\.[01])",a=/[A-Za-z][A-Za-z0-9-]*/,s={className:"attribute",begin:t.concat("^",a,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},o=[s,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+r+" \\d{3})",end:/$/,contains:[{className:"meta",begin:r},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:o}},{begin:"(?=^[A-Z]+ (.*?) "+r+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:r},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:o}},e.inherit(s,{relevance:0})]}}function Xj(e){const t=e.regex,r={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{\w+\}/},{begin:t.concat(/[$@]/,e.UNDERSCORE_IDENT_RE)}]},s={endsWithParent:!0,keywords:{$pattern:/[a-z_]{2,}|\/dev\/poll/,literal:["on","off","yes","no","true","false","none","blocked","debug","info","notice","warn","error","crit","select","break","last","permanent","redirect","kqueue","rtsig","epoll","poll","/dev/poll"]},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[r]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:"\\s\\^",end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]?\\b",relevance:0},r]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{beginKeywords:"upstream location",end:/;|\{/,contains:s.contains,keywords:{section:"upstream location"}},{className:"section",begin:t.concat(e.UNDERSCORE_IDENT_RE+t.lookahead(/\s+\{/)),relevance:0},{begin:t.lookahead(e.UNDERSCORE_IDENT_RE+"\\s"),end:";|\\{",contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:s}],relevance:0}],illegal:"[^\\s\\}\\{]"}}function Kj(e){const t={className:"number",begin:/[$%]\d+/},r={className:"number",begin:/\b\d+/},a={className:"number",begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/},s={className:"number",begin:/:\d{1,5}/};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/,contains:[a,s,e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{_:["order","deny","allow","setenv","rewriterule","rewriteengine","rewritecond","documentroot","sethandler","errordocument","loadmodule","options","header","listen","serverroot","servername"]},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{scope:"punctuation",match:/\\\n/},{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable",begin:/[\$%]\{/,end:/\}/,contains:["self",t]},a,r,e.QUOTE_STRING_MODE]}}],illegal:/\S/}}function Zj(e){return{name:"Dockerfile",aliases:["docker"],case_insensitive:!0,keywords:["from","maintainer","expose","env","arg","user","onbuild","stopsignal"],contains:[e.HASH_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{beginKeywords:"run cmd entrypoint volume add copy workdir label healthcheck shell",starts:{end:/[^\\]$/,subLanguage:"bash"}}],illegal:"{Tp(o),s(!0),setTimeout(()=>s(!1),2e3)};return m.jsxs("div",{className:"group/code relative rounded-md border border-[#2a2a2a] my-4 text-[#ddd] overflow-hidden",children:[y?m.jsxs("div",{className:"flex items-stretch",children:[m.jsxs("span",{className:"relative flex items-center text-[13px] text-[#999] font-mono px-4 py-2 border-r border-[#2a2a2a]",children:[y,m.jsx("span",{className:"absolute top-0 inset-x-0 h-0.5 bg-white/60 rounded-full"})]}),m.jsx("div",{className:"flex-1 border-b border-[#2a2a2a]"}),m.jsx("button",{onClick:S,className:"px-3 py-2 text-[#555] hover:text-white transition-colors border-b border-[#2a2a2a]","aria-label":"Copy code",children:a?m.jsx(Vs,{className:"w-3.5 h-3.5 text-emerald-400"}):m.jsx(go,{className:"w-3.5 h-3.5"})})]}):m.jsx("button",{onClick:S,className:"absolute top-2 right-2 z-10 p-1 rounded text-[#444] hover:text-white opacity-0 group-hover/code:opacity-100 transition-opacity","aria-label":"Copy code",children:a?m.jsx(Vs,{className:"w-3.5 h-3.5 text-emerald-400"}):m.jsx(go,{className:"w-3.5 h-3.5"})}),m.jsx("div",{className:"overflow-auto max-h-[400px]",children:m.jsx("table",{className:"w-full border-collapse font-mono text-[12px] leading-[22px] [font-variant-ligatures:none]",children:m.jsx("tbody",{children:N.map((E,A)=>m.jsxs("tr",{children:[m.jsx("td",{className:"select-none w-[1px] whitespace-nowrap px-4 text-right text-[#555] align-top text-[12px] leading-[22px] border-r border-[#2a2a2a]",children:b+A}),m.jsx("td",{className:"pl-4 pr-4 whitespace-pre",dangerouslySetInnerHTML:{__html:E||` `}})]},A))})})})]})}function Wp(){return e=>{const t=r=>{var a;if(r.type==="element"&&r.tagName==="pre"&&r.children){const s=r.children.find(o=>o.type==="element"&&o.tagName==="code");(a=s==null?void 0:s.data)!=null&&a.meta&&(s.properties=s.properties||{},s.properties.metastring=s.data.meta)}r.children&&r.children.forEach(s=>t(s))};t(e)}}const Jp={code:wE,pre:({children:e})=>m.jsx(m.Fragment,{children:e})};function ca({title:e,content:t,action:r}){return m.jsxs("section",{children:[(e||r)&&m.jsxs("div",{className:"flex items-center justify-between gap-3 mb-3",children:[e?m.jsx("h2",{className:"text-xl font-semibold text-white",children:e}):m.jsx("span",{}),r]}),m.jsx("div",{className:"prose-markdown",children:m.jsx(Yp,{remarkPlugins:[Qp],rehypePlugins:[Wp],components:Jp,children:t})})]})}class Wj{diff(t,r,a={}){let s;typeof a=="function"?(s=a,a={}):"callback"in a&&(s=a.callback);const o=this.castInput(t,a),c=this.castInput(r,a),d=this.removeEmpty(this.tokenize(o,a)),h=this.removeEmpty(this.tokenize(c,a));return this.diffWithOptionsObj(d,h,a,s)}diffWithOptionsObj(t,r,a,s){var o;const c=C=>{if(C=this.postProcess(C,a),s){setTimeout(function(){s(C)},0);return}else return C},d=r.length,h=t.length;let f=1,p=d+h;a.maxEditLength!=null&&(p=Math.min(p,a.maxEditLength));const g=(o=a.timeout)!==null&&o!==void 0?o:1/0,b=Date.now()+g,y=[{oldPos:-1,lastComponent:void 0}];let _=this.extractCommon(y[0],r,t,0,a);if(y[0].oldPos+1>=h&&_+1>=d)return c(this.buildValues(y[0].lastComponent,r,t));let N=-1/0,S=1/0;const w=()=>{for(let C=Math.max(N,-f);C<=Math.min(S,f);C+=2){let E;const A=y[C-1],B=y[C+1];A&&(y[C-1]=void 0);let R=!1;if(B){const z=B.oldPos-C;R=B&&0<=z&&z=h&&_+1>=d)return c(this.buildValues(E.lastComponent,r,t))||!0;y[C]=E,E.oldPos+1>=h&&(S=Math.min(S,C-1)),_+1>=d&&(N=Math.max(N,C+1))}f++};if(s)(function C(){setTimeout(function(){if(f>p||Date.now()>b)return s(void 0);w()||C()},0)})();else for(;f<=p&&Date.now()<=b;){const C=w();if(C)return C}}addToPath(t,r,a,s,o){const c=t.lastComponent;return c&&!o.oneChangePerToken&&c.added===r&&c.removed===a?{oldPos:t.oldPos+s,lastComponent:{count:c.count+1,added:r,removed:a,previousComponent:c.previousComponent}}:{oldPos:t.oldPos+s,lastComponent:{count:1,added:r,removed:a,previousComponent:c}}}extractCommon(t,r,a,s,o){const c=r.length,d=a.length;let h=t.oldPos,f=h-s,p=0;for(;f+1b.length?_:b}),p.value=this.join(g)}else p.value=this.join(r.slice(h,h+p.count));h+=p.count,p.added||(f+=p.count)}}return s}}class Jj extends Wj{constructor(){super(...arguments),this.tokenize=nD}equals(t,r,a){return a.ignoreWhitespace?((!a.newlineIsToken||!t.includes(` @@ -463,7 +463,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),Ht=ye,ft=Le),Qe===void `)&&(r=r.slice(0,-1))),super.equals(t,r,a)}}const eD=new Jj;function tD(e,t,r){return eD.diff(e,t,r)}function nD(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,` `));const r=[],a=e.split(/(\n|\r\n)/);a[a.length-1]||a.pop();for(let s=0;sN.value.replace(/\n$/,"").split(` `).map(S=>{const w=S===""?` -`:f!=="text"?rD(S,f):S.replace(/&/g,"&").replace(//g,">");let C="",E="";return N.removed?C=String(g++):(N.added||(C=String(g++)),E=String(b++)),{highlighted:w,added:!!N.added,removed:!!N.removed,leftNo:C,rightNo:E}})),_=()=>{Tp(s),d(!0),setTimeout(()=>d(!1),2e3),o==null||o()};return m.jsxs("div",{className:"rounded-md border border-[#2a2a2a] overflow-hidden",children:[m.jsxs("div",{className:"flex items-stretch",children:[m.jsxs("span",{className:"relative flex items-center text-[13px] text-[#999] font-mono px-4 py-2 border-r border-[#2a2a2a] break-all",children:[e,":",h,m.jsx("span",{className:"absolute top-0 inset-x-0 h-0.5 bg-white/60 rounded-full"})]}),m.jsx("div",{className:"flex-1 border-b border-[#2a2a2a]"}),m.jsx("button",{onClick:_,className:"px-3 py-2 text-[#555] hover:text-white transition-colors flex-shrink-0 border-b border-[#2a2a2a]","aria-label":"Copy fixed code",children:c?m.jsx(Vs,{className:"w-3.5 h-3.5 text-emerald-400"}):m.jsx(go,{className:"w-3.5 h-3.5"})})]}),m.jsx("div",{className:"overflow-auto max-h-[400px]",children:m.jsx("table",{className:"w-full border-collapse font-mono text-[12px] leading-[22px] [font-variant-ligatures:none]",children:m.jsx("tbody",{children:y.map((N,S)=>m.jsxs("tr",{className:N.added?"bg-blue-500/[0.12]":N.removed?"bg-red-500/[0.12]":"",children:[m.jsx("td",{className:"select-none w-[1px] whitespace-nowrap pl-4 pr-1.5 text-right text-[#555] align-top text-[12px] leading-[22px]",children:N.leftNo}),m.jsx("td",{className:"select-none w-[1px] whitespace-nowrap pl-1.5 pr-4 text-right text-[#555] align-top text-[12px] leading-[22px] border-r border-[#2a2a2a]",children:N.rightNo}),m.jsx("td",{className:"pl-4 pr-4 whitespace-pre",dangerouslySetInnerHTML:{__html:N.highlighted}})]},S))})})})]})}const aD=/^```([^\n`]*)\r?\n([\s\S]*?)\r?\n?```$/;function EE(e){if(!e)return{code:""};const t=aD.exec(e.trim());if(!t)return{code:e};const r=t[1].trim();return{language:(r?r.split(/\s+/)[0]:void 0)||void 0,code:t[2]}}function sD({description:e,scriptCode:t,onCopy:r}){const[a,s]=ee.useState(!1);if(!e&&!t)return null;const{language:o,code:c}=EE(t),d=_E(c,o),h=()=>{c&&(Tp(c),s(!0),setTimeout(()=>s(!1),2e3),r==null||r())};return m.jsxs("section",{children:[m.jsx("h2",{className:"text-xl font-semibold text-white mb-3",children:"Proof of Concept"}),m.jsxs("div",{className:"space-y-4",children:[e&&m.jsx("div",{className:"prose-markdown",children:m.jsx(Yp,{remarkPlugins:[Qp],rehypePlugins:[Wp],components:Jp,children:e})}),c&&m.jsxs("div",{className:"group/poc relative rounded-md border border-[#2a2a2a] overflow-hidden",children:[m.jsxs("div",{className:"flex items-stretch",children:[m.jsxs("span",{className:"relative flex items-center text-[13px] text-[#999] font-mono px-4 py-2 border-r border-[#2a2a2a]",children:["PoC Script",m.jsx("span",{className:"absolute top-0 inset-x-0 h-0.5 bg-white/60 rounded-full"})]}),m.jsx("div",{className:"flex-1 border-b border-[#2a2a2a]"}),m.jsx("button",{onClick:h,className:"px-3 py-2 text-[#555] hover:text-white transition-colors flex-shrink-0 border-b border-[#2a2a2a]","aria-label":"Copy PoC code",children:a?m.jsx(Vs,{className:"w-3.5 h-3.5 text-emerald-400"}):m.jsx(go,{className:"w-3.5 h-3.5"})})]}),m.jsx("div",{className:"overflow-auto max-h-[400px] px-4 py-3",children:m.jsx("pre",{className:"font-mono text-[12px] leading-[22px] whitespace-pre [font-variant-ligatures:none]",children:m.jsx("code",{dangerouslySetInnerHTML:{__html:d}})})})]})]})]})}function NE(e){const t=e.match(/(?:https?:\/\/)?(?:www\.)?github\.com\/([^\s/]+\/[^\s/]+)/);if(t){const s=t[1].replace(/\.git$/,"");return{display:s,href:`https://github.com/${s}`,provider:"github"}}const r=e.match(/(?:https?:\/\/)?(?:www\.)?gitlab\.com\/([^\s/]+\/[^\s/]+)/);if(r){const s=r[1].replace(/\.git$/,"");return{display:s,href:`https://gitlab.com/${s}`,provider:"gitlab"}}const a=e.match(/(?:https?:\/\/)?(?:www\.)?bitbucket\.org\/([^\s/]+\/[^\s/]+)/);if(a){const s=a[1].replace(/\.git$/,"");return{display:s,href:`https://bitbucket.org/${s}`,provider:"bitbucket"}}return/^https?:\/\//i.test(e)?{display:e.replace(/^https?:\/\/(www\.)?/,""),href:e,provider:null}:/^[a-zA-Z0-9][\w.-]*\.[a-zA-Z]{2,}/.test(e)?{display:e,href:`https://${e}`,provider:null}:{display:e,href:null,provider:null}}function yo(e,t){return e?NE(e).display.replace(/\/$/,""):t||"Untitled pentest"}function lD({className:e}){return m.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:e,"aria-hidden":"true",children:m.jsx("path",{d:"M2.65 3a.72.72 0 0 0-.72.83l2.86 17.39a.98.98 0 0 0 .96.82h13.72a.72.72 0 0 0 .72-.6l2.86-17.4A.72.72 0 0 0 22.3 3H2.65Zm12.1 12.53H9.3L8.06 8.9h7.8l-1.11 6.63Z"})})}function oD({provider:e,className:t}){const r=t??"w-4 h-4";return e==="gitlab"?m.jsx(PC,{className:`${r} text-orange-400`}):e==="bitbucket"?m.jsx(lD,{className:`${r} text-blue-400`}):m.jsx($C,{className:`${r} text-white`})}const cD={attack_vector:{N:"Remotely exploitable",A:"Adjacent network",L:"Local access required",P:"Physical access required"},attack_complexity:{L:"Easy to exploit",H:"Requires specific conditions"},privileges_required:{N:"No authentication needed",L:"Low privileges needed",H:"High privileges needed"},user_interaction:{N:"No user action required",R:"Requires user action",P:"Passive user role",A:"Active user role"},scope:{U:"Impact stays contained",C:"Can spread to other systems"},confidentiality:{N:"No data exposure",L:"Partial data exposure",H:"Full data exposure"},integrity:{N:"No data modification",L:"Limited modification",H:"Full data modification"},availability:{N:"No service disruption",L:"Limited disruption",H:"Full service disruption"}},uD={attack_vector:{N:"high",A:"medium",L:"low",P:"low"},attack_complexity:{L:"high",H:"low"},privileges_required:{N:"high",L:"medium",H:"low"},user_interaction:{N:"high",R:"low",P:"medium",A:"low"},scope:{C:"high",U:"low"},confidentiality:{H:"high",L:"medium",N:"low"},integrity:{H:"high",L:"medium",N:"low"},availability:{H:"high",L:"medium",N:"low"}},dD={high:"bg-red-500/15 text-red-400 border-red-500/25",medium:"bg-yellow-500/15 text-yellow-400 border-yellow-500/25",low:"bg-[#222] text-[#666] border-[#333]"},fD=[{label:"Exploitability",keys:["attack_vector","attack_complexity","privileges_required","user_interaction"]},{label:"Impact",keys:["scope","confidentiality","integrity","availability"]}];function hD(e,t,r,a,s){const o=e.replace(/\.git$/,"").replace(/\/+$/,""),c=a.split("/").map(encodeURIComponent).join("/"),d=r.split("/").map(encodeURIComponent).join("/");return t==="github"?`${o}/blob/${d}/${c}#L${s}`:t==="gitlab"?`${o}/-/blob/${d}/${c}#L${s}`:null}function mD({vulnerability:e,statusSlot:t,slackThreadUrl:r}){var R;const{severity:a,cvss:s,cve:o,cwe:c,fix_effort:d,created_at:h,target:f,endpoint:p,method:g,code_locations:b,cvss_breakdown:y,location_meta:_}=e,[N,S]=ee.useState(!0),w=b==null?void 0:b.filter(H=>H.fix_before&&H.fix_after),C=w&&w.length>0,E=f?NE(f):null,A=!!(f||p||g||C),B=y&&Object.values(y).some(H=>H!=null);return m.jsxs("aside",{className:"lg:sticky lg:top-6 lg:max-h-[calc(100vh-3rem)] lg:overflow-y-auto",children:[m.jsx("div",{className:"pb-4",children:m.jsxs("div",{className:"space-y-3",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Severity"}),m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("div",{className:`w-2 h-2 rounded-full ${Cp(a)}`,"aria-hidden":"true"}),m.jsx("span",{className:"text-sm font-medium capitalize text-white",children:a})]})]}),m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"CVSS Score"}),m.jsx("span",{className:"text-sm font-semibold tabular-nums text-white",children:s!==null?s:"N/A"})]}),o&&m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"CVE"}),m.jsx("span",{className:"text-sm text-white font-mono",children:o})]}),c&&c.length>0&&m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"CWE"}),m.jsx("span",{className:"text-xs text-white font-mono truncate max-w-[80%] text-right",title:c.join(" · "),children:c.join(" · ")})]}),d&&m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Fix Effort"}),m.jsx("span",{className:`inline-flex items-center px-2 py-0.5 text-[11px] font-medium rounded-full border ${((R=$T[d])==null?void 0:R.color)??"text-[#666]"}`,children:d.charAt(0).toUpperCase()+d.slice(1)})]}),m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Discovered"}),m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx(V_,{className:"w-3 h-3 text-[#444]","aria-hidden":"true"}),m.jsx("span",{className:"text-sm text-white",children:Ym(h)})]})]}),m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Status"}),t]})]})}),A&&m.jsxs("div",{className:"border-t border-[#191919] pt-4 pb-4",children:[m.jsx("p",{className:"text-xs font-medium text-[#aaa] mb-2.5",children:"Asset"}),m.jsxs("div",{className:"space-y-2.5",children:[f&&E&&m.jsxs("div",{className:"flex items-center gap-1.5",children:[E.provider?m.jsx("span",{className:"flex-shrink-0 [&_svg]:w-3.5 [&_svg]:h-3.5","aria-hidden":"true",children:m.jsx(oD,{provider:E.provider})}):m.jsx(X_,{className:"w-3.5 h-3.5 text-[#555] flex-shrink-0","aria-hidden":"true"}),E.href?m.jsx("a",{href:E.href,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-white hover:text-[#ccc] break-words min-w-0 transition-colors",children:E.display}):m.jsx("span",{className:"text-sm text-white break-words min-w-0",children:E.display})]}),p&&m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Endpoint"}),m.jsx("span",{className:"text-xs text-white font-mono truncate max-w-[75%] text-right",children:p})]}),g&&m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Method"}),m.jsx("span",{className:"text-xs text-white font-mono",children:g})]}),C&&m.jsxs("div",{children:[m.jsx("span",{className:"text-xs text-[#aaa] mb-1.5 block",children:"Locations"}),m.jsx("div",{className:"space-y-0.5",children:w.map((H,z)=>{const Y=`${H.file}:${H.start_line}`,j=_?hD(_.repo_url,_.provider,_.branch,H.file,H.start_line):null;return j?m.jsx("a",{href:j,target:"_blank",rel:"noopener noreferrer",className:"text-[13px] text-[#888] hover:text-white font-mono break-all transition-colors block",children:Y},`loc-${z}`):m.jsx("span",{className:"text-[13px] text-[#888] font-mono break-all block",children:Y},`loc-${z}`)})})]})]})]}),B&&m.jsxs("div",{className:"border-t border-[#191919] pt-4",children:[m.jsxs("button",{onClick:()=>S(!N),className:"flex items-center justify-between w-full mb-2.5 group","aria-expanded":N,children:[m.jsx("span",{className:"text-xs font-medium text-[#aaa]",children:"Risk Assessment"}),m.jsx(po,{className:`w-3.5 h-3.5 text-[#555] group-hover:text-white transition-transform ${N?"":"-rotate-90"}`,"aria-hidden":"true"})]}),m.jsx("div",{className:`space-y-3 ${N?"":"hidden"}`,children:fD.map(H=>{const z=H.keys.filter(Y=>y[Y]!=null);return z.length===0?null:m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[m.jsx("p",{className:"text-[10px] uppercase tracking-wider text-[#444] font-medium",children:H.label}),m.jsx("p",{className:"text-[10px] uppercase tracking-wider text-[#444] font-medium mr-2",children:"Risk"})]}),m.jsx("div",{className:"space-y-1",children:z.map(Y=>{var P,k;const j=y[Y],I=j?((P=uD[Y])==null?void 0:P[j])??"low":"low",Z=j?((k=cD[Y])==null?void 0:k[j])??j:"N/A";return m.jsxs("div",{className:"flex items-center justify-between py-0.5",children:[m.jsx("span",{className:"text-[12px] text-[#aaa]",children:Z}),m.jsx("span",{className:`text-[10px] font-medium px-1.5 py-0.5 rounded border ${dD[I]}`,children:I})]},Y)})})]},H.label)})})]})]})}function Fv(e){return e?Math.floor((Date.now()-new Date(e).getTime())/1e3)<604800?` ${Ym(e)}`:` on ${Ym(e)}`:""}const pD={open:null,in_progress:{icon:V_,label:"Marked as In Progress",iconColor:"text-blue-400"},snoozed:{icon:Jk,label:"Snoozed",iconColor:"text-purple-400"},fixed:{icon:Nu,label:"Marked as Fixed",iconColor:"text-emerald-400"},ignored:{icon:U_,label:"Marked as Ignored",iconColor:"text-[#888]"}},gD=[{label:"Auto-fix & open a PR",slug:"autofix",icon:Gm,requiresCode:!0},{label:"Sync to Jira / Linear",slug:"integrations",icon:IC}];function xD({vulnerability:e}){const t=HT[e.status],r=e.code_locations&&e.code_locations.length>0,a=r||e.remediation_steps,s=!!(e.evidence||e.assumptions||e.poc_description||e.poc_script_code),[o,c]=ee.useState("fix"),h=[{id:"fix",label:"Fix",show:!!a},{id:"reproduction",label:"Reproduction",show:s}].filter(f=>f.show);return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsxs("div",{className:"mb-2",children:[e.display_number&&m.jsx("span",{className:"text-xs font-mono text-[#555] block mb-1",children:UA(e.display_number)}),m.jsx("h1",{className:"text-2xl font-semibold text-white",children:e.title})]}),m.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[m.jsx("span",{className:`inline-flex items-center gap-1.5 px-3 py-1 text-sm font-medium rounded-full border ${t.color}`,children:t.label}),m.jsxs("div",{className:`inline-flex items-center gap-1.5 px-3 py-1 text-sm font-semibold rounded-full border ${ew[e.severity]}`,title:Jc(e)?`Adjusted from ${e.original_severity}`:void 0,children:[m.jsx("div",{className:`w-2 h-2 rounded-full ${Cp(e.severity)}`}),m.jsxs("span",{className:"capitalize",children:[e.severity,!Jc(e)&&e.cvss?` ${e.cvss}`:""]}),Jc(e)&&m.jsx(Ys,{className:"w-3 h-3 opacity-70","aria-hidden":"true"})]}),e.cve&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-[#333]",children:"·"}),m.jsx("span",{className:"text-sm text-[#666] font-mono",children:e.cve})]})]})]}),m.jsx("div",{className:"flex flex-shrink-0 flex-wrap items-center gap-2",children:gD.filter(f=>!f.requiresCode||r).map(f=>{const p=f.icon;return m.jsxs("a",{href:_i(Yu,f.slug),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr(f.slug,"finding_detail"),className:"inline-flex items-center gap-1.5 rounded-lg bg-white px-3 py-1.5 text-xs font-semibold text-black transition-opacity hover:opacity-90",children:[m.jsx(p,{className:"h-3.5 w-3.5","aria-hidden":"true"}),f.label]},f.slug)})})]}),e.status!=="open"&&(()=>{const f=pD[e.status];if(!f)return null;const p=f.icon;return m.jsxs("div",{className:"rounded-lg px-4 py-3.5 flex gap-3",style:{border:"1px solid rgba(255,255,255,0.08)"},children:[m.jsx(p,{className:`w-5 h-5 flex-shrink-0 mt-0.5 ${f.iconColor}`,"aria-hidden":"true"}),m.jsxs("div",{className:"min-w-0",children:[m.jsxs("p",{className:"text-sm font-semibold text-white",children:[f.label,Fv(e.status_changed_at)]}),e.status_note&&m.jsxs("p",{className:"text-sm text-[#666] italic mt-1",children:["“",e.status_note,"”"]})]})]})})(),Jc(e)&&m.jsxs("div",{className:"rounded-lg px-4 py-3.5 flex gap-3",style:{border:"1px solid rgba(255,255,255,0.08)"},children:[m.jsx(Ys,{className:"w-5 h-5 flex-shrink-0 mt-0.5 text-orange-400","aria-hidden":"true"}),m.jsxs("div",{className:"min-w-0",children:[m.jsxs("p",{className:"text-sm font-semibold text-white",children:["Severity changed manually from"," ",m.jsx("span",{className:"capitalize",children:e.original_severity}),e.cvss!=null?` (${e.cvss})`:""," to"," ",m.jsx("span",{className:"capitalize",children:e.severity}),Fv(e.severity_changed_at)]}),e.severity_override_reason&&m.jsxs("p",{className:"text-sm text-[#666] italic mt-1",children:["“",e.severity_override_reason,"”"]})]})]}),m.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_340px] gap-8",children:[m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"space-y-8",children:[m.jsx(ca,{title:"TL;DR",content:e.description}),e.impact&&m.jsx(ca,{title:"Impact",content:e.impact}),e.technical_analysis&&m.jsx(ca,{title:"Technical Details",content:e.technical_analysis})]}),h.length>0&&m.jsxs("div",{className:"mt-10",children:[m.jsx("div",{className:"border-b border-[#2a2a2a]",children:m.jsx("nav",{className:"flex gap-6","aria-label":"Tabs",children:h.map(f=>m.jsxs("button",{onClick:()=>c(f.id),className:`relative min-w-[80px] text-center pb-3 text-[16px] font-semibold transition-colors ${o===f.id?"text-white":"text-[#666] hover:text-white"}`,"aria-current":o===f.id?"page":void 0,children:[f.label,o===f.id&&m.jsx("span",{className:"absolute bottom-0 inset-x-0 h-0.5 bg-white rounded-full"})]},f.id))})}),a&&m.jsxs("div",{className:`pt-6 space-y-6 ${o==="fix"?"animate-tab-in":"hidden"}`,children:[e.remediation_steps&&m.jsx(ca,{title:"How do I fix it?",content:e.remediation_steps}),r&&e.code_locations.filter(f=>f.fix_before&&f.fix_after).map((f,p)=>m.jsx(iD,{file:f.file,startLine:f.start_line,endLine:f.end_line,before:f.fix_before,after:f.fix_after},`fix-${p}`))]}),s&&m.jsxs("div",{className:`pt-6 space-y-8 ${o==="reproduction"?"animate-tab-in":"hidden"}`,children:[e.assumptions&&m.jsx(ca,{title:"Assumptions",content:e.assumptions}),e.evidence&&m.jsx(ca,{title:"Evidence",content:e.evidence}),m.jsx(sD,{description:e.poc_description,scriptCode:e.poc_script_code})]})]})]}),m.jsx("div",{className:"lg:border-l lg:border-[#2a2a2a] lg:pl-6",children:m.jsx(mD,{vulnerability:e,statusSlot:m.jsxs("span",{className:`inline-flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded-full border ${t.color}`,children:[m.jsx("div",{className:`w-1.5 h-1.5 rounded-full ${t.dotColor}`}),t.label]})})})]})]})}const Gv=[{key:"critical",label:"critical",dotClass:"bg-red-500",textClass:"text-red-500"},{key:"high",label:"high",dotClass:"bg-orange-500",textClass:"text-orange-500"},{key:"medium",label:"medium",dotClass:"bg-yellow-500",textClass:"text-yellow-500"},{key:"low",label:"low",dotClass:"bg-blue-500",textClass:"text-blue-500"}];function bD({findings:e,className:t,unit:r="issues",trailing:a}){return e.total<=0?null:m.jsxs("div",{className:br("space-y-3",t),children:[m.jsxs("div",{className:"flex flex-wrap items-center gap-x-8 gap-y-3",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-2xl font-semibold text-white tabular-nums",children:e.total}),m.jsx("span",{className:"text-sm text-[#666]",children:r})]}),m.jsx("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-2",children:Gv.map(({key:s,label:o,dotClass:c,textClass:d})=>{const h=e[s];return h<=0?null:m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("div",{className:br("w-2 h-2 rounded-full",c),"aria-hidden":"true"}),m.jsx("span",{className:br("text-sm tabular-nums",d),children:h}),m.jsx("span",{className:"text-xs text-[#555]",children:o})]},s)})}),a?m.jsx("div",{className:"flex items-center gap-2",children:a}):null]}),m.jsx("div",{className:"h-1.5 rounded-full bg-[#222] overflow-hidden flex",children:Gv.map(({key:s,dotClass:o})=>{const c=e[s];return c<=0?null:m.jsx("div",{className:br("h-full",o),style:{width:`${c/e.total*100}%`}},s)})})]})}function on(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let r=0,a;r{}};function Ju(){for(var e=0,t=arguments.length,r={},a;e=0&&(a=r.slice(s+1),r=r.slice(0,s)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:a}})}yu.prototype=Ju.prototype={constructor:yu,on:function(e,t){var r=this._,a=vD(e+"",r),s,o=-1,c=a.length;if(arguments.length<2){for(;++o0)for(var r=new Array(s),a=0,s,o;a=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),Yv.hasOwnProperty(t)?{space:Yv[t],local:e}:e}function wD(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===ap&&t.documentElement.namespaceURI===ap?t.createElement(e):t.createElementNS(r,e)}}function ED(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function SE(e){var t=ed(e);return(t.local?ED:wD)(t)}function ND(){}function eg(e){return e==null?ND:function(){return this.querySelector(e)}}function SD(e){typeof e!="function"&&(e=eg(e));for(var t=this._groups,r=t.length,a=new Array(r),s=0;s=E&&(E=C+1);!(B=S[E])&&++E<_;);A._next=B||null}}return c=new sr(c,a),c._enter=d,c._exit=h,c}function GD(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function VD(){return new sr(this._exit||this._groups.map(AE),this._parents)}function YD(e,t,r){var a=this.enter(),s=this,o=this.exit();return typeof e=="function"?(a=e(a),a&&(a=a.selection())):a=a.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),r==null?o.remove():r(o),a&&s?a.merge(s).order():s}function XD(e){for(var t=e.selection?e.selection():e,r=this._groups,a=t._groups,s=r.length,o=a.length,c=Math.min(s,o),d=new Array(s),h=0;h=0;)(c=a[s])&&(o&&c.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(c,o),o=c);return this}function ZD(e){e||(e=QD);function t(g,b){return g&&b?e(g.__data__,b.__data__):!g-!b}for(var r=this._groups,a=r.length,s=new Array(a),o=0;ot?1:e>=t?0:NaN}function WD(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function JD(){return Array.from(this)}function eL(){for(var e=this._groups,t=0,r=e.length;t1?this.each((t==null?dL:typeof t=="function"?hL:fL)(e,t,r??"")):Ks(this.node(),e)}function Ks(e,t){return e.style.getPropertyValue(t)||ME(e).getComputedStyle(e,null).getPropertyValue(t)}function pL(e){return function(){delete this[e]}}function gL(e,t){return function(){this[e]=t}}function xL(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function bL(e,t){return arguments.length>1?this.each((t==null?pL:typeof t=="function"?xL:gL)(e,t)):this.node()[e]}function OE(e){return e.trim().split(/^|\s+/)}function tg(e){return e.classList||new RE(e)}function RE(e){this._node=e,this._names=OE(e.getAttribute("class")||"")}RE.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function jE(e,t){for(var r=tg(e),a=-1,s=t.length;++a=0&&(r=t.slice(a+1),t=t.slice(0,a)),{type:t,name:r}})}function VL(e){return function(){var t=this.__on;if(t){for(var r=0,a=-1,s=t.length,o;r()=>e;function sp(e,{sourceEvent:t,subject:r,target:a,identifier:s,active:o,x:c,y:d,dx:h,dy:f,dispatch:p}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:a,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:c,enumerable:!0,configurable:!0},y:{value:d,enumerable:!0,configurable:!0},dx:{value:h,enumerable:!0,configurable:!0},dy:{value:f,enumerable:!0,configurable:!0},_:{value:p}})}sp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function n6(e){return!e.ctrlKey&&!e.button}function r6(){return this.parentNode}function i6(e,t){return t??{x:e.x,y:e.y}}function a6(){return navigator.maxTouchPoints||"ontouchstart"in this}function UE(){var e=n6,t=r6,r=i6,a=a6,s={},o=Ju("start","drag","end"),c=0,d,h,f,p,g=0;function b(A){A.on("mousedown.drag",y).filter(a).on("touchstart.drag",S).on("touchmove.drag",w,t6).on("touchend.drag touchcancel.drag",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(A,B){if(!(p||!e.call(this,A,B))){var R=E(this,t.call(this,A,B),A,B,"mouse");R&&(ir(A.view).on("mousemove.drag",_,vo).on("mouseup.drag",N,vo),IE(A.view),wm(A),f=!1,d=A.clientX,h=A.clientY,R("start",A))}}function _(A){if(Fs(A),!f){var B=A.clientX-d,R=A.clientY-h;f=B*B+R*R>g}s.mouse("drag",A)}function N(A){ir(A.view).on("mousemove.drag mouseup.drag",null),BE(A.view,f),Fs(A),s.mouse("end",A)}function S(A,B){if(e.call(this,A,B)){var R=A.changedTouches,H=t.call(this,A,B),z=R.length,Y,j;for(Y=0;Y>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?lu(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?lu(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=l6.exec(e))?new Gn(t[1],t[2],t[3],1):(t=o6.exec(e))?new Gn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=c6.exec(e))?lu(t[1],t[2],t[3],t[4]):(t=u6.exec(e))?lu(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=d6.exec(e))?e1(t[1],t[2]/100,t[3]/100,1):(t=f6.exec(e))?e1(t[1],t[2]/100,t[3]/100,t[4]):Xv.hasOwnProperty(e)?Qv(Xv[e]):e==="transparent"?new Gn(NaN,NaN,NaN,0):null}function Qv(e){return new Gn(e>>16&255,e>>8&255,e&255,1)}function lu(e,t,r,a){return a<=0&&(e=t=r=NaN),new Gn(e,t,r,a)}function p6(e){return e instanceof Io||(e=Ya(e)),e?(e=e.rgb(),new Gn(e.r,e.g,e.b,e.opacity)):new Gn}function lp(e,t,r,a){return arguments.length===1?p6(e):new Gn(e,t,r,a??1)}function Gn(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}ng(Gn,lp,HE(Io,{brighter(e){return e=e==null?Ou:Math.pow(Ou,e),new Gn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?_o:Math.pow(_o,e),new Gn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Gn(Pa(this.r),Pa(this.g),Pa(this.b),Ru(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:Wv,formatHex:Wv,formatHex8:g6,formatRgb:Jv,toString:Jv}));function Wv(){return`#${$a(this.r)}${$a(this.g)}${$a(this.b)}`}function g6(){return`#${$a(this.r)}${$a(this.g)}${$a(this.b)}${$a((isNaN(this.opacity)?1:this.opacity)*255)}`}function Jv(){const e=Ru(this.opacity);return`${e===1?"rgb(":"rgba("}${Pa(this.r)}, ${Pa(this.g)}, ${Pa(this.b)}${e===1?")":`, ${e})`}`}function Ru(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Pa(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function $a(e){return e=Pa(e),(e<16?"0":"")+e.toString(16)}function e1(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Or(e,t,r,a)}function $E(e){if(e instanceof Or)return new Or(e.h,e.s,e.l,e.opacity);if(e instanceof Io||(e=Ya(e)),!e)return new Or;if(e instanceof Or)return e;e=e.rgb();var t=e.r/255,r=e.g/255,a=e.b/255,s=Math.min(t,r,a),o=Math.max(t,r,a),c=NaN,d=o-s,h=(o+s)/2;return d?(t===o?c=(r-a)/d+(r0&&h<1?0:c,new Or(c,d,h,e.opacity)}function x6(e,t,r,a){return arguments.length===1?$E(e):new Or(e,t,r,a??1)}function Or(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}ng(Or,x6,HE(Io,{brighter(e){return e=e==null?Ou:Math.pow(Ou,e),new Or(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?_o:Math.pow(_o,e),new Or(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,a=r+(r<.5?r:1-r)*t,s=2*r-a;return new Gn(Em(e>=240?e-240:e+120,s,a),Em(e,s,a),Em(e<120?e+240:e-120,s,a),this.opacity)},clamp(){return new Or(t1(this.h),ou(this.s),ou(this.l),Ru(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=Ru(this.opacity);return`${e===1?"hsl(":"hsla("}${t1(this.h)}, ${ou(this.s)*100}%, ${ou(this.l)*100}%${e===1?")":`, ${e})`}`}}));function t1(e){return e=(e||0)%360,e<0?e+360:e}function ou(e){return Math.max(0,Math.min(1,e||0))}function Em(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const rg=e=>()=>e;function b6(e,t){return function(r){return e+r*t}}function y6(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(a){return Math.pow(e+a*t,r)}}function v6(e){return(e=+e)==1?qE:function(t,r){return r-t?y6(t,r,e):rg(isNaN(t)?r:t)}}function qE(e,t){var r=t-e;return r?b6(e,r):rg(isNaN(e)?t:e)}const ju=(function e(t){var r=v6(t);function a(s,o){var c=r((s=lp(s)).r,(o=lp(o)).r),d=r(s.g,o.g),h=r(s.b,o.b),f=qE(s.opacity,o.opacity);return function(p){return s.r=c(p),s.g=d(p),s.b=h(p),s.opacity=f(p),s+""}}return a.gamma=e,a})(1);function _6(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,a=t.slice(),s;return function(o){for(s=0;sr&&(o=t.slice(r,o),d[c]?d[c]+=o:d[++c]=o),(a=a[0])===(s=s[0])?d[c]?d[c]+=s:d[++c]=s:(d[++c]=null,h.push({i:c,x:Vr(a,s)})),r=Nm.lastIndex;return r180?p+=360:p-f>180&&(f+=360),b.push({i:g.push(s(g)+"rotate(",null,a)-2,x:Vr(f,p)})):p&&g.push(s(g)+"rotate("+p+a)}function d(f,p,g,b){f!==p?b.push({i:g.push(s(g)+"skewX(",null,a)-2,x:Vr(f,p)}):p&&g.push(s(g)+"skewX("+p+a)}function h(f,p,g,b,y,_){if(f!==g||p!==b){var N=y.push(s(y)+"scale(",null,",",null,")");_.push({i:N-4,x:Vr(f,g)},{i:N-2,x:Vr(p,b)})}else(g!==1||b!==1)&&y.push(s(y)+"scale("+g+","+b+")")}return function(f,p){var g=[],b=[];return f=e(f),p=e(p),o(f.translateX,f.translateY,p.translateX,p.translateY,g,b),c(f.rotate,p.rotate,g,b),d(f.skewX,p.skewX,g,b),h(f.scaleX,f.scaleY,p.scaleX,p.scaleY,g,b),f=p=null,function(y){for(var _=-1,N=b.length,S;++_=0&&e._call.call(void 0,t),e=e._next;--Zs}function i1(){Xa=(Lu=Eo.now())+td,Zs=so=0;try{z6()}finally{Zs=0,B6(),Xa=0}}function I6(){var e=Eo.now(),t=e-Lu;t>VE&&(td-=t,Lu=e)}function B6(){for(var e,t=Du,r,a=1/0;t;)t._call?(a>t._time&&(a=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:Du=r);lo=e,up(a)}function up(e){if(!Zs){so&&(so=clearTimeout(so));var t=e-Xa;t>24?(e<1/0&&(so=setTimeout(i1,e-Eo.now()-td)),to&&(to=clearInterval(to))):(to||(Lu=Eo.now(),to=setInterval(I6,VE)),Zs=1,YE(i1))}}function a1(e,t,r){var a=new zu;return t=t==null?0:+t,a.restart(s=>{a.stop(),e(s+t)},t,r),a}var U6=Ju("start","end","cancel","interrupt"),H6=[],KE=0,s1=1,dp=2,_u=3,l1=4,fp=5,wu=6;function nd(e,t,r,a,s,o){var c=e.__transition;if(!c)e.__transition={};else if(r in c)return;$6(e,r,{name:t,index:a,group:s,on:U6,tween:H6,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:KE})}function ag(e,t){var r=Ir(e,t);if(r.state>KE)throw new Error("too late; already scheduled");return r}function Zr(e,t){var r=Ir(e,t);if(r.state>_u)throw new Error("too late; already running");return r}function Ir(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function $6(e,t,r){var a=e.__transition,s;a[t]=r,r.timer=XE(o,0,r.time);function o(f){r.state=s1,r.timer.restart(c,r.delay,r.time),r.delay<=f&&c(f-r.delay)}function c(f){var p,g,b,y;if(r.state!==s1)return h();for(p in a)if(y=a[p],y.name===r.name){if(y.state===_u)return a1(c);y.state===l1?(y.state=wu,y.timer.stop(),y.on.call("interrupt",e,e.__data__,y.index,y.group),delete a[p]):+pdp&&a.state=0&&(t=t.slice(0,r)),!t||t==="start"})}function xz(e,t,r){var a,s,o=gz(t)?ag:Zr;return function(){var c=o(this,e),d=c.on;d!==a&&(s=(a=d).copy()).on(t,r),c.on=s}}function bz(e,t){var r=this._id;return arguments.length<2?Ir(this.node(),r).on.on(e):this.each(xz(r,e,t))}function yz(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function vz(){return this.on("end.remove",yz(this._id))}function _z(e){var t=this._name,r=this._id;typeof e!="function"&&(e=eg(e));for(var a=this._groups,s=a.length,o=new Array(s),c=0;c()=>e;function Vz(e,{sourceEvent:t,target:r,transform:a,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:a,enumerable:!0,configurable:!0},_:{value:s}})}function vi(e,t,r){this.k=e,this.x=t,this.y=r}vi.prototype={constructor:vi,scale:function(e){return e===1?this:new vi(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new vi(this.k,this.x+this.k*e,this.y+this.k*t)},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 rd=new vi(1,0,0);JE.prototype=vi.prototype;function JE(e){for(;!e.__zoom;)if(!(e=e.parentNode))return rd;return e.__zoom}function Sm(e){e.stopImmediatePropagation()}function no(e){e.preventDefault(),e.stopImmediatePropagation()}function Yz(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Xz(){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 o1(){return this.__zoom||rd}function Kz(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Zz(){return navigator.maxTouchPoints||"ontouchstart"in this}function Qz(e,t,r){var a=e.invertX(t[0][0])-r[0][0],s=e.invertX(t[1][0])-r[1][0],o=e.invertY(t[0][1])-r[0][1],c=e.invertY(t[1][1])-r[1][1];return e.translate(s>a?(a+s)/2:Math.min(0,a)||Math.max(0,s),c>o?(o+c)/2:Math.min(0,o)||Math.max(0,c))}function eN(){var e=Yz,t=Xz,r=Qz,a=Kz,s=Zz,o=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],d=250,h=vu,f=Ju("start","zoom","end"),p,g,b,y=500,_=150,N=0,S=10;function w(k){k.property("__zoom",o1).on("wheel.zoom",z,{passive:!1}).on("mousedown.zoom",Y).on("dblclick.zoom",j).filter(s).on("touchstart.zoom",I).on("touchmove.zoom",Z).on("touchend.zoom touchcancel.zoom",P).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}w.transform=function(k,$,O,U){var K=k.selection?k.selection():k;K.property("__zoom",o1),k!==K?B(k,$,O,U):K.interrupt().each(function(){R(this,arguments).event(U).start().zoom(null,typeof $=="function"?$.apply(this,arguments):$).end()})},w.scaleBy=function(k,$,O,U){w.scaleTo(k,function(){var K=this.__zoom.k,X=typeof $=="function"?$.apply(this,arguments):$;return K*X},O,U)},w.scaleTo=function(k,$,O,U){w.transform(k,function(){var K=t.apply(this,arguments),X=this.__zoom,M=O==null?A(K):typeof O=="function"?O.apply(this,arguments):O,L=X.invert(M),F=typeof $=="function"?$.apply(this,arguments):$;return r(E(C(X,F),M,L),K,c)},O,U)},w.translateBy=function(k,$,O,U){w.transform(k,function(){return r(this.__zoom.translate(typeof $=="function"?$.apply(this,arguments):$,typeof O=="function"?O.apply(this,arguments):O),t.apply(this,arguments),c)},null,U)},w.translateTo=function(k,$,O,U,K){w.transform(k,function(){var X=t.apply(this,arguments),M=this.__zoom,L=U==null?A(X):typeof U=="function"?U.apply(this,arguments):U;return r(rd.translate(L[0],L[1]).scale(M.k).translate(typeof $=="function"?-$.apply(this,arguments):-$,typeof O=="function"?-O.apply(this,arguments):-O),X,c)},U,K)};function C(k,$){return $=Math.max(o[0],Math.min(o[1],$)),$===k.k?k:new vi($,k.x,k.y)}function E(k,$,O){var U=$[0]-O[0]*k.k,K=$[1]-O[1]*k.k;return U===k.x&&K===k.y?k:new vi(k.k,U,K)}function A(k){return[(+k[0][0]+ +k[1][0])/2,(+k[0][1]+ +k[1][1])/2]}function B(k,$,O,U){k.on("start.zoom",function(){R(this,arguments).event(U).start()}).on("interrupt.zoom end.zoom",function(){R(this,arguments).event(U).end()}).tween("zoom",function(){var K=this,X=arguments,M=R(K,X).event(U),L=t.apply(K,X),F=O==null?A(L):typeof O=="function"?O.apply(K,X):O,D=Math.max(L[1][0]-L[0][0],L[1][1]-L[0][1]),V=K.__zoom,q=typeof $=="function"?$.apply(K,X):$,Q=h(V.invert(F).concat(D/V.k),q.invert(F).concat(D/q.k));return function(J){if(J===1)J=q;else{var W=Q(J),te=D/W[2];J=new vi(te,F[0]-W[0]*te,F[1]-W[1]*te)}M.zoom(null,J)}})}function R(k,$,O){return!O&&k.__zooming||new H(k,$)}function H(k,$){this.that=k,this.args=$,this.active=0,this.sourceEvent=null,this.extent=t.apply(k,$),this.taps=0}H.prototype={event:function(k){return k&&(this.sourceEvent=k),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(k,$){return this.mouse&&k!=="mouse"&&(this.mouse[1]=$.invert(this.mouse[0])),this.touch0&&k!=="touch"&&(this.touch0[1]=$.invert(this.touch0[0])),this.touch1&&k!=="touch"&&(this.touch1[1]=$.invert(this.touch1[0])),this.that.__zoom=$,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(k){var $=ir(this.that).datum();f.call(k,this.that,new Vz(k,{sourceEvent:this.sourceEvent,target:w,transform:this.that.__zoom,dispatch:f}),$)}};function z(k,...$){if(!e.apply(this,arguments))return;var O=R(this,$).event(k),U=this.__zoom,K=Math.max(o[0],Math.min(o[1],U.k*Math.pow(2,a.apply(this,arguments)))),X=Ar(k);if(O.wheel)(O.mouse[0][0]!==X[0]||O.mouse[0][1]!==X[1])&&(O.mouse[1]=U.invert(O.mouse[0]=X)),clearTimeout(O.wheel);else{if(U.k===K)return;O.mouse=[X,U.invert(X)],Eu(this),O.start()}no(k),O.wheel=setTimeout(M,_),O.zoom("mouse",r(E(C(U,K),O.mouse[0],O.mouse[1]),O.extent,c));function M(){O.wheel=null,O.end()}}function Y(k,...$){if(b||!e.apply(this,arguments))return;var O=k.currentTarget,U=R(this,$,!0).event(k),K=ir(k.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",D,!0),X=Ar(k,O),M=k.clientX,L=k.clientY;IE(k.view),Sm(k),U.mouse=[X,this.__zoom.invert(X)],Eu(this),U.start();function F(V){if(no(V),!U.moved){var q=V.clientX-M,Q=V.clientY-L;U.moved=q*q+Q*Q>N}U.event(V).zoom("mouse",r(E(U.that.__zoom,U.mouse[0]=Ar(V,O),U.mouse[1]),U.extent,c))}function D(V){K.on("mousemove.zoom mouseup.zoom",null),BE(V.view,U.moved),no(V),U.event(V).end()}}function j(k,...$){if(e.apply(this,arguments)){var O=this.__zoom,U=Ar(k.changedTouches?k.changedTouches[0]:k,this),K=O.invert(U),X=O.k*(k.shiftKey?.5:2),M=r(E(C(O,X),U,K),t.apply(this,$),c);no(k),d>0?ir(this).transition().duration(d).call(B,M,U,k):ir(this).call(w.transform,M,U,k)}}function I(k,...$){if(e.apply(this,arguments)){var O=k.touches,U=O.length,K=R(this,$,k.changedTouches.length===U).event(k),X,M,L,F;for(Sm(k),M=0;M`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.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 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:t,sourceHandle:r,targetHandle:a})=>`Couldn't create edge for ${e} handle id: "${e==="source"?r:a}", edge id: ${t}.`,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.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},No=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],tN=["Enter"," ","Escape"],nN={"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:t,y:r})=>`Moved selected node ${e}. New position, x: ${t}, y: ${r}`,"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 Qs;(function(e){e.Strict="strict",e.Loose="loose"})(Qs||(Qs={}));var Fa;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Fa||(Fa={}));var So;(function(e){e.Partial="partial",e.Full="full"})(So||(So={}));const rN={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var ua;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ua||(ua={}));var Iu;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Iu||(Iu={}));var ze;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ze||(ze={}));const c1={[ze.Left]:ze.Right,[ze.Right]:ze.Left,[ze.Top]:ze.Bottom,[ze.Bottom]:ze.Top};function iN(e){return e===null?null:e?"valid":"invalid"}const aN=e=>!!e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e,Wz=e=>!!e&&typeof e=="object"&&"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),lg=e=>!!e&&typeof e=="object"&&"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Bo=(e,t=[0,0])=>{const{width:r,height:a}=Qr(e),s=e.origin??t,o=r*s[0],c=a*s[1];return{x:e.position.x-o,y:e.position.y-c}},Jz=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const r=e.reduce((a,s)=>{const o=typeof s=="string";let c=!t.nodeLookup&&!o?s:void 0;t.nodeLookup&&(c=o?t.nodeLookup.get(s):lg(s)?s:t.nodeLookup.get(s.id));const d=c?Bu(c,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return id(a,d)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return ad(r)},Uo=(e,t={})=>{let r={x:1/0,y:1/0,x2:-1/0,y2:-1/0},a=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(r=id(r,Bu(s)),a=!0)}),a?ad(r):{x:0,y:0,width:0,height:0}},og=(e,t,[r,a,s]=[0,0,1],o=!1,c=!1)=>{const d=(t.x-r)/s,h=(t.y-a)/s,f=t.width/s,p=t.height/s,g=[];for(const b of e.values()){const{measured:y,selectable:_=!0,hidden:N=!1}=b;if(c&&!_||N)continue;const S=y.width??b.width??b.initialWidth??0,w=y.height??b.height??b.initialHeight??0,{x:C,y:E}=b.internals.positionAbsolute,A=cN(d,h,f,p,C,E,S,w),B=S*w,R=o&&A>0;(!b.internals.handleBounds||R||A>=B||b.dragging)&&g.push(b)}return g},eI=(e,t)=>{const r=new Set;return e.forEach(a=>{r.add(a.id)}),t.filter(a=>r.has(a.source)||r.has(a.target))};function tI(e,t){const r=new Map,a=t!=null&&t.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{let o;if(t!=null&&t.includeHiddenNodes){const{width:c,height:d}=Qr(s);o=c>0&&d>0}else o=!!(s.measured.width&&s.measured.height&&!s.hidden);o&&(!a||a.has(s.id))&&r.set(s.id,s)}),r}async function nI({nodes:e,width:t,height:r,panZoom:a,minZoom:s,maxZoom:o},c){if(e.size===0)return!0;const d=tI(e,c),h=Uo(d),f=ug(h,t,r,(c==null?void 0:c.minZoom)??s,(c==null?void 0:c.maxZoom)??o,(c==null?void 0:c.padding)??.1);return await a.setViewport(f,{duration:c==null?void 0:c.duration,ease:c==null?void 0:c.ease,interpolate:c==null?void 0:c.interpolate}),!0}function sN({nodeId:e,nextPosition:t,nodeLookup:r,nodeOrigin:a=[0,0],nodeExtent:s,onError:o}){const c=r.get(e),d=c.parentId?r.get(c.parentId):void 0,{x:h,y:f}=d?d.internals.positionAbsolute:{x:0,y:0},p=c.origin??a;let g=c.extent||s;if(c.extent==="parent"&&!c.expandParent)if(!d)o==null||o("005",Lr.error005());else{const y=d.measured.width,_=d.measured.height;y&&_&&(g=[[h,f],[h+y,f+_]])}else d&&Za(c.extent)&&(g=[[c.extent[0][0]+h,c.extent[0][1]+f],[c.extent[1][0]+h,c.extent[1][1]+f]]);const b=Za(g)?Ka(t,g,c.measured):t;return(c.measured.width===void 0||c.measured.height===void 0)&&(o==null||o("015",Lr.error015())),{position:{x:b.x-h+(c.measured.width??0)*p[0],y:b.y-f+(c.measured.height??0)*p[1]},positionAbsolute:b}}async function rI({nodesToRemove:e=[],edgesToRemove:t=[],nodes:r,edges:a,onBeforeDelete:s}){const o=new Set(e.map(b=>b.id)),c=[];for(const b of r){if(b.deletable===!1)continue;const y=o.has(b.id),_=!y&&b.parentId&&c.find(N=>N.id===b.parentId);(y||_)&&c.push(b)}const d=new Set(t.map(b=>b.id)),h=a.filter(b=>b.deletable!==!1),p=eI(c,h);for(const b of h)d.has(b.id)&&!p.find(_=>_.id===b.id)&&p.push(b);if(!s)return{edges:p,nodes:c};const g=await s({nodes:c,edges:p});return typeof g=="boolean"?g?{edges:p,nodes:c}:{edges:[],nodes:[]}:g}const Ws=(e,t=0,r=1)=>Math.min(Math.max(e,t),r),Ka=(e={x:0,y:0},t,r)=>({x:Ws(e.x,t[0][0],t[1][0]-((r==null?void 0:r.width)??0)),y:Ws(e.y,t[0][1],t[1][1]-((r==null?void 0:r.height)??0))});function lN(e,t,r){const{width:a,height:s}=Qr(r),{x:o,y:c}=r.internals.positionAbsolute;return Ka(e,[[o,c],[o+a,c+s]],t)}const u1=(e,t,r)=>er?-Ws(Math.abs(e-r),1,t)/t:0,cg=(e,t,r=15,a=40)=>{const s=u1(e.x,a,t.width-a)*r,o=u1(e.y,a,t.height-a)*r;return[s,o]},id=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),hp=({x:e,y:t,width:r,height:a})=>({x:e,y:t,x2:e+r,y2:t+a}),ad=({x:e,y:t,x2:r,y2:a})=>({x:e,y:t,width:r-e,height:a-t}),ko=(e,t=[0,0])=>{var s,o;const{x:r,y:a}=lg(e)?e.internals.positionAbsolute:Bo(e,t);return{x:r,y:a,width:((s=e.measured)==null?void 0:s.width)??e.width??e.initialWidth??0,height:((o=e.measured)==null?void 0:o.height)??e.height??e.initialHeight??0}},Bu=(e,t=[0,0])=>{var s,o;const{x:r,y:a}=lg(e)?e.internals.positionAbsolute:Bo(e,t);return{x:r,y:a,x2:r+(((s=e.measured)==null?void 0:s.width)??e.width??e.initialWidth??0),y2:a+(((o=e.measured)==null?void 0:o.height)??e.height??e.initialHeight??0)}},oN=(e,t)=>ad(id(hp(e),hp(t))),cN=(e,t,r,a,s,o,c,d)=>{const h=Math.max(0,Math.min(e+r,s+c)-Math.max(e,s)),f=Math.max(0,Math.min(t+a,o+d)-Math.max(t,o));return Math.ceil(h*f)},Uu=(e,t)=>cN(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),d1=e=>Rr(e.width)&&Rr(e.height)&&Rr(e.x)&&Rr(e.y),Rr=e=>!isNaN(e)&&isFinite(e),uN=(e,t)=>(r,a)=>{},Ho=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),$o=({x:e,y:t},[r,a,s],o=!1,c=[1,1])=>{const d={x:(e-r)/s,y:(t-a)/s};return o?Ho(d,c):d},Js=({x:e,y:t},[r,a,s])=>({x:e*s+r,y:t*s+a});function Is(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const r=parseFloat(e);if(!Number.isNaN(r))return Math.floor(r)}if(typeof e=="string"&&e.endsWith("%")){const r=parseFloat(e);if(!Number.isNaN(r))return Math.floor(t*r*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function iI(e,t,r){if(typeof e=="string"||typeof e=="number"){const a=Is(e,r),s=Is(e,t);return{top:a,right:s,bottom:a,left:s,x:s*2,y:a*2}}if(typeof e=="object"){const a=Is(e.top??e.y??0,r),s=Is(e.bottom??e.y??0,r),o=Is(e.left??e.x??0,t),c=Is(e.right??e.x??0,t);return{top:a,right:c,bottom:s,left:o,x:o+c,y:a+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function aI(e,t,r,a,s,o){const{x:c,y:d}=Js(e,[t,r,a]),{x:h,y:f}=Js({x:e.x+e.width,y:e.y+e.height},[t,r,a]),p=s-h,g=o-f;return{left:Math.floor(c),top:Math.floor(d),right:Math.floor(p),bottom:Math.floor(g)}}const ug=(e,t,r,a,s,o)=>{const c=iI(o,t,r),d=(t-c.x)/e.width,h=(r-c.y)/e.height,f=Math.min(d,h),p=Ws(f,a,s),g=e.x+e.width/2,b=e.y+e.height/2,y=t/2-g*p,_=r/2-b*p,N=aI(e,y,_,p,t,r),S={left:Math.min(N.left-c.left,0),top:Math.min(N.top-c.top,0),right:Math.min(N.right-c.right,0),bottom:Math.min(N.bottom-c.bottom,0)};return{x:y-S.left+S.right,y:_-S.top+S.bottom,zoom:p}},Co=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Za(e){return e!=null&&e!=="parent"}function Qr(e){var t,r;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight??0}}function dN(e){var t,r;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight)!==void 0}function fN(e,t={width:0,height:0},r,a,s){const o={...e},c=a.get(r);if(c){const d=c.origin||s;o.x+=c.internals.positionAbsolute.x-(t.width??0)*d[0],o.y+=c.internals.positionAbsolute.y-(t.height??0)*d[1]}return o}function f1(e,t){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}function sI(){let e,t;return{promise:new Promise((a,s)=>{e=a,t=s}),resolve:e,reject:t}}function lI(e){return{...nN,...e||{}}}function ho(e,{snapGrid:t=[0,0],snapToGrid:r=!1,transform:a,containerBounds:s}){const{x:o,y:c}=jr(e),d=$o({x:o-((s==null?void 0:s.left)??0),y:c-((s==null?void 0:s.top)??0)},a),{x:h,y:f}=r?Ho(d,t):d;return{xSnapped:h,ySnapped:f,...d}}const dg=e=>({width:e.offsetWidth,height:e.offsetHeight}),hN=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},oI=["INPUT","SELECT","TEXTAREA"];function mN(e){var a,s;const t=((s=(a=e.composedPath)==null?void 0:a.call(e))==null?void 0:s[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:oI.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const pN=e=>"clientX"in e,jr=(e,t)=>{var o,c;const r=pN(e),a=r?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,s=r?e.clientY:(c=e.touches)==null?void 0:c[0].clientY;return{x:a-((t==null?void 0:t.left)??0),y:s-((t==null?void 0:t.top)??0)}},h1=(e,t,r,a,s)=>{const o=t.querySelectorAll(`.${e}`);return!o||!o.length?null:Array.from(o).map(c=>{const d=c.getBoundingClientRect();return{id:c.getAttribute("data-handleid"),type:e,nodeId:s,position:c.getAttribute("data-handlepos"),x:(d.left-r.left)/a,y:(d.top-r.top)/a,...dg(c)}})};function gN({sourceX:e,sourceY:t,targetX:r,targetY:a,sourceControlX:s,sourceControlY:o,targetControlX:c,targetControlY:d}){const h=e*.125+s*.375+c*.375+r*.125,f=t*.125+o*.375+d*.375+a*.125,p=Math.abs(h-e),g=Math.abs(f-t);return[h,f,p,g]}function du(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function m1({pos:e,x1:t,y1:r,x2:a,y2:s,c:o}){switch(e){case ze.Left:return[t-du(t-a,o),r];case ze.Right:return[t+du(a-t,o),r];case ze.Top:return[t,r-du(r-s,o)];case ze.Bottom:return[t,r+du(s-r,o)]}}function xN({sourceX:e,sourceY:t,sourcePosition:r=ze.Bottom,targetX:a,targetY:s,targetPosition:o=ze.Top,curvature:c=.25}){const[d,h]=m1({pos:r,x1:e,y1:t,x2:a,y2:s,c}),[f,p]=m1({pos:o,x1:a,y1:s,x2:e,y2:t,c}),[g,b,y,_]=gN({sourceX:e,sourceY:t,targetX:a,targetY:s,sourceControlX:d,sourceControlY:h,targetControlX:f,targetControlY:p});return[`M${e},${t} C${d},${h} ${f},${p} ${a},${s}`,g,b,y,_]}function bN({sourceX:e,sourceY:t,targetX:r,targetY:a}){const s=Math.abs(r-e)/2,o=r0}const dI=({source:e,sourceHandle:t,target:r,targetHandle:a})=>`xy-edge__${e}${t||""}-${r}${a||""}`,fI=(e,t)=>t.some(r=>r.source===e.source&&r.target===e.target&&(r.sourceHandle===e.sourceHandle||!r.sourceHandle&&!e.sourceHandle)&&(r.targetHandle===e.targetHandle||!r.targetHandle&&!e.targetHandle)),hI=(e,t,r={})=>{var o;if(!e.source||!e.target)return(o=r.onError)==null||o.call(r,"006",Lr.error006()),t;const a=r.getEdgeId||dI;let s;return aN(e)?s={...e}:s={...e,id:a(e)},fI(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function yN({sourceX:e,sourceY:t,targetX:r,targetY:a}){const[s,o,c,d]=bN({sourceX:e,sourceY:t,targetX:r,targetY:a});return[`M ${e},${t}L ${r},${a}`,s,o,c,d]}const p1={[ze.Left]:{x:-1,y:0},[ze.Right]:{x:1,y:0},[ze.Top]:{x:0,y:-1},[ze.Bottom]:{x:0,y:1}},mI=({source:e,sourcePosition:t=ze.Bottom,target:r})=>t===ze.Left||t===ze.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function pI({source:e,sourcePosition:t=ze.Bottom,target:r,targetPosition:a=ze.Top,center:s,offset:o,stepPosition:c}){const d=p1[t],h=p1[a],f={x:e.x+d.x*o,y:e.y+d.y*o},p={x:r.x+h.x*o,y:r.y+h.y*o},g=mI({source:f,sourcePosition:t,target:p}),b=g.x!==0?"x":"y",y=g[b];let _=[],N,S;const w={x:0,y:0},C={x:0,y:0},[,,E,A]=bN({sourceX:e.x,sourceY:e.y,targetX:r.x,targetY:r.y});if(d[b]*h[b]===-1){b==="x"?(N=s.x??f.x+(p.x-f.x)*c,S=s.y??(f.y+p.y)/2):(N=s.x??(f.x+p.x)/2,S=s.y??f.y+(p.y-f.y)*c);const z=[{x:N,y:f.y},{x:N,y:p.y}],Y=[{x:f.x,y:S},{x:p.x,y:S}];d[b]===y?_=b==="x"?z:Y:_=b==="x"?Y:z}else{const z=[{x:f.x,y:p.y}],Y=[{x:p.x,y:f.y}];if(b==="x"?_=d.x===y?Y:z:_=d.y===y?z:Y,t===a){const k=Math.abs(e[b]-r[b]);if(k<=o){const $=Math.min(o-1,o-k);d[b]===y?w[b]=(f[b]>e[b]?-1:1)*$:C[b]=(p[b]>r[b]?-1:1)*$}}if(t!==a){const k=b==="x"?"y":"x",$=d[b]===h[k],O=f[k]>p[k],U=f[k]=P?(N=(j.x+I.x)/2,S=_[0].y):(N=_[0].x,S=(j.y+I.y)/2)}const B={x:f.x+w.x,y:f.y+w.y},R={x:p.x+C.x,y:p.y+C.y};return[[e,...B.x!==_[0].x||B.y!==_[0].y?[B]:[],..._,...R.x!==_[_.length-1].x||R.y!==_[_.length-1].y?[R]:[],r],N,S,E,A]}function gI(e,t,r,a){const s=Math.min(g1(e,t)/2,g1(t,r)/2,a),{x:o,y:c}=t;if(e.x===o&&o===r.x||e.y===c&&c===r.y)return`L${o} ${c}`;if(e.y===c){const f=e.xr.id===t):e[0])||null}function pp(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(a=>`${a}=${e[a]}`).join("&")}`:""}function bI(e,{id:t,defaultColor:r,defaultMarkerStart:a,defaultMarkerEnd:s}){const o=new Set;return e.reduce((c,d)=>([d.markerStart||a,d.markerEnd||s].forEach(h=>{if(h&&typeof h=="object"){const f=pp(h,t);o.has(f)||(c.push({id:f,color:h.color||r,...h}),o.add(f))}}),c),[]).sort((c,d)=>c.id.localeCompare(d.id))}const vN=1e3,yI=10,fg={nodeOrigin:[0,0],nodeExtent:No,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},vI={...fg,checkEquality:!0};function hg(e,t){const r={...e};for(const a in t)t[a]!==void 0&&(r[a]=t[a]);return r}function _I(e,t,r){const a=hg(fg,r);for(const s of e.values())if(s.parentId)pg(s,e,t,a);else{const o=Bo(s,a.nodeOrigin),c=Za(s.extent)?s.extent:a.nodeExtent,d=Ka(o,c,Qr(s));s.internals.positionAbsolute=d}}function wI(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const r=[],a=[];for(const s of e.handles){const o={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?r.push(o):s.type==="target"&&a.push(o)}return{source:r,target:a}}function mg(e){return e==="manual"}function gp(e,t,r,a={}){var p,g;const s=hg(vI,a),o={i:0},c=new Map(t),d=s!=null&&s.elevateNodesOnSelect&&!mg(s.zIndexMode)?vN:0;let h=e.length>0,f=!1;t.clear(),r.clear();for(const b of e){let y=c.get(b.id);if(s.checkEquality&&b===(y==null?void 0:y.internals.userNode))t.set(b.id,y);else{const _=Bo(b,s.nodeOrigin),N=Za(b.extent)?b.extent:s.nodeExtent,S=Ka(_,N,Qr(b));y={...s.defaults,...b,measured:{width:(p=b.measured)==null?void 0:p.width,height:(g=b.measured)==null?void 0:g.height},internals:{positionAbsolute:S,handleBounds:wI(b,y),z:_N(b,d,s.zIndexMode),userNode:b}},t.set(b.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(h=!1),b.parentId&&pg(y,t,r,a,o),f||(f=b.selected??!1)}return{nodesInitialized:h,hasSelectedNodes:f}}function EI(e,t){if(!e.parentId)return;const r=t.get(e.parentId);r?r.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function pg(e,t,r,a,s){const{elevateNodesOnSelect:o,nodeOrigin:c,nodeExtent:d,zIndexMode:h}=hg(fg,a),f=e.parentId,p=t.get(f);if(!p){console.warn(`Parent node ${f} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}EI(e,r),s&&!p.parentId&&p.internals.rootParentIndex===void 0&&h==="auto"&&(p.internals.rootParentIndex=++s.i,p.internals.z=p.internals.z+s.i*yI),s&&p.internals.rootParentIndex!==void 0&&(s.i=p.internals.rootParentIndex);const g=o&&!mg(h)?vN:0,{x:b,y,z:_}=NI(e,p,c,d,g,h),{positionAbsolute:N}=e.internals,S=b!==N.x||y!==N.y;(S||_!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:b,y}:N,z:_}})}function _N(e,t,r){const a=Rr(e.zIndex)?e.zIndex:0;return mg(r)?a:a+(e.selected?t:0)}function NI(e,t,r,a,s,o){const{x:c,y:d}=t.internals.positionAbsolute,h=Qr(e),f=Bo(e,r),p=Za(e.extent)?Ka(f,e.extent,h):f;let g=Ka({x:c+p.x,y:d+p.y},a,h);e.extent==="parent"&&(g=lN(g,h,t));const b=_N(e,s,o),y=t.internals.z??0;return{x:g.x,y:g.y,z:y>=b?y+1:b}}function gg(e,t,r,a=[0,0]){var c;const s=[],o=new Map;for(const d of e){const h=t.get(d.parentId);if(!h)continue;const f=((c=o.get(d.parentId))==null?void 0:c.expandedRect)??ko(h),p=oN(f,d.rect);o.set(d.parentId,{expandedRect:p,parent:h})}return o.size>0&&o.forEach(({expandedRect:d,parent:h},f)=>{var E;const p=h.internals.positionAbsolute,g=Qr(h),b=h.origin??a,y=d.x0||_>0||w||C)&&(s.push({id:f,type:"position",position:{x:h.position.x-y+w,y:h.position.y-_+C}}),(E=r.get(f))==null||E.forEach(A=>{e.some(B=>B.id===A.id)||s.push({id:A.id,type:"position",position:{x:A.position.x+y,y:A.position.y+_}})})),(g.width0){const y=gg(b,t,r,s);f.push(...y)}return{changes:f,updatedInternals:h}}async function kI({delta:e,panZoom:t,transform:r,translateExtent:a,width:s,height:o}){if(!t||!e.x&&!e.y)return!1;const c=await t.setViewportConstrained({x:r[0]+e.x,y:r[1]+e.y,zoom:r[2]},[[0,0],[s,o]],a);return!!c&&(c.x!==r[0]||c.y!==r[1]||c.k!==r[2])}function v1(e,t,r,a,s,o){let c=s;const d=a.get(c)||new Map;a.set(c,d.set(r,t)),c=`${s}-${e}`;const h=a.get(c)||new Map;if(a.set(c,h.set(r,t)),o){c=`${s}-${e}-${o}`;const f=a.get(c)||new Map;a.set(c,f.set(r,t))}}function wN(e,t,r){e.clear(),t.clear();for(const a of r){const{source:s,target:o,sourceHandle:c=null,targetHandle:d=null}=a,h={edgeId:a.id,source:s,target:o,sourceHandle:c,targetHandle:d},f=`${s}-${c}--${o}-${d}`,p=`${o}-${d}--${s}-${c}`;v1("source",h,p,e,s,c),v1("target",h,f,e,o,d),t.set(a.id,a)}}function EN(e,t){if(!e.parentId)return!1;const r=t.get(e.parentId);return r?r.selected?!0:EN(r,t):!1}function _1(e,t,r){var s;let a=e;do{if((s=a==null?void 0:a.matches)!=null&&s.call(a,t))return!0;if(a===r)return!1;a=a==null?void 0:a.parentElement}while(a);return!1}function CI(e,t,r,a){const s=new Map;for(const[o,c]of e)if((c.selected||c.id===a)&&(!c.parentId||!EN(c,e))&&(c.draggable||t&&typeof c.draggable>"u")){const d=e.get(o);d&&s.set(o,{id:o,position:d.position||{x:0,y:0},distance:{x:r.x-d.internals.positionAbsolute.x,y:r.y-d.internals.positionAbsolute.y},extent:d.extent,parentId:d.parentId,origin:d.origin,expandParent:d.expandParent,internals:{positionAbsolute:d.internals.positionAbsolute||{x:0,y:0}},measured:{width:d.measured.width??0,height:d.measured.height??0}})}return s}function km({nodeId:e,dragItems:t,nodeLookup:r,dragging:a=!0}){var c,d,h;const s=[];for(const[f,p]of t){const g=(c=r.get(f))==null?void 0:c.internals.userNode;g&&s.push({...g,position:p.position,dragging:a})}if(!e)return[s[0],s];const o=(d=r.get(e))==null?void 0:d.internals.userNode;return[o?{...o,position:((h=t.get(e))==null?void 0:h.position)||o.position,dragging:a}:s[0],s]}function TI({dragItems:e,snapGrid:t,x:r,y:a}){const s=e.values().next().value;if(!s)return null;const o={x:r-s.distance.x,y:a-s.distance.y},c=Ho(o,t);return{x:c.x-o.x,y:c.y-o.y}}function AI({onNodeMouseDown:e,getStoreItems:t,onDragStart:r,onDrag:a,onDragStop:s}){let o={x:null,y:null},c=0,d=new Map,h=!1,f={x:0,y:0},p=null,g=!1,b=null,y=!1,_=!1,N=null;function S({noDragClassName:C,handleSelector:E,domNode:A,isSelectable:B,nodeId:R,nodeClickDistance:H=0}){b=ir(A);function z({x:Z,y:P}){const{nodeLookup:k,nodeExtent:$,snapGrid:O,snapToGrid:U,nodeOrigin:K,onNodeDrag:X,onSelectionDrag:M,onError:L,updateNodePositions:F}=t();o={x:Z,y:P};let D=!1;const V=d.size>1,q=V&&$?hp(Uo(d)):null,Q=V&&U?TI({dragItems:d,snapGrid:O,x:Z,y:P}):null;for(const[J,W]of d){if(!k.has(J))continue;let te={x:Z-W.distance.x,y:P-W.distance.y};U&&(te=Q?{x:Math.round(te.x+Q.x),y:Math.round(te.y+Q.y)}:Ho(te,O));let oe=null;if(V&&$&&!W.extent&&q){const{positionAbsolute:we}=W.internals,Ne=we.x-q.x+$[0][0],De=we.x+W.measured.width-q.x2+$[1][0],$e=we.y-q.y+$[0][1],st=we.y+W.measured.height-q.y2+$[1][1];oe=[[Ne,$e],[De,st]]}const{position:fe,positionAbsolute:xe}=sN({nodeId:J,nextPosition:te,nodeLookup:k,nodeExtent:oe||$,nodeOrigin:K,onError:L});D=D||W.position.x!==fe.x||W.position.y!==fe.y,W.position=fe,W.internals.positionAbsolute=xe}if(_=_||D,!!D&&(F(d,!0),N&&(a||X||!R&&M))){const[J,W]=km({nodeId:R,dragItems:d,nodeLookup:k});a==null||a(N,d,J,W),X==null||X(N,J,W),R||M==null||M(N,W)}}async function Y(){if(!p)return;const{transform:Z,panBy:P,autoPanSpeed:k,autoPanOnNodeDrag:$}=t();if(!$){h=!1,cancelAnimationFrame(c);return}const[O,U]=cg(f,p,k);(O!==0||U!==0)&&(o.x=(o.x??0)-O/Z[2],o.y=(o.y??0)-U/Z[2],await P({x:O,y:U})&&z(o)),c=requestAnimationFrame(Y)}function j(Z){var V;const{nodeLookup:P,multiSelectionActive:k,nodesDraggable:$,transform:O,snapGrid:U,snapToGrid:K,selectNodesOnDrag:X,onNodeDragStart:M,onSelectionDragStart:L,unselectNodesAndEdges:F}=t();g=!0,(!X||!B)&&!k&&R&&((V=P.get(R))!=null&&V.selected||F()),B&&X&&R&&(e==null||e(R));const D=ho(Z.sourceEvent,{transform:O,snapGrid:U,snapToGrid:K,containerBounds:p});if(o=D,d=CI(P,$,D,R),d.size>0&&(r||M||!R&&L)){const[q,Q]=km({nodeId:R,dragItems:d,nodeLookup:P});r==null||r(Z.sourceEvent,d,q,Q),M==null||M(Z.sourceEvent,q,Q),R||L==null||L(Z.sourceEvent,Q)}}const I=UE().clickDistance(H).on("start",Z=>{const{domNode:P,nodeDragThreshold:k,transform:$,snapGrid:O,snapToGrid:U}=t();p=(P==null?void 0:P.getBoundingClientRect())||null,y=!1,_=!1,N=Z.sourceEvent,k===0&&j(Z),o=ho(Z.sourceEvent,{transform:$,snapGrid:O,snapToGrid:U,containerBounds:p}),f=jr(Z.sourceEvent,p)}).on("drag",Z=>{const{autoPanOnNodeDrag:P,transform:k,snapGrid:$,snapToGrid:O,nodeDragThreshold:U,nodeLookup:K}=t(),X=ho(Z.sourceEvent,{transform:k,snapGrid:$,snapToGrid:O,containerBounds:p});if(N=Z.sourceEvent,(Z.sourceEvent.type==="touchmove"&&Z.sourceEvent.touches.length>1||R&&!K.has(R))&&(y=!0),!y){if(!h&&P&&g&&(h=!0,Y()),!g){const M=jr(Z.sourceEvent,p),L=M.x-f.x,F=M.y-f.y;Math.sqrt(L*L+F*F)>U&&j(Z)}(o.x!==X.xSnapped||o.y!==X.ySnapped)&&d&&g&&(f=jr(Z.sourceEvent,p),z(X))}}).on("end",Z=>{if(!g||y){y&&d.size>0&&t().updateNodePositions(d,!1);return}if(h=!1,g=!1,cancelAnimationFrame(c),d.size>0){const{nodeLookup:P,updateNodePositions:k,onNodeDragStop:$,onSelectionDragStop:O}=t();if(_&&(k(d,!1),_=!1),s||$||!R&&O){const[U,K]=km({nodeId:R,dragItems:d,nodeLookup:P,dragging:!1});s==null||s(Z.sourceEvent,d,U,K),$==null||$(Z.sourceEvent,U,K),R||O==null||O(Z.sourceEvent,K)}}}).filter(Z=>{const P=Z.target;return!Z.button&&(!C||!_1(P,`.${C}`,A))&&(!E||_1(P,E,A))});b.call(I)}function w(){b==null||b.on(".drag",null)}return{update:S,destroy:w}}function MI(e,t,r){const a=[],s={x:e.x-r,y:e.y-r,width:r*2,height:r*2};for(const o of t.values())Uu(s,ko(o))>0&&a.push(o);return a}const OI=250;function RI(e,t,r,a){var d,h;let s=[],o=1/0;const c=MI(e,r,t+OI);for(const f of c){const p=[...((d=f.internals.handleBounds)==null?void 0:d.source)??[],...((h=f.internals.handleBounds)==null?void 0:h.target)??[]];for(const g of p){if(a.nodeId===g.nodeId&&a.type===g.type&&a.id===g.id)continue;const{x:b,y}=Qa(f,g,g.position,!0),_=Math.sqrt(Math.pow(b-e.x,2)+Math.pow(y-e.y,2));_>t||(_1){const f=a.type==="source"?"target":"source";return s.find(p=>p.type===f)??s[0]}return s[0]}function NN(e,t,r,a,s,o=!1){var f,p,g;const c=a.get(e);if(!c)return null;const d=s==="strict"?(f=c.internals.handleBounds)==null?void 0:f[t]:[...((p=c.internals.handleBounds)==null?void 0:p.source)??[],...((g=c.internals.handleBounds)==null?void 0:g.target)??[]],h=(r?d==null?void 0:d.find(b=>b.id===r):d==null?void 0:d[0])??null;return h&&o?{...h,...Qa(c,h,h.position,!0)}:h}function SN(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function jI(e,t){let r=null;return t?r=!0:e&&!t&&(r=!1),r}const kN=()=>!0;function DI(e,{connectionMode:t,connectionRadius:r,handleId:a,nodeId:s,edgeUpdaterType:o,isTarget:c,domNode:d,nodeLookup:h,lib:f,autoPanOnConnect:p,flowId:g,panBy:b,cancelConnection:y,onConnectStart:_,onConnect:N,onConnectEnd:S,isValidConnection:w=kN,onReconnectEnd:C,updateConnection:E,getTransform:A,getFromHandle:B,autoPanSpeed:R,dragThreshold:H=1,handleDomNode:z}){const Y=hN(e.target);let j=0,I;const{x:Z,y:P}=jr(e),k=SN(o,z),$=d==null?void 0:d.getBoundingClientRect();let O=!1;if(!$||!k)return;const U=NN(s,k,a,h,t);if(!U)return;let K=jr(e,$),X=!1,M=null,L=!1,F=null;function D(){if(!p||!$)return;const[fe,xe]=cg(K,$,R);b({x:fe,y:xe}),j=requestAnimationFrame(D)}const V={...U,nodeId:s,type:k,position:U.position},q=h.get(s);let J={inProgress:!0,isValid:null,from:Qa(q,V,ze.Left,!0),fromHandle:V,fromPosition:V.position,fromNode:q,to:K,toHandle:null,toPosition:c1[V.position],toNode:null,pointer:K};function W(){O=!0,E(J),_==null||_(e,{nodeId:s,handleId:a,handleType:k})}H===0&&W();function te(fe){if(!O){const{x:st,y:Rt}=jr(fe),Xt=st-Z,Pt=Rt-P;if(!(Xt*Xt+Pt*Pt>H*H))return;W()}if(!B()||!V){oe(fe);return}const xe=A();K=jr(fe,$),I=RI($o(K,xe,!1,[1,1]),r,h,V),X||(D(),X=!0);const we=CN(fe,{handle:I,connectionMode:t,fromNodeId:s,fromHandleId:a,fromType:c?"target":"source",isValidConnection:w,doc:Y,lib:f,flowId:g,nodeLookup:h});F=we.handleDomNode,M=we.connection,L=jI(!!I,we.isValid);const Ne=h.get(s),De=Ne?Qa(Ne,V,ze.Left,!0):J.from,$e={...J,from:De,isValid:L,to:we.toHandle&&L?Js({x:we.toHandle.x,y:we.toHandle.y},xe):K,toHandle:we.toHandle,toPosition:L&&we.toHandle?we.toHandle.position:c1[V.position],toNode:we.toHandle?h.get(we.toHandle.nodeId):null,pointer:K};E($e),J=$e}function oe(fe){if(!("touches"in fe&&fe.touches.length>0)){if(O){(I||F)&&M&&L&&(N==null||N(M));const{inProgress:xe,...we}=J,Ne={...we,toPosition:J.toHandle?J.toPosition:null};S==null||S(fe,Ne),o&&(C==null||C(fe,Ne))}y(),cancelAnimationFrame(j),X=!1,L=!1,M=null,F=null,Y.removeEventListener("mousemove",te),Y.removeEventListener("mouseup",oe),Y.removeEventListener("touchmove",te),Y.removeEventListener("touchend",oe)}}Y.addEventListener("mousemove",te),Y.addEventListener("mouseup",oe),Y.addEventListener("touchmove",te),Y.addEventListener("touchend",oe)}function CN(e,{handle:t,connectionMode:r,fromNodeId:a,fromHandleId:s,fromType:o,doc:c,lib:d,flowId:h,isValidConnection:f=kN,nodeLookup:p}){const g=o==="target",b=t?c.querySelector(`.${d}-flow__handle[data-id="${h}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:y,y:_}=jr(e),N=c.elementFromPoint(y,_),S=N!=null&&N.classList.contains(`${d}-flow__handle`)?N:b,w={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const C=SN(void 0,S),E=S.getAttribute("data-nodeid"),A=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),R=S.classList.contains("connectableend");if(!E||!C)return w;const H={source:g?E:a,sourceHandle:g?A:s,target:g?a:E,targetHandle:g?s:A};w.connection=H;const Y=B&&R&&(r===Qs.Strict?g&&C==="source"||!g&&C==="target":E!==a||A!==s);w.isValid=Y&&f(H),w.toHandle=NN(E,C,A,p,r,!0)}return w}const xp={onPointerDown:DI,isValid:CN};function LI({domNode:e,panZoom:t,getTransform:r,getViewScale:a}){const s=ir(e);function o({translateExtent:d,width:h,height:f,zoomStep:p=1,pannable:g=!0,zoomable:b=!0,inversePan:y=!1}){const _=E=>{if(E.sourceEvent.type!=="wheel"||!t)return;const A=r(),B=E.sourceEvent.ctrlKey&&Co()?10:1,R=-E.sourceEvent.deltaY*(E.sourceEvent.deltaMode===1?.05:E.sourceEvent.deltaMode?1:.002)*p,H=A[2]*Math.pow(2,R*B);t.scaleTo(H)};let N=[0,0];const S=E=>{(E.sourceEvent.type==="mousedown"||E.sourceEvent.type==="touchstart")&&(N=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY])},w=E=>{const A=r();if(E.sourceEvent.type!=="mousemove"&&E.sourceEvent.type!=="touchmove"||!t)return;const B=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY],R=[B[0]-N[0],B[1]-N[1]];N=B;const H=a()*Math.max(A[2],Math.log(A[2]))*(y?-1:1),z={x:A[0]-R[0]*H,y:A[1]-R[1]*H},Y=[[0,0],[h,f]];t.setViewportConstrained({x:z.x,y:z.y,zoom:A[2]},Y,d)},C=eN().on("start",S).on("zoom",g?w:null).on("zoom.wheel",b?_:null);s.call(C,{})}function c(){s.on("zoom",null)}return{update:o,destroy:c,pointer:Ar}}const sd=e=>({x:e.x,y:e.y,zoom:e.k}),Cm=({x:e,y:t,zoom:r})=>rd.translate(e,t).scale(r),$s=(e,t)=>e.target.closest(`.${t}`),TN=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),zI=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Tm=(e,t=0,r=zI,a=()=>{})=>{const s=typeof t=="number"&&t>0;return s||a(),s?e.transition().duration(t).ease(r).on("end",a):e},AN=e=>{const t=e.ctrlKey&&Co()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function II({zoomPanValues:e,noWheelClassName:t,d3Selection:r,d3Zoom:a,panOnScrollMode:s,panOnScrollSpeed:o,zoomOnPinch:c,onPanZoomStart:d,onPanZoom:h,onPanZoomEnd:f}){return p=>{if($s(p,t))return p.ctrlKey&&p.preventDefault(),!1;p.preventDefault(),p.stopImmediatePropagation();const g=r.property("__zoom").k||1;if(p.ctrlKey&&c){const S=Ar(p),w=AN(p),C=g*Math.pow(2,w);a.scaleTo(r,C,S,p);return}const b=p.deltaMode===1?20:1;let y=s===Fa.Vertical?0:p.deltaX*b,_=s===Fa.Horizontal?0:p.deltaY*b;!Co()&&p.shiftKey&&s!==Fa.Vertical&&(y=p.deltaY*b,_=0),a.translateBy(r,-(y/g)*o,-(_/g)*o,{internal:!0});const N=sd(r.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?h==null||h(p,N):(e.isPanScrolling=!0,d==null||d(p,N)),e.panScrollTimeout=setTimeout(()=>{f==null||f(p,N),e.isPanScrolling=!1},150)}}function BI({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:r}){return function(a,s){const o=a.type==="wheel",c=!t&&o&&!a.ctrlKey,d=$s(a,e);if(a.ctrlKey&&o&&d&&a.preventDefault(),c||d)return null;a.preventDefault(),r.call(this,a,s)}}function UI({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:r}){return a=>{var o,c,d;if((o=a.sourceEvent)!=null&&o.internal)return;const s=sd(a.transform);e.mouseButton=((c=a.sourceEvent)==null?void 0:c.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=s,((d=a.sourceEvent)==null?void 0:d.type)==="mousedown"&&t(!0),r&&(r==null||r(a.sourceEvent,s))}}function HI({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:r,onTransformChange:a,onPanZoom:s}){return o=>{var c,d;e.usedRightMouseButton=!!(r&&TN(t,e.mouseButton??0)),(c=o.sourceEvent)!=null&&c.sync||a([o.transform.x,o.transform.y,o.transform.k]),s&&!((d=o.sourceEvent)!=null&&d.internal)&&(s==null||s(o.sourceEvent,sd(o.transform)))}}function $I({zoomPanValues:e,panOnDrag:t,panOnScroll:r,onDraggingChange:a,onPanZoomEnd:s,onPaneContextMenu:o}){return c=>{var d;if(!((d=c.sourceEvent)!=null&&d.internal)&&(e.isZoomingOrPanning=!1,o&&TN(t,e.mouseButton??0)&&!e.usedRightMouseButton&&c.sourceEvent&&o(c.sourceEvent),e.usedRightMouseButton=!1,a(!1),s)){const h=sd(c.transform);e.prevViewport=h,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(c.sourceEvent,h)},r?150:0)}}}function qI({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:r,panOnDrag:a,panOnScroll:s,zoomOnDoubleClick:o,userSelectionActive:c,noWheelClassName:d,noPanClassName:h,lib:f,connectionInProgress:p}){return g=>{var S;const b=e||t,y=r&&g.ctrlKey,_=g.type==="wheel";if(g.button===1&&g.type==="mousedown"&&($s(g,`${f}-flow__node`)||$s(g,`${f}-flow__edge`)))return!0;if(!a&&!b&&!s&&!o&&!r||c||p&&!_||$s(g,d)&&_||$s(g,h)&&(!_||s&&_&&!e)||!r&&g.ctrlKey&&_)return!1;if(!r&&g.type==="touchstart"&&((S=g.touches)==null?void 0:S.length)>1)return g.preventDefault(),!1;if(!b&&!s&&!y&&_||!a&&(g.type==="mousedown"||g.type==="touchstart")||Array.isArray(a)&&!a.includes(g.button)&&g.type==="mousedown")return!1;const N=Array.isArray(a)&&a.includes(g.button)||!g.button||g.button<=1;return(!g.ctrlKey||_)&&N}}function PI({domNode:e,minZoom:t,maxZoom:r,translateExtent:a,viewport:s,onPanZoom:o,onPanZoomStart:c,onPanZoomEnd:d,onDraggingChange:h}){const f={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},p=e.getBoundingClientRect();let g=[[0,0],[p.width,p.height]];const b=typeof ResizeObserver<"u"?new ResizeObserver(P=>{const k=P[0];k&&(g=[[0,0],[k.contentRect.width,k.contentRect.height]])}):null;b==null||b.observe(e);const y=eN().extent(()=>g).scaleExtent([t,r]).translateExtent(a),_=ir(e).call(y);A({x:s.x,y:s.y,zoom:Ws(s.zoom,t,r)},[[0,0],[p.width,p.height]],a);const N=_.on("wheel.zoom"),S=_.on("dblclick.zoom");y.wheelDelta(AN);async function w(P,k){return _?new Promise($=>{y==null||y.interpolate((k==null?void 0:k.interpolate)==="linear"?fo:vu).transform(Tm(_,k==null?void 0:k.duration,k==null?void 0:k.ease,()=>$(!0)),P)}):!1}function C({noWheelClassName:P,noPanClassName:k,onPaneContextMenu:$,userSelectionActive:O,panOnScroll:U,panOnDrag:K,panOnScrollMode:X,panOnScrollSpeed:M,preventScrolling:L,zoomOnPinch:F,zoomOnScroll:D,zoomOnDoubleClick:V,zoomActivationKeyPressed:q,lib:Q,onTransformChange:J,connectionInProgress:W,paneClickDistance:te,selectionOnDrag:oe}){O&&!f.isZoomingOrPanning&&E();const fe=U&&!q&&!O;y.clickDistance(oe?1/0:!Rr(te)||te<0?0:te);const xe=fe?II({zoomPanValues:f,noWheelClassName:P,d3Selection:_,d3Zoom:y,panOnScrollMode:X,panOnScrollSpeed:M,zoomOnPinch:F,onPanZoomStart:c,onPanZoom:o,onPanZoomEnd:d}):BI({noWheelClassName:P,preventScrolling:L,d3ZoomHandler:N});_.on("wheel.zoom",xe,{passive:!1});const we=UI({zoomPanValues:f,onDraggingChange:h,onPanZoomStart:c});y.on("start",we);const Ne=HI({zoomPanValues:f,panOnDrag:K,onPaneContextMenu:!!$,onPanZoom:o,onTransformChange:J});y.on("zoom",Ne);const De=$I({zoomPanValues:f,panOnDrag:K,panOnScroll:U,onPaneContextMenu:$,onPanZoomEnd:d,onDraggingChange:h});y.on("end",De);const $e=qI({zoomActivationKeyPressed:q,panOnDrag:K,zoomOnScroll:D,panOnScroll:U,zoomOnDoubleClick:V,zoomOnPinch:F,userSelectionActive:O,noPanClassName:k,noWheelClassName:P,lib:Q,connectionInProgress:W});y.filter($e),V?_.on("dblclick.zoom",S):_.on("dblclick.zoom",null)}function E(){y.on("zoom",null)}async function A(P,k,$){const O=Cm(P),U=y==null?void 0:y.constrain()(O,k,$);return U&&await w(U),U}async function B(P,k){const $=Cm(P);return await w($,k),$}function R(P){if(_){const k=Cm(P),$=_.property("__zoom");($.k!==P.zoom||$.x!==P.x||$.y!==P.y)&&(y==null||y.transform(_,k,null,{sync:!0}))}}function H(){const P=_?JE(_.node()):{x:0,y:0,k:1};return{x:P.x,y:P.y,zoom:P.k}}async function z(P,k){return _?new Promise($=>{y==null||y.interpolate((k==null?void 0:k.interpolate)==="linear"?fo:vu).scaleTo(Tm(_,k==null?void 0:k.duration,k==null?void 0:k.ease,()=>$(!0)),P)}):!1}async function Y(P,k){return _?new Promise($=>{y==null||y.interpolate((k==null?void 0:k.interpolate)==="linear"?fo:vu).scaleBy(Tm(_,k==null?void 0:k.duration,k==null?void 0:k.ease,()=>$(!0)),P)}):!1}function j(P){y==null||y.scaleExtent(P)}function I(P){y==null||y.translateExtent(P)}function Z(P){const k=!Rr(P)||P<0?0:P;y==null||y.clickDistance(k)}return{update:C,destroy:E,setViewport:B,setViewportConstrained:A,getViewport:H,scaleTo:z,scaleBy:Y,setScaleExtent:j,setTranslateExtent:I,syncViewport:R,setClickDistance:Z}}var el;(function(e){e.Line="line",e.Handle="handle"})(el||(el={}));function FI({width:e,prevWidth:t,height:r,prevHeight:a,affectsX:s,affectsY:o}){const c=e-t,d=r-a,h=[c>0?1:c<0?-1:0,d>0?1:d<0?-1:0];return c&&s&&(h[0]=h[0]*-1),d&&o&&(h[1]=h[1]*-1),h}function w1(e){const t=e.includes("right")||e.includes("left"),r=e.includes("bottom")||e.includes("top"),a=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:r,affectsX:a,affectsY:s}}function sa(e,t){return Math.max(0,t-e)}function la(e,t){return Math.max(0,e-t)}function fu(e,t,r){return Math.max(0,t-e,e-r)}function E1(e,t){return e?!t:t}function GI(e,t,r,a,s,o,c,d){let{affectsX:h,affectsY:f}=t;const{isHorizontal:p,isVertical:g}=t,b=p&&g,{xSnapped:y,ySnapped:_}=r,{minWidth:N,maxWidth:S,minHeight:w,maxHeight:C}=a,{x:E,y:A,width:B,height:R,aspectRatio:H}=e;let z=Math.floor(p?y-e.pointerX:0),Y=Math.floor(g?_-e.pointerY:0);const j=B+(h?-z:z),I=R+(f?-Y:Y),Z=-o[0]*B,P=-o[1]*R;let k=fu(j,N,S),$=fu(I,w,C);if(c){let K=0,X=0;h&&z<0?K=sa(E+z+Z,c[0][0]):!h&&z>0&&(K=la(E+j+Z,c[1][0])),f&&Y<0?X=sa(A+Y+P,c[0][1]):!f&&Y>0&&(X=la(A+I+P,c[1][1])),k=Math.max(k,K),$=Math.max($,X)}if(d){let K=0,X=0;h&&z>0?K=la(E+z,d[0][0]):!h&&z<0&&(K=sa(E+j,d[1][0])),f&&Y>0?X=la(A+Y,d[0][1]):!f&&Y<0&&(X=sa(A+I,d[1][1])),k=Math.max(k,K),$=Math.max($,X)}if(s){if(p){const K=fu(j/H,w,C)*H;if(k=Math.max(k,K),c){let X=0;!h&&!f||h&&!f&&b?X=la(A+P+j/H,c[1][1])*H:X=sa(A+P+(h?z:-z)/H,c[0][1])*H,k=Math.max(k,X)}if(d){let X=0;!h&&!f||h&&!f&&b?X=sa(A+j/H,d[1][1])*H:X=la(A+(h?z:-z)/H,d[0][1])*H,k=Math.max(k,X)}}if(g){const K=fu(I*H,N,S)/H;if($=Math.max($,K),c){let X=0;!h&&!f||f&&!h&&b?X=la(E+I*H+Z,c[1][0])/H:X=sa(E+(f?Y:-Y)*H+Z,c[0][0])/H,$=Math.max($,X)}if(d){let X=0;!h&&!f||f&&!h&&b?X=sa(E+I*H,d[1][0])/H:X=la(E+(f?Y:-Y)*H,d[0][0])/H,$=Math.max($,X)}}}Y=Y+(Y<0?$:-$),z=z+(z<0?k:-k),s&&(b?j>I*H?Y=(E1(h,f)?-z:z)/H:z=(E1(h,f)?-Y:Y)*H:p?(Y=z/H,f=h):(z=Y*H,h=f));const O=h?E+z:E,U=f?A+Y:A;return{width:B+(h?-z:z),height:R+(f?-Y:Y),x:o[0]*z*(h?-1:1)+O,y:o[1]*Y*(f?-1:1)+U}}const MN={width:0,height:0,x:0,y:0},VI={...MN,pointerX:0,pointerY:0,aspectRatio:1};function YI(e,t,r){const a=t.position.x+e.position.x,s=t.position.y+e.position.y,o=e.measured.width??0,c=e.measured.height??0,d=r[0]*o,h=r[1]*c;return[[a-d,s-h],[a+o-d,s+c-h]]}function XI({domNode:e,nodeId:t,getStoreItems:r,onChange:a,onEnd:s}){const o=ir(e);let c={controlDirection:w1("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function d({controlPosition:f,boundaries:p,keepAspectRatio:g,resizeDirection:b,onResizeStart:y,onResize:_,onResizeEnd:N,shouldResize:S}){let w={...MN},C={...VI};c={boundaries:p,resizeDirection:b,keepAspectRatio:g,controlDirection:w1(f)};let E,A=null,B=[],R,H,z,Y=!1;const j=UE().on("start",I=>{const{nodeLookup:Z,transform:P,snapGrid:k,snapToGrid:$,nodeOrigin:O,paneDomNode:U}=r();if(E=Z.get(t),!E)return;A=(U==null?void 0:U.getBoundingClientRect())??null;const{xSnapped:K,ySnapped:X}=ho(I.sourceEvent,{transform:P,snapGrid:k,snapToGrid:$,containerBounds:A});w={width:E.measured.width??0,height:E.measured.height??0,x:E.position.x??0,y:E.position.y??0},C={...w,pointerX:K,pointerY:X,aspectRatio:w.width/w.height},R=void 0,H=Za(E.extent)?E.extent:void 0,E.parentId&&(E.extent==="parent"||E.expandParent)&&(R=Z.get(E.parentId)),R&&E.extent==="parent"&&(H=[[0,0],[R.measured.width,R.measured.height]]),B=[],z=void 0;for(const[M,L]of Z)if(L.parentId===t&&(B.push({id:M,position:{...L.position},extent:L.extent}),L.extent==="parent"||L.expandParent)){const F=YI(L,E,L.origin??O);z?z=[[Math.min(F[0][0],z[0][0]),Math.min(F[0][1],z[0][1])],[Math.max(F[1][0],z[1][0]),Math.max(F[1][1],z[1][1])]]:z=F}y==null||y(I,{...w})}).on("drag",I=>{const{transform:Z,snapGrid:P,snapToGrid:k,nodeOrigin:$}=r(),O=ho(I.sourceEvent,{transform:Z,snapGrid:P,snapToGrid:k,containerBounds:A}),U=[];if(!E)return;const{x:K,y:X,width:M,height:L}=w,F={},D=E.origin??$,{width:V,height:q,x:Q,y:J}=GI(C,c.controlDirection,O,c.boundaries,c.keepAspectRatio,D,H,z),W=V!==M,te=q!==L,oe=Q!==K&&W,fe=J!==X&&te;if(!oe&&!fe&&!W&&!te)return;if((oe||fe||D[0]===1||D[1]===1)&&(F.x=oe?Q:w.x,F.y=fe?J:w.y,w.x=F.x,w.y=F.y,B.length>0)){const De=Q-K,$e=J-X;for(const st of B)st.position={x:st.position.x-De+D[0]*(V-M),y:st.position.y-$e+D[1]*(q-L)},U.push(st)}if((W||te)&&(F.width=W&&(!c.resizeDirection||c.resizeDirection==="horizontal")?V:w.width,F.height=te&&(!c.resizeDirection||c.resizeDirection==="vertical")?q:w.height,w.width=F.width,w.height=F.height),R&&E.expandParent){const De=D[0]*(F.width??0);F.x&&F.x{Y&&(N==null||N(I,{...w}),s==null||s({...w}),Y=!1)});o.call(j)}function h(){o.on(".drag",null)}return{update:d,destroy:h}}var Am={exports:{}},Mm={},Om={exports:{}},Rm={};/** +`:f!=="text"?rD(S,f):S.replace(/&/g,"&").replace(//g,">");let C="",E="";return N.removed?C=String(g++):(N.added||(C=String(g++)),E=String(b++)),{highlighted:w,added:!!N.added,removed:!!N.removed,leftNo:C,rightNo:E}})),_=()=>{Tp(s),d(!0),setTimeout(()=>d(!1),2e3),o==null||o()};return m.jsxs("div",{className:"rounded-md border border-[#2a2a2a] overflow-hidden",children:[m.jsxs("div",{className:"flex items-stretch",children:[m.jsxs("span",{className:"relative flex items-center text-[13px] text-[#999] font-mono px-4 py-2 border-r border-[#2a2a2a] break-all",children:[e,":",h,m.jsx("span",{className:"absolute top-0 inset-x-0 h-0.5 bg-white/60 rounded-full"})]}),m.jsx("div",{className:"flex-1 border-b border-[#2a2a2a]"}),m.jsx("button",{onClick:_,className:"px-3 py-2 text-[#555] hover:text-white transition-colors flex-shrink-0 border-b border-[#2a2a2a]","aria-label":"Copy fixed code",children:c?m.jsx(Vs,{className:"w-3.5 h-3.5 text-emerald-400"}):m.jsx(go,{className:"w-3.5 h-3.5"})})]}),m.jsx("div",{className:"overflow-auto max-h-[400px]",children:m.jsx("table",{className:"w-full border-collapse font-mono text-[12px] leading-[22px] [font-variant-ligatures:none]",children:m.jsx("tbody",{children:y.map((N,S)=>m.jsxs("tr",{className:N.added?"bg-blue-500/[0.12]":N.removed?"bg-red-500/[0.12]":"",children:[m.jsx("td",{className:"select-none w-[1px] whitespace-nowrap pl-4 pr-1.5 text-right text-[#555] align-top text-[12px] leading-[22px]",children:N.leftNo}),m.jsx("td",{className:"select-none w-[1px] whitespace-nowrap pl-1.5 pr-4 text-right text-[#555] align-top text-[12px] leading-[22px] border-r border-[#2a2a2a]",children:N.rightNo}),m.jsx("td",{className:"pl-4 pr-4 whitespace-pre",dangerouslySetInnerHTML:{__html:N.highlighted}})]},S))})})})]})}const aD=/^```([^\n`]*)\r?\n([\s\S]*?)\r?\n?```$/;function EE(e){if(!e)return{code:""};const t=aD.exec(e.trim());if(!t)return{code:e};const r=t[1].trim();return{language:(r?r.split(/\s+/)[0]:void 0)||void 0,code:t[2]}}function sD({description:e,scriptCode:t,onCopy:r}){const[a,s]=ee.useState(!1);if(!e&&!t)return null;const{language:o,code:c}=EE(t),d=_E(c,o),h=()=>{c&&(Tp(c),s(!0),setTimeout(()=>s(!1),2e3),r==null||r())};return m.jsxs("section",{children:[m.jsx("h2",{className:"text-xl font-semibold text-white mb-3",children:"Proof of Concept"}),m.jsxs("div",{className:"space-y-4",children:[e&&m.jsx("div",{className:"prose-markdown",children:m.jsx(Yp,{remarkPlugins:[Qp],rehypePlugins:[Wp],components:Jp,children:e})}),c&&m.jsxs("div",{className:"group/poc relative rounded-md border border-[#2a2a2a] overflow-hidden",children:[m.jsxs("div",{className:"flex items-stretch",children:[m.jsxs("span",{className:"relative flex items-center text-[13px] text-[#999] font-mono px-4 py-2 border-r border-[#2a2a2a]",children:["PoC Script",m.jsx("span",{className:"absolute top-0 inset-x-0 h-0.5 bg-white/60 rounded-full"})]}),m.jsx("div",{className:"flex-1 border-b border-[#2a2a2a]"}),m.jsx("button",{onClick:h,className:"px-3 py-2 text-[#555] hover:text-white transition-colors flex-shrink-0 border-b border-[#2a2a2a]","aria-label":"Copy PoC code",children:a?m.jsx(Vs,{className:"w-3.5 h-3.5 text-emerald-400"}):m.jsx(go,{className:"w-3.5 h-3.5"})})]}),m.jsx("div",{className:"overflow-auto max-h-[400px] px-4 py-3",children:m.jsx("pre",{className:"font-mono text-[12px] leading-[22px] whitespace-pre [font-variant-ligatures:none]",children:m.jsx("code",{dangerouslySetInnerHTML:{__html:d}})})})]})]})]})}function NE(e){const t=e.match(/(?:https?:\/\/)?(?:www\.)?github\.com\/([^\s/]+\/[^\s/]+)/);if(t){const s=t[1].replace(/\.git$/,"");return{display:s,href:`https://github.com/${s}`,provider:"github"}}const r=e.match(/(?:https?:\/\/)?(?:www\.)?gitlab\.com\/([^\s/]+\/[^\s/]+)/);if(r){const s=r[1].replace(/\.git$/,"");return{display:s,href:`https://gitlab.com/${s}`,provider:"gitlab"}}const a=e.match(/(?:https?:\/\/)?(?:www\.)?bitbucket\.org\/([^\s/]+\/[^\s/]+)/);if(a){const s=a[1].replace(/\.git$/,"");return{display:s,href:`https://bitbucket.org/${s}`,provider:"bitbucket"}}return/^https?:\/\//i.test(e)?{display:e.replace(/^https?:\/\/(www\.)?/,""),href:e,provider:null}:/^[a-zA-Z0-9][\w.-]*\.[a-zA-Z]{2,}/.test(e)?{display:e,href:`https://${e}`,provider:null}:{display:e,href:null,provider:null}}function yo(e,t){return e?NE(e).display.replace(/\/$/,""):t||"Untitled pentest"}function lD({className:e}){return m.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:e,"aria-hidden":"true",children:m.jsx("path",{d:"M2.65 3a.72.72 0 0 0-.72.83l2.86 17.39a.98.98 0 0 0 .96.82h13.72a.72.72 0 0 0 .72-.6l2.86-17.4A.72.72 0 0 0 22.3 3H2.65Zm12.1 12.53H9.3L8.06 8.9h7.8l-1.11 6.63Z"})})}function oD({provider:e,className:t}){const r=t??"w-4 h-4";return e==="gitlab"?m.jsx(PC,{className:`${r} text-orange-400`}):e==="bitbucket"?m.jsx(lD,{className:`${r} text-blue-400`}):m.jsx($C,{className:`${r} text-white`})}const cD={attack_vector:{N:"Remotely exploitable",A:"Adjacent network",L:"Local access required",P:"Physical access required"},attack_complexity:{L:"Easy to exploit",H:"Requires specific conditions"},privileges_required:{N:"No authentication needed",L:"Low privileges needed",H:"High privileges needed"},user_interaction:{N:"No user action required",R:"Requires user action",P:"Passive user role",A:"Active user role"},scope:{U:"Impact stays contained",C:"Can spread to other systems"},confidentiality:{N:"No data exposure",L:"Partial data exposure",H:"Full data exposure"},integrity:{N:"No data modification",L:"Limited modification",H:"Full data modification"},availability:{N:"No service disruption",L:"Limited disruption",H:"Full service disruption"}},uD={attack_vector:{N:"high",A:"medium",L:"low",P:"low"},attack_complexity:{L:"high",H:"low"},privileges_required:{N:"high",L:"medium",H:"low"},user_interaction:{N:"high",R:"low",P:"medium",A:"low"},scope:{C:"high",U:"low"},confidentiality:{H:"high",L:"medium",N:"low"},integrity:{H:"high",L:"medium",N:"low"},availability:{H:"high",L:"medium",N:"low"}},dD={high:"bg-red-500/15 text-red-400 border-red-500/25",medium:"bg-yellow-500/15 text-yellow-400 border-yellow-500/25",low:"bg-[#222] text-[#666] border-[#333]"},fD=[{label:"Exploitability",keys:["attack_vector","attack_complexity","privileges_required","user_interaction"]},{label:"Impact",keys:["scope","confidentiality","integrity","availability"]}];function hD(e,t,r,a,s){const o=e.replace(/\.git$/,"").replace(/\/+$/,""),c=a.split("/").map(encodeURIComponent).join("/"),d=r.split("/").map(encodeURIComponent).join("/");return t==="github"?`${o}/blob/${d}/${c}#L${s}`:t==="gitlab"?`${o}/-/blob/${d}/${c}#L${s}`:null}function mD({vulnerability:e,statusSlot:t,slackThreadUrl:r}){var R;const{severity:a,cvss:s,cve:o,cwe:c,fix_effort:d,created_at:h,target:f,endpoint:p,method:g,code_locations:b,cvss_breakdown:y,location_meta:_}=e,[N,S]=ee.useState(!0),w=b==null?void 0:b.filter(H=>H.fix_before&&H.fix_after),C=w&&w.length>0,E=f?NE(f):null,A=!!(f||p||g||C),B=y&&Object.values(y).some(H=>H!=null);return m.jsxs("aside",{className:"lg:sticky lg:top-6 lg:max-h-[calc(100vh-3rem)] lg:overflow-y-auto",children:[m.jsx("div",{className:"pb-4",children:m.jsxs("div",{className:"space-y-3",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Severity"}),m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("div",{className:`w-2 h-2 rounded-full ${Cp(a)}`,"aria-hidden":"true"}),m.jsx("span",{className:"text-sm font-medium capitalize text-white",children:a})]})]}),m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"CVSS Score"}),m.jsx("span",{className:"text-sm font-semibold tabular-nums text-white",children:s!==null?s:"N/A"})]}),o&&m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"CVE"}),m.jsx("span",{className:"text-sm text-white font-mono",children:o})]}),c&&c.length>0&&m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"CWE"}),m.jsx("span",{className:"text-xs text-white font-mono truncate max-w-[80%] text-right",title:c.join(" · "),children:c.join(" · ")})]}),d&&m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Fix Effort"}),m.jsx("span",{className:`inline-flex items-center px-2 py-0.5 text-[11px] font-medium rounded-full border ${((R=$T[d])==null?void 0:R.color)??"text-[#666]"}`,children:d.charAt(0).toUpperCase()+d.slice(1)})]}),m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Discovered"}),m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx(V_,{className:"w-3 h-3 text-[#444]","aria-hidden":"true"}),m.jsx("span",{className:"text-sm text-white",children:Ym(h)})]})]}),m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Status"}),t]})]})}),A&&m.jsxs("div",{className:"border-t border-[#191919] pt-4 pb-4",children:[m.jsx("p",{className:"text-xs font-medium text-[#aaa] mb-2.5",children:"Asset"}),m.jsxs("div",{className:"space-y-2.5",children:[f&&E&&m.jsxs("div",{className:"flex items-center gap-1.5",children:[E.provider?m.jsx("span",{className:"flex-shrink-0 [&_svg]:w-3.5 [&_svg]:h-3.5","aria-hidden":"true",children:m.jsx(oD,{provider:E.provider})}):m.jsx(X_,{className:"w-3.5 h-3.5 text-[#555] flex-shrink-0","aria-hidden":"true"}),E.href?m.jsx("a",{href:E.href,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-white hover:text-[#ccc] break-words min-w-0 transition-colors",children:E.display}):m.jsx("span",{className:"text-sm text-white break-words min-w-0",children:E.display})]}),p&&m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Endpoint"}),m.jsx("span",{className:"text-xs text-white font-mono truncate max-w-[75%] text-right",children:p})]}),g&&m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Method"}),m.jsx("span",{className:"text-xs text-white font-mono",children:g})]}),C&&m.jsxs("div",{children:[m.jsx("span",{className:"text-xs text-[#aaa] mb-1.5 block",children:"Locations"}),m.jsx("div",{className:"space-y-0.5",children:w.map((H,z)=>{const Y=`${H.file}:${H.start_line}`,j=_?hD(_.repo_url,_.provider,_.branch,H.file,H.start_line):null;return j?m.jsx("a",{href:j,target:"_blank",rel:"noopener noreferrer",className:"text-[13px] text-[#888] hover:text-white font-mono break-all transition-colors block",children:Y},`loc-${z}`):m.jsx("span",{className:"text-[13px] text-[#888] font-mono break-all block",children:Y},`loc-${z}`)})})]})]})]}),B&&m.jsxs("div",{className:"border-t border-[#191919] pt-4",children:[m.jsxs("button",{onClick:()=>S(!N),className:"flex items-center justify-between w-full mb-2.5 group","aria-expanded":N,children:[m.jsx("span",{className:"text-xs font-medium text-[#aaa]",children:"Risk Assessment"}),m.jsx(po,{className:`w-3.5 h-3.5 text-[#555] group-hover:text-white transition-transform ${N?"":"-rotate-90"}`,"aria-hidden":"true"})]}),m.jsx("div",{className:`space-y-3 ${N?"":"hidden"}`,children:fD.map(H=>{const z=H.keys.filter(Y=>y[Y]!=null);return z.length===0?null:m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[m.jsx("p",{className:"text-[10px] uppercase tracking-wider text-[#444] font-medium",children:H.label}),m.jsx("p",{className:"text-[10px] uppercase tracking-wider text-[#444] font-medium mr-2",children:"Risk"})]}),m.jsx("div",{className:"space-y-1",children:z.map(Y=>{var P,k;const j=y[Y],I=j?((P=uD[Y])==null?void 0:P[j])??"low":"low",Z=j?((k=cD[Y])==null?void 0:k[j])??j:"N/A";return m.jsxs("div",{className:"flex items-center justify-between py-0.5",children:[m.jsx("span",{className:"text-[12px] text-[#aaa]",children:Z}),m.jsx("span",{className:`text-[10px] font-medium px-1.5 py-0.5 rounded border ${dD[I]}`,children:I})]},Y)})})]},H.label)})})]})]})}function Fv(e){return e?Math.floor((Date.now()-new Date(e).getTime())/1e3)<604800?` ${Ym(e)}`:` on ${Ym(e)}`:""}const pD={open:null,in_progress:{icon:V_,label:"Marked as In Progress",iconColor:"text-blue-400"},snoozed:{icon:Jk,label:"Snoozed",iconColor:"text-purple-400"},fixed:{icon:Nu,label:"Marked as Fixed",iconColor:"text-emerald-400"},ignored:{icon:U_,label:"Marked as Ignored",iconColor:"text-[#888]"}},gD=[{label:"Auto-fix & open a PR",slug:"autofix",icon:Gm,requiresCode:!0},{label:"Sync to Jira / Linear",slug:"integrations",icon:IC}];function xD({vulnerability:e}){const t=HT[e.status],r=e.code_locations&&e.code_locations.length>0,a=r||e.remediation_steps,s=!!(e.evidence||e.assumptions||e.poc_description||e.poc_script_code),[o,c]=ee.useState("fix"),h=[{id:"fix",label:"Fix",show:!!a},{id:"reproduction",label:"Reproduction",show:s}].filter(f=>f.show);return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsxs("div",{className:"mb-2",children:[e.display_number&&m.jsx("span",{className:"text-xs font-mono text-[#555] block mb-1",children:UA(e.display_number)}),m.jsx("h1",{className:"text-2xl font-semibold text-white",children:e.title})]}),m.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[m.jsx("span",{className:`inline-flex items-center gap-1.5 px-3 py-1 text-sm font-medium rounded-full border ${t.color}`,children:t.label}),m.jsxs("div",{className:`inline-flex items-center gap-1.5 px-3 py-1 text-sm font-semibold rounded-full border ${ew[e.severity]}`,title:Jc(e)?`Adjusted from ${e.original_severity}`:void 0,children:[m.jsx("div",{className:`w-2 h-2 rounded-full ${Cp(e.severity)}`}),m.jsxs("span",{className:"capitalize",children:[e.severity,!Jc(e)&&e.cvss?` ${e.cvss}`:""]}),Jc(e)&&m.jsx(Ys,{className:"w-3 h-3 opacity-70","aria-hidden":"true"})]}),e.cve&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-[#333]",children:"·"}),m.jsx("span",{className:"text-sm text-[#666] font-mono",children:e.cve})]})]})]}),m.jsx("div",{className:"flex flex-shrink-0 flex-wrap items-center gap-2",children:gD.filter(f=>!f.requiresCode||r).map(f=>{const p=f.icon;return m.jsxs("a",{href:_i(Yu,f.slug),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr(f.slug,"finding_detail"),className:"inline-flex items-center gap-1.5 rounded-lg bg-white px-3 py-1.5 text-xs font-semibold text-black transition-opacity hover:opacity-90",children:[m.jsx(p,{className:"h-3.5 w-3.5","aria-hidden":"true"}),f.label]},f.slug)})})]}),e.status!=="open"&&(()=>{const f=pD[e.status];if(!f)return null;const p=f.icon;return m.jsxs("div",{className:"rounded-lg px-4 py-3.5 flex gap-3",style:{border:"1px solid rgba(255,255,255,0.08)"},children:[m.jsx(p,{className:`w-5 h-5 flex-shrink-0 mt-0.5 ${f.iconColor}`,"aria-hidden":"true"}),m.jsxs("div",{className:"min-w-0",children:[m.jsxs("p",{className:"text-sm font-semibold text-white",children:[f.label,Fv(e.status_changed_at)]}),e.status_note&&m.jsxs("p",{className:"text-sm text-[#666] italic mt-1",children:["“",e.status_note,"”"]})]})]})})(),Jc(e)&&m.jsxs("div",{className:"rounded-lg px-4 py-3.5 flex gap-3",style:{border:"1px solid rgba(255,255,255,0.08)"},children:[m.jsx(Ys,{className:"w-5 h-5 flex-shrink-0 mt-0.5 text-orange-400","aria-hidden":"true"}),m.jsxs("div",{className:"min-w-0",children:[m.jsxs("p",{className:"text-sm font-semibold text-white",children:["Severity changed manually from"," ",m.jsx("span",{className:"capitalize",children:e.original_severity}),e.cvss!=null?` (${e.cvss})`:""," to"," ",m.jsx("span",{className:"capitalize",children:e.severity}),Fv(e.severity_changed_at)]}),e.severity_override_reason&&m.jsxs("p",{className:"text-sm text-[#666] italic mt-1",children:["“",e.severity_override_reason,"”"]})]})]}),m.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_340px] gap-8",children:[m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"space-y-8",children:[m.jsx(ca,{title:"TL;DR",content:e.description}),e.impact&&m.jsx(ca,{title:"Impact",content:e.impact}),e.technical_analysis&&m.jsx(ca,{title:"Technical Details",content:e.technical_analysis})]}),h.length>0&&m.jsxs("div",{className:"mt-10",children:[m.jsx("div",{className:"border-b border-[#2a2a2a]",children:m.jsx("nav",{className:"flex gap-6","aria-label":"Tabs",children:h.map(f=>m.jsxs("button",{onClick:()=>c(f.id),className:`relative min-w-[80px] text-center pb-3 text-[16px] font-semibold transition-colors ${o===f.id?"text-white":"text-[#666] hover:text-white"}`,"aria-current":o===f.id?"page":void 0,children:[f.label,o===f.id&&m.jsx("span",{className:"absolute bottom-0 inset-x-0 h-0.5 bg-white rounded-full"})]},f.id))})}),a&&m.jsxs("div",{className:`pt-6 space-y-6 ${o==="fix"?"animate-tab-in":"hidden"}`,children:[e.remediation_steps&&m.jsx(ca,{title:"How do I fix it?",content:e.remediation_steps}),r&&e.code_locations.filter(f=>f.fix_before&&f.fix_after).map((f,p)=>m.jsx(iD,{file:f.file,startLine:f.start_line,endLine:f.end_line,before:f.fix_before,after:f.fix_after},`fix-${p}`))]}),s&&m.jsxs("div",{className:`pt-6 space-y-8 ${o==="reproduction"?"animate-tab-in":"hidden"}`,children:[e.assumptions&&m.jsx(ca,{title:"Assumptions",content:e.assumptions}),e.evidence&&m.jsx(ca,{title:"Evidence",content:e.evidence}),m.jsx(sD,{description:e.poc_description,scriptCode:e.poc_script_code})]})]})]}),m.jsx("div",{className:"lg:border-l lg:border-[#2a2a2a] lg:pl-6",children:m.jsx(mD,{vulnerability:e,statusSlot:m.jsxs("span",{className:`inline-flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded-full border ${t.color}`,children:[m.jsx("div",{className:`w-1.5 h-1.5 rounded-full ${t.dotColor}`}),t.label]})})})]})]})}const Gv=[{key:"critical",label:"critical",dotClass:"bg-red-500",textClass:"text-red-500"},{key:"high",label:"high",dotClass:"bg-orange-500",textClass:"text-orange-500"},{key:"medium",label:"medium",dotClass:"bg-yellow-500",textClass:"text-yellow-500"},{key:"low",label:"low",dotClass:"bg-blue-500",textClass:"text-blue-500"}];function bD({findings:e,className:t,unit:r="issues",trailing:a}){return e.total<=0?null:m.jsxs("div",{className:br("space-y-3",t),children:[m.jsxs("div",{className:"flex flex-wrap items-center gap-x-8 gap-y-3",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-2xl font-semibold text-white tabular-nums",children:e.total}),m.jsx("span",{className:"text-sm text-[#666]",children:r})]}),m.jsx("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-2",children:Gv.map(({key:s,label:o,dotClass:c,textClass:d})=>{const h=e[s];return h<=0?null:m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("div",{className:br("w-2 h-2 rounded-full",c),"aria-hidden":"true"}),m.jsx("span",{className:br("text-sm tabular-nums",d),children:h}),m.jsx("span",{className:"text-xs text-[#555]",children:o})]},s)})}),a?m.jsx("div",{className:"flex items-center gap-2",children:a}):null]}),m.jsx("div",{className:"h-1.5 rounded-full bg-[#222] overflow-hidden flex",children:Gv.map(({key:s,dotClass:o})=>{const c=e[s];return c<=0?null:m.jsx("div",{className:br("h-full",o),style:{width:`${c/e.total*100}%`}},s)})})]})}function on(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let r=0,a;r{}};function Ju(){for(var e=0,t=arguments.length,r={},a;e=0&&(a=r.slice(s+1),r=r.slice(0,s)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:a}})}yu.prototype=Ju.prototype={constructor:yu,on:function(e,t){var r=this._,a=vD(e+"",r),s,o=-1,c=a.length;if(arguments.length<2){for(;++o0)for(var r=new Array(s),a=0,s,o;a=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),Yv.hasOwnProperty(t)?{space:Yv[t],local:e}:e}function wD(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===ap&&t.documentElement.namespaceURI===ap?t.createElement(e):t.createElementNS(r,e)}}function ED(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function SE(e){var t=ed(e);return(t.local?ED:wD)(t)}function ND(){}function eg(e){return e==null?ND:function(){return this.querySelector(e)}}function SD(e){typeof e!="function"&&(e=eg(e));for(var t=this._groups,r=t.length,a=new Array(r),s=0;s=E&&(E=C+1);!(B=S[E])&&++E<_;);A._next=B||null}}return c=new sr(c,a),c._enter=d,c._exit=h,c}function GD(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function VD(){return new sr(this._exit||this._groups.map(AE),this._parents)}function YD(e,t,r){var a=this.enter(),s=this,o=this.exit();return typeof e=="function"?(a=e(a),a&&(a=a.selection())):a=a.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),r==null?o.remove():r(o),a&&s?a.merge(s).order():s}function XD(e){for(var t=e.selection?e.selection():e,r=this._groups,a=t._groups,s=r.length,o=a.length,c=Math.min(s,o),d=new Array(s),h=0;h=0;)(c=a[s])&&(o&&c.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(c,o),o=c);return this}function ZD(e){e||(e=QD);function t(g,b){return g&&b?e(g.__data__,b.__data__):!g-!b}for(var r=this._groups,a=r.length,s=new Array(a),o=0;ot?1:e>=t?0:NaN}function WD(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function JD(){return Array.from(this)}function eL(){for(var e=this._groups,t=0,r=e.length;t1?this.each((t==null?dL:typeof t=="function"?hL:fL)(e,t,r??"")):Ks(this.node(),e)}function Ks(e,t){return e.style.getPropertyValue(t)||ME(e).getComputedStyle(e,null).getPropertyValue(t)}function pL(e){return function(){delete this[e]}}function gL(e,t){return function(){this[e]=t}}function xL(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function bL(e,t){return arguments.length>1?this.each((t==null?pL:typeof t=="function"?xL:gL)(e,t)):this.node()[e]}function OE(e){return e.trim().split(/^|\s+/)}function tg(e){return e.classList||new RE(e)}function RE(e){this._node=e,this._names=OE(e.getAttribute("class")||"")}RE.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function jE(e,t){for(var r=tg(e),a=-1,s=t.length;++a=0&&(r=t.slice(a+1),t=t.slice(0,a)),{type:t,name:r}})}function VL(e){return function(){var t=this.__on;if(t){for(var r=0,a=-1,s=t.length,o;r()=>e;function sp(e,{sourceEvent:t,subject:r,target:a,identifier:s,active:o,x:c,y:d,dx:h,dy:f,dispatch:p}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:a,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:c,enumerable:!0,configurable:!0},y:{value:d,enumerable:!0,configurable:!0},dx:{value:h,enumerable:!0,configurable:!0},dy:{value:f,enumerable:!0,configurable:!0},_:{value:p}})}sp.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function n6(e){return!e.ctrlKey&&!e.button}function r6(){return this.parentNode}function i6(e,t){return t??{x:e.x,y:e.y}}function a6(){return navigator.maxTouchPoints||"ontouchstart"in this}function UE(){var e=n6,t=r6,r=i6,a=a6,s={},o=Ju("start","drag","end"),c=0,d,h,f,p,g=0;function b(A){A.on("mousedown.drag",y).filter(a).on("touchstart.drag",S).on("touchmove.drag",w,t6).on("touchend.drag touchcancel.drag",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(A,B){if(!(p||!e.call(this,A,B))){var R=E(this,t.call(this,A,B),A,B,"mouse");R&&(ir(A.view).on("mousemove.drag",_,vo).on("mouseup.drag",N,vo),IE(A.view),wm(A),f=!1,d=A.clientX,h=A.clientY,R("start",A))}}function _(A){if(Fs(A),!f){var B=A.clientX-d,R=A.clientY-h;f=B*B+R*R>g}s.mouse("drag",A)}function N(A){ir(A.view).on("mousemove.drag mouseup.drag",null),BE(A.view,f),Fs(A),s.mouse("end",A)}function S(A,B){if(e.call(this,A,B)){var R=A.changedTouches,H=t.call(this,A,B),z=R.length,Y,j;for(Y=0;Y>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?lu(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?lu(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=l6.exec(e))?new Gn(t[1],t[2],t[3],1):(t=o6.exec(e))?new Gn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=c6.exec(e))?lu(t[1],t[2],t[3],t[4]):(t=u6.exec(e))?lu(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=d6.exec(e))?e1(t[1],t[2]/100,t[3]/100,1):(t=f6.exec(e))?e1(t[1],t[2]/100,t[3]/100,t[4]):Xv.hasOwnProperty(e)?Qv(Xv[e]):e==="transparent"?new Gn(NaN,NaN,NaN,0):null}function Qv(e){return new Gn(e>>16&255,e>>8&255,e&255,1)}function lu(e,t,r,a){return a<=0&&(e=t=r=NaN),new Gn(e,t,r,a)}function p6(e){return e instanceof Io||(e=Ya(e)),e?(e=e.rgb(),new Gn(e.r,e.g,e.b,e.opacity)):new Gn}function lp(e,t,r,a){return arguments.length===1?p6(e):new Gn(e,t,r,a??1)}function Gn(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}ng(Gn,lp,HE(Io,{brighter(e){return e=e==null?Ou:Math.pow(Ou,e),new Gn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?_o:Math.pow(_o,e),new Gn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Gn(Pa(this.r),Pa(this.g),Pa(this.b),Ru(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:Wv,formatHex:Wv,formatHex8:g6,formatRgb:Jv,toString:Jv}));function Wv(){return`#${$a(this.r)}${$a(this.g)}${$a(this.b)}`}function g6(){return`#${$a(this.r)}${$a(this.g)}${$a(this.b)}${$a((isNaN(this.opacity)?1:this.opacity)*255)}`}function Jv(){const e=Ru(this.opacity);return`${e===1?"rgb(":"rgba("}${Pa(this.r)}, ${Pa(this.g)}, ${Pa(this.b)}${e===1?")":`, ${e})`}`}function Ru(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Pa(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function $a(e){return e=Pa(e),(e<16?"0":"")+e.toString(16)}function e1(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Or(e,t,r,a)}function $E(e){if(e instanceof Or)return new Or(e.h,e.s,e.l,e.opacity);if(e instanceof Io||(e=Ya(e)),!e)return new Or;if(e instanceof Or)return e;e=e.rgb();var t=e.r/255,r=e.g/255,a=e.b/255,s=Math.min(t,r,a),o=Math.max(t,r,a),c=NaN,d=o-s,h=(o+s)/2;return d?(t===o?c=(r-a)/d+(r0&&h<1?0:c,new Or(c,d,h,e.opacity)}function x6(e,t,r,a){return arguments.length===1?$E(e):new Or(e,t,r,a??1)}function Or(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}ng(Or,x6,HE(Io,{brighter(e){return e=e==null?Ou:Math.pow(Ou,e),new Or(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?_o:Math.pow(_o,e),new Or(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,a=r+(r<.5?r:1-r)*t,s=2*r-a;return new Gn(Em(e>=240?e-240:e+120,s,a),Em(e,s,a),Em(e<120?e+240:e-120,s,a),this.opacity)},clamp(){return new Or(t1(this.h),ou(this.s),ou(this.l),Ru(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=Ru(this.opacity);return`${e===1?"hsl(":"hsla("}${t1(this.h)}, ${ou(this.s)*100}%, ${ou(this.l)*100}%${e===1?")":`, ${e})`}`}}));function t1(e){return e=(e||0)%360,e<0?e+360:e}function ou(e){return Math.max(0,Math.min(1,e||0))}function Em(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const rg=e=>()=>e;function b6(e,t){return function(r){return e+r*t}}function y6(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(a){return Math.pow(e+a*t,r)}}function v6(e){return(e=+e)==1?qE:function(t,r){return r-t?y6(t,r,e):rg(isNaN(t)?r:t)}}function qE(e,t){var r=t-e;return r?b6(e,r):rg(isNaN(e)?t:e)}const ju=(function e(t){var r=v6(t);function a(s,o){var c=r((s=lp(s)).r,(o=lp(o)).r),d=r(s.g,o.g),h=r(s.b,o.b),f=qE(s.opacity,o.opacity);return function(p){return s.r=c(p),s.g=d(p),s.b=h(p),s.opacity=f(p),s+""}}return a.gamma=e,a})(1);function _6(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,a=t.slice(),s;return function(o){for(s=0;sr&&(o=t.slice(r,o),d[c]?d[c]+=o:d[++c]=o),(a=a[0])===(s=s[0])?d[c]?d[c]+=s:d[++c]=s:(d[++c]=null,h.push({i:c,x:Vr(a,s)})),r=Nm.lastIndex;return r180?p+=360:p-f>180&&(f+=360),b.push({i:g.push(s(g)+"rotate(",null,a)-2,x:Vr(f,p)})):p&&g.push(s(g)+"rotate("+p+a)}function d(f,p,g,b){f!==p?b.push({i:g.push(s(g)+"skewX(",null,a)-2,x:Vr(f,p)}):p&&g.push(s(g)+"skewX("+p+a)}function h(f,p,g,b,y,_){if(f!==g||p!==b){var N=y.push(s(y)+"scale(",null,",",null,")");_.push({i:N-4,x:Vr(f,g)},{i:N-2,x:Vr(p,b)})}else(g!==1||b!==1)&&y.push(s(y)+"scale("+g+","+b+")")}return function(f,p){var g=[],b=[];return f=e(f),p=e(p),o(f.translateX,f.translateY,p.translateX,p.translateY,g,b),c(f.rotate,p.rotate,g,b),d(f.skewX,p.skewX,g,b),h(f.scaleX,f.scaleY,p.scaleX,p.scaleY,g,b),f=p=null,function(y){for(var _=-1,N=b.length,S;++_=0&&e._call.call(void 0,t),e=e._next;--Zs}function i1(){Xa=(Lu=Eo.now())+td,Zs=so=0;try{z6()}finally{Zs=0,B6(),Xa=0}}function I6(){var e=Eo.now(),t=e-Lu;t>VE&&(td-=t,Lu=e)}function B6(){for(var e,t=Du,r,a=1/0;t;)t._call?(a>t._time&&(a=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:Du=r);lo=e,up(a)}function up(e){if(!Zs){so&&(so=clearTimeout(so));var t=e-Xa;t>24?(e<1/0&&(so=setTimeout(i1,e-Eo.now()-td)),to&&(to=clearInterval(to))):(to||(Lu=Eo.now(),to=setInterval(I6,VE)),Zs=1,YE(i1))}}function a1(e,t,r){var a=new zu;return t=t==null?0:+t,a.restart(s=>{a.stop(),e(s+t)},t,r),a}var U6=Ju("start","end","cancel","interrupt"),H6=[],KE=0,s1=1,dp=2,_u=3,l1=4,fp=5,wu=6;function nd(e,t,r,a,s,o){var c=e.__transition;if(!c)e.__transition={};else if(r in c)return;$6(e,r,{name:t,index:a,group:s,on:U6,tween:H6,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:KE})}function ag(e,t){var r=Ir(e,t);if(r.state>KE)throw new Error("too late; already scheduled");return r}function Zr(e,t){var r=Ir(e,t);if(r.state>_u)throw new Error("too late; already running");return r}function Ir(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function $6(e,t,r){var a=e.__transition,s;a[t]=r,r.timer=XE(o,0,r.time);function o(f){r.state=s1,r.timer.restart(c,r.delay,r.time),r.delay<=f&&c(f-r.delay)}function c(f){var p,g,b,y;if(r.state!==s1)return h();for(p in a)if(y=a[p],y.name===r.name){if(y.state===_u)return a1(c);y.state===l1?(y.state=wu,y.timer.stop(),y.on.call("interrupt",e,e.__data__,y.index,y.group),delete a[p]):+pdp&&a.state=0&&(t=t.slice(0,r)),!t||t==="start"})}function xz(e,t,r){var a,s,o=gz(t)?ag:Zr;return function(){var c=o(this,e),d=c.on;d!==a&&(s=(a=d).copy()).on(t,r),c.on=s}}function bz(e,t){var r=this._id;return arguments.length<2?Ir(this.node(),r).on.on(e):this.each(xz(r,e,t))}function yz(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function vz(){return this.on("end.remove",yz(this._id))}function _z(e){var t=this._name,r=this._id;typeof e!="function"&&(e=eg(e));for(var a=this._groups,s=a.length,o=new Array(s),c=0;c()=>e;function Vz(e,{sourceEvent:t,target:r,transform:a,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:a,enumerable:!0,configurable:!0},_:{value:s}})}function vi(e,t,r){this.k=e,this.x=t,this.y=r}vi.prototype={constructor:vi,scale:function(e){return e===1?this:new vi(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new vi(this.k,this.x+this.k*e,this.y+this.k*t)},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 rd=new vi(1,0,0);JE.prototype=vi.prototype;function JE(e){for(;!e.__zoom;)if(!(e=e.parentNode))return rd;return e.__zoom}function Sm(e){e.stopImmediatePropagation()}function no(e){e.preventDefault(),e.stopImmediatePropagation()}function Yz(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Xz(){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 o1(){return this.__zoom||rd}function Kz(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Zz(){return navigator.maxTouchPoints||"ontouchstart"in this}function Qz(e,t,r){var a=e.invertX(t[0][0])-r[0][0],s=e.invertX(t[1][0])-r[1][0],o=e.invertY(t[0][1])-r[0][1],c=e.invertY(t[1][1])-r[1][1];return e.translate(s>a?(a+s)/2:Math.min(0,a)||Math.max(0,s),c>o?(o+c)/2:Math.min(0,o)||Math.max(0,c))}function eN(){var e=Yz,t=Xz,r=Qz,a=Kz,s=Zz,o=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],d=250,h=vu,f=Ju("start","zoom","end"),p,g,b,y=500,_=150,N=0,S=10;function w(k){k.property("__zoom",o1).on("wheel.zoom",z,{passive:!1}).on("mousedown.zoom",Y).on("dblclick.zoom",j).filter(s).on("touchstart.zoom",I).on("touchmove.zoom",Z).on("touchend.zoom touchcancel.zoom",P).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}w.transform=function(k,$,O,U){var K=k.selection?k.selection():k;K.property("__zoom",o1),k!==K?B(k,$,O,U):K.interrupt().each(function(){R(this,arguments).event(U).start().zoom(null,typeof $=="function"?$.apply(this,arguments):$).end()})},w.scaleBy=function(k,$,O,U){w.scaleTo(k,function(){var K=this.__zoom.k,X=typeof $=="function"?$.apply(this,arguments):$;return K*X},O,U)},w.scaleTo=function(k,$,O,U){w.transform(k,function(){var K=t.apply(this,arguments),X=this.__zoom,M=O==null?A(K):typeof O=="function"?O.apply(this,arguments):O,L=X.invert(M),F=typeof $=="function"?$.apply(this,arguments):$;return r(E(C(X,F),M,L),K,c)},O,U)},w.translateBy=function(k,$,O,U){w.transform(k,function(){return r(this.__zoom.translate(typeof $=="function"?$.apply(this,arguments):$,typeof O=="function"?O.apply(this,arguments):O),t.apply(this,arguments),c)},null,U)},w.translateTo=function(k,$,O,U,K){w.transform(k,function(){var X=t.apply(this,arguments),M=this.__zoom,L=U==null?A(X):typeof U=="function"?U.apply(this,arguments):U;return r(rd.translate(L[0],L[1]).scale(M.k).translate(typeof $=="function"?-$.apply(this,arguments):-$,typeof O=="function"?-O.apply(this,arguments):-O),X,c)},U,K)};function C(k,$){return $=Math.max(o[0],Math.min(o[1],$)),$===k.k?k:new vi($,k.x,k.y)}function E(k,$,O){var U=$[0]-O[0]*k.k,K=$[1]-O[1]*k.k;return U===k.x&&K===k.y?k:new vi(k.k,U,K)}function A(k){return[(+k[0][0]+ +k[1][0])/2,(+k[0][1]+ +k[1][1])/2]}function B(k,$,O,U){k.on("start.zoom",function(){R(this,arguments).event(U).start()}).on("interrupt.zoom end.zoom",function(){R(this,arguments).event(U).end()}).tween("zoom",function(){var K=this,X=arguments,M=R(K,X).event(U),L=t.apply(K,X),F=O==null?A(L):typeof O=="function"?O.apply(K,X):O,D=Math.max(L[1][0]-L[0][0],L[1][1]-L[0][1]),V=K.__zoom,q=typeof $=="function"?$.apply(K,X):$,Q=h(V.invert(F).concat(D/V.k),q.invert(F).concat(D/q.k));return function(J){if(J===1)J=q;else{var W=Q(J),te=D/W[2];J=new vi(te,F[0]-W[0]*te,F[1]-W[1]*te)}M.zoom(null,J)}})}function R(k,$,O){return!O&&k.__zooming||new H(k,$)}function H(k,$){this.that=k,this.args=$,this.active=0,this.sourceEvent=null,this.extent=t.apply(k,$),this.taps=0}H.prototype={event:function(k){return k&&(this.sourceEvent=k),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(k,$){return this.mouse&&k!=="mouse"&&(this.mouse[1]=$.invert(this.mouse[0])),this.touch0&&k!=="touch"&&(this.touch0[1]=$.invert(this.touch0[0])),this.touch1&&k!=="touch"&&(this.touch1[1]=$.invert(this.touch1[0])),this.that.__zoom=$,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(k){var $=ir(this.that).datum();f.call(k,this.that,new Vz(k,{sourceEvent:this.sourceEvent,target:w,transform:this.that.__zoom,dispatch:f}),$)}};function z(k,...$){if(!e.apply(this,arguments))return;var O=R(this,$).event(k),U=this.__zoom,K=Math.max(o[0],Math.min(o[1],U.k*Math.pow(2,a.apply(this,arguments)))),X=Ar(k);if(O.wheel)(O.mouse[0][0]!==X[0]||O.mouse[0][1]!==X[1])&&(O.mouse[1]=U.invert(O.mouse[0]=X)),clearTimeout(O.wheel);else{if(U.k===K)return;O.mouse=[X,U.invert(X)],Eu(this),O.start()}no(k),O.wheel=setTimeout(M,_),O.zoom("mouse",r(E(C(U,K),O.mouse[0],O.mouse[1]),O.extent,c));function M(){O.wheel=null,O.end()}}function Y(k,...$){if(b||!e.apply(this,arguments))return;var O=k.currentTarget,U=R(this,$,!0).event(k),K=ir(k.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",D,!0),X=Ar(k,O),M=k.clientX,L=k.clientY;IE(k.view),Sm(k),U.mouse=[X,this.__zoom.invert(X)],Eu(this),U.start();function F(V){if(no(V),!U.moved){var q=V.clientX-M,Q=V.clientY-L;U.moved=q*q+Q*Q>N}U.event(V).zoom("mouse",r(E(U.that.__zoom,U.mouse[0]=Ar(V,O),U.mouse[1]),U.extent,c))}function D(V){K.on("mousemove.zoom mouseup.zoom",null),BE(V.view,U.moved),no(V),U.event(V).end()}}function j(k,...$){if(e.apply(this,arguments)){var O=this.__zoom,U=Ar(k.changedTouches?k.changedTouches[0]:k,this),K=O.invert(U),X=O.k*(k.shiftKey?.5:2),M=r(E(C(O,X),U,K),t.apply(this,$),c);no(k),d>0?ir(this).transition().duration(d).call(B,M,U,k):ir(this).call(w.transform,M,U,k)}}function I(k,...$){if(e.apply(this,arguments)){var O=k.touches,U=O.length,K=R(this,$,k.changedTouches.length===U).event(k),X,M,L,F;for(Sm(k),M=0;M`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.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 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:t,sourceHandle:r,targetHandle:a})=>`Couldn't create edge for ${e} handle id: "${e==="source"?r:a}", edge id: ${t}.`,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.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},No=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],tN=["Enter"," ","Escape"],nN={"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:t,y:r})=>`Moved selected node ${e}. New position, x: ${t}, y: ${r}`,"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 Qs;(function(e){e.Strict="strict",e.Loose="loose"})(Qs||(Qs={}));var Fa;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Fa||(Fa={}));var So;(function(e){e.Partial="partial",e.Full="full"})(So||(So={}));const rN={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var ua;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ua||(ua={}));var Iu;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Iu||(Iu={}));var ze;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ze||(ze={}));const c1={[ze.Left]:ze.Right,[ze.Right]:ze.Left,[ze.Top]:ze.Bottom,[ze.Bottom]:ze.Top};function iN(e){return e===null?null:e?"valid":"invalid"}const aN=e=>!!e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e,Wz=e=>!!e&&typeof e=="object"&&"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),lg=e=>!!e&&typeof e=="object"&&"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Bo=(e,t=[0,0])=>{const{width:r,height:a}=Qr(e),s=e.origin??t,o=r*s[0],c=a*s[1];return{x:e.position.x-o,y:e.position.y-c}},Jz=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const r=e.reduce((a,s)=>{const o=typeof s=="string";let c=!t.nodeLookup&&!o?s:void 0;t.nodeLookup&&(c=o?t.nodeLookup.get(s):lg(s)?s:t.nodeLookup.get(s.id));const d=c?Bu(c,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return id(a,d)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return ad(r)},Uo=(e,t={})=>{let r={x:1/0,y:1/0,x2:-1/0,y2:-1/0},a=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(r=id(r,Bu(s)),a=!0)}),a?ad(r):{x:0,y:0,width:0,height:0}},og=(e,t,[r,a,s]=[0,0,1],o=!1,c=!1)=>{const d=(t.x-r)/s,h=(t.y-a)/s,f=t.width/s,p=t.height/s,g=[];for(const b of e.values()){const{measured:y,selectable:_=!0,hidden:N=!1}=b;if(c&&!_||N)continue;const S=y.width??b.width??b.initialWidth??0,w=y.height??b.height??b.initialHeight??0,{x:C,y:E}=b.internals.positionAbsolute,A=cN(d,h,f,p,C,E,S,w),B=S*w,R=o&&A>0;(!b.internals.handleBounds||R||A>=B||b.dragging)&&g.push(b)}return g},eI=(e,t)=>{const r=new Set;return e.forEach(a=>{r.add(a.id)}),t.filter(a=>r.has(a.source)||r.has(a.target))};function tI(e,t){const r=new Map,a=t!=null&&t.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{let o;if(t!=null&&t.includeHiddenNodes){const{width:c,height:d}=Qr(s);o=c>0&&d>0}else o=!!(s.measured.width&&s.measured.height&&!s.hidden);o&&(!a||a.has(s.id))&&r.set(s.id,s)}),r}async function nI({nodes:e,width:t,height:r,panZoom:a,minZoom:s,maxZoom:o},c){if(e.size===0)return!0;const d=tI(e,c),h=Uo(d),f=ug(h,t,r,(c==null?void 0:c.minZoom)??s,(c==null?void 0:c.maxZoom)??o,(c==null?void 0:c.padding)??.1);return await a.setViewport(f,{duration:c==null?void 0:c.duration,ease:c==null?void 0:c.ease,interpolate:c==null?void 0:c.interpolate}),!0}function sN({nodeId:e,nextPosition:t,nodeLookup:r,nodeOrigin:a=[0,0],nodeExtent:s,onError:o}){const c=r.get(e),d=c.parentId?r.get(c.parentId):void 0,{x:h,y:f}=d?d.internals.positionAbsolute:{x:0,y:0},p=c.origin??a;let g=c.extent||s;if(c.extent==="parent"&&!c.expandParent)if(!d)o==null||o("005",Lr.error005());else{const y=d.measured.width,_=d.measured.height;y&&_&&(g=[[h,f],[h+y,f+_]])}else d&&Za(c.extent)&&(g=[[c.extent[0][0]+h,c.extent[0][1]+f],[c.extent[1][0]+h,c.extent[1][1]+f]]);const b=Za(g)?Ka(t,g,c.measured):t;return(c.measured.width===void 0||c.measured.height===void 0)&&(o==null||o("015",Lr.error015())),{position:{x:b.x-h+(c.measured.width??0)*p[0],y:b.y-f+(c.measured.height??0)*p[1]},positionAbsolute:b}}async function rI({nodesToRemove:e=[],edgesToRemove:t=[],nodes:r,edges:a,onBeforeDelete:s}){const o=new Set(e.map(b=>b.id)),c=[];for(const b of r){if(b.deletable===!1)continue;const y=o.has(b.id),_=!y&&b.parentId&&c.find(N=>N.id===b.parentId);(y||_)&&c.push(b)}const d=new Set(t.map(b=>b.id)),h=a.filter(b=>b.deletable!==!1),p=eI(c,h);for(const b of h)d.has(b.id)&&!p.find(_=>_.id===b.id)&&p.push(b);if(!s)return{edges:p,nodes:c};const g=await s({nodes:c,edges:p});return typeof g=="boolean"?g?{edges:p,nodes:c}:{edges:[],nodes:[]}:g}const Ws=(e,t=0,r=1)=>Math.min(Math.max(e,t),r),Ka=(e={x:0,y:0},t,r)=>({x:Ws(e.x,t[0][0],t[1][0]-((r==null?void 0:r.width)??0)),y:Ws(e.y,t[0][1],t[1][1]-((r==null?void 0:r.height)??0))});function lN(e,t,r){const{width:a,height:s}=Qr(r),{x:o,y:c}=r.internals.positionAbsolute;return Ka(e,[[o,c],[o+a,c+s]],t)}const u1=(e,t,r)=>er?-Ws(Math.abs(e-r),1,t)/t:0,cg=(e,t,r=15,a=40)=>{const s=u1(e.x,a,t.width-a)*r,o=u1(e.y,a,t.height-a)*r;return[s,o]},id=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),hp=({x:e,y:t,width:r,height:a})=>({x:e,y:t,x2:e+r,y2:t+a}),ad=({x:e,y:t,x2:r,y2:a})=>({x:e,y:t,width:r-e,height:a-t}),ko=(e,t=[0,0])=>{var s,o;const{x:r,y:a}=lg(e)?e.internals.positionAbsolute:Bo(e,t);return{x:r,y:a,width:((s=e.measured)==null?void 0:s.width)??e.width??e.initialWidth??0,height:((o=e.measured)==null?void 0:o.height)??e.height??e.initialHeight??0}},Bu=(e,t=[0,0])=>{var s,o;const{x:r,y:a}=lg(e)?e.internals.positionAbsolute:Bo(e,t);return{x:r,y:a,x2:r+(((s=e.measured)==null?void 0:s.width)??e.width??e.initialWidth??0),y2:a+(((o=e.measured)==null?void 0:o.height)??e.height??e.initialHeight??0)}},oN=(e,t)=>ad(id(hp(e),hp(t))),cN=(e,t,r,a,s,o,c,d)=>{const h=Math.max(0,Math.min(e+r,s+c)-Math.max(e,s)),f=Math.max(0,Math.min(t+a,o+d)-Math.max(t,o));return Math.ceil(h*f)},Uu=(e,t)=>cN(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),d1=e=>Rr(e.width)&&Rr(e.height)&&Rr(e.x)&&Rr(e.y),Rr=e=>!isNaN(e)&&isFinite(e),uN=(e,t)=>(r,a)=>{},Ho=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),$o=({x:e,y:t},[r,a,s],o=!1,c=[1,1])=>{const d={x:(e-r)/s,y:(t-a)/s};return o?Ho(d,c):d},Js=({x:e,y:t},[r,a,s])=>({x:e*s+r,y:t*s+a});function Is(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const r=parseFloat(e);if(!Number.isNaN(r))return Math.floor(r)}if(typeof e=="string"&&e.endsWith("%")){const r=parseFloat(e);if(!Number.isNaN(r))return Math.floor(t*r*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function iI(e,t,r){if(typeof e=="string"||typeof e=="number"){const a=Is(e,r),s=Is(e,t);return{top:a,right:s,bottom:a,left:s,x:s*2,y:a*2}}if(typeof e=="object"){const a=Is(e.top??e.y??0,r),s=Is(e.bottom??e.y??0,r),o=Is(e.left??e.x??0,t),c=Is(e.right??e.x??0,t);return{top:a,right:c,bottom:s,left:o,x:o+c,y:a+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function aI(e,t,r,a,s,o){const{x:c,y:d}=Js(e,[t,r,a]),{x:h,y:f}=Js({x:e.x+e.width,y:e.y+e.height},[t,r,a]),p=s-h,g=o-f;return{left:Math.floor(c),top:Math.floor(d),right:Math.floor(p),bottom:Math.floor(g)}}const ug=(e,t,r,a,s,o)=>{const c=iI(o,t,r),d=(t-c.x)/e.width,h=(r-c.y)/e.height,f=Math.min(d,h),p=Ws(f,a,s),g=e.x+e.width/2,b=e.y+e.height/2,y=t/2-g*p,_=r/2-b*p,N=aI(e,y,_,p,t,r),S={left:Math.min(N.left-c.left,0),top:Math.min(N.top-c.top,0),right:Math.min(N.right-c.right,0),bottom:Math.min(N.bottom-c.bottom,0)};return{x:y-S.left+S.right,y:_-S.top+S.bottom,zoom:p}},Co=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Za(e){return e!=null&&e!=="parent"}function Qr(e){var t,r;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight??0}}function dN(e){var t,r;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight)!==void 0}function fN(e,t={width:0,height:0},r,a,s){const o={...e},c=a.get(r);if(c){const d=c.origin||s;o.x+=c.internals.positionAbsolute.x-(t.width??0)*d[0],o.y+=c.internals.positionAbsolute.y-(t.height??0)*d[1]}return o}function f1(e,t){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}function sI(){let e,t;return{promise:new Promise((a,s)=>{e=a,t=s}),resolve:e,reject:t}}function lI(e){return{...nN,...e||{}}}function ho(e,{snapGrid:t=[0,0],snapToGrid:r=!1,transform:a,containerBounds:s}){const{x:o,y:c}=jr(e),d=$o({x:o-((s==null?void 0:s.left)??0),y:c-((s==null?void 0:s.top)??0)},a),{x:h,y:f}=r?Ho(d,t):d;return{xSnapped:h,ySnapped:f,...d}}const dg=e=>({width:e.offsetWidth,height:e.offsetHeight}),hN=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},oI=["INPUT","SELECT","TEXTAREA"];function mN(e){var a,s;const t=((s=(a=e.composedPath)==null?void 0:a.call(e))==null?void 0:s[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:oI.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const pN=e=>"clientX"in e,jr=(e,t)=>{var o,c;const r=pN(e),a=r?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,s=r?e.clientY:(c=e.touches)==null?void 0:c[0].clientY;return{x:a-((t==null?void 0:t.left)??0),y:s-((t==null?void 0:t.top)??0)}},h1=(e,t,r,a,s)=>{const o=t.querySelectorAll(`.${e}`);return!o||!o.length?null:Array.from(o).map(c=>{const d=c.getBoundingClientRect();return{id:c.getAttribute("data-handleid"),type:e,nodeId:s,position:c.getAttribute("data-handlepos"),x:(d.left-r.left)/a,y:(d.top-r.top)/a,...dg(c)}})};function gN({sourceX:e,sourceY:t,targetX:r,targetY:a,sourceControlX:s,sourceControlY:o,targetControlX:c,targetControlY:d}){const h=e*.125+s*.375+c*.375+r*.125,f=t*.125+o*.375+d*.375+a*.125,p=Math.abs(h-e),g=Math.abs(f-t);return[h,f,p,g]}function du(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function m1({pos:e,x1:t,y1:r,x2:a,y2:s,c:o}){switch(e){case ze.Left:return[t-du(t-a,o),r];case ze.Right:return[t+du(a-t,o),r];case ze.Top:return[t,r-du(r-s,o)];case ze.Bottom:return[t,r+du(s-r,o)]}}function xN({sourceX:e,sourceY:t,sourcePosition:r=ze.Bottom,targetX:a,targetY:s,targetPosition:o=ze.Top,curvature:c=.25}){const[d,h]=m1({pos:r,x1:e,y1:t,x2:a,y2:s,c}),[f,p]=m1({pos:o,x1:a,y1:s,x2:e,y2:t,c}),[g,b,y,_]=gN({sourceX:e,sourceY:t,targetX:a,targetY:s,sourceControlX:d,sourceControlY:h,targetControlX:f,targetControlY:p});return[`M${e},${t} C${d},${h} ${f},${p} ${a},${s}`,g,b,y,_]}function bN({sourceX:e,sourceY:t,targetX:r,targetY:a}){const s=Math.abs(r-e)/2,o=r0}const dI=({source:e,sourceHandle:t,target:r,targetHandle:a})=>`xy-edge__${e}${t||""}-${r}${a||""}`,fI=(e,t)=>t.some(r=>r.source===e.source&&r.target===e.target&&(r.sourceHandle===e.sourceHandle||!r.sourceHandle&&!e.sourceHandle)&&(r.targetHandle===e.targetHandle||!r.targetHandle&&!e.targetHandle)),hI=(e,t,r={})=>{var o;if(!e.source||!e.target)return(o=r.onError)==null||o.call(r,"006",Lr.error006()),t;const a=r.getEdgeId||dI;let s;return aN(e)?s={...e}:s={...e,id:a(e)},fI(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function yN({sourceX:e,sourceY:t,targetX:r,targetY:a}){const[s,o,c,d]=bN({sourceX:e,sourceY:t,targetX:r,targetY:a});return[`M ${e},${t}L ${r},${a}`,s,o,c,d]}const p1={[ze.Left]:{x:-1,y:0},[ze.Right]:{x:1,y:0},[ze.Top]:{x:0,y:-1},[ze.Bottom]:{x:0,y:1}},mI=({source:e,sourcePosition:t=ze.Bottom,target:r})=>t===ze.Left||t===ze.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function pI({source:e,sourcePosition:t=ze.Bottom,target:r,targetPosition:a=ze.Top,center:s,offset:o,stepPosition:c}){const d=p1[t],h=p1[a],f={x:e.x+d.x*o,y:e.y+d.y*o},p={x:r.x+h.x*o,y:r.y+h.y*o},g=mI({source:f,sourcePosition:t,target:p}),b=g.x!==0?"x":"y",y=g[b];let _=[],N,S;const w={x:0,y:0},C={x:0,y:0},[,,E,A]=bN({sourceX:e.x,sourceY:e.y,targetX:r.x,targetY:r.y});if(d[b]*h[b]===-1){b==="x"?(N=s.x??f.x+(p.x-f.x)*c,S=s.y??(f.y+p.y)/2):(N=s.x??(f.x+p.x)/2,S=s.y??f.y+(p.y-f.y)*c);const z=[{x:N,y:f.y},{x:N,y:p.y}],Y=[{x:f.x,y:S},{x:p.x,y:S}];d[b]===y?_=b==="x"?z:Y:_=b==="x"?Y:z}else{const z=[{x:f.x,y:p.y}],Y=[{x:p.x,y:f.y}];if(b==="x"?_=d.x===y?Y:z:_=d.y===y?z:Y,t===a){const k=Math.abs(e[b]-r[b]);if(k<=o){const $=Math.min(o-1,o-k);d[b]===y?w[b]=(f[b]>e[b]?-1:1)*$:C[b]=(p[b]>r[b]?-1:1)*$}}if(t!==a){const k=b==="x"?"y":"x",$=d[b]===h[k],O=f[k]>p[k],U=f[k]=P?(N=(j.x+I.x)/2,S=_[0].y):(N=_[0].x,S=(j.y+I.y)/2)}const B={x:f.x+w.x,y:f.y+w.y},R={x:p.x+C.x,y:p.y+C.y};return[[e,...B.x!==_[0].x||B.y!==_[0].y?[B]:[],..._,...R.x!==_[_.length-1].x||R.y!==_[_.length-1].y?[R]:[],r],N,S,E,A]}function gI(e,t,r,a){const s=Math.min(g1(e,t)/2,g1(t,r)/2,a),{x:o,y:c}=t;if(e.x===o&&o===r.x||e.y===c&&c===r.y)return`L${o} ${c}`;if(e.y===c){const f=e.xr.id===t):e[0])||null}function pp(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(a=>`${a}=${e[a]}`).join("&")}`:""}function bI(e,{id:t,defaultColor:r,defaultMarkerStart:a,defaultMarkerEnd:s}){const o=new Set;return e.reduce((c,d)=>([d.markerStart||a,d.markerEnd||s].forEach(h=>{if(h&&typeof h=="object"){const f=pp(h,t);o.has(f)||(c.push({id:f,color:h.color||r,...h}),o.add(f))}}),c),[]).sort((c,d)=>c.id.localeCompare(d.id))}const vN=1e3,yI=10,fg={nodeOrigin:[0,0],nodeExtent:No,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},vI={...fg,checkEquality:!0};function hg(e,t){const r={...e};for(const a in t)t[a]!==void 0&&(r[a]=t[a]);return r}function _I(e,t,r){const a=hg(fg,r);for(const s of e.values())if(s.parentId)pg(s,e,t,a);else{const o=Bo(s,a.nodeOrigin),c=Za(s.extent)?s.extent:a.nodeExtent,d=Ka(o,c,Qr(s));s.internals.positionAbsolute=d}}function wI(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const r=[],a=[];for(const s of e.handles){const o={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?r.push(o):s.type==="target"&&a.push(o)}return{source:r,target:a}}function mg(e){return e==="manual"}function gp(e,t,r,a={}){var p,g;const s=hg(vI,a),o={i:0},c=new Map(t),d=s!=null&&s.elevateNodesOnSelect&&!mg(s.zIndexMode)?vN:0;let h=e.length>0,f=!1;t.clear(),r.clear();for(const b of e){let y=c.get(b.id);if(s.checkEquality&&b===(y==null?void 0:y.internals.userNode))t.set(b.id,y);else{const _=Bo(b,s.nodeOrigin),N=Za(b.extent)?b.extent:s.nodeExtent,S=Ka(_,N,Qr(b));y={...s.defaults,...b,measured:{width:(p=b.measured)==null?void 0:p.width,height:(g=b.measured)==null?void 0:g.height},internals:{positionAbsolute:S,handleBounds:wI(b,y),z:_N(b,d,s.zIndexMode),userNode:b}},t.set(b.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(h=!1),b.parentId&&pg(y,t,r,a,o),f||(f=b.selected??!1)}return{nodesInitialized:h,hasSelectedNodes:f}}function EI(e,t){if(!e.parentId)return;const r=t.get(e.parentId);r?r.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function pg(e,t,r,a,s){const{elevateNodesOnSelect:o,nodeOrigin:c,nodeExtent:d,zIndexMode:h}=hg(fg,a),f=e.parentId,p=t.get(f);if(!p){console.warn(`Parent node ${f} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}EI(e,r),s&&!p.parentId&&p.internals.rootParentIndex===void 0&&h==="auto"&&(p.internals.rootParentIndex=++s.i,p.internals.z=p.internals.z+s.i*yI),s&&p.internals.rootParentIndex!==void 0&&(s.i=p.internals.rootParentIndex);const g=o&&!mg(h)?vN:0,{x:b,y,z:_}=NI(e,p,c,d,g,h),{positionAbsolute:N}=e.internals,S=b!==N.x||y!==N.y;(S||_!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:b,y}:N,z:_}})}function _N(e,t,r){const a=Rr(e.zIndex)?e.zIndex:0;return mg(r)?a:a+(e.selected?t:0)}function NI(e,t,r,a,s,o){const{x:c,y:d}=t.internals.positionAbsolute,h=Qr(e),f=Bo(e,r),p=Za(e.extent)?Ka(f,e.extent,h):f;let g=Ka({x:c+p.x,y:d+p.y},a,h);e.extent==="parent"&&(g=lN(g,h,t));const b=_N(e,s,o),y=t.internals.z??0;return{x:g.x,y:g.y,z:y>=b?y+1:b}}function gg(e,t,r,a=[0,0]){var c;const s=[],o=new Map;for(const d of e){const h=t.get(d.parentId);if(!h)continue;const f=((c=o.get(d.parentId))==null?void 0:c.expandedRect)??ko(h),p=oN(f,d.rect);o.set(d.parentId,{expandedRect:p,parent:h})}return o.size>0&&o.forEach(({expandedRect:d,parent:h},f)=>{var E;const p=h.internals.positionAbsolute,g=Qr(h),b=h.origin??a,y=d.x0||_>0||w||C)&&(s.push({id:f,type:"position",position:{x:h.position.x-y+w,y:h.position.y-_+C}}),(E=r.get(f))==null||E.forEach(A=>{e.some(B=>B.id===A.id)||s.push({id:A.id,type:"position",position:{x:A.position.x+y,y:A.position.y+_}})})),(g.width0){const y=gg(b,t,r,s);f.push(...y)}return{changes:f,updatedInternals:h}}async function kI({delta:e,panZoom:t,transform:r,translateExtent:a,width:s,height:o}){if(!t||!e.x&&!e.y)return!1;const c=await t.setViewportConstrained({x:r[0]+e.x,y:r[1]+e.y,zoom:r[2]},[[0,0],[s,o]],a);return!!c&&(c.x!==r[0]||c.y!==r[1]||c.k!==r[2])}function v1(e,t,r,a,s,o){let c=s;const d=a.get(c)||new Map;a.set(c,d.set(r,t)),c=`${s}-${e}`;const h=a.get(c)||new Map;if(a.set(c,h.set(r,t)),o){c=`${s}-${e}-${o}`;const f=a.get(c)||new Map;a.set(c,f.set(r,t))}}function wN(e,t,r){e.clear(),t.clear();for(const a of r){const{source:s,target:o,sourceHandle:c=null,targetHandle:d=null}=a,h={edgeId:a.id,source:s,target:o,sourceHandle:c,targetHandle:d},f=`${s}-${c}--${o}-${d}`,p=`${o}-${d}--${s}-${c}`;v1("source",h,p,e,s,c),v1("target",h,f,e,o,d),t.set(a.id,a)}}function EN(e,t){if(!e.parentId)return!1;const r=t.get(e.parentId);return r?r.selected?!0:EN(r,t):!1}function _1(e,t,r){var s;let a=e;do{if((s=a==null?void 0:a.matches)!=null&&s.call(a,t))return!0;if(a===r)return!1;a=a==null?void 0:a.parentElement}while(a);return!1}function CI(e,t,r,a){const s=new Map;for(const[o,c]of e)if((c.selected||c.id===a)&&(!c.parentId||!EN(c,e))&&(c.draggable||t&&typeof c.draggable>"u")){const d=e.get(o);d&&s.set(o,{id:o,position:d.position||{x:0,y:0},distance:{x:r.x-d.internals.positionAbsolute.x,y:r.y-d.internals.positionAbsolute.y},extent:d.extent,parentId:d.parentId,origin:d.origin,expandParent:d.expandParent,internals:{positionAbsolute:d.internals.positionAbsolute||{x:0,y:0}},measured:{width:d.measured.width??0,height:d.measured.height??0}})}return s}function km({nodeId:e,dragItems:t,nodeLookup:r,dragging:a=!0}){var c,d,h;const s=[];for(const[f,p]of t){const g=(c=r.get(f))==null?void 0:c.internals.userNode;g&&s.push({...g,position:p.position,dragging:a})}if(!e)return[s[0],s];const o=(d=r.get(e))==null?void 0:d.internals.userNode;return[o?{...o,position:((h=t.get(e))==null?void 0:h.position)||o.position,dragging:a}:s[0],s]}function TI({dragItems:e,snapGrid:t,x:r,y:a}){const s=e.values().next().value;if(!s)return null;const o={x:r-s.distance.x,y:a-s.distance.y},c=Ho(o,t);return{x:c.x-o.x,y:c.y-o.y}}function AI({onNodeMouseDown:e,getStoreItems:t,onDragStart:r,onDrag:a,onDragStop:s}){let o={x:null,y:null},c=0,d=new Map,h=!1,f={x:0,y:0},p=null,g=!1,b=null,y=!1,_=!1,N=null;function S({noDragClassName:C,handleSelector:E,domNode:A,isSelectable:B,nodeId:R,nodeClickDistance:H=0}){b=ir(A);function z({x:Z,y:P}){const{nodeLookup:k,nodeExtent:$,snapGrid:O,snapToGrid:U,nodeOrigin:K,onNodeDrag:X,onSelectionDrag:M,onError:L,updateNodePositions:F}=t();o={x:Z,y:P};let D=!1;const V=d.size>1,q=V&&$?hp(Uo(d)):null,Q=V&&U?TI({dragItems:d,snapGrid:O,x:Z,y:P}):null;for(const[J,W]of d){if(!k.has(J))continue;let te={x:Z-W.distance.x,y:P-W.distance.y};U&&(te=Q?{x:Math.round(te.x+Q.x),y:Math.round(te.y+Q.y)}:Ho(te,O));let oe=null;if(V&&$&&!W.extent&&q){const{positionAbsolute:we}=W.internals,Ne=we.x-q.x+$[0][0],De=we.x+W.measured.width-q.x2+$[1][0],$e=we.y-q.y+$[0][1],st=we.y+W.measured.height-q.y2+$[1][1];oe=[[Ne,$e],[De,st]]}const{position:fe,positionAbsolute:xe}=sN({nodeId:J,nextPosition:te,nodeLookup:k,nodeExtent:oe||$,nodeOrigin:K,onError:L});D=D||W.position.x!==fe.x||W.position.y!==fe.y,W.position=fe,W.internals.positionAbsolute=xe}if(_=_||D,!!D&&(F(d,!0),N&&(a||X||!R&&M))){const[J,W]=km({nodeId:R,dragItems:d,nodeLookup:k});a==null||a(N,d,J,W),X==null||X(N,J,W),R||M==null||M(N,W)}}async function Y(){if(!p)return;const{transform:Z,panBy:P,autoPanSpeed:k,autoPanOnNodeDrag:$}=t();if(!$){h=!1,cancelAnimationFrame(c);return}const[O,U]=cg(f,p,k);(O!==0||U!==0)&&(o.x=(o.x??0)-O/Z[2],o.y=(o.y??0)-U/Z[2],await P({x:O,y:U})&&z(o)),c=requestAnimationFrame(Y)}function j(Z){var V;const{nodeLookup:P,multiSelectionActive:k,nodesDraggable:$,transform:O,snapGrid:U,snapToGrid:K,selectNodesOnDrag:X,onNodeDragStart:M,onSelectionDragStart:L,unselectNodesAndEdges:F}=t();g=!0,(!X||!B)&&!k&&R&&((V=P.get(R))!=null&&V.selected||F()),B&&X&&R&&(e==null||e(R));const D=ho(Z.sourceEvent,{transform:O,snapGrid:U,snapToGrid:K,containerBounds:p});if(o=D,d=CI(P,$,D,R),d.size>0&&(r||M||!R&&L)){const[q,Q]=km({nodeId:R,dragItems:d,nodeLookup:P});r==null||r(Z.sourceEvent,d,q,Q),M==null||M(Z.sourceEvent,q,Q),R||L==null||L(Z.sourceEvent,Q)}}const I=UE().clickDistance(H).on("start",Z=>{const{domNode:P,nodeDragThreshold:k,transform:$,snapGrid:O,snapToGrid:U}=t();p=(P==null?void 0:P.getBoundingClientRect())||null,y=!1,_=!1,N=Z.sourceEvent,k===0&&j(Z),o=ho(Z.sourceEvent,{transform:$,snapGrid:O,snapToGrid:U,containerBounds:p}),f=jr(Z.sourceEvent,p)}).on("drag",Z=>{const{autoPanOnNodeDrag:P,transform:k,snapGrid:$,snapToGrid:O,nodeDragThreshold:U,nodeLookup:K}=t(),X=ho(Z.sourceEvent,{transform:k,snapGrid:$,snapToGrid:O,containerBounds:p});if(N=Z.sourceEvent,(Z.sourceEvent.type==="touchmove"&&Z.sourceEvent.touches.length>1||R&&!K.has(R))&&(y=!0),!y){if(!h&&P&&g&&(h=!0,Y()),!g){const M=jr(Z.sourceEvent,p),L=M.x-f.x,F=M.y-f.y;Math.sqrt(L*L+F*F)>U&&j(Z)}(o.x!==X.xSnapped||o.y!==X.ySnapped)&&d&&g&&(f=jr(Z.sourceEvent,p),z(X))}}).on("end",Z=>{if(!g||y){y&&d.size>0&&t().updateNodePositions(d,!1);return}if(h=!1,g=!1,cancelAnimationFrame(c),d.size>0){const{nodeLookup:P,updateNodePositions:k,onNodeDragStop:$,onSelectionDragStop:O}=t();if(_&&(k(d,!1),_=!1),s||$||!R&&O){const[U,K]=km({nodeId:R,dragItems:d,nodeLookup:P,dragging:!1});s==null||s(Z.sourceEvent,d,U,K),$==null||$(Z.sourceEvent,U,K),R||O==null||O(Z.sourceEvent,K)}}}).filter(Z=>{const P=Z.target;return!Z.button&&(!C||!_1(P,`.${C}`,A))&&(!E||_1(P,E,A))});b.call(I)}function w(){b==null||b.on(".drag",null)}return{update:S,destroy:w}}function MI(e,t,r){const a=[],s={x:e.x-r,y:e.y-r,width:r*2,height:r*2};for(const o of t.values())Uu(s,ko(o))>0&&a.push(o);return a}const OI=250;function RI(e,t,r,a){var d,h;let s=[],o=1/0;const c=MI(e,r,t+OI);for(const f of c){const p=[...((d=f.internals.handleBounds)==null?void 0:d.source)??[],...((h=f.internals.handleBounds)==null?void 0:h.target)??[]];for(const g of p){if(a.nodeId===g.nodeId&&a.type===g.type&&a.id===g.id)continue;const{x:b,y}=Qa(f,g,g.position,!0),_=Math.sqrt(Math.pow(b-e.x,2)+Math.pow(y-e.y,2));_>t||(_1){const f=a.type==="source"?"target":"source";return s.find(p=>p.type===f)??s[0]}return s[0]}function NN(e,t,r,a,s,o=!1){var f,p,g;const c=a.get(e);if(!c)return null;const d=s==="strict"?(f=c.internals.handleBounds)==null?void 0:f[t]:[...((p=c.internals.handleBounds)==null?void 0:p.source)??[],...((g=c.internals.handleBounds)==null?void 0:g.target)??[]],h=(r?d==null?void 0:d.find(b=>b.id===r):d==null?void 0:d[0])??null;return h&&o?{...h,...Qa(c,h,h.position,!0)}:h}function SN(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function jI(e,t){let r=null;return t?r=!0:e&&!t&&(r=!1),r}const kN=()=>!0;function DI(e,{connectionMode:t,connectionRadius:r,handleId:a,nodeId:s,edgeUpdaterType:o,isTarget:c,domNode:d,nodeLookup:h,lib:f,autoPanOnConnect:p,flowId:g,panBy:b,cancelConnection:y,onConnectStart:_,onConnect:N,onConnectEnd:S,isValidConnection:w=kN,onReconnectEnd:C,updateConnection:E,getTransform:A,getFromHandle:B,autoPanSpeed:R,dragThreshold:H=1,handleDomNode:z}){const Y=hN(e.target);let j=0,I;const{x:Z,y:P}=jr(e),k=SN(o,z),$=d==null?void 0:d.getBoundingClientRect();let O=!1;if(!$||!k)return;const U=NN(s,k,a,h,t);if(!U)return;let K=jr(e,$),X=!1,M=null,L=!1,F=null;function D(){if(!p||!$)return;const[fe,xe]=cg(K,$,R);b({x:fe,y:xe}),j=requestAnimationFrame(D)}const V={...U,nodeId:s,type:k,position:U.position},q=h.get(s);let J={inProgress:!0,isValid:null,from:Qa(q,V,ze.Left,!0),fromHandle:V,fromPosition:V.position,fromNode:q,to:K,toHandle:null,toPosition:c1[V.position],toNode:null,pointer:K};function W(){O=!0,E(J),_==null||_(e,{nodeId:s,handleId:a,handleType:k})}H===0&&W();function te(fe){if(!O){const{x:st,y:Rt}=jr(fe),Xt=st-Z,Ft=Rt-P;if(!(Xt*Xt+Ft*Ft>H*H))return;W()}if(!B()||!V){oe(fe);return}const xe=A();K=jr(fe,$),I=RI($o(K,xe,!1,[1,1]),r,h,V),X||(D(),X=!0);const we=CN(fe,{handle:I,connectionMode:t,fromNodeId:s,fromHandleId:a,fromType:c?"target":"source",isValidConnection:w,doc:Y,lib:f,flowId:g,nodeLookup:h});F=we.handleDomNode,M=we.connection,L=jI(!!I,we.isValid);const Ne=h.get(s),De=Ne?Qa(Ne,V,ze.Left,!0):J.from,$e={...J,from:De,isValid:L,to:we.toHandle&&L?Js({x:we.toHandle.x,y:we.toHandle.y},xe):K,toHandle:we.toHandle,toPosition:L&&we.toHandle?we.toHandle.position:c1[V.position],toNode:we.toHandle?h.get(we.toHandle.nodeId):null,pointer:K};E($e),J=$e}function oe(fe){if(!("touches"in fe&&fe.touches.length>0)){if(O){(I||F)&&M&&L&&(N==null||N(M));const{inProgress:xe,...we}=J,Ne={...we,toPosition:J.toHandle?J.toPosition:null};S==null||S(fe,Ne),o&&(C==null||C(fe,Ne))}y(),cancelAnimationFrame(j),X=!1,L=!1,M=null,F=null,Y.removeEventListener("mousemove",te),Y.removeEventListener("mouseup",oe),Y.removeEventListener("touchmove",te),Y.removeEventListener("touchend",oe)}}Y.addEventListener("mousemove",te),Y.addEventListener("mouseup",oe),Y.addEventListener("touchmove",te),Y.addEventListener("touchend",oe)}function CN(e,{handle:t,connectionMode:r,fromNodeId:a,fromHandleId:s,fromType:o,doc:c,lib:d,flowId:h,isValidConnection:f=kN,nodeLookup:p}){const g=o==="target",b=t?c.querySelector(`.${d}-flow__handle[data-id="${h}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:y,y:_}=jr(e),N=c.elementFromPoint(y,_),S=N!=null&&N.classList.contains(`${d}-flow__handle`)?N:b,w={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const C=SN(void 0,S),E=S.getAttribute("data-nodeid"),A=S.getAttribute("data-handleid"),B=S.classList.contains("connectable"),R=S.classList.contains("connectableend");if(!E||!C)return w;const H={source:g?E:a,sourceHandle:g?A:s,target:g?a:E,targetHandle:g?s:A};w.connection=H;const Y=B&&R&&(r===Qs.Strict?g&&C==="source"||!g&&C==="target":E!==a||A!==s);w.isValid=Y&&f(H),w.toHandle=NN(E,C,A,p,r,!0)}return w}const xp={onPointerDown:DI,isValid:CN};function LI({domNode:e,panZoom:t,getTransform:r,getViewScale:a}){const s=ir(e);function o({translateExtent:d,width:h,height:f,zoomStep:p=1,pannable:g=!0,zoomable:b=!0,inversePan:y=!1}){const _=E=>{if(E.sourceEvent.type!=="wheel"||!t)return;const A=r(),B=E.sourceEvent.ctrlKey&&Co()?10:1,R=-E.sourceEvent.deltaY*(E.sourceEvent.deltaMode===1?.05:E.sourceEvent.deltaMode?1:.002)*p,H=A[2]*Math.pow(2,R*B);t.scaleTo(H)};let N=[0,0];const S=E=>{(E.sourceEvent.type==="mousedown"||E.sourceEvent.type==="touchstart")&&(N=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY])},w=E=>{const A=r();if(E.sourceEvent.type!=="mousemove"&&E.sourceEvent.type!=="touchmove"||!t)return;const B=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY],R=[B[0]-N[0],B[1]-N[1]];N=B;const H=a()*Math.max(A[2],Math.log(A[2]))*(y?-1:1),z={x:A[0]-R[0]*H,y:A[1]-R[1]*H},Y=[[0,0],[h,f]];t.setViewportConstrained({x:z.x,y:z.y,zoom:A[2]},Y,d)},C=eN().on("start",S).on("zoom",g?w:null).on("zoom.wheel",b?_:null);s.call(C,{})}function c(){s.on("zoom",null)}return{update:o,destroy:c,pointer:Ar}}const sd=e=>({x:e.x,y:e.y,zoom:e.k}),Cm=({x:e,y:t,zoom:r})=>rd.translate(e,t).scale(r),$s=(e,t)=>e.target.closest(`.${t}`),TN=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),zI=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Tm=(e,t=0,r=zI,a=()=>{})=>{const s=typeof t=="number"&&t>0;return s||a(),s?e.transition().duration(t).ease(r).on("end",a):e},AN=e=>{const t=e.ctrlKey&&Co()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function II({zoomPanValues:e,noWheelClassName:t,d3Selection:r,d3Zoom:a,panOnScrollMode:s,panOnScrollSpeed:o,zoomOnPinch:c,onPanZoomStart:d,onPanZoom:h,onPanZoomEnd:f}){return p=>{if($s(p,t))return p.ctrlKey&&p.preventDefault(),!1;p.preventDefault(),p.stopImmediatePropagation();const g=r.property("__zoom").k||1;if(p.ctrlKey&&c){const S=Ar(p),w=AN(p),C=g*Math.pow(2,w);a.scaleTo(r,C,S,p);return}const b=p.deltaMode===1?20:1;let y=s===Fa.Vertical?0:p.deltaX*b,_=s===Fa.Horizontal?0:p.deltaY*b;!Co()&&p.shiftKey&&s!==Fa.Vertical&&(y=p.deltaY*b,_=0),a.translateBy(r,-(y/g)*o,-(_/g)*o,{internal:!0});const N=sd(r.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?h==null||h(p,N):(e.isPanScrolling=!0,d==null||d(p,N)),e.panScrollTimeout=setTimeout(()=>{f==null||f(p,N),e.isPanScrolling=!1},150)}}function BI({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:r}){return function(a,s){const o=a.type==="wheel",c=!t&&o&&!a.ctrlKey,d=$s(a,e);if(a.ctrlKey&&o&&d&&a.preventDefault(),c||d)return null;a.preventDefault(),r.call(this,a,s)}}function UI({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:r}){return a=>{var o,c,d;if((o=a.sourceEvent)!=null&&o.internal)return;const s=sd(a.transform);e.mouseButton=((c=a.sourceEvent)==null?void 0:c.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=s,((d=a.sourceEvent)==null?void 0:d.type)==="mousedown"&&t(!0),r&&(r==null||r(a.sourceEvent,s))}}function HI({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:r,onTransformChange:a,onPanZoom:s}){return o=>{var c,d;e.usedRightMouseButton=!!(r&&TN(t,e.mouseButton??0)),(c=o.sourceEvent)!=null&&c.sync||a([o.transform.x,o.transform.y,o.transform.k]),s&&!((d=o.sourceEvent)!=null&&d.internal)&&(s==null||s(o.sourceEvent,sd(o.transform)))}}function $I({zoomPanValues:e,panOnDrag:t,panOnScroll:r,onDraggingChange:a,onPanZoomEnd:s,onPaneContextMenu:o}){return c=>{var d;if(!((d=c.sourceEvent)!=null&&d.internal)&&(e.isZoomingOrPanning=!1,o&&TN(t,e.mouseButton??0)&&!e.usedRightMouseButton&&c.sourceEvent&&o(c.sourceEvent),e.usedRightMouseButton=!1,a(!1),s)){const h=sd(c.transform);e.prevViewport=h,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(c.sourceEvent,h)},r?150:0)}}}function qI({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:r,panOnDrag:a,panOnScroll:s,zoomOnDoubleClick:o,userSelectionActive:c,noWheelClassName:d,noPanClassName:h,lib:f,connectionInProgress:p}){return g=>{var S;const b=e||t,y=r&&g.ctrlKey,_=g.type==="wheel";if(g.button===1&&g.type==="mousedown"&&($s(g,`${f}-flow__node`)||$s(g,`${f}-flow__edge`)))return!0;if(!a&&!b&&!s&&!o&&!r||c||p&&!_||$s(g,d)&&_||$s(g,h)&&(!_||s&&_&&!e)||!r&&g.ctrlKey&&_)return!1;if(!r&&g.type==="touchstart"&&((S=g.touches)==null?void 0:S.length)>1)return g.preventDefault(),!1;if(!b&&!s&&!y&&_||!a&&(g.type==="mousedown"||g.type==="touchstart")||Array.isArray(a)&&!a.includes(g.button)&&g.type==="mousedown")return!1;const N=Array.isArray(a)&&a.includes(g.button)||!g.button||g.button<=1;return(!g.ctrlKey||_)&&N}}function PI({domNode:e,minZoom:t,maxZoom:r,translateExtent:a,viewport:s,onPanZoom:o,onPanZoomStart:c,onPanZoomEnd:d,onDraggingChange:h}){const f={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},p=e.getBoundingClientRect();let g=[[0,0],[p.width,p.height]];const b=typeof ResizeObserver<"u"?new ResizeObserver(P=>{const k=P[0];k&&(g=[[0,0],[k.contentRect.width,k.contentRect.height]])}):null;b==null||b.observe(e);const y=eN().extent(()=>g).scaleExtent([t,r]).translateExtent(a),_=ir(e).call(y);A({x:s.x,y:s.y,zoom:Ws(s.zoom,t,r)},[[0,0],[p.width,p.height]],a);const N=_.on("wheel.zoom"),S=_.on("dblclick.zoom");y.wheelDelta(AN);async function w(P,k){return _?new Promise($=>{y==null||y.interpolate((k==null?void 0:k.interpolate)==="linear"?fo:vu).transform(Tm(_,k==null?void 0:k.duration,k==null?void 0:k.ease,()=>$(!0)),P)}):!1}function C({noWheelClassName:P,noPanClassName:k,onPaneContextMenu:$,userSelectionActive:O,panOnScroll:U,panOnDrag:K,panOnScrollMode:X,panOnScrollSpeed:M,preventScrolling:L,zoomOnPinch:F,zoomOnScroll:D,zoomOnDoubleClick:V,zoomActivationKeyPressed:q,lib:Q,onTransformChange:J,connectionInProgress:W,paneClickDistance:te,selectionOnDrag:oe}){O&&!f.isZoomingOrPanning&&E();const fe=U&&!q&&!O;y.clickDistance(oe?1/0:!Rr(te)||te<0?0:te);const xe=fe?II({zoomPanValues:f,noWheelClassName:P,d3Selection:_,d3Zoom:y,panOnScrollMode:X,panOnScrollSpeed:M,zoomOnPinch:F,onPanZoomStart:c,onPanZoom:o,onPanZoomEnd:d}):BI({noWheelClassName:P,preventScrolling:L,d3ZoomHandler:N});_.on("wheel.zoom",xe,{passive:!1});const we=UI({zoomPanValues:f,onDraggingChange:h,onPanZoomStart:c});y.on("start",we);const Ne=HI({zoomPanValues:f,panOnDrag:K,onPaneContextMenu:!!$,onPanZoom:o,onTransformChange:J});y.on("zoom",Ne);const De=$I({zoomPanValues:f,panOnDrag:K,panOnScroll:U,onPaneContextMenu:$,onPanZoomEnd:d,onDraggingChange:h});y.on("end",De);const $e=qI({zoomActivationKeyPressed:q,panOnDrag:K,zoomOnScroll:D,panOnScroll:U,zoomOnDoubleClick:V,zoomOnPinch:F,userSelectionActive:O,noPanClassName:k,noWheelClassName:P,lib:Q,connectionInProgress:W});y.filter($e),V?_.on("dblclick.zoom",S):_.on("dblclick.zoom",null)}function E(){y.on("zoom",null)}async function A(P,k,$){const O=Cm(P),U=y==null?void 0:y.constrain()(O,k,$);return U&&await w(U),U}async function B(P,k){const $=Cm(P);return await w($,k),$}function R(P){if(_){const k=Cm(P),$=_.property("__zoom");($.k!==P.zoom||$.x!==P.x||$.y!==P.y)&&(y==null||y.transform(_,k,null,{sync:!0}))}}function H(){const P=_?JE(_.node()):{x:0,y:0,k:1};return{x:P.x,y:P.y,zoom:P.k}}async function z(P,k){return _?new Promise($=>{y==null||y.interpolate((k==null?void 0:k.interpolate)==="linear"?fo:vu).scaleTo(Tm(_,k==null?void 0:k.duration,k==null?void 0:k.ease,()=>$(!0)),P)}):!1}async function Y(P,k){return _?new Promise($=>{y==null||y.interpolate((k==null?void 0:k.interpolate)==="linear"?fo:vu).scaleBy(Tm(_,k==null?void 0:k.duration,k==null?void 0:k.ease,()=>$(!0)),P)}):!1}function j(P){y==null||y.scaleExtent(P)}function I(P){y==null||y.translateExtent(P)}function Z(P){const k=!Rr(P)||P<0?0:P;y==null||y.clickDistance(k)}return{update:C,destroy:E,setViewport:B,setViewportConstrained:A,getViewport:H,scaleTo:z,scaleBy:Y,setScaleExtent:j,setTranslateExtent:I,syncViewport:R,setClickDistance:Z}}var el;(function(e){e.Line="line",e.Handle="handle"})(el||(el={}));function FI({width:e,prevWidth:t,height:r,prevHeight:a,affectsX:s,affectsY:o}){const c=e-t,d=r-a,h=[c>0?1:c<0?-1:0,d>0?1:d<0?-1:0];return c&&s&&(h[0]=h[0]*-1),d&&o&&(h[1]=h[1]*-1),h}function w1(e){const t=e.includes("right")||e.includes("left"),r=e.includes("bottom")||e.includes("top"),a=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:r,affectsX:a,affectsY:s}}function sa(e,t){return Math.max(0,t-e)}function la(e,t){return Math.max(0,e-t)}function fu(e,t,r){return Math.max(0,t-e,e-r)}function E1(e,t){return e?!t:t}function GI(e,t,r,a,s,o,c,d){let{affectsX:h,affectsY:f}=t;const{isHorizontal:p,isVertical:g}=t,b=p&&g,{xSnapped:y,ySnapped:_}=r,{minWidth:N,maxWidth:S,minHeight:w,maxHeight:C}=a,{x:E,y:A,width:B,height:R,aspectRatio:H}=e;let z=Math.floor(p?y-e.pointerX:0),Y=Math.floor(g?_-e.pointerY:0);const j=B+(h?-z:z),I=R+(f?-Y:Y),Z=-o[0]*B,P=-o[1]*R;let k=fu(j,N,S),$=fu(I,w,C);if(c){let K=0,X=0;h&&z<0?K=sa(E+z+Z,c[0][0]):!h&&z>0&&(K=la(E+j+Z,c[1][0])),f&&Y<0?X=sa(A+Y+P,c[0][1]):!f&&Y>0&&(X=la(A+I+P,c[1][1])),k=Math.max(k,K),$=Math.max($,X)}if(d){let K=0,X=0;h&&z>0?K=la(E+z,d[0][0]):!h&&z<0&&(K=sa(E+j,d[1][0])),f&&Y>0?X=la(A+Y,d[0][1]):!f&&Y<0&&(X=sa(A+I,d[1][1])),k=Math.max(k,K),$=Math.max($,X)}if(s){if(p){const K=fu(j/H,w,C)*H;if(k=Math.max(k,K),c){let X=0;!h&&!f||h&&!f&&b?X=la(A+P+j/H,c[1][1])*H:X=sa(A+P+(h?z:-z)/H,c[0][1])*H,k=Math.max(k,X)}if(d){let X=0;!h&&!f||h&&!f&&b?X=sa(A+j/H,d[1][1])*H:X=la(A+(h?z:-z)/H,d[0][1])*H,k=Math.max(k,X)}}if(g){const K=fu(I*H,N,S)/H;if($=Math.max($,K),c){let X=0;!h&&!f||f&&!h&&b?X=la(E+I*H+Z,c[1][0])/H:X=sa(E+(f?Y:-Y)*H+Z,c[0][0])/H,$=Math.max($,X)}if(d){let X=0;!h&&!f||f&&!h&&b?X=sa(E+I*H,d[1][0])/H:X=la(E+(f?Y:-Y)*H,d[0][0])/H,$=Math.max($,X)}}}Y=Y+(Y<0?$:-$),z=z+(z<0?k:-k),s&&(b?j>I*H?Y=(E1(h,f)?-z:z)/H:z=(E1(h,f)?-Y:Y)*H:p?(Y=z/H,f=h):(z=Y*H,h=f));const O=h?E+z:E,U=f?A+Y:A;return{width:B+(h?-z:z),height:R+(f?-Y:Y),x:o[0]*z*(h?-1:1)+O,y:o[1]*Y*(f?-1:1)+U}}const MN={width:0,height:0,x:0,y:0},VI={...MN,pointerX:0,pointerY:0,aspectRatio:1};function YI(e,t,r){const a=t.position.x+e.position.x,s=t.position.y+e.position.y,o=e.measured.width??0,c=e.measured.height??0,d=r[0]*o,h=r[1]*c;return[[a-d,s-h],[a+o-d,s+c-h]]}function XI({domNode:e,nodeId:t,getStoreItems:r,onChange:a,onEnd:s}){const o=ir(e);let c={controlDirection:w1("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function d({controlPosition:f,boundaries:p,keepAspectRatio:g,resizeDirection:b,onResizeStart:y,onResize:_,onResizeEnd:N,shouldResize:S}){let w={...MN},C={...VI};c={boundaries:p,resizeDirection:b,keepAspectRatio:g,controlDirection:w1(f)};let E,A=null,B=[],R,H,z,Y=!1;const j=UE().on("start",I=>{const{nodeLookup:Z,transform:P,snapGrid:k,snapToGrid:$,nodeOrigin:O,paneDomNode:U}=r();if(E=Z.get(t),!E)return;A=(U==null?void 0:U.getBoundingClientRect())??null;const{xSnapped:K,ySnapped:X}=ho(I.sourceEvent,{transform:P,snapGrid:k,snapToGrid:$,containerBounds:A});w={width:E.measured.width??0,height:E.measured.height??0,x:E.position.x??0,y:E.position.y??0},C={...w,pointerX:K,pointerY:X,aspectRatio:w.width/w.height},R=void 0,H=Za(E.extent)?E.extent:void 0,E.parentId&&(E.extent==="parent"||E.expandParent)&&(R=Z.get(E.parentId)),R&&E.extent==="parent"&&(H=[[0,0],[R.measured.width,R.measured.height]]),B=[],z=void 0;for(const[M,L]of Z)if(L.parentId===t&&(B.push({id:M,position:{...L.position},extent:L.extent}),L.extent==="parent"||L.expandParent)){const F=YI(L,E,L.origin??O);z?z=[[Math.min(F[0][0],z[0][0]),Math.min(F[0][1],z[0][1])],[Math.max(F[1][0],z[1][0]),Math.max(F[1][1],z[1][1])]]:z=F}y==null||y(I,{...w})}).on("drag",I=>{const{transform:Z,snapGrid:P,snapToGrid:k,nodeOrigin:$}=r(),O=ho(I.sourceEvent,{transform:Z,snapGrid:P,snapToGrid:k,containerBounds:A}),U=[];if(!E)return;const{x:K,y:X,width:M,height:L}=w,F={},D=E.origin??$,{width:V,height:q,x:Q,y:J}=GI(C,c.controlDirection,O,c.boundaries,c.keepAspectRatio,D,H,z),W=V!==M,te=q!==L,oe=Q!==K&&W,fe=J!==X&&te;if(!oe&&!fe&&!W&&!te)return;if((oe||fe||D[0]===1||D[1]===1)&&(F.x=oe?Q:w.x,F.y=fe?J:w.y,w.x=F.x,w.y=F.y,B.length>0)){const De=Q-K,$e=J-X;for(const st of B)st.position={x:st.position.x-De+D[0]*(V-M),y:st.position.y-$e+D[1]*(q-L)},U.push(st)}if((W||te)&&(F.width=W&&(!c.resizeDirection||c.resizeDirection==="horizontal")?V:w.width,F.height=te&&(!c.resizeDirection||c.resizeDirection==="vertical")?q:w.height,w.width=F.width,w.height=F.height),R&&E.expandParent){const De=D[0]*(F.width??0);F.x&&F.x{Y&&(N==null||N(I,{...w}),s==null||s({...w}),Y=!1)});o.call(j)}function h(){o.on(".drag",null)}return{update:d,destroy:h}}var Am={exports:{}},Mm={},Om={exports:{}},Rm={};/** * @license React * use-sync-external-store-shim.production.js * @@ -479,13 +479,13 @@ https://github.com/highlightjs/highlight.js/issues/2277`),Ht=ye,ft=Le),Qe===void * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var k1;function QI(){if(k1)return Mm;k1=1;var e=Oo(),t=ZI();function r(f,p){return f===p&&(f!==0||1/f===1/p)||f!==f&&p!==p}var a=typeof Object.is=="function"?Object.is:r,s=t.useSyncExternalStore,o=e.useRef,c=e.useEffect,d=e.useMemo,h=e.useDebugValue;return Mm.useSyncExternalStoreWithSelector=function(f,p,g,b,y){var _=o(null);if(_.current===null){var N={hasValue:!1,value:null};_.current=N}else N=_.current;_=d(function(){function w(R){if(!C){if(C=!0,E=R,R=b(R),y!==void 0&&N.hasValue){var H=N.value;if(y(H,R))return A=H}return A=R}if(H=A,a(E,R))return H;var z=b(R);return y!==void 0&&y(H,z)?(E=R,H):(E=R,A=z)}var C=!1,E,A,B=g===void 0?null:g;return[function(){return w(p())},B===null?void 0:function(){return w(B())}]},[p,g,b,y]);var S=s(f,_[0],_[1]);return c(function(){N.hasValue=!0,N.value=S},[S]),h(S),S},Mm}var C1;function WI(){return C1||(C1=1,Am.exports=QI()),Am.exports}var JI=WI();const e8=Mo(JI),t8={},T1=e=>{let t;const r=new Set,a=(p,g)=>{const b=typeof p=="function"?p(t):p;if(!Object.is(b,t)){const y=t;t=g??(typeof b!="object"||b===null)?b:Object.assign({},t,b),r.forEach(_=>_(t,y))}},s=()=>t,h={setState:a,getState:s,getInitialState:()=>f,subscribe:p=>(r.add(p),()=>r.delete(p)),destroy:()=>{(t8?"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."),r.clear()}},f=t=e(a,s,h);return h},n8=e=>e?T1(e):T1,{useDebugValue:r8}=fa,{useSyncExternalStoreWithSelector:i8}=e8,a8=e=>e;function ON(e,t=a8,r){const a=i8(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return r8(a),a}const A1=(e,t)=>{const r=n8(e),a=(s,o=t)=>ON(r,s,o);return Object.assign(a,r),a},s8=(e,t)=>e?A1(e,t):A1;function qt(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[a,s]of e)if(!Object.is(s,t.get(a)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const a of e)if(!t.has(a))return!1;return!0}const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const a of r)if(!Object.prototype.hasOwnProperty.call(t,a)||!Object.is(e[a],t[a]))return!1;return!0}z_();const ld=ee.createContext(null),l8=ld.Provider,RN=Lr.error001("react");function dt(e,t){const r=ee.useContext(ld);if(r===null)throw new Error(RN);return ON(r,e,t)}function Lt(){const e=ee.useContext(ld);if(e===null)throw new Error(RN);return ee.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const M1={display:"none"},o8={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},jN="react-flow__node-desc",DN="react-flow__edge-desc",c8="react-flow__aria-live",u8=e=>e.ariaLiveMessage,d8=e=>e.ariaLabelConfig;function f8({rfId:e}){const t=dt(u8);return m.jsx("div",{id:`${c8}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:o8,children:t})}function h8({rfId:e,disableKeyboardA11y:t}){const r=dt(d8);return m.jsxs(m.Fragment,{children:[m.jsx("div",{id:`${jN}-${e}`,style:M1,children:t?r["node.a11yDescription.default"]:r["node.a11yDescription.keyboardDisabled"]}),m.jsx("div",{id:`${DN}-${e}`,style:M1,children:r["edge.a11yDescription.default"]}),!t&&m.jsx(f8,{rfId:e})]})}const od=ee.forwardRef(({position:e="top-left",children:t,className:r,style:a,...s},o)=>{const c=`${e}`.split("-");return m.jsx("div",{className:on(["react-flow__panel",r,...c]),style:a,ref:o,...s,children:t})});od.displayName="Panel";const O1="https://reactflow.dev?utm_source=attribution";function m8({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:m.jsx(od,{position:t,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${O1}`,children:m.jsx("a",{href:O1,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const p8=e=>{const t=[],r=[];for(const[,a]of e.nodeLookup)a.selected&&t.push(a.internals.userNode);for(const[,a]of e.edgeLookup)a.selected&&r.push(a);return{selectedNodes:t,selectedEdges:r}},hu=e=>e.id;function g8(e,t){return qt(e.selectedNodes.map(hu),t.selectedNodes.map(hu))&&qt(e.selectedEdges.map(hu),t.selectedEdges.map(hu))}function x8({onSelectionChange:e}){const t=Lt(),{selectedNodes:r,selectedEdges:a}=dt(p8,g8);return ee.useEffect(()=>{const s={nodes:r,edges:a};e==null||e(s),t.getState().onSelectionChangeHandlers.forEach(o=>o(s))},[r,a,e]),null}const b8=e=>!!e.onSelectionChangeHandlers;function y8({onSelectionChange:e}){const t=dt(b8);return e||t?m.jsx(x8,{onSelectionChange:e}):null}const LN=[0,0],v8={x:0,y:0,zoom:1},_8=["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"],R1=[..._8,"rfId"],w8=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}),j1={translateExtent:No,nodeOrigin:LN,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function E8(e){const{setNodes:t,setEdges:r,setMinZoom:a,setMaxZoom:s,setTranslateExtent:o,setNodeExtent:c,reset:d,setDefaultNodesAndEdges:h}=dt(w8,qt),f=Lt();ee.useEffect(()=>(h(e.defaultNodes,e.defaultEdges),()=>{p.current=j1,d()}),[]);const p=ee.useRef(j1);return ee.useEffect(()=>{for(const g of R1){const b=e[g],y=p.current[g];b!==y&&(typeof e[g]>"u"||(g==="nodes"?t(b):g==="edges"?r(b):g==="minZoom"?a(b):g==="maxZoom"?s(b):g==="translateExtent"?o(b):g==="nodeExtent"?c(b):g==="ariaLabelConfig"?f.setState({ariaLabelConfig:lI(b)}):g==="fitView"?f.setState({fitViewQueued:b}):g==="fitViewOptions"?f.setState({fitViewOptions:b}):f.setState({[g]:b})))}p.current=e},R1.map(g=>e[g])),null}function D1(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function N8(e){var a;const[t,r]=ee.useState(e==="system"?null:e);return ee.useEffect(()=>{if(e!=="system"){r(e);return}const s=D1(),o=()=>r(s!=null&&s.matches?"dark":"light");return o(),s==null||s.addEventListener("change",o),()=>{s==null||s.removeEventListener("change",o)}},[e]),t!==null?t:(a=D1())!=null&&a.matches?"dark":"light"}const L1=typeof document<"u"?document:null;function To(e=null,t={target:L1,actInsideInputWithModifier:!0}){const[r,a]=ee.useState(!1),s=ee.useRef(!1),o=ee.useRef(new Set([])),[c,d]=ee.useMemo(()=>{if(e!==null){const f=(Array.isArray(e)?e:[e]).filter(g=>typeof g=="string").map(g=>g.replace("+",` + */var k1;function QI(){if(k1)return Mm;k1=1;var e=Oo(),t=ZI();function r(f,p){return f===p&&(f!==0||1/f===1/p)||f!==f&&p!==p}var a=typeof Object.is=="function"?Object.is:r,s=t.useSyncExternalStore,o=e.useRef,c=e.useEffect,d=e.useMemo,h=e.useDebugValue;return Mm.useSyncExternalStoreWithSelector=function(f,p,g,b,y){var _=o(null);if(_.current===null){var N={hasValue:!1,value:null};_.current=N}else N=_.current;_=d(function(){function w(R){if(!C){if(C=!0,E=R,R=b(R),y!==void 0&&N.hasValue){var H=N.value;if(y(H,R))return A=H}return A=R}if(H=A,a(E,R))return H;var z=b(R);return y!==void 0&&y(H,z)?(E=R,H):(E=R,A=z)}var C=!1,E,A,B=g===void 0?null:g;return[function(){return w(p())},B===null?void 0:function(){return w(B())}]},[p,g,b,y]);var S=s(f,_[0],_[1]);return c(function(){N.hasValue=!0,N.value=S},[S]),h(S),S},Mm}var C1;function WI(){return C1||(C1=1,Am.exports=QI()),Am.exports}var JI=WI();const e8=Mo(JI),t8={},T1=e=>{let t;const r=new Set,a=(p,g)=>{const b=typeof p=="function"?p(t):p;if(!Object.is(b,t)){const y=t;t=g??(typeof b!="object"||b===null)?b:Object.assign({},t,b),r.forEach(_=>_(t,y))}},s=()=>t,h={setState:a,getState:s,getInitialState:()=>f,subscribe:p=>(r.add(p),()=>r.delete(p)),destroy:()=>{(t8?"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."),r.clear()}},f=t=e(a,s,h);return h},n8=e=>e?T1(e):T1,{useDebugValue:r8}=fa,{useSyncExternalStoreWithSelector:i8}=e8,a8=e=>e;function ON(e,t=a8,r){const a=i8(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return r8(a),a}const A1=(e,t)=>{const r=n8(e),a=(s,o=t)=>ON(r,s,o);return Object.assign(a,r),a},s8=(e,t)=>e?A1(e,t):A1;function Pt(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[a,s]of e)if(!Object.is(s,t.get(a)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const a of e)if(!t.has(a))return!1;return!0}const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const a of r)if(!Object.prototype.hasOwnProperty.call(t,a)||!Object.is(e[a],t[a]))return!1;return!0}z_();const ld=ee.createContext(null),l8=ld.Provider,RN=Lr.error001("react");function dt(e,t){const r=ee.useContext(ld);if(r===null)throw new Error(RN);return ON(r,e,t)}function Lt(){const e=ee.useContext(ld);if(e===null)throw new Error(RN);return ee.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const M1={display:"none"},o8={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},jN="react-flow__node-desc",DN="react-flow__edge-desc",c8="react-flow__aria-live",u8=e=>e.ariaLiveMessage,d8=e=>e.ariaLabelConfig;function f8({rfId:e}){const t=dt(u8);return m.jsx("div",{id:`${c8}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:o8,children:t})}function h8({rfId:e,disableKeyboardA11y:t}){const r=dt(d8);return m.jsxs(m.Fragment,{children:[m.jsx("div",{id:`${jN}-${e}`,style:M1,children:t?r["node.a11yDescription.default"]:r["node.a11yDescription.keyboardDisabled"]}),m.jsx("div",{id:`${DN}-${e}`,style:M1,children:r["edge.a11yDescription.default"]}),!t&&m.jsx(f8,{rfId:e})]})}const od=ee.forwardRef(({position:e="top-left",children:t,className:r,style:a,...s},o)=>{const c=`${e}`.split("-");return m.jsx("div",{className:on(["react-flow__panel",r,...c]),style:a,ref:o,...s,children:t})});od.displayName="Panel";const O1="https://reactflow.dev?utm_source=attribution";function m8({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:m.jsx(od,{position:t,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${O1}`,children:m.jsx("a",{href:O1,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const p8=e=>{const t=[],r=[];for(const[,a]of e.nodeLookup)a.selected&&t.push(a.internals.userNode);for(const[,a]of e.edgeLookup)a.selected&&r.push(a);return{selectedNodes:t,selectedEdges:r}},hu=e=>e.id;function g8(e,t){return Pt(e.selectedNodes.map(hu),t.selectedNodes.map(hu))&&Pt(e.selectedEdges.map(hu),t.selectedEdges.map(hu))}function x8({onSelectionChange:e}){const t=Lt(),{selectedNodes:r,selectedEdges:a}=dt(p8,g8);return ee.useEffect(()=>{const s={nodes:r,edges:a};e==null||e(s),t.getState().onSelectionChangeHandlers.forEach(o=>o(s))},[r,a,e]),null}const b8=e=>!!e.onSelectionChangeHandlers;function y8({onSelectionChange:e}){const t=dt(b8);return e||t?m.jsx(x8,{onSelectionChange:e}):null}const LN=[0,0],v8={x:0,y:0,zoom:1},_8=["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"],R1=[..._8,"rfId"],w8=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}),j1={translateExtent:No,nodeOrigin:LN,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function E8(e){const{setNodes:t,setEdges:r,setMinZoom:a,setMaxZoom:s,setTranslateExtent:o,setNodeExtent:c,reset:d,setDefaultNodesAndEdges:h}=dt(w8,Pt),f=Lt();ee.useEffect(()=>(h(e.defaultNodes,e.defaultEdges),()=>{p.current=j1,d()}),[]);const p=ee.useRef(j1);return ee.useEffect(()=>{for(const g of R1){const b=e[g],y=p.current[g];b!==y&&(typeof e[g]>"u"||(g==="nodes"?t(b):g==="edges"?r(b):g==="minZoom"?a(b):g==="maxZoom"?s(b):g==="translateExtent"?o(b):g==="nodeExtent"?c(b):g==="ariaLabelConfig"?f.setState({ariaLabelConfig:lI(b)}):g==="fitView"?f.setState({fitViewQueued:b}):g==="fitViewOptions"?f.setState({fitViewOptions:b}):f.setState({[g]:b})))}p.current=e},R1.map(g=>e[g])),null}function D1(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function N8(e){var a;const[t,r]=ee.useState(e==="system"?null:e);return ee.useEffect(()=>{if(e!=="system"){r(e);return}const s=D1(),o=()=>r(s!=null&&s.matches?"dark":"light");return o(),s==null||s.addEventListener("change",o),()=>{s==null||s.removeEventListener("change",o)}},[e]),t!==null?t:(a=D1())!=null&&a.matches?"dark":"light"}const L1=typeof document<"u"?document:null;function To(e=null,t={target:L1,actInsideInputWithModifier:!0}){const[r,a]=ee.useState(!1),s=ee.useRef(!1),o=ee.useRef(new Set([])),[c,d]=ee.useMemo(()=>{if(e!==null){const f=(Array.isArray(e)?e:[e]).filter(g=>typeof g=="string").map(g=>g.replace("+",` `).replace(` `,` +`).split(` -`)),p=f.reduce((g,b)=>g.concat(...b),[]);return[f,p]}return[[],[]]},[e]);return ee.useEffect(()=>{const h=(t==null?void 0:t.target)??L1,f=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const p=y=>{var S,w;if(s.current=y.ctrlKey||y.metaKey||y.shiftKey||y.altKey,(!s.current||s.current&&!f)&&mN(y))return!1;const N=I1(y.code,d);if(o.current.add(y[N]),z1(c,o.current,!1)){const C=((w=(S=y.composedPath)==null?void 0:S.call(y))==null?void 0:w[0])||y.target,E=(C==null?void 0:C.nodeName)==="BUTTON"||(C==null?void 0:C.nodeName)==="A";t.preventDefault!==!1&&(s.current||!E)&&y.preventDefault(),a(!0)}},g=y=>{const _=I1(y.code,d);z1(c,o.current,!0)?(a(!1),o.current.clear()):o.current.delete(y[_]),y.key==="Meta"&&o.current.clear(),s.current=!1},b=()=>{o.current.clear(),a(!1)};return h==null||h.addEventListener("keydown",p),h==null||h.addEventListener("keyup",g),window.addEventListener("blur",b),window.addEventListener("contextmenu",b),()=>{h==null||h.removeEventListener("keydown",p),h==null||h.removeEventListener("keyup",g),window.removeEventListener("blur",b),window.removeEventListener("contextmenu",b)}}},[e,a]),r}function z1(e,t,r){return e.filter(a=>r||a.length===t.size).some(a=>a.every(s=>t.has(s)))}function I1(e,t){return t.includes(e)?"code":"key"}const S8=()=>{const e=Lt();return ee.useMemo(()=>({zoomIn:async t=>{const{panZoom:r}=e.getState();return r?r.scaleBy(1.2,t):!1},zoomOut:async t=>{const{panZoom:r}=e.getState();return r?r.scaleBy(1/1.2,t):!1},zoomTo:async(t,r)=>{const{panZoom:a}=e.getState();return a?a.scaleTo(t,r):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,r)=>{const{transform:[a,s,o],panZoom:c}=e.getState();return c?(await c.setViewport({x:t.x??a,y:t.y??s,zoom:t.zoom??o},r),!0):!1},getViewport:()=>{const[t,r,a]=e.getState().transform;return{x:t,y:r,zoom:a}},setCenter:async(t,r,a)=>e.getState().setCenter(t,r,a),fitBounds:async(t,r)=>{const{width:a,height:s,minZoom:o,maxZoom:c,panZoom:d}=e.getState(),h=ug(t,a,s,o,c,(r==null?void 0:r.padding)??.1);return d?(await d.setViewport(h,{duration:r==null?void 0:r.duration,ease:r==null?void 0:r.ease,interpolate:r==null?void 0:r.interpolate}),!0):!1},screenToFlowPosition:(t,r={})=>{const{transform:a,snapGrid:s,snapToGrid:o,domNode:c}=e.getState();if(!c)return t;const{x:d,y:h}=c.getBoundingClientRect(),f={x:t.x-d,y:t.y-h},p=r.snapGrid??s,g=r.snapToGrid??o;return $o(f,a,g,p)},flowToScreenPosition:t=>{const{transform:r,domNode:a}=e.getState();if(!a)return t;const{x:s,y:o}=a.getBoundingClientRect(),c=Js(t,r);return{x:c.x+s,y:c.y+o}}}),[])};function zN(e,t){const r=[],a=new Map,s=[];for(const o of e)if(o.type==="add"){s.push(o);continue}else if(o.type==="remove"||o.type==="replace")a.set(o.id,[o]);else{const c=a.get(o.id);c?c.push(o):a.set(o.id,[o])}for(const o of t){const c=a.get(o.id);if(!c){r.push(o);continue}if(c[0].type==="remove")continue;if(c[0].type==="replace"){r.push({...c[0].item});continue}const d={...o};for(const h of c)k8(h,d);r.push(d)}return s.length&&s.forEach(o=>{o.index!==void 0?r.splice(o.index,0,{...o.item}):r.push({...o.item})}),r}function k8(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function IN(e,t){return zN(e,t)}function BN(e,t){return zN(e,t)}function Ha(e,t){return{id:e,type:"select",selected:t}}function qs(e,t=new Set,r=!1){const a=[];for(const[s,o]of e){const c=t.has(s);!(o.selected===void 0&&!c)&&o.selected!==c&&(r&&(o.selected=c),a.push(Ha(o.id,c)))}return a}function B1({items:e=[],lookup:t}){var s;const r=[],a=new Map(e.map(o=>[o.id,o]));for(const[o,c]of e.entries()){const d=t.get(c.id),h=((s=d==null?void 0:d.internals)==null?void 0:s.userNode)??d;h!==void 0&&h!==c&&r.push({id:c.id,item:c,type:"replace"}),h===void 0&&r.push({item:c,type:"add",index:o})}for(const[o]of t)a.get(o)===void 0&&r.push({id:o,type:"remove"});return r}function U1(e){return{id:e.id,type:"remove"}}const C8=uN();function T8(e,t,r={}){return hI(e,t,{...r,onError:r.onError??C8})}const H1=e=>Wz(e),A8=e=>aN(e);function UN(e){return ee.forwardRef(e)}const HN=typeof window<"u"?ee.useLayoutEffect:ee.useEffect;function $1(e){const[t,r]=ee.useState(BigInt(0)),[a]=ee.useState(()=>M8(()=>r(s=>s+BigInt(1))));return HN(()=>{const s=a.get();s.length&&(e(s),a.reset())},[t]),a}function M8(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:r=>{t.push(r),e()}}}const $N=ee.createContext(null);function O8({children:e}){const t=Lt(),r=ee.useCallback(d=>{const{nodes:h=[],setNodes:f,hasDefaultNodes:p,onNodesChange:g,nodeLookup:b,fitViewQueued:y,onNodesChangeMiddlewareMap:_}=t.getState();let N=h;for(const w of d)N=typeof w=="function"?w(N):w;let S=B1({items:N,lookup:b});for(const w of _.values())S=w(S);p&&f(N),S.length>0?g==null||g(S):y&&window.requestAnimationFrame(()=>{const{fitViewQueued:w,nodes:C,setNodes:E}=t.getState();w&&E(C)})},[]),a=$1(r),s=ee.useCallback(d=>{const{edges:h=[],setEdges:f,hasDefaultEdges:p,onEdgesChange:g,edgeLookup:b}=t.getState();let y=h;for(const _ of d)y=typeof _=="function"?_(y):_;p?f(y):g&&g(B1({items:y,lookup:b}))},[]),o=$1(s),c=ee.useMemo(()=>({nodeQueue:a,edgeQueue:o}),[]);return m.jsx($N.Provider,{value:c,children:e})}function R8(){const e=ee.useContext($N);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const j8=e=>!!e.panZoom;function qo(){const e=S8(),t=Lt(),r=R8(),a=dt(j8),s=ee.useMemo(()=>{const o=g=>t.getState().nodeLookup.get(g),c=g=>{r.nodeQueue.push(g)},d=g=>{r.edgeQueue.push(g)},h=g=>{var w,C;const{nodeLookup:b,nodeOrigin:y}=t.getState(),_=H1(g)?g:b.get(g.id),N=_.parentId?fN(_.position,_.measured,_.parentId,b,y):_.position,S={..._,position:N,width:((w=_.measured)==null?void 0:w.width)??_.width,height:((C=_.measured)==null?void 0:C.height)??_.height};return ko(S)},f=(g,b,y={replace:!1})=>{c(_=>_.map(N=>{if(N.id===g){const S=typeof b=="function"?b(N):b;return y.replace&&H1(S)?S:{...N,...S}}return N}))},p=(g,b,y={replace:!1})=>{d(_=>_.map(N=>{if(N.id===g){const S=typeof b=="function"?b(N):b;return y.replace&&A8(S)?S:{...N,...S}}return N}))};return{getNodes:()=>t.getState().nodes.map(g=>({...g})),getNode:g=>{var b;return(b=o(g))==null?void 0:b.internals.userNode},getInternalNode:o,getEdges:()=>{const{edges:g=[]}=t.getState();return g.map(b=>({...b}))},getEdge:g=>t.getState().edgeLookup.get(g),setNodes:c,setEdges:d,addNodes:g=>{const b=Array.isArray(g)?g:[g];r.nodeQueue.push(y=>[...y,...b])},addEdges:g=>{const b=Array.isArray(g)?g:[g];r.edgeQueue.push(y=>[...y,...b])},toObject:()=>{const{nodes:g=[],edges:b=[],transform:y}=t.getState(),[_,N,S]=y;return{nodes:g.map(w=>({...w})),edges:b.map(w=>({...w})),viewport:{x:_,y:N,zoom:S}}},deleteElements:async({nodes:g=[],edges:b=[]})=>{const{nodes:y,edges:_,onNodesDelete:N,onEdgesDelete:S,triggerNodeChanges:w,triggerEdgeChanges:C,onDelete:E,onBeforeDelete:A}=t.getState(),{nodes:B,edges:R}=await rI({nodesToRemove:g,edgesToRemove:b,nodes:y,edges:_,onBeforeDelete:A}),H=R.length>0,z=B.length>0;if(H){const Y=R.map(U1);S==null||S(R),C(Y)}if(z){const Y=B.map(U1);N==null||N(B),w(Y)}return(z||H)&&(E==null||E({nodes:B,edges:R})),{deletedNodes:B,deletedEdges:R}},getIntersectingNodes:(g,b=!0,y)=>{const _=d1(g),N=_?g:h(g),S=y!==void 0;return N?(y||t.getState().nodes).filter(w=>{const C=t.getState().nodeLookup.get(w.id);if(C&&!_&&(w.id===g.id||!C.internals.positionAbsolute))return!1;const E=ko(S?w:C),A=Uu(E,N);return b&&A>0||A>=E.width*E.height||A>=N.width*N.height}):[]},isNodeIntersecting:(g,b,y=!0)=>{const N=d1(g)?g:h(g);if(!N)return!1;const S=Uu(N,b);return y&&S>0||S>=b.width*b.height||S>=N.width*N.height},updateNode:f,updateNodeData:(g,b,y={replace:!1})=>{f(g,_=>{const N=typeof b=="function"?b(_):b;return y.replace?{..._,data:N}:{..._,data:{..._.data,...N}}},y)},updateEdge:p,updateEdgeData:(g,b,y={replace:!1})=>{p(g,_=>{const N=typeof b=="function"?b(_):b;return y.replace?{..._,data:N}:{..._,data:{..._.data,...N}}},y)},getNodesBounds:g=>{const{nodeLookup:b,nodeOrigin:y}=t.getState();return Jz(g,{nodeLookup:b,nodeOrigin:y})},getHandleConnections:({type:g,id:b,nodeId:y})=>{var _;return Array.from(((_=t.getState().connectionLookup.get(`${y}-${g}${b?`-${b}`:""}`))==null?void 0:_.values())??[])},getNodeConnections:({type:g,handleId:b,nodeId:y})=>{var _;return Array.from(((_=t.getState().connectionLookup.get(`${y}${g?b?`-${g}-${b}`:`-${g}`:""}`))==null?void 0:_.values())??[])},fitView:async g=>{const b=t.getState().fitViewResolver??sI();return t.setState({fitViewQueued:!0,fitViewOptions:g,fitViewResolver:b}),r.nodeQueue.push(y=>[...y]),b.promise}}},[]);return ee.useMemo(()=>({...s,...e,viewportInitialized:a}),[a])}const q1=e=>e.selected,D8=typeof window<"u"?window:void 0;function L8({deleteKeyCode:e,multiSelectionKeyCode:t}){const r=Lt(),{deleteElements:a}=qo(),s=To(e,{actInsideInputWithModifier:!1}),o=To(t,{target:D8});ee.useEffect(()=>{if(s){const{edges:c,nodes:d}=r.getState();a({nodes:d.filter(q1),edges:c.filter(q1)}),r.setState({nodesSelectionActive:!1})}},[s]),ee.useEffect(()=>{r.setState({multiSelectionActive:o})},[o])}function z8(e){const t=Lt();ee.useEffect(()=>{const r=()=>{var s,o,c,d;if(!e.current||!(((o=(s=e.current).checkVisibility)==null?void 0:o.call(s))??!0))return!1;const a=dg(e.current);(a.height===0||a.width===0)&&((d=(c=t.getState()).onError)==null||d.call(c,"004",Lr.error004())),t.setState({width:a.width||500,height:a.height||500})};if(e.current){r(),window.addEventListener("resize",r);const a=new ResizeObserver(()=>r());return a.observe(e.current),()=>{window.removeEventListener("resize",r),a&&e.current&&a.unobserve(e.current)}}},[])}const cd={position:"absolute",width:"100%",height:"100%",top:0,left:0},I8=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function B8({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:r=!0,panOnScroll:a=!1,panOnScrollSpeed:s=.5,panOnScrollMode:o=Fa.Free,zoomOnDoubleClick:c=!0,panOnDrag:d=!0,defaultViewport:h,translateExtent:f,minZoom:p,maxZoom:g,zoomActivationKeyCode:b,preventScrolling:y=!0,children:_,noWheelClassName:N,noPanClassName:S,onViewportChange:w,isControlledViewport:C,paneClickDistance:E,selectionOnDrag:A}){const B=Lt(),R=ee.useRef(null),{userSelectionActive:H,lib:z,connectionInProgress:Y}=dt(I8,qt),j=To(b),I=ee.useRef();z8(R);const Z=ee.useCallback(P=>{w==null||w({x:P[0],y:P[1],zoom:P[2]}),C||B.setState({transform:P})},[w,C]);return ee.useEffect(()=>{if(R.current){I.current=PI({domNode:R.current,minZoom:p,maxZoom:g,translateExtent:f,viewport:h,onDraggingChange:O=>B.setState(U=>U.paneDragging===O?U:{paneDragging:O}),onPanZoomStart:(O,U)=>{const{onViewportChangeStart:K,onMoveStart:X}=B.getState();X==null||X(O,U),K==null||K(U)},onPanZoom:(O,U)=>{const{onViewportChange:K,onMove:X}=B.getState();X==null||X(O,U),K==null||K(U)},onPanZoomEnd:(O,U)=>{const{onViewportChangeEnd:K,onMoveEnd:X}=B.getState();X==null||X(O,U),K==null||K(U)}});const{x:P,y:k,zoom:$}=I.current.getViewport();return B.setState({panZoom:I.current,transform:[P,k,$],domNode:R.current.closest(".react-flow")}),()=>{var O;(O=I.current)==null||O.destroy()}}},[]),ee.useEffect(()=>{var P;(P=I.current)==null||P.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:r,panOnScroll:a,panOnScrollSpeed:s,panOnScrollMode:o,zoomOnDoubleClick:c,panOnDrag:d,zoomActivationKeyPressed:j,preventScrolling:y,noPanClassName:S,userSelectionActive:H,noWheelClassName:N,lib:z,onTransformChange:Z,connectionInProgress:Y,selectionOnDrag:A,paneClickDistance:E})},[e,t,r,a,s,o,c,d,j,y,S,H,N,z,Z,Y,A,E]),m.jsx("div",{className:"react-flow__renderer",ref:R,style:cd,children:_})}const U8=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function H8(){const{userSelectionActive:e,userSelectionRect:t}=dt(U8,qt);return e&&t?m.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const jm=(e,t)=>r=>{r.target===t.current&&(e==null||e(r))},$8=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function q8({isSelecting:e,selectionKeyPressed:t,selectionMode:r=So.Full,panOnDrag:a,autoPanOnSelection:s,paneClickDistance:o,selectionOnDrag:c,onSelectionStart:d,onSelectionEnd:h,onPaneClick:f,onPaneContextMenu:p,onPaneScroll:g,onPaneMouseEnter:b,onPaneMouseMove:y,onPaneMouseLeave:_,children:N}){const S=ee.useRef(0),w=Lt(),{userSelectionActive:C,elementsSelectable:E,dragging:A,panBy:B,autoPanSpeed:R}=dt($8,qt),H=E&&(e||C),z=ee.useRef(null),Y=ee.useRef(),j=ee.useRef(new Set),I=ee.useRef(new Set),Z=ee.useRef(!1),P=ee.useRef(!1),k=ee.useRef({x:0,y:0}),$=ee.useRef(!1),O=W=>{if(P.current||Z.current||w.getState().connection.inProgress){P.current=!1,Z.current=!1;return}f==null||f(W),w.getState().resetSelectedElements(),w.setState({nodesSelectionActive:!1})},U=W=>{if(Array.isArray(a)&&(a!=null&&a.includes(2))){W.preventDefault();return}p==null||p(W)},K=g?W=>g(W):void 0,X=W=>{P.current&&(W.stopPropagation(),P.current=!1)},M=W=>{var st,Rt;const{domNode:te,transform:oe}=w.getState();if(Y.current=te==null?void 0:te.getBoundingClientRect(),!Y.current)return;const fe=W.target===z.current;if(!fe&&!!W.target.closest(".nokey")||!e||!(c&&fe||t)||W.button!==0||!W.isPrimary)return;(Rt=(st=W.target)==null?void 0:st.setPointerCapture)==null||Rt.call(st,W.pointerId),P.current=!1;const{x:Ne,y:De}=jr(W.nativeEvent,Y.current),$e=$o({x:Ne,y:De},oe);w.setState({userSelectionRect:{width:0,height:0,startX:$e.x,startY:$e.y,x:Ne,y:De}}),fe||(W.stopPropagation(),W.preventDefault())};function L(W,te){const{userSelectionRect:oe}=w.getState();if(!oe)return;const{transform:fe,nodeLookup:xe,edgeLookup:we,connectionLookup:Ne,triggerNodeChanges:De,triggerEdgeChanges:$e,defaultEdgeOptions:st}=w.getState(),Rt={x:oe.startX,y:oe.startY},{x:Xt,y:Pt}=Js(Rt,fe),Kt={startX:Rt.x,startY:Rt.y,x:WIt.id)),I.current=new Set;const ct=(st==null?void 0:st.selectable)??!0;for(const It of j.current){const ue=Ne.get(It);if(ue)for(const{edgeId:be}of ue.values()){const Oe=we.get(be);Oe&&(Oe.selectable??ct)&&I.current.add(be)}}if(!f1(Yn,j.current)){const It=qs(xe,j.current,!0);De(It)}if(!f1(Nn,I.current)){const It=qs(we,I.current);$e(It)}w.setState({userSelectionRect:Kt,userSelectionActive:!0,nodesSelectionActive:!1})}function F(){if(!s||!Y.current)return;const[W,te]=cg(k.current,Y.current,R);B({x:W,y:te}).then(oe=>{if(!P.current||!oe){S.current=requestAnimationFrame(F);return}const{x:fe,y:xe}=k.current;L(fe,xe),S.current=requestAnimationFrame(F)})}const D=()=>{cancelAnimationFrame(S.current),S.current=0,$.current=!1};ee.useEffect(()=>()=>D(),[]);const V=W=>{const{userSelectionRect:te,transform:oe,resetSelectedElements:fe}=w.getState();if(!Y.current||!te)return;const{x:xe,y:we}=jr(W.nativeEvent,Y.current);k.current={x:xe,y:we};const Ne=Js({x:te.startX,y:te.startY},oe);if(!P.current){const De=t?0:o;if(Math.hypot(xe-Ne.x,we-Ne.y)<=De)return;fe(),d==null||d(W)}P.current=!0,$.current||(F(),$.current=!0),L(xe,we)},q=W=>{var te,oe;if(!H){W.target===z.current&&w.getState().connection.inProgress&&(Z.current=!0);return}W.button===0&&((oe=(te=W.target)==null?void 0:te.releasePointerCapture)==null||oe.call(te,W.pointerId),!C&&W.target===z.current&&w.getState().userSelectionRect&&(O==null||O(W)),w.setState({userSelectionActive:!1,userSelectionRect:null}),P.current&&(h==null||h(W),w.setState({nodesSelectionActive:j.current.size>0})),D())},Q=W=>{var te,oe;(oe=(te=W.target)==null?void 0:te.releasePointerCapture)==null||oe.call(te,W.pointerId),D()},J=a===!0||Array.isArray(a)&&a.includes(0);return m.jsxs("div",{className:on(["react-flow__pane",{draggable:J,dragging:A,selection:e}]),onClick:H?void 0:jm(O,z),onContextMenu:jm(U,z),onWheel:jm(K,z),onPointerEnter:H?void 0:b,onPointerMove:H?V:y,onPointerUp:q,onPointerCancel:H?Q:void 0,onPointerDownCapture:H?M:void 0,onClickCapture:H?X:void 0,onPointerLeave:_,ref:z,style:cd,children:[N,m.jsx(H8,{})]})}function bp({id:e,store:t,unselect:r=!1,nodeRef:a}){const{addSelectedNodes:s,unselectNodesAndEdges:o,multiSelectionActive:c,nodeLookup:d,onError:h}=t.getState(),f=d.get(e);if(!f){h==null||h("012",Lr.error012(e));return}t.setState({nodesSelectionActive:!1}),f.selected?(r||f.selected&&c)&&(o({nodes:[f],edges:[]}),requestAnimationFrame(()=>{var p;return(p=a==null?void 0:a.current)==null?void 0:p.blur()})):s([e])}function qN({nodeRef:e,disabled:t=!1,noDragClassName:r,handleSelector:a,nodeId:s,isSelectable:o,nodeClickDistance:c}){const d=Lt(),[h,f]=ee.useState(!1),p=ee.useRef();return ee.useEffect(()=>{if(!t)return p.current=AI({getStoreItems:()=>d.getState(),onNodeMouseDown:g=>{bp({id:g,store:d,nodeRef:e})},onDragStart:()=>{f(!0)},onDragStop:()=>{f(!1)}}),()=>{var g;(g=p.current)==null||g.destroy(),p.current=void 0}},[t,d,e]),ee.useEffect(()=>{t||!e.current||!p.current||p.current.update({noDragClassName:r,handleSelector:a,domNode:e.current,isSelectable:o,nodeId:s,nodeClickDistance:c})},[r,a,t,o,e,s,c]),h}const P8=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function PN(){const e=Lt();return ee.useCallback(r=>{const{nodeExtent:a,snapToGrid:s,snapGrid:o,nodesDraggable:c,onError:d,updateNodePositions:h,nodeLookup:f,nodeOrigin:p}=e.getState(),g=new Map,b=P8(c),y=s?o[0]:5,_=s?o[1]:5,N=r.direction.x*y*r.factor,S=r.direction.y*_*r.factor;for(const[,w]of f){if(!b(w))continue;let C={x:w.internals.positionAbsolute.x+N,y:w.internals.positionAbsolute.y+S};s&&(C=Ho(C,o));const{position:E,positionAbsolute:A}=sN({nodeId:w.id,nextPosition:C,nodeLookup:f,nodeExtent:a,nodeOrigin:p,onError:d});w.position=E,w.internals.positionAbsolute=A,g.set(w.id,w)}h(g)},[])}const xg=ee.createContext(null),F8=xg.Provider;xg.Consumer;const FN=()=>ee.useContext(xg),G8=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),GN=ee.createContext(null);function V8({children:e}){const t=dt(G8,qt);return m.jsx(GN.Provider,{value:t,children:e})}function Y8(){const e=ee.useContext(GN);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const X8={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},K8=(e,t,r)=>a=>{const{connectionClickStartHandle:s,connectionMode:o,connection:c}=a,{fromHandle:d,toHandle:h,isValid:f}=c;if(!d&&!s)return X8;const p=(h==null?void 0:h.nodeId)===e&&(h==null?void 0:h.id)===t&&(h==null?void 0:h.type)===r;return{connectingFrom:(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===t&&(d==null?void 0:d.type)===r,connectingTo:p,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===t&&(s==null?void 0:s.type)===r,isPossibleEndHandle:o===Qs.Strict?(d==null?void 0:d.type)!==r:e!==(d==null?void 0:d.nodeId)||t!==(d==null?void 0:d.id),connectionInProcess:!!d,clickConnectionInProcess:!!s,valid:p&&f}};function Z8({type:e="source",position:t=ze.Top,isValidConnection:r,isConnectable:a=!0,isConnectableStart:s=!0,isConnectableEnd:o=!0,id:c,onConnect:d,children:h,className:f,onMouseDown:p,onTouchStart:g,...b},y){var $,O;const _=c||null,N=e==="target",S=Lt(),w=FN(),{connectOnClick:C,noPanClassName:E,rfId:A}=Y8(),{connectingFrom:B,connectingTo:R,clickConnecting:H,isPossibleEndHandle:z,connectionInProcess:Y,clickConnectionInProcess:j,valid:I}=dt(K8(w,_,e),qt);w||(O=($=S.getState()).onError)==null||O.call($,"010",Lr.error010());const Z=U=>{const{defaultEdgeOptions:K,onConnect:X,hasDefaultEdges:M}=S.getState(),L={...K,...U};if(M){const{edges:F,setEdges:D,onError:V}=S.getState();D(T8(L,F,{onError:V}))}X==null||X(L),d==null||d(L)},P=U=>{if(!w)return;const K=pN(U.nativeEvent);if(s&&(K&&U.button===0||!K)){const X=S.getState();xp.onPointerDown(U.nativeEvent,{handleDomNode:U.currentTarget,autoPanOnConnect:X.autoPanOnConnect,connectionMode:X.connectionMode,connectionRadius:X.connectionRadius,domNode:X.domNode,nodeLookup:X.nodeLookup,lib:X.lib,isTarget:N,handleId:_,nodeId:w,flowId:X.rfId,panBy:X.panBy,cancelConnection:X.cancelConnection,onConnectStart:X.onConnectStart,onConnectEnd:(...M)=>{var L,F;return(F=(L=S.getState()).onConnectEnd)==null?void 0:F.call(L,...M)},updateConnection:X.updateConnection,onConnect:Z,isValidConnection:r||((...M)=>{var L,F;return((F=(L=S.getState()).isValidConnection)==null?void 0:F.call(L,...M))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:X.autoPanSpeed,dragThreshold:X.connectionDragThreshold})}K?p==null||p(U):g==null||g(U)},k=U=>{const{onClickConnectStart:K,onClickConnectEnd:X,connectionClickStartHandle:M,connectionMode:L,isValidConnection:F,lib:D,rfId:V,nodeLookup:q,connection:Q}=S.getState();if(!w||!M&&!s)return;if(!M){K==null||K(U.nativeEvent,{nodeId:w,handleId:_,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:w,type:e,id:_}});return}const J=hN(U.target),W=r||F,{connection:te,isValid:oe}=xp.isValid(U.nativeEvent,{handle:{nodeId:w,id:_,type:e},connectionMode:L,fromNodeId:M.nodeId,fromHandleId:M.id||null,fromType:M.type,isValidConnection:W,flowId:V,doc:J,lib:D,nodeLookup:q});oe&&te&&Z(te);const fe=structuredClone(Q);delete fe.inProgress,fe.toPosition=fe.toHandle?fe.toHandle.position:null,X==null||X(U,fe),S.setState({connectionClickStartHandle:null})};return m.jsx("div",{"data-handleid":_,"data-nodeid":w,"data-handlepos":t,"data-id":`${A}-${w}-${_}-${e}`,className:on(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",E,f,{source:!N,target:N,connectable:a,connectablestart:s,connectableend:o,clickconnecting:H,connectingfrom:B,connectingto:R,valid:I,connectionindicator:a&&(!Y||z)&&(Y||j?o:s)}]),onMouseDown:P,onTouchStart:P,onClick:C?k:void 0,ref:y,...b,children:h})}const tl=ee.memo(UN(Z8));function Q8({data:e,isConnectable:t,sourcePosition:r=ze.Bottom}){return m.jsxs(m.Fragment,{children:[e==null?void 0:e.label,m.jsx(tl,{type:"source",position:r,isConnectable:t})]})}function W8({data:e,isConnectable:t,targetPosition:r=ze.Top,sourcePosition:a=ze.Bottom}){return m.jsxs(m.Fragment,{children:[m.jsx(tl,{type:"target",position:r,isConnectable:t}),e==null?void 0:e.label,m.jsx(tl,{type:"source",position:a,isConnectable:t})]})}function J8(){return null}function e9({data:e,isConnectable:t,targetPosition:r=ze.Top}){return m.jsxs(m.Fragment,{children:[m.jsx(tl,{type:"target",position:r,isConnectable:t}),e==null?void 0:e.label]})}const Hu={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},P1={input:Q8,default:W8,output:e9,group:J8};function t9(e){var t,r,a,s;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((r=e.style)==null?void 0:r.height)}:{width:e.width??((a=e.style)==null?void 0:a.width),height:e.height??((s=e.style)==null?void 0:s.height)}}const n9=e=>{const{width:t,height:r,x:a,y:s}=Uo(e.nodeLookup,{filter:o=>!!o.selected});return{width:Rr(t)?t:null,height:Rr(r)?r:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${a}px,${s}px)`}};function r9({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:r}){const a=Lt(),{width:s,height:o,transformString:c,userSelectionActive:d}=dt(n9,qt),h=PN(),f=ee.useRef(null);ee.useEffect(()=>{var y;r||(y=f.current)==null||y.focus({preventScroll:!0})},[r]);const p=!d&&s!==null&&o!==null;if(qN({nodeRef:f,disabled:!p}),!p)return null;const g=e?y=>{const _=a.getState().nodes.filter(N=>N.selected);e(y,_)}:void 0,b=y=>{Object.prototype.hasOwnProperty.call(Hu,y.key)&&(y.preventDefault(),h({direction:Hu[y.key],factor:y.shiftKey?4:1}))};return m.jsx("div",{className:on(["react-flow__nodesselection","react-flow__container",t]),style:{transform:c},children:m.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:g,tabIndex:r?void 0:-1,onKeyDown:r?void 0:b,style:{width:s,height:o}})})}const F1=typeof window<"u"?window:void 0,i9=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function VN({children:e,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:a,onPaneMouseLeave:s,onPaneContextMenu:o,onPaneScroll:c,paneClickDistance:d,deleteKeyCode:h,selectionKeyCode:f,selectionOnDrag:p,selectionMode:g,onSelectionStart:b,onSelectionEnd:y,multiSelectionKeyCode:_,panActivationKeyCode:N,zoomActivationKeyCode:S,elementsSelectable:w,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:A,panOnScrollSpeed:B,panOnScrollMode:R,zoomOnDoubleClick:H,panOnDrag:z,autoPanOnSelection:Y,defaultViewport:j,translateExtent:I,minZoom:Z,maxZoom:P,preventScrolling:k,onSelectionContextMenu:$,noWheelClassName:O,noPanClassName:U,disableKeyboardA11y:K,onViewportChange:X,isControlledViewport:M}){const{nodesSelectionActive:L,userSelectionActive:F}=dt(i9,qt),D=To(f,{target:F1}),V=To(N,{target:F1}),q=V||z,Q=V||A,J=p&&q!==!0,W=D||F||J;return L8({deleteKeyCode:h,multiSelectionKeyCode:_}),m.jsx(B8,{onPaneContextMenu:o,elementsSelectable:w,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:Q,panOnScrollSpeed:B,panOnScrollMode:R,zoomOnDoubleClick:H,panOnDrag:!D&&q,defaultViewport:j,translateExtent:I,minZoom:Z,maxZoom:P,zoomActivationKeyCode:S,preventScrolling:k,noWheelClassName:O,noPanClassName:U,onViewportChange:X,isControlledViewport:M,paneClickDistance:d,selectionOnDrag:J,children:m.jsxs(q8,{onSelectionStart:b,onSelectionEnd:y,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:a,onPaneMouseLeave:s,onPaneContextMenu:o,onPaneScroll:c,panOnDrag:q,autoPanOnSelection:Y,isSelecting:!!W,selectionMode:g,selectionKeyPressed:D,paneClickDistance:d,selectionOnDrag:J,children:[e,L&&m.jsx(r9,{onSelectionContextMenu:$,noPanClassName:U,disableKeyboardA11y:K})]})})}VN.displayName="FlowRenderer";const a9=ee.memo(VN),s9=e=>t=>e?og(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(r=>r.id):Array.from(t.nodeLookup.keys());function l9(e){return dt(ee.useCallback(s9(e),[e]),qt)}const o9=e=>e.updateNodeInternals;function c9(){const e=dt(o9),[t]=ee.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(r=>{const a=new Map;r.forEach(s=>{const o=s.target.getAttribute("data-id");a.set(o,{id:o,nodeElement:s.target,force:!0})}),e(a)}));return ee.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function u9({node:e,nodeType:t,hasDimensions:r,resizeObserver:a}){const s=Lt(),o=ee.useRef(null),c=ee.useRef(null),d=ee.useRef(e.sourcePosition),h=ee.useRef(e.targetPosition),f=ee.useRef(t),p=r&&!!e.internals.handleBounds;return ee.useEffect(()=>{o.current&&!e.hidden&&(!p||c.current!==o.current)&&(c.current&&(a==null||a.unobserve(c.current)),a==null||a.observe(o.current),c.current=o.current)},[p,e.hidden]),ee.useEffect(()=>()=>{c.current&&(a==null||a.unobserve(c.current),c.current=null)},[]),ee.useEffect(()=>{if(o.current){const g=f.current!==t,b=d.current!==e.sourcePosition,y=h.current!==e.targetPosition;(g||b||y)&&(f.current=t,d.current=e.sourcePosition,h.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:o.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),o}function d9({id:e,onClick:t,onMouseEnter:r,onMouseMove:a,onMouseLeave:s,onContextMenu:o,onDoubleClick:c,nodesDraggable:d,elementsSelectable:h,nodesConnectable:f,nodesFocusable:p,resizeObserver:g,noDragClassName:b,noPanClassName:y,disableKeyboardA11y:_,rfId:N,nodeTypes:S,nodeClickDistance:w,onError:C}){const{node:E,internals:A,isParent:B}=dt(W=>{const te=W.nodeLookup.get(e),oe=W.parentLookup.has(e);return{node:te,internals:te.internals,isParent:oe}},qt);let R=E.type||"default",H=(S==null?void 0:S[R])||P1[R];H===void 0&&(C==null||C("003",Lr.error003(R)),R="default",H=(S==null?void 0:S.default)||P1.default);const z=!!(E.draggable||d&&typeof E.draggable>"u"),Y=!!(E.selectable||h&&typeof E.selectable>"u"),j=!!(E.connectable||f&&typeof E.connectable>"u"),I=!!(E.focusable||p&&typeof E.focusable>"u"),Z=Lt(),P=dN(E),k=u9({node:E,nodeType:R,hasDimensions:P,resizeObserver:g}),$=qN({nodeRef:k,disabled:E.hidden||!z,noDragClassName:b,handleSelector:E.dragHandle,nodeId:e,isSelectable:Y,nodeClickDistance:w}),O=PN();if(E.hidden)return null;const U=Qr(E),K=t9(E),X=Y||z||t||r||a||s,M=r?W=>r(W,{...A.userNode}):void 0,L=a?W=>a(W,{...A.userNode}):void 0,F=s?W=>s(W,{...A.userNode}):void 0,D=o?W=>o(W,{...A.userNode}):void 0,V=c?W=>c(W,{...A.userNode}):void 0,q=W=>{const{selectNodesOnDrag:te,nodeDragThreshold:oe}=Z.getState();Y&&(!te||!z||oe>0)&&bp({id:e,store:Z,nodeRef:k}),t&&t(W,{...A.userNode})},Q=W=>{if(!(mN(W.nativeEvent)||_)){if(tN.includes(W.key)&&Y){const te=W.key==="Escape";bp({id:e,store:Z,unselect:te,nodeRef:k})}else if(z&&E.selected&&Object.prototype.hasOwnProperty.call(Hu,W.key)){W.preventDefault();const{ariaLabelConfig:te}=Z.getState();Z.setState({ariaLiveMessage:te["node.a11yDescription.ariaLiveMessage"]({direction:W.key.replace("Arrow","").toLowerCase(),x:~~A.positionAbsolute.x,y:~~A.positionAbsolute.y})}),O({direction:Hu[W.key],factor:W.shiftKey?4:1})}}},J=()=>{var Ne;if(_||!((Ne=k.current)!=null&&Ne.matches(":focus-visible")))return;const{transform:W,width:te,height:oe,autoPanOnNodeFocus:fe,setCenter:xe}=Z.getState();if(!fe)return;og(new Map([[e,E]]),{x:0,y:0,width:te,height:oe},W,!0).length>0||xe(E.position.x+U.width/2,E.position.y+U.height/2,{zoom:W[2]})};return m.jsx("div",{className:on(["react-flow__node",`react-flow__node-${R}`,{[y]:z},E.className,{selected:E.selected,selectable:Y,parent:B,draggable:z,dragging:$}]),ref:k,style:{zIndex:A.z,transform:`translate(${A.positionAbsolute.x}px,${A.positionAbsolute.y}px)`,pointerEvents:X?"all":"none",visibility:P?"visible":"hidden",...E.style,...K},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:M,onMouseMove:L,onMouseLeave:F,onContextMenu:D,onClick:q,onDoubleClick:V,onKeyDown:I?Q:void 0,tabIndex:I?0:void 0,onFocus:I?J:void 0,role:E.ariaRole??(I?"group":void 0),"aria-roledescription":"node","aria-describedby":_?void 0:`${jN}-${N}`,"aria-label":E.ariaLabel,...E.domAttributes,children:m.jsx(F8,{value:e,children:m.jsx(H,{id:e,data:E.data,type:R,positionAbsoluteX:A.positionAbsolute.x,positionAbsoluteY:A.positionAbsolute.y,selected:E.selected??!1,selectable:Y,draggable:z,deletable:E.deletable??!0,isConnectable:j,sourcePosition:E.sourcePosition,targetPosition:E.targetPosition,dragging:$,dragHandle:E.dragHandle,zIndex:A.z,parentId:E.parentId,...U})})})}var f9=ee.memo(d9);const h9=e=>({nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function YN(e){const{nodesConnectable:t,nodesFocusable:r,elementsSelectable:a,onError:s}=dt(h9,qt),o=l9(e.onlyRenderVisibleElements),c=c9();return m.jsx("div",{className:"react-flow__nodes",style:cd,children:o.map(d=>m.jsx(f9,{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:c,nodesDraggable:e.nodesDraggable??!0,nodesConnectable:t,nodesFocusable:r,elementsSelectable:a,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}YN.displayName="NodeRenderer";const m9=ee.memo(YN);function p9(e){return dt(ee.useCallback(r=>{if(!e)return r.edges.map(s=>s.id);const a=[];if(r.width&&r.height)for(const s of r.edges){const o=r.nodeLookup.get(s.source),c=r.nodeLookup.get(s.target);o&&c&&uI({sourceNode:o,targetNode:c,width:r.width,height:r.height,transform:r.transform})&&a.push(s.id)}return a},[e]),qt)}const g9=({color:e="none",strokeWidth:t=1})=>{const r={strokeWidth:t,...e&&{stroke:e}};return m.jsx("polyline",{className:"arrow",style:r,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},x9=({color:e="none",strokeWidth:t=1})=>{const r={strokeWidth:t,...e&&{stroke:e,fill:e}};return m.jsx("polyline",{className:"arrowclosed",style:r,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},G1={[Iu.Arrow]:g9,[Iu.ArrowClosed]:x9};function b9(e){const t=Lt();return ee.useMemo(()=>{var s,o;return Object.prototype.hasOwnProperty.call(G1,e)?G1[e]:((o=(s=t.getState()).onError)==null||o.call(s,"009",Lr.error009(e)),null)},[e])}const y9=({id:e,type:t,color:r,width:a=12.5,height:s=12.5,markerUnits:o="strokeWidth",strokeWidth:c,orient:d="auto-start-reverse"})=>{const h=b9(t);return h?m.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${a}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:d,refX:"0",refY:"0",children:m.jsx(h,{color:r,strokeWidth:c})}):null},XN=({defaultColor:e,rfId:t})=>{const r=dt(o=>o.edges),a=dt(o=>o.defaultEdgeOptions),s=ee.useMemo(()=>bI(r,{id:t,defaultColor:e,defaultMarkerStart:a==null?void 0:a.markerStart,defaultMarkerEnd:a==null?void 0:a.markerEnd}),[r,a,t,e]);return s.length?m.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:m.jsx("defs",{children:s.map(o=>m.jsx(y9,{id:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient},o.id))})}):null};XN.displayName="MarkerDefinitions";var v9=ee.memo(XN);function KN({x:e,y:t,label:r,labelStyle:a,labelShowBg:s=!0,labelBgStyle:o,labelBgPadding:c=[2,4],labelBgBorderRadius:d=2,children:h,className:f,...p}){const[g,b]=ee.useState({x:1,y:0,width:0,height:0}),y=on(["react-flow__edge-textwrapper",f]),_=ee.useRef(null);return ee.useEffect(()=>{if(_.current){const N=_.current.getBBox();b({x:N.x,y:N.y,width:N.width,height:N.height})}},[r]),r?m.jsxs("g",{transform:`translate(${e-g.width/2} ${t-g.height/2})`,className:y,visibility:g.width?"visible":"hidden",...p,children:[s&&m.jsx("rect",{width:g.width+2*c[0],x:-c[0],y:-c[1],height:g.height+2*c[1],className:"react-flow__edge-textbg",style:o,rx:d,ry:d}),m.jsx("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:_,style:a,children:r}),h]}):null}KN.displayName="EdgeText";const _9=ee.memo(KN);function ud({path:e,labelX:t,labelY:r,label:a,labelStyle:s,labelShowBg:o,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:h,interactionWidth:f=20,...p}){return m.jsxs(m.Fragment,{children:[m.jsx("path",{...p,d:e,fill:"none",className:on(["react-flow__edge-path",p.className])}),f?m.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:f,className:"react-flow__edge-interaction"}):null,a&&Rr(t)&&Rr(r)?m.jsx(_9,{x:t,y:r,label:a,labelStyle:s,labelShowBg:o,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:h}):null]})}function V1({pos:e,x1:t,y1:r,x2:a,y2:s}){return e===ze.Left||e===ze.Right?[.5*(t+a),r]:[t,.5*(r+s)]}function ZN({sourceX:e,sourceY:t,sourcePosition:r=ze.Bottom,targetX:a,targetY:s,targetPosition:o=ze.Top}){const[c,d]=V1({pos:r,x1:e,y1:t,x2:a,y2:s}),[h,f]=V1({pos:o,x1:a,y1:s,x2:e,y2:t}),[p,g,b,y]=gN({sourceX:e,sourceY:t,targetX:a,targetY:s,sourceControlX:c,sourceControlY:d,targetControlX:h,targetControlY:f});return[`M${e},${t} C${c},${d} ${h},${f} ${a},${s}`,p,g,b,y]}function QN(e){return ee.memo(({id:t,sourceX:r,sourceY:a,targetX:s,targetY:o,sourcePosition:c,targetPosition:d,label:h,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:b,labelBgBorderRadius:y,style:_,markerEnd:N,markerStart:S,interactionWidth:w})=>{const[C,E,A]=ZN({sourceX:r,sourceY:a,sourcePosition:c,targetX:s,targetY:o,targetPosition:d}),B=e.isInternal?void 0:t;return m.jsx(ud,{id:B,path:C,labelX:E,labelY:A,label:h,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:b,labelBgBorderRadius:y,style:_,markerEnd:N,markerStart:S,interactionWidth:w})})}const w9=QN({isInternal:!1}),WN=QN({isInternal:!0});w9.displayName="SimpleBezierEdge";WN.displayName="SimpleBezierEdgeInternal";function JN(e){return ee.memo(({id:t,sourceX:r,sourceY:a,targetX:s,targetY:o,label:c,labelStyle:d,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:b,sourcePosition:y=ze.Bottom,targetPosition:_=ze.Top,markerEnd:N,markerStart:S,pathOptions:w,interactionWidth:C})=>{const[E,A,B]=mp({sourceX:r,sourceY:a,sourcePosition:y,targetX:s,targetY:o,targetPosition:_,borderRadius:w==null?void 0:w.borderRadius,offset:w==null?void 0:w.offset,stepPosition:w==null?void 0:w.stepPosition}),R=e.isInternal?void 0:t;return m.jsx(ud,{id:R,path:E,labelX:A,labelY:B,label:c,labelStyle:d,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:b,markerEnd:N,markerStart:S,interactionWidth:C})})}const e2=JN({isInternal:!1}),t2=JN({isInternal:!0});e2.displayName="SmoothStepEdge";t2.displayName="SmoothStepEdgeInternal";function n2(e){return ee.memo(({id:t,...r})=>{var s;const a=e.isInternal?void 0:t;return m.jsx(e2,{...r,id:a,pathOptions:ee.useMemo(()=>{var o;return{borderRadius:0,offset:(o=r.pathOptions)==null?void 0:o.offset}},[(s=r.pathOptions)==null?void 0:s.offset])})})}const E9=n2({isInternal:!1}),r2=n2({isInternal:!0});E9.displayName="StepEdge";r2.displayName="StepEdgeInternal";function i2(e){return ee.memo(({id:t,sourceX:r,sourceY:a,targetX:s,targetY:o,label:c,labelStyle:d,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:b,markerEnd:y,markerStart:_,interactionWidth:N})=>{const[S,w,C]=yN({sourceX:r,sourceY:a,targetX:s,targetY:o}),E=e.isInternal?void 0:t;return m.jsx(ud,{id:E,path:S,labelX:w,labelY:C,label:c,labelStyle:d,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:b,markerEnd:y,markerStart:_,interactionWidth:N})})}const N9=i2({isInternal:!1}),a2=i2({isInternal:!0});N9.displayName="StraightEdge";a2.displayName="StraightEdgeInternal";function s2(e){return ee.memo(({id:t,sourceX:r,sourceY:a,targetX:s,targetY:o,sourcePosition:c=ze.Bottom,targetPosition:d=ze.Top,label:h,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:b,labelBgBorderRadius:y,style:_,markerEnd:N,markerStart:S,pathOptions:w,interactionWidth:C})=>{const[E,A,B]=xN({sourceX:r,sourceY:a,sourcePosition:c,targetX:s,targetY:o,targetPosition:d,curvature:w==null?void 0:w.curvature}),R=e.isInternal?void 0:t;return m.jsx(ud,{id:R,path:E,labelX:A,labelY:B,label:h,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:b,labelBgBorderRadius:y,style:_,markerEnd:N,markerStart:S,interactionWidth:C})})}const S9=s2({isInternal:!1}),l2=s2({isInternal:!0});S9.displayName="BezierEdge";l2.displayName="BezierEdgeInternal";const Y1={default:l2,straight:a2,step:r2,smoothstep:t2,simplebezier:WN},X1={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},k9=(e,t,r)=>r===ze.Left?e-t:r===ze.Right?e+t:e,C9=(e,t,r)=>r===ze.Top?e-t:r===ze.Bottom?e+t:e,K1="react-flow__edgeupdater";function Z1({position:e,centerX:t,centerY:r,radius:a=10,onMouseDown:s,onMouseEnter:o,onMouseOut:c,type:d}){return m.jsx("circle",{onMouseDown:s,onMouseEnter:o,onMouseOut:c,className:on([K1,`${K1}-${d}`]),cx:k9(t,a,e),cy:C9(r,a,e),r:a,stroke:"transparent",fill:"transparent"})}function T9({isReconnectable:e,reconnectRadius:t,edge:r,sourceX:a,sourceY:s,targetX:o,targetY:c,sourcePosition:d,targetPosition:h,onReconnect:f,onReconnectStart:p,onReconnectEnd:g,setReconnecting:b,setUpdateHover:y}){const _=Lt(),N=(A,B)=>{if(A.button!==0)return;const{autoPanOnConnect:R,domNode:H,connectionMode:z,connectionRadius:Y,lib:j,onConnectStart:I,cancelConnection:Z,nodeLookup:P,rfId:k,panBy:$,updateConnection:O}=_.getState(),U=B.type==="target",K=(L,F)=>{b(!1),g==null||g(L,r,B.type,F)},X=L=>f==null?void 0:f(r,L),M=(L,F)=>{b(!0),p==null||p(A,r,B.type),I==null||I(L,F)};xp.onPointerDown(A.nativeEvent,{autoPanOnConnect:R,connectionMode:z,connectionRadius:Y,domNode:H,handleId:B.id,nodeId:B.nodeId,nodeLookup:P,isTarget:U,edgeUpdaterType:B.type,lib:j,flowId:k,cancelConnection:Z,panBy:$,isValidConnection:(...L)=>{var F,D;return((D=(F=_.getState()).isValidConnection)==null?void 0:D.call(F,...L))??!0},onConnect:X,onConnectStart:M,onConnectEnd:(...L)=>{var F,D;return(D=(F=_.getState()).onConnectEnd)==null?void 0:D.call(F,...L)},onReconnectEnd:K,updateConnection:O,getTransform:()=>_.getState().transform,getFromHandle:()=>_.getState().connection.fromHandle,dragThreshold:_.getState().connectionDragThreshold,handleDomNode:A.currentTarget})},S=A=>N(A,{nodeId:r.target,id:r.targetHandle??null,type:"target"}),w=A=>N(A,{nodeId:r.source,id:r.sourceHandle??null,type:"source"}),C=()=>y(!0),E=()=>y(!1);return m.jsxs(m.Fragment,{children:[(e===!0||e==="source")&&m.jsx(Z1,{position:d,centerX:a,centerY:s,radius:t,onMouseDown:S,onMouseEnter:C,onMouseOut:E,type:"source"}),(e===!0||e==="target")&&m.jsx(Z1,{position:h,centerX:o,centerY:c,radius:t,onMouseDown:w,onMouseEnter:C,onMouseOut:E,type:"target"})]})}function A9({id:e,edgesFocusable:t,edgesReconnectable:r,elementsSelectable:a,onClick:s,onDoubleClick:o,onContextMenu:c,onMouseEnter:d,onMouseMove:h,onMouseLeave:f,reconnectRadius:p,onReconnect:g,onReconnectStart:b,onReconnectEnd:y,rfId:_,edgeTypes:N,noPanClassName:S,onError:w,disableKeyboardA11y:C}){let E=dt(xe=>xe.edgeLookup.get(e));const A=dt(xe=>xe.defaultEdgeOptions);E=A?{...A,...E}:E;let B=E.type||"default",R=(N==null?void 0:N[B])||Y1[B];R===void 0&&(w==null||w("011",Lr.error011(B)),B="default",R=(N==null?void 0:N.default)||Y1.default);const H=!!(E.focusable||t&&typeof E.focusable>"u"),z=typeof g<"u"&&(E.reconnectable||r&&typeof E.reconnectable>"u"),Y=!!(E.selectable||a&&typeof E.selectable>"u"),j=ee.useRef(null),[I,Z]=ee.useState(!1),[P,k]=ee.useState(!1),$=Lt(),{zIndex:O=E.zIndex,sourceX:U,sourceY:K,targetX:X,targetY:M,sourcePosition:L,targetPosition:F}=dt(ee.useCallback(xe=>{const we=xe.nodeLookup.get(E.source),Ne=xe.nodeLookup.get(E.target);if(!we||!Ne)return X1;const De=xI({id:e,sourceNode:we,targetNode:Ne,sourceHandle:E.sourceHandle||null,targetHandle:E.targetHandle||null,connectionMode:xe.connectionMode,onError:w}),$e=cI({selected:E.selected,zIndex:E.zIndex,sourceNode:we,targetNode:Ne,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode});return{...De||X1,zIndex:$e}},[E.source,E.target,E.sourceHandle,E.targetHandle,E.selected,E.zIndex]),qt),D=ee.useMemo(()=>E.markerStart?`url('#${pp(E.markerStart,_)}')`:void 0,[E.markerStart,_]),V=ee.useMemo(()=>E.markerEnd?`url('#${pp(E.markerEnd,_)}')`:void 0,[E.markerEnd,_]);if(E.hidden||U===null||K===null||X===null||M===null)return null;const q=xe=>{var $e;const{addSelectedEdges:we,unselectNodesAndEdges:Ne,multiSelectionActive:De}=$.getState();Y&&($.setState({nodesSelectionActive:!1}),E.selected&&De?(Ne({nodes:[],edges:[E]}),($e=j.current)==null||$e.blur()):we([e])),s&&s(xe,E)},Q=o?xe=>{o(xe,{...E})}:void 0,J=c?xe=>{c(xe,{...E})}:void 0,W=d?xe=>{d(xe,{...E})}:void 0,te=h?xe=>{h(xe,{...E})}:void 0,oe=f?xe=>{f(xe,{...E})}:void 0,fe=xe=>{var we;if(!C&&tN.includes(xe.key)&&Y){const{unselectNodesAndEdges:Ne,addSelectedEdges:De}=$.getState();xe.key==="Escape"?((we=j.current)==null||we.blur(),Ne({edges:[E]})):De([e])}};return m.jsx("svg",{style:{zIndex:O},children:m.jsxs("g",{className:on(["react-flow__edge",`react-flow__edge-${B}`,E.className,S,{selected:E.selected,animated:E.animated,inactive:!Y&&!s,updating:I,selectable:Y}]),onClick:q,onDoubleClick:Q,onContextMenu:J,onMouseEnter:W,onMouseMove:te,onMouseLeave:oe,onKeyDown:H?fe:void 0,tabIndex:H?0:void 0,role:E.ariaRole??(H?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":E.ariaLabel===null?void 0:E.ariaLabel||`Edge from ${E.source} to ${E.target}`,"aria-describedby":H?`${DN}-${_}`:void 0,ref:j,...E.domAttributes,children:[!P&&m.jsx(R,{id:e,source:E.source,target:E.target,type:E.type,selected:E.selected,animated:E.animated,selectable:Y,deletable:E.deletable??!0,label:E.label,labelStyle:E.labelStyle,labelShowBg:E.labelShowBg,labelBgStyle:E.labelBgStyle,labelBgPadding:E.labelBgPadding,labelBgBorderRadius:E.labelBgBorderRadius,sourceX:U,sourceY:K,targetX:X,targetY:M,sourcePosition:L,targetPosition:F,data:E.data,style:E.style,sourceHandleId:E.sourceHandle,targetHandleId:E.targetHandle,markerStart:D,markerEnd:V,pathOptions:"pathOptions"in E?E.pathOptions:void 0,interactionWidth:E.interactionWidth}),z&&m.jsx(T9,{edge:E,isReconnectable:z,reconnectRadius:p,onReconnect:g,onReconnectStart:b,onReconnectEnd:y,sourceX:U,sourceY:K,targetX:X,targetY:M,sourcePosition:L,targetPosition:F,setUpdateHover:Z,setReconnecting:k})]})})}var M9=ee.memo(A9);const O9=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function o2({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:r,edgeTypes:a,noPanClassName:s,onReconnect:o,onEdgeContextMenu:c,onEdgeMouseEnter:d,onEdgeMouseMove:h,onEdgeMouseLeave:f,onEdgeClick:p,reconnectRadius:g,onEdgeDoubleClick:b,onReconnectStart:y,onReconnectEnd:_,disableKeyboardA11y:N}){const{edgesFocusable:S,edgesReconnectable:w,elementsSelectable:C,onError:E}=dt(O9,qt),A=p9(t);return m.jsxs("div",{className:"react-flow__edges",children:[m.jsx(v9,{defaultColor:e,rfId:r}),A.map(B=>m.jsx(M9,{id:B,edgesFocusable:S,edgesReconnectable:w,elementsSelectable:C,noPanClassName:s,onReconnect:o,onContextMenu:c,onMouseEnter:d,onMouseMove:h,onMouseLeave:f,onClick:p,reconnectRadius:g,onDoubleClick:b,onReconnectStart:y,onReconnectEnd:_,rfId:r,onError:E,edgeTypes:a,disableKeyboardA11y:N},B))]})}o2.displayName="EdgeRenderer";const R9=ee.memo(o2),Q1=e=>`translate(${e[0]}px,${e[1]}px) scale(${e[2]})`;function j9({children:e}){const t=Lt(),r=ee.useRef(null),[a]=ee.useState(()=>t.getState().transform);return HN(()=>{let s=null;const o=()=>{const c=t.getState().transform;s&&c[0]===s[0]&&c[1]===s[1]&&c[2]===s[2]||(s=c,r.current&&(r.current.style.transform=Q1(c)))};return o(),t.subscribe(o)},[t]),m.jsx("div",{ref:r,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:Q1(a)},children:e})}function D9(e){const t=qo(),r=ee.useRef(!1);ee.useEffect(()=>{!r.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),r.current=!0)},[e,t.viewportInitialized])}const L9=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function z9(e){const t=dt(L9),r=Lt();return ee.useEffect(()=>{e&&(t==null||t(e),r.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function I9(e){return e.connection.inProgress?{...e.connection,to:$o(e.connection.to,e.transform)}:{...e.connection}}function B9(e){return I9}function U9(e){const t=B9();return dt(t,qt)}const H9=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function $9({containerStyle:e,style:t,type:r,component:a}){const{nodesConnectable:s,width:o,height:c,isValid:d,inProgress:h}=dt(H9,qt);return!(o&&s&&h)?null:m.jsx("svg",{style:e,width:o,height:c,className:"react-flow__connectionline react-flow__container",children:m.jsx("g",{className:on(["react-flow__connection",iN(d)]),children:m.jsx(c2,{style:t,type:r,CustomComponent:a,isValid:d})})})}const c2=({style:e,type:t=ua.Bezier,CustomComponent:r,isValid:a})=>{const{inProgress:s,from:o,fromNode:c,fromHandle:d,fromPosition:h,to:f,toNode:p,toHandle:g,toPosition:b,pointer:y}=U9();if(!s)return;if(r)return m.jsx(r,{connectionLineType:t,connectionLineStyle:e,fromNode:c,fromHandle:d,fromX:o.x,fromY:o.y,toX:f.x,toY:f.y,fromPosition:h,toPosition:b,connectionStatus:iN(a),toNode:p,toHandle:g,pointer:y});let _="";const N={sourceX:o.x,sourceY:o.y,sourcePosition:h,targetX:f.x,targetY:f.y,targetPosition:b};switch(t){case ua.Bezier:[_]=xN(N);break;case ua.SimpleBezier:[_]=ZN(N);break;case ua.Step:[_]=mp({...N,borderRadius:0});break;case ua.SmoothStep:[_]=mp(N);break;default:[_]=yN(N)}return m.jsx("path",{d:_,fill:"none",className:"react-flow__connection-path",style:e})};c2.displayName="ConnectionLine";const q9={};function W1(e=q9){ee.useRef(e),Lt(),ee.useEffect(()=>{},[e])}function P9(){Lt(),ee.useRef(!1),ee.useEffect(()=>{},[])}function u2({nodeTypes:e,edgeTypes:t,onInit:r,onNodeClick:a,onEdgeClick:s,onNodeDoubleClick:o,onEdgeDoubleClick:c,onNodeMouseEnter:d,onNodeMouseMove:h,onNodeMouseLeave:f,onNodeContextMenu:p,onSelectionContextMenu:g,onSelectionStart:b,onSelectionEnd:y,connectionLineType:_,connectionLineStyle:N,connectionLineComponent:S,connectionLineContainerStyle:w,selectionKeyCode:C,selectionOnDrag:E,selectionMode:A,multiSelectionKeyCode:B,panActivationKeyCode:R,zoomActivationKeyCode:H,deleteKeyCode:z,onlyRenderVisibleElements:Y,elementsSelectable:j,defaultViewport:I,translateExtent:Z,minZoom:P,maxZoom:k,preventScrolling:$,defaultMarkerColor:O,zoomOnScroll:U,zoomOnPinch:K,panOnScroll:X,panOnScrollSpeed:M,panOnScrollMode:L,zoomOnDoubleClick:F,panOnDrag:D,autoPanOnSelection:V,onPaneClick:q,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:W,onPaneScroll:te,onPaneContextMenu:oe,paneClickDistance:fe,nodeClickDistance:xe,onEdgeContextMenu:we,onEdgeMouseEnter:Ne,onEdgeMouseMove:De,onEdgeMouseLeave:$e,reconnectRadius:st,onReconnect:Rt,onReconnectStart:Xt,onReconnectEnd:Pt,noDragClassName:Kt,noWheelClassName:Yn,noPanClassName:Nn,disableKeyboardA11y:ct,nodeExtent:It,rfId:ue,viewport:be,onViewportChange:Oe,nodesDraggable:Fe}){return W1(e),W1(t),P9(),D9(r),z9(be),m.jsx(a9,{onPaneClick:q,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:W,onPaneContextMenu:oe,onPaneScroll:te,paneClickDistance:fe,deleteKeyCode:z,selectionKeyCode:C,selectionOnDrag:E,selectionMode:A,onSelectionStart:b,onSelectionEnd:y,multiSelectionKeyCode:B,panActivationKeyCode:R,zoomActivationKeyCode:H,elementsSelectable:j,zoomOnScroll:U,zoomOnPinch:K,zoomOnDoubleClick:F,panOnScroll:X,panOnScrollSpeed:M,panOnScrollMode:L,panOnDrag:D,autoPanOnSelection:V,defaultViewport:I,translateExtent:Z,minZoom:P,maxZoom:k,onSelectionContextMenu:g,preventScrolling:$,noDragClassName:Kt,noWheelClassName:Yn,noPanClassName:Nn,disableKeyboardA11y:ct,onViewportChange:Oe,isControlledViewport:!!be,children:m.jsxs(j9,{children:[m.jsx(R9,{edgeTypes:t,onEdgeClick:s,onEdgeDoubleClick:c,onReconnect:Rt,onReconnectStart:Xt,onReconnectEnd:Pt,onlyRenderVisibleElements:Y,onEdgeContextMenu:we,onEdgeMouseEnter:Ne,onEdgeMouseMove:De,onEdgeMouseLeave:$e,reconnectRadius:st,defaultMarkerColor:O,noPanClassName:Nn,disableKeyboardA11y:ct,rfId:ue}),m.jsx($9,{style:N,type:_,component:S,containerStyle:w}),m.jsx("div",{className:"react-flow__edgelabel-renderer"}),m.jsx(m9,{nodeTypes:e,onNodeClick:a,onNodeDoubleClick:o,onNodeMouseEnter:d,onNodeMouseMove:h,onNodeMouseLeave:f,onNodeContextMenu:p,nodeClickDistance:xe,onlyRenderVisibleElements:Y,noPanClassName:Nn,noDragClassName:Kt,disableKeyboardA11y:ct,nodeExtent:It,rfId:ue,nodesDraggable:Fe}),m.jsx("div",{className:"react-flow__viewport-portal"})]})})}u2.displayName="GraphView";const F9=ee.memo(u2),G9=uN(),J1=({nodes:e,edges:t,defaultNodes:r,defaultEdges:a,width:s,height:o,fitView:c,fitViewOptions:d,minZoom:h=.5,maxZoom:f=2,nodeOrigin:p,nodeExtent:g,zIndexMode:b="basic"}={})=>{const y=new Map,_=new Map,N=new Map,S=new Map,w=a??t??[],C=r??e??[],E=p??[0,0],A=g??No;wN(N,S,w);const{nodesInitialized:B}=gp(C,y,_,{nodeOrigin:E,nodeExtent:A,zIndexMode:b});let R=[0,0,1];if(c&&s&&o){const H=Uo(y,{filter:I=>!!((I.width||I.initialWidth)&&(I.height||I.initialHeight))}),{x:z,y:Y,zoom:j}=ug(H,s,o,h,f,(d==null?void 0:d.padding)??.1);R=[z,Y,j]}return{rfId:"1",width:s??0,height:o??0,transform:R,nodes:C,nodesInitialized:B,nodeLookup:y,parentLookup:_,edges:w,edgeLookup:S,connectionLookup:N,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:r!==void 0,hasDefaultEdges:a!==void 0,panZoom:null,minZoom:h,maxZoom:f,translateExtent:No,nodeExtent:A,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Qs.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:E,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:c??!1,fitViewOptions:d,fitViewResolver:null,connection:{...rN},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:G9,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:nN,zIndexMode:b,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},V9=({nodes:e,edges:t,defaultNodes:r,defaultEdges:a,width:s,height:o,fitView:c,fitViewOptions:d,minZoom:h,maxZoom:f,nodeOrigin:p,nodeExtent:g,zIndexMode:b})=>s8((y,_)=>{async function N(){const{nodeLookup:S,panZoom:w,fitViewOptions:C,fitViewResolver:E,width:A,height:B,minZoom:R,maxZoom:H}=_();w&&(await nI({nodes:S,width:A,height:B,panZoom:w,minZoom:R,maxZoom:H},C),E==null||E.resolve(!0),y({fitViewResolver:null}))}return{...J1({nodes:e,edges:t,width:s,height:o,fitView:c,fitViewOptions:d,minZoom:h,maxZoom:f,nodeOrigin:p,nodeExtent:g,defaultNodes:r,defaultEdges:a,zIndexMode:b}),setNodes:S=>{const{nodeLookup:w,parentLookup:C,nodeOrigin:E,elevateNodesOnSelect:A,fitViewQueued:B,zIndexMode:R,nodesSelectionActive:H}=_(),{nodesInitialized:z,hasSelectedNodes:Y}=gp(S,w,C,{nodeOrigin:E,nodeExtent:g,elevateNodesOnSelect:A,checkEquality:!0,zIndexMode:R}),j=H&&Y;B&&z?(N(),y({nodes:S,nodesInitialized:z,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:j})):y({nodes:S,nodesInitialized:z,nodesSelectionActive:j})},setEdges:S=>{const{connectionLookup:w,edgeLookup:C}=_();wN(w,C,S),y({edges:S})},setDefaultNodesAndEdges:(S,w)=>{if(S){const{setNodes:C}=_();C(S),y({hasDefaultNodes:!0})}if(w){const{setEdges:C}=_();C(w),y({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:w,nodeLookup:C,parentLookup:E,domNode:A,nodeOrigin:B,nodeExtent:R,debug:H,fitViewQueued:z,zIndexMode:Y}=_(),{changes:j,updatedInternals:I}=SI(S,C,E,A,B,R,Y);I&&(_I(C,E,{nodeOrigin:B,nodeExtent:R,zIndexMode:Y}),z?(N(),y({fitViewQueued:!1,fitViewOptions:void 0})):y({}),(j==null?void 0:j.length)>0&&(H&&console.log("React Flow: trigger node changes",j),w==null||w(j)))},updateNodePositions:(S,w=!1)=>{const C=[];let E=[];const{nodeLookup:A,triggerNodeChanges:B,connection:R,updateConnection:H,onNodesChangeMiddlewareMap:z}=_();for(const[Y,j]of S){const I=A.get(Y),Z=!!(I!=null&&I.expandParent&&(I!=null&&I.parentId)&&(j!=null&&j.position)),P={id:Y,type:"position",position:Z?{x:Math.max(0,j.position.x),y:Math.max(0,j.position.y)}:j.position,dragging:w};if(I&&R.inProgress&&R.fromNode.id===I.id){const k=Qa(I,R.fromHandle,ze.Left,!0);H({...R,from:k})}Z&&I.parentId&&C.push({id:Y,parentId:I.parentId,rect:{...j.internals.positionAbsolute,width:j.measured.width??0,height:j.measured.height??0}}),E.push(P)}if(C.length>0){const{parentLookup:Y,nodeOrigin:j}=_(),I=gg(C,A,Y,j);E.push(...I)}for(const Y of z.values())E=Y(E);B(E)},triggerNodeChanges:S=>{const{onNodesChange:w,setNodes:C,nodes:E,hasDefaultNodes:A,debug:B}=_();if(S!=null&&S.length){if(A){const R=IN(S,E);C(R)}B&&console.log("React Flow: trigger node changes",S),w==null||w(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:w,setEdges:C,edges:E,hasDefaultEdges:A,debug:B}=_();if(S!=null&&S.length){if(A){const R=BN(S,E);C(R)}B&&console.log("React Flow: trigger edge changes",S),w==null||w(S)}},addSelectedNodes:S=>{const{multiSelectionActive:w,edgeLookup:C,nodeLookup:E,triggerNodeChanges:A,triggerEdgeChanges:B}=_();if(w){const R=S.map(H=>Ha(H,!0));A(R);return}A(qs(E,new Set([...S]),!0)),B(qs(C))},addSelectedEdges:S=>{const{multiSelectionActive:w,edgeLookup:C,nodeLookup:E,triggerNodeChanges:A,triggerEdgeChanges:B}=_();if(w){const R=S.map(H=>Ha(H,!0));B(R);return}B(qs(C,new Set([...S]))),A(qs(E,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:w}={})=>{const{edges:C,nodes:E,nodeLookup:A,triggerNodeChanges:B,triggerEdgeChanges:R}=_(),H=S||E,z=w||C,Y=[];for(const I of H){if(!I.selected)continue;const Z=A.get(I.id);Z&&(Z.selected=!1),Y.push(Ha(I.id,!1))}const j=[];for(const I of z)I.selected&&j.push(Ha(I.id,!1));B(Y),R(j)},setMinZoom:S=>{const{panZoom:w,maxZoom:C}=_();w==null||w.setScaleExtent([S,C]),y({minZoom:S})},setMaxZoom:S=>{const{panZoom:w,minZoom:C}=_();w==null||w.setScaleExtent([C,S]),y({maxZoom:S})},setTranslateExtent:S=>{var w;(w=_().panZoom)==null||w.setTranslateExtent(S),y({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:w,triggerNodeChanges:C,triggerEdgeChanges:E,elementsSelectable:A}=_();if(!A)return;const B=w.reduce((H,z)=>z.selected?[...H,Ha(z.id,!1)]:H,[]),R=S.reduce((H,z)=>z.selected?[...H,Ha(z.id,!1)]:H,[]);C(B),E(R)},setNodeExtent:S=>{const{nodes:w,nodeLookup:C,parentLookup:E,nodeOrigin:A,elevateNodesOnSelect:B,nodeExtent:R,zIndexMode:H}=_();S[0][0]===R[0][0]&&S[0][1]===R[0][1]&&S[1][0]===R[1][0]&&S[1][1]===R[1][1]||(gp(w,C,E,{nodeOrigin:A,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:H}),y({nodeExtent:S}))},panBy:S=>{const{transform:w,width:C,height:E,panZoom:A,translateExtent:B}=_();return kI({delta:S,panZoom:A,transform:w,translateExtent:B,width:C,height:E})},setCenter:async(S,w,C)=>{const{width:E,height:A,maxZoom:B,panZoom:R}=_();if(!R)return!1;const H=typeof(C==null?void 0:C.zoom)<"u"?C.zoom:B;return await R.setViewport({x:E/2-S*H,y:A/2-w*H,zoom:H},{duration:C==null?void 0:C.duration,ease:C==null?void 0:C.ease,interpolate:C==null?void 0:C.interpolate}),!0},cancelConnection:()=>{y({connection:{...rN}})},updateConnection:S=>{y({connection:S})},reset:()=>y({...J1()})}},Object.is);function Y9({initialNodes:e,initialEdges:t,defaultNodes:r,defaultEdges:a,initialWidth:s,initialHeight:o,initialMinZoom:c,initialMaxZoom:d,initialFitViewOptions:h,fitView:f,nodeOrigin:p,nodeExtent:g,zIndexMode:b,children:y}){const[_]=ee.useState(()=>V9({nodes:e,edges:t,defaultNodes:r,defaultEdges:a,width:s,height:o,fitView:f,minZoom:c,maxZoom:d,fitViewOptions:h,nodeOrigin:p,nodeExtent:g,zIndexMode:b}));return m.jsx(l8,{value:_,children:m.jsx(O8,{children:m.jsx(V8,{children:y})})})}function X9({children:e,nodes:t,edges:r,defaultNodes:a,defaultEdges:s,width:o,height:c,fitView:d,fitViewOptions:h,minZoom:f,maxZoom:p,nodeOrigin:g,nodeExtent:b,zIndexMode:y}){return ee.useContext(ld)?m.jsx(m.Fragment,{children:e}):m.jsx(Y9,{initialNodes:t,initialEdges:r,defaultNodes:a,defaultEdges:s,initialWidth:o,initialHeight:c,fitView:d,initialFitViewOptions:h,initialMinZoom:f,initialMaxZoom:p,nodeOrigin:g,nodeExtent:b,zIndexMode:y,children:e})}const K9={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Z9({nodes:e,edges:t,defaultNodes:r,defaultEdges:a,className:s,nodeTypes:o,edgeTypes:c,onNodeClick:d,onEdgeClick:h,onInit:f,onMove:p,onMoveStart:g,onMoveEnd:b,onConnect:y,onConnectStart:_,onConnectEnd:N,onClickConnectStart:S,onClickConnectEnd:w,onNodeMouseEnter:C,onNodeMouseMove:E,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:R,onNodeDragStart:H,onNodeDrag:z,onNodeDragStop:Y,onNodesDelete:j,onEdgesDelete:I,onDelete:Z,onSelectionChange:P,onSelectionDragStart:k,onSelectionDrag:$,onSelectionDragStop:O,onSelectionContextMenu:U,onSelectionStart:K,onSelectionEnd:X,onBeforeDelete:M,connectionMode:L,connectionLineType:F=ua.Bezier,connectionLineStyle:D,connectionLineComponent:V,connectionLineContainerStyle:q,deleteKeyCode:Q="Backspace",selectionKeyCode:J="Shift",selectionOnDrag:W=!1,selectionMode:te=So.Full,panActivationKeyCode:oe="Space",multiSelectionKeyCode:fe=Co()?"Meta":"Control",zoomActivationKeyCode:xe=Co()?"Meta":"Control",snapToGrid:we,snapGrid:Ne,onlyRenderVisibleElements:De=!1,selectNodesOnDrag:$e,nodesDraggable:st,autoPanOnNodeFocus:Rt,nodesConnectable:Xt,nodesFocusable:Pt,nodeOrigin:Kt=LN,edgesFocusable:Yn,edgesReconnectable:Nn,elementsSelectable:ct=!0,defaultViewport:It=v8,minZoom:ue=.5,maxZoom:be=2,translateExtent:Oe=No,preventScrolling:Fe=!0,nodeExtent:Ze,defaultMarkerColor:cn="#b1b1b7",zoomOnScroll:Sn=!0,zoomOnPinch:Zt=!0,panOnScroll:At=!1,panOnScrollSpeed:Jt=.5,panOnScrollMode:ut=Fa.Free,zoomOnDoubleClick:In=!0,panOnDrag:un=!0,onPaneClick:Si,onPaneMouseEnter:nt,onPaneMouseMove:Xn,onPaneMouseLeave:On,onPaneScroll:mn,onPaneContextMenu:re,paneClickDistance:me=1,nodeClickDistance:Ee=0,children:Pe,onReconnect:St,onReconnectStart:gt,onReconnectEnd:Me,onEdgeContextMenu:Se,onEdgeDoubleClick:Ue,onEdgeMouseEnter:Bt,onEdgeMouseMove:Mt,onEdgeMouseLeave:vr,reconnectRadius:ki=10,onNodesChange:Ci,onEdgesChange:lr,noDragClassName:Ut="nodrag",noWheelClassName:pn="nowheel",noPanClassName:_r="nopan",fitView:Ti,fitViewOptions:ga,connectOnClick:Ai,attributionPosition:ts,proOptions:Wr,defaultEdgeOptions:xa,elevateNodesOnSelect:bn=!0,elevateEdgesOnSelect:wr=!1,disableKeyboardA11y:Er=!1,autoPanOnConnect:Br,autoPanOnNodeDrag:Ft,autoPanOnSelection:ns=!0,autoPanSpeed:Jr,connectionRadius:Nr,isValidConnection:ye,onError:Le,style:Qe,id:ft,nodeDragThreshold:Ht,connectionDragThreshold:gn,viewport:Rn,onViewportChange:kn,width:_t,height:jn,colorMode:rs="light",debug:Mi,onScroll:Ur,ariaLabelConfig:Oi,zIndexMode:is="basic",...Cn},ba){const Sr=ft||"1",Ri=N8(rs),dn=ee.useCallback(ya=>{ya.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Ur==null||Ur(ya)},[Ur]);return m.jsx("div",{"data-testid":"rf__wrapper",...Cn,onScroll:dn,style:{...Qe,...K9},ref:ba,className:on(["react-flow",s,Ri]),id:ft,role:"application",children:m.jsxs(X9,{nodes:e,edges:t,width:_t,height:jn,fitView:Ti,fitViewOptions:ga,minZoom:ue,maxZoom:be,nodeOrigin:Kt,nodeExtent:Ze,zIndexMode:is,children:[m.jsx(E8,{nodes:e,edges:t,defaultNodes:r,defaultEdges:a,onConnect:y,onConnectStart:_,onConnectEnd:N,onClickConnectStart:S,onClickConnectEnd:w,nodesDraggable:st,autoPanOnNodeFocus:Rt,nodesConnectable:Xt,nodesFocusable:Pt,edgesFocusable:Yn,edgesReconnectable:Nn,elementsSelectable:ct,elevateNodesOnSelect:bn,elevateEdgesOnSelect:wr,minZoom:ue,maxZoom:be,nodeExtent:Ze,onNodesChange:Ci,onEdgesChange:lr,snapToGrid:we,snapGrid:Ne,connectionMode:L,translateExtent:Oe,connectOnClick:Ai,defaultEdgeOptions:xa,fitView:Ti,fitViewOptions:ga,onNodesDelete:j,onEdgesDelete:I,onDelete:Z,onNodeDragStart:H,onNodeDrag:z,onNodeDragStop:Y,onSelectionDrag:$,onSelectionDragStart:k,onSelectionDragStop:O,onMove:p,onMoveStart:g,onMoveEnd:b,noPanClassName:_r,nodeOrigin:Kt,rfId:Sr,autoPanOnConnect:Br,autoPanOnNodeDrag:Ft,autoPanSpeed:Jr,onError:Le,connectionRadius:Nr,isValidConnection:ye,selectNodesOnDrag:$e,nodeDragThreshold:Ht,connectionDragThreshold:gn,onBeforeDelete:M,debug:Mi,ariaLabelConfig:Oi,zIndexMode:is}),m.jsx(F9,{onInit:f,onNodeClick:d,onEdgeClick:h,onNodeMouseEnter:C,onNodeMouseMove:E,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:R,nodeTypes:o,edgeTypes:c,connectionLineType:F,connectionLineStyle:D,connectionLineComponent:V,connectionLineContainerStyle:q,selectionKeyCode:J,selectionOnDrag:W,selectionMode:te,deleteKeyCode:Q,multiSelectionKeyCode:fe,panActivationKeyCode:oe,zoomActivationKeyCode:xe,onlyRenderVisibleElements:De,defaultViewport:It,translateExtent:Oe,minZoom:ue,maxZoom:be,preventScrolling:Fe,zoomOnScroll:Sn,zoomOnPinch:Zt,zoomOnDoubleClick:In,panOnScroll:At,panOnScrollSpeed:Jt,panOnScrollMode:ut,panOnDrag:un,autoPanOnSelection:ns,onPaneClick:Si,onPaneMouseEnter:nt,onPaneMouseMove:Xn,onPaneMouseLeave:On,onPaneScroll:mn,onPaneContextMenu:re,paneClickDistance:me,nodeClickDistance:Ee,onSelectionContextMenu:U,onSelectionStart:K,onSelectionEnd:X,onReconnect:St,onReconnectStart:gt,onReconnectEnd:Me,onEdgeContextMenu:Se,onEdgeDoubleClick:Ue,onEdgeMouseEnter:Bt,onEdgeMouseMove:Mt,onEdgeMouseLeave:vr,reconnectRadius:ki,defaultMarkerColor:cn,noDragClassName:Ut,noWheelClassName:pn,noPanClassName:_r,rfId:Sr,disableKeyboardA11y:Er,nodeExtent:Ze,viewport:Rn,onViewportChange:kn,nodesDraggable:st}),m.jsx(y8,{onSelectionChange:P}),Pe,m.jsx(m8,{proOptions:Wr,position:ts}),m.jsx(h8,{rfId:Sr,disableKeyboardA11y:Er})]})})}var Q9=UN(Z9);function W9(e){const[t,r]=ee.useState(e),a=ee.useCallback(s=>r(o=>IN(s,o)),[]);return[t,r,a]}function J9(e){const[t,r]=ee.useState(e),a=ee.useCallback(s=>r(o=>BN(s,o)),[]);return[t,r,a]}function eB({dimensions:e,lineWidth:t,variant:r,className:a}){return m.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:on(["react-flow__background-pattern",r,a])})}function tB({radius:e,className:t}){return m.jsx("circle",{cx:e,cy:e,r:e,className:on(["react-flow__background-pattern","dots",t])})}var ha;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ha||(ha={}));const nB={[ha.Dots]:1,[ha.Lines]:1,[ha.Cross]:6},rB=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function d2({id:e,variant:t=ha.Dots,gap:r=20,size:a,lineWidth:s=1,offset:o=0,color:c,bgColor:d,style:h,className:f,patternClassName:p}){const g=ee.useRef(null),{transform:b,patternId:y}=dt(rB,qt),_=a||nB[t],N=t===ha.Dots,S=t===ha.Cross,w=Array.isArray(r)?r:[r,r],C=[w[0]*b[2]||1,w[1]*b[2]||1],E=_*b[2],A=Array.isArray(o)?o:[o,o],B=S?[E,E]:C,R=[A[0]*b[2]||1+B[0]/2,A[1]*b[2]||1+B[1]/2],H=`${y}${e||""}`;return m.jsxs("svg",{className:on(["react-flow__background",f]),style:{...h,...cd,"--xy-background-color-props":d,"--xy-background-pattern-color-props":c},ref:g,"data-testid":"rf__background",children:[m.jsx("pattern",{id:H,x:b[0]%C[0],y:b[1]%C[1],width:C[0],height:C[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${R[0]},-${R[1]})`,children:N?m.jsx(tB,{radius:E/2,className:p}):m.jsx(eB,{dimensions:B,lineWidth:s,variant:t,className:p})}),m.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${H})`})]})}d2.displayName="Background";const iB=ee.memo(d2);function aB(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:m.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function sB(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:m.jsx("path",{d:"M0 0h32v4.2H0z"})})}function lB(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:m.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 oB(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:m.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 cB(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:m.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 mu({children:e,className:t,...r}){return m.jsx("button",{type:"button",className:on(["react-flow__controls-button",t]),...r,children:e})}const uB=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function f2({style:e,showZoom:t=!0,showFitView:r=!0,showInteractive:a=!0,fitViewOptions:s,onZoomIn:o,onZoomOut:c,onFitView:d,onInteractiveChange:h,className:f,children:p,position:g="bottom-left",orientation:b="vertical","aria-label":y}){const _=Lt(),{isInteractive:N,minZoomReached:S,maxZoomReached:w,ariaLabelConfig:C}=dt(uB,qt),{zoomIn:E,zoomOut:A,fitView:B}=qo(),R=()=>{E(),o==null||o()},H=()=>{A(),c==null||c()},z=()=>{B(s),d==null||d()},Y=()=>{_.setState({nodesDraggable:!N,nodesConnectable:!N,elementsSelectable:!N}),h==null||h(!N)},j=b==="horizontal"?"horizontal":"vertical";return m.jsxs(od,{className:on(["react-flow__controls",j,f]),position:g,style:e,"data-testid":"rf__controls","aria-label":y??C["controls.ariaLabel"],children:[t&&m.jsxs(m.Fragment,{children:[m.jsx(mu,{onClick:R,className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:w,children:m.jsx(aB,{})}),m.jsx(mu,{onClick:H,className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:S,children:m.jsx(sB,{})})]}),r&&m.jsx(mu,{className:"react-flow__controls-fitview",onClick:z,title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:m.jsx(lB,{})}),a&&m.jsx(mu,{className:"react-flow__controls-interactive",onClick:Y,title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:N?m.jsx(cB,{}):m.jsx(oB,{})}),p]})}f2.displayName="Controls";const dB=ee.memo(f2);function fB({id:e,x:t,y:r,width:a,height:s,style:o,color:c,strokeColor:d,strokeWidth:h,className:f,borderRadius:p,shapeRendering:g,selected:b,onClick:y}){const{background:_,backgroundColor:N}=o||{},S=c||_||N;return m.jsx("rect",{className:on(["react-flow__minimap-node",{selected:b},f]),x:t,y:r,rx:p,ry:p,width:a,height:s,style:{fill:S,stroke:d,strokeWidth:h},shapeRendering:g,onClick:y?w=>y(w,e):void 0})}const hB=ee.memo(fB),mB=e=>e.nodes.map(t=>t.id),Dm=e=>e instanceof Function?e:()=>e;function pB({nodeStrokeColor:e,nodeColor:t,nodeClassName:r="",nodeBorderRadius:a=5,nodeStrokeWidth:s,nodeComponent:o=hB,onClick:c}){const d=dt(mB,qt),h=Dm(t),f=Dm(e),p=Dm(r),g=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return m.jsx(m.Fragment,{children:d.map(b=>m.jsx(xB,{id:b,nodeColorFunc:h,nodeStrokeColorFunc:f,nodeClassNameFunc:p,nodeBorderRadius:a,nodeStrokeWidth:s,NodeComponent:o,onClick:c,shapeRendering:g},b))})}function gB({id:e,nodeColorFunc:t,nodeStrokeColorFunc:r,nodeClassNameFunc:a,nodeBorderRadius:s,nodeStrokeWidth:o,shapeRendering:c,NodeComponent:d,onClick:h}){const{node:f,x:p,y:g,width:b,height:y}=dt(_=>{const N=_.nodeLookup.get(e);if(!N)return{node:void 0,x:0,y:0,width:0,height:0};const S=N.internals.userNode,{x:w,y:C}=N.internals.positionAbsolute,{width:E,height:A}=Qr(S);return{node:S,x:w,y:C,width:E,height:A}},qt);return!f||f.hidden||!dN(f)?null:m.jsx(d,{x:p,y:g,width:b,height:y,style:f.style,selected:!!f.selected,className:a(f),color:t(f),borderRadius:s,strokeColor:r(f),strokeWidth:o,shapeRendering:c,onClick:h,id:f.id})}const xB=ee.memo(gB);var bB=ee.memo(pB);const yB=200,vB=150,_B=e=>!e.hidden,wB=e=>{const t={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:t,boundingRect:e.nodeLookup.size>0?oN(Uo(e.nodeLookup,{filter:_B}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},e_=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,EB=(e,t)=>e_(e.viewBB,t.viewBB)&&e_(e.boundingRect,t.boundingRect)&&e.rfId===t.rfId&&e.panZoom===t.panZoom&&e.translateExtent===t.translateExtent&&e.flowWidth===t.flowWidth&&e.flowHeight===t.flowHeight&&e.ariaLabelConfig===t.ariaLabelConfig,NB="react-flow__minimap-desc";function h2({style:e,className:t,nodeStrokeColor:r,nodeColor:a,nodeClassName:s="",nodeBorderRadius:o=5,nodeStrokeWidth:c,nodeComponent:d,bgColor:h,maskColor:f,maskStrokeColor:p,maskStrokeWidth:g,position:b="bottom-right",onClick:y,onNodeClick:_,pannable:N=!1,zoomable:S=!1,ariaLabel:w,inversePan:C,zoomStep:E=1,offsetScale:A=5}){const B=Lt(),R=ee.useRef(null),{boundingRect:H,viewBB:z,rfId:Y,panZoom:j,translateExtent:I,flowWidth:Z,flowHeight:P,ariaLabelConfig:k}=dt(wB,EB),$=(e==null?void 0:e.width)??yB,O=(e==null?void 0:e.height)??vB,U=H.width/$,K=H.height/O,X=Math.max(U,K),M=X*$,L=X*O,F=A*X,D=H.x-(M-H.width)/2-F,V=H.y-(L-H.height)/2-F,q=M+F*2,Q=L+F*2,J=`${NB}-${Y}`,W=ee.useRef(0),te=ee.useRef();W.current=X,ee.useEffect(()=>{if(R.current&&j)return te.current=LI({domNode:R.current,panZoom:j,getTransform:()=>B.getState().transform,getViewScale:()=>W.current}),()=>{var we;(we=te.current)==null||we.destroy()}},[j]),ee.useEffect(()=>{var we;(we=te.current)==null||we.update({translateExtent:I,width:Z,height:P,inversePan:C,pannable:N,zoomStep:E,zoomable:S})},[N,S,C,E,I,Z,P]);const oe=y?we=>{var $e;const[Ne,De]=(($e=te.current)==null?void 0:$e.pointer(we))||[0,0];y(we,{x:Ne,y:De})}:void 0,fe=_?ee.useCallback((we,Ne)=>{const De=B.getState().nodeLookup.get(Ne).internals.userNode;_(we,De)},[]):void 0,xe=w??k["minimap.ariaLabel"];return m.jsx(od,{position:b,style:{...e,"--xy-minimap-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-background-color-props":typeof f=="string"?f:void 0,"--xy-minimap-mask-stroke-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-stroke-width-props":typeof g=="number"?g*X:void 0,"--xy-minimap-node-background-color-props":typeof a=="string"?a:void 0,"--xy-minimap-node-stroke-color-props":typeof r=="string"?r:void 0,"--xy-minimap-node-stroke-width-props":typeof c=="number"?c:void 0},className:on(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:m.jsxs("svg",{width:$,height:O,viewBox:`${D} ${V} ${q} ${Q}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":J,ref:R,onClick:oe,children:[xe&&m.jsx("title",{id:J,children:xe}),m.jsx(bB,{onClick:fe,nodeColor:a,nodeStrokeColor:r,nodeBorderRadius:o,nodeClassName:s,nodeStrokeWidth:c,nodeComponent:d}),m.jsx("path",{className:"react-flow__minimap-mask",d:`M${D-F},${V-F}h${q+F*2}v${Q+F*2}h${-q-F*2}z - M${z.x},${z.y}h${z.width}v${z.height}h${-z.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}h2.displayName="MiniMap";const SB=ee.memo(h2),kB=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,CB={[el.Line]:"right",[el.Handle]:"bottom-right"};function TB({nodeId:e,position:t,variant:r=el.Handle,className:a,style:s=void 0,children:o,color:c,minWidth:d=10,minHeight:h=10,maxWidth:f=Number.MAX_VALUE,maxHeight:p=Number.MAX_VALUE,keepAspectRatio:g=!1,resizeDirection:b,autoScale:y=!0,shouldResize:_,onResizeStart:N,onResize:S,onResizeEnd:w}){const C=FN(),E=typeof e=="string"?e:C,A=Lt(),B=ee.useRef(null),R=r===el.Handle,H=dt(ee.useCallback(kB(R&&y),[R,y]),qt),z=ee.useRef(null),Y=t??CB[r];ee.useEffect(()=>{if(!(!B.current||!E))return z.current||(z.current=XI({domNode:B.current,nodeId:E,getStoreItems:()=>{const{nodeLookup:I,transform:Z,snapGrid:P,snapToGrid:k,nodeOrigin:$,domNode:O}=A.getState();return{nodeLookup:I,transform:Z,snapGrid:P,snapToGrid:k,nodeOrigin:$,paneDomNode:O}},onChange:(I,Z)=>{const{triggerNodeChanges:P,nodeLookup:k,parentLookup:$,nodeOrigin:O}=A.getState(),U=[],K={x:I.x,y:I.y},X=k.get(E);if(X&&X.expandParent&&X.parentId){const M=X.origin??O,L=I.width??X.measured.width??0,F=I.height??X.measured.height??0,D={id:X.id,parentId:X.parentId,rect:{width:L,height:F,...fN({x:I.x??X.position.x,y:I.y??X.position.y},{width:L,height:F},X.parentId,k,M)}},V=gg([D],k,$,O);U.push(...V),K.x=I.x?Math.max(M[0]*L,I.x):void 0,K.y=I.y?Math.max(M[1]*F,I.y):void 0}if(K.x!==void 0&&K.y!==void 0){const M={id:E,type:"position",position:{...K}};U.push(M)}if(I.width!==void 0&&I.height!==void 0){const L={id:E,type:"dimensions",resizing:!0,setAttributes:b?b==="horizontal"?"width":"height":!0,dimensions:{width:I.width,height:I.height}};U.push(L)}for(const M of Z){const L={...M,type:"position"};U.push(L)}P(U)},onEnd:({width:I,height:Z})=>{const P={id:E,type:"dimensions",resizing:!1,dimensions:{width:I,height:Z}};A.getState().triggerNodeChanges([P])}})),z.current.update({controlPosition:Y,boundaries:{minWidth:d,minHeight:h,maxWidth:f,maxHeight:p},keepAspectRatio:g,resizeDirection:b,onResizeStart:N,onResize:S,onResizeEnd:w,shouldResize:_}),()=>{var I;(I=z.current)==null||I.destroy()}},[Y,d,h,f,p,g,N,S,w,_]);const j=Y.split("-");return m.jsx("div",{className:on(["react-flow__resize-control","nodrag",...j,r,a]),ref:B,style:{...s,scale:H,...c&&{[R?"backgroundColor":"borderColor"]:c}},children:o})}ee.memo(TB);var vt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),zr=vt((e,t)=>{var r=Object.defineProperty,a=(P,k,$)=>k in P?r(P,k,{enumerable:!0,configurable:!0,writable:!0,value:$}):P[k]=$,s=(P,k)=>()=>(k||P((k={exports:{}}).exports,k),k.exports),o=(P,k,$)=>a(P,typeof k!="symbol"?k+"":k,$),c=s((P,k)=>{var $="\0",O="\0",U="",K=class{constructor(V){o(this,"_isDirected",!0),o(this,"_isMultigraph",!1),o(this,"_isCompound",!1),o(this,"_label"),o(this,"_defaultNodeLabelFn",()=>{}),o(this,"_defaultEdgeLabelFn",()=>{}),o(this,"_nodes",{}),o(this,"_in",{}),o(this,"_preds",{}),o(this,"_out",{}),o(this,"_sucs",{}),o(this,"_edgeObjs",{}),o(this,"_edgeLabels",{}),o(this,"_nodeCount",0),o(this,"_edgeCount",0),o(this,"_parent"),o(this,"_children"),V&&(this._isDirected=Object.hasOwn(V,"directed")?V.directed:!0,this._isMultigraph=Object.hasOwn(V,"multigraph")?V.multigraph:!1,this._isCompound=Object.hasOwn(V,"compound")?V.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[O]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(V){return this._label=V,this}graph(){return this._label}setDefaultNodeLabel(V){return this._defaultNodeLabelFn=V,typeof V!="function"&&(this._defaultNodeLabelFn=()=>V),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var V=this;return this.nodes().filter(q=>Object.keys(V._in[q]).length===0)}sinks(){var V=this;return this.nodes().filter(q=>Object.keys(V._out[q]).length===0)}setNodes(V,q){var Q=arguments,J=this;return V.forEach(function(W){Q.length>1?J.setNode(W,q):J.setNode(W)}),this}setNode(V,q){return Object.hasOwn(this._nodes,V)?(arguments.length>1&&(this._nodes[V]=q),this):(this._nodes[V]=arguments.length>1?q:this._defaultNodeLabelFn(V),this._isCompound&&(this._parent[V]=O,this._children[V]={},this._children[O][V]=!0),this._in[V]={},this._preds[V]={},this._out[V]={},this._sucs[V]={},++this._nodeCount,this)}node(V){return this._nodes[V]}hasNode(V){return Object.hasOwn(this._nodes,V)}removeNode(V){var q=this;if(Object.hasOwn(this._nodes,V)){var Q=J=>q.removeEdge(q._edgeObjs[J]);delete this._nodes[V],this._isCompound&&(this._removeFromParentsChildList(V),delete this._parent[V],this.children(V).forEach(function(J){q.setParent(J)}),delete this._children[V]),Object.keys(this._in[V]).forEach(Q),delete this._in[V],delete this._preds[V],Object.keys(this._out[V]).forEach(Q),delete this._out[V],delete this._sucs[V],--this._nodeCount}return this}setParent(V,q){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(q===void 0)q=O;else{q+="";for(var Q=q;Q!==void 0;Q=this.parent(Q))if(Q===V)throw new Error("Setting "+q+" as parent of "+V+" would create a cycle");this.setNode(q)}return this.setNode(V),this._removeFromParentsChildList(V),this._parent[V]=q,this._children[q][V]=!0,this}_removeFromParentsChildList(V){delete this._children[this._parent[V]][V]}parent(V){if(this._isCompound){var q=this._parent[V];if(q!==O)return q}}children(V=O){if(this._isCompound){var q=this._children[V];if(q)return Object.keys(q)}else{if(V===O)return this.nodes();if(this.hasNode(V))return[]}}predecessors(V){var q=this._preds[V];if(q)return Object.keys(q)}successors(V){var q=this._sucs[V];if(q)return Object.keys(q)}neighbors(V){var q=this.predecessors(V);if(q){let J=new Set(q);for(var Q of this.successors(V))J.add(Q);return Array.from(J.values())}}isLeaf(V){var q;return this.isDirected()?q=this.successors(V):q=this.neighbors(V),q.length===0}filterNodes(V){var q=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});q.setGraph(this.graph());var Q=this;Object.entries(this._nodes).forEach(function([te,oe]){V(te)&&q.setNode(te,oe)}),Object.values(this._edgeObjs).forEach(function(te){q.hasNode(te.v)&&q.hasNode(te.w)&&q.setEdge(te,Q.edge(te))});var J={};function W(te){var oe=Q.parent(te);return oe===void 0||q.hasNode(oe)?(J[te]=oe,oe):oe in J?J[oe]:W(oe)}return this._isCompound&&q.nodes().forEach(te=>q.setParent(te,W(te))),q}setDefaultEdgeLabel(V){return this._defaultEdgeLabelFn=V,typeof V!="function"&&(this._defaultEdgeLabelFn=()=>V),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(V,q){var Q=this,J=arguments;return V.reduce(function(W,te){return J.length>1?Q.setEdge(W,te,q):Q.setEdge(W,te),te}),this}setEdge(){var V,q,Q,J,W=!1,te=arguments[0];typeof te=="object"&&te!==null&&"v"in te?(V=te.v,q=te.w,Q=te.name,arguments.length===2&&(J=arguments[1],W=!0)):(V=te,q=arguments[1],Q=arguments[3],arguments.length>2&&(J=arguments[2],W=!0)),V=""+V,q=""+q,Q!==void 0&&(Q=""+Q);var oe=L(this._isDirected,V,q,Q);if(Object.hasOwn(this._edgeLabels,oe))return W&&(this._edgeLabels[oe]=J),this;if(Q!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(V),this.setNode(q),this._edgeLabels[oe]=W?J:this._defaultEdgeLabelFn(V,q,Q);var fe=F(this._isDirected,V,q,Q);return V=fe.v,q=fe.w,Object.freeze(fe),this._edgeObjs[oe]=fe,X(this._preds[q],V),X(this._sucs[V],q),this._in[q][oe]=fe,this._out[V][oe]=fe,this._edgeCount++,this}edge(V,q,Q){var J=arguments.length===1?D(this._isDirected,arguments[0]):L(this._isDirected,V,q,Q);return this._edgeLabels[J]}edgeAsObj(){let V=this.edge(...arguments);return typeof V!="object"?{label:V}:V}hasEdge(V,q,Q){var J=arguments.length===1?D(this._isDirected,arguments[0]):L(this._isDirected,V,q,Q);return Object.hasOwn(this._edgeLabels,J)}removeEdge(V,q,Q){var J=arguments.length===1?D(this._isDirected,arguments[0]):L(this._isDirected,V,q,Q),W=this._edgeObjs[J];return W&&(V=W.v,q=W.w,delete this._edgeLabels[J],delete this._edgeObjs[J],M(this._preds[q],V),M(this._sucs[V],q),delete this._in[q][J],delete this._out[V][J],this._edgeCount--),this}inEdges(V,q){return this.isDirected()?this.filterEdges(this._in[V],V,q):this.nodeEdges(V,q)}outEdges(V,q){return this.isDirected()?this.filterEdges(this._out[V],V,q):this.nodeEdges(V,q)}nodeEdges(V,q){if(V in this._nodes)return this.filterEdges({...this._in[V],...this._out[V]},V,q)}filterEdges(V,q,Q){if(V){var J=Object.values(V);return Q?J.filter(function(W){return W.v===q&&W.w===Q||W.v===Q&&W.w===q}):J}}};function X(V,q){V[q]?V[q]++:V[q]=1}function M(V,q){--V[q]||delete V[q]}function L(V,q,Q,J){var W=""+q,te=""+Q;if(!V&&W>te){var oe=W;W=te,te=oe}return W+U+te+U+(J===void 0?$:J)}function F(V,q,Q,J){var W=""+q,te=""+Q;if(!V&&W>te){var oe=W;W=te,te=oe}var fe={v:W,w:te};return J&&(fe.name=J),fe}function D(V,q){return L(V,q.v,q.w,q.name)}k.exports=K}),d=s((P,k)=>{k.exports="3.0.2"}),h=s((P,k)=>{k.exports={Graph:c(),version:d()}}),f=s((P,k)=>{var $=c();k.exports={write:O,read:X};function O(M){var L={options:{directed:M.isDirected(),multigraph:M.isMultigraph(),compound:M.isCompound()},nodes:U(M),edges:K(M)};return M.graph()!==void 0&&(L.value=structuredClone(M.graph())),L}function U(M){return M.nodes().map(function(L){var F=M.node(L),D=M.parent(L),V={v:L};return F!==void 0&&(V.value=F),D!==void 0&&(V.parent=D),V})}function K(M){return M.edges().map(function(L){var F=M.edge(L),D={v:L.v,w:L.w};return L.name!==void 0&&(D.name=L.name),F!==void 0&&(D.value=F),D})}function X(M){var L=new $(M.options).setGraph(M.value);return M.nodes.forEach(function(F){L.setNode(F.v,F.value),F.parent&&L.setParent(F.v,F.parent)}),M.edges.forEach(function(F){L.setEdge({v:F.v,w:F.w,name:F.name},F.value)}),L}}),p=s((P,k)=>{k.exports=O;var $=()=>1;function O(K,X,M,L){return U(K,String(X),M||$,L||function(F){return K.outEdges(F)})}function U(K,X,M,L){var F={},D=!0,V=0,q=K.nodes(),Q=function(oe){var fe=M(oe);F[oe.v].distance+fe{k.exports=$;function $(O){var U={},K=[],X;function M(L){Object.hasOwn(U,L)||(U[L]=!0,X.push(L),O.successors(L).forEach(M),O.predecessors(L).forEach(M))}return O.nodes().forEach(function(L){X=[],M(L),X.length&&K.push(X)}),K}}),b=s((P,k)=>{var $=class{constructor(){o(this,"_arr",[]),o(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(O){return O.key})}has(O){return Object.hasOwn(this._keyIndices,O)}priority(O){var U=this._keyIndices[O];if(U!==void 0)return this._arr[U].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(O,U){var K=this._keyIndices;if(O=String(O),!Object.hasOwn(K,O)){var X=this._arr,M=X.length;return K[O]=M,X.push({key:O,priority:U}),this._decrease(M),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var O=this._arr.pop();return delete this._keyIndices[O.key],this._heapify(0),O.key}decrease(O,U){var K=this._keyIndices[O];if(U>this._arr[K].priority)throw new Error("New priority is greater than current priority. Key: "+O+" Old: "+this._arr[K].priority+" New: "+U);this._arr[K].priority=U,this._decrease(K)}_heapify(O){var U=this._arr,K=2*O,X=K+1,M=O;K>1,!(U[X].priority{var $=b();k.exports=U;var O=()=>1;function U(X,M,L,F){var D=function(V){return X.outEdges(V)};return K(X,String(M),L||O,F||D)}function K(X,M,L,F){var D={},V=new $,q,Q,J=function(W){var te=W.v!==q?W.v:W.w,oe=D[te],fe=L(W),xe=Q.distance+fe;if(fe<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+W+" Weight: "+fe);xe0&&(q=V.removeMin(),Q=D[q],Q.distance!==Number.POSITIVE_INFINITY);)F(q).forEach(J);return D}}),_=s((P,k)=>{var $=y();k.exports=O;function O(U,K,X){return U.nodes().reduce(function(M,L){return M[L]=$(U,L,K,X),M},{})}}),N=s((P,k)=>{k.exports=$;function $(U,K,X){if(U[K].predecessor!==void 0)throw new Error("Invalid source vertex");if(U[X].predecessor===void 0&&X!==K)throw new Error("Invalid destination vertex");return{weight:U[X].distance,path:O(U,K,X)}}function O(U,K,X){for(var M=[],L=X;L!==K;)M.push(L),L=U[L].predecessor;return M.push(K),M.reverse()}}),S=s((P,k)=>{k.exports=$;function $(O){var U=0,K=[],X={},M=[];function L(F){var D=X[F]={onStack:!0,lowlink:U,index:U++};if(K.push(F),O.successors(F).forEach(function(Q){Object.hasOwn(X,Q)?X[Q].onStack&&(D.lowlink=Math.min(D.lowlink,X[Q].index)):(L(Q),D.lowlink=Math.min(D.lowlink,X[Q].lowlink))}),D.lowlink===D.index){var V=[],q;do q=K.pop(),X[q].onStack=!1,V.push(q);while(F!==q);M.push(V)}}return O.nodes().forEach(function(F){Object.hasOwn(X,F)||L(F)}),M}}),w=s((P,k)=>{var $=S();k.exports=O;function O(U){return $(U).filter(function(K){return K.length>1||K.length===1&&U.hasEdge(K[0],K[0])})}}),C=s((P,k)=>{k.exports=O;var $=()=>1;function O(K,X,M){return U(K,X||$,M||function(L){return K.outEdges(L)})}function U(K,X,M){var L={},F=K.nodes();return F.forEach(function(D){L[D]={},L[D][D]={distance:0},F.forEach(function(V){D!==V&&(L[D][V]={distance:Number.POSITIVE_INFINITY})}),M(D).forEach(function(V){var q=V.v===D?V.w:V.v,Q=X(V);L[D][q]={distance:Q,predecessor:D}})}),F.forEach(function(D){var V=L[D];F.forEach(function(q){var Q=L[q];F.forEach(function(J){var W=Q[D],te=V[J],oe=Q[J],fe=W.distance+te.distance;fe{function $(U){var K={},X={},M=[];function L(F){if(Object.hasOwn(X,F))throw new O;Object.hasOwn(K,F)||(X[F]=!0,K[F]=!0,U.predecessors(F).forEach(L),delete X[F],M.push(F))}if(U.sinks().forEach(L),Object.keys(K).length!==U.nodeCount())throw new O;return M}var O=class extends Error{constructor(){super(...arguments)}};k.exports=$,$.CycleException=O}),A=s((P,k)=>{var $=E();k.exports=O;function O(U){try{$(U)}catch(K){if(K instanceof $.CycleException)return!1;throw K}return!0}}),B=s((P,k)=>{k.exports=$;function $(U,K,X,M,L){Array.isArray(K)||(K=[K]);var F=(U.isDirected()?U.successors:U.neighbors).bind(U),D={};return K.forEach(function(V){if(!U.hasNode(V))throw new Error("Graph does not have node: "+V);L=O(U,V,X==="post",D,F,M,L)}),L}function O(U,K,X,M,L,F,D){return Object.hasOwn(M,K)||(M[K]=!0,X||(D=F(D,K)),L(K).forEach(function(V){D=O(U,V,X,M,L,F,D)}),X&&(D=F(D,K))),D}}),R=s((P,k)=>{var $=B();k.exports=O;function O(U,K,X){return $(U,K,X,function(M,L){return M.push(L),M},[])}}),H=s((P,k)=>{var $=R();k.exports=O;function O(U,K){return $(U,K,"post")}}),z=s((P,k)=>{var $=R();k.exports=O;function O(U,K){return $(U,K,"pre")}}),Y=s((P,k)=>{var $=c(),O=b();k.exports=U;function U(K,X){var M=new $,L={},F=new O,D;function V(Q){var J=Q.v===D?Q.w:Q.v,W=F.priority(J);if(W!==void 0){var te=X(Q);te0;){if(D=F.removeMin(),Object.hasOwn(L,D))M.setEdge(D,L[D]);else{if(q)throw new Error("Input graph is not connected: "+K);q=!0}K.nodeEdges(D).forEach(V)}return M}}),j=s((P,k)=>{var $=y(),O=p();k.exports=U;function U(X,M,L,F){return K(X,M,L,F||function(D){return X.outEdges(D)})}function K(X,M,L,F){if(L===void 0)return $(X,M,L,F);for(var D=!1,V=X.nodes(),q=0;q{k.exports={bellmanFord:p(),components:g(),dijkstra:y(),dijkstraAll:_(),extractPath:N(),findCycles:w(),floydWarshall:C(),isAcyclic:A(),postorder:H(),preorder:z(),prim:Y(),shortestPaths:j(),reduce:B(),tarjan:S(),topsort:E()}}),Z=h();t.exports={Graph:Z.Graph,json:f(),alg:I(),version:Z.version}}),AB=vt((e,t)=>{var r=class{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,c=o._prev;if(c!==o)return a(c),c}enqueue(o){let c=this._sentinel;o._prev&&o._next&&a(o),o._next=c._next,c._next._prev=o,c._next=o,o._prev=c}toString(){let o=[],c=this._sentinel,d=c._prev;for(;d!==c;)o.push(JSON.stringify(d,s)),d=d._prev;return"["+o.join(", ")+"]"}};function a(o){o._prev._next=o._next,o._next._prev=o._prev,delete o._next,delete o._prev}function s(o,c){if(o!=="_next"&&o!=="_prev")return c}t.exports=r}),MB=vt((e,t)=>{var r=zr().Graph,a=AB();t.exports=o;var s=()=>1;function o(g,b){if(g.nodeCount()<=1)return[];let y=h(g,b||s);return c(y.graph,y.buckets,y.zeroIdx).flatMap(_=>g.outEdges(_.v,_.w))}function c(g,b,y){let _=[],N=b[b.length-1],S=b[0],w;for(;g.nodeCount();){for(;w=S.dequeue();)d(g,b,y,w);for(;w=N.dequeue();)d(g,b,y,w);if(g.nodeCount()){for(let C=b.length-2;C>0;--C)if(w=b[C].dequeue(),w){_=_.concat(d(g,b,y,w,!0));break}}}return _}function d(g,b,y,_,N){let S=N?[]:void 0;return g.inEdges(_.v).forEach(w=>{let C=g.edge(w),E=g.node(w.v);N&&S.push({v:w.v,w:w.w}),E.out-=C,f(b,y,E)}),g.outEdges(_.v).forEach(w=>{let C=g.edge(w),E=w.w,A=g.node(E);A.in-=C,f(b,y,A)}),g.removeNode(_.v),S}function h(g,b){let y=new r,_=0,N=0;g.nodes().forEach(C=>{y.setNode(C,{v:C,in:0,out:0})}),g.edges().forEach(C=>{let E=y.edge(C.v,C.w)||0,A=b(C),B=E+A;y.setEdge(C.v,C.w,B),N=Math.max(N,y.node(C.v).out+=A),_=Math.max(_,y.node(C.w).in+=A)});let S=p(N+_+3).map(()=>new a),w=_+1;return y.nodes().forEach(C=>{f(S,w,y.node(C))}),{graph:y,buckets:S,zeroIdx:w}}function f(g,b,y){y.out?y.in?g[y.out-y.in+b].enqueue(y):g[g.length-1].enqueue(y):g[0].enqueue(y)}function p(g){let b=[];for(let y=0;y{var r=zr().Graph;t.exports={addBorderNode:b,addDummyNode:a,applyWithChunking:N,asNonCompoundGraph:o,buildLayerMatrix:f,intersectRect:h,mapValues:z,maxRank:S,normalizeRanks:p,notime:E,partition:w,pick:H,predecessorWeights:d,range:R,removeEmptyRanks:g,simplify:s,successorWeights:c,time:C,uniqueId:B,zipObject:Y};function a(j,I,Z,P){for(var k=P;j.hasNode(k);)k=B(P);return Z.dummy=I,j.setNode(k,Z),k}function s(j){let I=new r().setGraph(j.graph());return j.nodes().forEach(Z=>I.setNode(Z,j.node(Z))),j.edges().forEach(Z=>{let P=I.edge(Z.v,Z.w)||{weight:0,minlen:1},k=j.edge(Z);I.setEdge(Z.v,Z.w,{weight:P.weight+k.weight,minlen:Math.max(P.minlen,k.minlen)})}),I}function o(j){let I=new r({multigraph:j.isMultigraph()}).setGraph(j.graph());return j.nodes().forEach(Z=>{j.children(Z).length||I.setNode(Z,j.node(Z))}),j.edges().forEach(Z=>{I.setEdge(Z,j.edge(Z))}),I}function c(j){let I=j.nodes().map(Z=>{let P={};return j.outEdges(Z).forEach(k=>{P[k.w]=(P[k.w]||0)+j.edge(k).weight}),P});return Y(j.nodes(),I)}function d(j){let I=j.nodes().map(Z=>{let P={};return j.inEdges(Z).forEach(k=>{P[k.v]=(P[k.v]||0)+j.edge(k).weight}),P});return Y(j.nodes(),I)}function h(j,I){let Z=j.x,P=j.y,k=I.x-Z,$=I.y-P,O=j.width/2,U=j.height/2;if(!k&&!$)throw new Error("Not possible to find intersection inside of the rectangle");let K,X;return Math.abs($)*O>Math.abs(k)*U?($<0&&(U=-U),K=U*k/$,X=U):(k<0&&(O=-O),K=O,X=O*$/k),{x:Z+K,y:P+X}}function f(j){let I=R(S(j)+1).map(()=>[]);return j.nodes().forEach(Z=>{let P=j.node(Z),k=P.rank;k!==void 0&&(I[k][P.order]=Z)}),I}function p(j){let I=j.nodes().map(P=>{let k=j.node(P).rank;return k===void 0?Number.MAX_VALUE:k}),Z=N(Math.min,I);j.nodes().forEach(P=>{let k=j.node(P);Object.hasOwn(k,"rank")&&(k.rank-=Z)})}function g(j){let I=j.nodes().map(O=>j.node(O).rank).filter(O=>O!==void 0),Z=N(Math.min,I),P=[];j.nodes().forEach(O=>{let U=j.node(O).rank-Z;P[U]||(P[U]=[]),P[U].push(O)});let k=0,$=j.graph().nodeRankFactor;Array.from(P).forEach((O,U)=>{O===void 0&&U%$!==0?--k:O!==void 0&&k&&O.forEach(K=>j.node(K).rank+=k)})}function b(j,I,Z,P){let k={width:0,height:0};return arguments.length>=4&&(k.rank=Z,k.order=P),a(j,"border",k,I)}function y(j,I=_){let Z=[];for(let P=0;P_){let Z=y(I);return j.apply(null,Z.map(P=>j.apply(null,P)))}else return j.apply(null,I)}function S(j){let I=j.nodes().map(Z=>{let P=j.node(Z).rank;return P===void 0?Number.MIN_VALUE:P});return N(Math.max,I)}function w(j,I){let Z={lhs:[],rhs:[]};return j.forEach(P=>{I(P)?Z.lhs.push(P):Z.rhs.push(P)}),Z}function C(j,I){let Z=Date.now();try{return I()}finally{console.log(j+" time: "+(Date.now()-Z)+"ms")}}function E(j,I){return I()}var A=0;function B(j){var I=++A;return j+(""+I)}function R(j,I,Z=1){I==null&&(I=j,j=0);let P=$=>$I<$);let k=[];for(let $=j;P($);$+=Z)k.push($);return k}function H(j,I){let Z={};for(let P of I)j[P]!==void 0&&(Z[P]=j[P]);return Z}function z(j,I){let Z=I;return typeof I=="string"&&(Z=P=>P[I]),Object.entries(j).reduce((P,[k,$])=>(P[k]=Z($,k),P),{})}function Y(j,I){return j.reduce((Z,P,k)=>(Z[P]=I[k],Z),{})}}),OB=vt((e,t)=>{var r=MB(),a=ln().uniqueId;t.exports={run:s,undo:c};function s(d){(d.graph().acyclicer==="greedy"?r(d,h(d)):o(d)).forEach(f=>{let p=d.edge(f);d.removeEdge(f),p.forwardName=f.name,p.reversed=!0,d.setEdge(f.w,f.v,p,a("rev"))});function h(f){return p=>f.edge(p).weight}}function o(d){let h=[],f={},p={};function g(b){Object.hasOwn(p,b)||(p[b]=!0,f[b]=!0,d.outEdges(b).forEach(y=>{Object.hasOwn(f,y.w)?h.push(y):g(y.w)}),delete f[b])}return d.nodes().forEach(g),h}function c(d){d.edges().forEach(h=>{let f=d.edge(h);if(f.reversed){d.removeEdge(h);let p=f.forwardName;delete f.reversed,delete f.forwardName,d.setEdge(h.w,h.v,f,p)}})}}),RB=vt((e,t)=>{var r=ln();t.exports={run:a,undo:o};function a(c){c.graph().dummyChains=[],c.edges().forEach(d=>s(c,d))}function s(c,d){let h=d.v,f=c.node(h).rank,p=d.w,g=c.node(p).rank,b=d.name,y=c.edge(d),_=y.labelRank;if(g===f+1)return;c.removeEdge(d);let N,S,w;for(w=0,++f;f{let h=c.node(d),f=h.edgeLabel,p;for(c.setEdge(h.edgeObj,f);h.dummy;)p=c.successors(d)[0],c.removeNode(d),f.points.push({x:h.x,y:h.y}),h.dummy==="edge-label"&&(f.x=h.x,f.y=h.y,f.width=h.width,f.height=h.height),d=p,h=c.node(d)})}}),$u=vt((e,t)=>{var{applyWithChunking:r}=ln();t.exports={longestPath:a,slack:s};function a(o){var c={};function d(h){var f=o.node(h);if(Object.hasOwn(c,h))return f.rank;c[h]=!0;let p=o.outEdges(h).map(b=>b==null?Number.POSITIVE_INFINITY:d(b.w)-o.edge(b).minlen);var g=r(Math.min,p);return g===Number.POSITIVE_INFINITY&&(g=0),f.rank=g}o.sources().forEach(d)}function s(o,c){return o.node(c.w).rank-o.node(c.v).rank-o.edge(c).minlen}}),m2=vt((e,t)=>{var r=zr().Graph,a=$u().slack;t.exports=s;function s(h){var f=new r({directed:!1}),p=h.nodes()[0],g=h.nodeCount();f.setNode(p,{});for(var b,y;o(f,h){var y=b.v,_=g===y?b.w:y;!h.hasNode(_)&&!a(f,b)&&(h.setNode(_,{}),h.setEdge(g,_,{}),p(_))})}return h.nodes().forEach(p),h.nodeCount()}function c(h,f){return f.edges().reduce((p,g)=>{let b=Number.POSITIVE_INFINITY;return h.hasNode(g.v)!==h.hasNode(g.w)&&(b=a(f,g)),bf.node(g).rank+=p)}}),jB=vt((e,t)=>{var r=m2(),a=$u().slack,s=$u().longestPath,o=zr().alg.preorder,c=zr().alg.postorder,d=ln().simplify;t.exports=h,h.initLowLimValues=b,h.initCutValues=f,h.calcCutValue=g,h.leaveEdge=_,h.enterEdge=N,h.exchangeEdges=S;function h(A){A=d(A),s(A);var B=r(A);b(B),f(B,A);for(var R,H;R=_(B);)H=N(B,A,R),S(B,A,R,H)}function f(A,B){var R=c(A,A.nodes());R=R.slice(0,R.length-1),R.forEach(H=>p(A,B,H))}function p(A,B,R){var H=A.node(R),z=H.parent;A.edge(R,z).cutvalue=g(A,B,R)}function g(A,B,R){var H=A.node(R),z=H.parent,Y=!0,j=B.edge(R,z),I=0;return j||(Y=!1,j=B.edge(z,R)),I=j.weight,B.nodeEdges(R).forEach(Z=>{var P=Z.v===R,k=P?Z.w:Z.v;if(k!==z){var $=P===Y,O=B.edge(Z).weight;if(I+=$?O:-O,C(A,R,k)){var U=A.edge(R,k).cutvalue;I+=$?-U:U}}}),I}function b(A,B){arguments.length<2&&(B=A.nodes()[0]),y(A,{},1,B)}function y(A,B,R,H,z){var Y=R,j=A.node(H);return B[H]=!0,A.neighbors(H).forEach(I=>{Object.hasOwn(B,I)||(R=y(A,B,R,I,H))}),j.low=Y,j.lim=R++,z?j.parent=z:delete j.parent,R}function _(A){return A.edges().find(B=>A.edge(B).cutvalue<0)}function N(A,B,R){var H=R.v,z=R.w;B.hasEdge(H,z)||(H=R.w,z=R.v);var Y=A.node(H),j=A.node(z),I=Y,Z=!1;Y.lim>j.lim&&(I=j,Z=!0);var P=B.edges().filter(k=>Z===E(A,A.node(k.v),I)&&Z!==E(A,A.node(k.w),I));return P.reduce((k,$)=>a(B,$)!B.node(z).parent),H=o(A,R);H=H.slice(1),H.forEach(z=>{var Y=A.node(z).parent,j=B.edge(z,Y),I=!1;j||(j=B.edge(Y,z),I=!0),B.node(z).rank=B.node(Y).rank+(I?j.minlen:-j.minlen)})}function C(A,B,R){return A.hasEdge(B,R)}function E(A,B,R){return R.low<=B.lim&&B.lim<=R.lim}}),DB=vt((e,t)=>{var r=$u(),a=r.longestPath,s=m2(),o=jB();t.exports=c;function c(p){var g=p.graph().ranker;if(g instanceof Function)return g(p);switch(p.graph().ranker){case"network-simplex":f(p);break;case"tight-tree":h(p);break;case"longest-path":d(p);break;case"none":break;default:f(p)}}var d=a;function h(p){a(p),s(p)}function f(p){o(p)}}),LB=vt((e,t)=>{t.exports=r;function r(o){let c=s(o);o.graph().dummyChains.forEach(d=>{let h=o.node(d),f=h.edgeObj,p=a(o,c,f.v,f.w),g=p.path,b=p.lca,y=0,_=g[y],N=!0;for(;d!==f.w;){if(h=o.node(d),N){for(;(_=g[y])!==b&&o.node(_).maxRankg||b>c[y].lim));for(_=y,y=h;(y=o.parent(y))!==_;)p.push(y);return{path:f.concat(p.reverse()),lca:_}}function s(o){let c={},d=0;function h(f){let p=d;o.children(f).forEach(h),c[f]={low:p,lim:d++}}return o.children().forEach(h),c}}),zB=vt((e,t)=>{var r=ln();t.exports={run:a,cleanup:d};function a(h){let f=r.addDummyNode(h,"root",{},"_root"),p=o(h),g=Object.values(p),b=r.applyWithChunking(Math.max,g)-1,y=2*b+1;h.graph().nestingRoot=f,h.edges().forEach(N=>h.edge(N).minlen*=y);let _=c(h)+1;h.children().forEach(N=>s(h,f,y,_,b,p,N)),h.graph().nodeRankFactor=y}function s(h,f,p,g,b,y,_){let N=h.children(_);if(!N.length){_!==f&&h.setEdge(f,_,{weight:0,minlen:p});return}let S=r.addBorderNode(h,"_bt"),w=r.addBorderNode(h,"_bb"),C=h.node(_);h.setParent(S,_),C.borderTop=S,h.setParent(w,_),C.borderBottom=w,N.forEach(E=>{s(h,f,p,g,b,y,E);let A=h.node(E),B=A.borderTop?A.borderTop:E,R=A.borderBottom?A.borderBottom:E,H=A.borderTop?g:2*g,z=B!==R?1:b-y[_]+1;h.setEdge(S,B,{weight:H,minlen:z,nestingEdge:!0}),h.setEdge(R,w,{weight:H,minlen:z,nestingEdge:!0})}),h.parent(_)||h.setEdge(f,S,{weight:0,minlen:b+y[_]})}function o(h){var f={};function p(g,b){var y=h.children(g);y&&y.length&&y.forEach(_=>p(_,b+1)),f[g]=b}return h.children().forEach(g=>p(g,1)),f}function c(h){return h.edges().reduce((f,p)=>f+h.edge(p).weight,0)}function d(h){var f=h.graph();h.removeNode(f.nestingRoot),delete f.nestingRoot,h.edges().forEach(p=>{var g=h.edge(p);g.nestingEdge&&h.removeEdge(p)})}}),IB=vt((e,t)=>{var r=ln();t.exports=a;function a(o){function c(d){let h=o.children(d),f=o.node(d);if(h.length&&h.forEach(c),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let p=f.minRank,g=f.maxRank+1;p{t.exports={adjust:r,undo:a};function r(p){let g=p.graph().rankdir.toLowerCase();(g==="lr"||g==="rl")&&s(p)}function a(p){let g=p.graph().rankdir.toLowerCase();(g==="bt"||g==="rl")&&c(p),(g==="lr"||g==="rl")&&(h(p),s(p))}function s(p){p.nodes().forEach(g=>o(p.node(g))),p.edges().forEach(g=>o(p.edge(g)))}function o(p){let g=p.width;p.width=p.height,p.height=g}function c(p){p.nodes().forEach(g=>d(p.node(g))),p.edges().forEach(g=>{let b=p.edge(g);b.points.forEach(d),Object.hasOwn(b,"y")&&d(b)})}function d(p){p.y=-p.y}function h(p){p.nodes().forEach(g=>f(p.node(g))),p.edges().forEach(g=>{let b=p.edge(g);b.points.forEach(f),Object.hasOwn(b,"x")&&f(b)})}function f(p){let g=p.x;p.x=p.y,p.y=g}}),UB=vt((e,t)=>{var r=ln();t.exports=a;function a(s){let o={},c=s.nodes().filter(g=>!s.children(g).length),d=c.map(g=>s.node(g).rank),h=r.applyWithChunking(Math.max,d),f=r.range(h+1).map(()=>[]);function p(g){if(o[g])return;o[g]=!0;let b=s.node(g);f[b.rank].push(g),s.successors(g).forEach(p)}return c.sort((g,b)=>s.node(g).rank-s.node(b).rank).forEach(p),f}}),HB=vt((e,t)=>{var r=ln().zipObject;t.exports=a;function a(o,c){let d=0;for(let h=1;hN)),f=c.flatMap(_=>o.outEdges(_).map(N=>({pos:h[N.w],weight:o.edge(N).weight})).sort((N,S)=>N.pos-S.pos)),p=1;for(;p{let N=_.pos+p;b[N]+=_.weight;let S=0;for(;N>0;)N%2&&(S+=b[N+1]),N=N-1>>1,b[N]+=_.weight;y+=_.weight*S}),y}}),$B=vt((e,t)=>{t.exports=r;function r(a,s=[]){return s.map(o=>{let c=a.inEdges(o);if(c.length){let d=c.reduce((h,f)=>{let p=a.edge(f),g=a.node(f.v);return{sum:h.sum+p.weight*g.order,weight:h.weight+p.weight}},{sum:0,weight:0});return{v:o,barycenter:d.sum/d.weight,weight:d.weight}}else return{v:o}})}}),qB=vt((e,t)=>{var r=ln();t.exports=a;function a(c,d){let h={};c.forEach((p,g)=>{let b=h[p.v]={indegree:0,in:[],out:[],vs:[p.v],i:g};p.barycenter!==void 0&&(b.barycenter=p.barycenter,b.weight=p.weight)}),d.edges().forEach(p=>{let g=h[p.v],b=h[p.w];g!==void 0&&b!==void 0&&(b.indegree++,g.out.push(h[p.w]))});let f=Object.values(h).filter(p=>!p.indegree);return s(f)}function s(c){let d=[];function h(p){return g=>{g.merged||(g.barycenter===void 0||p.barycenter===void 0||g.barycenter>=p.barycenter)&&o(p,g)}}function f(p){return g=>{g.in.push(p),--g.indegree===0&&c.push(g)}}for(;c.length;){let p=c.pop();d.push(p),p.in.reverse().forEach(h(p)),p.out.forEach(f(p))}return d.filter(p=>!p.merged).map(p=>r.pick(p,["vs","i","barycenter","weight"]))}function o(c,d){let h=0,f=0;c.weight&&(h+=c.barycenter*c.weight,f+=c.weight),d.weight&&(h+=d.barycenter*d.weight,f+=d.weight),c.vs=d.vs.concat(c.vs),c.barycenter=h/f,c.weight=f,c.i=Math.min(d.i,c.i),d.merged=!0}}),PB=vt((e,t)=>{var r=ln();t.exports=a;function a(c,d){let h=r.partition(c,S=>Object.hasOwn(S,"barycenter")),f=h.lhs,p=h.rhs.sort((S,w)=>w.i-S.i),g=[],b=0,y=0,_=0;f.sort(o(!!d)),_=s(g,p,_),f.forEach(S=>{_+=S.vs.length,g.push(S.vs),b+=S.barycenter*S.weight,y+=S.weight,_=s(g,p,_)});let N={vs:g.flat(!0)};return y&&(N.barycenter=b/y,N.weight=y),N}function s(c,d,h){let f;for(;d.length&&(f=d[d.length-1]).i<=h;)d.pop(),c.push(f.vs),h++;return h}function o(c){return(d,h)=>d.barycenterh.barycenter?1:c?h.i-d.i:d.i-h.i}}),FB=vt((e,t)=>{var r=$B(),a=qB(),s=PB();t.exports=o;function o(h,f,p,g){let b=h.children(f),y=h.node(f),_=y?y.borderLeft:void 0,N=y?y.borderRight:void 0,S={};_&&(b=b.filter(A=>A!==_&&A!==N));let w=r(h,b);w.forEach(A=>{if(h.children(A.v).length){let B=o(h,A.v,p,g);S[A.v]=B,Object.hasOwn(B,"barycenter")&&d(A,B)}});let C=a(w,p);c(C,S);let E=s(C,g);if(_&&(E.vs=[_,E.vs,N].flat(!0),h.predecessors(_).length)){let A=h.node(h.predecessors(_)[0]),B=h.node(h.predecessors(N)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+A.order+B.order)/(E.weight+2),E.weight+=2}return E}function c(h,f){h.forEach(p=>{p.vs=p.vs.flatMap(g=>f[g]?f[g].vs:g)})}function d(h,f){h.barycenter!==void 0?(h.barycenter=(h.barycenter*h.weight+f.barycenter*f.weight)/(h.weight+f.weight),h.weight+=f.weight):(h.barycenter=f.barycenter,h.weight=f.weight)}}),GB=vt((e,t)=>{var r=zr().Graph,a=ln();t.exports=s;function s(c,d,h,f){f||(f=c.nodes());let p=o(c),g=new r({compound:!0}).setGraph({root:p}).setDefaultNodeLabel(b=>c.node(b));return f.forEach(b=>{let y=c.node(b),_=c.parent(b);(y.rank===d||y.minRank<=d&&d<=y.maxRank)&&(g.setNode(b),g.setParent(b,_||p),c[h](b).forEach(N=>{let S=N.v===b?N.w:N.v,w=g.edge(S,b),C=w!==void 0?w.weight:0;g.setEdge(S,b,{weight:c.edge(N).weight+C})}),Object.hasOwn(y,"minRank")&&g.setNode(b,{borderLeft:y.borderLeft[d],borderRight:y.borderRight[d]}))}),g}function o(c){for(var d;c.hasNode(d=a.uniqueId("_root")););return d}}),VB=vt((e,t)=>{t.exports=r;function r(a,s,o){let c={},d;o.forEach(h=>{let f=a.parent(h),p,g;for(;f;){if(p=a.parent(f),p?(g=c[p],c[p]=f):(g=d,d=f),g&&g!==f){s.setEdge(g,f);return}f=p}})}}),YB=vt((e,t)=>{var r=UB(),a=HB(),s=FB(),o=GB(),c=VB(),d=zr().Graph,h=ln();t.exports=f;function f(y,_={}){if(typeof _.customOrder=="function"){_.customOrder(y,f);return}let N=h.maxRank(y),S=p(y,h.range(1,N+1),"inEdges"),w=p(y,h.range(N-1,-1,-1),"outEdges"),C=r(y);if(b(y,C),_.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,A,B=_.constraints||[];for(let R=0,H=0;H<4;++R,++H){g(R%2?S:w,R%4>=2,B),C=h.buildLayerMatrix(y);let z=a(y,C);z{S.has(C)||S.set(C,[]),S.get(C).push(E)};for(let C of y.nodes()){let E=y.node(C);if(typeof E.rank=="number"&&w(E.rank,C),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let A=E.minRank;A<=E.maxRank;A++)A!==E.rank&&w(A,C)}return _.map(function(C){return o(y,C,N,S.get(C)||[])})}function g(y,_,N){let S=new d;y.forEach(function(w){N.forEach(A=>S.setEdge(A.left,A.right));let C=w.graph().root,E=s(w,C,S,_);E.vs.forEach((A,B)=>w.node(A).order=B),c(w,S,E.vs)})}function b(y,_){Object.values(_).forEach(N=>N.forEach((S,w)=>y.node(S).order=w))}}),XB=vt((e,t)=>{var r=zr().Graph,a=ln();t.exports={positionX:N,findType1Conflicts:s,findType2Conflicts:o,addConflict:d,hasConflict:h,verticalAlignment:f,horizontalCompaction:p,alignCoordinates:y,findSmallestWidthAlignment:b,balance:_};function s(C,E){let A={};function B(R,H){let z=0,Y=0,j=R.length,I=H[H.length-1];return H.forEach((Z,P)=>{let k=c(C,Z),$=k?C.node(k).order:j;(k||Z===I)&&(H.slice(Y,P+1).forEach(O=>{C.predecessors(O).forEach(U=>{let K=C.node(U),X=K.order;(X{Z=H[P],C.node(Z).dummy&&C.predecessors(Z).forEach(k=>{let $=C.node(k);$.dummy&&($.orderI)&&d(A,k,Z)})})}function R(H,z){let Y=-1,j,I=0;return z.forEach((Z,P)=>{if(C.node(Z).dummy==="border"){let k=C.predecessors(Z);k.length&&(j=C.node(k[0]).order,B(z,I,P,Y,j),I=P,Y=j)}B(z,I,z.length,j,H.length)}),z}return E.length&&E.reduce(R),A}function c(C,E){if(C.node(E).dummy)return C.predecessors(E).find(A=>C.node(A).dummy)}function d(C,E,A){if(E>A){let R=E;E=A,A=R}let B=C[E];B||(C[E]=B={}),B[A]=!0}function h(C,E,A){if(E>A){let B=E;E=A,A=B}return!!C[E]&&Object.hasOwn(C[E],A)}function f(C,E,A,B){let R={},H={},z={};return E.forEach(Y=>{Y.forEach((j,I)=>{R[j]=j,H[j]=j,z[j]=I})}),E.forEach(Y=>{let j=-1;Y.forEach(I=>{let Z=B(I);if(Z.length){Z=Z.sort((k,$)=>z[k]-z[$]);let P=(Z.length-1)/2;for(let k=Math.floor(P),$=Math.ceil(P);k<=$;++k){let O=Z[k];H[I]===I&&jMath.max(k,H[$.v]+z.edge($)),0)}function Z(P){let k=z.outEdges(P).reduce((O,U)=>Math.min(O,H[U.w]-z.edge(U)),Number.POSITIVE_INFINITY),$=C.node(P);k!==Number.POSITIVE_INFINITY&&$.borderType!==Y&&(H[P]=Math.max(H[P],k))}return j(I,z.predecessors.bind(z)),j(Z,z.successors.bind(z)),Object.keys(B).forEach(P=>H[P]=H[A[P]]),H}function g(C,E,A,B){let R=new r,H=C.graph(),z=S(H.nodesep,H.edgesep,B);return E.forEach(Y=>{let j;Y.forEach(I=>{let Z=A[I];if(R.setNode(Z),j){var P=A[j],k=R.edge(P,Z);R.setEdge(P,Z,Math.max(z(C,I,j),k||0))}j=I})}),R}function b(C,E){return Object.values(E).reduce((A,B)=>{let R=Number.NEGATIVE_INFINITY,H=Number.POSITIVE_INFINITY;Object.entries(B).forEach(([Y,j])=>{let I=w(C,Y)/2;R=Math.max(j+I,R),H=Math.min(j-I,H)});let z=R-H;return z{["l","r"].forEach(z=>{let Y=H+z,j=C[Y];if(j===E)return;let I=Object.values(j),Z=B-a.applyWithChunking(Math.min,I);z!=="l"&&(Z=R-a.applyWithChunking(Math.max,I)),Z&&(C[Y]=a.mapValues(j,P=>P+Z))})})}function _(C,E){return a.mapValues(C.ul,(A,B)=>{if(E)return C[E.toLowerCase()][B];{let R=Object.values(C).map(H=>H[B]).sort((H,z)=>H-z);return(R[1]+R[2])/2}})}function N(C){let E=a.buildLayerMatrix(C),A=Object.assign(s(C,E),o(C,E)),B={},R;["u","d"].forEach(z=>{R=z==="u"?E:Object.values(E).reverse(),["l","r"].forEach(Y=>{Y==="r"&&(R=R.map(P=>Object.values(P).reverse()));let j=(z==="u"?C.predecessors:C.successors).bind(C),I=f(C,R,A,j),Z=p(C,R,I.root,I.align,Y==="r");Y==="r"&&(Z=a.mapValues(Z,P=>-P)),B[z+Y]=Z})});let H=b(C,B);return y(B,H),_(B,C.graph().align)}function S(C,E,A){return(B,R,H)=>{let z=B.node(R),Y=B.node(H),j=0,I;if(j+=z.width/2,Object.hasOwn(z,"labelpos"))switch(z.labelpos.toLowerCase()){case"l":I=-z.width/2;break;case"r":I=z.width/2;break}if(I&&(j+=A?I:-I),I=0,j+=(z.dummy?E:C)/2,j+=(Y.dummy?E:C)/2,j+=Y.width/2,Object.hasOwn(Y,"labelpos"))switch(Y.labelpos.toLowerCase()){case"l":I=Y.width/2;break;case"r":I=-Y.width/2;break}return I&&(j+=A?I:-I),I=0,j}}function w(C,E){return C.node(E).width}}),KB=vt((e,t)=>{var r=ln(),a=XB().positionX;t.exports=s;function s(c){c=r.asNonCompoundGraph(c),o(c),Object.entries(a(c)).forEach(([d,h])=>c.node(d).x=h)}function o(c){let d=r.buildLayerMatrix(c),h=c.graph().ranksep,f=c.graph().rankalign,p=0;d.forEach(g=>{let b=g.reduce((y,_)=>{let N=c.node(_).height;return y>N?y:N},0);g.forEach(y=>{let _=c.node(y);f==="top"?_.y=p+_.height/2:f==="bottom"?_.y=p+b-_.height/2:_.y=p+b/2}),p+=b+h})}}),ZB=vt((e,t)=>{var r=OB(),a=RB(),s=DB(),o=ln().normalizeRanks,c=LB(),d=ln().removeEmptyRanks,h=zB(),f=IB(),p=BB(),g=YB(),b=KB(),y=ln(),_=zr().Graph;t.exports=N;function N(q,Q={}){let J=Q.debugTiming?y.time:y.notime;return J("layout",()=>{let W=J(" buildLayoutGraph",()=>j(q));return J(" runLayout",()=>S(W,J,Q)),J(" updateInputGraph",()=>w(q,W)),W})}function S(q,Q,J){Q(" makeSpaceForEdgeLabels",()=>I(q)),Q(" removeSelfEdges",()=>M(q)),Q(" acyclic",()=>r.run(q)),Q(" nestingGraph.run",()=>h.run(q)),Q(" rank",()=>s(y.asNonCompoundGraph(q))),Q(" injectEdgeLabelProxies",()=>Z(q)),Q(" removeEmptyRanks",()=>d(q)),Q(" nestingGraph.cleanup",()=>h.cleanup(q)),Q(" normalizeRanks",()=>o(q)),Q(" assignRankMinMax",()=>P(q)),Q(" removeEdgeLabelProxies",()=>k(q)),Q(" normalize.run",()=>a.run(q)),Q(" parentDummyChains",()=>c(q)),Q(" addBorderSegments",()=>f(q)),Q(" order",()=>g(q,J)),Q(" insertSelfEdges",()=>L(q)),Q(" adjustCoordinateSystem",()=>p.adjust(q)),Q(" position",()=>b(q)),Q(" positionSelfEdges",()=>F(q)),Q(" removeBorderNodes",()=>X(q)),Q(" normalize.undo",()=>a.undo(q)),Q(" fixupEdgeLabelCoords",()=>U(q)),Q(" undoCoordinateSystem",()=>p.undo(q)),Q(" translateGraph",()=>$(q)),Q(" assignNodeIntersects",()=>O(q)),Q(" reversePoints",()=>K(q)),Q(" acyclic.undo",()=>r.undo(q))}function w(q,Q){q.nodes().forEach(J=>{let W=q.node(J),te=Q.node(J);W&&(W.x=te.x,W.y=te.y,W.order=te.order,W.rank=te.rank,Q.children(J).length&&(W.width=te.width,W.height=te.height))}),q.edges().forEach(J=>{let W=q.edge(J),te=Q.edge(J);W.points=te.points,Object.hasOwn(te,"x")&&(W.x=te.x,W.y=te.y)}),q.graph().width=Q.graph().width,q.graph().height=Q.graph().height}var C=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb",rankalign:"center"},A=["acyclicer","ranker","rankdir","align","rankalign"],B=["width","height","rank"],R={width:0,height:0},H=["minlen","weight","width","height","labeloffset"],z={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Y=["labelpos"];function j(q){let Q=new _({multigraph:!0,compound:!0}),J=V(q.graph());return Q.setGraph(Object.assign({},E,D(J,C),y.pick(J,A))),q.nodes().forEach(W=>{let te=V(q.node(W)),oe=D(te,B);Object.keys(R).forEach(fe=>{oe[fe]===void 0&&(oe[fe]=R[fe])}),Q.setNode(W,oe),Q.setParent(W,q.parent(W))}),q.edges().forEach(W=>{let te=V(q.edge(W));Q.setEdge(W,Object.assign({},z,D(te,H),y.pick(te,Y)))}),Q}function I(q){let Q=q.graph();Q.ranksep/=2,q.edges().forEach(J=>{let W=q.edge(J);W.minlen*=2,W.labelpos.toLowerCase()!=="c"&&(Q.rankdir==="TB"||Q.rankdir==="BT"?W.width+=W.labeloffset:W.height+=W.labeloffset)})}function Z(q){q.edges().forEach(Q=>{let J=q.edge(Q);if(J.width&&J.height){let W=q.node(Q.v),te={rank:(q.node(Q.w).rank-W.rank)/2+W.rank,e:Q};y.addDummyNode(q,"edge-proxy",te,"_ep")}})}function P(q){let Q=0;q.nodes().forEach(J=>{let W=q.node(J);W.borderTop&&(W.minRank=q.node(W.borderTop).rank,W.maxRank=q.node(W.borderBottom).rank,Q=Math.max(Q,W.maxRank))}),q.graph().maxRank=Q}function k(q){q.nodes().forEach(Q=>{let J=q.node(Q);J.dummy==="edge-proxy"&&(q.edge(J.e).labelRank=J.rank,q.removeNode(Q))})}function $(q){let Q=Number.POSITIVE_INFINITY,J=0,W=Number.POSITIVE_INFINITY,te=0,oe=q.graph(),fe=oe.marginx||0,xe=oe.marginy||0;function we(Ne){let De=Ne.x,$e=Ne.y,st=Ne.width,Rt=Ne.height;Q=Math.min(Q,De-st/2),J=Math.max(J,De+st/2),W=Math.min(W,$e-Rt/2),te=Math.max(te,$e+Rt/2)}q.nodes().forEach(Ne=>we(q.node(Ne))),q.edges().forEach(Ne=>{let De=q.edge(Ne);Object.hasOwn(De,"x")&&we(De)}),Q-=fe,W-=xe,q.nodes().forEach(Ne=>{let De=q.node(Ne);De.x-=Q,De.y-=W}),q.edges().forEach(Ne=>{let De=q.edge(Ne);De.points.forEach($e=>{$e.x-=Q,$e.y-=W}),Object.hasOwn(De,"x")&&(De.x-=Q),Object.hasOwn(De,"y")&&(De.y-=W)}),oe.width=J-Q+fe,oe.height=te-W+xe}function O(q){q.edges().forEach(Q=>{let J=q.edge(Q),W=q.node(Q.v),te=q.node(Q.w),oe,fe;J.points?(oe=J.points[0],fe=J.points[J.points.length-1]):(J.points=[],oe=te,fe=W),J.points.unshift(y.intersectRect(W,oe)),J.points.push(y.intersectRect(te,fe))})}function U(q){q.edges().forEach(Q=>{let J=q.edge(Q);if(Object.hasOwn(J,"x"))switch((J.labelpos==="l"||J.labelpos==="r")&&(J.width-=J.labeloffset),J.labelpos){case"l":J.x-=J.width/2+J.labeloffset;break;case"r":J.x+=J.width/2+J.labeloffset;break}})}function K(q){q.edges().forEach(Q=>{let J=q.edge(Q);J.reversed&&J.points.reverse()})}function X(q){q.nodes().forEach(Q=>{if(q.children(Q).length){let J=q.node(Q),W=q.node(J.borderTop),te=q.node(J.borderBottom),oe=q.node(J.borderLeft[J.borderLeft.length-1]),fe=q.node(J.borderRight[J.borderRight.length-1]);J.width=Math.abs(fe.x-oe.x),J.height=Math.abs(te.y-W.y),J.x=oe.x+J.width/2,J.y=W.y+J.height/2}}),q.nodes().forEach(Q=>{q.node(Q).dummy==="border"&&q.removeNode(Q)})}function M(q){q.edges().forEach(Q=>{if(Q.v===Q.w){var J=q.node(Q.v);J.selfEdges||(J.selfEdges=[]),J.selfEdges.push({e:Q,label:q.edge(Q)}),q.removeEdge(Q)}})}function L(q){var Q=y.buildLayerMatrix(q);Q.forEach(J=>{var W=0;J.forEach((te,oe)=>{var fe=q.node(te);fe.order=oe+W,(fe.selfEdges||[]).forEach(xe=>{y.addDummyNode(q,"selfedge",{width:xe.label.width,height:xe.label.height,rank:fe.rank,order:oe+ ++W,e:xe.e,label:xe.label},"_se")}),delete fe.selfEdges})})}function F(q){q.nodes().forEach(Q=>{var J=q.node(Q);if(J.dummy==="selfedge"){var W=q.node(J.e.v),te=W.x+W.width/2,oe=W.y,fe=J.x-te,xe=W.height/2;q.setEdge(J.e,J.label),q.removeNode(Q),J.label.points=[{x:te+2*fe/3,y:oe-xe},{x:te+5*fe/6,y:oe-xe},{x:te+fe,y:oe},{x:te+5*fe/6,y:oe+xe},{x:te+2*fe/3,y:oe+xe}],J.label.x=J.x,J.label.y=J.y}})}function D(q,Q){return y.mapValues(y.pick(q,Q),Number)}function V(q){var Q={};return q&&Object.entries(q).forEach(([J,W])=>{typeof J=="string"&&(J=J.toLowerCase()),Q[J]=W}),Q}}),QB=vt((e,t)=>{var r=ln(),a=zr().Graph;t.exports={debugOrdering:s};function s(o){let c=r.buildLayerMatrix(o),d=new a({compound:!0,multigraph:!0}).setGraph({});return o.nodes().forEach(h=>{d.setNode(h,{label:h}),d.setParent(h,"layer"+o.node(h).rank)}),o.edges().forEach(h=>d.setEdge(h.v,h.w,{},h.name)),c.forEach((h,f)=>{let p="layer"+f;d.setNode(p,{rank:"same"}),h.reduce((g,b)=>(d.setEdge(g,b,{style:"invis"}),b))}),d}}),WB=vt((e,t)=>{t.exports="2.0.4"}),JB=vt((e,t)=>{t.exports={graphlib:zr(),layout:ZB(),debug:QB(),util:{time:ln().time,notime:ln().notime},version:WB()}});const t_=JB();/*! For license information please see dagre.esm.js.LEGAL.txt */const n_={running:"bg-blue-500",completed:"bg-emerald-500",failed:"bg-red-500",error:"bg-red-500"};function e7({data:e,selected:t}){const r=e;return m.jsxs("div",{className:`w-[260px] rounded-lg border px-4 py-3 transition-colors ${r.isSelected||t?"border-white/30 bg-[#0a0a0a]":"border-[#222] bg-black hover:border-[#333]"}`,children:[m.jsx(tl,{type:"target",position:ze.Top,isConnectable:!1,className:`!w-1.5 !h-1.5 !border-0 ${r.parentId?"!bg-[#444]":"!bg-transparent"}`}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsxs("span",{className:"relative flex h-2 w-2 shrink-0",children:[m.jsx("span",{className:`absolute inline-flex h-full w-full rounded-full opacity-75 ${n_[r.status]??"bg-gray-500"} ${r.status==="running"?"animate-ping":""}`}),m.jsx("span",{className:`relative inline-flex h-2 w-2 rounded-full ${n_[r.status]??"bg-gray-500"}`})]}),m.jsx("span",{className:"text-sm font-semibold text-white leading-snug line-clamp-3",children:r.name})]}),m.jsx(tl,{type:"source",position:ze.Bottom,isConnectable:!1,className:`!w-1.5 !h-1.5 !border-0 ${r.children&&r.children.length>0?"!bg-[#444]":"!bg-transparent"}`})]})}const t7=ee.memo(e7);function ro({w:e=24}){return m.jsxs("div",{className:"w-[180px] h-[72px] rounded-lg border border-[#222] bg-[#0a0a0a] px-3 py-2 shrink-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[m.jsx("div",{className:"w-2 h-2 rounded-full bg-[#2a2a2a]"}),m.jsx("div",{className:"h-3 rounded bg-[#252525]",style:{width:`${e*4}px`}})]}),m.jsx("div",{className:"h-2 w-28 rounded bg-[#1e1e1e] mb-1.5"}),m.jsxs("div",{className:"flex gap-3",children:[m.jsx("div",{className:"h-2 w-8 rounded bg-[#1e1e1e]"}),m.jsx("div",{className:"h-2 w-8 rounded bg-[#1e1e1e]"})]})]})}function Bs(){return m.jsx("div",{className:"w-px h-6 bg-[#2a2a2a]"})}function r_({count:e}){return m.jsx("div",{className:"relative flex justify-center",children:m.jsx("div",{className:"absolute top-0 h-px bg-[#2a2a2a]",style:{width:`${(e-1)*220}px`}})})}function n7(){return m.jsx("div",{className:"h-full bg-black overflow-hidden",children:m.jsxs("div",{className:"flex flex-col items-center pt-10 animate-pulse",children:[m.jsx(ro,{w:20}),m.jsx(Bs,{}),m.jsx(r_,{count:3}),m.jsx("div",{className:"flex gap-10",children:[18,22,16].map((e,t)=>m.jsxs("div",{className:"flex flex-col items-center",children:[m.jsx(Bs,{}),m.jsx(ro,{w:e})]},t))}),m.jsxs("div",{className:"flex gap-10 w-full justify-center",children:[m.jsxs("div",{className:"flex flex-col items-center",children:[m.jsx(Bs,{}),m.jsx(r_,{count:2}),m.jsx("div",{className:"flex gap-10",children:[14,20].map((e,t)=>m.jsxs("div",{className:"flex flex-col items-center",children:[m.jsx(Bs,{}),m.jsx(ro,{w:e})]},t))})]}),m.jsxs("div",{className:"flex flex-col items-center",children:[m.jsx(Bs,{}),m.jsx(ro,{w:18}),m.jsx(Bs,{}),m.jsx(ro,{w:12})]}),m.jsx("div",{className:"w-[180px]"})]})]})})}const yp=260,vp=80,r7={agentNode:t7};function i7(e,t){const r=new t_.graphlib.Graph;r.setDefaultEdgeLabel(()=>({})),r.setGraph({rankdir:"TB",nodesep:60,ranksep:80});const a=[],s=[];for(const[o,c]of e)if(r.setNode(o,{width:yp,height:vp}),a.push({id:o,type:"agentNode",position:{x:0,y:0},data:{...c,isSelected:o===t}}),c.parentId&&e.has(c.parentId)){const d=`${c.parentId}->${o}`;r.setEdge(c.parentId,o),s.push({id:d,source:c.parentId,target:o,style:{stroke:"#2a2a2a",strokeWidth:1.5}})}t_.layout(r);for(const o of a){const c=r.node(o.id);c&&(o.position={x:c.x-yp/2,y:c.y-vp/2})}return{nodes:a,edges:s}}const Lm=300;function a7({nodes:e}){const{setCenter:t}=qo(),r=ee.useRef(!1);return ee.useEffect(()=>{if(e.length>0&&!r.current){const s=e.find(d=>!d.data.parentId)??e[0];r.current=!0;const o=s.position.x+yp/2,c=s.position.y+vp/2;setTimeout(()=>t(o,c,{zoom:.85,duration:400}),60)}},[e,t]),null}function s7(){const{zoomIn:e,zoomOut:t,fitView:r}=qo();return m.jsx(dB,{position:"bottom-right",showZoom:!1,showFitView:!1,showInteractive:!1,className:"!bg-transparent !border-none !shadow-none",children:m.jsxs("div",{className:"flex flex-col overflow-hidden rounded-lg border border-[#222]",children:[m.jsx("button",{onClick:()=>e({duration:Lm}),className:"flex items-center justify-center w-7 h-7 bg-[#111] text-white hover:bg-[#2a2a2a] transition-colors",title:"Zoom in",children:m.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,className:"w-3.5 h-3.5",children:m.jsx("path",{d:"M12 5v14M5 12h14"})})}),m.jsx("button",{onClick:()=>t({duration:Lm}),className:"flex items-center justify-center w-7 h-7 bg-[#111] text-white hover:bg-[#2a2a2a] border-y border-[#222] transition-colors",title:"Zoom out",children:m.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,className:"w-3.5 h-3.5",children:m.jsx("path",{d:"M5 12h14"})})}),m.jsx("button",{onClick:()=>r({padding:.3,duration:Lm}),className:"flex items-center justify-center w-7 h-7 bg-[#111] text-white hover:bg-[#2a2a2a] transition-colors",title:"Fit view",children:m.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,className:"w-3.5 h-3.5",children:m.jsx("path",{d:"M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7"})})})]})})}function l7({agents:e,selectedAgentId:t,onSelectAgent:r,eventsLoaded:a,eventsEmpty:s,scanCompleted:o}){const[c,d,h]=W9([]),[f,p,g]=J9([]);ee.useEffect(()=>{if(e.size===0)return;const{nodes:S,edges:w}=i7(e,t);d(S),p(w)},[e.size,d,p]),ee.useEffect(()=>{e.size!==0&&d(S=>S.map(w=>{const C=e.get(w.id);return C?{...w,data:{...C,isSelected:w.id===t}}:w}))},[e,t,d]);const b=ee.useRef(!1),y=ee.useCallback((S,w)=>{b.current=!0,r(w.id)},[r]),_=ee.useCallback(()=>{if(b.current){b.current=!1;return}r(null)},[r]);if(e.size===0&&a&&s)return m.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center px-4",children:[m.jsx("div",{className:"w-10 h-10 mb-3 rounded-full bg-[#111] flex items-center justify-center",children:o?m.jsx("svg",{className:"w-5 h-5 text-[#444]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6ZM3.75 15.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6ZM13.5 15.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25a2.25 2.25 0 0 1-2.25-2.25v-2.25Z"})}):m.jsx("div",{className:"w-2 h-2 rounded-full bg-blue-500 animate-pulse"})}),m.jsx("p",{className:"text-sm text-[#555]",children:o?"Agent trace data is not available for this pentest":"Waiting for agent data…"})]});const N=e.size>0;return m.jsxs("div",{className:"relative h-full",children:[m.jsx("div",{className:`absolute inset-0 z-10 transition-opacity duration-500 ${N?"opacity-0 pointer-events-none":"opacity-100"}`,children:m.jsx(n7,{})}),m.jsx("div",{className:`h-full transition-opacity duration-500 ${N?"opacity-100":"opacity-0"}`,children:m.jsxs(Q9,{nodes:c,edges:f,onNodesChange:h,onEdgesChange:g,onNodeClick:y,onPaneClick:_,nodeTypes:r7,nodesConnectable:!1,edgesFocusable:!1,edgesReconnectable:!1,minZoom:.15,maxZoom:1.5,proOptions:{hideAttribution:!0},className:"bg-black",children:[m.jsx(iB,{color:"#111",gap:20}),m.jsx(a7,{nodes:c}),m.jsx(s7,{}),m.jsx(SB,{position:"bottom-left",nodeColor:S=>{var C;const w=(C=S.data)==null?void 0:C.status;return w==="running"?"#3b82f6":w==="completed"?"#10b981":w==="failed"||w==="error"?"#ef4444":"#555"},maskColor:"rgba(0,0,0,0.8)",style:{width:80,height:50},className:"!bg-[#0a0a0a] !border-[#222]"})]})})]})}function da({text:e,className:t=""}){return m.jsx("div",{className:`prose-markdown ${t}`,children:m.jsx(Yp,{remarkPlugins:[Qp],rehypePlugins:[Wp],components:Jp,children:e})})}const i_=6,a_=20;function Yt({text:e,maxLines:t=20}){const[r,a]=ee.useState(!1),o=e.trimEnd().split(` +`)),p=f.reduce((g,b)=>g.concat(...b),[]);return[f,p]}return[[],[]]},[e]);return ee.useEffect(()=>{const h=(t==null?void 0:t.target)??L1,f=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const p=y=>{var S,w;if(s.current=y.ctrlKey||y.metaKey||y.shiftKey||y.altKey,(!s.current||s.current&&!f)&&mN(y))return!1;const N=I1(y.code,d);if(o.current.add(y[N]),z1(c,o.current,!1)){const C=((w=(S=y.composedPath)==null?void 0:S.call(y))==null?void 0:w[0])||y.target,E=(C==null?void 0:C.nodeName)==="BUTTON"||(C==null?void 0:C.nodeName)==="A";t.preventDefault!==!1&&(s.current||!E)&&y.preventDefault(),a(!0)}},g=y=>{const _=I1(y.code,d);z1(c,o.current,!0)?(a(!1),o.current.clear()):o.current.delete(y[_]),y.key==="Meta"&&o.current.clear(),s.current=!1},b=()=>{o.current.clear(),a(!1)};return h==null||h.addEventListener("keydown",p),h==null||h.addEventListener("keyup",g),window.addEventListener("blur",b),window.addEventListener("contextmenu",b),()=>{h==null||h.removeEventListener("keydown",p),h==null||h.removeEventListener("keyup",g),window.removeEventListener("blur",b),window.removeEventListener("contextmenu",b)}}},[e,a]),r}function z1(e,t,r){return e.filter(a=>r||a.length===t.size).some(a=>a.every(s=>t.has(s)))}function I1(e,t){return t.includes(e)?"code":"key"}const S8=()=>{const e=Lt();return ee.useMemo(()=>({zoomIn:async t=>{const{panZoom:r}=e.getState();return r?r.scaleBy(1.2,t):!1},zoomOut:async t=>{const{panZoom:r}=e.getState();return r?r.scaleBy(1/1.2,t):!1},zoomTo:async(t,r)=>{const{panZoom:a}=e.getState();return a?a.scaleTo(t,r):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,r)=>{const{transform:[a,s,o],panZoom:c}=e.getState();return c?(await c.setViewport({x:t.x??a,y:t.y??s,zoom:t.zoom??o},r),!0):!1},getViewport:()=>{const[t,r,a]=e.getState().transform;return{x:t,y:r,zoom:a}},setCenter:async(t,r,a)=>e.getState().setCenter(t,r,a),fitBounds:async(t,r)=>{const{width:a,height:s,minZoom:o,maxZoom:c,panZoom:d}=e.getState(),h=ug(t,a,s,o,c,(r==null?void 0:r.padding)??.1);return d?(await d.setViewport(h,{duration:r==null?void 0:r.duration,ease:r==null?void 0:r.ease,interpolate:r==null?void 0:r.interpolate}),!0):!1},screenToFlowPosition:(t,r={})=>{const{transform:a,snapGrid:s,snapToGrid:o,domNode:c}=e.getState();if(!c)return t;const{x:d,y:h}=c.getBoundingClientRect(),f={x:t.x-d,y:t.y-h},p=r.snapGrid??s,g=r.snapToGrid??o;return $o(f,a,g,p)},flowToScreenPosition:t=>{const{transform:r,domNode:a}=e.getState();if(!a)return t;const{x:s,y:o}=a.getBoundingClientRect(),c=Js(t,r);return{x:c.x+s,y:c.y+o}}}),[])};function zN(e,t){const r=[],a=new Map,s=[];for(const o of e)if(o.type==="add"){s.push(o);continue}else if(o.type==="remove"||o.type==="replace")a.set(o.id,[o]);else{const c=a.get(o.id);c?c.push(o):a.set(o.id,[o])}for(const o of t){const c=a.get(o.id);if(!c){r.push(o);continue}if(c[0].type==="remove")continue;if(c[0].type==="replace"){r.push({...c[0].item});continue}const d={...o};for(const h of c)k8(h,d);r.push(d)}return s.length&&s.forEach(o=>{o.index!==void 0?r.splice(o.index,0,{...o.item}):r.push({...o.item})}),r}function k8(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function IN(e,t){return zN(e,t)}function BN(e,t){return zN(e,t)}function Ha(e,t){return{id:e,type:"select",selected:t}}function qs(e,t=new Set,r=!1){const a=[];for(const[s,o]of e){const c=t.has(s);!(o.selected===void 0&&!c)&&o.selected!==c&&(r&&(o.selected=c),a.push(Ha(o.id,c)))}return a}function B1({items:e=[],lookup:t}){var s;const r=[],a=new Map(e.map(o=>[o.id,o]));for(const[o,c]of e.entries()){const d=t.get(c.id),h=((s=d==null?void 0:d.internals)==null?void 0:s.userNode)??d;h!==void 0&&h!==c&&r.push({id:c.id,item:c,type:"replace"}),h===void 0&&r.push({item:c,type:"add",index:o})}for(const[o]of t)a.get(o)===void 0&&r.push({id:o,type:"remove"});return r}function U1(e){return{id:e.id,type:"remove"}}const C8=uN();function T8(e,t,r={}){return hI(e,t,{...r,onError:r.onError??C8})}const H1=e=>Wz(e),A8=e=>aN(e);function UN(e){return ee.forwardRef(e)}const HN=typeof window<"u"?ee.useLayoutEffect:ee.useEffect;function $1(e){const[t,r]=ee.useState(BigInt(0)),[a]=ee.useState(()=>M8(()=>r(s=>s+BigInt(1))));return HN(()=>{const s=a.get();s.length&&(e(s),a.reset())},[t]),a}function M8(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:r=>{t.push(r),e()}}}const $N=ee.createContext(null);function O8({children:e}){const t=Lt(),r=ee.useCallback(d=>{const{nodes:h=[],setNodes:f,hasDefaultNodes:p,onNodesChange:g,nodeLookup:b,fitViewQueued:y,onNodesChangeMiddlewareMap:_}=t.getState();let N=h;for(const w of d)N=typeof w=="function"?w(N):w;let S=B1({items:N,lookup:b});for(const w of _.values())S=w(S);p&&f(N),S.length>0?g==null||g(S):y&&window.requestAnimationFrame(()=>{const{fitViewQueued:w,nodes:C,setNodes:E}=t.getState();w&&E(C)})},[]),a=$1(r),s=ee.useCallback(d=>{const{edges:h=[],setEdges:f,hasDefaultEdges:p,onEdgesChange:g,edgeLookup:b}=t.getState();let y=h;for(const _ of d)y=typeof _=="function"?_(y):_;p?f(y):g&&g(B1({items:y,lookup:b}))},[]),o=$1(s),c=ee.useMemo(()=>({nodeQueue:a,edgeQueue:o}),[]);return m.jsx($N.Provider,{value:c,children:e})}function R8(){const e=ee.useContext($N);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const j8=e=>!!e.panZoom;function qo(){const e=S8(),t=Lt(),r=R8(),a=dt(j8),s=ee.useMemo(()=>{const o=g=>t.getState().nodeLookup.get(g),c=g=>{r.nodeQueue.push(g)},d=g=>{r.edgeQueue.push(g)},h=g=>{var w,C;const{nodeLookup:b,nodeOrigin:y}=t.getState(),_=H1(g)?g:b.get(g.id),N=_.parentId?fN(_.position,_.measured,_.parentId,b,y):_.position,S={..._,position:N,width:((w=_.measured)==null?void 0:w.width)??_.width,height:((C=_.measured)==null?void 0:C.height)??_.height};return ko(S)},f=(g,b,y={replace:!1})=>{c(_=>_.map(N=>{if(N.id===g){const S=typeof b=="function"?b(N):b;return y.replace&&H1(S)?S:{...N,...S}}return N}))},p=(g,b,y={replace:!1})=>{d(_=>_.map(N=>{if(N.id===g){const S=typeof b=="function"?b(N):b;return y.replace&&A8(S)?S:{...N,...S}}return N}))};return{getNodes:()=>t.getState().nodes.map(g=>({...g})),getNode:g=>{var b;return(b=o(g))==null?void 0:b.internals.userNode},getInternalNode:o,getEdges:()=>{const{edges:g=[]}=t.getState();return g.map(b=>({...b}))},getEdge:g=>t.getState().edgeLookup.get(g),setNodes:c,setEdges:d,addNodes:g=>{const b=Array.isArray(g)?g:[g];r.nodeQueue.push(y=>[...y,...b])},addEdges:g=>{const b=Array.isArray(g)?g:[g];r.edgeQueue.push(y=>[...y,...b])},toObject:()=>{const{nodes:g=[],edges:b=[],transform:y}=t.getState(),[_,N,S]=y;return{nodes:g.map(w=>({...w})),edges:b.map(w=>({...w})),viewport:{x:_,y:N,zoom:S}}},deleteElements:async({nodes:g=[],edges:b=[]})=>{const{nodes:y,edges:_,onNodesDelete:N,onEdgesDelete:S,triggerNodeChanges:w,triggerEdgeChanges:C,onDelete:E,onBeforeDelete:A}=t.getState(),{nodes:B,edges:R}=await rI({nodesToRemove:g,edgesToRemove:b,nodes:y,edges:_,onBeforeDelete:A}),H=R.length>0,z=B.length>0;if(H){const Y=R.map(U1);S==null||S(R),C(Y)}if(z){const Y=B.map(U1);N==null||N(B),w(Y)}return(z||H)&&(E==null||E({nodes:B,edges:R})),{deletedNodes:B,deletedEdges:R}},getIntersectingNodes:(g,b=!0,y)=>{const _=d1(g),N=_?g:h(g),S=y!==void 0;return N?(y||t.getState().nodes).filter(w=>{const C=t.getState().nodeLookup.get(w.id);if(C&&!_&&(w.id===g.id||!C.internals.positionAbsolute))return!1;const E=ko(S?w:C),A=Uu(E,N);return b&&A>0||A>=E.width*E.height||A>=N.width*N.height}):[]},isNodeIntersecting:(g,b,y=!0)=>{const N=d1(g)?g:h(g);if(!N)return!1;const S=Uu(N,b);return y&&S>0||S>=b.width*b.height||S>=N.width*N.height},updateNode:f,updateNodeData:(g,b,y={replace:!1})=>{f(g,_=>{const N=typeof b=="function"?b(_):b;return y.replace?{..._,data:N}:{..._,data:{..._.data,...N}}},y)},updateEdge:p,updateEdgeData:(g,b,y={replace:!1})=>{p(g,_=>{const N=typeof b=="function"?b(_):b;return y.replace?{..._,data:N}:{..._,data:{..._.data,...N}}},y)},getNodesBounds:g=>{const{nodeLookup:b,nodeOrigin:y}=t.getState();return Jz(g,{nodeLookup:b,nodeOrigin:y})},getHandleConnections:({type:g,id:b,nodeId:y})=>{var _;return Array.from(((_=t.getState().connectionLookup.get(`${y}-${g}${b?`-${b}`:""}`))==null?void 0:_.values())??[])},getNodeConnections:({type:g,handleId:b,nodeId:y})=>{var _;return Array.from(((_=t.getState().connectionLookup.get(`${y}${g?b?`-${g}-${b}`:`-${g}`:""}`))==null?void 0:_.values())??[])},fitView:async g=>{const b=t.getState().fitViewResolver??sI();return t.setState({fitViewQueued:!0,fitViewOptions:g,fitViewResolver:b}),r.nodeQueue.push(y=>[...y]),b.promise}}},[]);return ee.useMemo(()=>({...s,...e,viewportInitialized:a}),[a])}const q1=e=>e.selected,D8=typeof window<"u"?window:void 0;function L8({deleteKeyCode:e,multiSelectionKeyCode:t}){const r=Lt(),{deleteElements:a}=qo(),s=To(e,{actInsideInputWithModifier:!1}),o=To(t,{target:D8});ee.useEffect(()=>{if(s){const{edges:c,nodes:d}=r.getState();a({nodes:d.filter(q1),edges:c.filter(q1)}),r.setState({nodesSelectionActive:!1})}},[s]),ee.useEffect(()=>{r.setState({multiSelectionActive:o})},[o])}function z8(e){const t=Lt();ee.useEffect(()=>{const r=()=>{var s,o,c,d;if(!e.current||!(((o=(s=e.current).checkVisibility)==null?void 0:o.call(s))??!0))return!1;const a=dg(e.current);(a.height===0||a.width===0)&&((d=(c=t.getState()).onError)==null||d.call(c,"004",Lr.error004())),t.setState({width:a.width||500,height:a.height||500})};if(e.current){r(),window.addEventListener("resize",r);const a=new ResizeObserver(()=>r());return a.observe(e.current),()=>{window.removeEventListener("resize",r),a&&e.current&&a.unobserve(e.current)}}},[])}const cd={position:"absolute",width:"100%",height:"100%",top:0,left:0},I8=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function B8({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:r=!0,panOnScroll:a=!1,panOnScrollSpeed:s=.5,panOnScrollMode:o=Fa.Free,zoomOnDoubleClick:c=!0,panOnDrag:d=!0,defaultViewport:h,translateExtent:f,minZoom:p,maxZoom:g,zoomActivationKeyCode:b,preventScrolling:y=!0,children:_,noWheelClassName:N,noPanClassName:S,onViewportChange:w,isControlledViewport:C,paneClickDistance:E,selectionOnDrag:A}){const B=Lt(),R=ee.useRef(null),{userSelectionActive:H,lib:z,connectionInProgress:Y}=dt(I8,Pt),j=To(b),I=ee.useRef();z8(R);const Z=ee.useCallback(P=>{w==null||w({x:P[0],y:P[1],zoom:P[2]}),C||B.setState({transform:P})},[w,C]);return ee.useEffect(()=>{if(R.current){I.current=PI({domNode:R.current,minZoom:p,maxZoom:g,translateExtent:f,viewport:h,onDraggingChange:O=>B.setState(U=>U.paneDragging===O?U:{paneDragging:O}),onPanZoomStart:(O,U)=>{const{onViewportChangeStart:K,onMoveStart:X}=B.getState();X==null||X(O,U),K==null||K(U)},onPanZoom:(O,U)=>{const{onViewportChange:K,onMove:X}=B.getState();X==null||X(O,U),K==null||K(U)},onPanZoomEnd:(O,U)=>{const{onViewportChangeEnd:K,onMoveEnd:X}=B.getState();X==null||X(O,U),K==null||K(U)}});const{x:P,y:k,zoom:$}=I.current.getViewport();return B.setState({panZoom:I.current,transform:[P,k,$],domNode:R.current.closest(".react-flow")}),()=>{var O;(O=I.current)==null||O.destroy()}}},[]),ee.useEffect(()=>{var P;(P=I.current)==null||P.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:r,panOnScroll:a,panOnScrollSpeed:s,panOnScrollMode:o,zoomOnDoubleClick:c,panOnDrag:d,zoomActivationKeyPressed:j,preventScrolling:y,noPanClassName:S,userSelectionActive:H,noWheelClassName:N,lib:z,onTransformChange:Z,connectionInProgress:Y,selectionOnDrag:A,paneClickDistance:E})},[e,t,r,a,s,o,c,d,j,y,S,H,N,z,Z,Y,A,E]),m.jsx("div",{className:"react-flow__renderer",ref:R,style:cd,children:_})}const U8=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function H8(){const{userSelectionActive:e,userSelectionRect:t}=dt(U8,Pt);return e&&t?m.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const jm=(e,t)=>r=>{r.target===t.current&&(e==null||e(r))},$8=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function q8({isSelecting:e,selectionKeyPressed:t,selectionMode:r=So.Full,panOnDrag:a,autoPanOnSelection:s,paneClickDistance:o,selectionOnDrag:c,onSelectionStart:d,onSelectionEnd:h,onPaneClick:f,onPaneContextMenu:p,onPaneScroll:g,onPaneMouseEnter:b,onPaneMouseMove:y,onPaneMouseLeave:_,children:N}){const S=ee.useRef(0),w=Lt(),{userSelectionActive:C,elementsSelectable:E,dragging:A,panBy:B,autoPanSpeed:R}=dt($8,Pt),H=E&&(e||C),z=ee.useRef(null),Y=ee.useRef(),j=ee.useRef(new Set),I=ee.useRef(new Set),Z=ee.useRef(!1),P=ee.useRef(!1),k=ee.useRef({x:0,y:0}),$=ee.useRef(!1),O=W=>{if(P.current||Z.current||w.getState().connection.inProgress){P.current=!1,Z.current=!1;return}f==null||f(W),w.getState().resetSelectedElements(),w.setState({nodesSelectionActive:!1})},U=W=>{if(Array.isArray(a)&&(a!=null&&a.includes(2))){W.preventDefault();return}p==null||p(W)},K=g?W=>g(W):void 0,X=W=>{P.current&&(W.stopPropagation(),P.current=!1)},M=W=>{var st,Rt;const{domNode:te,transform:oe}=w.getState();if(Y.current=te==null?void 0:te.getBoundingClientRect(),!Y.current)return;const fe=W.target===z.current;if(!fe&&!!W.target.closest(".nokey")||!e||!(c&&fe||t)||W.button!==0||!W.isPrimary)return;(Rt=(st=W.target)==null?void 0:st.setPointerCapture)==null||Rt.call(st,W.pointerId),P.current=!1;const{x:Ne,y:De}=jr(W.nativeEvent,Y.current),$e=$o({x:Ne,y:De},oe);w.setState({userSelectionRect:{width:0,height:0,startX:$e.x,startY:$e.y,x:Ne,y:De}}),fe||(W.stopPropagation(),W.preventDefault())};function L(W,te){const{userSelectionRect:oe}=w.getState();if(!oe)return;const{transform:fe,nodeLookup:xe,edgeLookup:we,connectionLookup:Ne,triggerNodeChanges:De,triggerEdgeChanges:$e,defaultEdgeOptions:st}=w.getState(),Rt={x:oe.startX,y:oe.startY},{x:Xt,y:Ft}=Js(Rt,fe),Kt={startX:Rt.x,startY:Rt.y,x:WIt.id)),I.current=new Set;const ct=(st==null?void 0:st.selectable)??!0;for(const It of j.current){const ue=Ne.get(It);if(ue)for(const{edgeId:be}of ue.values()){const Oe=we.get(be);Oe&&(Oe.selectable??ct)&&I.current.add(be)}}if(!f1(Yn,j.current)){const It=qs(xe,j.current,!0);De(It)}if(!f1(Nn,I.current)){const It=qs(we,I.current);$e(It)}w.setState({userSelectionRect:Kt,userSelectionActive:!0,nodesSelectionActive:!1})}function F(){if(!s||!Y.current)return;const[W,te]=cg(k.current,Y.current,R);B({x:W,y:te}).then(oe=>{if(!P.current||!oe){S.current=requestAnimationFrame(F);return}const{x:fe,y:xe}=k.current;L(fe,xe),S.current=requestAnimationFrame(F)})}const D=()=>{cancelAnimationFrame(S.current),S.current=0,$.current=!1};ee.useEffect(()=>()=>D(),[]);const V=W=>{const{userSelectionRect:te,transform:oe,resetSelectedElements:fe}=w.getState();if(!Y.current||!te)return;const{x:xe,y:we}=jr(W.nativeEvent,Y.current);k.current={x:xe,y:we};const Ne=Js({x:te.startX,y:te.startY},oe);if(!P.current){const De=t?0:o;if(Math.hypot(xe-Ne.x,we-Ne.y)<=De)return;fe(),d==null||d(W)}P.current=!0,$.current||(F(),$.current=!0),L(xe,we)},q=W=>{var te,oe;if(!H){W.target===z.current&&w.getState().connection.inProgress&&(Z.current=!0);return}W.button===0&&((oe=(te=W.target)==null?void 0:te.releasePointerCapture)==null||oe.call(te,W.pointerId),!C&&W.target===z.current&&w.getState().userSelectionRect&&(O==null||O(W)),w.setState({userSelectionActive:!1,userSelectionRect:null}),P.current&&(h==null||h(W),w.setState({nodesSelectionActive:j.current.size>0})),D())},Q=W=>{var te,oe;(oe=(te=W.target)==null?void 0:te.releasePointerCapture)==null||oe.call(te,W.pointerId),D()},J=a===!0||Array.isArray(a)&&a.includes(0);return m.jsxs("div",{className:on(["react-flow__pane",{draggable:J,dragging:A,selection:e}]),onClick:H?void 0:jm(O,z),onContextMenu:jm(U,z),onWheel:jm(K,z),onPointerEnter:H?void 0:b,onPointerMove:H?V:y,onPointerUp:q,onPointerCancel:H?Q:void 0,onPointerDownCapture:H?M:void 0,onClickCapture:H?X:void 0,onPointerLeave:_,ref:z,style:cd,children:[N,m.jsx(H8,{})]})}function bp({id:e,store:t,unselect:r=!1,nodeRef:a}){const{addSelectedNodes:s,unselectNodesAndEdges:o,multiSelectionActive:c,nodeLookup:d,onError:h}=t.getState(),f=d.get(e);if(!f){h==null||h("012",Lr.error012(e));return}t.setState({nodesSelectionActive:!1}),f.selected?(r||f.selected&&c)&&(o({nodes:[f],edges:[]}),requestAnimationFrame(()=>{var p;return(p=a==null?void 0:a.current)==null?void 0:p.blur()})):s([e])}function qN({nodeRef:e,disabled:t=!1,noDragClassName:r,handleSelector:a,nodeId:s,isSelectable:o,nodeClickDistance:c}){const d=Lt(),[h,f]=ee.useState(!1),p=ee.useRef();return ee.useEffect(()=>{if(!t)return p.current=AI({getStoreItems:()=>d.getState(),onNodeMouseDown:g=>{bp({id:g,store:d,nodeRef:e})},onDragStart:()=>{f(!0)},onDragStop:()=>{f(!1)}}),()=>{var g;(g=p.current)==null||g.destroy(),p.current=void 0}},[t,d,e]),ee.useEffect(()=>{t||!e.current||!p.current||p.current.update({noDragClassName:r,handleSelector:a,domNode:e.current,isSelectable:o,nodeId:s,nodeClickDistance:c})},[r,a,t,o,e,s,c]),h}const P8=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function PN(){const e=Lt();return ee.useCallback(r=>{const{nodeExtent:a,snapToGrid:s,snapGrid:o,nodesDraggable:c,onError:d,updateNodePositions:h,nodeLookup:f,nodeOrigin:p}=e.getState(),g=new Map,b=P8(c),y=s?o[0]:5,_=s?o[1]:5,N=r.direction.x*y*r.factor,S=r.direction.y*_*r.factor;for(const[,w]of f){if(!b(w))continue;let C={x:w.internals.positionAbsolute.x+N,y:w.internals.positionAbsolute.y+S};s&&(C=Ho(C,o));const{position:E,positionAbsolute:A}=sN({nodeId:w.id,nextPosition:C,nodeLookup:f,nodeExtent:a,nodeOrigin:p,onError:d});w.position=E,w.internals.positionAbsolute=A,g.set(w.id,w)}h(g)},[])}const xg=ee.createContext(null),F8=xg.Provider;xg.Consumer;const FN=()=>ee.useContext(xg),G8=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),GN=ee.createContext(null);function V8({children:e}){const t=dt(G8,Pt);return m.jsx(GN.Provider,{value:t,children:e})}function Y8(){const e=ee.useContext(GN);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const X8={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},K8=(e,t,r)=>a=>{const{connectionClickStartHandle:s,connectionMode:o,connection:c}=a,{fromHandle:d,toHandle:h,isValid:f}=c;if(!d&&!s)return X8;const p=(h==null?void 0:h.nodeId)===e&&(h==null?void 0:h.id)===t&&(h==null?void 0:h.type)===r;return{connectingFrom:(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===t&&(d==null?void 0:d.type)===r,connectingTo:p,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===t&&(s==null?void 0:s.type)===r,isPossibleEndHandle:o===Qs.Strict?(d==null?void 0:d.type)!==r:e!==(d==null?void 0:d.nodeId)||t!==(d==null?void 0:d.id),connectionInProcess:!!d,clickConnectionInProcess:!!s,valid:p&&f}};function Z8({type:e="source",position:t=ze.Top,isValidConnection:r,isConnectable:a=!0,isConnectableStart:s=!0,isConnectableEnd:o=!0,id:c,onConnect:d,children:h,className:f,onMouseDown:p,onTouchStart:g,...b},y){var $,O;const _=c||null,N=e==="target",S=Lt(),w=FN(),{connectOnClick:C,noPanClassName:E,rfId:A}=Y8(),{connectingFrom:B,connectingTo:R,clickConnecting:H,isPossibleEndHandle:z,connectionInProcess:Y,clickConnectionInProcess:j,valid:I}=dt(K8(w,_,e),Pt);w||(O=($=S.getState()).onError)==null||O.call($,"010",Lr.error010());const Z=U=>{const{defaultEdgeOptions:K,onConnect:X,hasDefaultEdges:M}=S.getState(),L={...K,...U};if(M){const{edges:F,setEdges:D,onError:V}=S.getState();D(T8(L,F,{onError:V}))}X==null||X(L),d==null||d(L)},P=U=>{if(!w)return;const K=pN(U.nativeEvent);if(s&&(K&&U.button===0||!K)){const X=S.getState();xp.onPointerDown(U.nativeEvent,{handleDomNode:U.currentTarget,autoPanOnConnect:X.autoPanOnConnect,connectionMode:X.connectionMode,connectionRadius:X.connectionRadius,domNode:X.domNode,nodeLookup:X.nodeLookup,lib:X.lib,isTarget:N,handleId:_,nodeId:w,flowId:X.rfId,panBy:X.panBy,cancelConnection:X.cancelConnection,onConnectStart:X.onConnectStart,onConnectEnd:(...M)=>{var L,F;return(F=(L=S.getState()).onConnectEnd)==null?void 0:F.call(L,...M)},updateConnection:X.updateConnection,onConnect:Z,isValidConnection:r||((...M)=>{var L,F;return((F=(L=S.getState()).isValidConnection)==null?void 0:F.call(L,...M))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:X.autoPanSpeed,dragThreshold:X.connectionDragThreshold})}K?p==null||p(U):g==null||g(U)},k=U=>{const{onClickConnectStart:K,onClickConnectEnd:X,connectionClickStartHandle:M,connectionMode:L,isValidConnection:F,lib:D,rfId:V,nodeLookup:q,connection:Q}=S.getState();if(!w||!M&&!s)return;if(!M){K==null||K(U.nativeEvent,{nodeId:w,handleId:_,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:w,type:e,id:_}});return}const J=hN(U.target),W=r||F,{connection:te,isValid:oe}=xp.isValid(U.nativeEvent,{handle:{nodeId:w,id:_,type:e},connectionMode:L,fromNodeId:M.nodeId,fromHandleId:M.id||null,fromType:M.type,isValidConnection:W,flowId:V,doc:J,lib:D,nodeLookup:q});oe&&te&&Z(te);const fe=structuredClone(Q);delete fe.inProgress,fe.toPosition=fe.toHandle?fe.toHandle.position:null,X==null||X(U,fe),S.setState({connectionClickStartHandle:null})};return m.jsx("div",{"data-handleid":_,"data-nodeid":w,"data-handlepos":t,"data-id":`${A}-${w}-${_}-${e}`,className:on(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",E,f,{source:!N,target:N,connectable:a,connectablestart:s,connectableend:o,clickconnecting:H,connectingfrom:B,connectingto:R,valid:I,connectionindicator:a&&(!Y||z)&&(Y||j?o:s)}]),onMouseDown:P,onTouchStart:P,onClick:C?k:void 0,ref:y,...b,children:h})}const tl=ee.memo(UN(Z8));function Q8({data:e,isConnectable:t,sourcePosition:r=ze.Bottom}){return m.jsxs(m.Fragment,{children:[e==null?void 0:e.label,m.jsx(tl,{type:"source",position:r,isConnectable:t})]})}function W8({data:e,isConnectable:t,targetPosition:r=ze.Top,sourcePosition:a=ze.Bottom}){return m.jsxs(m.Fragment,{children:[m.jsx(tl,{type:"target",position:r,isConnectable:t}),e==null?void 0:e.label,m.jsx(tl,{type:"source",position:a,isConnectable:t})]})}function J8(){return null}function e9({data:e,isConnectable:t,targetPosition:r=ze.Top}){return m.jsxs(m.Fragment,{children:[m.jsx(tl,{type:"target",position:r,isConnectable:t}),e==null?void 0:e.label]})}const Hu={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},P1={input:Q8,default:W8,output:e9,group:J8};function t9(e){var t,r,a,s;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((r=e.style)==null?void 0:r.height)}:{width:e.width??((a=e.style)==null?void 0:a.width),height:e.height??((s=e.style)==null?void 0:s.height)}}const n9=e=>{const{width:t,height:r,x:a,y:s}=Uo(e.nodeLookup,{filter:o=>!!o.selected});return{width:Rr(t)?t:null,height:Rr(r)?r:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${a}px,${s}px)`}};function r9({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:r}){const a=Lt(),{width:s,height:o,transformString:c,userSelectionActive:d}=dt(n9,Pt),h=PN(),f=ee.useRef(null);ee.useEffect(()=>{var y;r||(y=f.current)==null||y.focus({preventScroll:!0})},[r]);const p=!d&&s!==null&&o!==null;if(qN({nodeRef:f,disabled:!p}),!p)return null;const g=e?y=>{const _=a.getState().nodes.filter(N=>N.selected);e(y,_)}:void 0,b=y=>{Object.prototype.hasOwnProperty.call(Hu,y.key)&&(y.preventDefault(),h({direction:Hu[y.key],factor:y.shiftKey?4:1}))};return m.jsx("div",{className:on(["react-flow__nodesselection","react-flow__container",t]),style:{transform:c},children:m.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:g,tabIndex:r?void 0:-1,onKeyDown:r?void 0:b,style:{width:s,height:o}})})}const F1=typeof window<"u"?window:void 0,i9=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function VN({children:e,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:a,onPaneMouseLeave:s,onPaneContextMenu:o,onPaneScroll:c,paneClickDistance:d,deleteKeyCode:h,selectionKeyCode:f,selectionOnDrag:p,selectionMode:g,onSelectionStart:b,onSelectionEnd:y,multiSelectionKeyCode:_,panActivationKeyCode:N,zoomActivationKeyCode:S,elementsSelectable:w,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:A,panOnScrollSpeed:B,panOnScrollMode:R,zoomOnDoubleClick:H,panOnDrag:z,autoPanOnSelection:Y,defaultViewport:j,translateExtent:I,minZoom:Z,maxZoom:P,preventScrolling:k,onSelectionContextMenu:$,noWheelClassName:O,noPanClassName:U,disableKeyboardA11y:K,onViewportChange:X,isControlledViewport:M}){const{nodesSelectionActive:L,userSelectionActive:F}=dt(i9,Pt),D=To(f,{target:F1}),V=To(N,{target:F1}),q=V||z,Q=V||A,J=p&&q!==!0,W=D||F||J;return L8({deleteKeyCode:h,multiSelectionKeyCode:_}),m.jsx(B8,{onPaneContextMenu:o,elementsSelectable:w,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:Q,panOnScrollSpeed:B,panOnScrollMode:R,zoomOnDoubleClick:H,panOnDrag:!D&&q,defaultViewport:j,translateExtent:I,minZoom:Z,maxZoom:P,zoomActivationKeyCode:S,preventScrolling:k,noWheelClassName:O,noPanClassName:U,onViewportChange:X,isControlledViewport:M,paneClickDistance:d,selectionOnDrag:J,children:m.jsxs(q8,{onSelectionStart:b,onSelectionEnd:y,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:a,onPaneMouseLeave:s,onPaneContextMenu:o,onPaneScroll:c,panOnDrag:q,autoPanOnSelection:Y,isSelecting:!!W,selectionMode:g,selectionKeyPressed:D,paneClickDistance:d,selectionOnDrag:J,children:[e,L&&m.jsx(r9,{onSelectionContextMenu:$,noPanClassName:U,disableKeyboardA11y:K})]})})}VN.displayName="FlowRenderer";const a9=ee.memo(VN),s9=e=>t=>e?og(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(r=>r.id):Array.from(t.nodeLookup.keys());function l9(e){return dt(ee.useCallback(s9(e),[e]),Pt)}const o9=e=>e.updateNodeInternals;function c9(){const e=dt(o9),[t]=ee.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(r=>{const a=new Map;r.forEach(s=>{const o=s.target.getAttribute("data-id");a.set(o,{id:o,nodeElement:s.target,force:!0})}),e(a)}));return ee.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function u9({node:e,nodeType:t,hasDimensions:r,resizeObserver:a}){const s=Lt(),o=ee.useRef(null),c=ee.useRef(null),d=ee.useRef(e.sourcePosition),h=ee.useRef(e.targetPosition),f=ee.useRef(t),p=r&&!!e.internals.handleBounds;return ee.useEffect(()=>{o.current&&!e.hidden&&(!p||c.current!==o.current)&&(c.current&&(a==null||a.unobserve(c.current)),a==null||a.observe(o.current),c.current=o.current)},[p,e.hidden]),ee.useEffect(()=>()=>{c.current&&(a==null||a.unobserve(c.current),c.current=null)},[]),ee.useEffect(()=>{if(o.current){const g=f.current!==t,b=d.current!==e.sourcePosition,y=h.current!==e.targetPosition;(g||b||y)&&(f.current=t,d.current=e.sourcePosition,h.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:o.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),o}function d9({id:e,onClick:t,onMouseEnter:r,onMouseMove:a,onMouseLeave:s,onContextMenu:o,onDoubleClick:c,nodesDraggable:d,elementsSelectable:h,nodesConnectable:f,nodesFocusable:p,resizeObserver:g,noDragClassName:b,noPanClassName:y,disableKeyboardA11y:_,rfId:N,nodeTypes:S,nodeClickDistance:w,onError:C}){const{node:E,internals:A,isParent:B}=dt(W=>{const te=W.nodeLookup.get(e),oe=W.parentLookup.has(e);return{node:te,internals:te.internals,isParent:oe}},Pt);let R=E.type||"default",H=(S==null?void 0:S[R])||P1[R];H===void 0&&(C==null||C("003",Lr.error003(R)),R="default",H=(S==null?void 0:S.default)||P1.default);const z=!!(E.draggable||d&&typeof E.draggable>"u"),Y=!!(E.selectable||h&&typeof E.selectable>"u"),j=!!(E.connectable||f&&typeof E.connectable>"u"),I=!!(E.focusable||p&&typeof E.focusable>"u"),Z=Lt(),P=dN(E),k=u9({node:E,nodeType:R,hasDimensions:P,resizeObserver:g}),$=qN({nodeRef:k,disabled:E.hidden||!z,noDragClassName:b,handleSelector:E.dragHandle,nodeId:e,isSelectable:Y,nodeClickDistance:w}),O=PN();if(E.hidden)return null;const U=Qr(E),K=t9(E),X=Y||z||t||r||a||s,M=r?W=>r(W,{...A.userNode}):void 0,L=a?W=>a(W,{...A.userNode}):void 0,F=s?W=>s(W,{...A.userNode}):void 0,D=o?W=>o(W,{...A.userNode}):void 0,V=c?W=>c(W,{...A.userNode}):void 0,q=W=>{const{selectNodesOnDrag:te,nodeDragThreshold:oe}=Z.getState();Y&&(!te||!z||oe>0)&&bp({id:e,store:Z,nodeRef:k}),t&&t(W,{...A.userNode})},Q=W=>{if(!(mN(W.nativeEvent)||_)){if(tN.includes(W.key)&&Y){const te=W.key==="Escape";bp({id:e,store:Z,unselect:te,nodeRef:k})}else if(z&&E.selected&&Object.prototype.hasOwnProperty.call(Hu,W.key)){W.preventDefault();const{ariaLabelConfig:te}=Z.getState();Z.setState({ariaLiveMessage:te["node.a11yDescription.ariaLiveMessage"]({direction:W.key.replace("Arrow","").toLowerCase(),x:~~A.positionAbsolute.x,y:~~A.positionAbsolute.y})}),O({direction:Hu[W.key],factor:W.shiftKey?4:1})}}},J=()=>{var Ne;if(_||!((Ne=k.current)!=null&&Ne.matches(":focus-visible")))return;const{transform:W,width:te,height:oe,autoPanOnNodeFocus:fe,setCenter:xe}=Z.getState();if(!fe)return;og(new Map([[e,E]]),{x:0,y:0,width:te,height:oe},W,!0).length>0||xe(E.position.x+U.width/2,E.position.y+U.height/2,{zoom:W[2]})};return m.jsx("div",{className:on(["react-flow__node",`react-flow__node-${R}`,{[y]:z},E.className,{selected:E.selected,selectable:Y,parent:B,draggable:z,dragging:$}]),ref:k,style:{zIndex:A.z,transform:`translate(${A.positionAbsolute.x}px,${A.positionAbsolute.y}px)`,pointerEvents:X?"all":"none",visibility:P?"visible":"hidden",...E.style,...K},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:M,onMouseMove:L,onMouseLeave:F,onContextMenu:D,onClick:q,onDoubleClick:V,onKeyDown:I?Q:void 0,tabIndex:I?0:void 0,onFocus:I?J:void 0,role:E.ariaRole??(I?"group":void 0),"aria-roledescription":"node","aria-describedby":_?void 0:`${jN}-${N}`,"aria-label":E.ariaLabel,...E.domAttributes,children:m.jsx(F8,{value:e,children:m.jsx(H,{id:e,data:E.data,type:R,positionAbsoluteX:A.positionAbsolute.x,positionAbsoluteY:A.positionAbsolute.y,selected:E.selected??!1,selectable:Y,draggable:z,deletable:E.deletable??!0,isConnectable:j,sourcePosition:E.sourcePosition,targetPosition:E.targetPosition,dragging:$,dragHandle:E.dragHandle,zIndex:A.z,parentId:E.parentId,...U})})})}var f9=ee.memo(d9);const h9=e=>({nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function YN(e){const{nodesConnectable:t,nodesFocusable:r,elementsSelectable:a,onError:s}=dt(h9,Pt),o=l9(e.onlyRenderVisibleElements),c=c9();return m.jsx("div",{className:"react-flow__nodes",style:cd,children:o.map(d=>m.jsx(f9,{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:c,nodesDraggable:e.nodesDraggable??!0,nodesConnectable:t,nodesFocusable:r,elementsSelectable:a,nodeClickDistance:e.nodeClickDistance,onError:s},d))})}YN.displayName="NodeRenderer";const m9=ee.memo(YN);function p9(e){return dt(ee.useCallback(r=>{if(!e)return r.edges.map(s=>s.id);const a=[];if(r.width&&r.height)for(const s of r.edges){const o=r.nodeLookup.get(s.source),c=r.nodeLookup.get(s.target);o&&c&&uI({sourceNode:o,targetNode:c,width:r.width,height:r.height,transform:r.transform})&&a.push(s.id)}return a},[e]),Pt)}const g9=({color:e="none",strokeWidth:t=1})=>{const r={strokeWidth:t,...e&&{stroke:e}};return m.jsx("polyline",{className:"arrow",style:r,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},x9=({color:e="none",strokeWidth:t=1})=>{const r={strokeWidth:t,...e&&{stroke:e,fill:e}};return m.jsx("polyline",{className:"arrowclosed",style:r,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},G1={[Iu.Arrow]:g9,[Iu.ArrowClosed]:x9};function b9(e){const t=Lt();return ee.useMemo(()=>{var s,o;return Object.prototype.hasOwnProperty.call(G1,e)?G1[e]:((o=(s=t.getState()).onError)==null||o.call(s,"009",Lr.error009(e)),null)},[e])}const y9=({id:e,type:t,color:r,width:a=12.5,height:s=12.5,markerUnits:o="strokeWidth",strokeWidth:c,orient:d="auto-start-reverse"})=>{const h=b9(t);return h?m.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${a}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:d,refX:"0",refY:"0",children:m.jsx(h,{color:r,strokeWidth:c})}):null},XN=({defaultColor:e,rfId:t})=>{const r=dt(o=>o.edges),a=dt(o=>o.defaultEdgeOptions),s=ee.useMemo(()=>bI(r,{id:t,defaultColor:e,defaultMarkerStart:a==null?void 0:a.markerStart,defaultMarkerEnd:a==null?void 0:a.markerEnd}),[r,a,t,e]);return s.length?m.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:m.jsx("defs",{children:s.map(o=>m.jsx(y9,{id:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient},o.id))})}):null};XN.displayName="MarkerDefinitions";var v9=ee.memo(XN);function KN({x:e,y:t,label:r,labelStyle:a,labelShowBg:s=!0,labelBgStyle:o,labelBgPadding:c=[2,4],labelBgBorderRadius:d=2,children:h,className:f,...p}){const[g,b]=ee.useState({x:1,y:0,width:0,height:0}),y=on(["react-flow__edge-textwrapper",f]),_=ee.useRef(null);return ee.useEffect(()=>{if(_.current){const N=_.current.getBBox();b({x:N.x,y:N.y,width:N.width,height:N.height})}},[r]),r?m.jsxs("g",{transform:`translate(${e-g.width/2} ${t-g.height/2})`,className:y,visibility:g.width?"visible":"hidden",...p,children:[s&&m.jsx("rect",{width:g.width+2*c[0],x:-c[0],y:-c[1],height:g.height+2*c[1],className:"react-flow__edge-textbg",style:o,rx:d,ry:d}),m.jsx("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:_,style:a,children:r}),h]}):null}KN.displayName="EdgeText";const _9=ee.memo(KN);function ud({path:e,labelX:t,labelY:r,label:a,labelStyle:s,labelShowBg:o,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:h,interactionWidth:f=20,...p}){return m.jsxs(m.Fragment,{children:[m.jsx("path",{...p,d:e,fill:"none",className:on(["react-flow__edge-path",p.className])}),f?m.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:f,className:"react-flow__edge-interaction"}):null,a&&Rr(t)&&Rr(r)?m.jsx(_9,{x:t,y:r,label:a,labelStyle:s,labelShowBg:o,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:h}):null]})}function V1({pos:e,x1:t,y1:r,x2:a,y2:s}){return e===ze.Left||e===ze.Right?[.5*(t+a),r]:[t,.5*(r+s)]}function ZN({sourceX:e,sourceY:t,sourcePosition:r=ze.Bottom,targetX:a,targetY:s,targetPosition:o=ze.Top}){const[c,d]=V1({pos:r,x1:e,y1:t,x2:a,y2:s}),[h,f]=V1({pos:o,x1:a,y1:s,x2:e,y2:t}),[p,g,b,y]=gN({sourceX:e,sourceY:t,targetX:a,targetY:s,sourceControlX:c,sourceControlY:d,targetControlX:h,targetControlY:f});return[`M${e},${t} C${c},${d} ${h},${f} ${a},${s}`,p,g,b,y]}function QN(e){return ee.memo(({id:t,sourceX:r,sourceY:a,targetX:s,targetY:o,sourcePosition:c,targetPosition:d,label:h,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:b,labelBgBorderRadius:y,style:_,markerEnd:N,markerStart:S,interactionWidth:w})=>{const[C,E,A]=ZN({sourceX:r,sourceY:a,sourcePosition:c,targetX:s,targetY:o,targetPosition:d}),B=e.isInternal?void 0:t;return m.jsx(ud,{id:B,path:C,labelX:E,labelY:A,label:h,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:b,labelBgBorderRadius:y,style:_,markerEnd:N,markerStart:S,interactionWidth:w})})}const w9=QN({isInternal:!1}),WN=QN({isInternal:!0});w9.displayName="SimpleBezierEdge";WN.displayName="SimpleBezierEdgeInternal";function JN(e){return ee.memo(({id:t,sourceX:r,sourceY:a,targetX:s,targetY:o,label:c,labelStyle:d,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:b,sourcePosition:y=ze.Bottom,targetPosition:_=ze.Top,markerEnd:N,markerStart:S,pathOptions:w,interactionWidth:C})=>{const[E,A,B]=mp({sourceX:r,sourceY:a,sourcePosition:y,targetX:s,targetY:o,targetPosition:_,borderRadius:w==null?void 0:w.borderRadius,offset:w==null?void 0:w.offset,stepPosition:w==null?void 0:w.stepPosition}),R=e.isInternal?void 0:t;return m.jsx(ud,{id:R,path:E,labelX:A,labelY:B,label:c,labelStyle:d,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:b,markerEnd:N,markerStart:S,interactionWidth:C})})}const e2=JN({isInternal:!1}),t2=JN({isInternal:!0});e2.displayName="SmoothStepEdge";t2.displayName="SmoothStepEdgeInternal";function n2(e){return ee.memo(({id:t,...r})=>{var s;const a=e.isInternal?void 0:t;return m.jsx(e2,{...r,id:a,pathOptions:ee.useMemo(()=>{var o;return{borderRadius:0,offset:(o=r.pathOptions)==null?void 0:o.offset}},[(s=r.pathOptions)==null?void 0:s.offset])})})}const E9=n2({isInternal:!1}),r2=n2({isInternal:!0});E9.displayName="StepEdge";r2.displayName="StepEdgeInternal";function i2(e){return ee.memo(({id:t,sourceX:r,sourceY:a,targetX:s,targetY:o,label:c,labelStyle:d,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:b,markerEnd:y,markerStart:_,interactionWidth:N})=>{const[S,w,C]=yN({sourceX:r,sourceY:a,targetX:s,targetY:o}),E=e.isInternal?void 0:t;return m.jsx(ud,{id:E,path:S,labelX:w,labelY:C,label:c,labelStyle:d,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:b,markerEnd:y,markerStart:_,interactionWidth:N})})}const N9=i2({isInternal:!1}),a2=i2({isInternal:!0});N9.displayName="StraightEdge";a2.displayName="StraightEdgeInternal";function s2(e){return ee.memo(({id:t,sourceX:r,sourceY:a,targetX:s,targetY:o,sourcePosition:c=ze.Bottom,targetPosition:d=ze.Top,label:h,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:b,labelBgBorderRadius:y,style:_,markerEnd:N,markerStart:S,pathOptions:w,interactionWidth:C})=>{const[E,A,B]=xN({sourceX:r,sourceY:a,sourcePosition:c,targetX:s,targetY:o,targetPosition:d,curvature:w==null?void 0:w.curvature}),R=e.isInternal?void 0:t;return m.jsx(ud,{id:R,path:E,labelX:A,labelY:B,label:h,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:b,labelBgBorderRadius:y,style:_,markerEnd:N,markerStart:S,interactionWidth:C})})}const S9=s2({isInternal:!1}),l2=s2({isInternal:!0});S9.displayName="BezierEdge";l2.displayName="BezierEdgeInternal";const Y1={default:l2,straight:a2,step:r2,smoothstep:t2,simplebezier:WN},X1={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},k9=(e,t,r)=>r===ze.Left?e-t:r===ze.Right?e+t:e,C9=(e,t,r)=>r===ze.Top?e-t:r===ze.Bottom?e+t:e,K1="react-flow__edgeupdater";function Z1({position:e,centerX:t,centerY:r,radius:a=10,onMouseDown:s,onMouseEnter:o,onMouseOut:c,type:d}){return m.jsx("circle",{onMouseDown:s,onMouseEnter:o,onMouseOut:c,className:on([K1,`${K1}-${d}`]),cx:k9(t,a,e),cy:C9(r,a,e),r:a,stroke:"transparent",fill:"transparent"})}function T9({isReconnectable:e,reconnectRadius:t,edge:r,sourceX:a,sourceY:s,targetX:o,targetY:c,sourcePosition:d,targetPosition:h,onReconnect:f,onReconnectStart:p,onReconnectEnd:g,setReconnecting:b,setUpdateHover:y}){const _=Lt(),N=(A,B)=>{if(A.button!==0)return;const{autoPanOnConnect:R,domNode:H,connectionMode:z,connectionRadius:Y,lib:j,onConnectStart:I,cancelConnection:Z,nodeLookup:P,rfId:k,panBy:$,updateConnection:O}=_.getState(),U=B.type==="target",K=(L,F)=>{b(!1),g==null||g(L,r,B.type,F)},X=L=>f==null?void 0:f(r,L),M=(L,F)=>{b(!0),p==null||p(A,r,B.type),I==null||I(L,F)};xp.onPointerDown(A.nativeEvent,{autoPanOnConnect:R,connectionMode:z,connectionRadius:Y,domNode:H,handleId:B.id,nodeId:B.nodeId,nodeLookup:P,isTarget:U,edgeUpdaterType:B.type,lib:j,flowId:k,cancelConnection:Z,panBy:$,isValidConnection:(...L)=>{var F,D;return((D=(F=_.getState()).isValidConnection)==null?void 0:D.call(F,...L))??!0},onConnect:X,onConnectStart:M,onConnectEnd:(...L)=>{var F,D;return(D=(F=_.getState()).onConnectEnd)==null?void 0:D.call(F,...L)},onReconnectEnd:K,updateConnection:O,getTransform:()=>_.getState().transform,getFromHandle:()=>_.getState().connection.fromHandle,dragThreshold:_.getState().connectionDragThreshold,handleDomNode:A.currentTarget})},S=A=>N(A,{nodeId:r.target,id:r.targetHandle??null,type:"target"}),w=A=>N(A,{nodeId:r.source,id:r.sourceHandle??null,type:"source"}),C=()=>y(!0),E=()=>y(!1);return m.jsxs(m.Fragment,{children:[(e===!0||e==="source")&&m.jsx(Z1,{position:d,centerX:a,centerY:s,radius:t,onMouseDown:S,onMouseEnter:C,onMouseOut:E,type:"source"}),(e===!0||e==="target")&&m.jsx(Z1,{position:h,centerX:o,centerY:c,radius:t,onMouseDown:w,onMouseEnter:C,onMouseOut:E,type:"target"})]})}function A9({id:e,edgesFocusable:t,edgesReconnectable:r,elementsSelectable:a,onClick:s,onDoubleClick:o,onContextMenu:c,onMouseEnter:d,onMouseMove:h,onMouseLeave:f,reconnectRadius:p,onReconnect:g,onReconnectStart:b,onReconnectEnd:y,rfId:_,edgeTypes:N,noPanClassName:S,onError:w,disableKeyboardA11y:C}){let E=dt(xe=>xe.edgeLookup.get(e));const A=dt(xe=>xe.defaultEdgeOptions);E=A?{...A,...E}:E;let B=E.type||"default",R=(N==null?void 0:N[B])||Y1[B];R===void 0&&(w==null||w("011",Lr.error011(B)),B="default",R=(N==null?void 0:N.default)||Y1.default);const H=!!(E.focusable||t&&typeof E.focusable>"u"),z=typeof g<"u"&&(E.reconnectable||r&&typeof E.reconnectable>"u"),Y=!!(E.selectable||a&&typeof E.selectable>"u"),j=ee.useRef(null),[I,Z]=ee.useState(!1),[P,k]=ee.useState(!1),$=Lt(),{zIndex:O=E.zIndex,sourceX:U,sourceY:K,targetX:X,targetY:M,sourcePosition:L,targetPosition:F}=dt(ee.useCallback(xe=>{const we=xe.nodeLookup.get(E.source),Ne=xe.nodeLookup.get(E.target);if(!we||!Ne)return X1;const De=xI({id:e,sourceNode:we,targetNode:Ne,sourceHandle:E.sourceHandle||null,targetHandle:E.targetHandle||null,connectionMode:xe.connectionMode,onError:w}),$e=cI({selected:E.selected,zIndex:E.zIndex,sourceNode:we,targetNode:Ne,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode});return{...De||X1,zIndex:$e}},[E.source,E.target,E.sourceHandle,E.targetHandle,E.selected,E.zIndex]),Pt),D=ee.useMemo(()=>E.markerStart?`url('#${pp(E.markerStart,_)}')`:void 0,[E.markerStart,_]),V=ee.useMemo(()=>E.markerEnd?`url('#${pp(E.markerEnd,_)}')`:void 0,[E.markerEnd,_]);if(E.hidden||U===null||K===null||X===null||M===null)return null;const q=xe=>{var $e;const{addSelectedEdges:we,unselectNodesAndEdges:Ne,multiSelectionActive:De}=$.getState();Y&&($.setState({nodesSelectionActive:!1}),E.selected&&De?(Ne({nodes:[],edges:[E]}),($e=j.current)==null||$e.blur()):we([e])),s&&s(xe,E)},Q=o?xe=>{o(xe,{...E})}:void 0,J=c?xe=>{c(xe,{...E})}:void 0,W=d?xe=>{d(xe,{...E})}:void 0,te=h?xe=>{h(xe,{...E})}:void 0,oe=f?xe=>{f(xe,{...E})}:void 0,fe=xe=>{var we;if(!C&&tN.includes(xe.key)&&Y){const{unselectNodesAndEdges:Ne,addSelectedEdges:De}=$.getState();xe.key==="Escape"?((we=j.current)==null||we.blur(),Ne({edges:[E]})):De([e])}};return m.jsx("svg",{style:{zIndex:O},children:m.jsxs("g",{className:on(["react-flow__edge",`react-flow__edge-${B}`,E.className,S,{selected:E.selected,animated:E.animated,inactive:!Y&&!s,updating:I,selectable:Y}]),onClick:q,onDoubleClick:Q,onContextMenu:J,onMouseEnter:W,onMouseMove:te,onMouseLeave:oe,onKeyDown:H?fe:void 0,tabIndex:H?0:void 0,role:E.ariaRole??(H?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":E.ariaLabel===null?void 0:E.ariaLabel||`Edge from ${E.source} to ${E.target}`,"aria-describedby":H?`${DN}-${_}`:void 0,ref:j,...E.domAttributes,children:[!P&&m.jsx(R,{id:e,source:E.source,target:E.target,type:E.type,selected:E.selected,animated:E.animated,selectable:Y,deletable:E.deletable??!0,label:E.label,labelStyle:E.labelStyle,labelShowBg:E.labelShowBg,labelBgStyle:E.labelBgStyle,labelBgPadding:E.labelBgPadding,labelBgBorderRadius:E.labelBgBorderRadius,sourceX:U,sourceY:K,targetX:X,targetY:M,sourcePosition:L,targetPosition:F,data:E.data,style:E.style,sourceHandleId:E.sourceHandle,targetHandleId:E.targetHandle,markerStart:D,markerEnd:V,pathOptions:"pathOptions"in E?E.pathOptions:void 0,interactionWidth:E.interactionWidth}),z&&m.jsx(T9,{edge:E,isReconnectable:z,reconnectRadius:p,onReconnect:g,onReconnectStart:b,onReconnectEnd:y,sourceX:U,sourceY:K,targetX:X,targetY:M,sourcePosition:L,targetPosition:F,setUpdateHover:Z,setReconnecting:k})]})})}var M9=ee.memo(A9);const O9=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function o2({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:r,edgeTypes:a,noPanClassName:s,onReconnect:o,onEdgeContextMenu:c,onEdgeMouseEnter:d,onEdgeMouseMove:h,onEdgeMouseLeave:f,onEdgeClick:p,reconnectRadius:g,onEdgeDoubleClick:b,onReconnectStart:y,onReconnectEnd:_,disableKeyboardA11y:N}){const{edgesFocusable:S,edgesReconnectable:w,elementsSelectable:C,onError:E}=dt(O9,Pt),A=p9(t);return m.jsxs("div",{className:"react-flow__edges",children:[m.jsx(v9,{defaultColor:e,rfId:r}),A.map(B=>m.jsx(M9,{id:B,edgesFocusable:S,edgesReconnectable:w,elementsSelectable:C,noPanClassName:s,onReconnect:o,onContextMenu:c,onMouseEnter:d,onMouseMove:h,onMouseLeave:f,onClick:p,reconnectRadius:g,onDoubleClick:b,onReconnectStart:y,onReconnectEnd:_,rfId:r,onError:E,edgeTypes:a,disableKeyboardA11y:N},B))]})}o2.displayName="EdgeRenderer";const R9=ee.memo(o2),Q1=e=>`translate(${e[0]}px,${e[1]}px) scale(${e[2]})`;function j9({children:e}){const t=Lt(),r=ee.useRef(null),[a]=ee.useState(()=>t.getState().transform);return HN(()=>{let s=null;const o=()=>{const c=t.getState().transform;s&&c[0]===s[0]&&c[1]===s[1]&&c[2]===s[2]||(s=c,r.current&&(r.current.style.transform=Q1(c)))};return o(),t.subscribe(o)},[t]),m.jsx("div",{ref:r,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:Q1(a)},children:e})}function D9(e){const t=qo(),r=ee.useRef(!1);ee.useEffect(()=>{!r.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),r.current=!0)},[e,t.viewportInitialized])}const L9=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function z9(e){const t=dt(L9),r=Lt();return ee.useEffect(()=>{e&&(t==null||t(e),r.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function I9(e){return e.connection.inProgress?{...e.connection,to:$o(e.connection.to,e.transform)}:{...e.connection}}function B9(e){return I9}function U9(e){const t=B9();return dt(t,Pt)}const H9=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function $9({containerStyle:e,style:t,type:r,component:a}){const{nodesConnectable:s,width:o,height:c,isValid:d,inProgress:h}=dt(H9,Pt);return!(o&&s&&h)?null:m.jsx("svg",{style:e,width:o,height:c,className:"react-flow__connectionline react-flow__container",children:m.jsx("g",{className:on(["react-flow__connection",iN(d)]),children:m.jsx(c2,{style:t,type:r,CustomComponent:a,isValid:d})})})}const c2=({style:e,type:t=ua.Bezier,CustomComponent:r,isValid:a})=>{const{inProgress:s,from:o,fromNode:c,fromHandle:d,fromPosition:h,to:f,toNode:p,toHandle:g,toPosition:b,pointer:y}=U9();if(!s)return;if(r)return m.jsx(r,{connectionLineType:t,connectionLineStyle:e,fromNode:c,fromHandle:d,fromX:o.x,fromY:o.y,toX:f.x,toY:f.y,fromPosition:h,toPosition:b,connectionStatus:iN(a),toNode:p,toHandle:g,pointer:y});let _="";const N={sourceX:o.x,sourceY:o.y,sourcePosition:h,targetX:f.x,targetY:f.y,targetPosition:b};switch(t){case ua.Bezier:[_]=xN(N);break;case ua.SimpleBezier:[_]=ZN(N);break;case ua.Step:[_]=mp({...N,borderRadius:0});break;case ua.SmoothStep:[_]=mp(N);break;default:[_]=yN(N)}return m.jsx("path",{d:_,fill:"none",className:"react-flow__connection-path",style:e})};c2.displayName="ConnectionLine";const q9={};function W1(e=q9){ee.useRef(e),Lt(),ee.useEffect(()=>{},[e])}function P9(){Lt(),ee.useRef(!1),ee.useEffect(()=>{},[])}function u2({nodeTypes:e,edgeTypes:t,onInit:r,onNodeClick:a,onEdgeClick:s,onNodeDoubleClick:o,onEdgeDoubleClick:c,onNodeMouseEnter:d,onNodeMouseMove:h,onNodeMouseLeave:f,onNodeContextMenu:p,onSelectionContextMenu:g,onSelectionStart:b,onSelectionEnd:y,connectionLineType:_,connectionLineStyle:N,connectionLineComponent:S,connectionLineContainerStyle:w,selectionKeyCode:C,selectionOnDrag:E,selectionMode:A,multiSelectionKeyCode:B,panActivationKeyCode:R,zoomActivationKeyCode:H,deleteKeyCode:z,onlyRenderVisibleElements:Y,elementsSelectable:j,defaultViewport:I,translateExtent:Z,minZoom:P,maxZoom:k,preventScrolling:$,defaultMarkerColor:O,zoomOnScroll:U,zoomOnPinch:K,panOnScroll:X,panOnScrollSpeed:M,panOnScrollMode:L,zoomOnDoubleClick:F,panOnDrag:D,autoPanOnSelection:V,onPaneClick:q,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:W,onPaneScroll:te,onPaneContextMenu:oe,paneClickDistance:fe,nodeClickDistance:xe,onEdgeContextMenu:we,onEdgeMouseEnter:Ne,onEdgeMouseMove:De,onEdgeMouseLeave:$e,reconnectRadius:st,onReconnect:Rt,onReconnectStart:Xt,onReconnectEnd:Ft,noDragClassName:Kt,noWheelClassName:Yn,noPanClassName:Nn,disableKeyboardA11y:ct,nodeExtent:It,rfId:ue,viewport:be,onViewportChange:Oe,nodesDraggable:Fe}){return W1(e),W1(t),P9(),D9(r),z9(be),m.jsx(a9,{onPaneClick:q,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:W,onPaneContextMenu:oe,onPaneScroll:te,paneClickDistance:fe,deleteKeyCode:z,selectionKeyCode:C,selectionOnDrag:E,selectionMode:A,onSelectionStart:b,onSelectionEnd:y,multiSelectionKeyCode:B,panActivationKeyCode:R,zoomActivationKeyCode:H,elementsSelectable:j,zoomOnScroll:U,zoomOnPinch:K,zoomOnDoubleClick:F,panOnScroll:X,panOnScrollSpeed:M,panOnScrollMode:L,panOnDrag:D,autoPanOnSelection:V,defaultViewport:I,translateExtent:Z,minZoom:P,maxZoom:k,onSelectionContextMenu:g,preventScrolling:$,noDragClassName:Kt,noWheelClassName:Yn,noPanClassName:Nn,disableKeyboardA11y:ct,onViewportChange:Oe,isControlledViewport:!!be,children:m.jsxs(j9,{children:[m.jsx(R9,{edgeTypes:t,onEdgeClick:s,onEdgeDoubleClick:c,onReconnect:Rt,onReconnectStart:Xt,onReconnectEnd:Ft,onlyRenderVisibleElements:Y,onEdgeContextMenu:we,onEdgeMouseEnter:Ne,onEdgeMouseMove:De,onEdgeMouseLeave:$e,reconnectRadius:st,defaultMarkerColor:O,noPanClassName:Nn,disableKeyboardA11y:ct,rfId:ue}),m.jsx($9,{style:N,type:_,component:S,containerStyle:w}),m.jsx("div",{className:"react-flow__edgelabel-renderer"}),m.jsx(m9,{nodeTypes:e,onNodeClick:a,onNodeDoubleClick:o,onNodeMouseEnter:d,onNodeMouseMove:h,onNodeMouseLeave:f,onNodeContextMenu:p,nodeClickDistance:xe,onlyRenderVisibleElements:Y,noPanClassName:Nn,noDragClassName:Kt,disableKeyboardA11y:ct,nodeExtent:It,rfId:ue,nodesDraggable:Fe}),m.jsx("div",{className:"react-flow__viewport-portal"})]})})}u2.displayName="GraphView";const F9=ee.memo(u2),G9=uN(),J1=({nodes:e,edges:t,defaultNodes:r,defaultEdges:a,width:s,height:o,fitView:c,fitViewOptions:d,minZoom:h=.5,maxZoom:f=2,nodeOrigin:p,nodeExtent:g,zIndexMode:b="basic"}={})=>{const y=new Map,_=new Map,N=new Map,S=new Map,w=a??t??[],C=r??e??[],E=p??[0,0],A=g??No;wN(N,S,w);const{nodesInitialized:B}=gp(C,y,_,{nodeOrigin:E,nodeExtent:A,zIndexMode:b});let R=[0,0,1];if(c&&s&&o){const H=Uo(y,{filter:I=>!!((I.width||I.initialWidth)&&(I.height||I.initialHeight))}),{x:z,y:Y,zoom:j}=ug(H,s,o,h,f,(d==null?void 0:d.padding)??.1);R=[z,Y,j]}return{rfId:"1",width:s??0,height:o??0,transform:R,nodes:C,nodesInitialized:B,nodeLookup:y,parentLookup:_,edges:w,edgeLookup:S,connectionLookup:N,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:r!==void 0,hasDefaultEdges:a!==void 0,panZoom:null,minZoom:h,maxZoom:f,translateExtent:No,nodeExtent:A,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Qs.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:E,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:c??!1,fitViewOptions:d,fitViewResolver:null,connection:{...rN},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:G9,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:nN,zIndexMode:b,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},V9=({nodes:e,edges:t,defaultNodes:r,defaultEdges:a,width:s,height:o,fitView:c,fitViewOptions:d,minZoom:h,maxZoom:f,nodeOrigin:p,nodeExtent:g,zIndexMode:b})=>s8((y,_)=>{async function N(){const{nodeLookup:S,panZoom:w,fitViewOptions:C,fitViewResolver:E,width:A,height:B,minZoom:R,maxZoom:H}=_();w&&(await nI({nodes:S,width:A,height:B,panZoom:w,minZoom:R,maxZoom:H},C),E==null||E.resolve(!0),y({fitViewResolver:null}))}return{...J1({nodes:e,edges:t,width:s,height:o,fitView:c,fitViewOptions:d,minZoom:h,maxZoom:f,nodeOrigin:p,nodeExtent:g,defaultNodes:r,defaultEdges:a,zIndexMode:b}),setNodes:S=>{const{nodeLookup:w,parentLookup:C,nodeOrigin:E,elevateNodesOnSelect:A,fitViewQueued:B,zIndexMode:R,nodesSelectionActive:H}=_(),{nodesInitialized:z,hasSelectedNodes:Y}=gp(S,w,C,{nodeOrigin:E,nodeExtent:g,elevateNodesOnSelect:A,checkEquality:!0,zIndexMode:R}),j=H&&Y;B&&z?(N(),y({nodes:S,nodesInitialized:z,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:j})):y({nodes:S,nodesInitialized:z,nodesSelectionActive:j})},setEdges:S=>{const{connectionLookup:w,edgeLookup:C}=_();wN(w,C,S),y({edges:S})},setDefaultNodesAndEdges:(S,w)=>{if(S){const{setNodes:C}=_();C(S),y({hasDefaultNodes:!0})}if(w){const{setEdges:C}=_();C(w),y({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:w,nodeLookup:C,parentLookup:E,domNode:A,nodeOrigin:B,nodeExtent:R,debug:H,fitViewQueued:z,zIndexMode:Y}=_(),{changes:j,updatedInternals:I}=SI(S,C,E,A,B,R,Y);I&&(_I(C,E,{nodeOrigin:B,nodeExtent:R,zIndexMode:Y}),z?(N(),y({fitViewQueued:!1,fitViewOptions:void 0})):y({}),(j==null?void 0:j.length)>0&&(H&&console.log("React Flow: trigger node changes",j),w==null||w(j)))},updateNodePositions:(S,w=!1)=>{const C=[];let E=[];const{nodeLookup:A,triggerNodeChanges:B,connection:R,updateConnection:H,onNodesChangeMiddlewareMap:z}=_();for(const[Y,j]of S){const I=A.get(Y),Z=!!(I!=null&&I.expandParent&&(I!=null&&I.parentId)&&(j!=null&&j.position)),P={id:Y,type:"position",position:Z?{x:Math.max(0,j.position.x),y:Math.max(0,j.position.y)}:j.position,dragging:w};if(I&&R.inProgress&&R.fromNode.id===I.id){const k=Qa(I,R.fromHandle,ze.Left,!0);H({...R,from:k})}Z&&I.parentId&&C.push({id:Y,parentId:I.parentId,rect:{...j.internals.positionAbsolute,width:j.measured.width??0,height:j.measured.height??0}}),E.push(P)}if(C.length>0){const{parentLookup:Y,nodeOrigin:j}=_(),I=gg(C,A,Y,j);E.push(...I)}for(const Y of z.values())E=Y(E);B(E)},triggerNodeChanges:S=>{const{onNodesChange:w,setNodes:C,nodes:E,hasDefaultNodes:A,debug:B}=_();if(S!=null&&S.length){if(A){const R=IN(S,E);C(R)}B&&console.log("React Flow: trigger node changes",S),w==null||w(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:w,setEdges:C,edges:E,hasDefaultEdges:A,debug:B}=_();if(S!=null&&S.length){if(A){const R=BN(S,E);C(R)}B&&console.log("React Flow: trigger edge changes",S),w==null||w(S)}},addSelectedNodes:S=>{const{multiSelectionActive:w,edgeLookup:C,nodeLookup:E,triggerNodeChanges:A,triggerEdgeChanges:B}=_();if(w){const R=S.map(H=>Ha(H,!0));A(R);return}A(qs(E,new Set([...S]),!0)),B(qs(C))},addSelectedEdges:S=>{const{multiSelectionActive:w,edgeLookup:C,nodeLookup:E,triggerNodeChanges:A,triggerEdgeChanges:B}=_();if(w){const R=S.map(H=>Ha(H,!0));B(R);return}B(qs(C,new Set([...S]))),A(qs(E,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:w}={})=>{const{edges:C,nodes:E,nodeLookup:A,triggerNodeChanges:B,triggerEdgeChanges:R}=_(),H=S||E,z=w||C,Y=[];for(const I of H){if(!I.selected)continue;const Z=A.get(I.id);Z&&(Z.selected=!1),Y.push(Ha(I.id,!1))}const j=[];for(const I of z)I.selected&&j.push(Ha(I.id,!1));B(Y),R(j)},setMinZoom:S=>{const{panZoom:w,maxZoom:C}=_();w==null||w.setScaleExtent([S,C]),y({minZoom:S})},setMaxZoom:S=>{const{panZoom:w,minZoom:C}=_();w==null||w.setScaleExtent([C,S]),y({maxZoom:S})},setTranslateExtent:S=>{var w;(w=_().panZoom)==null||w.setTranslateExtent(S),y({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:w,triggerNodeChanges:C,triggerEdgeChanges:E,elementsSelectable:A}=_();if(!A)return;const B=w.reduce((H,z)=>z.selected?[...H,Ha(z.id,!1)]:H,[]),R=S.reduce((H,z)=>z.selected?[...H,Ha(z.id,!1)]:H,[]);C(B),E(R)},setNodeExtent:S=>{const{nodes:w,nodeLookup:C,parentLookup:E,nodeOrigin:A,elevateNodesOnSelect:B,nodeExtent:R,zIndexMode:H}=_();S[0][0]===R[0][0]&&S[0][1]===R[0][1]&&S[1][0]===R[1][0]&&S[1][1]===R[1][1]||(gp(w,C,E,{nodeOrigin:A,nodeExtent:S,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:H}),y({nodeExtent:S}))},panBy:S=>{const{transform:w,width:C,height:E,panZoom:A,translateExtent:B}=_();return kI({delta:S,panZoom:A,transform:w,translateExtent:B,width:C,height:E})},setCenter:async(S,w,C)=>{const{width:E,height:A,maxZoom:B,panZoom:R}=_();if(!R)return!1;const H=typeof(C==null?void 0:C.zoom)<"u"?C.zoom:B;return await R.setViewport({x:E/2-S*H,y:A/2-w*H,zoom:H},{duration:C==null?void 0:C.duration,ease:C==null?void 0:C.ease,interpolate:C==null?void 0:C.interpolate}),!0},cancelConnection:()=>{y({connection:{...rN}})},updateConnection:S=>{y({connection:S})},reset:()=>y({...J1()})}},Object.is);function Y9({initialNodes:e,initialEdges:t,defaultNodes:r,defaultEdges:a,initialWidth:s,initialHeight:o,initialMinZoom:c,initialMaxZoom:d,initialFitViewOptions:h,fitView:f,nodeOrigin:p,nodeExtent:g,zIndexMode:b,children:y}){const[_]=ee.useState(()=>V9({nodes:e,edges:t,defaultNodes:r,defaultEdges:a,width:s,height:o,fitView:f,minZoom:c,maxZoom:d,fitViewOptions:h,nodeOrigin:p,nodeExtent:g,zIndexMode:b}));return m.jsx(l8,{value:_,children:m.jsx(O8,{children:m.jsx(V8,{children:y})})})}function X9({children:e,nodes:t,edges:r,defaultNodes:a,defaultEdges:s,width:o,height:c,fitView:d,fitViewOptions:h,minZoom:f,maxZoom:p,nodeOrigin:g,nodeExtent:b,zIndexMode:y}){return ee.useContext(ld)?m.jsx(m.Fragment,{children:e}):m.jsx(Y9,{initialNodes:t,initialEdges:r,defaultNodes:a,defaultEdges:s,initialWidth:o,initialHeight:c,fitView:d,initialFitViewOptions:h,initialMinZoom:f,initialMaxZoom:p,nodeOrigin:g,nodeExtent:b,zIndexMode:y,children:e})}const K9={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Z9({nodes:e,edges:t,defaultNodes:r,defaultEdges:a,className:s,nodeTypes:o,edgeTypes:c,onNodeClick:d,onEdgeClick:h,onInit:f,onMove:p,onMoveStart:g,onMoveEnd:b,onConnect:y,onConnectStart:_,onConnectEnd:N,onClickConnectStart:S,onClickConnectEnd:w,onNodeMouseEnter:C,onNodeMouseMove:E,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:R,onNodeDragStart:H,onNodeDrag:z,onNodeDragStop:Y,onNodesDelete:j,onEdgesDelete:I,onDelete:Z,onSelectionChange:P,onSelectionDragStart:k,onSelectionDrag:$,onSelectionDragStop:O,onSelectionContextMenu:U,onSelectionStart:K,onSelectionEnd:X,onBeforeDelete:M,connectionMode:L,connectionLineType:F=ua.Bezier,connectionLineStyle:D,connectionLineComponent:V,connectionLineContainerStyle:q,deleteKeyCode:Q="Backspace",selectionKeyCode:J="Shift",selectionOnDrag:W=!1,selectionMode:te=So.Full,panActivationKeyCode:oe="Space",multiSelectionKeyCode:fe=Co()?"Meta":"Control",zoomActivationKeyCode:xe=Co()?"Meta":"Control",snapToGrid:we,snapGrid:Ne,onlyRenderVisibleElements:De=!1,selectNodesOnDrag:$e,nodesDraggable:st,autoPanOnNodeFocus:Rt,nodesConnectable:Xt,nodesFocusable:Ft,nodeOrigin:Kt=LN,edgesFocusable:Yn,edgesReconnectable:Nn,elementsSelectable:ct=!0,defaultViewport:It=v8,minZoom:ue=.5,maxZoom:be=2,translateExtent:Oe=No,preventScrolling:Fe=!0,nodeExtent:Ze,defaultMarkerColor:cn="#b1b1b7",zoomOnScroll:Sn=!0,zoomOnPinch:Zt=!0,panOnScroll:At=!1,panOnScrollSpeed:Jt=.5,panOnScrollMode:ut=Fa.Free,zoomOnDoubleClick:In=!0,panOnDrag:un=!0,onPaneClick:Si,onPaneMouseEnter:nt,onPaneMouseMove:Xn,onPaneMouseLeave:On,onPaneScroll:mn,onPaneContextMenu:re,paneClickDistance:me=1,nodeClickDistance:Ee=0,children:Pe,onReconnect:St,onReconnectStart:gt,onReconnectEnd:Me,onEdgeContextMenu:Se,onEdgeDoubleClick:Ue,onEdgeMouseEnter:Bt,onEdgeMouseMove:Mt,onEdgeMouseLeave:vr,reconnectRadius:ki=10,onNodesChange:Ci,onEdgesChange:lr,noDragClassName:Ut="nodrag",noWheelClassName:pn="nowheel",noPanClassName:_r="nopan",fitView:Ti,fitViewOptions:ga,connectOnClick:Ai,attributionPosition:ts,proOptions:Wr,defaultEdgeOptions:xa,elevateNodesOnSelect:bn=!0,elevateEdgesOnSelect:wr=!1,disableKeyboardA11y:Er=!1,autoPanOnConnect:Br,autoPanOnNodeDrag:Gt,autoPanOnSelection:ns=!0,autoPanSpeed:Jr,connectionRadius:Nr,isValidConnection:ye,onError:Le,style:Qe,id:ft,nodeDragThreshold:Ht,connectionDragThreshold:gn,viewport:Rn,onViewportChange:kn,width:_t,height:jn,colorMode:rs="light",debug:Mi,onScroll:Ur,ariaLabelConfig:Oi,zIndexMode:is="basic",...Cn},ba){const Sr=ft||"1",Ri=N8(rs),dn=ee.useCallback(ya=>{ya.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Ur==null||Ur(ya)},[Ur]);return m.jsx("div",{"data-testid":"rf__wrapper",...Cn,onScroll:dn,style:{...Qe,...K9},ref:ba,className:on(["react-flow",s,Ri]),id:ft,role:"application",children:m.jsxs(X9,{nodes:e,edges:t,width:_t,height:jn,fitView:Ti,fitViewOptions:ga,minZoom:ue,maxZoom:be,nodeOrigin:Kt,nodeExtent:Ze,zIndexMode:is,children:[m.jsx(E8,{nodes:e,edges:t,defaultNodes:r,defaultEdges:a,onConnect:y,onConnectStart:_,onConnectEnd:N,onClickConnectStart:S,onClickConnectEnd:w,nodesDraggable:st,autoPanOnNodeFocus:Rt,nodesConnectable:Xt,nodesFocusable:Ft,edgesFocusable:Yn,edgesReconnectable:Nn,elementsSelectable:ct,elevateNodesOnSelect:bn,elevateEdgesOnSelect:wr,minZoom:ue,maxZoom:be,nodeExtent:Ze,onNodesChange:Ci,onEdgesChange:lr,snapToGrid:we,snapGrid:Ne,connectionMode:L,translateExtent:Oe,connectOnClick:Ai,defaultEdgeOptions:xa,fitView:Ti,fitViewOptions:ga,onNodesDelete:j,onEdgesDelete:I,onDelete:Z,onNodeDragStart:H,onNodeDrag:z,onNodeDragStop:Y,onSelectionDrag:$,onSelectionDragStart:k,onSelectionDragStop:O,onMove:p,onMoveStart:g,onMoveEnd:b,noPanClassName:_r,nodeOrigin:Kt,rfId:Sr,autoPanOnConnect:Br,autoPanOnNodeDrag:Gt,autoPanSpeed:Jr,onError:Le,connectionRadius:Nr,isValidConnection:ye,selectNodesOnDrag:$e,nodeDragThreshold:Ht,connectionDragThreshold:gn,onBeforeDelete:M,debug:Mi,ariaLabelConfig:Oi,zIndexMode:is}),m.jsx(F9,{onInit:f,onNodeClick:d,onEdgeClick:h,onNodeMouseEnter:C,onNodeMouseMove:E,onNodeMouseLeave:A,onNodeContextMenu:B,onNodeDoubleClick:R,nodeTypes:o,edgeTypes:c,connectionLineType:F,connectionLineStyle:D,connectionLineComponent:V,connectionLineContainerStyle:q,selectionKeyCode:J,selectionOnDrag:W,selectionMode:te,deleteKeyCode:Q,multiSelectionKeyCode:fe,panActivationKeyCode:oe,zoomActivationKeyCode:xe,onlyRenderVisibleElements:De,defaultViewport:It,translateExtent:Oe,minZoom:ue,maxZoom:be,preventScrolling:Fe,zoomOnScroll:Sn,zoomOnPinch:Zt,zoomOnDoubleClick:In,panOnScroll:At,panOnScrollSpeed:Jt,panOnScrollMode:ut,panOnDrag:un,autoPanOnSelection:ns,onPaneClick:Si,onPaneMouseEnter:nt,onPaneMouseMove:Xn,onPaneMouseLeave:On,onPaneScroll:mn,onPaneContextMenu:re,paneClickDistance:me,nodeClickDistance:Ee,onSelectionContextMenu:U,onSelectionStart:K,onSelectionEnd:X,onReconnect:St,onReconnectStart:gt,onReconnectEnd:Me,onEdgeContextMenu:Se,onEdgeDoubleClick:Ue,onEdgeMouseEnter:Bt,onEdgeMouseMove:Mt,onEdgeMouseLeave:vr,reconnectRadius:ki,defaultMarkerColor:cn,noDragClassName:Ut,noWheelClassName:pn,noPanClassName:_r,rfId:Sr,disableKeyboardA11y:Er,nodeExtent:Ze,viewport:Rn,onViewportChange:kn,nodesDraggable:st}),m.jsx(y8,{onSelectionChange:P}),Pe,m.jsx(m8,{proOptions:Wr,position:ts}),m.jsx(h8,{rfId:Sr,disableKeyboardA11y:Er})]})})}var Q9=UN(Z9);function W9(e){const[t,r]=ee.useState(e),a=ee.useCallback(s=>r(o=>IN(s,o)),[]);return[t,r,a]}function J9(e){const[t,r]=ee.useState(e),a=ee.useCallback(s=>r(o=>BN(s,o)),[]);return[t,r,a]}function eB({dimensions:e,lineWidth:t,variant:r,className:a}){return m.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:on(["react-flow__background-pattern",r,a])})}function tB({radius:e,className:t}){return m.jsx("circle",{cx:e,cy:e,r:e,className:on(["react-flow__background-pattern","dots",t])})}var ha;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ha||(ha={}));const nB={[ha.Dots]:1,[ha.Lines]:1,[ha.Cross]:6},rB=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function d2({id:e,variant:t=ha.Dots,gap:r=20,size:a,lineWidth:s=1,offset:o=0,color:c,bgColor:d,style:h,className:f,patternClassName:p}){const g=ee.useRef(null),{transform:b,patternId:y}=dt(rB,Pt),_=a||nB[t],N=t===ha.Dots,S=t===ha.Cross,w=Array.isArray(r)?r:[r,r],C=[w[0]*b[2]||1,w[1]*b[2]||1],E=_*b[2],A=Array.isArray(o)?o:[o,o],B=S?[E,E]:C,R=[A[0]*b[2]||1+B[0]/2,A[1]*b[2]||1+B[1]/2],H=`${y}${e||""}`;return m.jsxs("svg",{className:on(["react-flow__background",f]),style:{...h,...cd,"--xy-background-color-props":d,"--xy-background-pattern-color-props":c},ref:g,"data-testid":"rf__background",children:[m.jsx("pattern",{id:H,x:b[0]%C[0],y:b[1]%C[1],width:C[0],height:C[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${R[0]},-${R[1]})`,children:N?m.jsx(tB,{radius:E/2,className:p}):m.jsx(eB,{dimensions:B,lineWidth:s,variant:t,className:p})}),m.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${H})`})]})}d2.displayName="Background";const iB=ee.memo(d2);function aB(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:m.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function sB(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:m.jsx("path",{d:"M0 0h32v4.2H0z"})})}function lB(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:m.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 oB(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:m.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 cB(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:m.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 mu({children:e,className:t,...r}){return m.jsx("button",{type:"button",className:on(["react-flow__controls-button",t]),...r,children:e})}const uB=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function f2({style:e,showZoom:t=!0,showFitView:r=!0,showInteractive:a=!0,fitViewOptions:s,onZoomIn:o,onZoomOut:c,onFitView:d,onInteractiveChange:h,className:f,children:p,position:g="bottom-left",orientation:b="vertical","aria-label":y}){const _=Lt(),{isInteractive:N,minZoomReached:S,maxZoomReached:w,ariaLabelConfig:C}=dt(uB,Pt),{zoomIn:E,zoomOut:A,fitView:B}=qo(),R=()=>{E(),o==null||o()},H=()=>{A(),c==null||c()},z=()=>{B(s),d==null||d()},Y=()=>{_.setState({nodesDraggable:!N,nodesConnectable:!N,elementsSelectable:!N}),h==null||h(!N)},j=b==="horizontal"?"horizontal":"vertical";return m.jsxs(od,{className:on(["react-flow__controls",j,f]),position:g,style:e,"data-testid":"rf__controls","aria-label":y??C["controls.ariaLabel"],children:[t&&m.jsxs(m.Fragment,{children:[m.jsx(mu,{onClick:R,className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:w,children:m.jsx(aB,{})}),m.jsx(mu,{onClick:H,className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:S,children:m.jsx(sB,{})})]}),r&&m.jsx(mu,{className:"react-flow__controls-fitview",onClick:z,title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:m.jsx(lB,{})}),a&&m.jsx(mu,{className:"react-flow__controls-interactive",onClick:Y,title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:N?m.jsx(cB,{}):m.jsx(oB,{})}),p]})}f2.displayName="Controls";const dB=ee.memo(f2);function fB({id:e,x:t,y:r,width:a,height:s,style:o,color:c,strokeColor:d,strokeWidth:h,className:f,borderRadius:p,shapeRendering:g,selected:b,onClick:y}){const{background:_,backgroundColor:N}=o||{},S=c||_||N;return m.jsx("rect",{className:on(["react-flow__minimap-node",{selected:b},f]),x:t,y:r,rx:p,ry:p,width:a,height:s,style:{fill:S,stroke:d,strokeWidth:h},shapeRendering:g,onClick:y?w=>y(w,e):void 0})}const hB=ee.memo(fB),mB=e=>e.nodes.map(t=>t.id),Dm=e=>e instanceof Function?e:()=>e;function pB({nodeStrokeColor:e,nodeColor:t,nodeClassName:r="",nodeBorderRadius:a=5,nodeStrokeWidth:s,nodeComponent:o=hB,onClick:c}){const d=dt(mB,Pt),h=Dm(t),f=Dm(e),p=Dm(r),g=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return m.jsx(m.Fragment,{children:d.map(b=>m.jsx(xB,{id:b,nodeColorFunc:h,nodeStrokeColorFunc:f,nodeClassNameFunc:p,nodeBorderRadius:a,nodeStrokeWidth:s,NodeComponent:o,onClick:c,shapeRendering:g},b))})}function gB({id:e,nodeColorFunc:t,nodeStrokeColorFunc:r,nodeClassNameFunc:a,nodeBorderRadius:s,nodeStrokeWidth:o,shapeRendering:c,NodeComponent:d,onClick:h}){const{node:f,x:p,y:g,width:b,height:y}=dt(_=>{const N=_.nodeLookup.get(e);if(!N)return{node:void 0,x:0,y:0,width:0,height:0};const S=N.internals.userNode,{x:w,y:C}=N.internals.positionAbsolute,{width:E,height:A}=Qr(S);return{node:S,x:w,y:C,width:E,height:A}},Pt);return!f||f.hidden||!dN(f)?null:m.jsx(d,{x:p,y:g,width:b,height:y,style:f.style,selected:!!f.selected,className:a(f),color:t(f),borderRadius:s,strokeColor:r(f),strokeWidth:o,shapeRendering:c,onClick:h,id:f.id})}const xB=ee.memo(gB);var bB=ee.memo(pB);const yB=200,vB=150,_B=e=>!e.hidden,wB=e=>{const t={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:t,boundingRect:e.nodeLookup.size>0?oN(Uo(e.nodeLookup,{filter:_B}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},e_=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,EB=(e,t)=>e_(e.viewBB,t.viewBB)&&e_(e.boundingRect,t.boundingRect)&&e.rfId===t.rfId&&e.panZoom===t.panZoom&&e.translateExtent===t.translateExtent&&e.flowWidth===t.flowWidth&&e.flowHeight===t.flowHeight&&e.ariaLabelConfig===t.ariaLabelConfig,NB="react-flow__minimap-desc";function h2({style:e,className:t,nodeStrokeColor:r,nodeColor:a,nodeClassName:s="",nodeBorderRadius:o=5,nodeStrokeWidth:c,nodeComponent:d,bgColor:h,maskColor:f,maskStrokeColor:p,maskStrokeWidth:g,position:b="bottom-right",onClick:y,onNodeClick:_,pannable:N=!1,zoomable:S=!1,ariaLabel:w,inversePan:C,zoomStep:E=1,offsetScale:A=5}){const B=Lt(),R=ee.useRef(null),{boundingRect:H,viewBB:z,rfId:Y,panZoom:j,translateExtent:I,flowWidth:Z,flowHeight:P,ariaLabelConfig:k}=dt(wB,EB),$=(e==null?void 0:e.width)??yB,O=(e==null?void 0:e.height)??vB,U=H.width/$,K=H.height/O,X=Math.max(U,K),M=X*$,L=X*O,F=A*X,D=H.x-(M-H.width)/2-F,V=H.y-(L-H.height)/2-F,q=M+F*2,Q=L+F*2,J=`${NB}-${Y}`,W=ee.useRef(0),te=ee.useRef();W.current=X,ee.useEffect(()=>{if(R.current&&j)return te.current=LI({domNode:R.current,panZoom:j,getTransform:()=>B.getState().transform,getViewScale:()=>W.current}),()=>{var we;(we=te.current)==null||we.destroy()}},[j]),ee.useEffect(()=>{var we;(we=te.current)==null||we.update({translateExtent:I,width:Z,height:P,inversePan:C,pannable:N,zoomStep:E,zoomable:S})},[N,S,C,E,I,Z,P]);const oe=y?we=>{var $e;const[Ne,De]=(($e=te.current)==null?void 0:$e.pointer(we))||[0,0];y(we,{x:Ne,y:De})}:void 0,fe=_?ee.useCallback((we,Ne)=>{const De=B.getState().nodeLookup.get(Ne).internals.userNode;_(we,De)},[]):void 0,xe=w??k["minimap.ariaLabel"];return m.jsx(od,{position:b,style:{...e,"--xy-minimap-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-background-color-props":typeof f=="string"?f:void 0,"--xy-minimap-mask-stroke-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-stroke-width-props":typeof g=="number"?g*X:void 0,"--xy-minimap-node-background-color-props":typeof a=="string"?a:void 0,"--xy-minimap-node-stroke-color-props":typeof r=="string"?r:void 0,"--xy-minimap-node-stroke-width-props":typeof c=="number"?c:void 0},className:on(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:m.jsxs("svg",{width:$,height:O,viewBox:`${D} ${V} ${q} ${Q}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":J,ref:R,onClick:oe,children:[xe&&m.jsx("title",{id:J,children:xe}),m.jsx(bB,{onClick:fe,nodeColor:a,nodeStrokeColor:r,nodeBorderRadius:o,nodeClassName:s,nodeStrokeWidth:c,nodeComponent:d}),m.jsx("path",{className:"react-flow__minimap-mask",d:`M${D-F},${V-F}h${q+F*2}v${Q+F*2}h${-q-F*2}z + M${z.x},${z.y}h${z.width}v${z.height}h${-z.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}h2.displayName="MiniMap";const SB=ee.memo(h2),kB=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,CB={[el.Line]:"right",[el.Handle]:"bottom-right"};function TB({nodeId:e,position:t,variant:r=el.Handle,className:a,style:s=void 0,children:o,color:c,minWidth:d=10,minHeight:h=10,maxWidth:f=Number.MAX_VALUE,maxHeight:p=Number.MAX_VALUE,keepAspectRatio:g=!1,resizeDirection:b,autoScale:y=!0,shouldResize:_,onResizeStart:N,onResize:S,onResizeEnd:w}){const C=FN(),E=typeof e=="string"?e:C,A=Lt(),B=ee.useRef(null),R=r===el.Handle,H=dt(ee.useCallback(kB(R&&y),[R,y]),Pt),z=ee.useRef(null),Y=t??CB[r];ee.useEffect(()=>{if(!(!B.current||!E))return z.current||(z.current=XI({domNode:B.current,nodeId:E,getStoreItems:()=>{const{nodeLookup:I,transform:Z,snapGrid:P,snapToGrid:k,nodeOrigin:$,domNode:O}=A.getState();return{nodeLookup:I,transform:Z,snapGrid:P,snapToGrid:k,nodeOrigin:$,paneDomNode:O}},onChange:(I,Z)=>{const{triggerNodeChanges:P,nodeLookup:k,parentLookup:$,nodeOrigin:O}=A.getState(),U=[],K={x:I.x,y:I.y},X=k.get(E);if(X&&X.expandParent&&X.parentId){const M=X.origin??O,L=I.width??X.measured.width??0,F=I.height??X.measured.height??0,D={id:X.id,parentId:X.parentId,rect:{width:L,height:F,...fN({x:I.x??X.position.x,y:I.y??X.position.y},{width:L,height:F},X.parentId,k,M)}},V=gg([D],k,$,O);U.push(...V),K.x=I.x?Math.max(M[0]*L,I.x):void 0,K.y=I.y?Math.max(M[1]*F,I.y):void 0}if(K.x!==void 0&&K.y!==void 0){const M={id:E,type:"position",position:{...K}};U.push(M)}if(I.width!==void 0&&I.height!==void 0){const L={id:E,type:"dimensions",resizing:!0,setAttributes:b?b==="horizontal"?"width":"height":!0,dimensions:{width:I.width,height:I.height}};U.push(L)}for(const M of Z){const L={...M,type:"position"};U.push(L)}P(U)},onEnd:({width:I,height:Z})=>{const P={id:E,type:"dimensions",resizing:!1,dimensions:{width:I,height:Z}};A.getState().triggerNodeChanges([P])}})),z.current.update({controlPosition:Y,boundaries:{minWidth:d,minHeight:h,maxWidth:f,maxHeight:p},keepAspectRatio:g,resizeDirection:b,onResizeStart:N,onResize:S,onResizeEnd:w,shouldResize:_}),()=>{var I;(I=z.current)==null||I.destroy()}},[Y,d,h,f,p,g,N,S,w,_]);const j=Y.split("-");return m.jsx("div",{className:on(["react-flow__resize-control","nodrag",...j,r,a]),ref:B,style:{...s,scale:H,...c&&{[R?"backgroundColor":"borderColor"]:c}},children:o})}ee.memo(TB);var vt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),zr=vt((e,t)=>{var r=Object.defineProperty,a=(P,k,$)=>k in P?r(P,k,{enumerable:!0,configurable:!0,writable:!0,value:$}):P[k]=$,s=(P,k)=>()=>(k||P((k={exports:{}}).exports,k),k.exports),o=(P,k,$)=>a(P,typeof k!="symbol"?k+"":k,$),c=s((P,k)=>{var $="\0",O="\0",U="",K=class{constructor(V){o(this,"_isDirected",!0),o(this,"_isMultigraph",!1),o(this,"_isCompound",!1),o(this,"_label"),o(this,"_defaultNodeLabelFn",()=>{}),o(this,"_defaultEdgeLabelFn",()=>{}),o(this,"_nodes",{}),o(this,"_in",{}),o(this,"_preds",{}),o(this,"_out",{}),o(this,"_sucs",{}),o(this,"_edgeObjs",{}),o(this,"_edgeLabels",{}),o(this,"_nodeCount",0),o(this,"_edgeCount",0),o(this,"_parent"),o(this,"_children"),V&&(this._isDirected=Object.hasOwn(V,"directed")?V.directed:!0,this._isMultigraph=Object.hasOwn(V,"multigraph")?V.multigraph:!1,this._isCompound=Object.hasOwn(V,"compound")?V.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[O]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(V){return this._label=V,this}graph(){return this._label}setDefaultNodeLabel(V){return this._defaultNodeLabelFn=V,typeof V!="function"&&(this._defaultNodeLabelFn=()=>V),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var V=this;return this.nodes().filter(q=>Object.keys(V._in[q]).length===0)}sinks(){var V=this;return this.nodes().filter(q=>Object.keys(V._out[q]).length===0)}setNodes(V,q){var Q=arguments,J=this;return V.forEach(function(W){Q.length>1?J.setNode(W,q):J.setNode(W)}),this}setNode(V,q){return Object.hasOwn(this._nodes,V)?(arguments.length>1&&(this._nodes[V]=q),this):(this._nodes[V]=arguments.length>1?q:this._defaultNodeLabelFn(V),this._isCompound&&(this._parent[V]=O,this._children[V]={},this._children[O][V]=!0),this._in[V]={},this._preds[V]={},this._out[V]={},this._sucs[V]={},++this._nodeCount,this)}node(V){return this._nodes[V]}hasNode(V){return Object.hasOwn(this._nodes,V)}removeNode(V){var q=this;if(Object.hasOwn(this._nodes,V)){var Q=J=>q.removeEdge(q._edgeObjs[J]);delete this._nodes[V],this._isCompound&&(this._removeFromParentsChildList(V),delete this._parent[V],this.children(V).forEach(function(J){q.setParent(J)}),delete this._children[V]),Object.keys(this._in[V]).forEach(Q),delete this._in[V],delete this._preds[V],Object.keys(this._out[V]).forEach(Q),delete this._out[V],delete this._sucs[V],--this._nodeCount}return this}setParent(V,q){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(q===void 0)q=O;else{q+="";for(var Q=q;Q!==void 0;Q=this.parent(Q))if(Q===V)throw new Error("Setting "+q+" as parent of "+V+" would create a cycle");this.setNode(q)}return this.setNode(V),this._removeFromParentsChildList(V),this._parent[V]=q,this._children[q][V]=!0,this}_removeFromParentsChildList(V){delete this._children[this._parent[V]][V]}parent(V){if(this._isCompound){var q=this._parent[V];if(q!==O)return q}}children(V=O){if(this._isCompound){var q=this._children[V];if(q)return Object.keys(q)}else{if(V===O)return this.nodes();if(this.hasNode(V))return[]}}predecessors(V){var q=this._preds[V];if(q)return Object.keys(q)}successors(V){var q=this._sucs[V];if(q)return Object.keys(q)}neighbors(V){var q=this.predecessors(V);if(q){let J=new Set(q);for(var Q of this.successors(V))J.add(Q);return Array.from(J.values())}}isLeaf(V){var q;return this.isDirected()?q=this.successors(V):q=this.neighbors(V),q.length===0}filterNodes(V){var q=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});q.setGraph(this.graph());var Q=this;Object.entries(this._nodes).forEach(function([te,oe]){V(te)&&q.setNode(te,oe)}),Object.values(this._edgeObjs).forEach(function(te){q.hasNode(te.v)&&q.hasNode(te.w)&&q.setEdge(te,Q.edge(te))});var J={};function W(te){var oe=Q.parent(te);return oe===void 0||q.hasNode(oe)?(J[te]=oe,oe):oe in J?J[oe]:W(oe)}return this._isCompound&&q.nodes().forEach(te=>q.setParent(te,W(te))),q}setDefaultEdgeLabel(V){return this._defaultEdgeLabelFn=V,typeof V!="function"&&(this._defaultEdgeLabelFn=()=>V),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(V,q){var Q=this,J=arguments;return V.reduce(function(W,te){return J.length>1?Q.setEdge(W,te,q):Q.setEdge(W,te),te}),this}setEdge(){var V,q,Q,J,W=!1,te=arguments[0];typeof te=="object"&&te!==null&&"v"in te?(V=te.v,q=te.w,Q=te.name,arguments.length===2&&(J=arguments[1],W=!0)):(V=te,q=arguments[1],Q=arguments[3],arguments.length>2&&(J=arguments[2],W=!0)),V=""+V,q=""+q,Q!==void 0&&(Q=""+Q);var oe=L(this._isDirected,V,q,Q);if(Object.hasOwn(this._edgeLabels,oe))return W&&(this._edgeLabels[oe]=J),this;if(Q!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(V),this.setNode(q),this._edgeLabels[oe]=W?J:this._defaultEdgeLabelFn(V,q,Q);var fe=F(this._isDirected,V,q,Q);return V=fe.v,q=fe.w,Object.freeze(fe),this._edgeObjs[oe]=fe,X(this._preds[q],V),X(this._sucs[V],q),this._in[q][oe]=fe,this._out[V][oe]=fe,this._edgeCount++,this}edge(V,q,Q){var J=arguments.length===1?D(this._isDirected,arguments[0]):L(this._isDirected,V,q,Q);return this._edgeLabels[J]}edgeAsObj(){let V=this.edge(...arguments);return typeof V!="object"?{label:V}:V}hasEdge(V,q,Q){var J=arguments.length===1?D(this._isDirected,arguments[0]):L(this._isDirected,V,q,Q);return Object.hasOwn(this._edgeLabels,J)}removeEdge(V,q,Q){var J=arguments.length===1?D(this._isDirected,arguments[0]):L(this._isDirected,V,q,Q),W=this._edgeObjs[J];return W&&(V=W.v,q=W.w,delete this._edgeLabels[J],delete this._edgeObjs[J],M(this._preds[q],V),M(this._sucs[V],q),delete this._in[q][J],delete this._out[V][J],this._edgeCount--),this}inEdges(V,q){return this.isDirected()?this.filterEdges(this._in[V],V,q):this.nodeEdges(V,q)}outEdges(V,q){return this.isDirected()?this.filterEdges(this._out[V],V,q):this.nodeEdges(V,q)}nodeEdges(V,q){if(V in this._nodes)return this.filterEdges({...this._in[V],...this._out[V]},V,q)}filterEdges(V,q,Q){if(V){var J=Object.values(V);return Q?J.filter(function(W){return W.v===q&&W.w===Q||W.v===Q&&W.w===q}):J}}};function X(V,q){V[q]?V[q]++:V[q]=1}function M(V,q){--V[q]||delete V[q]}function L(V,q,Q,J){var W=""+q,te=""+Q;if(!V&&W>te){var oe=W;W=te,te=oe}return W+U+te+U+(J===void 0?$:J)}function F(V,q,Q,J){var W=""+q,te=""+Q;if(!V&&W>te){var oe=W;W=te,te=oe}var fe={v:W,w:te};return J&&(fe.name=J),fe}function D(V,q){return L(V,q.v,q.w,q.name)}k.exports=K}),d=s((P,k)=>{k.exports="3.0.2"}),h=s((P,k)=>{k.exports={Graph:c(),version:d()}}),f=s((P,k)=>{var $=c();k.exports={write:O,read:X};function O(M){var L={options:{directed:M.isDirected(),multigraph:M.isMultigraph(),compound:M.isCompound()},nodes:U(M),edges:K(M)};return M.graph()!==void 0&&(L.value=structuredClone(M.graph())),L}function U(M){return M.nodes().map(function(L){var F=M.node(L),D=M.parent(L),V={v:L};return F!==void 0&&(V.value=F),D!==void 0&&(V.parent=D),V})}function K(M){return M.edges().map(function(L){var F=M.edge(L),D={v:L.v,w:L.w};return L.name!==void 0&&(D.name=L.name),F!==void 0&&(D.value=F),D})}function X(M){var L=new $(M.options).setGraph(M.value);return M.nodes.forEach(function(F){L.setNode(F.v,F.value),F.parent&&L.setParent(F.v,F.parent)}),M.edges.forEach(function(F){L.setEdge({v:F.v,w:F.w,name:F.name},F.value)}),L}}),p=s((P,k)=>{k.exports=O;var $=()=>1;function O(K,X,M,L){return U(K,String(X),M||$,L||function(F){return K.outEdges(F)})}function U(K,X,M,L){var F={},D=!0,V=0,q=K.nodes(),Q=function(oe){var fe=M(oe);F[oe.v].distance+fe{k.exports=$;function $(O){var U={},K=[],X;function M(L){Object.hasOwn(U,L)||(U[L]=!0,X.push(L),O.successors(L).forEach(M),O.predecessors(L).forEach(M))}return O.nodes().forEach(function(L){X=[],M(L),X.length&&K.push(X)}),K}}),b=s((P,k)=>{var $=class{constructor(){o(this,"_arr",[]),o(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(O){return O.key})}has(O){return Object.hasOwn(this._keyIndices,O)}priority(O){var U=this._keyIndices[O];if(U!==void 0)return this._arr[U].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(O,U){var K=this._keyIndices;if(O=String(O),!Object.hasOwn(K,O)){var X=this._arr,M=X.length;return K[O]=M,X.push({key:O,priority:U}),this._decrease(M),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var O=this._arr.pop();return delete this._keyIndices[O.key],this._heapify(0),O.key}decrease(O,U){var K=this._keyIndices[O];if(U>this._arr[K].priority)throw new Error("New priority is greater than current priority. Key: "+O+" Old: "+this._arr[K].priority+" New: "+U);this._arr[K].priority=U,this._decrease(K)}_heapify(O){var U=this._arr,K=2*O,X=K+1,M=O;K>1,!(U[X].priority{var $=b();k.exports=U;var O=()=>1;function U(X,M,L,F){var D=function(V){return X.outEdges(V)};return K(X,String(M),L||O,F||D)}function K(X,M,L,F){var D={},V=new $,q,Q,J=function(W){var te=W.v!==q?W.v:W.w,oe=D[te],fe=L(W),xe=Q.distance+fe;if(fe<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+W+" Weight: "+fe);xe0&&(q=V.removeMin(),Q=D[q],Q.distance!==Number.POSITIVE_INFINITY);)F(q).forEach(J);return D}}),_=s((P,k)=>{var $=y();k.exports=O;function O(U,K,X){return U.nodes().reduce(function(M,L){return M[L]=$(U,L,K,X),M},{})}}),N=s((P,k)=>{k.exports=$;function $(U,K,X){if(U[K].predecessor!==void 0)throw new Error("Invalid source vertex");if(U[X].predecessor===void 0&&X!==K)throw new Error("Invalid destination vertex");return{weight:U[X].distance,path:O(U,K,X)}}function O(U,K,X){for(var M=[],L=X;L!==K;)M.push(L),L=U[L].predecessor;return M.push(K),M.reverse()}}),S=s((P,k)=>{k.exports=$;function $(O){var U=0,K=[],X={},M=[];function L(F){var D=X[F]={onStack:!0,lowlink:U,index:U++};if(K.push(F),O.successors(F).forEach(function(Q){Object.hasOwn(X,Q)?X[Q].onStack&&(D.lowlink=Math.min(D.lowlink,X[Q].index)):(L(Q),D.lowlink=Math.min(D.lowlink,X[Q].lowlink))}),D.lowlink===D.index){var V=[],q;do q=K.pop(),X[q].onStack=!1,V.push(q);while(F!==q);M.push(V)}}return O.nodes().forEach(function(F){Object.hasOwn(X,F)||L(F)}),M}}),w=s((P,k)=>{var $=S();k.exports=O;function O(U){return $(U).filter(function(K){return K.length>1||K.length===1&&U.hasEdge(K[0],K[0])})}}),C=s((P,k)=>{k.exports=O;var $=()=>1;function O(K,X,M){return U(K,X||$,M||function(L){return K.outEdges(L)})}function U(K,X,M){var L={},F=K.nodes();return F.forEach(function(D){L[D]={},L[D][D]={distance:0},F.forEach(function(V){D!==V&&(L[D][V]={distance:Number.POSITIVE_INFINITY})}),M(D).forEach(function(V){var q=V.v===D?V.w:V.v,Q=X(V);L[D][q]={distance:Q,predecessor:D}})}),F.forEach(function(D){var V=L[D];F.forEach(function(q){var Q=L[q];F.forEach(function(J){var W=Q[D],te=V[J],oe=Q[J],fe=W.distance+te.distance;fe{function $(U){var K={},X={},M=[];function L(F){if(Object.hasOwn(X,F))throw new O;Object.hasOwn(K,F)||(X[F]=!0,K[F]=!0,U.predecessors(F).forEach(L),delete X[F],M.push(F))}if(U.sinks().forEach(L),Object.keys(K).length!==U.nodeCount())throw new O;return M}var O=class extends Error{constructor(){super(...arguments)}};k.exports=$,$.CycleException=O}),A=s((P,k)=>{var $=E();k.exports=O;function O(U){try{$(U)}catch(K){if(K instanceof $.CycleException)return!1;throw K}return!0}}),B=s((P,k)=>{k.exports=$;function $(U,K,X,M,L){Array.isArray(K)||(K=[K]);var F=(U.isDirected()?U.successors:U.neighbors).bind(U),D={};return K.forEach(function(V){if(!U.hasNode(V))throw new Error("Graph does not have node: "+V);L=O(U,V,X==="post",D,F,M,L)}),L}function O(U,K,X,M,L,F,D){return Object.hasOwn(M,K)||(M[K]=!0,X||(D=F(D,K)),L(K).forEach(function(V){D=O(U,V,X,M,L,F,D)}),X&&(D=F(D,K))),D}}),R=s((P,k)=>{var $=B();k.exports=O;function O(U,K,X){return $(U,K,X,function(M,L){return M.push(L),M},[])}}),H=s((P,k)=>{var $=R();k.exports=O;function O(U,K){return $(U,K,"post")}}),z=s((P,k)=>{var $=R();k.exports=O;function O(U,K){return $(U,K,"pre")}}),Y=s((P,k)=>{var $=c(),O=b();k.exports=U;function U(K,X){var M=new $,L={},F=new O,D;function V(Q){var J=Q.v===D?Q.w:Q.v,W=F.priority(J);if(W!==void 0){var te=X(Q);te0;){if(D=F.removeMin(),Object.hasOwn(L,D))M.setEdge(D,L[D]);else{if(q)throw new Error("Input graph is not connected: "+K);q=!0}K.nodeEdges(D).forEach(V)}return M}}),j=s((P,k)=>{var $=y(),O=p();k.exports=U;function U(X,M,L,F){return K(X,M,L,F||function(D){return X.outEdges(D)})}function K(X,M,L,F){if(L===void 0)return $(X,M,L,F);for(var D=!1,V=X.nodes(),q=0;q{k.exports={bellmanFord:p(),components:g(),dijkstra:y(),dijkstraAll:_(),extractPath:N(),findCycles:w(),floydWarshall:C(),isAcyclic:A(),postorder:H(),preorder:z(),prim:Y(),shortestPaths:j(),reduce:B(),tarjan:S(),topsort:E()}}),Z=h();t.exports={Graph:Z.Graph,json:f(),alg:I(),version:Z.version}}),AB=vt((e,t)=>{var r=class{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,c=o._prev;if(c!==o)return a(c),c}enqueue(o){let c=this._sentinel;o._prev&&o._next&&a(o),o._next=c._next,c._next._prev=o,c._next=o,o._prev=c}toString(){let o=[],c=this._sentinel,d=c._prev;for(;d!==c;)o.push(JSON.stringify(d,s)),d=d._prev;return"["+o.join(", ")+"]"}};function a(o){o._prev._next=o._next,o._next._prev=o._prev,delete o._next,delete o._prev}function s(o,c){if(o!=="_next"&&o!=="_prev")return c}t.exports=r}),MB=vt((e,t)=>{var r=zr().Graph,a=AB();t.exports=o;var s=()=>1;function o(g,b){if(g.nodeCount()<=1)return[];let y=h(g,b||s);return c(y.graph,y.buckets,y.zeroIdx).flatMap(_=>g.outEdges(_.v,_.w))}function c(g,b,y){let _=[],N=b[b.length-1],S=b[0],w;for(;g.nodeCount();){for(;w=S.dequeue();)d(g,b,y,w);for(;w=N.dequeue();)d(g,b,y,w);if(g.nodeCount()){for(let C=b.length-2;C>0;--C)if(w=b[C].dequeue(),w){_=_.concat(d(g,b,y,w,!0));break}}}return _}function d(g,b,y,_,N){let S=N?[]:void 0;return g.inEdges(_.v).forEach(w=>{let C=g.edge(w),E=g.node(w.v);N&&S.push({v:w.v,w:w.w}),E.out-=C,f(b,y,E)}),g.outEdges(_.v).forEach(w=>{let C=g.edge(w),E=w.w,A=g.node(E);A.in-=C,f(b,y,A)}),g.removeNode(_.v),S}function h(g,b){let y=new r,_=0,N=0;g.nodes().forEach(C=>{y.setNode(C,{v:C,in:0,out:0})}),g.edges().forEach(C=>{let E=y.edge(C.v,C.w)||0,A=b(C),B=E+A;y.setEdge(C.v,C.w,B),N=Math.max(N,y.node(C.v).out+=A),_=Math.max(_,y.node(C.w).in+=A)});let S=p(N+_+3).map(()=>new a),w=_+1;return y.nodes().forEach(C=>{f(S,w,y.node(C))}),{graph:y,buckets:S,zeroIdx:w}}function f(g,b,y){y.out?y.in?g[y.out-y.in+b].enqueue(y):g[g.length-1].enqueue(y):g[0].enqueue(y)}function p(g){let b=[];for(let y=0;y{var r=zr().Graph;t.exports={addBorderNode:b,addDummyNode:a,applyWithChunking:N,asNonCompoundGraph:o,buildLayerMatrix:f,intersectRect:h,mapValues:z,maxRank:S,normalizeRanks:p,notime:E,partition:w,pick:H,predecessorWeights:d,range:R,removeEmptyRanks:g,simplify:s,successorWeights:c,time:C,uniqueId:B,zipObject:Y};function a(j,I,Z,P){for(var k=P;j.hasNode(k);)k=B(P);return Z.dummy=I,j.setNode(k,Z),k}function s(j){let I=new r().setGraph(j.graph());return j.nodes().forEach(Z=>I.setNode(Z,j.node(Z))),j.edges().forEach(Z=>{let P=I.edge(Z.v,Z.w)||{weight:0,minlen:1},k=j.edge(Z);I.setEdge(Z.v,Z.w,{weight:P.weight+k.weight,minlen:Math.max(P.minlen,k.minlen)})}),I}function o(j){let I=new r({multigraph:j.isMultigraph()}).setGraph(j.graph());return j.nodes().forEach(Z=>{j.children(Z).length||I.setNode(Z,j.node(Z))}),j.edges().forEach(Z=>{I.setEdge(Z,j.edge(Z))}),I}function c(j){let I=j.nodes().map(Z=>{let P={};return j.outEdges(Z).forEach(k=>{P[k.w]=(P[k.w]||0)+j.edge(k).weight}),P});return Y(j.nodes(),I)}function d(j){let I=j.nodes().map(Z=>{let P={};return j.inEdges(Z).forEach(k=>{P[k.v]=(P[k.v]||0)+j.edge(k).weight}),P});return Y(j.nodes(),I)}function h(j,I){let Z=j.x,P=j.y,k=I.x-Z,$=I.y-P,O=j.width/2,U=j.height/2;if(!k&&!$)throw new Error("Not possible to find intersection inside of the rectangle");let K,X;return Math.abs($)*O>Math.abs(k)*U?($<0&&(U=-U),K=U*k/$,X=U):(k<0&&(O=-O),K=O,X=O*$/k),{x:Z+K,y:P+X}}function f(j){let I=R(S(j)+1).map(()=>[]);return j.nodes().forEach(Z=>{let P=j.node(Z),k=P.rank;k!==void 0&&(I[k][P.order]=Z)}),I}function p(j){let I=j.nodes().map(P=>{let k=j.node(P).rank;return k===void 0?Number.MAX_VALUE:k}),Z=N(Math.min,I);j.nodes().forEach(P=>{let k=j.node(P);Object.hasOwn(k,"rank")&&(k.rank-=Z)})}function g(j){let I=j.nodes().map(O=>j.node(O).rank).filter(O=>O!==void 0),Z=N(Math.min,I),P=[];j.nodes().forEach(O=>{let U=j.node(O).rank-Z;P[U]||(P[U]=[]),P[U].push(O)});let k=0,$=j.graph().nodeRankFactor;Array.from(P).forEach((O,U)=>{O===void 0&&U%$!==0?--k:O!==void 0&&k&&O.forEach(K=>j.node(K).rank+=k)})}function b(j,I,Z,P){let k={width:0,height:0};return arguments.length>=4&&(k.rank=Z,k.order=P),a(j,"border",k,I)}function y(j,I=_){let Z=[];for(let P=0;P_){let Z=y(I);return j.apply(null,Z.map(P=>j.apply(null,P)))}else return j.apply(null,I)}function S(j){let I=j.nodes().map(Z=>{let P=j.node(Z).rank;return P===void 0?Number.MIN_VALUE:P});return N(Math.max,I)}function w(j,I){let Z={lhs:[],rhs:[]};return j.forEach(P=>{I(P)?Z.lhs.push(P):Z.rhs.push(P)}),Z}function C(j,I){let Z=Date.now();try{return I()}finally{console.log(j+" time: "+(Date.now()-Z)+"ms")}}function E(j,I){return I()}var A=0;function B(j){var I=++A;return j+(""+I)}function R(j,I,Z=1){I==null&&(I=j,j=0);let P=$=>$I<$);let k=[];for(let $=j;P($);$+=Z)k.push($);return k}function H(j,I){let Z={};for(let P of I)j[P]!==void 0&&(Z[P]=j[P]);return Z}function z(j,I){let Z=I;return typeof I=="string"&&(Z=P=>P[I]),Object.entries(j).reduce((P,[k,$])=>(P[k]=Z($,k),P),{})}function Y(j,I){return j.reduce((Z,P,k)=>(Z[P]=I[k],Z),{})}}),OB=vt((e,t)=>{var r=MB(),a=ln().uniqueId;t.exports={run:s,undo:c};function s(d){(d.graph().acyclicer==="greedy"?r(d,h(d)):o(d)).forEach(f=>{let p=d.edge(f);d.removeEdge(f),p.forwardName=f.name,p.reversed=!0,d.setEdge(f.w,f.v,p,a("rev"))});function h(f){return p=>f.edge(p).weight}}function o(d){let h=[],f={},p={};function g(b){Object.hasOwn(p,b)||(p[b]=!0,f[b]=!0,d.outEdges(b).forEach(y=>{Object.hasOwn(f,y.w)?h.push(y):g(y.w)}),delete f[b])}return d.nodes().forEach(g),h}function c(d){d.edges().forEach(h=>{let f=d.edge(h);if(f.reversed){d.removeEdge(h);let p=f.forwardName;delete f.reversed,delete f.forwardName,d.setEdge(h.w,h.v,f,p)}})}}),RB=vt((e,t)=>{var r=ln();t.exports={run:a,undo:o};function a(c){c.graph().dummyChains=[],c.edges().forEach(d=>s(c,d))}function s(c,d){let h=d.v,f=c.node(h).rank,p=d.w,g=c.node(p).rank,b=d.name,y=c.edge(d),_=y.labelRank;if(g===f+1)return;c.removeEdge(d);let N,S,w;for(w=0,++f;f{let h=c.node(d),f=h.edgeLabel,p;for(c.setEdge(h.edgeObj,f);h.dummy;)p=c.successors(d)[0],c.removeNode(d),f.points.push({x:h.x,y:h.y}),h.dummy==="edge-label"&&(f.x=h.x,f.y=h.y,f.width=h.width,f.height=h.height),d=p,h=c.node(d)})}}),$u=vt((e,t)=>{var{applyWithChunking:r}=ln();t.exports={longestPath:a,slack:s};function a(o){var c={};function d(h){var f=o.node(h);if(Object.hasOwn(c,h))return f.rank;c[h]=!0;let p=o.outEdges(h).map(b=>b==null?Number.POSITIVE_INFINITY:d(b.w)-o.edge(b).minlen);var g=r(Math.min,p);return g===Number.POSITIVE_INFINITY&&(g=0),f.rank=g}o.sources().forEach(d)}function s(o,c){return o.node(c.w).rank-o.node(c.v).rank-o.edge(c).minlen}}),m2=vt((e,t)=>{var r=zr().Graph,a=$u().slack;t.exports=s;function s(h){var f=new r({directed:!1}),p=h.nodes()[0],g=h.nodeCount();f.setNode(p,{});for(var b,y;o(f,h){var y=b.v,_=g===y?b.w:y;!h.hasNode(_)&&!a(f,b)&&(h.setNode(_,{}),h.setEdge(g,_,{}),p(_))})}return h.nodes().forEach(p),h.nodeCount()}function c(h,f){return f.edges().reduce((p,g)=>{let b=Number.POSITIVE_INFINITY;return h.hasNode(g.v)!==h.hasNode(g.w)&&(b=a(f,g)),bf.node(g).rank+=p)}}),jB=vt((e,t)=>{var r=m2(),a=$u().slack,s=$u().longestPath,o=zr().alg.preorder,c=zr().alg.postorder,d=ln().simplify;t.exports=h,h.initLowLimValues=b,h.initCutValues=f,h.calcCutValue=g,h.leaveEdge=_,h.enterEdge=N,h.exchangeEdges=S;function h(A){A=d(A),s(A);var B=r(A);b(B),f(B,A);for(var R,H;R=_(B);)H=N(B,A,R),S(B,A,R,H)}function f(A,B){var R=c(A,A.nodes());R=R.slice(0,R.length-1),R.forEach(H=>p(A,B,H))}function p(A,B,R){var H=A.node(R),z=H.parent;A.edge(R,z).cutvalue=g(A,B,R)}function g(A,B,R){var H=A.node(R),z=H.parent,Y=!0,j=B.edge(R,z),I=0;return j||(Y=!1,j=B.edge(z,R)),I=j.weight,B.nodeEdges(R).forEach(Z=>{var P=Z.v===R,k=P?Z.w:Z.v;if(k!==z){var $=P===Y,O=B.edge(Z).weight;if(I+=$?O:-O,C(A,R,k)){var U=A.edge(R,k).cutvalue;I+=$?-U:U}}}),I}function b(A,B){arguments.length<2&&(B=A.nodes()[0]),y(A,{},1,B)}function y(A,B,R,H,z){var Y=R,j=A.node(H);return B[H]=!0,A.neighbors(H).forEach(I=>{Object.hasOwn(B,I)||(R=y(A,B,R,I,H))}),j.low=Y,j.lim=R++,z?j.parent=z:delete j.parent,R}function _(A){return A.edges().find(B=>A.edge(B).cutvalue<0)}function N(A,B,R){var H=R.v,z=R.w;B.hasEdge(H,z)||(H=R.w,z=R.v);var Y=A.node(H),j=A.node(z),I=Y,Z=!1;Y.lim>j.lim&&(I=j,Z=!0);var P=B.edges().filter(k=>Z===E(A,A.node(k.v),I)&&Z!==E(A,A.node(k.w),I));return P.reduce((k,$)=>a(B,$)!B.node(z).parent),H=o(A,R);H=H.slice(1),H.forEach(z=>{var Y=A.node(z).parent,j=B.edge(z,Y),I=!1;j||(j=B.edge(Y,z),I=!0),B.node(z).rank=B.node(Y).rank+(I?j.minlen:-j.minlen)})}function C(A,B,R){return A.hasEdge(B,R)}function E(A,B,R){return R.low<=B.lim&&B.lim<=R.lim}}),DB=vt((e,t)=>{var r=$u(),a=r.longestPath,s=m2(),o=jB();t.exports=c;function c(p){var g=p.graph().ranker;if(g instanceof Function)return g(p);switch(p.graph().ranker){case"network-simplex":f(p);break;case"tight-tree":h(p);break;case"longest-path":d(p);break;case"none":break;default:f(p)}}var d=a;function h(p){a(p),s(p)}function f(p){o(p)}}),LB=vt((e,t)=>{t.exports=r;function r(o){let c=s(o);o.graph().dummyChains.forEach(d=>{let h=o.node(d),f=h.edgeObj,p=a(o,c,f.v,f.w),g=p.path,b=p.lca,y=0,_=g[y],N=!0;for(;d!==f.w;){if(h=o.node(d),N){for(;(_=g[y])!==b&&o.node(_).maxRankg||b>c[y].lim));for(_=y,y=h;(y=o.parent(y))!==_;)p.push(y);return{path:f.concat(p.reverse()),lca:_}}function s(o){let c={},d=0;function h(f){let p=d;o.children(f).forEach(h),c[f]={low:p,lim:d++}}return o.children().forEach(h),c}}),zB=vt((e,t)=>{var r=ln();t.exports={run:a,cleanup:d};function a(h){let f=r.addDummyNode(h,"root",{},"_root"),p=o(h),g=Object.values(p),b=r.applyWithChunking(Math.max,g)-1,y=2*b+1;h.graph().nestingRoot=f,h.edges().forEach(N=>h.edge(N).minlen*=y);let _=c(h)+1;h.children().forEach(N=>s(h,f,y,_,b,p,N)),h.graph().nodeRankFactor=y}function s(h,f,p,g,b,y,_){let N=h.children(_);if(!N.length){_!==f&&h.setEdge(f,_,{weight:0,minlen:p});return}let S=r.addBorderNode(h,"_bt"),w=r.addBorderNode(h,"_bb"),C=h.node(_);h.setParent(S,_),C.borderTop=S,h.setParent(w,_),C.borderBottom=w,N.forEach(E=>{s(h,f,p,g,b,y,E);let A=h.node(E),B=A.borderTop?A.borderTop:E,R=A.borderBottom?A.borderBottom:E,H=A.borderTop?g:2*g,z=B!==R?1:b-y[_]+1;h.setEdge(S,B,{weight:H,minlen:z,nestingEdge:!0}),h.setEdge(R,w,{weight:H,minlen:z,nestingEdge:!0})}),h.parent(_)||h.setEdge(f,S,{weight:0,minlen:b+y[_]})}function o(h){var f={};function p(g,b){var y=h.children(g);y&&y.length&&y.forEach(_=>p(_,b+1)),f[g]=b}return h.children().forEach(g=>p(g,1)),f}function c(h){return h.edges().reduce((f,p)=>f+h.edge(p).weight,0)}function d(h){var f=h.graph();h.removeNode(f.nestingRoot),delete f.nestingRoot,h.edges().forEach(p=>{var g=h.edge(p);g.nestingEdge&&h.removeEdge(p)})}}),IB=vt((e,t)=>{var r=ln();t.exports=a;function a(o){function c(d){let h=o.children(d),f=o.node(d);if(h.length&&h.forEach(c),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let p=f.minRank,g=f.maxRank+1;p{t.exports={adjust:r,undo:a};function r(p){let g=p.graph().rankdir.toLowerCase();(g==="lr"||g==="rl")&&s(p)}function a(p){let g=p.graph().rankdir.toLowerCase();(g==="bt"||g==="rl")&&c(p),(g==="lr"||g==="rl")&&(h(p),s(p))}function s(p){p.nodes().forEach(g=>o(p.node(g))),p.edges().forEach(g=>o(p.edge(g)))}function o(p){let g=p.width;p.width=p.height,p.height=g}function c(p){p.nodes().forEach(g=>d(p.node(g))),p.edges().forEach(g=>{let b=p.edge(g);b.points.forEach(d),Object.hasOwn(b,"y")&&d(b)})}function d(p){p.y=-p.y}function h(p){p.nodes().forEach(g=>f(p.node(g))),p.edges().forEach(g=>{let b=p.edge(g);b.points.forEach(f),Object.hasOwn(b,"x")&&f(b)})}function f(p){let g=p.x;p.x=p.y,p.y=g}}),UB=vt((e,t)=>{var r=ln();t.exports=a;function a(s){let o={},c=s.nodes().filter(g=>!s.children(g).length),d=c.map(g=>s.node(g).rank),h=r.applyWithChunking(Math.max,d),f=r.range(h+1).map(()=>[]);function p(g){if(o[g])return;o[g]=!0;let b=s.node(g);f[b.rank].push(g),s.successors(g).forEach(p)}return c.sort((g,b)=>s.node(g).rank-s.node(b).rank).forEach(p),f}}),HB=vt((e,t)=>{var r=ln().zipObject;t.exports=a;function a(o,c){let d=0;for(let h=1;hN)),f=c.flatMap(_=>o.outEdges(_).map(N=>({pos:h[N.w],weight:o.edge(N).weight})).sort((N,S)=>N.pos-S.pos)),p=1;for(;p{let N=_.pos+p;b[N]+=_.weight;let S=0;for(;N>0;)N%2&&(S+=b[N+1]),N=N-1>>1,b[N]+=_.weight;y+=_.weight*S}),y}}),$B=vt((e,t)=>{t.exports=r;function r(a,s=[]){return s.map(o=>{let c=a.inEdges(o);if(c.length){let d=c.reduce((h,f)=>{let p=a.edge(f),g=a.node(f.v);return{sum:h.sum+p.weight*g.order,weight:h.weight+p.weight}},{sum:0,weight:0});return{v:o,barycenter:d.sum/d.weight,weight:d.weight}}else return{v:o}})}}),qB=vt((e,t)=>{var r=ln();t.exports=a;function a(c,d){let h={};c.forEach((p,g)=>{let b=h[p.v]={indegree:0,in:[],out:[],vs:[p.v],i:g};p.barycenter!==void 0&&(b.barycenter=p.barycenter,b.weight=p.weight)}),d.edges().forEach(p=>{let g=h[p.v],b=h[p.w];g!==void 0&&b!==void 0&&(b.indegree++,g.out.push(h[p.w]))});let f=Object.values(h).filter(p=>!p.indegree);return s(f)}function s(c){let d=[];function h(p){return g=>{g.merged||(g.barycenter===void 0||p.barycenter===void 0||g.barycenter>=p.barycenter)&&o(p,g)}}function f(p){return g=>{g.in.push(p),--g.indegree===0&&c.push(g)}}for(;c.length;){let p=c.pop();d.push(p),p.in.reverse().forEach(h(p)),p.out.forEach(f(p))}return d.filter(p=>!p.merged).map(p=>r.pick(p,["vs","i","barycenter","weight"]))}function o(c,d){let h=0,f=0;c.weight&&(h+=c.barycenter*c.weight,f+=c.weight),d.weight&&(h+=d.barycenter*d.weight,f+=d.weight),c.vs=d.vs.concat(c.vs),c.barycenter=h/f,c.weight=f,c.i=Math.min(d.i,c.i),d.merged=!0}}),PB=vt((e,t)=>{var r=ln();t.exports=a;function a(c,d){let h=r.partition(c,S=>Object.hasOwn(S,"barycenter")),f=h.lhs,p=h.rhs.sort((S,w)=>w.i-S.i),g=[],b=0,y=0,_=0;f.sort(o(!!d)),_=s(g,p,_),f.forEach(S=>{_+=S.vs.length,g.push(S.vs),b+=S.barycenter*S.weight,y+=S.weight,_=s(g,p,_)});let N={vs:g.flat(!0)};return y&&(N.barycenter=b/y,N.weight=y),N}function s(c,d,h){let f;for(;d.length&&(f=d[d.length-1]).i<=h;)d.pop(),c.push(f.vs),h++;return h}function o(c){return(d,h)=>d.barycenterh.barycenter?1:c?h.i-d.i:d.i-h.i}}),FB=vt((e,t)=>{var r=$B(),a=qB(),s=PB();t.exports=o;function o(h,f,p,g){let b=h.children(f),y=h.node(f),_=y?y.borderLeft:void 0,N=y?y.borderRight:void 0,S={};_&&(b=b.filter(A=>A!==_&&A!==N));let w=r(h,b);w.forEach(A=>{if(h.children(A.v).length){let B=o(h,A.v,p,g);S[A.v]=B,Object.hasOwn(B,"barycenter")&&d(A,B)}});let C=a(w,p);c(C,S);let E=s(C,g);if(_&&(E.vs=[_,E.vs,N].flat(!0),h.predecessors(_).length)){let A=h.node(h.predecessors(_)[0]),B=h.node(h.predecessors(N)[0]);Object.hasOwn(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+A.order+B.order)/(E.weight+2),E.weight+=2}return E}function c(h,f){h.forEach(p=>{p.vs=p.vs.flatMap(g=>f[g]?f[g].vs:g)})}function d(h,f){h.barycenter!==void 0?(h.barycenter=(h.barycenter*h.weight+f.barycenter*f.weight)/(h.weight+f.weight),h.weight+=f.weight):(h.barycenter=f.barycenter,h.weight=f.weight)}}),GB=vt((e,t)=>{var r=zr().Graph,a=ln();t.exports=s;function s(c,d,h,f){f||(f=c.nodes());let p=o(c),g=new r({compound:!0}).setGraph({root:p}).setDefaultNodeLabel(b=>c.node(b));return f.forEach(b=>{let y=c.node(b),_=c.parent(b);(y.rank===d||y.minRank<=d&&d<=y.maxRank)&&(g.setNode(b),g.setParent(b,_||p),c[h](b).forEach(N=>{let S=N.v===b?N.w:N.v,w=g.edge(S,b),C=w!==void 0?w.weight:0;g.setEdge(S,b,{weight:c.edge(N).weight+C})}),Object.hasOwn(y,"minRank")&&g.setNode(b,{borderLeft:y.borderLeft[d],borderRight:y.borderRight[d]}))}),g}function o(c){for(var d;c.hasNode(d=a.uniqueId("_root")););return d}}),VB=vt((e,t)=>{t.exports=r;function r(a,s,o){let c={},d;o.forEach(h=>{let f=a.parent(h),p,g;for(;f;){if(p=a.parent(f),p?(g=c[p],c[p]=f):(g=d,d=f),g&&g!==f){s.setEdge(g,f);return}f=p}})}}),YB=vt((e,t)=>{var r=UB(),a=HB(),s=FB(),o=GB(),c=VB(),d=zr().Graph,h=ln();t.exports=f;function f(y,_={}){if(typeof _.customOrder=="function"){_.customOrder(y,f);return}let N=h.maxRank(y),S=p(y,h.range(1,N+1),"inEdges"),w=p(y,h.range(N-1,-1,-1),"outEdges"),C=r(y);if(b(y,C),_.disableOptimalOrderHeuristic)return;let E=Number.POSITIVE_INFINITY,A,B=_.constraints||[];for(let R=0,H=0;H<4;++R,++H){g(R%2?S:w,R%4>=2,B),C=h.buildLayerMatrix(y);let z=a(y,C);z{S.has(C)||S.set(C,[]),S.get(C).push(E)};for(let C of y.nodes()){let E=y.node(C);if(typeof E.rank=="number"&&w(E.rank,C),typeof E.minRank=="number"&&typeof E.maxRank=="number")for(let A=E.minRank;A<=E.maxRank;A++)A!==E.rank&&w(A,C)}return _.map(function(C){return o(y,C,N,S.get(C)||[])})}function g(y,_,N){let S=new d;y.forEach(function(w){N.forEach(A=>S.setEdge(A.left,A.right));let C=w.graph().root,E=s(w,C,S,_);E.vs.forEach((A,B)=>w.node(A).order=B),c(w,S,E.vs)})}function b(y,_){Object.values(_).forEach(N=>N.forEach((S,w)=>y.node(S).order=w))}}),XB=vt((e,t)=>{var r=zr().Graph,a=ln();t.exports={positionX:N,findType1Conflicts:s,findType2Conflicts:o,addConflict:d,hasConflict:h,verticalAlignment:f,horizontalCompaction:p,alignCoordinates:y,findSmallestWidthAlignment:b,balance:_};function s(C,E){let A={};function B(R,H){let z=0,Y=0,j=R.length,I=H[H.length-1];return H.forEach((Z,P)=>{let k=c(C,Z),$=k?C.node(k).order:j;(k||Z===I)&&(H.slice(Y,P+1).forEach(O=>{C.predecessors(O).forEach(U=>{let K=C.node(U),X=K.order;(X{Z=H[P],C.node(Z).dummy&&C.predecessors(Z).forEach(k=>{let $=C.node(k);$.dummy&&($.orderI)&&d(A,k,Z)})})}function R(H,z){let Y=-1,j,I=0;return z.forEach((Z,P)=>{if(C.node(Z).dummy==="border"){let k=C.predecessors(Z);k.length&&(j=C.node(k[0]).order,B(z,I,P,Y,j),I=P,Y=j)}B(z,I,z.length,j,H.length)}),z}return E.length&&E.reduce(R),A}function c(C,E){if(C.node(E).dummy)return C.predecessors(E).find(A=>C.node(A).dummy)}function d(C,E,A){if(E>A){let R=E;E=A,A=R}let B=C[E];B||(C[E]=B={}),B[A]=!0}function h(C,E,A){if(E>A){let B=E;E=A,A=B}return!!C[E]&&Object.hasOwn(C[E],A)}function f(C,E,A,B){let R={},H={},z={};return E.forEach(Y=>{Y.forEach((j,I)=>{R[j]=j,H[j]=j,z[j]=I})}),E.forEach(Y=>{let j=-1;Y.forEach(I=>{let Z=B(I);if(Z.length){Z=Z.sort((k,$)=>z[k]-z[$]);let P=(Z.length-1)/2;for(let k=Math.floor(P),$=Math.ceil(P);k<=$;++k){let O=Z[k];H[I]===I&&jMath.max(k,H[$.v]+z.edge($)),0)}function Z(P){let k=z.outEdges(P).reduce((O,U)=>Math.min(O,H[U.w]-z.edge(U)),Number.POSITIVE_INFINITY),$=C.node(P);k!==Number.POSITIVE_INFINITY&&$.borderType!==Y&&(H[P]=Math.max(H[P],k))}return j(I,z.predecessors.bind(z)),j(Z,z.successors.bind(z)),Object.keys(B).forEach(P=>H[P]=H[A[P]]),H}function g(C,E,A,B){let R=new r,H=C.graph(),z=S(H.nodesep,H.edgesep,B);return E.forEach(Y=>{let j;Y.forEach(I=>{let Z=A[I];if(R.setNode(Z),j){var P=A[j],k=R.edge(P,Z);R.setEdge(P,Z,Math.max(z(C,I,j),k||0))}j=I})}),R}function b(C,E){return Object.values(E).reduce((A,B)=>{let R=Number.NEGATIVE_INFINITY,H=Number.POSITIVE_INFINITY;Object.entries(B).forEach(([Y,j])=>{let I=w(C,Y)/2;R=Math.max(j+I,R),H=Math.min(j-I,H)});let z=R-H;return z{["l","r"].forEach(z=>{let Y=H+z,j=C[Y];if(j===E)return;let I=Object.values(j),Z=B-a.applyWithChunking(Math.min,I);z!=="l"&&(Z=R-a.applyWithChunking(Math.max,I)),Z&&(C[Y]=a.mapValues(j,P=>P+Z))})})}function _(C,E){return a.mapValues(C.ul,(A,B)=>{if(E)return C[E.toLowerCase()][B];{let R=Object.values(C).map(H=>H[B]).sort((H,z)=>H-z);return(R[1]+R[2])/2}})}function N(C){let E=a.buildLayerMatrix(C),A=Object.assign(s(C,E),o(C,E)),B={},R;["u","d"].forEach(z=>{R=z==="u"?E:Object.values(E).reverse(),["l","r"].forEach(Y=>{Y==="r"&&(R=R.map(P=>Object.values(P).reverse()));let j=(z==="u"?C.predecessors:C.successors).bind(C),I=f(C,R,A,j),Z=p(C,R,I.root,I.align,Y==="r");Y==="r"&&(Z=a.mapValues(Z,P=>-P)),B[z+Y]=Z})});let H=b(C,B);return y(B,H),_(B,C.graph().align)}function S(C,E,A){return(B,R,H)=>{let z=B.node(R),Y=B.node(H),j=0,I;if(j+=z.width/2,Object.hasOwn(z,"labelpos"))switch(z.labelpos.toLowerCase()){case"l":I=-z.width/2;break;case"r":I=z.width/2;break}if(I&&(j+=A?I:-I),I=0,j+=(z.dummy?E:C)/2,j+=(Y.dummy?E:C)/2,j+=Y.width/2,Object.hasOwn(Y,"labelpos"))switch(Y.labelpos.toLowerCase()){case"l":I=Y.width/2;break;case"r":I=-Y.width/2;break}return I&&(j+=A?I:-I),I=0,j}}function w(C,E){return C.node(E).width}}),KB=vt((e,t)=>{var r=ln(),a=XB().positionX;t.exports=s;function s(c){c=r.asNonCompoundGraph(c),o(c),Object.entries(a(c)).forEach(([d,h])=>c.node(d).x=h)}function o(c){let d=r.buildLayerMatrix(c),h=c.graph().ranksep,f=c.graph().rankalign,p=0;d.forEach(g=>{let b=g.reduce((y,_)=>{let N=c.node(_).height;return y>N?y:N},0);g.forEach(y=>{let _=c.node(y);f==="top"?_.y=p+_.height/2:f==="bottom"?_.y=p+b-_.height/2:_.y=p+b/2}),p+=b+h})}}),ZB=vt((e,t)=>{var r=OB(),a=RB(),s=DB(),o=ln().normalizeRanks,c=LB(),d=ln().removeEmptyRanks,h=zB(),f=IB(),p=BB(),g=YB(),b=KB(),y=ln(),_=zr().Graph;t.exports=N;function N(q,Q={}){let J=Q.debugTiming?y.time:y.notime;return J("layout",()=>{let W=J(" buildLayoutGraph",()=>j(q));return J(" runLayout",()=>S(W,J,Q)),J(" updateInputGraph",()=>w(q,W)),W})}function S(q,Q,J){Q(" makeSpaceForEdgeLabels",()=>I(q)),Q(" removeSelfEdges",()=>M(q)),Q(" acyclic",()=>r.run(q)),Q(" nestingGraph.run",()=>h.run(q)),Q(" rank",()=>s(y.asNonCompoundGraph(q))),Q(" injectEdgeLabelProxies",()=>Z(q)),Q(" removeEmptyRanks",()=>d(q)),Q(" nestingGraph.cleanup",()=>h.cleanup(q)),Q(" normalizeRanks",()=>o(q)),Q(" assignRankMinMax",()=>P(q)),Q(" removeEdgeLabelProxies",()=>k(q)),Q(" normalize.run",()=>a.run(q)),Q(" parentDummyChains",()=>c(q)),Q(" addBorderSegments",()=>f(q)),Q(" order",()=>g(q,J)),Q(" insertSelfEdges",()=>L(q)),Q(" adjustCoordinateSystem",()=>p.adjust(q)),Q(" position",()=>b(q)),Q(" positionSelfEdges",()=>F(q)),Q(" removeBorderNodes",()=>X(q)),Q(" normalize.undo",()=>a.undo(q)),Q(" fixupEdgeLabelCoords",()=>U(q)),Q(" undoCoordinateSystem",()=>p.undo(q)),Q(" translateGraph",()=>$(q)),Q(" assignNodeIntersects",()=>O(q)),Q(" reversePoints",()=>K(q)),Q(" acyclic.undo",()=>r.undo(q))}function w(q,Q){q.nodes().forEach(J=>{let W=q.node(J),te=Q.node(J);W&&(W.x=te.x,W.y=te.y,W.order=te.order,W.rank=te.rank,Q.children(J).length&&(W.width=te.width,W.height=te.height))}),q.edges().forEach(J=>{let W=q.edge(J),te=Q.edge(J);W.points=te.points,Object.hasOwn(te,"x")&&(W.x=te.x,W.y=te.y)}),q.graph().width=Q.graph().width,q.graph().height=Q.graph().height}var C=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb",rankalign:"center"},A=["acyclicer","ranker","rankdir","align","rankalign"],B=["width","height","rank"],R={width:0,height:0},H=["minlen","weight","width","height","labeloffset"],z={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Y=["labelpos"];function j(q){let Q=new _({multigraph:!0,compound:!0}),J=V(q.graph());return Q.setGraph(Object.assign({},E,D(J,C),y.pick(J,A))),q.nodes().forEach(W=>{let te=V(q.node(W)),oe=D(te,B);Object.keys(R).forEach(fe=>{oe[fe]===void 0&&(oe[fe]=R[fe])}),Q.setNode(W,oe),Q.setParent(W,q.parent(W))}),q.edges().forEach(W=>{let te=V(q.edge(W));Q.setEdge(W,Object.assign({},z,D(te,H),y.pick(te,Y)))}),Q}function I(q){let Q=q.graph();Q.ranksep/=2,q.edges().forEach(J=>{let W=q.edge(J);W.minlen*=2,W.labelpos.toLowerCase()!=="c"&&(Q.rankdir==="TB"||Q.rankdir==="BT"?W.width+=W.labeloffset:W.height+=W.labeloffset)})}function Z(q){q.edges().forEach(Q=>{let J=q.edge(Q);if(J.width&&J.height){let W=q.node(Q.v),te={rank:(q.node(Q.w).rank-W.rank)/2+W.rank,e:Q};y.addDummyNode(q,"edge-proxy",te,"_ep")}})}function P(q){let Q=0;q.nodes().forEach(J=>{let W=q.node(J);W.borderTop&&(W.minRank=q.node(W.borderTop).rank,W.maxRank=q.node(W.borderBottom).rank,Q=Math.max(Q,W.maxRank))}),q.graph().maxRank=Q}function k(q){q.nodes().forEach(Q=>{let J=q.node(Q);J.dummy==="edge-proxy"&&(q.edge(J.e).labelRank=J.rank,q.removeNode(Q))})}function $(q){let Q=Number.POSITIVE_INFINITY,J=0,W=Number.POSITIVE_INFINITY,te=0,oe=q.graph(),fe=oe.marginx||0,xe=oe.marginy||0;function we(Ne){let De=Ne.x,$e=Ne.y,st=Ne.width,Rt=Ne.height;Q=Math.min(Q,De-st/2),J=Math.max(J,De+st/2),W=Math.min(W,$e-Rt/2),te=Math.max(te,$e+Rt/2)}q.nodes().forEach(Ne=>we(q.node(Ne))),q.edges().forEach(Ne=>{let De=q.edge(Ne);Object.hasOwn(De,"x")&&we(De)}),Q-=fe,W-=xe,q.nodes().forEach(Ne=>{let De=q.node(Ne);De.x-=Q,De.y-=W}),q.edges().forEach(Ne=>{let De=q.edge(Ne);De.points.forEach($e=>{$e.x-=Q,$e.y-=W}),Object.hasOwn(De,"x")&&(De.x-=Q),Object.hasOwn(De,"y")&&(De.y-=W)}),oe.width=J-Q+fe,oe.height=te-W+xe}function O(q){q.edges().forEach(Q=>{let J=q.edge(Q),W=q.node(Q.v),te=q.node(Q.w),oe,fe;J.points?(oe=J.points[0],fe=J.points[J.points.length-1]):(J.points=[],oe=te,fe=W),J.points.unshift(y.intersectRect(W,oe)),J.points.push(y.intersectRect(te,fe))})}function U(q){q.edges().forEach(Q=>{let J=q.edge(Q);if(Object.hasOwn(J,"x"))switch((J.labelpos==="l"||J.labelpos==="r")&&(J.width-=J.labeloffset),J.labelpos){case"l":J.x-=J.width/2+J.labeloffset;break;case"r":J.x+=J.width/2+J.labeloffset;break}})}function K(q){q.edges().forEach(Q=>{let J=q.edge(Q);J.reversed&&J.points.reverse()})}function X(q){q.nodes().forEach(Q=>{if(q.children(Q).length){let J=q.node(Q),W=q.node(J.borderTop),te=q.node(J.borderBottom),oe=q.node(J.borderLeft[J.borderLeft.length-1]),fe=q.node(J.borderRight[J.borderRight.length-1]);J.width=Math.abs(fe.x-oe.x),J.height=Math.abs(te.y-W.y),J.x=oe.x+J.width/2,J.y=W.y+J.height/2}}),q.nodes().forEach(Q=>{q.node(Q).dummy==="border"&&q.removeNode(Q)})}function M(q){q.edges().forEach(Q=>{if(Q.v===Q.w){var J=q.node(Q.v);J.selfEdges||(J.selfEdges=[]),J.selfEdges.push({e:Q,label:q.edge(Q)}),q.removeEdge(Q)}})}function L(q){var Q=y.buildLayerMatrix(q);Q.forEach(J=>{var W=0;J.forEach((te,oe)=>{var fe=q.node(te);fe.order=oe+W,(fe.selfEdges||[]).forEach(xe=>{y.addDummyNode(q,"selfedge",{width:xe.label.width,height:xe.label.height,rank:fe.rank,order:oe+ ++W,e:xe.e,label:xe.label},"_se")}),delete fe.selfEdges})})}function F(q){q.nodes().forEach(Q=>{var J=q.node(Q);if(J.dummy==="selfedge"){var W=q.node(J.e.v),te=W.x+W.width/2,oe=W.y,fe=J.x-te,xe=W.height/2;q.setEdge(J.e,J.label),q.removeNode(Q),J.label.points=[{x:te+2*fe/3,y:oe-xe},{x:te+5*fe/6,y:oe-xe},{x:te+fe,y:oe},{x:te+5*fe/6,y:oe+xe},{x:te+2*fe/3,y:oe+xe}],J.label.x=J.x,J.label.y=J.y}})}function D(q,Q){return y.mapValues(y.pick(q,Q),Number)}function V(q){var Q={};return q&&Object.entries(q).forEach(([J,W])=>{typeof J=="string"&&(J=J.toLowerCase()),Q[J]=W}),Q}}),QB=vt((e,t)=>{var r=ln(),a=zr().Graph;t.exports={debugOrdering:s};function s(o){let c=r.buildLayerMatrix(o),d=new a({compound:!0,multigraph:!0}).setGraph({});return o.nodes().forEach(h=>{d.setNode(h,{label:h}),d.setParent(h,"layer"+o.node(h).rank)}),o.edges().forEach(h=>d.setEdge(h.v,h.w,{},h.name)),c.forEach((h,f)=>{let p="layer"+f;d.setNode(p,{rank:"same"}),h.reduce((g,b)=>(d.setEdge(g,b,{style:"invis"}),b))}),d}}),WB=vt((e,t)=>{t.exports="2.0.4"}),JB=vt((e,t)=>{t.exports={graphlib:zr(),layout:ZB(),debug:QB(),util:{time:ln().time,notime:ln().notime},version:WB()}});const t_=JB();/*! For license information please see dagre.esm.js.LEGAL.txt */const n_={running:"bg-blue-500",completed:"bg-emerald-500",failed:"bg-red-500",error:"bg-red-500"};function e7({data:e,selected:t}){const r=e;return m.jsxs("div",{className:`w-[260px] rounded-lg border px-4 py-3 transition-colors ${r.isSelected||t?"border-white/30 bg-[#0a0a0a]":"border-[#222] bg-black hover:border-[#333]"}`,children:[m.jsx(tl,{type:"target",position:ze.Top,isConnectable:!1,className:`!w-1.5 !h-1.5 !border-0 ${r.parentId?"!bg-[#444]":"!bg-transparent"}`}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsxs("span",{className:"relative flex h-2 w-2 shrink-0",children:[m.jsx("span",{className:`absolute inline-flex h-full w-full rounded-full opacity-75 ${n_[r.status]??"bg-gray-500"} ${r.status==="running"?"animate-ping":""}`}),m.jsx("span",{className:`relative inline-flex h-2 w-2 rounded-full ${n_[r.status]??"bg-gray-500"}`})]}),m.jsx("span",{className:"text-sm font-semibold text-white leading-snug line-clamp-3",children:r.name})]}),m.jsx(tl,{type:"source",position:ze.Bottom,isConnectable:!1,className:`!w-1.5 !h-1.5 !border-0 ${r.children&&r.children.length>0?"!bg-[#444]":"!bg-transparent"}`})]})}const t7=ee.memo(e7);function ro({w:e=24}){return m.jsxs("div",{className:"w-[180px] h-[72px] rounded-lg border border-[#222] bg-[#0a0a0a] px-3 py-2 shrink-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[m.jsx("div",{className:"w-2 h-2 rounded-full bg-[#2a2a2a]"}),m.jsx("div",{className:"h-3 rounded bg-[#252525]",style:{width:`${e*4}px`}})]}),m.jsx("div",{className:"h-2 w-28 rounded bg-[#1e1e1e] mb-1.5"}),m.jsxs("div",{className:"flex gap-3",children:[m.jsx("div",{className:"h-2 w-8 rounded bg-[#1e1e1e]"}),m.jsx("div",{className:"h-2 w-8 rounded bg-[#1e1e1e]"})]})]})}function Bs(){return m.jsx("div",{className:"w-px h-6 bg-[#2a2a2a]"})}function r_({count:e}){return m.jsx("div",{className:"relative flex justify-center",children:m.jsx("div",{className:"absolute top-0 h-px bg-[#2a2a2a]",style:{width:`${(e-1)*220}px`}})})}function n7(){return m.jsx("div",{className:"h-full bg-black overflow-hidden",children:m.jsxs("div",{className:"flex flex-col items-center pt-10 animate-pulse",children:[m.jsx(ro,{w:20}),m.jsx(Bs,{}),m.jsx(r_,{count:3}),m.jsx("div",{className:"flex gap-10",children:[18,22,16].map((e,t)=>m.jsxs("div",{className:"flex flex-col items-center",children:[m.jsx(Bs,{}),m.jsx(ro,{w:e})]},t))}),m.jsxs("div",{className:"flex gap-10 w-full justify-center",children:[m.jsxs("div",{className:"flex flex-col items-center",children:[m.jsx(Bs,{}),m.jsx(r_,{count:2}),m.jsx("div",{className:"flex gap-10",children:[14,20].map((e,t)=>m.jsxs("div",{className:"flex flex-col items-center",children:[m.jsx(Bs,{}),m.jsx(ro,{w:e})]},t))})]}),m.jsxs("div",{className:"flex flex-col items-center",children:[m.jsx(Bs,{}),m.jsx(ro,{w:18}),m.jsx(Bs,{}),m.jsx(ro,{w:12})]}),m.jsx("div",{className:"w-[180px]"})]})]})})}const yp=260,vp=80,r7={agentNode:t7};function i7(e,t){const r=new t_.graphlib.Graph;r.setDefaultEdgeLabel(()=>({})),r.setGraph({rankdir:"TB",nodesep:60,ranksep:80});const a=[],s=[];for(const[o,c]of e)if(r.setNode(o,{width:yp,height:vp}),a.push({id:o,type:"agentNode",position:{x:0,y:0},data:{...c,isSelected:o===t}}),c.parentId&&e.has(c.parentId)){const d=`${c.parentId}->${o}`;r.setEdge(c.parentId,o),s.push({id:d,source:c.parentId,target:o,style:{stroke:"#2a2a2a",strokeWidth:1.5}})}t_.layout(r);for(const o of a){const c=r.node(o.id);c&&(o.position={x:c.x-yp/2,y:c.y-vp/2})}return{nodes:a,edges:s}}const Lm=300;function a7({nodes:e}){const{setCenter:t}=qo(),r=ee.useRef(!1);return ee.useEffect(()=>{if(e.length>0&&!r.current){const s=e.find(d=>!d.data.parentId)??e[0];r.current=!0;const o=s.position.x+yp/2,c=s.position.y+vp/2;setTimeout(()=>t(o,c,{zoom:.85,duration:400}),60)}},[e,t]),null}function s7(){const{zoomIn:e,zoomOut:t,fitView:r}=qo();return m.jsx(dB,{position:"bottom-right",showZoom:!1,showFitView:!1,showInteractive:!1,className:"!bg-transparent !border-none !shadow-none",children:m.jsxs("div",{className:"flex flex-col overflow-hidden rounded-lg border border-[#222]",children:[m.jsx("button",{onClick:()=>e({duration:Lm}),className:"flex items-center justify-center w-7 h-7 bg-[#111] text-white hover:bg-[#2a2a2a] transition-colors",title:"Zoom in",children:m.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,className:"w-3.5 h-3.5",children:m.jsx("path",{d:"M12 5v14M5 12h14"})})}),m.jsx("button",{onClick:()=>t({duration:Lm}),className:"flex items-center justify-center w-7 h-7 bg-[#111] text-white hover:bg-[#2a2a2a] border-y border-[#222] transition-colors",title:"Zoom out",children:m.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,className:"w-3.5 h-3.5",children:m.jsx("path",{d:"M5 12h14"})})}),m.jsx("button",{onClick:()=>r({padding:.3,duration:Lm}),className:"flex items-center justify-center w-7 h-7 bg-[#111] text-white hover:bg-[#2a2a2a] transition-colors",title:"Fit view",children:m.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,className:"w-3.5 h-3.5",children:m.jsx("path",{d:"M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7"})})})]})})}function l7({agents:e,selectedAgentId:t,onSelectAgent:r,eventsLoaded:a,eventsEmpty:s,scanCompleted:o}){const[c,d,h]=W9([]),[f,p,g]=J9([]);ee.useEffect(()=>{if(e.size===0)return;const{nodes:S,edges:w}=i7(e,t);d(S),p(w)},[e.size,d,p]),ee.useEffect(()=>{e.size!==0&&d(S=>S.map(w=>{const C=e.get(w.id);return C?{...w,data:{...C,isSelected:w.id===t}}:w}))},[e,t,d]);const b=ee.useRef(!1),y=ee.useCallback((S,w)=>{b.current=!0,r(w.id)},[r]),_=ee.useCallback(()=>{if(b.current){b.current=!1;return}r(null)},[r]);if(e.size===0&&a&&s)return m.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center px-4",children:[m.jsx("div",{className:"w-10 h-10 mb-3 rounded-full bg-[#111] flex items-center justify-center",children:o?m.jsx("svg",{className:"w-5 h-5 text-[#444]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:m.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6ZM3.75 15.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6ZM13.5 15.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25a2.25 2.25 0 0 1-2.25-2.25v-2.25Z"})}):m.jsx("div",{className:"w-2 h-2 rounded-full bg-blue-500 animate-pulse"})}),m.jsx("p",{className:"text-sm text-[#555]",children:o?"Agent trace data is not available for this pentest":"Waiting for agent data…"})]});const N=e.size>0;return m.jsxs("div",{className:"relative h-full",children:[m.jsx("div",{className:`absolute inset-0 z-10 transition-opacity duration-500 ${N?"opacity-0 pointer-events-none":"opacity-100"}`,children:m.jsx(n7,{})}),m.jsx("div",{className:`h-full transition-opacity duration-500 ${N?"opacity-100":"opacity-0"}`,children:m.jsxs(Q9,{nodes:c,edges:f,onNodesChange:h,onEdgesChange:g,onNodeClick:y,onPaneClick:_,nodeTypes:r7,nodesConnectable:!1,edgesFocusable:!1,edgesReconnectable:!1,minZoom:.15,maxZoom:1.5,proOptions:{hideAttribution:!0},className:"bg-black",children:[m.jsx(iB,{color:"#111",gap:20}),m.jsx(a7,{nodes:c}),m.jsx(s7,{}),m.jsx(SB,{position:"bottom-left",nodeColor:S=>{var C;const w=(C=S.data)==null?void 0:C.status;return w==="running"?"#3b82f6":w==="completed"?"#10b981":w==="failed"||w==="error"?"#ef4444":"#555"},maskColor:"rgba(0,0,0,0.8)",style:{width:80,height:50},className:"!bg-[#0a0a0a] !border-[#222]"})]})})]})}function da({text:e,className:t=""}){return m.jsx("div",{className:`prose-markdown ${t}`,children:m.jsx(Yp,{remarkPlugins:[Qp],rehypePlugins:[Wp],components:Jp,children:e})})}const i_=6,a_=20;function qt({text:e,maxLines:t=20}){const[r,a]=ee.useState(!1),o=e.trimEnd().split(` `).length>t;return m.jsxs("div",{children:[m.jsx("div",{className:r&&o?"max-h-[1200px] overflow-auto":"",style:!r&&o?{display:"-webkit-box",WebkitLineClamp:t,WebkitBoxOrient:"vertical",overflow:"hidden"}:void 0,children:m.jsx(da,{text:e})}),o&&m.jsx("button",{onClick:()=>a(!r),className:"text-xs text-[#555] hover:text-[#888] mt-1",children:r?"Show less":"Show more"})]})}function Ei({children:e,className:t=""}){const[r,a]=ee.useState(!1),o=typeof e=="string"?e.trimEnd().split(` `):null,c=o!==null&&o.length>i_,d=c&&!r?o.slice(0,i_).join(` `):e;return m.jsxs("div",{children:[m.jsx("pre",{className:`font-mono text-[13px] leading-relaxed whitespace-pre-wrap break-words mt-1 ${r?"overflow-auto max-h-[1200px]":"overflow-hidden"} ${t}`,children:d}),c&&m.jsx("button",{onClick:()=>a(!r),className:"text-xs text-[#555] hover:text-[#888] mt-0.5",children:r?"Show less":"Show more"})]})}function bg({code:e,language:t,className:r="",collapsible:a=!1}){const[s,o]=ee.useState(!1),c=e.trimEnd().split(` @@ -498,15 +498,15 @@ https://github.com/highlightjs/highlight.js/issues/2277`),Ht=ye,ft=Le),Qe===void `)}function g7({toolName:e,args:t,result:r}){const a=e==="write_stdin",s=a?t.chars??t.input??"":t.command??t.cmd??"",o=r;let c=null,d=null,h=null;if(o&&typeof o=="object"){c=typeof o.content=="string"?o.content:null,d=typeof o.error=="string"?o.error:null,h=typeof o.exit_code=="number"?o.exit_code:null;const p=typeof o.status=="string"?o.status:"";(p==="running"||p==="command still running")&&(c=null)}else typeof o=="string"&&(c=o);const f=c?p7(m7(c,s)):null;return m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/80 font-semibold text-sm",children:a?"Terminal input":"Terminal"}),s&&m.jsx(bg,{code:s,language:"bash",collapsible:!0}),d&&m.jsx(Ei,{className:"text-red-400/70",children:d}),f&&m.jsx(Ei,{className:"text-[#666]",children:f}),h!=null&&h!==0&&m.jsxs("div",{className:"font-mono text-[13px] text-red-400/70 mt-0.5",children:["exit code ",h]})]})}const c_={back:"going back in browser history",forward:"going forward in browser history",scroll_down:"scrolling down",scroll_up:"scrolling up",refresh:"refreshing",close_tab:"closing tab",switch_tab:"switching tab",list_tabs:"listing tabs",view_source:"viewing page source",get_console_logs:"getting console logs",screenshot:"taking screenshot",wait:"waiting...",close:"closing"},u_={click:"clicking",double_click:"double clicking",hover:"hovering"};function Im({prefix:e,url:t,suffix:r}){return m.jsxs("span",{className:"text-[#888] text-[13px]",children:[e,t&&m.jsx("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"text-cyan-400/80 hover:underline",children:t}),r]})}function x7(e){const t=e.action??"",r=e.url??void 0;if(t in c_)return c_[t];if(t==="launch")return r?m.jsx(Im,{prefix:"launching ",url:r}):"launching";if(t==="goto"||t==="navigate")return m.jsx(Im,{prefix:"navigating to ",url:r});if(t==="new_tab")return m.jsx(Im,{prefix:"opening tab ",url:r});if(t in u_)return u_[t];if(t==="type")return`typing "${(e.text??"").slice(0,40)}"`;if(t==="press_key"||t==="key_press")return`pressing key ${e.key??""}`;if(t==="save_pdf"||t==="save_as_pdf"){const a=e.file_path??"";return`saving PDF${a?` to ${a}`:""}`}return t==="execute_js"?"executing javascript":t||"browser action"}function b7({args:e}){const r=(e.action??"")==="execute_js"?e.js_code??e.code??"":"",a=x7(e);return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[m.jsx("span",{className:"text-blue-400/80 font-semibold text-sm shrink-0",children:"Browser"}),m.jsx("span",{className:"min-w-0 truncate text-[#888] text-[13px]",children:a})]}),r&&m.jsx(bg,{code:r,language:"javascript",collapsible:!0})]})}function yg(e){return e.length>60?"..."+e.slice(-57):e}const pu=30;function y7({toolName:e,args:t}){const r=t.path??t.file_path??"",a=t.command??"",s=t.old_str??"",o=t.new_str??"",c=t.regex??"";let d;e==="list_files"?d="list":e==="search_files"?d="search":a==="view"?d="view":a==="create"?d="create":a==="str_replace"?d="edit":a==="undo_edit"?d="undo":a==="insert"?d="insert":d="file";const h=r?yg(r):"",f=c?` /${c}/`:"",p=s?s.split(` `):[],g=o?o.split(` `):[],b=p.length+g.length,y=b>pu,_=y?Math.round(pu*(p.length/b)):p.length,N=y?pu-_:g.length;return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-baseline gap-2",children:[m.jsx("span",{className:"text-sky-400/80 font-semibold text-sm shrink-0",children:d}),h&&m.jsx("span",{className:"text-[#888] font-mono text-[13px] break-all",children:h})]}),f&&m.jsx("div",{className:"text-purple-400/60 font-mono text-[13px] break-all mt-0.5",children:f}),(s||o)&&m.jsxs("div",{className:"font-mono text-[13px] leading-relaxed mt-1.5",children:[p.slice(0,_).map((S,w)=>m.jsxs("div",{className:"text-red-400/60",children:[m.jsx("span",{className:"select-none text-red-400/30 mr-1",children:"-"}),S]},`o${w}`)),g.slice(0,N).map((S,w)=>m.jsxs("div",{className:"text-emerald-400/60",children:[m.jsx("span",{className:"select-none text-emerald-400/30 mr-1",children:"+"}),S]},`n${w}`)),y&&m.jsxs("div",{className:"text-[#444] mt-0.5",children:["... ",b-pu," more lines"]})]})]})}const gu=30,v7="*** Begin Patch",_7="*** End Patch",d_="*** Add File: ",f_="*** Update File: ",h_="*** Delete File: ",w7={add:"create",update:"edit",delete:"delete"};function E7(e){const t=e.patch;return typeof t=="string"?t:t&&typeof t=="object"&&typeof t.patch=="string"?t.patch:typeof e.input=="string"?e.input:""}function N7(e){const t=[];let r=null;const a=()=>{r&&t.push(r),r=null};for(const s of e.split(` -`))if(!(s===v7||s===_7))if(s.startsWith(d_))a(),r={kind:"add",path:s.slice(d_.length).trim(),oldLines:[],newLines:[]};else if(s.startsWith(f_))a(),r={kind:"update",path:s.slice(f_.length).trim(),oldLines:[],newLines:[]};else if(s.startsWith(h_))a(),r={kind:"delete",path:s.slice(h_.length).trim(),oldLines:[],newLines:[]};else if((r==null?void 0:r.kind)==="update"){if(s.startsWith("@@"))continue;s.startsWith("-")&&!s.startsWith("---")?r.oldLines.push(s.slice(1)):s.startsWith("+")&&!s.startsWith("+++")&&r.newLines.push(s.slice(1))}else(r==null?void 0:r.kind)==="add"&&(s.startsWith("+")?r.newLines.push(s.slice(1)):s.trim()&&r.newLines.push(s));return a(),t}function S7({op:e}){const t=w7[e.kind]??"file",r=e.oldLines.length+e.newLines.length,a=r>gu,s=a&&r>0?Math.round(gu*(e.oldLines.length/r)):e.oldLines.length,o=a?gu-s:e.newLines.length;return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-baseline gap-2",children:[m.jsx("span",{className:"text-sky-400/80 font-semibold text-sm shrink-0",children:t}),e.path&&m.jsx("span",{className:"text-[#888] font-mono text-[13px] break-all",children:yg(e.path)})]}),(e.oldLines.length>0||e.newLines.length>0)&&m.jsxs("div",{className:"font-mono text-[13px] leading-relaxed mt-1.5",children:[e.oldLines.slice(0,s).map((c,d)=>m.jsxs("div",{className:"text-red-400/60",children:[m.jsx("span",{className:"select-none text-red-400/30 mr-1",children:"-"}),c]},`o${d}`)),e.newLines.slice(0,o).map((c,d)=>m.jsxs("div",{className:"text-emerald-400/60",children:[m.jsx("span",{className:"select-none text-emerald-400/30 mr-1",children:"+"}),c]},`n${d}`)),a&&m.jsxs("div",{className:"text-[#444] mt-0.5",children:["... ",r-gu," more lines"]})]})]})}function k7({args:e,result:t,status:r}){const a=N7(E7(e));return a.length===0?m.jsxs("div",{children:[m.jsx("span",{className:"text-sky-400/80 font-semibold text-sm",children:"patch"}),r==="failed"&&typeof t=="string"&&t.trim()&&m.jsx("div",{className:"text-red-400/70 text-[13px] mt-1",children:t.trim()})]}):m.jsxs("div",{className:"space-y-2",children:[a.map((s,o)=>m.jsx(S7,{op:s},o)),r==="failed"&&typeof t=="string"&&t.trim()&&m.jsx("div",{className:"text-red-400/70 text-[13px]",children:t.trim()})]})}const C7=/data:image\/(png|jpe?g|gif|webp);base64,([A-Za-z0-9+/]+={0,2})/;function T7(e){let t=null;if(typeof e=="string")t=e;else if(e&&typeof e=="object"){const a=e;typeof a.image_url=="string"?t=a.image_url:typeof a.url=="string"&&(t=a.url)}if(!t)return null;const r=C7.exec(t);return!r||r[2].length<100||r[2].length%4!==0?null:`data:image/${r[1]};base64,${r[2]}`}function A7({args:e,result:t}){const r=(e.path??"").trim(),a=T7(t);let s=null;if(!a&&typeof t=="string"){const o=t.trim();o&&!o.toLowerCase().startsWith("data:image/")&&!o.startsWith("{")&&(s=o)}return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-baseline gap-2",children:[m.jsx("span",{className:"text-sky-400/80 font-semibold text-sm shrink-0",children:"view image"}),r&&m.jsx("span",{className:"text-[#888] font-mono text-[13px] break-all",children:yg(r)})]}),a&&m.jsx("img",{src:a,alt:r||"Tool image output",className:"mt-1.5 max-w-full max-h-96 rounded-lg border border-white/[0.06] object-contain"}),s&&m.jsx("div",{className:"text-red-400/70 text-[13px] mt-1",children:s})]})}const M7={critical:"text-red-400",high:"text-orange-400",medium:"text-yellow-400",low:"text-blue-400",info:"text-cyan-400"},O7={high:"text-emerald-400",medium:"text-yellow-400",low:"text-orange-400"};function R7({args:e,result:t}){const r=e.title??"",a=e.description??"",s=e.impact??"",o=e.target??"",c=e.endpoint??"",d=e.method??"",h=e.technical_analysis??"",f=e.poc_description??"",{language:p,code:g}=EE(e.poc_script_code??""),b=e.remediation_steps??"",y=e.cve??"",_=e.cwe??"",N=e.counterevidence??"",S=(e.confidence??"").toLowerCase(),w=e.confidence_rationale??"",C=e.severity_change_conditions??"",E=e.fix_verification??"",A=t,B=(A&&typeof A=="object"?A.severity:null)??e.severity??"medium",R=String(B).toLowerCase(),H=(A&&typeof A=="object"?A.cvss_score:null)??e.cvss??null,z=M7[R]??"text-yellow-400";return m.jsxs("div",{className:"space-y-3",children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[m.jsx("span",{className:`font-semibold text-sm ${z}`,children:R.toUpperCase()}),H!=null&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["CVSS ",H]}),y&&m.jsx("span",{className:"text-[#888] font-mono text-[13px]",children:y}),_&&m.jsx("span",{className:"text-[#888] font-mono text-[13px]",children:_}),S&&m.jsxs("span",{className:`text-[13px] ${O7[S]??"text-[#888]"}`,children:[S," confidence"]})]}),r&&m.jsx("div",{className:"text-[15px] text-white/80 font-semibold",children:r}),(o||c)&&m.jsxs("div",{className:"text-[13px] text-[#888] font-mono",children:[o,c?` ${d} ${c}`:""]}),a&&m.jsx(Yt,{text:a,maxLines:20}),s&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Impact"}),m.jsx("div",{className:"mt-1",children:m.jsx(Yt,{text:s,maxLines:15})})]}),h&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Technical Analysis"}),m.jsx("div",{className:"mt-1",children:m.jsx(Yt,{text:h,maxLines:20})})]}),w&&m.jsx("div",{className:"text-[#777] text-xs leading-snug",children:w}),N&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Counterevidence"}),m.jsx("div",{className:"mt-1",children:m.jsx(Yt,{text:N,maxLines:12})})]}),C&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Severity would change if"}),m.jsx("div",{className:"mt-1",children:m.jsx(Yt,{text:C,maxLines:10})})]}),(f||g)&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Proof of Concept"}),f&&m.jsx("div",{className:"mt-1",children:m.jsx(da,{text:f})}),g&&m.jsx(wE,{className:p?`language-${p}`:void 0,children:g})]}),b&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Remediation"}),m.jsx("div",{className:"mt-1",children:m.jsx(Yt,{text:b,maxLines:15})})]}),E&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Fix verification"}),m.jsx("div",{className:"mt-1",children:m.jsx(Yt,{text:E,maxLines:12})})]})]})}const j7={critical:"text-red-400",high:"text-orange-400",medium:"text-yellow-400",low:"text-blue-400",info:"text-cyan-400",none:"text-[#888]"};function D7(e){if(!e.agent_name&&!e.by_you)return null;const t=e.by_you?"you":e.agent_name;return m.jsxs("span",{className:"text-[#666] text-xs ml-1.5",children:["(",t,")"]})}function Bm(e){const t=String(e??"").toLowerCase(),r=j7[t]??"text-yellow-400";return m.jsx("span",{className:`font-semibold text-[13px] ${r}`,children:t.toUpperCase()||"—"})}function m_({toolName:e,result:t}){const r=t,a=r!=null&&typeof r=="object"&&r.success===!0;if(e==="get_report"){const f=a?r.report:void 0;return m.jsxs("div",{children:[m.jsx("span",{className:"text-red-400/80 font-semibold text-sm",children:"report"}),f?m.jsxs("div",{className:"mt-1.5 space-y-2",children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[Bm(f.severity),f.cvss!=null&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["CVSS ",f.cvss]}),f.id&&m.jsx("span",{className:"text-[#555] font-mono text-[13px]",children:f.id}),f.cve&&m.jsx("span",{className:"text-[#888] font-mono text-[13px]",children:f.cve}),f.cwe&&m.jsx("span",{className:"text-[#888] font-mono text-[13px]",children:f.cwe}),(f.agent_name||f.by_you)&&m.jsx("span",{className:"text-[#666] text-[13px]",children:f.by_you?"you":f.agent_name})]}),f.title&&m.jsx("div",{className:"text-[15px] text-white/80 font-semibold",children:f.title}),(f.target||f.endpoint)&&m.jsxs("div",{className:"text-[13px] text-[#888] font-mono",children:[f.target,f.endpoint?` ${f.method??""} ${f.endpoint}`:""]}),f.description&&m.jsx(Yt,{text:f.description,maxLines:20})]}):m.jsx("div",{className:"mt-1 text-[#555] text-xs",children:r&&typeof r=="object"&&r.error||"Report not found"})]})}const s=a?r.reports:null,o=Array.isArray(s)?s:[],c=a&&typeof r.total_count=="number"?r.total_count:o.length,d=a&&r.severity_counts&&typeof r.severity_counts=="object"?r.severity_counts:{},h=Object.entries(d);return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[m.jsx("span",{className:"text-red-400/80 font-semibold text-sm",children:"reports"}),m.jsxs("span",{className:"text-[#555] text-[13px]",children:["(",c,")"]}),h.map(([f,p])=>m.jsxs("span",{className:"text-[13px]",children:[Bm(f),m.jsx("span",{className:"text-[#888] ml-0.5",children:p})]},f))]}),o.length>0?m.jsx("div",{className:"mt-1.5 space-y-1",children:o.map((f,p)=>m.jsxs("div",{className:"text-[13px]",children:[m.jsx("span",{className:"text-[#555] mr-1",children:"-"}),Bm(f.severity),f.id&&m.jsx("span",{className:"text-[#555] font-mono ml-1.5",children:f.id}),m.jsx("span",{className:"text-[#999] ml-1.5",children:f.title??"(untitled)"}),D7(f),(f.target||f.endpoint)&&m.jsxs("div",{className:"ml-3 text-[#666] font-mono text-xs",children:[f.target,f.endpoint?` ${f.method??""} ${f.endpoint}`:""]}),f.description_preview&&m.jsx("div",{className:"ml-3",children:m.jsx(da,{text:f.description_preview})})]},f.id??p))}):m.jsx("div",{className:"mt-1 text-[#555] text-xs",children:"No reports filed yet"})]})}const p2=200,g2={GET:"text-emerald-400/80",POST:"text-blue-400/80",PUT:"text-yellow-400/80",PATCH:"text-orange-400/80",DELETE:"text-red-400/80"};function vg(e){return e<300?"text-emerald-400/80":e<400?"text-yellow-400/80":e<500?"text-orange-400/80":"text-red-400/80"}function Xr(e,t=80){return e.length>t?e.slice(0,t-3)+"...":e}function _p(e,t=150){return Xr(e.replace(/\n/g," ").replace(/\r/g,"").replace(/\t/g," "),t)}function wp(e,t){const r=e.split(` +`))if(!(s===v7||s===_7))if(s.startsWith(d_))a(),r={kind:"add",path:s.slice(d_.length).trim(),oldLines:[],newLines:[]};else if(s.startsWith(f_))a(),r={kind:"update",path:s.slice(f_.length).trim(),oldLines:[],newLines:[]};else if(s.startsWith(h_))a(),r={kind:"delete",path:s.slice(h_.length).trim(),oldLines:[],newLines:[]};else if((r==null?void 0:r.kind)==="update"){if(s.startsWith("@@"))continue;s.startsWith("-")&&!s.startsWith("---")?r.oldLines.push(s.slice(1)):s.startsWith("+")&&!s.startsWith("+++")&&r.newLines.push(s.slice(1))}else(r==null?void 0:r.kind)==="add"&&(s.startsWith("+")?r.newLines.push(s.slice(1)):s.trim()&&r.newLines.push(s));return a(),t}function S7({op:e}){const t=w7[e.kind]??"file",r=e.oldLines.length+e.newLines.length,a=r>gu,s=a&&r>0?Math.round(gu*(e.oldLines.length/r)):e.oldLines.length,o=a?gu-s:e.newLines.length;return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-baseline gap-2",children:[m.jsx("span",{className:"text-sky-400/80 font-semibold text-sm shrink-0",children:t}),e.path&&m.jsx("span",{className:"text-[#888] font-mono text-[13px] break-all",children:yg(e.path)})]}),(e.oldLines.length>0||e.newLines.length>0)&&m.jsxs("div",{className:"font-mono text-[13px] leading-relaxed mt-1.5",children:[e.oldLines.slice(0,s).map((c,d)=>m.jsxs("div",{className:"text-red-400/60",children:[m.jsx("span",{className:"select-none text-red-400/30 mr-1",children:"-"}),c]},`o${d}`)),e.newLines.slice(0,o).map((c,d)=>m.jsxs("div",{className:"text-emerald-400/60",children:[m.jsx("span",{className:"select-none text-emerald-400/30 mr-1",children:"+"}),c]},`n${d}`)),a&&m.jsxs("div",{className:"text-[#444] mt-0.5",children:["... ",r-gu," more lines"]})]})]})}function k7({args:e,result:t,status:r}){const a=N7(E7(e));return a.length===0?m.jsxs("div",{children:[m.jsx("span",{className:"text-sky-400/80 font-semibold text-sm",children:"patch"}),r==="failed"&&typeof t=="string"&&t.trim()&&m.jsx("div",{className:"text-red-400/70 text-[13px] mt-1",children:t.trim()})]}):m.jsxs("div",{className:"space-y-2",children:[a.map((s,o)=>m.jsx(S7,{op:s},o)),r==="failed"&&typeof t=="string"&&t.trim()&&m.jsx("div",{className:"text-red-400/70 text-[13px]",children:t.trim()})]})}const C7=/data:image\/(png|jpe?g|gif|webp);base64,([A-Za-z0-9+/]+={0,2})/;function T7(e){let t=null;if(typeof e=="string")t=e;else if(e&&typeof e=="object"){const a=e;typeof a.image_url=="string"?t=a.image_url:typeof a.url=="string"&&(t=a.url)}if(!t)return null;const r=C7.exec(t);return!r||r[2].length<100||r[2].length%4!==0?null:`data:image/${r[1]};base64,${r[2]}`}function A7({args:e,result:t}){const r=(e.path??"").trim(),a=T7(t);let s=null;if(!a&&typeof t=="string"){const o=t.trim();o&&!o.toLowerCase().startsWith("data:image/")&&!o.startsWith("{")&&(s=o)}return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-baseline gap-2",children:[m.jsx("span",{className:"text-sky-400/80 font-semibold text-sm shrink-0",children:"view image"}),r&&m.jsx("span",{className:"text-[#888] font-mono text-[13px] break-all",children:yg(r)})]}),a&&m.jsx("img",{src:a,alt:r||"Tool image output",className:"mt-1.5 max-w-full max-h-96 rounded-lg border border-white/[0.06] object-contain"}),s&&m.jsx("div",{className:"text-red-400/70 text-[13px] mt-1",children:s})]})}const M7={critical:"text-red-400",high:"text-orange-400",medium:"text-yellow-400",low:"text-blue-400",info:"text-cyan-400"},O7={high:"text-emerald-400",medium:"text-yellow-400",low:"text-orange-400"};function R7({args:e,result:t}){const r=e.title??"",a=e.description??"",s=e.impact??"",o=e.target??"",c=e.endpoint??"",d=e.method??"",h=e.technical_analysis??"",f=e.poc_description??"",{language:p,code:g}=EE(e.poc_script_code??""),b=e.remediation_steps??"",y=e.cve??"",_=e.cwe??"",N=e.counterevidence??"",S=(e.confidence??"").toLowerCase(),w=e.confidence_rationale??"",C=e.severity_change_conditions??"",E=e.fix_verification??"",A=t,B=(A&&typeof A=="object"?A.severity:null)??e.severity??"medium",R=String(B).toLowerCase(),H=(A&&typeof A=="object"?A.cvss_score:null)??e.cvss??null,z=M7[R]??"text-yellow-400";return m.jsxs("div",{className:"space-y-3",children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[m.jsx("span",{className:`font-semibold text-sm ${z}`,children:R.toUpperCase()}),H!=null&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["CVSS ",H]}),y&&m.jsx("span",{className:"text-[#888] font-mono text-[13px]",children:y}),_&&m.jsx("span",{className:"text-[#888] font-mono text-[13px]",children:_}),S&&m.jsxs("span",{className:`text-[13px] ${O7[S]??"text-[#888]"}`,children:[S," confidence"]})]}),r&&m.jsx("div",{className:"text-[15px] text-white/80 font-semibold",children:r}),(o||c)&&m.jsxs("div",{className:"text-[13px] text-[#888] font-mono",children:[o,c?` ${d} ${c}`:""]}),a&&m.jsx(qt,{text:a,maxLines:20}),s&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Impact"}),m.jsx("div",{className:"mt-1",children:m.jsx(qt,{text:s,maxLines:15})})]}),h&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Technical Analysis"}),m.jsx("div",{className:"mt-1",children:m.jsx(qt,{text:h,maxLines:20})})]}),w&&m.jsx("div",{className:"text-[#777] text-xs leading-snug",children:w}),N&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Counterevidence"}),m.jsx("div",{className:"mt-1",children:m.jsx(qt,{text:N,maxLines:12})})]}),C&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Severity would change if"}),m.jsx("div",{className:"mt-1",children:m.jsx(qt,{text:C,maxLines:10})})]}),(f||g)&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Proof of Concept"}),f&&m.jsx("div",{className:"mt-1",children:m.jsx(da,{text:f})}),g&&m.jsx(wE,{className:p?`language-${p}`:void 0,children:g})]}),b&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Remediation"}),m.jsx("div",{className:"mt-1",children:m.jsx(qt,{text:b,maxLines:15})})]}),E&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Fix verification"}),m.jsx("div",{className:"mt-1",children:m.jsx(qt,{text:E,maxLines:12})})]})]})}const j7={critical:"text-red-400",high:"text-orange-400",medium:"text-yellow-400",low:"text-blue-400",info:"text-cyan-400"};function D7({args:e,result:t,status:r}){const a=e.report_id??"",s=e.delete_reason??"",o=t&&typeof t=="object"?t:null,c=(o==null?void 0:o.success)===!0,d=typeof(o==null?void 0:o.error)=="string"?o.error:"",h=typeof(o==null?void 0:o.title)=="string"?o.title:"",f=typeof(o==null?void 0:o.severity)=="string"?o.severity.toLowerCase():"",p=o!=null?!c:r==="failed"||r==="error",g=o==null&&!p,b=g?"withdrawing report…":p?"report not withdrawn":"report withdrawn",y=g?"text-[#888]":p?"text-red-400/80":"text-yellow-400/80";return m.jsxs("div",{className:"space-y-2",children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[m.jsx("span",{className:`font-semibold text-sm ${y}`,"aria-live":"polite",children:b}),a&&m.jsx("span",{className:"text-[#555] font-mono text-[13px]",children:a}),f&&m.jsx("span",{className:`text-[13px] line-through ${j7[f]??"text-[#888]"}`,children:f.toUpperCase()})]}),h&&m.jsx("div",{className:"text-[15px] text-white/60 line-through",children:h}),s&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Why"}),m.jsx("div",{className:"mt-1",children:m.jsx(qt,{text:s,maxLines:10})})]}),d&&m.jsx("div",{className:"text-red-400/80 text-[13px]",children:d})]})}const L7={critical:"text-red-400",high:"text-orange-400",medium:"text-yellow-400",low:"text-blue-400",info:"text-cyan-400",none:"text-[#888]"};function z7(e){if(!e.agent_name&&!e.by_you)return null;const t=e.by_you?"you":e.agent_name;return m.jsxs("span",{className:"text-[#666] text-xs ml-1.5",children:["(",t,")"]})}function Bm(e){const t=String(e??"").toLowerCase(),r=L7[t]??"text-yellow-400";return m.jsx("span",{className:`font-semibold text-[13px] ${r}`,children:t.toUpperCase()||"—"})}function m_({toolName:e,result:t}){const r=t,a=r!=null&&typeof r=="object"&&r.success===!0;if(e==="get_report"){const f=a?r.report:void 0;return m.jsxs("div",{children:[m.jsx("span",{className:"text-red-400/80 font-semibold text-sm",children:"report"}),f?m.jsxs("div",{className:"mt-1.5 space-y-2",children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[Bm(f.severity),f.cvss!=null&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["CVSS ",f.cvss]}),f.id&&m.jsx("span",{className:"text-[#555] font-mono text-[13px]",children:f.id}),f.cve&&m.jsx("span",{className:"text-[#888] font-mono text-[13px]",children:f.cve}),f.cwe&&m.jsx("span",{className:"text-[#888] font-mono text-[13px]",children:f.cwe}),(f.agent_name||f.by_you)&&m.jsx("span",{className:"text-[#666] text-[13px]",children:f.by_you?"you":f.agent_name})]}),f.title&&m.jsx("div",{className:"text-[15px] text-white/80 font-semibold",children:f.title}),(f.target||f.endpoint)&&m.jsxs("div",{className:"text-[13px] text-[#888] font-mono",children:[f.target,f.endpoint?` ${f.method??""} ${f.endpoint}`:""]}),f.description&&m.jsx(qt,{text:f.description,maxLines:20})]}):m.jsx("div",{className:"mt-1 text-[#555] text-xs",children:r&&typeof r=="object"&&r.error||"Report not found"})]})}const s=a?r.reports:null,o=Array.isArray(s)?s:[],c=a&&typeof r.total_count=="number"?r.total_count:o.length,d=a&&r.severity_counts&&typeof r.severity_counts=="object"?r.severity_counts:{},h=Object.entries(d);return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[m.jsx("span",{className:"text-red-400/80 font-semibold text-sm",children:"reports"}),m.jsxs("span",{className:"text-[#555] text-[13px]",children:["(",c,")"]}),h.map(([f,p])=>m.jsxs("span",{className:"text-[13px]",children:[Bm(f),m.jsx("span",{className:"text-[#888] ml-0.5",children:p})]},f))]}),o.length>0?m.jsx("div",{className:"mt-1.5 space-y-1",children:o.map((f,p)=>m.jsxs("div",{className:"text-[13px]",children:[m.jsx("span",{className:"text-[#555] mr-1",children:"-"}),Bm(f.severity),f.id&&m.jsx("span",{className:"text-[#555] font-mono ml-1.5",children:f.id}),m.jsx("span",{className:"text-[#999] ml-1.5",children:f.title??"(untitled)"}),z7(f),(f.target||f.endpoint)&&m.jsxs("div",{className:"ml-3 text-[#666] font-mono text-xs",children:[f.target,f.endpoint?` ${f.method??""} ${f.endpoint}`:""]}),f.description_preview&&m.jsx("div",{className:"ml-3",children:m.jsx(da,{text:f.description_preview})})]},f.id??p))}):m.jsx("div",{className:"mt-1 text-[#555] text-xs",children:"No reports filed yet"})]})}const p2=200,g2={GET:"text-emerald-400/80",POST:"text-blue-400/80",PUT:"text-yellow-400/80",PATCH:"text-orange-400/80",DELETE:"text-red-400/80"};function vg(e){return e<300?"text-emerald-400/80":e<400?"text-yellow-400/80":e<500?"text-orange-400/80":"text-red-400/80"}function Xr(e,t=80){return e.length>t?e.slice(0,t-3)+"...":e}function _p(e,t=150){return Xr(e.replace(/\n/g," ").replace(/\r/g,"").replace(/\t/g," "),t)}function wp(e,t){const r=e.split(` `),a=r.slice(0,t).map(s=>Xr(s,p2-5)).join(` `);return r.length>t?a+` -...`:a}function L7({args:e,result:t}){const r=e.httpql_filter??"",a=t,s=a?a.requests:null,o=Array.isArray(s)?s:[];return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:"listing requests"}),r&&m.jsx("span",{className:"text-[#888] text-[13px]",children:Xr(r,150)})]}),o.length>0&&m.jsxs("div",{className:"mt-1.5 font-mono text-[13px] space-y-0.5",children:[o.slice(0,20).map((c,d)=>{const h=(c.method??"GET").toUpperCase(),f=c.host??"",p=c.path??"",g=c.response,b=(g==null?void 0:g.statusCode)??null;return m.jsxs("div",{className:"flex gap-2",children:[m.jsx("span",{className:`w-10 shrink-0 font-bold ${g2[h]??"text-[#888]"}`,children:h}),m.jsx("span",{className:"text-[#777] truncate",children:Xr(f+p,180)}),b!=null&&m.jsx("span",{className:`ml-auto shrink-0 ${vg(b)}`,children:b})]},d)}),o.length>20&&m.jsxs("div",{className:"text-[#555]",children:["... +",o.length-20," more"]})]})]})}function z7({args:e,result:t}){const r=e.request_id,a=e.part??"request",s=e.search_pattern??"",o=t,c=o?o.matches:null,d=Array.isArray(c)?c:[],h=o?o.content??null:null,f=o?!!o.has_more:!1;return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsxs("span",{className:"text-purple-400/80 font-semibold text-sm",children:[s?"searching":"viewing"," ",a]}),r!=null&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["#",r]}),s&&m.jsxs("span",{className:"text-[#666] font-mono text-[13px]",children:["/",Xr(s,100),"/"]})]}),d.length>0&&m.jsxs("div",{className:"mt-1.5 font-mono text-[13px] space-y-1",children:[d.slice(0,5).map((p,g)=>{const b=(p.before??"").replace(/\n/g," ").replace(/\r/g,"").slice(-100),y=(p.after??"").replace(/\n/g," ").replace(/\r/g,"").slice(0,100);return m.jsxs("div",{children:[b&&m.jsxs("span",{className:"text-[#555]",children:["...",b]}),m.jsx("span",{className:"text-amber-400/80 font-bold",children:p.match}),y&&m.jsxs("span",{className:"text-[#555]",children:[y,"..."]})]},g)}),d.length>5&&m.jsxs("div",{className:"text-[#555]",children:["... +",d.length-5," more matches"]})]}),h&&!d.length&&(()=>{const p=h.split(` +...`:a}function I7({args:e,result:t}){const r=e.httpql_filter??"",a=t,s=a?a.requests:null,o=Array.isArray(s)?s:[];return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:"listing requests"}),r&&m.jsx("span",{className:"text-[#888] text-[13px]",children:Xr(r,150)})]}),o.length>0&&m.jsxs("div",{className:"mt-1.5 font-mono text-[13px] space-y-0.5",children:[o.slice(0,20).map((c,d)=>{const h=(c.method??"GET").toUpperCase(),f=c.host??"",p=c.path??"",g=c.response,b=(g==null?void 0:g.statusCode)??null;return m.jsxs("div",{className:"flex gap-2",children:[m.jsx("span",{className:`w-10 shrink-0 font-bold ${g2[h]??"text-[#888]"}`,children:h}),m.jsx("span",{className:"text-[#777] truncate",children:Xr(f+p,180)}),b!=null&&m.jsx("span",{className:`ml-auto shrink-0 ${vg(b)}`,children:b})]},d)}),o.length>20&&m.jsxs("div",{className:"text-[#555]",children:["... +",o.length-20," more"]})]})]})}function B7({args:e,result:t}){const r=e.request_id,a=e.part??"request",s=e.search_pattern??"",o=t,c=o?o.matches:null,d=Array.isArray(c)?c:[],h=o?o.content??null:null,f=o?!!o.has_more:!1;return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsxs("span",{className:"text-purple-400/80 font-semibold text-sm",children:[s?"searching":"viewing"," ",a]}),r!=null&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["#",r]}),s&&m.jsxs("span",{className:"text-[#666] font-mono text-[13px]",children:["/",Xr(s,100),"/"]})]}),d.length>0&&m.jsxs("div",{className:"mt-1.5 font-mono text-[13px] space-y-1",children:[d.slice(0,5).map((p,g)=>{const b=(p.before??"").replace(/\n/g," ").replace(/\r/g,"").slice(-100),y=(p.after??"").replace(/\n/g," ").replace(/\r/g,"").slice(0,100);return m.jsxs("div",{children:[b&&m.jsxs("span",{className:"text-[#555]",children:["...",b]}),m.jsx("span",{className:"text-amber-400/80 font-bold",children:p.match}),y&&m.jsxs("span",{className:"text-[#555]",children:[y,"..."]})]},g)}),d.length>5&&m.jsxs("div",{className:"text-[#555]",children:["... +",d.length-5," more matches"]})]}),h&&!d.length&&(()=>{const p=h.split(` `),g=p.slice(0,15).map(y=>Xr(y,p2)).join(` `),b=f||p.length>15;return m.jsx(Ei,{className:"text-[#666]",children:g+(b?` -... more content available`:"")})})()]})}function I7({args:e,result:t}){const r=(e.method??"GET").toUpperCase(),a=e.url??"",s=e.headers,o=e.body,c=typeof o=="string"?o:"",d=t,h=d?d.error??null:null,f=d?d.status_code??null:null,p=d?d.response_time_ms??null:null,g=d?d.body:null,b=typeof g=="string"?g:null;return m.jsxs("div",{children:[m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:"request"}),m.jsxs("div",{className:"mt-1.5 font-mono text-[13px] space-y-0.5",children:[m.jsxs("div",{children:[m.jsx("span",{className:"text-[#555] select-none mr-1",children:">>"}),m.jsx("span",{className:`font-bold ${g2[r]??"text-[#888]"}`,children:r}),m.jsx("span",{className:"text-[#888] ml-1 break-all",children:Xr(a,180)})]}),s&&typeof s=="object"&&Object.entries(s).slice(0,5).map(([y,_])=>m.jsxs("div",{className:"text-[#555] pl-5",children:[y,": ",_p(String(_),150)]},y))]}),c&&m.jsx(Ei,{className:"text-[#888]",children:wp(c,4)}),h&&m.jsx("div",{className:"text-red-400/70 text-[13px] mt-1.5",children:_p(h,150)}),f!=null&&m.jsxs("div",{className:"font-mono text-[13px] mt-1.5",children:[m.jsx("span",{className:"text-[#555] select-none mr-1",children:"<<"}),m.jsx("span",{className:`font-bold ${vg(f)}`,children:f}),p!=null&&m.jsxs("span",{className:"text-[#555] ml-2",children:[p,"ms"]})]}),b&&m.jsx(Ei,{className:"text-[#666]",children:wp(b,6)})]})}function B7({args:e,result:t}){const r=e.request_id,a=e.modifications,s=t,o=s?s.status_code??null:null,c=s?s.response_time_ms??null:null,d=s?s.body:null,h=typeof d=="string"?d:null;return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:"repeating request"}),r!=null&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["#",r]})]}),a&&typeof a=="object"&&Object.keys(a).length>0&&m.jsx("div",{className:"mt-1.5 font-mono text-[13px] space-y-0.5",children:Object.entries(a).slice(0,5).map(([f,p])=>m.jsxs("div",{children:[m.jsxs("span",{className:"text-orange-400/60",children:[f,":"]})," ",m.jsx("span",{className:"text-[#777]",children:_p(typeof p=="string"?p:JSON.stringify(p),150)})]},f))}),o!=null&&m.jsxs("div",{className:"font-mono text-[13px] mt-1.5",children:[m.jsx("span",{className:"text-[#555] select-none mr-1",children:"<<"}),m.jsx("span",{className:`font-bold ${vg(o)}`,children:o}),c!=null&&m.jsxs("span",{className:"text-[#555] ml-2",children:[c,"ms"]})]}),h&&m.jsx(Ei,{className:"text-[#666]",children:wp(h,5)})]})}const U7={get:"getting",list:"listing",create:"creating",update:"updating",delete:"deleting"};function H7({args:e}){const t=e.action??"",r=e.scope_name??"",a=U7[t]??(t||"managing");return m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsxs("span",{className:"text-purple-400/80 font-semibold text-sm",children:[a," proxy scope"]}),r&&m.jsx("span",{className:"text-[#888] text-[13px]",children:Xr(r,50)})]})}function $7({args:e}){const t=e.parent_id;return m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:"listing sitemap"}),t&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["under #",Xr(String(t),20)]})]})}function q7({args:e}){const t=e.entry_id;return m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:"viewing sitemap entry"}),t&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["#",Xr(String(t),20)]})]})}function P7(e){switch(e.toolName){case"list_requests":return m.jsx(L7,{...e});case"view_request":return m.jsx(z7,{...e});case"send_request":return m.jsx(I7,{...e});case"repeat_request":return m.jsx(B7,{...e});case"scope_rules":return m.jsx(H7,{...e});case"list_sitemap":return m.jsx($7,{...e});case"view_sitemap_entry":return m.jsx(q7,{...e});default:return m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:e.toolName.replace(/_/g," ")})}}function F7({args:e}){const t=e.thought??e.content??"";return t?m.jsxs("div",{children:[m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:"Agent is thinking"}),m.jsx("div",{className:"mt-1.5 italic text-[#888]",children:m.jsx(Yt,{text:t,maxLines:20})})]}):null}function G7({toolName:e,args:t}){if(e==="create_agent"){const r=t.name??t.agent_name??"",a=t.task??"";return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-cyan-400/80 font-semibold text-sm",children:"spawning"}),r&&m.jsx("span",{className:"text-cyan-400 font-semibold text-sm",children:r})]}),a&&m.jsx("div",{className:"mt-1.5",children:m.jsx(Yt,{text:a,maxLines:15})})]})}if(e==="agent_finish"){const r=t.result_summary??"",a=t.success,s=t.findings,o=Array.isArray(s)?s:void 0;return m.jsxs("div",{children:[m.jsx("span",{className:`font-semibold text-sm ${a===!1?"text-red-400/80":"text-emerald-400/80"}`,children:a===!1?"Agent failed":"Agent completed"}),r&&m.jsx("div",{className:"mt-1.5",children:m.jsx(Yt,{text:r,maxLines:20})}),o&&o.length>0&&m.jsx("div",{className:"mt-1.5 space-y-0.5",children:o.map((c,d)=>m.jsxs("div",{className:"text-[13px] text-[#888]",children:[m.jsx("span",{className:"text-red-400/50 mr-1",children:"•"}),typeof c=="string"?c:JSON.stringify(c)]},d))})]})}if(e==="send_message_to_agent"){const r=t.message??"",a=t.target_agent_id??t.agent_id??"";return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-cyan-400/80 font-semibold text-sm",children:"message"}),a&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["to ",a.slice(0,16)]})]}),r&&m.jsx("div",{className:"mt-1.5",children:m.jsx(Yt,{text:r,maxLines:20})})]})}if(e==="wait_for_agents"){const r=t.reason??"";return m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-cyan-400/80 font-semibold text-sm",children:"waiting"}),r&&m.jsx("span",{className:"text-[#888] text-[13px] truncate",children:r})]})}if(e==="stop_agent"){const r=t.target_agent_id??"",a=t.cascade!==!1,s=t.reason??"";return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[m.jsx("span",{className:"text-red-400/80 font-semibold text-sm",children:"stopping"}),r&&m.jsx("span",{className:"text-[#888] text-[13px]",children:r.slice(0,16)}),a&&m.jsx("span",{className:"text-[#555] text-[13px] italic",children:"+ descendants"})]}),s&&m.jsx("div",{className:"mt-1.5 text-[#888] text-[13px]",children:s})]})}return e==="view_agent_graph"?m.jsx("span",{className:"text-cyan-400/80 font-semibold text-sm",children:"viewing agents graph"}):m.jsx("span",{className:"text-cyan-400/80 font-semibold text-sm",children:e.replace(/_/g," ")})}function V7({args:e,result:t}){const r=e.query??e.search_query??"",a=t,s=a?a.content??null:null,o=a&&!a.success?a.message??null:null;return m.jsxs("div",{children:[m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"Searching the web"}),r&&m.jsx("div",{className:"text-[#888] text-[13px] mt-0.5",children:r}),o&&m.jsx("div",{className:"text-red-400/70 text-[13px] mt-1.5",children:o}),s&&m.jsx("div",{className:"mt-2",children:m.jsx(Yt,{text:s,maxLines:15})})]})}const Y7=50,p_=200,g_=25,x_=24,X7=/\x1b(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*\x07)/g,K7=/\.\.\. \[(stdout|stderr|result|output|error) truncated at \d+k? chars\]/g;function Z7(e){return e.replace(X7,"")}function Um(e){const t=Z7(e);return t.length>p_?t.slice(0,p_-3)+"...":t}function Q7(e){return e.replace(K7,"").trim()}function W7(e){const t=e.split(` -`);if(t.length<=Y7)return t.map(Um).join(` +... more content available`:"")})})()]})}function U7({args:e,result:t}){const r=(e.method??"GET").toUpperCase(),a=e.url??"",s=e.headers,o=e.body,c=typeof o=="string"?o:"",d=t,h=d?d.error??null:null,f=d?d.status_code??null:null,p=d?d.response_time_ms??null:null,g=d?d.body:null,b=typeof g=="string"?g:null;return m.jsxs("div",{children:[m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:"request"}),m.jsxs("div",{className:"mt-1.5 font-mono text-[13px] space-y-0.5",children:[m.jsxs("div",{children:[m.jsx("span",{className:"text-[#555] select-none mr-1",children:">>"}),m.jsx("span",{className:`font-bold ${g2[r]??"text-[#888]"}`,children:r}),m.jsx("span",{className:"text-[#888] ml-1 break-all",children:Xr(a,180)})]}),s&&typeof s=="object"&&Object.entries(s).slice(0,5).map(([y,_])=>m.jsxs("div",{className:"text-[#555] pl-5",children:[y,": ",_p(String(_),150)]},y))]}),c&&m.jsx(Ei,{className:"text-[#888]",children:wp(c,4)}),h&&m.jsx("div",{className:"text-red-400/70 text-[13px] mt-1.5",children:_p(h,150)}),f!=null&&m.jsxs("div",{className:"font-mono text-[13px] mt-1.5",children:[m.jsx("span",{className:"text-[#555] select-none mr-1",children:"<<"}),m.jsx("span",{className:`font-bold ${vg(f)}`,children:f}),p!=null&&m.jsxs("span",{className:"text-[#555] ml-2",children:[p,"ms"]})]}),b&&m.jsx(Ei,{className:"text-[#666]",children:wp(b,6)})]})}function H7({args:e,result:t}){const r=e.request_id,a=e.modifications,s=t,o=s?s.status_code??null:null,c=s?s.response_time_ms??null:null,d=s?s.body:null,h=typeof d=="string"?d:null;return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:"repeating request"}),r!=null&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["#",r]})]}),a&&typeof a=="object"&&Object.keys(a).length>0&&m.jsx("div",{className:"mt-1.5 font-mono text-[13px] space-y-0.5",children:Object.entries(a).slice(0,5).map(([f,p])=>m.jsxs("div",{children:[m.jsxs("span",{className:"text-orange-400/60",children:[f,":"]})," ",m.jsx("span",{className:"text-[#777]",children:_p(typeof p=="string"?p:JSON.stringify(p),150)})]},f))}),o!=null&&m.jsxs("div",{className:"font-mono text-[13px] mt-1.5",children:[m.jsx("span",{className:"text-[#555] select-none mr-1",children:"<<"}),m.jsx("span",{className:`font-bold ${vg(o)}`,children:o}),c!=null&&m.jsxs("span",{className:"text-[#555] ml-2",children:[c,"ms"]})]}),h&&m.jsx(Ei,{className:"text-[#666]",children:wp(h,5)})]})}const $7={get:"getting",list:"listing",create:"creating",update:"updating",delete:"deleting"};function q7({args:e}){const t=e.action??"",r=e.scope_name??"",a=$7[t]??(t||"managing");return m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsxs("span",{className:"text-purple-400/80 font-semibold text-sm",children:[a," proxy scope"]}),r&&m.jsx("span",{className:"text-[#888] text-[13px]",children:Xr(r,50)})]})}function P7({args:e}){const t=e.parent_id;return m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:"listing sitemap"}),t&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["under #",Xr(String(t),20)]})]})}function F7({args:e}){const t=e.entry_id;return m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:"viewing sitemap entry"}),t&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["#",Xr(String(t),20)]})]})}function G7(e){switch(e.toolName){case"list_requests":return m.jsx(I7,{...e});case"view_request":return m.jsx(B7,{...e});case"send_request":return m.jsx(U7,{...e});case"repeat_request":return m.jsx(H7,{...e});case"scope_rules":return m.jsx(q7,{...e});case"list_sitemap":return m.jsx(P7,{...e});case"view_sitemap_entry":return m.jsx(F7,{...e});default:return m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:e.toolName.replace(/_/g," ")})}}function V7({args:e}){const t=e.thought??e.content??"";return t?m.jsxs("div",{children:[m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:"Agent is thinking"}),m.jsx("div",{className:"mt-1.5 italic text-[#888]",children:m.jsx(qt,{text:t,maxLines:20})})]}):null}function Y7({toolName:e,args:t}){if(e==="create_agent"){const r=t.name??t.agent_name??"",a=t.task??"";return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-cyan-400/80 font-semibold text-sm",children:"spawning"}),r&&m.jsx("span",{className:"text-cyan-400 font-semibold text-sm",children:r})]}),a&&m.jsx("div",{className:"mt-1.5",children:m.jsx(qt,{text:a,maxLines:15})})]})}if(e==="agent_finish"){const r=t.result_summary??"",a=t.success,s=t.findings,o=Array.isArray(s)?s:void 0;return m.jsxs("div",{children:[m.jsx("span",{className:`font-semibold text-sm ${a===!1?"text-red-400/80":"text-emerald-400/80"}`,children:a===!1?"Agent failed":"Agent completed"}),r&&m.jsx("div",{className:"mt-1.5",children:m.jsx(qt,{text:r,maxLines:20})}),o&&o.length>0&&m.jsx("div",{className:"mt-1.5 space-y-0.5",children:o.map((c,d)=>m.jsxs("div",{className:"text-[13px] text-[#888]",children:[m.jsx("span",{className:"text-red-400/50 mr-1",children:"•"}),typeof c=="string"?c:JSON.stringify(c)]},d))})]})}if(e==="send_message_to_agent"){const r=t.message??"",a=t.target_agent_id??t.agent_id??"";return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-cyan-400/80 font-semibold text-sm",children:"message"}),a&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["to ",a.slice(0,16)]})]}),r&&m.jsx("div",{className:"mt-1.5",children:m.jsx(qt,{text:r,maxLines:20})})]})}if(e==="wait_for_agents"){const r=t.reason??"";return m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-cyan-400/80 font-semibold text-sm",children:"waiting"}),r&&m.jsx("span",{className:"text-[#888] text-[13px] truncate",children:r})]})}if(e==="stop_agent"){const r=t.target_agent_id??"",a=t.cascade!==!1,s=t.reason??"";return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[m.jsx("span",{className:"text-red-400/80 font-semibold text-sm",children:"stopping"}),r&&m.jsx("span",{className:"text-[#888] text-[13px]",children:r.slice(0,16)}),a&&m.jsx("span",{className:"text-[#555] text-[13px] italic",children:"+ descendants"})]}),s&&m.jsx("div",{className:"mt-1.5 text-[#888] text-[13px]",children:s})]})}return e==="view_agent_graph"?m.jsx("span",{className:"text-cyan-400/80 font-semibold text-sm",children:"viewing agents graph"}):m.jsx("span",{className:"text-cyan-400/80 font-semibold text-sm",children:e.replace(/_/g," ")})}function X7({args:e,result:t}){const r=e.query??e.search_query??"",a=t,s=a?a.content??null:null,o=a&&!a.success?a.message??null:null;return m.jsxs("div",{children:[m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"Searching the web"}),r&&m.jsx("div",{className:"text-[#888] text-[13px] mt-0.5",children:r}),o&&m.jsx("div",{className:"text-red-400/70 text-[13px] mt-1.5",children:o}),s&&m.jsx("div",{className:"mt-2",children:m.jsx(qt,{text:s,maxLines:15})})]})}const K7=50,p_=200,g_=25,x_=24,Z7=/\x1b(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*\x07)/g,Q7=/\.\.\. \[(stdout|stderr|result|output|error) truncated at \d+k? chars\]/g;function W7(e){return e.replace(Z7,"")}function Um(e){const t=W7(e);return t.length>p_?t.slice(0,p_-3)+"...":t}function J7(e){return e.replace(Q7,"").trim()}function eU(e){const t=e.split(` +`);if(t.length<=K7)return t.map(Um).join(` `);const r=t.length-g_-x_;return[...t.slice(0,g_).map(Um),`... ${r} lines truncated ...`,...t.slice(-x_).map(Um)].join(` -`)}function J7({args:e,result:t}){const r=e.action??"",a=e.code??e.script??"",s=t;let o=null;s&&typeof s=="object"?o=typeof s.stdout=="string"?s.stdout:null:typeof s=="string"&&(o=s);const c=r==="new_session"?"new session":r==="close"?"close session":r==="list_sessions"?"list sessions":null,d=o?W7(Q7(o)):null;return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-yellow-400/80 font-semibold text-sm",children:"Python"}),c&&m.jsx("span",{className:"text-[#888] text-[13px]",children:c})]}),a&&m.jsx(bg,{code:a,language:"python",collapsible:!0}),d&&m.jsx(Ei,{className:"text-[#666]",children:d})]})}function eU({args:e}){const t=e.targets,a=(Array.isArray(t)?t:[]).map(s=>typeof s=="object"&&s?s.original??null:null).filter(Boolean);return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-emerald-400/80 font-semibold text-sm",children:"Starting penetration test"}),a.length===1&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["on ",a[0]]})]}),a.length>1&&m.jsx("div",{className:"mt-1.5 space-y-0.5",children:a.map((s,o)=>m.jsxs("div",{className:"text-[13px] text-[#888]",children:[m.jsx("span",{className:"text-[#555] mr-1",children:"•"}),s]},o))})]})}function tU({args:e}){const t=e.name??"Unknown Agent",r=e.task??"";return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-[#888] text-[13px]",children:"subagent"}),m.jsx("span",{className:"text-purple-400 font-semibold text-sm",children:t})]}),r&&m.jsx("div",{className:"mt-1.5",children:m.jsx(Yt,{text:r,maxLines:15})})]})}function nU(e){return e.toolName==="subagent_start_info"?m.jsx(tU,{...e}):m.jsx(eU,{...e})}function rU({args:e}){const t=e.executive_summary??"",r=e.methodology??"",a=e.technical_analysis??"",s=e.recommendations??"";return m.jsxs("div",{className:"space-y-3",children:[m.jsx("span",{className:"text-emerald-400/80 font-semibold text-sm",children:"Penetration test completed"}),t&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Executive Summary"}),m.jsx("div",{className:"mt-1",children:m.jsx(Yt,{text:t,maxLines:25})})]}),r&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Methodology"}),m.jsx("div",{className:"mt-1",children:m.jsx(Yt,{text:r,maxLines:25})})]}),a&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Technical Analysis"}),m.jsx("div",{className:"mt-1",children:m.jsx(Yt,{text:a,maxLines:25})})]}),s&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Recommendations"}),m.jsx("div",{className:"mt-1",children:m.jsx(Yt,{text:s,maxLines:25})})]}),!t&&!r&&!a&&!s&&m.jsx("div",{className:"text-[#555] text-xs",children:"Generating final report..."})]})}function iU({toolName:e,args:t,result:r}){if(e==="create_note"){const a=t.title??"",s=t.content??"",o=t.category??"general";return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"note"}),m.jsxs("span",{className:"text-[#555] text-[13px]",children:["(",o,")"]})]}),a&&m.jsx("div",{className:"mt-1.5 text-[#999] text-[13px]",children:a}),s&&m.jsx("div",{className:"mt-1",children:m.jsx(da,{text:s})})]})}if(e==="delete_note")return m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"note removed"});if(e==="update_note"){const a=t.title??"",s=t.content??"";return m.jsxs("div",{children:[m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"note updated"}),a&&m.jsx("div",{className:"mt-1.5 text-[#999] text-[13px]",children:a}),s&&m.jsx("div",{className:"mt-1",children:m.jsx(da,{text:s})})]})}if(e==="get_note"){const a=r,s=a&&typeof a=="object"&&a.success?a.note:void 0;return m.jsxs("div",{children:[m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"note read"}),s&&m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"mt-1.5 text-[#999] text-[13px]",children:[s.title??"(untitled)",m.jsxs("span",{className:"text-[#555] ml-1",children:["(",s.category??"general",")"]}),(s.by_you||s.agent_name)&&m.jsxs("span",{className:"text-[#666] ml-1 text-xs",children:["by ",s.by_you?"you":s.agent_name]})]}),s.content&&m.jsx("div",{className:"mt-1",children:m.jsx(da,{text:s.content})})]})]})}if(e==="list_notes"){const a=r;let s=[];if(a&&typeof a=="object"&&a.success){const o=a.notes;s=Array.isArray(o)?o:[]}return m.jsxs("div",{children:[m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"notes"}),s.length>0?m.jsx("div",{className:"mt-1.5 space-y-0.5",children:s.map((o,c)=>m.jsxs("div",{className:"text-[13px]",children:[m.jsx("span",{className:"text-[#555] mr-1",children:"-"}),m.jsx("span",{className:"text-[#999]",children:o.title??"(untitled)"}),m.jsxs("span",{className:"text-[#555] ml-1",children:["(",o.category??"general",")"]}),(o.by_you||o.agent_name)&&m.jsxs("span",{className:"text-[#666] ml-1 text-xs",children:["by ",o.by_you?"you":o.agent_name]}),o.content&&m.jsx("div",{className:"ml-3",children:m.jsx(da,{text:o.content})})]},c))}):m.jsx("div",{className:"mt-1 text-[#555] text-xs",children:"No notes"})]})}return m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"note"})}const aU={create_todo:{label:"Task added",Icon:Z_},list_todos:{label:"Plan",Icon:sC},update_todo:{label:"Task updated",Icon:sT},mark_todo_done:{label:"Task completed",Icon:P_},mark_todo_pending:{label:"Task reopened",Icon:pT},delete_todo:{label:"Task removed",Icon:MT}};function sU({status:e}){return e==="done"?m.jsx(P_,{className:"w-3.5 h-3.5 text-emerald-400/70 shrink-0"}):e==="in_progress"?m.jsx(bC,{className:"w-3.5 h-3.5 text-purple-400/70 shrink-0 animate-pulse"}):m.jsx(F_,{className:"w-3.5 h-3.5 text-[#444] shrink-0"})}function lU({todos:e,highlightId:t}){return m.jsx("div",{className:"space-y-0",children:e.map((r,a)=>{const s=r.status??"pending",o=t&&r.id===t;return m.jsxs("div",{className:`flex items-start gap-2.5 py-1.5 px-2 -mx-2 rounded-md transition-colors ${o?"bg-purple-500/[0.08]":""}`,children:[m.jsx("div",{className:"mt-[1px]",children:m.jsx(sU,{status:s})}),m.jsx("span",{className:`text-[13px] leading-snug ${s==="done"?"text-[#555] line-through":s==="in_progress"?"text-[#bbb]":"text-[#999]"}`,children:r.title??"(untitled)"})]},r.id??a)})})}function oU({toolName:e,args:t,result:r}){const a=aU[e]??{label:"Plan",Icon:fT},s=a.Icon,o=r;if(typeof o=="string"&&o.trim())return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(s,{className:"w-3.5 h-3.5 text-purple-400/60"}),m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:a.label})]}),m.jsx("div",{className:"mt-1.5 text-[#888] text-[13px]",children:o.trim()})]});let c=[],d=null,h;if(o&&typeof o=="object"){if(d=o.error??null,o.success){const p=o.todos;c=Array.isArray(p)?p:[]}h=o.id??t.todo_id??void 0}const f=e!=="list_todos"?h:void 0;return c.length===0&&!d?m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(s,{className:"w-3.5 h-3.5 text-purple-400/60"}),m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:a.label})]}):m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[m.jsx(s,{className:"w-3.5 h-3.5 text-purple-400/60"}),m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:a.label})]}),d&&m.jsx("div",{className:"text-red-400/70 text-[13px] mb-2",children:d}),c.length>0&&m.jsx("div",{className:"rounded-lg border border-white/[0.06] bg-white/[0.015] px-3 py-2",children:m.jsx(lU,{todos:c,highlightId:f})})]})}function b_(e){if(e==null)return null;if(typeof e=="string")return e.trim()?e:null;if(typeof e=="object"){const t=e;if(typeof t.__raw=="string")return t.__raw;if(Object.keys(t).length===0)return null;try{return JSON.stringify(e,null,2)}catch{return String(e)}}return String(e)}function x2({toolName:e,args:t,result:r}){const a=b_(t),s=b_(r);return m.jsxs("div",{children:[m.jsx("span",{className:"text-[#888] font-semibold text-sm",children:e.replace(/_/g," ")}),a&&m.jsx(Ei,{className:"text-[#777]",children:a}),s&&m.jsx(Ei,{className:"text-[#666]",children:s})]})}function cU({args:e}){const t=e.skills,r=(Array.isArray(t)?t:String(t??"").split(",")).map(a=>String(a).trim()).filter(Boolean);return m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-emerald-400/80 font-semibold text-sm",children:"Loading skill"}),r.length>0&&m.jsx("span",{className:"text-[#888] text-[13px]",children:r.join(", ")})]})}function uU({args:e}){const t=e.message??"";return t?m.jsxs("div",{children:[m.jsx(da,{text:t}),m.jsx("div",{className:"mt-1.5 text-[#888] text-[13px]",children:"waiting for your reply"})]}):null}const dU={reported:{label:"reported",color:"text-orange-400",Icon:Sp},no_issue_found:{label:"no issue found",color:"text-emerald-400",Icon:Nu},ruled_out:{label:"ruled out",color:"text-emerald-400/70",Icon:Nu},not_applicable:{label:"not applicable",color:"text-[#777]",Icon:wC},needs_follow_up:{label:"needs follow-up",color:"text-yellow-400",Icon:vC}},fU=["reported","needs_follow_up","no_issue_found","ruled_out","not_applicable"];function mo(e){const t=(e??"").trim().toLowerCase();return dU[t]??{label:t?t.replace(/_/g," "):"unrecorded",color:"text-[#777]",Icon:F_}}const hU={record_coverage:"Coverage recorded",update_coverage:"Coverage updated",list_coverage:"Coverage"};function xu({toolName:e}){return m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(G_,{className:"w-3.5 h-3.5 text-cyan-400/60"}),m.jsx("span",{className:"text-cyan-400/80 font-semibold text-sm",children:hU[e]??"Coverage"})]})}function mU({entry:e}){const{label:t,color:r,Icon:a}=mo(e.outcome),s=(e.previous_outcomes??[]).map(o=>mo(o).label).filter(Boolean);return m.jsxs("div",{className:"flex items-start gap-2.5 py-1.5",children:[m.jsx(a,{className:`w-3.5 h-3.5 shrink-0 mt-[2px] ${r}`}),m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"text-[13px] leading-snug",children:[m.jsx("span",{className:"text-[#bbb]",children:e.surface??"(unnamed surface)"}),e.risk_area&&m.jsxs("span",{className:"text-[#666]",children:[" · ",e.risk_area]})]}),m.jsxs("div",{className:"text-xs mt-0.5",children:[m.jsx("span",{className:r,children:t}),s.length>0&&m.jsxs("span",{className:"text-[#555]",children:[" (was ",s.join(" → "),")"]}),(e.by_you||e.agent_name)&&m.jsxs("span",{className:"text-[#555]",children:[" · ",e.by_you?"you":e.agent_name]})]}),e.evidence&&m.jsx("div",{className:"text-[#777] text-xs mt-1 leading-snug",children:e.evidence})]})]})}function pU({toolName:e,args:t,result:r}){const a=r;if(typeof a=="string"&&a.trim())return m.jsxs("div",{children:[m.jsx(xu,{toolName:e}),m.jsx("div",{className:"mt-1.5 text-[#888] text-[13px]",children:a.trim()})]});const s=a&&typeof a=="object"?a:null,o=t.surface??"",c=t.risk_area??"",d=t.evidence??"";if(s&&!s.success)return m.jsxs("div",{children:[m.jsx(xu,{toolName:e}),(o||c)&&m.jsxs("div",{className:"mt-1.5 text-[13px] text-[#bbb]",children:[o,c&&m.jsxs("span",{className:"text-[#666]",children:[" · ",c]})]}),m.jsx("div",{className:"mt-1 text-red-400/70 text-[13px]",children:s.error??"Coverage call failed"})]});if(e==="list_coverage"){const y=s==null?void 0:s.entries,_=Array.isArray(y)?y:[],N=(s==null?void 0:s.outcome_counts)??{},S=(s==null?void 0:s.total_count)??0;return m.jsxs("div",{children:[m.jsx(xu,{toolName:e}),Object.keys(N).length>0&&m.jsx("div",{className:"mt-2 flex items-center gap-3 flex-wrap",children:fU.filter(w=>N[w]).map(w=>{const{label:C,color:E}=mo(w);return m.jsxs("span",{className:`text-xs ${E}`,children:[C,": ",N[w]]},w)})}),_.length>0?m.jsx("div",{className:"mt-2 rounded-lg border border-white/[0.06] bg-white/[0.015] px-3 py-1 divide-y divide-white/[0.04]",children:_.map((w,C)=>m.jsx(mU,{entry:w},w.entry_id??C))}):m.jsx("div",{className:"mt-1.5 text-[#555] text-xs",children:S===0?"No surfaces recorded yet":"No surfaces match this filter"})]})}const h=(s==null?void 0:s.outcome)??"",f=(s==null?void 0:s.previous_outcome)??"",{label:p,color:g,Icon:b}=mo(h);return m.jsxs("div",{children:[m.jsx(xu,{toolName:e}),m.jsxs("div",{className:"mt-2 flex items-start gap-2.5",children:[m.jsx(b,{className:`w-3.5 h-3.5 shrink-0 mt-[2px] ${g}`}),m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"text-[13px] leading-snug text-[#bbb]",children:[o||(s!=null&&s.entry_id?`entry ${s.entry_id}`:"(unnamed surface)"),c&&m.jsxs("span",{className:"text-[#666]",children:[" · ",c]})]}),m.jsxs("div",{className:"text-xs mt-0.5",children:[f&&m.jsxs("span",{className:"text-[#666]",children:[mo(f).label," → "]}),m.jsx("span",{className:g,children:p})]}),d&&m.jsx("div",{className:"text-[#777] text-xs mt-1 leading-snug",children:d})]})]})]})}const gU={get_threat_model:{label:"Threat model",Icon:Vu},save_threat_model:{label:"Threat model saved",Icon:xT},amend_threat_model:{label:"Threat model amended",Icon:Z_}};function xU({toolName:e,args:t,result:r}){const a=gU[e]??{label:"Threat model",Icon:Vu},s=a.Icon,o=t.target??"",c=r,d=m.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[m.jsx(s,{className:"w-3.5 h-3.5 text-blue-400/60"}),m.jsx("span",{className:"text-blue-400/80 font-semibold text-sm",children:a.label}),o&&m.jsx("span",{className:"text-[#666] font-mono text-xs",children:o})]});if(typeof c=="string"&&c.trim())return m.jsxs("div",{children:[d,m.jsx("div",{className:"mt-1.5 text-[#888] text-[13px]",children:c.trim()})]});const h=c&&typeof c=="object"?c:null;if(h&&!h.success)return m.jsxs("div",{children:[d,m.jsx("div",{className:"mt-1.5 text-red-400/70 text-[13px]",children:h.error??"Threat model call failed"})]});if(e==="get_threat_model"){if(h&&!h.found)return m.jsxs("div",{children:[d,m.jsx("div",{className:"mt-1.5 text-[#555] text-xs",children:"No model derived for this target yet"})]});const g=h==null?void 0:h.amendments,b=Array.isArray(g)?g:[];return m.jsxs("div",{children:[d,b.length>0&&m.jsxs("div",{className:"mt-2",children:[m.jsxs("span",{className:"text-amber-400/70 text-xs font-semibold",children:[b.length," amendment",b.length===1?"":"s"]}),m.jsx("span",{className:"text-[#555] text-xs",children:" — later statements win"}),m.jsx("div",{className:"mt-1 space-y-1",children:b.map((y,_)=>m.jsxs("div",{className:"text-xs leading-snug",children:[m.jsx("span",{className:"text-[#666]",children:y.agent_name??"unknown agent"}),y.content&&m.jsxs("span",{className:"text-[#999]",children:[": ",y.content]})]},_))})]}),typeof(h==null?void 0:h.content)=="string"&&h.content.trim()&&m.jsx("div",{className:"mt-2",children:m.jsx(Yt,{text:h.content,maxLines:14})})]})}if(e==="amend_threat_model"){const g=t.addendum??"",b=h==null?void 0:h.amendment_count;return m.jsxs("div",{children:[d,b!=null&&m.jsxs("div",{className:"mt-1.5 text-[#666] text-xs",children:[b," amendment",b===1?"":"s"," on this model"]}),g&&m.jsx("div",{className:"mt-1.5",children:m.jsx(Yt,{text:g,maxLines:10})})]})}const f=(h==null?void 0:h.amendments_cleared)??0,p=t.content??"";return m.jsxs("div",{children:[d,f>0&&m.jsxs("div",{className:"mt-1.5 flex items-center gap-1.5 text-yellow-400/80 text-xs",children:[m.jsx(Sp,{className:"w-3 h-3 shrink-0"}),m.jsxs("span",{children:["cleared ",f," amendment",f===1?"":"s"]})]}),p&&m.jsx("div",{className:"mt-2",children:m.jsx(Yt,{text:p,maxLines:14})})]})}function bU(e){return!e||typeof e!="object"||Array.isArray(e)?[]:Object.entries(e).map(([t,r])=>{const a=typeof r=="string"?r:JSON.stringify(r);return`${t}: ${a??String(r)}`})}function yU(e){let t=e;if(typeof t=="string")try{t=JSON.parse(t)}catch{return[]}const r=t&&typeof t=="object"&&!Array.isArray(t)?t.connections:null;return Array.isArray(r)?r.flatMap(a=>{if(!a||typeof a!="object"||Array.isArray(a))return[];const s=a,o=typeof s.name=="string"&&s.name.trim()?s.name.trim():typeof s.id=="string"?s.id.trim():"";if(!o)return[];const c=typeof s.tool_count=="number"?s.tool_count:null,d=s.dead===!0;return[{name:o,toolCount:c,dead:d}]}):[]}const y_=600;function vU(e){if(typeof e=="string"){const t=e.trim();return t?t.length>y_?`${t.slice(0,y_)}…`:t:null}return null}function _U({toolName:e,mcpTool:t,mcpConnection:r,args:a,result:s,status:o}){const c=bU(a),d=o==="failed"||o==="error",h=d?vU(s):null,f=e==="describe_mcp",p=e==="list_mcps",g=p?yU(s):[];return m.jsxs("div",{children:[m.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:p?m.jsx("span",{className:"text-[13px] text-[#555]",children:"Listing connected MCP servers"}):f?m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-[13px] text-[#555]",children:"Inspecting MCP server"}),r&&m.jsx("span",{className:"font-mono text-teal-300 font-semibold text-sm",children:r})]}):m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"font-mono text-teal-300 font-semibold text-sm",children:t||e}),m.jsx("span",{className:"text-[13px] text-[#555]",children:"via MCP server"}),r&&m.jsx("span",{className:"text-[13px] text-teal-400/80",children:r})]})}),c.length>0&&m.jsx("div",{className:"mt-1 font-mono text-[13px] leading-relaxed",children:c.map(b=>m.jsx("div",{className:"text-[#777] break-all",children:b},b))}),g.length>0&&m.jsx("div",{className:"mt-1 font-mono text-[13px] leading-relaxed",children:g.map(b=>m.jsxs("div",{className:`break-all${b.dead?" opacity-50":""}`,children:[m.jsx("span",{className:"text-teal-300",children:b.name}),b.dead?m.jsx("span",{className:"text-red-400/80",children:" · offline"}):b.toolCount!==null&&m.jsxs("span",{className:"text-[#555]",children:[" ","· ",b.toolCount," ",b.toolCount===1?"tool":"tools"]})]},b.name))}),m.jsxs("div",{className:"mt-1 text-[13px]",children:[o==="running"&&m.jsx("span",{className:"text-[#666]",children:"Running"}),o==="completed"&&m.jsx("span",{className:"text-emerald-400/80",children:"✓ Done"}),d&&m.jsx("span",{className:"text-red-400/80",children:"✗ Failed"})]}),h&&m.jsx("pre",{className:"mt-1 font-mono text-[13px] leading-relaxed whitespace-pre-wrap break-words text-red-400/70",children:h})]})}const Ga={terminal:{renderer:g7,icon:J_,color:"text-emerald-400"},python:{renderer:J7,icon:CC,color:"text-yellow-400"},browser:{renderer:b7,icon:X_,color:"text-blue-400"},filesystem:{renderer:y7,icon:DC,color:"text-sky-400"},proxy:{renderer:P7,icon:B_,color:"text-purple-400",match:/request|sitemap|scope/},reporting:{renderer:R7,icon:_T,color:"text-red-400"},thinking:{renderer:F7,icon:H_,color:"text-purple-400"},agents:{renderer:G7,icon:Ro,color:"text-cyan-400",match:/agent/},search:{renderer:V7,icon:yT,color:"text-amber-400"},lifecycle:{renderer:nU,icon:Y_,color:"text-emerald-400"},notes:{renderer:iU,icon:CT,color:"text-amber-400",match:/note/},skills:{renderer:cU,icon:Gm,color:"text-emerald-400"},todos:{renderer:oU,icon:QC,color:"text-purple-400",match:/todo/},coverage:{renderer:pU,icon:G_,color:"text-cyan-400",match:/coverage/},threatModel:{renderer:xU,icon:Vu,color:"text-blue-400",match:/threat_model/},telemetry:{renderer:x2,icon:Gm,color:"text-[#555]"},mcp:{renderer:_U,icon:K_,color:"text-teal-400"}},wU={terminal:["exec_command","write_stdin","terminal_execute"],python:["python_action"],browser:["browser_action"],filesystem:["apply_patch","view_image","str_replace_editor","list_files","search_files"],proxy:["list_requests","view_request","repeat_request","list_sitemap","view_sitemap_entry","scope_rules","send_request"],reporting:["create_vulnerability_report","update_vulnerability_report","list_reports","get_report"],thinking:["think"],agents:["create_agent","agent_finish","send_message_to_agent","wait_for_agents","view_agent_graph","stop_agent"],search:["web_search"],lifecycle:["scan_start_info","subagent_start_info","finish_scan","respond_to_user"],notes:["create_note","delete_note","update_note","list_notes","get_note"],skills:["load_skill"],todos:["create_todo","list_todos","update_todo","mark_todo_done","mark_todo_pending","delete_todo"],coverage:["record_coverage","update_coverage","list_coverage"],threatModel:["get_threat_model","save_threat_model","amend_threat_model"],telemetry:["sandbox_error_details","llm_error_details"],mcp:["list_mcps"]},EU=Object.fromEntries(Object.entries(wU).flatMap(([e,t])=>t.map(r=>[r,e]))),NU={finish_scan:rU,respond_to_user:uU,apply_patch:k7,view_image:A7,list_reports:m_,get_report:m_},SU={agent_finish:{icon:Y_,color:"text-cyan-400"},send_message_to_agent:{icon:yh,color:"text-cyan-400"},wait_for_agents:{icon:yh,color:"text-cyan-400"},respond_to_user:{icon:yh,color:"text-emerald-400"},view_agent_graph:{icon:RC,color:"text-cyan-400"},stop_agent:{icon:U_,color:"text-red-400"},scan_start_info:{icon:Vu,color:"text-emerald-400"},subagent_start_info:{icon:Ro,color:"text-purple-400"},view_image:{icon:YC,color:"text-sky-400"}},kU=Ga.telemetry;function b2(e){var r;const t=EU[e];if(t)return t;for(const[a,s]of Object.entries(Ga))if((r=s.match)!=null&&r.test(e))return a;return null}function CU(e,t){if(t)return Ga.mcp.renderer;const r=NU[e];if(r)return r;const a=b2(e);return a?Ga[a].renderer:x2}function TU(e,t){if(t)return{icon:Ga.mcp.icon,color:Ga.mcp.color};const r=SU[e];if(r)return r;const a=b2(e),s=a?Ga[a]:kU;return{icon:s.icon,color:s.color}}const AU=30;function MU({role:e,content:t}){const r=e==="user"||e==="human";return m.jsxs("div",{children:[m.jsx("span",{className:`font-semibold text-sm ${r?"text-blue-400/80":"text-purple-400/80"}`,children:r?"User":"Thinking"}),m.jsx("div",{className:"mt-1.5 italic text-[#888]",children:m.jsx(Yt,{text:t,maxLines:AU})})]})}class OU extends ee.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}render(){return this.state.hasError?m.jsx("span",{className:"text-[#555] font-semibold text-sm",children:this.props.toolName.replace(/_/g," ")}):this.props.children}}function RU(e){const t=CU(e.toolName,e.mcpConnection);return m.jsx(OU,{toolName:e.toolName,children:m.jsx(t,{...e})})}function y2(e){if(e==null||typeof e!="string")return e;const t=e.trim();if(!t)return e;try{return JSON.parse(t)}catch{}try{const r=t.replace(/\bNone\b/g,"null").replace(/\bTrue\b/g,"true").replace(/\bFalse\b/g,"false").replace(/'/g,'"');return JSON.parse(r)}catch{return{__raw:e}}}function v_(e){return typeof e=="string"&&e?e:null}function v2(e){const t=y2(e);return t&&typeof t=="object"&&!Array.isArray(t)?t:t==null?{}:{__raw:typeof t=="string"?t:JSON.stringify(t)}}function __(e){const t=/(\d+)$/.exec(e);return t?parseInt(t[1],10):0}function _g(e){var r;const t=(r=e.data)==null?void 0:r.role;return e.type==="chat"&&(t==="user"||t==="human")}function jU(e){var t;return _g(e)&&String(((t=e.data)==null?void 0:t.content)??"").startsWith("[Message from ")}function DU(e){const t=new Set;let r=!1;for(const a of e)if(_g(a)){if(jU(a)){t.add(a.id);continue}r||(r=!0,t.add(a.id))}return t}const LU={completed:"text-emerald-400 border-emerald-500/30 bg-emerald-500/10",running:"text-blue-400 border-blue-500/30 bg-blue-500/10",waiting:"text-yellow-400 border-yellow-500/30 bg-yellow-500/10",stopped:"text-[#aaa] border-[#333] bg-[#1a1a1a]",crashed:"text-red-400 border-red-500/30 bg-red-500/10",failed:"text-red-400 border-red-500/30 bg-red-500/10"};function zU(e){return e==="completed"?"completed":e==="running"?"running":e==="failed"||e==="crashed"?"failed":e}function IU(e,t){var d;const r=new Map;for(const h of e)if(h.parent_id){const f=r.get(h.parent_id)??[];f.push(h.id),r.set(h.parent_id,f)}const a=new Map,s=new Map,o=new Map;for(const h of t)if(h.type==="tool"){if(a.set(h.agent_id,(a.get(h.agent_id)??0)+1),((d=h.data)==null?void 0:d.tool_name)==="create_agent"){const f=v2(h.data.args),p=f.name??f.agent_name??"",g=f.task??"";p&&g&&o.set(p,g)}}else _g(h)||s.set(h.agent_id,(s.get(h.agent_id)??0)+1);const c=new Map;for(const h of e)c.set(h.id,{id:h.id,name:h.name,task:o.get(h.name)??"",status:zU(h.status),parentId:h.parent_id,children:r.get(h.id)??[],createdAt:h.created_at,toolCount:a.get(h.id)??0,messageCount:s.get(h.id)??0});return c}function BU({agent:e,events:t,showHeader:r=!0}){const a=ee.useMemo(()=>{const c=t.filter(h=>h.agent_id===e.id).sort((h,f)=>__(h.id)-__(f.id)),d=DU(c);return c.filter(h=>!d.has(h.id))},[t,e.id]),s=a.filter(c=>c.type==="tool").length,o=a.length-s;return m.jsxs("div",{children:[r&&m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-1",children:[m.jsx("span",{className:"text-base font-semibold text-white truncate",children:e.name}),m.jsx("span",{className:`flex-shrink-0 text-xs font-medium capitalize px-2 py-0.5 rounded-full border ${LU[e.status]??"text-[#aaa] border-[#333] bg-[#1a1a1a]"}`,children:e.status}),m.jsx("span",{className:"font-mono text-xs text-[#555]",children:e.id})]}),m.jsxs("p",{className:"text-xs text-[#666] mb-4",children:[o," message",o===1?"":"s"," · ",s," tool call",s===1?"":"s"]})]}),a.length===0?m.jsx("p",{className:"text-sm text-[#666]",children:"No recorded activity for this agent."}):m.jsx("div",{className:"py-1",children:a.map((c,d)=>{var w,C,E,A,B,R,H,z;const h=d===a.length-1,f=c.type==="tool",p=f?String(((w=c.data)==null?void 0:w.tool_name)??"tool"):"",g=f?"":String(((C=c.data)==null?void 0:C.role)??"assistant"),b=v_((E=c.data)==null?void 0:E.mcp_connection),y=v_((A=c.data)==null?void 0:A.mcp_tool);let _,N;if(f){const Y=TU(p,b);_=Y.icon,N=Y.color}else{const Y=g==="user"||g==="human";_=Y?Ro:H_,N=Y?"text-blue-400":"text-purple-400"}const S=f?String(((B=c.data)==null?void 0:B.status)??"completed"):"completed";return m.jsxs("div",{className:"flex gap-3",children:[m.jsxs("div",{className:"flex flex-col items-center shrink-0",children:[m.jsx("div",{className:`w-[30px] h-[30px] rounded-full bg-black border flex items-center justify-center shrink-0 ${f&&S==="running"?"border-blue-500/40 animate-pulse":f&&S==="failed"?"border-red-500/30":"border-[#222]"}`,children:m.jsx(_,{className:`w-3.5 h-3.5 ${N}`})}),!h&&m.jsx("div",{className:"w-px flex-1 bg-[#1a1a1a] mt-1"})]}),m.jsx("div",{className:"flex-1 min-w-0 pt-[5px] pb-6",children:f?m.jsx(RU,{toolName:p,mcpConnection:b,mcpTool:y,args:v2((R=c.data)==null?void 0:R.args),result:y2((H=c.data)==null?void 0:H.result)??null,status:S}):m.jsx(MU,{role:g,content:String(((z=c.data)==null?void 0:z.content)??"")})})]},c.id)})})]})}class qu extends Error{constructor(t){super(t),this.name="RunParseError"}}const UU=["critical","high","medium","low"];function HU(e){const t=String(e??"").toLowerCase().trim();return UU.includes(t)?t:"low"}function $U(e){if(typeof e=="string"&&e.trim()){const t=e.trim().replace(" UTC","Z").replace(" ","T"),r=new Date(t);if(!Number.isNaN(r.getTime()))return r.toISOString();const a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return new Date().toISOString()}function Ot(e){return typeof e=="string"&&e.length>0?e:null}function qU(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function _2(e,t){try{return JSON.parse(e)}catch{throw new qu(`${t} isn't valid JSON. Make sure you selected a Strix run directory.`)}}function PU(e){const t=_2(e,"run.json");if(!t||typeof t!="object"||Array.isArray(t))throw new qu("run.json is not an object.");const r=t,a=[],s=r.targets_info;if(Array.isArray(s)){for(const y of s)if(y&&typeof y=="object"){const _=y.original;typeof _=="string"&&_&&a.push(_)}}const o=Ot(r.start_time),c=Ot(r.end_time);let d=null;if(o&&c){const y=new Date(o).getTime(),_=new Date(c).getTime();!Number.isNaN(y)&&!Number.isNaN(_)&&_>=y&&(d=Math.round((_-y)/1e3))}let h=null,f=null,p=null,g=null;const b=r.scan_results;if(b&&typeof b=="object"){const y=b;h=Ot(y.executive_summary),f=Ot(y.technical_analysis),p=Ot(y.methodology),g=Ot(y.recommendations)}return{runId:Ot(r.run_id),runName:Ot(r.run_name),targets:a,scanMode:Ot(r.scan_mode),status:Ot(r.status),startTime:o,endTime:c,durationSeconds:d,executiveSummary:h,technicalAnalysis:f,methodology:p,recommendations:g}}function FU(){return{pr_review_id:null,cve:null,cvss:null,potential_risk_saving:null,risk_saving_description:null,impact:null,endpoint:null,method:null,target:null,technical_analysis:null,poc_description:null,poc_script_code:null,code_diff:null,code_file:null,code_before:null,code_after:null,cwe:null,code_locations:null,remediation_steps:null,fix_pr_body:null,evidence:null,assumptions:null,fix_effort:null,cvss_breakdown:null,status_changed_at:null,status_changed_by:null,status_note:null,snoozed_until:null,reopened_at:null,reopened_by:null,original_severity:null,severity_changed_at:null,severity_changed_by:null,severity_override_reason:null,retest_of_vulnerability_id:null}}function GU(e,t,r){const a=e.cwe,s=typeof a=="string"&&a.trim()?[a.trim()]:Array.isArray(a)?a.filter(c=>typeof c=="string"&&c):null;return{...FU(),id:Ot(e.id)??`vuln-${t+1}`,scan_id:r,title:Ot(e.title)??"Untitled finding",description:Ot(e.description)??"",severity:HU(e.severity),status:"open",created_at:$U(e.timestamp),cve:Ot(e.cve),cvss:qU(e.cvss),impact:Ot(e.impact),endpoint:Ot(e.endpoint),method:Ot(e.method),target:Ot(e.target),technical_analysis:Ot(e.technical_analysis),poc_description:Ot(e.poc_description),poc_script_code:Ot(e.poc_script_code),cwe:s,code_locations:Array.isArray(e.code_locations)?e.code_locations:null,remediation_steps:Ot(e.remediation_steps),fix_pr_body:Ot(e.fix_pr_body),evidence:Ot(e.evidence),assumptions:Ot(e.assumptions),fix_effort:Ot(e.fix_effort)??null,cvss_breakdown:e.cvss_breakdown??null}}function VU(e,t=null){const r=_2(e,"vulnerabilities.json");if(!Array.isArray(r))throw new qu("vulnerabilities.json is not a JSON array.");return r.map((a,s)=>{if(!a||typeof a!="object")throw new qu(`vulnerabilities.json entry #${s+1} is not an object.`);return GU(a,s,t)})}function YU(e){const t={critical:0,high:0,medium:0,low:0};for(const r of e)t[r.severity]+=1;return t}function XU(e){const t=e==null?void 0:e.mcp_connection_status;return Array.isArray(t)?t.flatMap(r=>{if(!r||typeof r!="object"||Array.isArray(r))return[];const a=r,s=typeof a.name=="string"?a.name.trim():"";if(!s)return[];const o=typeof a.provider=="string"&&a.provider.trim()?a.provider.trim():null,c=typeof a.tool_count=="number"?a.tool_count:0,d=a.dead===!0;return[{name:s,provider:o,toolCount:c,dead:d}]}):[]}async function es(e){const t=await fetch(e,{cache:"no-store"});if(!t.ok)throw new Error(`${e} responded ${t.status}`);return t.json()}function dd(e){return e?`?run=${encodeURIComponent(e)}`:""}async function w2(e){const t=await es("/api/run"+dd(e)),r=PU(JSON.stringify(t)),a=t.finished===!0;return{summary:r,raw:t,finished:a}}async function E2(e,t){const r=await es("/api/vulnerabilities"+dd(t));return VU(JSON.stringify(r),e)}async function KU(e){const t=await es("/api/report"+dd(e));return(t==null?void 0:t.markdown)??null}async function N2(e){const t=await es("/api/transcript"+dd(e));return{agents:Array.isArray(t==null?void 0:t.agents)?t.agents:[],events:Array.isArray(t==null?void 0:t.events)?t.events:[]}}async function w_(e){const{summary:t,raw:r,finished:a}=await w2(e),[s,o,c]=await Promise.all([E2(t.runId,e).catch(()=>[]),KU(e).catch(()=>null),N2(e).catch(()=>({agents:[],events:[]}))]);return{summary:t,raw:r,finished:a,vulnerabilities:s,reportMarkdown:o,transcript:c}}async function il(e,t){const r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),cache:"no-store"});let a={};try{const s=await r.json();s&&typeof s=="object"&&(a=s)}catch{}return{ok:r.ok,status:r.status,data:a}}async function ZU(){const e=await es("/api/runs");return{locked:(e==null?void 0:e.locked)??!0,count:typeof(e==null?void 0:e.count)=="number"?e.count:0,runs:Array.isArray(e==null?void 0:e.runs)?e.runs:[]}}async function QU(){const e=await es("/api/capabilities");return{can_steer:(e==null?void 0:e.can_steer)===!0}}async function WU(e,t){const{ok:r,data:a}=await il("/api/agents/steer",{agent_id:e,message:t});return r&&a.ok===!0?{ok:!0}:{ok:!1,error:String(a.error??"unavailable")}}async function JU(e,t){const{ok:r,data:a}=await il("/api/feedback",{message:e,email:t});return r&&a.ok===!0?{ok:!0}:{ok:!1,error:String(a.error??"unavailable")}}async function eH(){const e=await es("/api/auth/status");return{verified:(e==null?void 0:e.verified)===!0,email:(e==null?void 0:e.email)??null}}async function S2(e){const{ok:t,data:r}=await il("/api/auth/otp/start",{email:e});return t&&r.ok===!0?{ok:!0}:{ok:!1,error:String(r.error??"unavailable")}}async function k2(e,t){const{ok:r,data:a}=await il("/api/auth/otp/verify",{email:e,code:t});return r&&a.verified===!0?{verified:!0,email:String(a.email??e)}:{verified:!1,error:String(a.error??"invalid_code")}}async function tH(){await il("/api/auth/forget",{})}async function nH(e){const{ok:t,data:r}=await il("/api/report/send",e?{run:e}:{});return t&&r.ok===!0?{ok:!0,password:String(r.password??""),filename:String(r.filename??"strix-report.pdf")}:{ok:!1,error:String(r.error??"unavailable")}}const Us="__root__";function C2({agents:e,fixedAgentId:t,className:r}){const a=ee.useRef(null),[s,o]=ee.useState(!1),[c,d]=ee.useState(!1),[h,f]=ee.useState(""),[p,g]=ee.useState(!1),[b,y]=ee.useState(null),_=t!=null,N=ee.useMemo(()=>e.find(I=>!I.parent_id)??e[0]??null,[e]),S=ee.useMemo(()=>e.filter(I=>I.parent_id&&I.status==="running"),[e]),[w,C]=ee.useState(Us),[E,A]=ee.useState(!1);ee.useEffect(()=>{w!==Us&&!S.some(I=>I.id===w)&&C(Us)},[w,S]);const{targetId:B,targetName:R}=ee.useMemo(()=>{if(_){const Z=e.find(P=>P.id===t)??null;return{targetId:t??null,targetName:(Z==null?void 0:Z.name)??"this agent"}}if(w===Us)return{targetId:(N==null?void 0:N.id)??null,targetName:"Root agent"};const I=e.find(Z=>Z.id===w)??null;return{targetId:(I==null?void 0:I.id)??(N==null?void 0:N.id)??null,targetName:(I==null?void 0:I.name)??"Root agent"}},[e,t,_,N,w]),H=h.trim().length===0;ee.useLayoutEffect(()=>{const I=a.current;I&&(I.style.height="auto",I.style.height=`${I.scrollHeight}px`)},[h]);const z=ee.useCallback(()=>{o(!0),requestAnimationFrame(()=>{var I;return(I=a.current)==null?void 0:I.focus()})},[]),Y=ee.useCallback(()=>{o(!1),d(!1),A(!1)},[]),j=ee.useCallback(async()=>{if(p)return;const I=h.trim();if(!I||!B)return;g(!0),y(null);const Z=R,P=await WU(B,I);g(!1),P.ok?(f(""),y(`Sent to ${Z}`),Mr("agent_steered")):P.error==="not_delivered"?y("Could not reach that agent (it may have finished)."):y("Could not send that message. Try again.")},[p,h,B,R]);return s?m.jsxs("div",{className:br("mt-4 rounded-2xl border border-white/[0.08] bg-[#050505] overflow-hidden transition-colors duration-300",c?"border-white/[0.18]":"hover:border-white/[0.12]",r),children:[m.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-white/[0.06] px-5 py-3",children:[m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Fm,{className:"h-4 w-4 text-[#666]"}),m.jsx("p",{className:"text-sm font-medium text-white",children:"Live prompt"})]}),m.jsx("p",{className:"mt-0.5 text-xs text-[#777]",children:"Connected"})]}),m.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[_?m.jsxs("div",{className:"rounded-full border border-white/[0.08] bg-white/[0.03] px-3 py-1 text-xs text-[#aaa]",children:["Target: ",m.jsx("span",{className:"text-white",children:R})]}):m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Target:"}),m.jsxs("div",{className:"relative",children:[m.jsxs("button",{type:"button",onClick:()=>A(I=>!I),onBlur:()=>requestAnimationFrame(()=>A(!1)),className:"inline-flex h-7 items-center gap-1 rounded-full border border-white/[0.08] bg-white/[0.03] px-3 text-xs text-white transition-colors hover:border-white/[0.16] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/20","aria-haspopup":"listbox","aria-expanded":E,children:[m.jsx("span",{className:"max-w-[140px] truncate",children:R}),m.jsx(po,{className:"h-3.5 w-3.5 text-[#999]"})]}),E&&m.jsxs("div",{className:"absolute right-0 z-10 mt-1 min-w-[160px] overflow-hidden rounded-lg border border-[#333] bg-[#0a0a0a] py-1 shadow-xl",role:"listbox",children:[m.jsx(E_,{label:"Root agent",active:w===Us,onSelect:()=>{C(Us),A(!1)}}),S.map(I=>m.jsx(E_,{label:I.name,active:w===I.id,onSelect:()=>{C(I.id),A(!1)}},I.id))]})]})]}),m.jsx("button",{type:"button",onClick:Y,className:"inline-flex h-7 w-7 items-center justify-center rounded-full text-[#777] transition-colors hover:bg-white/[0.06] hover:text-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/20","aria-label":"Collapse live prompt composer",children:m.jsx(po,{className:"h-4 w-4"})})]})]}),m.jsx("div",{className:"px-5 pt-4 pb-3",children:m.jsx("textarea",{ref:a,rows:1,value:h,onChange:I=>f(I.target.value),onFocus:()=>d(!0),onBlur:()=>d(!1),onKeyDown:I=>{I.key==="Enter"&&!I.shiftKey&&(I.preventDefault(),j())},placeholder:"Send a live prompt to the running pentest…",maxLength:4e3,disabled:p,className:"block w-full resize-none border-0 bg-transparent p-0 text-[15px] leading-6 text-white placeholder:text-[#444] focus:outline-none disabled:opacity-60 max-h-[160px] overflow-y-auto"})}),m.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 pb-4",children:[m.jsx("div",{className:"text-xs text-[#666]",children:b??"Press Enter to send."}),m.jsxs("button",{type:"button",onClick:I=>{I.stopPropagation(),j()},disabled:p||H,className:br("inline-flex h-10 min-w-[112px] items-center justify-center gap-2 rounded-full px-4 text-sm font-medium transition-colors",p||H?"bg-white/[0.08] text-[#666]":"bg-white text-black hover:bg-neutral-200"),children:[p?m.jsx(Ps,{className:"h-4 w-4 animate-spin"}):m.jsx(Zk,{className:"h-4 w-4",strokeWidth:2.5}),m.jsx("span",{children:"Send prompt"})]})]})]}):m.jsxs("button",{type:"button",onClick:z,className:br("mt-4 flex w-full items-center justify-between gap-3 rounded-2xl border border-white/[0.08] bg-[#050505] px-5 py-3 text-left transition-colors duration-300 hover:border-white/[0.12] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/20",r),"aria-expanded":!1,"aria-label":"Expand live prompt composer",children:[m.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[m.jsx(Fm,{className:"h-4 w-4 shrink-0 text-[#666]"}),m.jsx("span",{className:"truncate text-sm font-medium text-white",children:"Guide the agent"})]}),m.jsx(q_,{className:"h-4 w-4 shrink-0 text-[#777]"})]})}function E_({label:e,active:t,onSelect:r}){return m.jsx("button",{type:"button",role:"option","aria-selected":t,onMouseDown:a=>{a.preventDefault(),r()},className:br("block w-full truncate px-3 py-1.5 text-left text-xs transition-colors hover:bg-white/[0.06]",t?"text-white":"text-[#aaa]"),children:e})}const rH={completed:"bg-emerald-400",running:"bg-blue-400",waiting:"bg-yellow-400",stopped:"bg-[#888]",crashed:"bg-red-400",failed:"bg-red-400"},iH=80;function aH({open:e,agent:t,events:r,steerable:a,onClose:s}){const o=ee.useRef(null),c=ee.useRef(!1),[d,h]=ee.useState(e),[f,p]=ee.useState(e?"open":"closed"),[g,b]=ee.useState(!1),y=ee.useRef(t);ee.useEffect(()=>{t&&(y.current=t)},[t]);const _=t??y.current;ee.useEffect(()=>{if(e){h(!0),p("open");return}p("closed");const S=setTimeout(()=>h(!1),140);return()=>clearTimeout(S)},[e]),ee.useEffect(()=>{if(!d){b(!1);return}const S=requestAnimationFrame(()=>b(!0));return()=>cancelAnimationFrame(S)},[d]);const N=ee.useCallback(()=>{const S=o.current;S&&(c.current=S.scrollHeight-S.scrollTop-S.clientHeight{const S=o.current;!S||!c.current||requestAnimationFrame(()=>{S.scrollTo({top:S.scrollHeight,behavior:"smooth"})})},[r]),ee.useEffect(()=>{if(!d)return;const S=C=>{C.key==="Escape"&&s()};document.addEventListener("keydown",S);const w=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",S),document.body.style.overflow=w}},[d,s]),!d||!_?null:m.jsx("div",{"data-state":f,className:"agent-modal fixed inset-0 z-50 flex items-center justify-center bg-black/80 p-4 sm:p-8",onClick:s,role:"dialog","aria-modal":"true","aria-label":`Agent ${_.name}`,children:m.jsxs("div",{className:"relative flex h-[60vh] w-[calc(100vw-4rem)] max-w-6xl flex-col overflow-hidden rounded-xl border border-[#222] bg-[#0a0a0a] shadow-2xl",onClick:S=>S.stopPropagation(),children:[m.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-[#222] px-5 py-3.5",children:[m.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[m.jsx("span",{className:`h-2 w-2 flex-shrink-0 rounded-full ${rH[_.status]??"bg-[#888]"}`}),m.jsx("span",{className:"truncate text-sm font-semibold text-white",children:_.name}),m.jsx("span",{className:"flex-shrink-0 font-mono text-xs text-[#555]",children:_.id})]}),m.jsx("button",{type:"button",onClick:s,"aria-label":"Close",className:"flex-shrink-0 rounded-md p-1 text-[#888] transition-colors hover:bg-[#1a1a1a] hover:text-white",children:m.jsx(kp,{className:"h-4 w-4"})})]}),m.jsx("div",{ref:o,onScroll:N,className:"flex-1 overflow-y-auto p-5",children:g&&m.jsx(BU,{agent:_,events:r,showHeader:!1})}),a&&m.jsx("div",{className:"border-t border-[#222] px-5 py-3",children:m.jsx(C2,{agents:[_],fixedAgentId:_.id,className:"mt-0"})})]})})}var T2={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},N_=fa.createContext&&fa.createContext(T2),sH=["attr","size","title"];function lH(e,t){if(e==null)return{};var r,a,s=oH(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;afa.createElement(t.tag,Fu({key:r},t.attr),A2(t.child)))}function wg(e){return t=>fa.createElement(fH,Pu({attr:Fu({},e.attr)},t),A2(e.child))}function fH(e){var t=r=>{var a=e.attr,s=e.size,o=e.title,c=lH(e,sH),d=s||r.size||"1em",h;return r.className&&(h=r.className),e.className&&(h=(h?h+" ":"")+e.className),fa.createElement("svg",Pu({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,a,c,{className:h,style:Fu(Fu({color:e.color||r.color},r.style),e.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),o&&fa.createElement("title",null,o),e.children)};return N_!==void 0?fa.createElement(N_.Consumer,null,r=>t(r)):t(T2)}function hH(e){return wg({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"circle",attr:{cx:"5",cy:"6",r:"3"},child:[]},{tag:"path",attr:{d:"M5 9v12"},child:[]},{tag:"circle",attr:{cx:"19",cy:"18",r:"3"},child:[]},{tag:"path",attr:{d:"m15 9-3-3 3-3"},child:[]},{tag:"path",attr:{d:"M12 6h5a2 2 0 0 1 2 2v7"},child:[]}]})(e)}function mH(e){return wg({attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{d:"M15 4.95703C15 4.58711 14.8563 4.24054 14.5949 3.97992L12.0096 1.39234C11.4879 0.86922 10.5788 0.86922 10.0571 1.39234L8 3.45119V3.32321C8 2.55068 7.37187 1.922 6.6 1.922H2.4C1.62813 1.922 1 2.55068 1 3.32321V13.5988C1 14.3713 1.62813 15 2.4 15H12.6667C13.4385 15 14.0667 14.3713 14.0667 13.5988V9.39514C14.0667 8.62261 13.4385 7.99393 12.6667 7.99393H12.5379L14.5949 5.93508C14.8553 5.67445 15 5.32602 15 4.95703ZM2.4 2.85521H6.6C6.85667 2.85521 7.06667 3.06446 7.06667 3.32228V7.99299H1.93333V3.32228C1.93333 3.06446 2.14333 2.85521 2.4 2.85521ZM1.93333 13.5979V8.92714H7.06667V14.0649H2.4C2.14333 14.0649 1.93333 13.8547 1.93333 13.5979ZM13.1333 9.39421V13.5979C13.1333 13.8547 12.9233 14.0649 12.6667 14.0649H8V8.92714H12.6667C12.9233 8.92714 13.1333 9.13638 13.1333 9.39421ZM8 7.99299V6.46287L9.5288 7.99299H8ZM13.9351 5.2737L11.3488 7.86221C11.1789 8.03223 10.8859 8.03223 10.716 7.86221L8.12973 5.2737C8.0448 5.18963 7.99813 5.07753 7.99813 4.95796C7.99813 4.83839 8.0448 4.7263 8.12973 4.64129L10.716 2.05278C10.8009 1.96777 10.9129 1.92106 11.0324 1.92106C11.1519 1.92106 11.2639 1.96777 11.3488 2.05278L13.9351 4.64129C14.02 4.72536 14.0667 4.83746 14.0667 4.95703C14.0667 5.0766 14.02 5.1887 13.9351 5.2737Z"},child:[]}]})(e)}function M2(e){return wg({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{fill:"none",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",d:"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a34 34 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1 15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.4 26.4 0 0 1 9.3-1.7 26 26 0 0 1 10.1 2l56.7 20.1a13.5 13.5 0 0 0 3.9 1 8 8 0 0 0 8-8 13 13 0 0 0-.5-2.7z"},child:[]},{tag:"path",attr:{fill:"none",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",d:"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.3 7.3 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.2 159.2 0 0 0 284 432.11"},child:[]}]})(e)}const pH=[{icon:UC,label:"PR security reviews"},{icon:NT,label:"Attack surface monitoring"},{icon:UT,label:"Real-time threat intelligence"},{icon:iC,label:"Scheduled pentesting"},{icon:LT,label:"One-click autofix"},{icon:K_,label:"Jira, Linear & Slack integrations"}];function gH({open:e,onClose:t,description:r,source:a="sidebar"}){const[s,o]=ee.useState(e),[c,d]=ee.useState(e?"open":"closed");return ee.useEffect(()=>{if(e){o(!0),d("open");return}d("closed");const h=setTimeout(()=>o(!1),200);return()=>clearTimeout(h)},[e]),ee.useEffect(()=>{if(!s)return;const h=p=>{p.key==="Escape"&&t()};document.addEventListener("keydown",h);const f=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",h),document.body.style.overflow=f}},[s,t]),s?m.jsx("div",{"data-state":c,className:"dialog-overlay fixed inset-0 z-50 flex items-center justify-center bg-black/80 p-4",onClick:t,role:"dialog","aria-modal":"true","aria-label":"Upgrade your plan",children:m.jsxs("div",{"data-state":c,className:"dialog-panel relative w-full max-w-md rounded-2xl border border-[#222] bg-black p-6 shadow-lg sm:rounded-lg",onClick:h=>h.stopPropagation(),children:[m.jsx("button",{type:"button",onClick:t,"aria-label":"Close",className:"absolute right-4 top-4 rounded-md p-1 text-[#888] transition-colors hover:bg-[#1a1a1a] hover:text-white",children:m.jsx(kp,{className:"h-4 w-4"})}),m.jsxs("div",{children:[m.jsx("h2",{className:"text-lg text-white",children:"Available in Strix Cloud"}),r&&m.jsx("p",{className:"mt-2 text-base leading-relaxed text-[#e5e5e5]",children:r})]}),m.jsxs("div",{className:"space-y-4 pt-4",children:[m.jsxs("div",{className:"rounded-xl border border-[#333] bg-[#0a0a0a] p-4 sm:rounded-lg",children:[m.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[m.jsx(Fm,{className:"h-4 w-4 text-blue-400"}),m.jsx("span",{className:"text-sm font-medium text-white",children:"Strix Cloud also includes"})]}),m.jsx("ul",{className:"space-y-2 text-sm text-[#888]",children:pH.map(h=>m.jsxs("li",{className:"flex items-center gap-2",children:[m.jsx(h.icon,{className:"h-3.5 w-3.5 text-[#555]"}),h.label]},h.label))})]}),m.jsxs("div",{className:"flex flex-col gap-2",children:[m.jsxs("a",{href:_i(Yu,"upgrade_try_free"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("upgrade_try_free",a),className:"flex h-10 w-full items-center justify-center gap-2 rounded-lg bg-white px-4 text-sm font-semibold text-black transition-colors hover:bg-neutral-200",children:["Open Strix Cloud",m.jsx(uy,{className:"h-3.5 w-3.5"})]}),m.jsxs("a",{href:_i(FT,"upgrade_view_plans"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("upgrade_view_plans",a),className:"flex h-9 w-full items-center justify-center gap-1.5 rounded-lg border border-[#333] px-4 text-sm font-medium text-[#888] transition-colors hover:border-[#555] hover:text-white",children:["Learn more",m.jsx(uy,{className:"h-3 w-3"})]})]}),m.jsxs("p",{className:"text-center text-xs text-[#666]",children:["SSO, compliance reports, or a private deployment?"," ",m.jsx("a",{href:_i(Ap,"upgrade_book_demo"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("upgrade_book_demo",a),className:"whitespace-nowrap text-[#aaa] underline underline-offset-2 transition-colors hover:text-white",children:"Try Strix Enterprise"})]})]})]})}):null}const Hm=160,$m=260,io=400,xH=140,k_="strix_viewer_sidebar_width",C_="strix_viewer_sidebar_collapsed";function bH(e,t){try{const r=localStorage.getItem(e),a=r?parseInt(r,10):NaN;return Number.isFinite(a)?a:t}catch{return t}}function yH({view:e,onSelectView:t,issuesCount:r,agentCount:a,mcpConnections:s,mcpInUse:o,runCount:c,finished:d,verified:h,email:f,onOpenEmail:p,onOpenHistory:g,onForget:b}){var P;const[y,_]=ee.useState(()=>{const k=bH(k_,$m);return Math.min(io,Math.max(Hm,k))}),[N,S]=ee.useState(()=>{try{return localStorage.getItem(C_)==="1"}catch{return!1}}),[w,C]=ee.useState(!1),[E,A]=ee.useState(!1),[B,R]=ee.useState(null),H=ee.useRef(null),z=(k,$)=>{yr(k,"sidebar"),R($)},Y=ee.useCallback(k=>{_(k);try{localStorage.setItem(k_,String(k))}catch{}},[]),j=ee.useCallback(k=>{S(k);try{localStorage.setItem(C_,k?"1":"0")}catch{}},[]),I=ee.useCallback(()=>{j(!1),Y($m)},[j,Y]),Z=ee.useCallback(k=>{k.preventDefault(),C(!0)},[]);return ee.useEffect(()=>{if(!w||N)return;const k=O=>{const U=O.clientX;U>=Hm&&U<=io?_(U):U>io&&_(io)},$=O=>{const U=O.clientX;U{window.removeEventListener("mousemove",k),window.removeEventListener("mouseup",$)}},[w,N,j,Y]),ee.useEffect(()=>{if(!E)return;const k=$=>{H.current&&!H.current.contains($.target)&&A(!1)};return document.addEventListener("mousedown",k),()=>document.removeEventListener("mousedown",k)},[E]),m.jsxs(m.Fragment,{children:[N&&m.jsx("div",{className:"fixed left-0 top-0 z-40 hidden h-full w-4 cursor-pointer transition-colors hover:bg-[rgba(255,255,255,0.08)] lg:block",onClick:I,title:"Expand sidebar"}),m.jsxs("aside",{className:br("sticky top-0 z-20 hidden h-screen flex-shrink-0 flex-col overflow-hidden border-r border-[rgba(255,255,255,0.08)] bg-black lg:flex",!w&&"transition-[width] duration-200 ease-out"),style:{width:N?0:y},children:[m.jsx("header",{className:"relative flex flex-col gap-1 pt-1 min-w-[160px]",children:m.jsx("div",{className:"flex flex-row py-1 px-2",children:m.jsxs("div",{className:"flex h-10 w-full flex-row items-center",children:[m.jsxs("a",{href:_i("https://app.strix.ai","logo"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("logo","sidebar"),className:"flex flex-1 flex-row items-center gap-2 rounded-md py-2 pl-2.5 pr-1 min-w-0 transition-colors hover:bg-[rgba(255,255,255,0.06)]",title:"Open Strix Cloud",children:[m.jsx("span",{className:"flex flex-shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-emerald-400 to-cyan-500",style:{width:20,height:20},children:m.jsx("span",{className:"text-[10px] font-semibold text-white",children:"S"})}),m.jsxs("span",{className:"flex flex-1 flex-row items-center gap-2 min-w-0",children:[m.jsx("span",{className:"truncate min-w-0 text-[14px] font-medium text-[#ededed]",children:"Strix"}),m.jsx("span",{className:"flex h-5 flex-shrink-0 items-center rounded px-2 text-[11px] font-medium text-[#888] bg-[rgba(255,255,255,0.08)]",children:"Local"})]})]}),m.jsx("a",{href:_i("https://app.strix.ai","logo"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("logo","sidebar"),className:"flex flex-none items-center rounded-md px-1.5 py-2 transition-colors hover:bg-[rgba(255,255,255,0.06)]","aria-label":"Open Strix Cloud",children:m.jsx(hC,{className:"h-4 w-4 text-[#666]"})})]})})}),m.jsx("nav",{className:"relative min-w-[160px] flex-1 overflow-y-auto overflow-x-clip scrollbar-thin pb-10 pt-2",children:m.jsxs("div",{className:"relative flex flex-col gap-px px-2",children:[m.jsx(yi,{icon:m.jsx(wH,{}),label:"Pentest Overview",active:e==="overview",onClick:()=>t("overview")}),m.jsx(yi,{icon:m.jsx(Sp,{className:"h-4 w-4"}),label:"Issues",count:r>0?r:void 0,active:e==="issues",onClick:()=>t("issues")}),a>0&&m.jsx(yi,{icon:m.jsx(Ro,{className:"h-4 w-4"}),label:"Agents",count:a,active:e==="agents",onClick:()=>t("agents")}),s.length>0&&m.jsx(_H,{connections:s,inUse:o}),m.jsx(yi,{icon:m.jsx(Ys,{className:"h-4 w-4"}),label:"Past runs",count:c>0?c:void 0,active:e==="history",onClick:g}),d&&m.jsx(yi,{icon:m.jsx(Np,{className:"h-4 w-4"}),label:"Export report",active:e==="email",onClick:p}),m.jsx(yi,{icon:m.jsx(M2,{className:"h-4 w-4"}),label:"Feedback & support",active:e==="feedback",onClick:()=>t("feedback")}),m.jsx("hr",{className:"mx-0 my-1 h-px w-full border-0 bg-[rgba(255,255,255,0.08)]"}),m.jsx(yi,{icon:m.jsx(hH,{className:"h-4 w-4"}),label:"PR Security Reviews",active:!1,onClick:()=>z("pr_reviews","Strix reviews every pull request and flags exploitable changes before they merge.")}),m.jsx(yi,{icon:m.jsx(mH,{className:"h-4 w-4"}),label:"Integrations",active:!1,onClick:()=>z("integrations","Sync findings to Jira, Linear, and Slack so fixes happen where your team already works.")}),m.jsx(yi,{icon:m.jsx(jT,{className:"h-4 w-4"}),label:"Members",active:!1,onClick:()=>z("members","Invite your team, set roles, and share findings and run history across your org.")})]})}),m.jsx("section",{className:"flex min-w-[160px] flex-col gap-0.5",ref:H,children:m.jsxs("div",{className:"relative p-2",children:[h&&f?m.jsxs("button",{onClick:()=>A(k=>!k),className:"relative flex w-full cursor-pointer items-center gap-2 rounded-md bg-transparent px-2.5 py-2 transition-colors hover:bg-[rgba(255,255,255,0.06)]",children:[m.jsx("span",{className:"flex flex-shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-emerald-400 to-cyan-500",style:{width:20,height:20},children:m.jsx("span",{className:"text-[9px] font-semibold text-white",children:((P=f[0])==null?void 0:P.toUpperCase())||"U"})}),m.jsxs("span",{className:"flex min-w-0 flex-1 flex-col text-left",children:[m.jsx("span",{className:"truncate text-[13px] font-medium text-[#ededed]",children:f}),m.jsx("span",{className:"truncate text-[11px] text-[#555]",children:"Linked to this machine"})]})]}):m.jsxs("div",{className:"flex items-center gap-2 rounded-md px-2.5 py-2",children:[m.jsx("span",{className:"flex flex-shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-emerald-400 to-cyan-500",style:{width:20,height:20},children:m.jsx("span",{className:"text-[9px] font-semibold text-white",children:"S"})}),m.jsx("span",{className:"flex min-w-0 flex-1 flex-col text-left",children:m.jsx("span",{className:"truncate text-[13px] font-medium text-[#ededed]",children:"Local viewer"})})]}),E&&h&&f&&m.jsxs("div",{className:"absolute bottom-full left-2 right-2 z-50 mb-1 overflow-hidden rounded-lg border border-[#333] bg-black shadow-xl",children:[m.jsxs("div",{className:"border-b border-[#333] px-3 py-2",children:[m.jsx("p",{className:"truncate text-[13px] font-medium text-white",children:"Linked email"}),m.jsx("p",{className:"truncate text-[11px] text-[#666]",children:f})]}),m.jsxs("button",{onClick:()=>{A(!1),b()},className:"flex w-full items-center gap-2 px-3 py-2 text-[13px] text-[#888] transition-colors hover:bg-[rgba(255,255,255,0.06)] hover:text-red-400",children:[m.jsx(nT,{className:"h-4 w-4"}),"Forget this email"]})]})]})}),m.jsx("div",{className:"group absolute right-0 top-0 z-30 h-full w-1 cursor-col-resize",onMouseDown:Z,children:m.jsx("div",{className:br("absolute right-0 top-0 h-full w-px bg-[rgba(255,255,255,0.08)] transition-all duration-100",w?"w-0.5 bg-[rgba(255,255,255,0.3)]":"group-hover:bg-[rgba(255,255,255,0.2)]")})})]}),w&&m.jsx("div",{className:"fixed inset-0 z-10 cursor-col-resize"}),m.jsx(gH,{open:B!==null,description:B??"",source:"sidebar",onClose:()=>R(null)})]})}function yi({icon:e,label:t,active:r,onClick:a,count:s}){return m.jsxs("button",{onClick:a,className:br("group flex h-9 w-full origin-left flex-row items-center rounded-md transition-colors",r?"bg-[rgba(255,255,255,0.12)] text-white":"text-[#888] hover:bg-[rgba(255,255,255,0.06)] hover:text-[#ededed]"),children:[m.jsx("div",{className:"grid flex-none place-content-center",style:{width:36,height:36},children:e}),m.jsx("span",{className:"min-w-0 flex-1 truncate text-left text-[14px] font-medium",children:t}),s!=null&&m.jsx("span",{className:"mr-2 flex-none rounded-full border border-white/10 px-2 py-0.5 text-[10px] tabular-nums leading-none text-[#777]",children:s})]})}const T_=["◐","◓","◑","◒"],vH=220;function _H({connections:e,inUse:t}){const r=e.some(o=>!o.dead&&t.has(o.name)),[a,s]=ee.useState(0);return ee.useEffect(()=>{if(!r)return;const o=setInterval(()=>s(c=>(c+1)%T_.length),vH);return()=>clearInterval(o)},[r]),m.jsxs("div",{className:"mt-1",children:[m.jsxs("div",{className:"flex h-7 items-center px-2 text-[11px] font-medium text-[#666]",children:["MCP Connections (",e.length,")"]}),m.jsx("div",{className:"max-h-48 overflow-y-auto overflow-x-clip scrollbar-thin",children:e.map(o=>{const c=!o.dead&&t.has(o.name);return m.jsxs("div",{className:"flex h-7 items-center gap-2 rounded-md px-2",title:o.provider?`${o.name} · ${o.provider}`:o.name,children:[m.jsx("span",{className:br("w-3 flex-none text-center text-[11px] leading-none",o.dead?"text-red-400":"text-emerald-400"),"aria-hidden":"true",children:o.dead?"●":c?T_[a]:"●"}),m.jsx("span",{className:"min-w-0 flex-1 truncate text-[13px] font-medium text-[#ededed]",children:o.name}),o.dead?m.jsx("span",{className:"flex-none text-[11px] text-red-400",children:"offline"}):m.jsxs("span",{className:"flex-none text-[11px] tabular-nums text-[#666]",children:[o.toolCount," ",o.toolCount===1?"tool":"tools"]})]},o.name)})})]})}function wH(){return m.jsx("svg",{style:{width:16,height:16,color:"currentcolor"},viewBox:"0 0 16 16",fill:"currentColor",children:m.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.5 5.5V2.5H5.5V5.5H2.5ZM1 2C1 1.44772 1.44772 1 2 1H6C6.55228 1 7 1.44772 7 2V6C7 6.55228 6.55228 7 6 7H2C1.44772 7 1 6.55228 1 6V2ZM2.5 13.5V10.5H5.5V13.5H2.5ZM1 10C1 9.44772 1.44772 9 2 9H6C6.55228 9 7 9.44772 7 10V14C7 14.5523 6.55228 15 6 15H2C1.44772 15 1 14.5523 1 14V10ZM10.5 2.5V5.5H13.5V2.5H10.5ZM10 1C9.44772 1 9 1.44772 9 2V6C9 6.55228 9.44772 7 10 7H14C14.5523 7 15 6.55228 15 6V2C15 1.44772 14.5523 1 14 1H10ZM10.5 13.5V10.5H13.5V13.5H10.5ZM9 10C9 9.44772 9.44772 9 10 9H14C14.5523 9 15 9.44772 15 10V14C15 14.5523 14.5523 15 14 15H10C9.44772 15 9 14.5523 9 14V10Z"})})}const A_={work_email_required:"Please use your work email, not a personal one.",rate_limited:"Too many requests. Wait a minute and try again.",invalid_email:"That email does not look right. Check it and try again.",unavailable:"The email service is unavailable right now. Try again shortly."},EH=new Set(["gmail.com","googlemail.com","yahoo.com","ymail.com","outlook.com","hotmail.com","live.com","icloud.com","me.com","aol.com","proton.me","protonmail.com","gmx.com","mail.com"]);function NH({onVerified:e}){const[t,r]=ee.useState("email"),[a,s]=ee.useState(""),[o,c]=ee.useState(""),[d,h]=ee.useState(!1),[f,p]=ee.useState(null),[g,b]=ee.useState(null),y=async()=>{const N=a.trim();if(!N){p("Enter your email to continue.");return}const S=N.slice(N.lastIndexOf("@")+1).toLowerCase();if(EH.has(S)){Mr("work_email_required"),p(A_.work_email_required);return}h(!0),p(null);const w=await S2(N);h(!1),w.ok?(Mr("email_submitted",{purpose:"verify"}),b(`We sent a 6-digit code to ${N}.`),r("code")):(w.error==="work_email_required"&&Mr("work_email_required"),p(A_[w.error]??"Could not send a code. Try again."))},_=async()=>{const N=o.trim();if(N.length<4){p("Enter the 6-digit code from your email.");return}h(!0),p(null);const S=await k2(a.trim(),N);if(h(!1),!S.verified){p("That code did not match. Check it and try again.");return}Mr("email_verified",{purpose:"verify"}),e()};return m.jsxs("div",{className:"mx-auto mt-5 max-w-sm text-left",children:[f&&m.jsxs("div",{className:"mb-3 flex items-start gap-2 rounded-lg border border-red-500/30 bg-red-500/5 px-3 py-2",children:[m.jsx(Gu,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-red-400","aria-hidden":"true"}),m.jsx("p",{className:"text-xs text-red-300",children:f})]}),g&&!f&&m.jsx("p",{className:"mb-3 text-xs text-[#888]",children:g}),t==="email"?m.jsxs("form",{className:"space-y-3",onSubmit:N=>{N.preventDefault(),y()},children:[m.jsxs("label",{className:"block",children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"Your work email"}),m.jsx("input",{type:"email",autoFocus:!0,value:a,onChange:N=>s(N.target.value),placeholder:"you@company.com",className:"w-full rounded-lg bg-black px-3 py-2.5 text-sm text-white outline-none transition-colors focus:border-[#444]",style:{border:"1px solid #2a2a2a"}}),m.jsx("span",{className:"mt-1.5 block text-[11px] text-[#666]",children:"Use your work email."})]}),m.jsxs("button",{type:"submit",disabled:d,className:"flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-white px-4 py-2.5 text-sm font-semibold text-black transition-opacity hover:opacity-90 disabled:opacity-60",children:[d&&m.jsx(Ps,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Send me a code"]})]}):m.jsxs("form",{className:"space-y-3",onSubmit:N=>{N.preventDefault(),_()},children:[m.jsxs("label",{className:"block",children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"6-digit code"}),m.jsx("input",{inputMode:"numeric",autoFocus:!0,value:o,onChange:N=>c(N.target.value.replace(/\D/g,"").slice(0,6)),placeholder:"123456",className:"w-full rounded-lg bg-black px-3 py-2.5 text-center text-lg font-mono tracking-[0.4em] text-white outline-none transition-colors focus:border-[#444]",style:{border:"1px solid #2a2a2a"}})]}),m.jsxs("button",{type:"submit",disabled:d,className:"flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-white px-4 py-2.5 text-sm font-semibold text-black transition-opacity hover:opacity-90 disabled:opacity-60",children:[d&&m.jsx(Ps,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Verify"]}),m.jsx("button",{type:"button",onClick:()=>{r("email"),p(null),b(null)},className:"w-full cursor-pointer text-center text-xs text-[#666] transition-colors hover:text-[#aaa]",children:"Use a different email"})]})]})}const SH=[{key:"critical",dot:"bg-red-500",text:"text-red-500"},{key:"high",dot:"bg-orange-500",text:"text-orange-500"},{key:"medium",dot:"bg-yellow-500",text:"text-yellow-500"},{key:"low",dot:"bg-blue-500",text:"text-blue-500"}];function kH({counts:e}){const t=SH.filter(r=>e[r.key]>0);return t.length===0?m.jsx("span",{className:"text-xs text-[#555]",children:"No findings"}):m.jsx("div",{className:"flex items-center gap-3",children:t.map(r=>m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:`h-2 w-2 rounded-full ${r.dot}`,"aria-hidden":"true"}),m.jsx("span",{className:`text-xs tabular-nums ${r.text}`,children:e[r.key]})]},r.key))})}function CH(e){if(!e)return null;const t=e.trim().replace(" UTC","Z").replace(" ","T"),r=new Date(t);return Number.isNaN(r.getTime())?null:r.toLocaleString(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}function M_(e){if(!e)return null;const t=e.trim().replace(" UTC","Z").replace(" ","T"),r=new Date(t);if(Number.isNaN(r.getTime()))return null;const a=Date.now()-r.getTime(),s=Math.floor(a/6e4);if(s<1)return"just now";if(s<60)return`${s}m ago`;const o=Math.floor(s/60);if(o<24)return`${o}h ago`;const c=Math.floor(o/24);return c<7?`${c}d ago`:CH(e)}function TH({runs:e,activeRun:t,onSelectRun:r,onVerified:a}){const s=(e==null?void 0:e.count)??0,[o,c]=ee.useState(!1);return!e||e.locked?m.jsxs("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-8 text-center",children:[m.jsx("div",{className:"mx-auto mb-4 flex h-11 w-11 items-center justify-center rounded-xl",style:{border:"1px solid #2a2a2a",background:"rgba(255,255,255,0.04)"},children:m.jsx(Ys,{className:"h-5 w-5 text-[#888]","aria-hidden":"true"})}),m.jsx("h2",{className:"text-base font-semibold text-white",children:"Browse every run on this machine"}),m.jsxs("p",{className:"mx-auto mt-1.5 max-w-md text-sm text-[#888]",children:["You have ",s," past ",s===1?"run":"runs"," on this machine."]}),o?m.jsxs(m.Fragment,{children:[m.jsx("p",{className:"mx-auto mt-3 max-w-sm text-xs text-[#666]",children:"Verify your email with a one-time code to unlock the full history."}),m.jsx(NH,{onVerified:a})]}):m.jsx("button",{onClick:()=>{yr("history_unlock","past_runs"),c(!0)},className:"mt-4 cursor-pointer rounded-lg bg-white px-4 py-2 text-sm font-semibold text-black transition-opacity hover:opacity-90",children:"View runs"}),m.jsxs("p",{className:"mt-4 flex items-center justify-center gap-1.5 text-xs text-[#555]",children:[m.jsx(J_,{className:"h-3.5 w-3.5","aria-hidden":"true"}),"Or open one from the CLI with"," ",m.jsx("code",{className:"font-mono text-[#888]",children:"strix view "})]})]}):e.runs.length===0?m.jsx("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-8 text-center text-sm text-[#888]",children:"No past runs found on this machine yet."}):m.jsx("div",{className:"space-y-2",children:e.runs.map(d=>{const h=d.name===t,f=M_(d.start_time)??M_(d.end_time),p=yo(d.target,d.name);return m.jsxs("button",{onClick:()=>r(d.name),className:`animate-card-in group flex w-full cursor-pointer items-center gap-4 rounded-lg border px-4 py-3 text-left transition-colors ${h?"border-[#444] bg-[rgba(255,255,255,0.04)]":"border-[#222] bg-[rgba(255,255,255,0.02)] hover:border-[#444]"}`,children:[m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"truncate text-sm font-medium text-white",children:p}),h&&m.jsx("span",{className:"rounded-full px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-emerald-400",style:{border:"1px solid rgba(16,185,129,0.3)"},children:"Active"})]}),m.jsxs("div",{className:"mt-0.5 flex flex-wrap items-center gap-x-2 gap-y-0.5 text-xs text-[#666]",children:[d.scan_mode&&m.jsx("span",{className:"capitalize",children:d.scan_mode}),d.scan_mode&&(f||d.status)&&m.jsx("span",{className:"text-[#333]",children:"·"}),f&&m.jsx("span",{children:f}),f&&d.status&&m.jsx("span",{className:"text-[#333]",children:"·"}),d.status&&m.jsx("span",{className:"capitalize",children:d.status})]})]}),m.jsx(kH,{counts:d.severity_counts}),m.jsx(uC,{className:"h-4 w-4 flex-shrink-0 text-[#555] transition-colors group-hover:text-[#aaa]","aria-hidden":"true"})]},d.name)})})}const O_={work_email_required:"Please use your work email, not a personal one.",rate_limited:"Too many requests. Wait a minute and try again.",invalid_email:"That email does not look right. Check it and try again.",unavailable:"The email service is unavailable right now. Try again shortly."},AH={forbidden:"This email was unsubscribed from Strix, so we cannot send to it.",too_large:"This report is too large to email. Try a smaller run.",unavailable:"The email service is unavailable right now. Try again shortly."},MH=new Set(["gmail.com","googlemail.com","yahoo.com","ymail.com","outlook.com","hotmail.com","live.com","icloud.com","me.com","aol.com","proton.me","protonmail.com","gmx.com","mail.com"]);function OH({activeRun:e,auth:t,purpose:r,skipDisclosure:a=!1,onAuthChanged:s,onExit:o}){const c=(t==null?void 0:t.verified)===!0,d=r==="verify",[h,f]=ee.useState(()=>d?"email":a?c?"sending":"email":"disclosure"),[p,g]=ee.useState((t==null?void 0:t.email)??""),[b,y]=ee.useState(""),[_,N]=ee.useState(!1),[S,w]=ee.useState(null),[C,E]=ee.useState(null),[A,B]=ee.useState(""),[R,H]=ee.useState(""),[z,Y]=ee.useState(!1),[j,I]=ee.useState(""),Z=ee.useRef(!1),P=async()=>{f("sending"),w(null);const X=await nH(e);if(X.ok){Mr("report_sent"),B(X.password),H(X.filename),f("password");return}if(X.error==="reverify"||X.error==="unverified"){E("Your verification expired. Enter your email to verify again."),f("email");return}w(AH[X.error]??"Could not send the report. Try again."),f("disclosure")},k=()=>{w(null),E(null),c?P():f("email")};ee.useEffect(()=>{!d&&a&&c&&!Z.current&&(Z.current=!0,P())},[]);const $=async()=>{const X=p.trim();if(!X){w("Enter your email to continue.");return}const M=X.slice(X.lastIndexOf("@")+1).toLowerCase();if(MH.has(M)){Mr("work_email_required"),w(O_.work_email_required);return}N(!0),w(null);const L=await S2(X);N(!1),L.ok?(Mr("email_submitted",{purpose:r}),E(`We sent a 6-digit code to ${X}.`),f("code")):(L.error==="work_email_required"&&Mr("work_email_required"),w(O_[L.error]??"Could not send a code. Try again."))},O=async()=>{const X=b.trim();if(X.length<4){w("Enter the 6-digit code from your email.");return}N(!0),w(null);const M=await k2(p.trim(),X);if(N(!1),!M.verified){w("That code did not match. Check it and try again.");return}Mr("email_verified",{purpose:r}),I(M.email),s(),d?o("history"):P()},U=async()=>{try{await navigator.clipboard.writeText(A),Y(!0),setTimeout(()=>Y(!1),1500)}catch{}},K=j||(t==null?void 0:t.email)||p.trim();return m.jsxs("div",{className:"mx-auto max-w-xl space-y-4",children:[m.jsxs("button",{onClick:()=>o(d?"history":"overview"),className:"cursor-pointer inline-flex items-center gap-1.5 text-sm text-[#888] transition-colors hover:text-white",children:[m.jsx(Ep,{className:"h-4 w-4"}),d?"Back to past runs":"Back to results"]}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Np,{className:"h-5 w-5 text-[#888]","aria-hidden":"true"}),m.jsx("h1",{className:"text-2xl font-semibold text-white",children:d?"Verify your email":"Export report to PDF"})]}),m.jsxs("div",{className:"w-full rounded-2xl bg-[rgba(255,255,255,0.02)] p-6",style:{border:"1px solid #2a2a2a"},children:[m.jsx("p",{className:"mb-4 text-xs text-[#666]",children:d?"We send a one-time code to confirm it is you.":"Verified by a one-time code sent to your email"}),S&&m.jsxs("div",{className:"mb-4 flex items-start gap-2 rounded-lg border border-red-500/30 bg-red-500/5 px-3 py-2",children:[m.jsx(Gu,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-red-400","aria-hidden":"true"}),m.jsx("p",{className:"text-xs text-red-300",children:S})]}),C&&!S&&h!=="password"&&m.jsx("p",{className:"mb-4 text-xs text-[#888]",children:C}),h==="disclosure"&&m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{className:"space-y-2.5 rounded-lg p-3.5",style:{border:"1px solid #222",background:"rgba(255,255,255,0.02)"},children:[m.jsxs("div",{className:"flex items-start gap-2.5",children:[m.jsx(W_,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-emerald-400","aria-hidden":"true"}),m.jsxs("p",{className:"text-xs leading-relaxed text-[#aaa]",children:["We email an ",m.jsx("span",{className:"text-white",children:"encrypted PDF"}),". Nothing else leaves your machine."]})]}),m.jsxs("div",{className:"flex items-start gap-2.5",children:[m.jsx(eT,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-[#888]","aria-hidden":"true"}),m.jsx("p",{className:"text-xs leading-relaxed text-[#aaa]",children:"Only you hold the password; Strix can't read it."})]})]}),m.jsx("button",{onClick:k,className:"w-full cursor-pointer rounded-lg bg-white px-4 py-2.5 text-sm font-semibold text-black transition-opacity hover:opacity-90",children:"Export report"}),c&&(t==null?void 0:t.email)&&m.jsxs("p",{className:"text-center text-xs text-[#666]",children:["Sending to ",t.email]})]}),h==="email"&&m.jsxs("form",{className:"space-y-4",onSubmit:X=>{X.preventDefault(),$()},children:[m.jsxs("label",{className:"block",children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"Your work email"}),m.jsx("input",{type:"email",autoFocus:!0,value:p,onChange:X=>g(X.target.value),placeholder:"you@company.com",className:"w-full rounded-lg bg-black px-3 py-2.5 text-sm text-white outline-none transition-colors focus:border-[#444]",style:{border:"1px solid #2a2a2a"}})]}),m.jsxs("button",{type:"submit",disabled:_,className:"flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-white px-4 py-2.5 text-sm font-semibold text-black transition-opacity hover:opacity-90 disabled:opacity-60",children:[_&&m.jsx(Ps,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Send me a code"]})]}),h==="code"&&m.jsxs("form",{className:"space-y-4",onSubmit:X=>{X.preventDefault(),O()},children:[m.jsxs("label",{className:"block",children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"6-digit code"}),m.jsx("input",{inputMode:"numeric",autoFocus:!0,value:b,onChange:X=>y(X.target.value.replace(/\D/g,"").slice(0,6)),placeholder:"123456",className:"w-full rounded-lg bg-black px-3 py-2.5 text-center text-lg font-mono tracking-[0.4em] text-white outline-none transition-colors focus:border-[#444]",style:{border:"1px solid #2a2a2a"}})]}),m.jsxs("button",{type:"submit",disabled:_,className:"flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-white px-4 py-2.5 text-sm font-semibold text-black transition-opacity hover:opacity-90 disabled:opacity-60",children:[_&&m.jsx(Ps,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),d?"Verify":"Verify and send"]}),m.jsx("button",{type:"button",onClick:()=>{f("email"),w(null),E(null)},className:"w-full cursor-pointer text-center text-xs text-[#666] transition-colors hover:text-[#aaa]",children:"Use a different email"})]}),h==="sending"&&m.jsxs("div",{className:"flex flex-col items-center gap-3 py-8",children:[m.jsx(Ps,{className:"h-6 w-6 animate-spin text-white","aria-hidden":"true"}),m.jsx("p",{className:"text-sm text-[#aaa]",children:"Generating and encrypting locally..."})]}),h==="password"&&m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{className:"flex items-start gap-2.5 rounded-lg border border-emerald-500/30 bg-emerald-500/5 px-3 py-2.5",children:[m.jsx(Vs,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-emerald-400","aria-hidden":"true"}),m.jsxs("p",{className:"text-xs text-emerald-200",children:["Sent to ",K,". Open the attached PDF with this password."]})]}),m.jsxs("div",{children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"Your one-time password"}),m.jsxs("div",{className:"flex items-center gap-2 rounded-lg bg-black p-3",style:{border:"1px solid #2a2a2a"},children:[m.jsx("code",{className:"flex-1 break-all font-mono text-base text-white",children:A}),m.jsxs("button",{onClick:U,className:"flex cursor-pointer items-center gap-1 rounded-md px-2 py-1 text-xs text-[#aaa] transition-colors hover:bg-[rgba(255,255,255,0.06)] hover:text-white",style:{border:"1px solid #2a2a2a"},children:[z?m.jsx(Vs,{className:"h-3.5 w-3.5"}):m.jsx(go,{className:"h-3.5 w-3.5"}),z?"Copied":"Copy"]})]}),m.jsxs("p",{className:"mt-2 text-xs text-[#666]",children:["Save this now. Strix never stores it, so we cannot show it again. File:"," ",m.jsx("span",{className:"font-mono text-[#888]",children:R})]})]}),m.jsx("button",{onClick:()=>o("overview"),className:"w-full cursor-pointer rounded-lg px-4 py-2.5 text-sm font-semibold text-white transition-colors hover:bg-[rgba(255,255,255,0.06)]",style:{border:"1px solid #2a2a2a"},children:"Done"})]})]})]})}function oa(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function ao(e){return Array.isArray(e)?e:[]}function nr(e){return typeof e=="string"&&e.trim()?e:null}function Ba(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function RH(e){return e.replace(/_/g," ")}function R_(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function jH(e){if(e==null||e<0)return"n/a";const t=Math.floor(e/3600),r=Math.floor(e%3600/60),a=e%60;return t?`${t}h ${r}m ${a}s`:r?`${r}m ${a}s`:`${a}s`}function En({label:e,children:t}){return m.jsxs("div",{className:"grid grid-cols-[7rem_1fr] gap-3 items-baseline",children:[m.jsx("dt",{className:"text-[11px] uppercase tracking-wide text-[#666]",children:e}),m.jsx("dd",{className:"min-w-0 break-words text-sm text-[#ddd]",children:t})]})}function DH({raw:e,durationSeconds:t}){const[r,a]=ee.useState(!0),s=ao(e.targets_info).map(P=>{const k=oa(P),$=nr(k.original)??nr(oa(k.details).target_url)??"unknown target",O=nr(k.type);return{display:$,type:O?RH(O):null}}),o=nr(e.instruction),c=R_(nr(e.scan_mode)),d=nr(e.scope_mode),h=oa(e.diff_scope),f=h.active===!0,p=nr(h.mode),g=nr(e.diff_base),b=e.non_interactive===!0,y=ao(e.local_sources).map(P=>{if(typeof P=="string")return P;const k=oa(P);return nr(k.source_path)??nr(k.target_path)??""}).filter(Boolean),_=R_(nr(e.status));let N=d??"auto";f&&(N+=` (diff${p?`: ${p}`:""}${g?` vs ${g}`:""})`);const S=oa(e.llm_usage),w=Object.keys(S).length>0,C=ao(S.agents).map(oa),E=Array.from(new Set(C.map(P=>nr(P.model)).filter(P=>!!P))),A=Ba(S.requests),B=Ba(S.input_tokens),R=Ba(oa(ao(S.input_tokens_details)[0]).cached_tokens),H=Ba(S.output_tokens),z=Ba(oa(ao(S.output_tokens_details)[0]).reasoning_tokens),Y=Ba(S.total_tokens),j=Ba(S.cost),I=nr(e.auth_mode)==="subscription",Z=(P,k)=>m.jsxs("span",{className:"text-[#666]",children:[" (",Ls(P)," ",k,")"]});return m.jsxs("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:[m.jsxs("button",{type:"button",onClick:()=>a(P=>!P),"aria-expanded":r,className:"flex w-full cursor-pointer items-center gap-2 text-left",children:[m.jsx(KC,{className:"h-4 w-4 text-[#888]","aria-hidden":"true"}),m.jsx("h2",{className:"text-sm font-semibold text-white",children:"Run details"}),r?m.jsx(q_,{className:"ml-auto h-4 w-4 text-[#666]","aria-hidden":"true"}):m.jsx(po,{className:"ml-auto h-4 w-4 text-[#666]","aria-hidden":"true"})]}),r&&m.jsxs("div",{className:"mt-4 grid grid-cols-1 gap-x-8 gap-y-6 md:grid-cols-2",children:[m.jsxs("section",{children:[m.jsx("h3",{className:"mb-3 text-[11px] font-semibold uppercase tracking-wide text-[#555]",children:"Configuration"}),m.jsxs("dl",{className:"space-y-2.5",children:[s.length>0&&m.jsx(En,{label:"Targets",children:m.jsx("div",{className:"space-y-1",children:s.map((P,k)=>m.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[m.jsx("span",{className:"font-mono text-[#ddd]",children:P.display}),P.type&&m.jsx("span",{className:"rounded-full border border-[#2a2a2a] px-1.5 py-0.5 text-[10px] text-[#888]",children:P.type})]},k))})}),m.jsx(En,{label:"Instruction",children:o?m.jsx("span",{className:"whitespace-pre-wrap",children:o}):m.jsx("span",{className:"text-[#666]",children:"None"})}),c&&m.jsx(En,{label:"Pentest mode",children:c}),m.jsx(En,{label:"Scope",children:N}),m.jsx(En,{label:"Mode",children:b?"Non-interactive":"Interactive"}),y.length>0&&m.jsx(En,{label:"Local sources",children:m.jsx("div",{className:"space-y-0.5 font-mono text-[#ddd]",children:y.map((P,k)=>m.jsx("div",{children:P},k))})}),_&&m.jsx(En,{label:"Status",children:_})]})]}),m.jsxs("section",{children:[m.jsx("h3",{className:"mb-3 text-[11px] font-semibold uppercase tracking-wide text-[#555]",children:"Usage & cost"}),w?m.jsxs("dl",{className:"space-y-2.5 tabular-nums",children:[m.jsx(En,{label:"Model",children:E.length?E.join(", "):"n/a"}),I&&m.jsx(En,{label:"Provider",children:m.jsx("span",{className:"inline-flex items-center gap-1.5",children:m.jsx("span",{className:"rounded-full border border-[#22c55e]/40 bg-[#22c55e]/10 px-2 py-0.5 text-[11px] text-[#22c55e]",children:"ChatGPT subscription"})})}),m.jsx(En,{label:"Run time",children:jH(t)}),A!=null&&m.jsx(En,{label:"Requests",children:Ls(A)}),B!=null&&m.jsxs(En,{label:"Input tokens",children:[Ls(B),R!=null&&Z(R,"cached")]}),H!=null&&m.jsxs(En,{label:"Output tokens",children:[Ls(H),z!=null&&Z(z,"reasoning")]}),Y!=null&&m.jsx(En,{label:"Total tokens",children:Ls(Y)}),I?m.jsxs(En,{label:"Cost",children:[m.jsx("span",{className:"text-[#22c55e]",children:"$0.00"}),m.jsx("span",{className:"text-[#666]",children:" (subscription)"})]}):j!=null&&m.jsxs(En,{label:"Cost",children:["$",j.toFixed(2)]}),C.length>0&&m.jsx(En,{label:"Agents",children:Ls(C.length)})]}):m.jsx("p",{className:"text-sm text-[#666]",children:"Not available yet."})]})]})]})}const j_="strix_viewer_trust_dismissed";function LH({message:e}){const[t,r]=ee.useState(()=>{try{return localStorage.getItem(j_)==="1"}catch{return!1}});if(t)return null;const a=()=>{try{localStorage.setItem(j_,"1")}catch{}r(!0)};return m.jsx("div",{className:"fixed bottom-3 left-3 z-[60] max-w-xs rounded-lg bg-[#0a0a0a] p-3 shadow-2xl",style:{border:"1px solid #2a2a2a"},role:"status",children:m.jsxs("div",{className:"flex gap-2.5",children:[m.jsx(W_,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-emerald-400","aria-hidden":"true"}),m.jsx("p",{className:"text-xs leading-relaxed text-[#aaa]",children:e}),m.jsx("button",{onClick:a,"aria-label":"Dismiss",className:"-mr-0.5 -mt-0.5 flex-shrink-0 cursor-pointer rounded p-0.5 text-[#666] transition-colors hover:text-white",children:m.jsx(kp,{className:"h-3.5 w-3.5"})})]})})}const zH=5e3,D_={invalid_email:"That email doesn't look right.",invalid_message:"Please write a little more.",unavailable:"Couldn't send that just now. Try again."};function IH({defaultEmail:e,onExit:t}){const[r,a]=ee.useState(""),[s,o]=ee.useState(e??""),[c,d]=ee.useState("form"),[h,f]=ee.useState(null),p=r.trim().length>0&&s.trim().length>0&&c!=="sending",g=async()=>{if(!p)return;d("sending"),f(null);const b=await JU(r.trim(),s.trim());if(b.ok){d("sent");return}d("form"),f(D_[b.error]??D_.unavailable)};return m.jsxs("div",{className:"mx-auto max-w-xl space-y-4",children:[m.jsxs("button",{onClick:()=>t("overview"),className:"cursor-pointer inline-flex items-center gap-1.5 text-sm text-[#888] transition-colors hover:text-white",children:[m.jsx(Ep,{className:"h-4 w-4"}),"Back to results"]}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(M2,{className:"h-5 w-5 text-[#888]","aria-hidden":"true"}),m.jsx("h1",{className:"text-2xl font-semibold text-white",children:"Feedback & support"})]}),m.jsx("div",{className:"w-full rounded-2xl bg-[rgba(255,255,255,0.02)] p-6",style:{border:"1px solid #2a2a2a"},children:c==="sent"?m.jsxs("div",{className:"flex items-start gap-3",children:[m.jsx(Nu,{className:"mt-0.5 h-5 w-5 flex-shrink-0 text-emerald-400","aria-hidden":"true"}),m.jsxs("div",{className:"min-w-0",children:[m.jsx("p",{className:"text-sm font-semibold text-white",children:"Thanks, we got it."}),m.jsx("p",{className:"mt-1 text-xs text-[#888]",children:"We read every message. If it needs a reply, we'll reach out to the email you gave."}),m.jsx("button",{onClick:()=>{a(""),d("form")},className:"mt-4 cursor-pointer text-xs text-[#888] transition-colors hover:text-white",children:"Send more feedback"})]})]}):m.jsxs(m.Fragment,{children:[m.jsx("p",{className:"mb-4 text-xs text-[#666]",children:"Bugs, feature requests, or anything else. Tell us what's on your mind."}),h&&m.jsxs("div",{className:"mb-4 flex items-start gap-2 rounded-lg border border-red-500/30 bg-red-500/5 px-3 py-2",children:[m.jsx(Gu,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-red-400","aria-hidden":"true"}),m.jsx("p",{className:"text-xs text-red-300",children:h})]}),m.jsxs("label",{className:"block",children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"Your feedback"}),m.jsx("textarea",{autoFocus:!0,value:r,maxLength:zH,onChange:b=>a(b.target.value),rows:5,placeholder:"What's working, what's not, what you'd love to see…",className:"w-full resize-y rounded-lg border border-[#2a2a2a] bg-black px-3 py-2.5 text-sm text-white outline-none transition-colors focus:border-white/50 focus:ring-2 focus:ring-white/10"})]}),m.jsxs("label",{className:"mt-4 block",children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"Your work email"}),m.jsx("input",{type:"email",value:s,onChange:b=>o(b.target.value),placeholder:"you@company.com",className:"w-full rounded-lg border border-[#2a2a2a] bg-black px-3 py-2.5 text-sm text-white outline-none transition-colors focus:border-white/50 focus:ring-2 focus:ring-white/10"})]}),m.jsx("button",{onClick:()=>void g(),disabled:!p,className:"mt-4 flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-white px-4 py-2.5 text-sm font-semibold text-black transition-opacity hover:opacity-90 disabled:opacity-60",children:c==="sending"?"Sending…":"Send feedback"})]})})]})}function BH({text:e,children:t,className:r=""}){const[a,s]=ee.useState(!1);return m.jsxs("span",{className:`relative inline-flex ${r}`,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),onFocus:()=>s(!0),onBlur:()=>s(!1),children:[t,a&&m.jsx("span",{role:"tooltip",className:"pointer-events-none absolute bottom-full left-1/2 z-50 mb-2 w-max max-w-[240px] -translate-x-1/2 rounded-md px-2.5 py-1.5 text-xs text-[#ddd] shadow-lg",style:{border:"1px solid #2a2a2a",background:"#0a0a0a"},children:e})]})}function Ao({label:e,desc:t,slug:r,icon:a,surface:s,href:o=Yu,primary:c=!1}){return m.jsx(BH,{text:t,children:m.jsxs("a",{href:_i(o,r),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr(r,s),className:c?"group inline-flex items-center gap-2 rounded-lg border border-white bg-white px-3 py-2 text-sm font-semibold text-black transition-colors hover:bg-[#e5e5e5]":"group inline-flex items-center gap-2 rounded-lg border border-[#222] bg-[rgba(255,255,255,0.02)] px-3 py-2 text-sm text-[#aaa] transition-colors hover:border-[#444] hover:text-white",children:[m.jsx(a,{className:c?"h-4 w-4 text-black":"h-4 w-4 text-[#888] transition-colors group-hover:text-white","aria-hidden":"true"}),m.jsx("span",{children:e})]})})}const UH="Your findings stay on your machine. They're rendered here locally in your browser and never uploaded or stored by Strix.",L_=["critical","high","medium","low"],HH=500;function $H(){const[e,t]=ee.useState(null),[r,a]=ee.useState(null),[s,o]=ee.useState(null),[c,d]=ee.useState(null),[h,f]=ee.useState("overview"),[p,g]=ee.useState(null),[b,y]=ee.useState(null),[_,N]=ee.useState("report"),[S,w]=ee.useState(!1),[C,E]=ee.useState(!1),A=ee.useCallback(async()=>{try{g(await eH())}catch{}},[]),B=ee.useCallback(async()=>{try{y(await ZU())}catch{}},[]);ee.useEffect(()=>{A(),B(),QU().then(F=>E(F.can_steer)).catch(()=>{})},[A,B]);const R=ee.useRef(!1);ee.useEffect(()=>{let F=!1,D;R.current=!1;const V=()=>{D=setTimeout(q,HH)},q=async()=>{if(!F)try{const{summary:Q,raw:J,finished:W}=await w2(e);if(F)return;if(W&&!R.current){R.current=!0;const fe=await w_(e);F||a(fe);return}const[te,oe]=await Promise.all([N2(e).catch(()=>({agents:[],events:[]})),E2(Q.runId,e).catch(()=>[])]);if(F)return;a(fe=>({summary:Q,raw:J,finished:W,transcript:te,vulnerabilities:oe,reportMarkdown:(fe==null?void 0:fe.reportMarkdown)??null})),V()}catch(Q){if(F)return;o(Q instanceof Error?Q.message:"Could not load run data."),V()}};return(async()=>{try{const Q=await w_(e);if(F)return;a(Q),Q.finished?R.current=!0:V()}catch(Q){if(F)return;o(Q instanceof Error?Q.message:"Could not load run data."),V()}})(),()=>{F=!0,D&&clearTimeout(D)}},[e]);const H=ee.useMemo(()=>r?YU(r.vulnerabilities):null,[r]),z=(r==null?void 0:r.vulnerabilities.find(F=>F.id===c))??null,Y=(r==null?void 0:r.transcript.agents.length)??0,j=(p==null?void 0:p.verified)===!0,I=ee.useMemo(()=>r?XU(r.raw):[],[r]),Z=ee.useMemo(()=>{var D,V;const F=new Set;for(const q of(r==null?void 0:r.transcript.events)??[]){if(q.type!=="tool")continue;const Q=(D=q.data)==null?void 0:D.mcp_connection;typeof Q!="string"||!Q||((V=q.data)==null?void 0:V.status)==="running"&&F.add(Q)}return F},[r]),P=ee.useRef(!1);ee.useEffect(()=>{P.current=!1},[e]),ee.useEffect(()=>{P.current||!r||(r.finished?(P.current=!0,f("overview")):Y>0&&(P.current=!0,f("agents")))},[r,Y]);const k=ee.useCallback(F=>{P.current=!0,f(F)},[]),$=ee.useCallback(F=>{t(F),d(null),a(null),o(null),P.current=!1},[]),O=ee.useCallback((F,D)=>{yr("email_report",D),N("report"),w(F),k("email")},[k]),U=ee.useCallback(()=>O(!1,"sidebar"),[O]),K=ee.useCallback(()=>O(!0,"overview"),[O]),X=ee.useCallback(()=>{B(),k("history")},[B,k]),M=ee.useCallback(async()=>{await A(),await B()},[A,B]),L=ee.useCallback(async()=>{await tH(),await A(),await B()},[A,B]);return m.jsxs("div",{className:"min-h-screen bg-black text-white flex",children:[m.jsx(yH,{view:h,onSelectView:F=>{d(null),F==="history"?X():k(F)},issuesCount:(r==null?void 0:r.vulnerabilities.length)??0,agentCount:Y,mcpConnections:I,mcpInUse:Z,runCount:(b==null?void 0:b.count)??0,finished:(r==null?void 0:r.finished)??!1,verified:j,email:(p==null?void 0:p.email)??null,onOpenEmail:U,onOpenHistory:X,onForget:()=>void L()}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsx("div",{className:"border-b border-[#222]",children:m.jsxs("div",{className:"max-w-[88rem] mx-auto px-3 sm:px-6 py-4 flex items-center gap-1.5",children:[m.jsxs("a",{href:_i("https://app.strix.ai","logo"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("logo","topbar"),className:"flex items-center gap-1.5 opacity-90 transition-opacity hover:opacity-100 lg:hidden",title:"Open Strix Cloud",children:[m.jsx("img",{src:"./logo.png",alt:"Strix",className:"w-10 h-8 object-cover"}),m.jsx("div",{className:"text-base text-white font-medium tracking-tight",children:"Strix"})]}),r&&m.jsx(PH,{finished:r.finished}),m.jsxs("div",{className:"ml-auto flex items-center gap-3",children:[j&&b&&!b.locked&&b.runs.length>0&&m.jsx(qH,{runs:b,activeRun:e,launchedName:yo((r==null?void 0:r.summary.targets[0])??null,(r==null?void 0:r.summary.runName)??(r==null?void 0:r.summary.runId)??"Current run"),onSelect:$}),m.jsxs("a",{href:_i(Yu,"run_in_cloud"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("run_in_cloud","topbar"),className:"inline-flex items-center gap-1 rounded-lg bg-white px-3 py-1.5 text-xs font-semibold text-black transition-opacity hover:opacity-90",children:["Run in the cloud",m.jsx(B_,{className:"w-3 h-3","aria-hidden":"true"})]})]})]})}),m.jsxs("div",{className:"max-w-[88rem] mx-auto px-3 sm:px-6 py-8 sm:py-12 space-y-6",children:[s&&!r&&h!=="history"&&h!=="email"&&m.jsxs("div",{className:"rounded-lg px-4 py-3 flex gap-3 items-start border border-red-500/30 bg-red-500/5",children:[m.jsx(Gu,{className:"w-5 h-5 flex-shrink-0 mt-0.5 text-red-400","aria-hidden":"true"}),m.jsx("p",{className:"text-sm text-red-300",children:s})]}),m.jsx("div",{className:"animate-page-in space-y-6",children:h==="email"?m.jsx(OH,{activeRun:e,auth:p,purpose:_,skipDisclosure:S,onAuthChanged:()=>{A(),B()},onExit:F=>f(F==="history"?"history":"overview")}):h==="feedback"?m.jsx(IH,{defaultEmail:(p==null?void 0:p.email)??null,onExit:F=>f(F)}):h==="history"?m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Ys,{className:"w-5 h-5 text-[#888]","aria-hidden":"true"}),m.jsx("h1",{className:"text-2xl font-semibold text-white",children:"Past runs"})]}),m.jsx(TH,{runs:b,activeRun:e,onSelectRun:$,onVerified:()=>void M()})]}):!r&&!s?m.jsxs("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-10 text-center",children:[m.jsx("div",{className:"w-6 h-6 mx-auto mb-3 rounded-full border-2 border-[#333] border-t-white animate-spin"}),m.jsx("p",{className:"text-sm text-[#888]",children:"Loading run data…"})]}):r&&H?m.jsxs(m.Fragment,{children:[m.jsx(GH,{summary:r.summary}),m.jsxs("div",{className:"flex gap-5 border-b border-[#2a2a2a] lg:hidden",children:[m.jsx(Pm,{active:h==="overview",onClick:()=>k("overview"),children:"Pentest Overview"}),m.jsxs(Pm,{active:h==="issues",onClick:()=>k("issues"),children:["Issues",r.vulnerabilities.length>0?` (${r.vulnerabilities.length})`:""]}),Y>0&&m.jsxs(Pm,{active:h==="agents",onClick:()=>k("agents"),children:["Agents (",Y,")"]})]}),h==="overview"?m.jsx(ZH,{summary:r.summary,counts:H,total:r.vulnerabilities.length,reportMarkdown:r.reportMarkdown,raw:r.raw,finished:r.finished,onOpenEmail:K}):h==="agents"&&Y>0?m.jsx(QH,{run:r,canSteer:C}):z?m.jsxs("div",{className:"space-y-4",children:[m.jsxs("button",{onClick:()=>d(null),className:"cursor-pointer inline-flex items-center gap-1.5 text-sm text-[#888] hover:text-white transition-colors",children:[m.jsx(Ep,{className:"w-4 h-4"})," Back to all findings"]}),m.jsx(xD,{vulnerability:z})]}):m.jsx(VH,{vulnerabilities:r.vulnerabilities,finished:r.finished,onSelect:F=>d(F)})]}):null},`${e??"launched"}:${h}:${c??""}`)]})]}),m.jsx(LH,{message:UH})]})}function qH({runs:e,activeRun:t,launchedName:r,onSelect:a}){const[s,o]=ee.useState(!1),c=e.runs.find(h=>h.name===t),d=c?yo(c.target,c.name):r;return m.jsxs("div",{className:"relative",children:[m.jsxs("button",{onClick:()=>o(h=>!h),onBlur:()=>setTimeout(()=>o(!1),150),"aria-label":"Switch pentest",className:"flex items-center gap-2 rounded-lg border border-[#3a3a3a] bg-[rgba(255,255,255,0.05)] px-3 py-2 text-sm text-white transition-colors hover:border-[#555] hover:bg-[rgba(255,255,255,0.09)]",children:[m.jsx(Ys,{className:"h-4 w-4 flex-shrink-0 text-[#888]","aria-hidden":"true"}),m.jsx("span",{className:"flex-shrink-0 text-[#888]",children:"Pentest"}),m.jsx("span",{className:"max-w-[260px] truncate font-medium",children:d}),m.jsx(po,{className:"h-4 w-4 flex-shrink-0 text-[#aaa]","aria-hidden":"true"})]}),s&&m.jsxs("div",{className:"absolute right-0 z-50 mt-2 max-h-96 w-96 overflow-y-auto rounded-xl py-1.5 shadow-2xl",style:{border:"1px solid #3a3a3a",background:"#0a0a0a"},children:[m.jsx("div",{className:"border-b border-[#222] px-3 py-2 text-[11px] font-semibold uppercase tracking-wide text-[#666]",children:"Switch pentest"}),e.runs.map(h=>{const f=h.name===t;return m.jsxs("button",{onMouseDown:()=>a(h.name),className:`flex w-full items-center gap-2 px-3 py-2.5 text-left text-sm transition-colors hover:bg-[rgba(255,255,255,0.06)] ${f?"bg-[rgba(255,255,255,0.04)] text-white":"text-[#aaa]"}`,children:[m.jsxs("span",{className:"min-w-0 flex-1",children:[m.jsx("span",{className:"block truncate font-medium",children:yo(h.target,h.name)}),h.target&&m.jsx("span",{className:"block truncate font-mono text-xs text-[#666]",children:h.target})]}),f&&m.jsx("span",{className:"h-2 w-2 flex-shrink-0 rounded-full bg-emerald-400"})]},h.name)})]})]})}function PH({finished:e}){return e?m.jsxs("span",{className:"ml-3 inline-flex items-center gap-1.5 text-xs text-[#888]",children:[m.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-[#555]"}),"Complete"]}):m.jsxs("span",{className:"ml-3 inline-flex items-center gap-1.5 text-xs text-emerald-400",children:[m.jsxs("span",{className:"relative flex h-1.5 w-1.5",children:[m.jsx("span",{className:"absolute inline-flex h-full w-full rounded-full bg-emerald-400 opacity-75 animate-ping"}),m.jsx("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-emerald-400"})]}),"Live"]})}function FH(e){if(e==null)return null;if(e<60)return`${e}s`;const t=Math.floor(e/60);return t<60?`${t}m`:`${Math.floor(t/60)}h ${t%60}m`}function GH({summary:e}){const t=FH(e.durationSeconds);return m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:yo(e.targets[0]??null,e.runName??e.runId??"Pentest results")}),m.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-sm text-[#888]",children:[e.targets.length>0&&m.jsx("span",{className:"font-mono text-[#aaa]",children:e.targets.join(", ")}),e.scanMode&&m.jsx(qm,{label:e.scanMode}),t&&m.jsx(qm,{label:t}),e.status&&m.jsx(qm,{label:e.status})]})]})}function qm({label:e}){return m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-[#333]",children:"·"}),m.jsx("span",{className:"capitalize",children:e})]})}function VH({vulnerabilities:e,finished:t,onSelect:r}){const a=[...e].sort((s,o)=>L_.indexOf(s.severity)-L_.indexOf(o.severity));return a.length===0?m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-8 text-center text-sm text-[#888]",children:t?"No findings in this run.":"No findings yet. The pentest is still running…"}),t&&m.jsxs("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:[m.jsx("p",{className:"text-sm font-medium text-white",children:"Stay ahead of new exposures"}),m.jsx("p",{className:"mt-0.5 mb-3 text-xs text-[#666]",children:"Attack surface monitoring catches new exposures for your org over time."}),m.jsx(Ao,{label:"Attack surface monitoring",desc:"Continuous coverage for your whole org.",slug:"asm",surface:"empty_state",icon:uT})]})]}):m.jsx("div",{className:"space-y-2",children:a.map(s=>m.jsxs("button",{onClick:()=>r(s.id),className:"animate-card-in cursor-pointer w-full text-left rounded-lg border border-[#222] hover:border-[#444] bg-[rgba(255,255,255,0.02)] px-4 py-3 transition-colors flex items-center gap-3",children:[m.jsx("span",{className:`w-2.5 h-2.5 rounded-full flex-shrink-0 ${Cp(s.severity)}`,"aria-hidden":"true"}),m.jsxs("span",{className:"flex-1 min-w-0",children:[m.jsx("span",{className:"block text-sm font-medium text-white truncate",children:s.title}),s.target&&m.jsx("span",{className:"block text-xs text-[#666] font-mono truncate",children:s.target})]}),m.jsx("span",{className:`text-xs font-semibold px-2 py-0.5 rounded-full border capitalize ${ew[s.severity]}`,children:s.severity})]},s.id))})}function YH(e){return e.replace(/^\s*#{1,6}[ \t]+.*(?:\r?\n)+/,"").trimStart()}function XH(e){const t=[];let r=null;for(const a of e.split(` +`)}function tU({args:e,result:t}){const r=e.action??"",a=e.code??e.script??"",s=t;let o=null;s&&typeof s=="object"?o=typeof s.stdout=="string"?s.stdout:null:typeof s=="string"&&(o=s);const c=r==="new_session"?"new session":r==="close"?"close session":r==="list_sessions"?"list sessions":null,d=o?eU(J7(o)):null;return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-yellow-400/80 font-semibold text-sm",children:"Python"}),c&&m.jsx("span",{className:"text-[#888] text-[13px]",children:c})]}),a&&m.jsx(bg,{code:a,language:"python",collapsible:!0}),d&&m.jsx(Ei,{className:"text-[#666]",children:d})]})}function nU({args:e}){const t=e.targets,a=(Array.isArray(t)?t:[]).map(s=>typeof s=="object"&&s?s.original??null:null).filter(Boolean);return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-emerald-400/80 font-semibold text-sm",children:"Starting penetration test"}),a.length===1&&m.jsxs("span",{className:"text-[#888] text-[13px]",children:["on ",a[0]]})]}),a.length>1&&m.jsx("div",{className:"mt-1.5 space-y-0.5",children:a.map((s,o)=>m.jsxs("div",{className:"text-[13px] text-[#888]",children:[m.jsx("span",{className:"text-[#555] mr-1",children:"•"}),s]},o))})]})}function rU({args:e}){const t=e.name??"Unknown Agent",r=e.task??"";return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-[#888] text-[13px]",children:"subagent"}),m.jsx("span",{className:"text-purple-400 font-semibold text-sm",children:t})]}),r&&m.jsx("div",{className:"mt-1.5",children:m.jsx(qt,{text:r,maxLines:15})})]})}function iU(e){return e.toolName==="subagent_start_info"?m.jsx(rU,{...e}):m.jsx(nU,{...e})}function aU({args:e}){const t=e.executive_summary??"",r=e.methodology??"",a=e.technical_analysis??"",s=e.recommendations??"";return m.jsxs("div",{className:"space-y-3",children:[m.jsx("span",{className:"text-emerald-400/80 font-semibold text-sm",children:"Penetration test completed"}),t&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Executive Summary"}),m.jsx("div",{className:"mt-1",children:m.jsx(qt,{text:t,maxLines:25})})]}),r&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Methodology"}),m.jsx("div",{className:"mt-1",children:m.jsx(qt,{text:r,maxLines:25})})]}),a&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Technical Analysis"}),m.jsx("div",{className:"mt-1",children:m.jsx(qt,{text:a,maxLines:25})})]}),s&&m.jsxs("div",{children:[m.jsx("span",{className:"text-emerald-400/60 text-sm font-semibold",children:"Recommendations"}),m.jsx("div",{className:"mt-1",children:m.jsx(qt,{text:s,maxLines:25})})]}),!t&&!r&&!a&&!s&&m.jsx("div",{className:"text-[#555] text-xs",children:"Generating final report..."})]})}function sU({toolName:e,args:t,result:r}){if(e==="create_note"){const a=t.title??"",s=t.content??"",o=t.category??"general";return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"note"}),m.jsxs("span",{className:"text-[#555] text-[13px]",children:["(",o,")"]})]}),a&&m.jsx("div",{className:"mt-1.5 text-[#999] text-[13px]",children:a}),s&&m.jsx("div",{className:"mt-1",children:m.jsx(da,{text:s})})]})}if(e==="delete_note")return m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"note removed"});if(e==="update_note"){const a=t.title??"",s=t.content??"";return m.jsxs("div",{children:[m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"note updated"}),a&&m.jsx("div",{className:"mt-1.5 text-[#999] text-[13px]",children:a}),s&&m.jsx("div",{className:"mt-1",children:m.jsx(da,{text:s})})]})}if(e==="get_note"){const a=r,s=a&&typeof a=="object"&&a.success?a.note:void 0;return m.jsxs("div",{children:[m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"note read"}),s&&m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"mt-1.5 text-[#999] text-[13px]",children:[s.title??"(untitled)",m.jsxs("span",{className:"text-[#555] ml-1",children:["(",s.category??"general",")"]}),(s.by_you||s.agent_name)&&m.jsxs("span",{className:"text-[#666] ml-1 text-xs",children:["by ",s.by_you?"you":s.agent_name]})]}),s.content&&m.jsx("div",{className:"mt-1",children:m.jsx(da,{text:s.content})})]})]})}if(e==="list_notes"){const a=r;let s=[];if(a&&typeof a=="object"&&a.success){const o=a.notes;s=Array.isArray(o)?o:[]}return m.jsxs("div",{children:[m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"notes"}),s.length>0?m.jsx("div",{className:"mt-1.5 space-y-0.5",children:s.map((o,c)=>m.jsxs("div",{className:"text-[13px]",children:[m.jsx("span",{className:"text-[#555] mr-1",children:"-"}),m.jsx("span",{className:"text-[#999]",children:o.title??"(untitled)"}),m.jsxs("span",{className:"text-[#555] ml-1",children:["(",o.category??"general",")"]}),(o.by_you||o.agent_name)&&m.jsxs("span",{className:"text-[#666] ml-1 text-xs",children:["by ",o.by_you?"you":o.agent_name]}),o.content&&m.jsx("div",{className:"ml-3",children:m.jsx(da,{text:o.content})})]},c))}):m.jsx("div",{className:"mt-1 text-[#555] text-xs",children:"No notes"})]})}return m.jsx("span",{className:"text-amber-400/80 font-semibold text-sm",children:"note"})}const lU={create_todo:{label:"Task added",Icon:Z_},list_todos:{label:"Plan",Icon:sC},update_todo:{label:"Task updated",Icon:sT},mark_todo_done:{label:"Task completed",Icon:P_},mark_todo_pending:{label:"Task reopened",Icon:pT},delete_todo:{label:"Task removed",Icon:MT}};function oU({status:e}){return e==="done"?m.jsx(P_,{className:"w-3.5 h-3.5 text-emerald-400/70 shrink-0"}):e==="in_progress"?m.jsx(bC,{className:"w-3.5 h-3.5 text-purple-400/70 shrink-0 animate-pulse"}):m.jsx(F_,{className:"w-3.5 h-3.5 text-[#444] shrink-0"})}function cU({todos:e,highlightId:t}){return m.jsx("div",{className:"space-y-0",children:e.map((r,a)=>{const s=r.status??"pending",o=t&&r.id===t;return m.jsxs("div",{className:`flex items-start gap-2.5 py-1.5 px-2 -mx-2 rounded-md transition-colors ${o?"bg-purple-500/[0.08]":""}`,children:[m.jsx("div",{className:"mt-[1px]",children:m.jsx(oU,{status:s})}),m.jsx("span",{className:`text-[13px] leading-snug ${s==="done"?"text-[#555] line-through":s==="in_progress"?"text-[#bbb]":"text-[#999]"}`,children:r.title??"(untitled)"})]},r.id??a)})})}function uU({toolName:e,args:t,result:r}){const a=lU[e]??{label:"Plan",Icon:fT},s=a.Icon,o=r;if(typeof o=="string"&&o.trim())return m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(s,{className:"w-3.5 h-3.5 text-purple-400/60"}),m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:a.label})]}),m.jsx("div",{className:"mt-1.5 text-[#888] text-[13px]",children:o.trim()})]});let c=[],d=null,h;if(o&&typeof o=="object"){if(d=o.error??null,o.success){const p=o.todos;c=Array.isArray(p)?p:[]}h=o.id??t.todo_id??void 0}const f=e!=="list_todos"?h:void 0;return c.length===0&&!d?m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(s,{className:"w-3.5 h-3.5 text-purple-400/60"}),m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:a.label})]}):m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[m.jsx(s,{className:"w-3.5 h-3.5 text-purple-400/60"}),m.jsx("span",{className:"text-purple-400/80 font-semibold text-sm",children:a.label})]}),d&&m.jsx("div",{className:"text-red-400/70 text-[13px] mb-2",children:d}),c.length>0&&m.jsx("div",{className:"rounded-lg border border-white/[0.06] bg-white/[0.015] px-3 py-2",children:m.jsx(cU,{todos:c,highlightId:f})})]})}function b_(e){if(e==null)return null;if(typeof e=="string")return e.trim()?e:null;if(typeof e=="object"){const t=e;if(typeof t.__raw=="string")return t.__raw;if(Object.keys(t).length===0)return null;try{return JSON.stringify(e,null,2)}catch{return String(e)}}return String(e)}function x2({toolName:e,args:t,result:r}){const a=b_(t),s=b_(r);return m.jsxs("div",{children:[m.jsx("span",{className:"text-[#888] font-semibold text-sm",children:e.replace(/_/g," ")}),a&&m.jsx(Ei,{className:"text-[#777]",children:a}),s&&m.jsx(Ei,{className:"text-[#666]",children:s})]})}function dU({args:e}){const t=e.skills,r=(Array.isArray(t)?t:String(t??"").split(",")).map(a=>String(a).trim()).filter(Boolean);return m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"text-emerald-400/80 font-semibold text-sm",children:"Loading skill"}),r.length>0&&m.jsx("span",{className:"text-[#888] text-[13px]",children:r.join(", ")})]})}function fU({args:e}){const t=e.message??"";return t?m.jsxs("div",{children:[m.jsx(da,{text:t}),m.jsx("div",{className:"mt-1.5 text-[#888] text-[13px]",children:"waiting for your reply"})]}):null}const hU={reported:{label:"reported",color:"text-orange-400",Icon:Sp},no_issue_found:{label:"no issue found",color:"text-emerald-400",Icon:Nu},ruled_out:{label:"ruled out",color:"text-emerald-400/70",Icon:Nu},not_applicable:{label:"not applicable",color:"text-[#777]",Icon:wC},needs_follow_up:{label:"needs follow-up",color:"text-yellow-400",Icon:vC}},mU=["reported","needs_follow_up","no_issue_found","ruled_out","not_applicable"];function mo(e){const t=(e??"").trim().toLowerCase();return hU[t]??{label:t?t.replace(/_/g," "):"unrecorded",color:"text-[#777]",Icon:F_}}const pU={record_coverage:"Coverage recorded",update_coverage:"Coverage updated",list_coverage:"Coverage"};function xu({toolName:e}){return m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(G_,{className:"w-3.5 h-3.5 text-cyan-400/60"}),m.jsx("span",{className:"text-cyan-400/80 font-semibold text-sm",children:pU[e]??"Coverage"})]})}function gU({entry:e}){const{label:t,color:r,Icon:a}=mo(e.outcome),s=(e.previous_outcomes??[]).map(o=>mo(o).label).filter(Boolean);return m.jsxs("div",{className:"flex items-start gap-2.5 py-1.5",children:[m.jsx(a,{className:`w-3.5 h-3.5 shrink-0 mt-[2px] ${r}`}),m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"text-[13px] leading-snug",children:[m.jsx("span",{className:"text-[#bbb]",children:e.surface??"(unnamed surface)"}),e.risk_area&&m.jsxs("span",{className:"text-[#666]",children:[" · ",e.risk_area]})]}),m.jsxs("div",{className:"text-xs mt-0.5",children:[m.jsx("span",{className:r,children:t}),s.length>0&&m.jsxs("span",{className:"text-[#555]",children:[" (was ",s.join(" → "),")"]}),(e.by_you||e.agent_name)&&m.jsxs("span",{className:"text-[#555]",children:[" · ",e.by_you?"you":e.agent_name]})]}),e.evidence&&m.jsx("div",{className:"text-[#777] text-xs mt-1 leading-snug",children:e.evidence})]})]})}function xU({toolName:e,args:t,result:r}){const a=r;if(typeof a=="string"&&a.trim())return m.jsxs("div",{children:[m.jsx(xu,{toolName:e}),m.jsx("div",{className:"mt-1.5 text-[#888] text-[13px]",children:a.trim()})]});const s=a&&typeof a=="object"?a:null,o=t.surface??"",c=t.risk_area??"",d=t.evidence??"";if(s&&!s.success)return m.jsxs("div",{children:[m.jsx(xu,{toolName:e}),(o||c)&&m.jsxs("div",{className:"mt-1.5 text-[13px] text-[#bbb]",children:[o,c&&m.jsxs("span",{className:"text-[#666]",children:[" · ",c]})]}),m.jsx("div",{className:"mt-1 text-red-400/70 text-[13px]",children:s.error??"Coverage call failed"})]});if(e==="list_coverage"){const y=s==null?void 0:s.entries,_=Array.isArray(y)?y:[],N=(s==null?void 0:s.outcome_counts)??{},S=(s==null?void 0:s.total_count)??0;return m.jsxs("div",{children:[m.jsx(xu,{toolName:e}),Object.keys(N).length>0&&m.jsx("div",{className:"mt-2 flex items-center gap-3 flex-wrap",children:mU.filter(w=>N[w]).map(w=>{const{label:C,color:E}=mo(w);return m.jsxs("span",{className:`text-xs ${E}`,children:[C,": ",N[w]]},w)})}),_.length>0?m.jsx("div",{className:"mt-2 rounded-lg border border-white/[0.06] bg-white/[0.015] px-3 py-1 divide-y divide-white/[0.04]",children:_.map((w,C)=>m.jsx(gU,{entry:w},w.entry_id??C))}):m.jsx("div",{className:"mt-1.5 text-[#555] text-xs",children:S===0?"No surfaces recorded yet":"No surfaces match this filter"})]})}const h=(s==null?void 0:s.outcome)??"",f=(s==null?void 0:s.previous_outcome)??"",{label:p,color:g,Icon:b}=mo(h);return m.jsxs("div",{children:[m.jsx(xu,{toolName:e}),m.jsxs("div",{className:"mt-2 flex items-start gap-2.5",children:[m.jsx(b,{className:`w-3.5 h-3.5 shrink-0 mt-[2px] ${g}`}),m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"text-[13px] leading-snug text-[#bbb]",children:[o||(s!=null&&s.entry_id?`entry ${s.entry_id}`:"(unnamed surface)"),c&&m.jsxs("span",{className:"text-[#666]",children:[" · ",c]})]}),m.jsxs("div",{className:"text-xs mt-0.5",children:[f&&m.jsxs("span",{className:"text-[#666]",children:[mo(f).label," → "]}),m.jsx("span",{className:g,children:p})]}),d&&m.jsx("div",{className:"text-[#777] text-xs mt-1 leading-snug",children:d})]})]})]})}const bU={get_threat_model:{label:"Threat model",Icon:Vu},save_threat_model:{label:"Threat model saved",Icon:xT},amend_threat_model:{label:"Threat model amended",Icon:Z_}};function yU({toolName:e,args:t,result:r}){const a=bU[e]??{label:"Threat model",Icon:Vu},s=a.Icon,o=t.target??"",c=r,d=m.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[m.jsx(s,{className:"w-3.5 h-3.5 text-blue-400/60"}),m.jsx("span",{className:"text-blue-400/80 font-semibold text-sm",children:a.label}),o&&m.jsx("span",{className:"text-[#666] font-mono text-xs",children:o})]});if(typeof c=="string"&&c.trim())return m.jsxs("div",{children:[d,m.jsx("div",{className:"mt-1.5 text-[#888] text-[13px]",children:c.trim()})]});const h=c&&typeof c=="object"?c:null;if(h&&!h.success)return m.jsxs("div",{children:[d,m.jsx("div",{className:"mt-1.5 text-red-400/70 text-[13px]",children:h.error??"Threat model call failed"})]});if(e==="get_threat_model"){if(h&&!h.found)return m.jsxs("div",{children:[d,m.jsx("div",{className:"mt-1.5 text-[#555] text-xs",children:"No model derived for this target yet"})]});const g=h==null?void 0:h.amendments,b=Array.isArray(g)?g:[];return m.jsxs("div",{children:[d,b.length>0&&m.jsxs("div",{className:"mt-2",children:[m.jsxs("span",{className:"text-amber-400/70 text-xs font-semibold",children:[b.length," amendment",b.length===1?"":"s"]}),m.jsx("span",{className:"text-[#555] text-xs",children:" — later statements win"}),m.jsx("div",{className:"mt-1 space-y-1",children:b.map((y,_)=>m.jsxs("div",{className:"text-xs leading-snug",children:[m.jsx("span",{className:"text-[#666]",children:y.agent_name??"unknown agent"}),y.content&&m.jsxs("span",{className:"text-[#999]",children:[": ",y.content]})]},_))})]}),typeof(h==null?void 0:h.content)=="string"&&h.content.trim()&&m.jsx("div",{className:"mt-2",children:m.jsx(qt,{text:h.content,maxLines:14})})]})}if(e==="amend_threat_model"){const g=t.addendum??"",b=h==null?void 0:h.amendment_count;return m.jsxs("div",{children:[d,b!=null&&m.jsxs("div",{className:"mt-1.5 text-[#666] text-xs",children:[b," amendment",b===1?"":"s"," on this model"]}),g&&m.jsx("div",{className:"mt-1.5",children:m.jsx(qt,{text:g,maxLines:10})})]})}const f=(h==null?void 0:h.amendments_cleared)??0,p=t.content??"";return m.jsxs("div",{children:[d,f>0&&m.jsxs("div",{className:"mt-1.5 flex items-center gap-1.5 text-yellow-400/80 text-xs",children:[m.jsx(Sp,{className:"w-3 h-3 shrink-0"}),m.jsxs("span",{children:["cleared ",f," amendment",f===1?"":"s"]})]}),p&&m.jsx("div",{className:"mt-2",children:m.jsx(qt,{text:p,maxLines:14})})]})}function vU(e){return!e||typeof e!="object"||Array.isArray(e)?[]:Object.entries(e).map(([t,r])=>{const a=typeof r=="string"?r:JSON.stringify(r);return`${t}: ${a??String(r)}`})}function _U(e){let t=e;if(typeof t=="string")try{t=JSON.parse(t)}catch{return[]}const r=t&&typeof t=="object"&&!Array.isArray(t)?t.connections:null;return Array.isArray(r)?r.flatMap(a=>{if(!a||typeof a!="object"||Array.isArray(a))return[];const s=a,o=typeof s.name=="string"&&s.name.trim()?s.name.trim():typeof s.id=="string"?s.id.trim():"";if(!o)return[];const c=typeof s.tool_count=="number"?s.tool_count:null,d=s.dead===!0;return[{name:o,toolCount:c,dead:d}]}):[]}const y_=600;function wU(e){if(typeof e=="string"){const t=e.trim();return t?t.length>y_?`${t.slice(0,y_)}…`:t:null}return null}function EU({toolName:e,mcpTool:t,mcpConnection:r,args:a,result:s,status:o}){const c=vU(a),d=o==="failed"||o==="error",h=d?wU(s):null,f=e==="describe_mcp",p=e==="list_mcps",g=p?_U(s):[];return m.jsxs("div",{children:[m.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:p?m.jsx("span",{className:"text-[13px] text-[#555]",children:"Listing connected MCP servers"}):f?m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-[13px] text-[#555]",children:"Inspecting MCP server"}),r&&m.jsx("span",{className:"font-mono text-teal-300 font-semibold text-sm",children:r})]}):m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"font-mono text-teal-300 font-semibold text-sm",children:t||e}),m.jsx("span",{className:"text-[13px] text-[#555]",children:"via MCP server"}),r&&m.jsx("span",{className:"text-[13px] text-teal-400/80",children:r})]})}),c.length>0&&m.jsx("div",{className:"mt-1 font-mono text-[13px] leading-relaxed",children:c.map(b=>m.jsx("div",{className:"text-[#777] break-all",children:b},b))}),g.length>0&&m.jsx("div",{className:"mt-1 font-mono text-[13px] leading-relaxed",children:g.map(b=>m.jsxs("div",{className:`break-all${b.dead?" opacity-50":""}`,children:[m.jsx("span",{className:"text-teal-300",children:b.name}),b.dead?m.jsx("span",{className:"text-red-400/80",children:" · offline"}):b.toolCount!==null&&m.jsxs("span",{className:"text-[#555]",children:[" ","· ",b.toolCount," ",b.toolCount===1?"tool":"tools"]})]},b.name))}),m.jsxs("div",{className:"mt-1 text-[13px]",children:[o==="running"&&m.jsx("span",{className:"text-[#666]",children:"Running"}),o==="completed"&&m.jsx("span",{className:"text-emerald-400/80",children:"✓ Done"}),d&&m.jsx("span",{className:"text-red-400/80",children:"✗ Failed"})]}),h&&m.jsx("pre",{className:"mt-1 font-mono text-[13px] leading-relaxed whitespace-pre-wrap break-words text-red-400/70",children:h})]})}const Ga={terminal:{renderer:g7,icon:J_,color:"text-emerald-400"},python:{renderer:tU,icon:CC,color:"text-yellow-400"},browser:{renderer:b7,icon:X_,color:"text-blue-400"},filesystem:{renderer:y7,icon:DC,color:"text-sky-400"},proxy:{renderer:G7,icon:B_,color:"text-purple-400",match:/request|sitemap|scope/},reporting:{renderer:R7,icon:_T,color:"text-red-400"},thinking:{renderer:V7,icon:H_,color:"text-purple-400"},agents:{renderer:Y7,icon:Ro,color:"text-cyan-400",match:/agent/},search:{renderer:X7,icon:yT,color:"text-amber-400"},lifecycle:{renderer:iU,icon:Y_,color:"text-emerald-400"},notes:{renderer:sU,icon:CT,color:"text-amber-400",match:/note/},skills:{renderer:dU,icon:Gm,color:"text-emerald-400"},todos:{renderer:uU,icon:QC,color:"text-purple-400",match:/todo/},coverage:{renderer:xU,icon:G_,color:"text-cyan-400",match:/coverage/},threatModel:{renderer:yU,icon:Vu,color:"text-blue-400",match:/threat_model/},telemetry:{renderer:x2,icon:Gm,color:"text-[#555]"},mcp:{renderer:EU,icon:K_,color:"text-teal-400"}},NU={terminal:["exec_command","write_stdin","terminal_execute"],python:["python_action"],browser:["browser_action"],filesystem:["apply_patch","view_image","str_replace_editor","list_files","search_files"],proxy:["list_requests","view_request","repeat_request","list_sitemap","view_sitemap_entry","scope_rules","send_request"],reporting:["create_vulnerability_report","update_vulnerability_report","delete_vulnerability_report","list_reports","get_report"],thinking:["think"],agents:["create_agent","agent_finish","send_message_to_agent","wait_for_agents","view_agent_graph","stop_agent"],search:["web_search"],lifecycle:["scan_start_info","subagent_start_info","finish_scan","respond_to_user"],notes:["create_note","delete_note","update_note","list_notes","get_note"],skills:["load_skill"],todos:["create_todo","list_todos","update_todo","mark_todo_done","mark_todo_pending","delete_todo"],coverage:["record_coverage","update_coverage","list_coverage"],threatModel:["get_threat_model","save_threat_model","amend_threat_model"],telemetry:["sandbox_error_details","llm_error_details"],mcp:["list_mcps"]},SU=Object.fromEntries(Object.entries(NU).flatMap(([e,t])=>t.map(r=>[r,e]))),kU={finish_scan:aU,respond_to_user:fU,apply_patch:k7,view_image:A7,list_reports:m_,get_report:m_,delete_vulnerability_report:D7},CU={agent_finish:{icon:Y_,color:"text-cyan-400"},send_message_to_agent:{icon:yh,color:"text-cyan-400"},wait_for_agents:{icon:yh,color:"text-cyan-400"},respond_to_user:{icon:yh,color:"text-emerald-400"},view_agent_graph:{icon:RC,color:"text-cyan-400"},stop_agent:{icon:U_,color:"text-red-400"},scan_start_info:{icon:Vu,color:"text-emerald-400"},subagent_start_info:{icon:Ro,color:"text-purple-400"},view_image:{icon:YC,color:"text-sky-400"}},TU=Ga.telemetry;function b2(e){var r;const t=SU[e];if(t)return t;for(const[a,s]of Object.entries(Ga))if((r=s.match)!=null&&r.test(e))return a;return null}function AU(e,t){if(t)return Ga.mcp.renderer;const r=kU[e];if(r)return r;const a=b2(e);return a?Ga[a].renderer:x2}function MU(e,t){if(t)return{icon:Ga.mcp.icon,color:Ga.mcp.color};const r=CU[e];if(r)return r;const a=b2(e),s=a?Ga[a]:TU;return{icon:s.icon,color:s.color}}const OU=30;function RU({role:e,content:t}){const r=e==="user"||e==="human";return m.jsxs("div",{children:[m.jsx("span",{className:`font-semibold text-sm ${r?"text-blue-400/80":"text-purple-400/80"}`,children:r?"User":"Thinking"}),m.jsx("div",{className:"mt-1.5 italic text-[#888]",children:m.jsx(qt,{text:t,maxLines:OU})})]})}class jU extends ee.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}render(){return this.state.hasError?m.jsx("span",{className:"text-[#555] font-semibold text-sm",children:this.props.toolName.replace(/_/g," ")}):this.props.children}}function DU(e){const t=AU(e.toolName,e.mcpConnection);return m.jsx(jU,{toolName:e.toolName,children:m.jsx(t,{...e})})}function y2(e){if(e==null||typeof e!="string")return e;const t=e.trim();if(!t)return e;try{return JSON.parse(t)}catch{}try{const r=t.replace(/\bNone\b/g,"null").replace(/\bTrue\b/g,"true").replace(/\bFalse\b/g,"false").replace(/'/g,'"');return JSON.parse(r)}catch{return{__raw:e}}}function v_(e){return typeof e=="string"&&e?e:null}function v2(e){const t=y2(e);return t&&typeof t=="object"&&!Array.isArray(t)?t:t==null?{}:{__raw:typeof t=="string"?t:JSON.stringify(t)}}function __(e){const t=/(\d+)$/.exec(e);return t?parseInt(t[1],10):0}function _g(e){var r;const t=(r=e.data)==null?void 0:r.role;return e.type==="chat"&&(t==="user"||t==="human")}function LU(e){var t;return _g(e)&&String(((t=e.data)==null?void 0:t.content)??"").startsWith("[Message from ")}function zU(e){const t=new Set;let r=!1;for(const a of e)if(_g(a)){if(LU(a)){t.add(a.id);continue}r||(r=!0,t.add(a.id))}return t}const IU={completed:"text-emerald-400 border-emerald-500/30 bg-emerald-500/10",running:"text-blue-400 border-blue-500/30 bg-blue-500/10",waiting:"text-yellow-400 border-yellow-500/30 bg-yellow-500/10",stopped:"text-[#aaa] border-[#333] bg-[#1a1a1a]",crashed:"text-red-400 border-red-500/30 bg-red-500/10",failed:"text-red-400 border-red-500/30 bg-red-500/10"};function BU(e){return e==="completed"?"completed":e==="running"?"running":e==="failed"||e==="crashed"?"failed":e}function UU(e,t){var d;const r=new Map;for(const h of e)if(h.parent_id){const f=r.get(h.parent_id)??[];f.push(h.id),r.set(h.parent_id,f)}const a=new Map,s=new Map,o=new Map;for(const h of t)if(h.type==="tool"){if(a.set(h.agent_id,(a.get(h.agent_id)??0)+1),((d=h.data)==null?void 0:d.tool_name)==="create_agent"){const f=v2(h.data.args),p=f.name??f.agent_name??"",g=f.task??"";p&&g&&o.set(p,g)}}else _g(h)||s.set(h.agent_id,(s.get(h.agent_id)??0)+1);const c=new Map;for(const h of e)c.set(h.id,{id:h.id,name:h.name,task:o.get(h.name)??"",status:BU(h.status),parentId:h.parent_id,children:r.get(h.id)??[],createdAt:h.created_at,toolCount:a.get(h.id)??0,messageCount:s.get(h.id)??0});return c}function HU({agent:e,events:t,showHeader:r=!0}){const a=ee.useMemo(()=>{const c=t.filter(h=>h.agent_id===e.id).sort((h,f)=>__(h.id)-__(f.id)),d=zU(c);return c.filter(h=>!d.has(h.id))},[t,e.id]),s=a.filter(c=>c.type==="tool").length,o=a.length-s;return m.jsxs("div",{children:[r&&m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-1",children:[m.jsx("span",{className:"text-base font-semibold text-white truncate",children:e.name}),m.jsx("span",{className:`flex-shrink-0 text-xs font-medium capitalize px-2 py-0.5 rounded-full border ${IU[e.status]??"text-[#aaa] border-[#333] bg-[#1a1a1a]"}`,children:e.status}),m.jsx("span",{className:"font-mono text-xs text-[#555]",children:e.id})]}),m.jsxs("p",{className:"text-xs text-[#666] mb-4",children:[o," message",o===1?"":"s"," · ",s," tool call",s===1?"":"s"]})]}),a.length===0?m.jsx("p",{className:"text-sm text-[#666]",children:"No recorded activity for this agent."}):m.jsx("div",{className:"py-1",children:a.map((c,d)=>{var w,C,E,A,B,R,H,z;const h=d===a.length-1,f=c.type==="tool",p=f?String(((w=c.data)==null?void 0:w.tool_name)??"tool"):"",g=f?"":String(((C=c.data)==null?void 0:C.role)??"assistant"),b=v_((E=c.data)==null?void 0:E.mcp_connection),y=v_((A=c.data)==null?void 0:A.mcp_tool);let _,N;if(f){const Y=MU(p,b);_=Y.icon,N=Y.color}else{const Y=g==="user"||g==="human";_=Y?Ro:H_,N=Y?"text-blue-400":"text-purple-400"}const S=f?String(((B=c.data)==null?void 0:B.status)??"completed"):"completed";return m.jsxs("div",{className:"flex gap-3",children:[m.jsxs("div",{className:"flex flex-col items-center shrink-0",children:[m.jsx("div",{className:`w-[30px] h-[30px] rounded-full bg-black border flex items-center justify-center shrink-0 ${f&&S==="running"?"border-blue-500/40 animate-pulse":f&&S==="failed"?"border-red-500/30":"border-[#222]"}`,children:m.jsx(_,{className:`w-3.5 h-3.5 ${N}`})}),!h&&m.jsx("div",{className:"w-px flex-1 bg-[#1a1a1a] mt-1"})]}),m.jsx("div",{className:"flex-1 min-w-0 pt-[5px] pb-6",children:f?m.jsx(DU,{toolName:p,mcpConnection:b,mcpTool:y,args:v2((R=c.data)==null?void 0:R.args),result:y2((H=c.data)==null?void 0:H.result)??null,status:S}):m.jsx(RU,{role:g,content:String(((z=c.data)==null?void 0:z.content)??"")})})]},c.id)})})]})}class qu extends Error{constructor(t){super(t),this.name="RunParseError"}}const $U=["critical","high","medium","low"];function qU(e){const t=String(e??"").toLowerCase().trim();return $U.includes(t)?t:"low"}function PU(e){if(typeof e=="string"&&e.trim()){const t=e.trim().replace(" UTC","Z").replace(" ","T"),r=new Date(t);if(!Number.isNaN(r.getTime()))return r.toISOString();const a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return new Date().toISOString()}function Ot(e){return typeof e=="string"&&e.length>0?e:null}function FU(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function _2(e,t){try{return JSON.parse(e)}catch{throw new qu(`${t} isn't valid JSON. Make sure you selected a Strix run directory.`)}}function GU(e){const t=_2(e,"run.json");if(!t||typeof t!="object"||Array.isArray(t))throw new qu("run.json is not an object.");const r=t,a=[],s=r.targets_info;if(Array.isArray(s)){for(const y of s)if(y&&typeof y=="object"){const _=y.original;typeof _=="string"&&_&&a.push(_)}}const o=Ot(r.start_time),c=Ot(r.end_time);let d=null;if(o&&c){const y=new Date(o).getTime(),_=new Date(c).getTime();!Number.isNaN(y)&&!Number.isNaN(_)&&_>=y&&(d=Math.round((_-y)/1e3))}let h=null,f=null,p=null,g=null;const b=r.scan_results;if(b&&typeof b=="object"){const y=b;h=Ot(y.executive_summary),f=Ot(y.technical_analysis),p=Ot(y.methodology),g=Ot(y.recommendations)}return{runId:Ot(r.run_id),runName:Ot(r.run_name),targets:a,scanMode:Ot(r.scan_mode),status:Ot(r.status),startTime:o,endTime:c,durationSeconds:d,executiveSummary:h,technicalAnalysis:f,methodology:p,recommendations:g}}function VU(){return{pr_review_id:null,cve:null,cvss:null,potential_risk_saving:null,risk_saving_description:null,impact:null,endpoint:null,method:null,target:null,technical_analysis:null,poc_description:null,poc_script_code:null,code_diff:null,code_file:null,code_before:null,code_after:null,cwe:null,code_locations:null,remediation_steps:null,fix_pr_body:null,evidence:null,assumptions:null,fix_effort:null,cvss_breakdown:null,status_changed_at:null,status_changed_by:null,status_note:null,snoozed_until:null,reopened_at:null,reopened_by:null,original_severity:null,severity_changed_at:null,severity_changed_by:null,severity_override_reason:null,retest_of_vulnerability_id:null}}function YU(e,t,r){const a=e.cwe,s=typeof a=="string"&&a.trim()?[a.trim()]:Array.isArray(a)?a.filter(c=>typeof c=="string"&&c):null;return{...VU(),id:Ot(e.id)??`vuln-${t+1}`,scan_id:r,title:Ot(e.title)??"Untitled finding",description:Ot(e.description)??"",severity:qU(e.severity),status:"open",created_at:PU(e.timestamp),cve:Ot(e.cve),cvss:FU(e.cvss),impact:Ot(e.impact),endpoint:Ot(e.endpoint),method:Ot(e.method),target:Ot(e.target),technical_analysis:Ot(e.technical_analysis),poc_description:Ot(e.poc_description),poc_script_code:Ot(e.poc_script_code),cwe:s,code_locations:Array.isArray(e.code_locations)?e.code_locations:null,remediation_steps:Ot(e.remediation_steps),fix_pr_body:Ot(e.fix_pr_body),evidence:Ot(e.evidence),assumptions:Ot(e.assumptions),fix_effort:Ot(e.fix_effort)??null,cvss_breakdown:e.cvss_breakdown??null}}function XU(e,t=null){const r=_2(e,"vulnerabilities.json");if(!Array.isArray(r))throw new qu("vulnerabilities.json is not a JSON array.");return r.map((a,s)=>{if(!a||typeof a!="object")throw new qu(`vulnerabilities.json entry #${s+1} is not an object.`);return YU(a,s,t)})}function KU(e){const t={critical:0,high:0,medium:0,low:0};for(const r of e)t[r.severity]+=1;return t}function ZU(e){const t=e==null?void 0:e.mcp_connection_status;return Array.isArray(t)?t.flatMap(r=>{if(!r||typeof r!="object"||Array.isArray(r))return[];const a=r,s=typeof a.name=="string"?a.name.trim():"";if(!s)return[];const o=typeof a.provider=="string"&&a.provider.trim()?a.provider.trim():null,c=typeof a.tool_count=="number"?a.tool_count:0,d=a.dead===!0;return[{name:s,provider:o,toolCount:c,dead:d}]}):[]}async function es(e){const t=await fetch(e,{cache:"no-store"});if(!t.ok)throw new Error(`${e} responded ${t.status}`);return t.json()}function dd(e){return e?`?run=${encodeURIComponent(e)}`:""}async function w2(e){const t=await es("/api/run"+dd(e)),r=GU(JSON.stringify(t)),a=t.finished===!0;return{summary:r,raw:t,finished:a}}async function E2(e,t){const r=await es("/api/vulnerabilities"+dd(t));return XU(JSON.stringify(r),e)}async function QU(e){const t=await es("/api/report"+dd(e));return(t==null?void 0:t.markdown)??null}async function N2(e){const t=await es("/api/transcript"+dd(e));return{agents:Array.isArray(t==null?void 0:t.agents)?t.agents:[],events:Array.isArray(t==null?void 0:t.events)?t.events:[]}}async function w_(e){const{summary:t,raw:r,finished:a}=await w2(e),[s,o,c]=await Promise.all([E2(t.runId,e).catch(()=>[]),QU(e).catch(()=>null),N2(e).catch(()=>({agents:[],events:[]}))]);return{summary:t,raw:r,finished:a,vulnerabilities:s,reportMarkdown:o,transcript:c}}async function il(e,t){const r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),cache:"no-store"});let a={};try{const s=await r.json();s&&typeof s=="object"&&(a=s)}catch{}return{ok:r.ok,status:r.status,data:a}}async function WU(){const e=await es("/api/runs");return{locked:(e==null?void 0:e.locked)??!0,count:typeof(e==null?void 0:e.count)=="number"?e.count:0,runs:Array.isArray(e==null?void 0:e.runs)?e.runs:[]}}async function JU(){const e=await es("/api/capabilities");return{can_steer:(e==null?void 0:e.can_steer)===!0}}async function eH(e,t){const{ok:r,data:a}=await il("/api/agents/steer",{agent_id:e,message:t});return r&&a.ok===!0?{ok:!0}:{ok:!1,error:String(a.error??"unavailable")}}async function tH(e,t){const{ok:r,data:a}=await il("/api/feedback",{message:e,email:t});return r&&a.ok===!0?{ok:!0}:{ok:!1,error:String(a.error??"unavailable")}}async function nH(){const e=await es("/api/auth/status");return{verified:(e==null?void 0:e.verified)===!0,email:(e==null?void 0:e.email)??null}}async function S2(e){const{ok:t,data:r}=await il("/api/auth/otp/start",{email:e});return t&&r.ok===!0?{ok:!0}:{ok:!1,error:String(r.error??"unavailable")}}async function k2(e,t){const{ok:r,data:a}=await il("/api/auth/otp/verify",{email:e,code:t});return r&&a.verified===!0?{verified:!0,email:String(a.email??e)}:{verified:!1,error:String(a.error??"invalid_code")}}async function rH(){await il("/api/auth/forget",{})}async function iH(e){const{ok:t,data:r}=await il("/api/report/send",e?{run:e}:{});return t&&r.ok===!0?{ok:!0,password:String(r.password??""),filename:String(r.filename??"strix-report.pdf")}:{ok:!1,error:String(r.error??"unavailable")}}const Us="__root__";function C2({agents:e,fixedAgentId:t,className:r}){const a=ee.useRef(null),[s,o]=ee.useState(!1),[c,d]=ee.useState(!1),[h,f]=ee.useState(""),[p,g]=ee.useState(!1),[b,y]=ee.useState(null),_=t!=null,N=ee.useMemo(()=>e.find(I=>!I.parent_id)??e[0]??null,[e]),S=ee.useMemo(()=>e.filter(I=>I.parent_id&&I.status==="running"),[e]),[w,C]=ee.useState(Us),[E,A]=ee.useState(!1);ee.useEffect(()=>{w!==Us&&!S.some(I=>I.id===w)&&C(Us)},[w,S]);const{targetId:B,targetName:R}=ee.useMemo(()=>{if(_){const Z=e.find(P=>P.id===t)??null;return{targetId:t??null,targetName:(Z==null?void 0:Z.name)??"this agent"}}if(w===Us)return{targetId:(N==null?void 0:N.id)??null,targetName:"Root agent"};const I=e.find(Z=>Z.id===w)??null;return{targetId:(I==null?void 0:I.id)??(N==null?void 0:N.id)??null,targetName:(I==null?void 0:I.name)??"Root agent"}},[e,t,_,N,w]),H=h.trim().length===0;ee.useLayoutEffect(()=>{const I=a.current;I&&(I.style.height="auto",I.style.height=`${I.scrollHeight}px`)},[h]);const z=ee.useCallback(()=>{o(!0),requestAnimationFrame(()=>{var I;return(I=a.current)==null?void 0:I.focus()})},[]),Y=ee.useCallback(()=>{o(!1),d(!1),A(!1)},[]),j=ee.useCallback(async()=>{if(p)return;const I=h.trim();if(!I||!B)return;g(!0),y(null);const Z=R,P=await eH(B,I);g(!1),P.ok?(f(""),y(`Sent to ${Z}`),Mr("agent_steered")):P.error==="not_delivered"?y("Could not reach that agent (it may have finished)."):y("Could not send that message. Try again.")},[p,h,B,R]);return s?m.jsxs("div",{className:br("mt-4 rounded-2xl border border-white/[0.08] bg-[#050505] overflow-hidden transition-colors duration-300",c?"border-white/[0.18]":"hover:border-white/[0.12]",r),children:[m.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-white/[0.06] px-5 py-3",children:[m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Fm,{className:"h-4 w-4 text-[#666]"}),m.jsx("p",{className:"text-sm font-medium text-white",children:"Live prompt"})]}),m.jsx("p",{className:"mt-0.5 text-xs text-[#777]",children:"Connected"})]}),m.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[_?m.jsxs("div",{className:"rounded-full border border-white/[0.08] bg-white/[0.03] px-3 py-1 text-xs text-[#aaa]",children:["Target: ",m.jsx("span",{className:"text-white",children:R})]}):m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:"text-xs text-[#aaa]",children:"Target:"}),m.jsxs("div",{className:"relative",children:[m.jsxs("button",{type:"button",onClick:()=>A(I=>!I),onBlur:()=>requestAnimationFrame(()=>A(!1)),className:"inline-flex h-7 items-center gap-1 rounded-full border border-white/[0.08] bg-white/[0.03] px-3 text-xs text-white transition-colors hover:border-white/[0.16] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/20","aria-haspopup":"listbox","aria-expanded":E,children:[m.jsx("span",{className:"max-w-[140px] truncate",children:R}),m.jsx(po,{className:"h-3.5 w-3.5 text-[#999]"})]}),E&&m.jsxs("div",{className:"absolute right-0 z-10 mt-1 min-w-[160px] overflow-hidden rounded-lg border border-[#333] bg-[#0a0a0a] py-1 shadow-xl",role:"listbox",children:[m.jsx(E_,{label:"Root agent",active:w===Us,onSelect:()=>{C(Us),A(!1)}}),S.map(I=>m.jsx(E_,{label:I.name,active:w===I.id,onSelect:()=>{C(I.id),A(!1)}},I.id))]})]})]}),m.jsx("button",{type:"button",onClick:Y,className:"inline-flex h-7 w-7 items-center justify-center rounded-full text-[#777] transition-colors hover:bg-white/[0.06] hover:text-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/20","aria-label":"Collapse live prompt composer",children:m.jsx(po,{className:"h-4 w-4"})})]})]}),m.jsx("div",{className:"px-5 pt-4 pb-3",children:m.jsx("textarea",{ref:a,rows:1,value:h,onChange:I=>f(I.target.value),onFocus:()=>d(!0),onBlur:()=>d(!1),onKeyDown:I=>{I.key==="Enter"&&!I.shiftKey&&(I.preventDefault(),j())},placeholder:"Send a live prompt to the running pentest…",maxLength:4e3,disabled:p,className:"block w-full resize-none border-0 bg-transparent p-0 text-[15px] leading-6 text-white placeholder:text-[#444] focus:outline-none disabled:opacity-60 max-h-[160px] overflow-y-auto"})}),m.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 pb-4",children:[m.jsx("div",{className:"text-xs text-[#666]",children:b??"Press Enter to send."}),m.jsxs("button",{type:"button",onClick:I=>{I.stopPropagation(),j()},disabled:p||H,className:br("inline-flex h-10 min-w-[112px] items-center justify-center gap-2 rounded-full px-4 text-sm font-medium transition-colors",p||H?"bg-white/[0.08] text-[#666]":"bg-white text-black hover:bg-neutral-200"),children:[p?m.jsx(Ps,{className:"h-4 w-4 animate-spin"}):m.jsx(Zk,{className:"h-4 w-4",strokeWidth:2.5}),m.jsx("span",{children:"Send prompt"})]})]})]}):m.jsxs("button",{type:"button",onClick:z,className:br("mt-4 flex w-full items-center justify-between gap-3 rounded-2xl border border-white/[0.08] bg-[#050505] px-5 py-3 text-left transition-colors duration-300 hover:border-white/[0.12] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/20",r),"aria-expanded":!1,"aria-label":"Expand live prompt composer",children:[m.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[m.jsx(Fm,{className:"h-4 w-4 shrink-0 text-[#666]"}),m.jsx("span",{className:"truncate text-sm font-medium text-white",children:"Guide the agent"})]}),m.jsx(q_,{className:"h-4 w-4 shrink-0 text-[#777]"})]})}function E_({label:e,active:t,onSelect:r}){return m.jsx("button",{type:"button",role:"option","aria-selected":t,onMouseDown:a=>{a.preventDefault(),r()},className:br("block w-full truncate px-3 py-1.5 text-left text-xs transition-colors hover:bg-white/[0.06]",t?"text-white":"text-[#aaa]"),children:e})}const aH={completed:"bg-emerald-400",running:"bg-blue-400",waiting:"bg-yellow-400",stopped:"bg-[#888]",crashed:"bg-red-400",failed:"bg-red-400"},sH=80;function lH({open:e,agent:t,events:r,steerable:a,onClose:s}){const o=ee.useRef(null),c=ee.useRef(!1),[d,h]=ee.useState(e),[f,p]=ee.useState(e?"open":"closed"),[g,b]=ee.useState(!1),y=ee.useRef(t);ee.useEffect(()=>{t&&(y.current=t)},[t]);const _=t??y.current;ee.useEffect(()=>{if(e){h(!0),p("open");return}p("closed");const S=setTimeout(()=>h(!1),140);return()=>clearTimeout(S)},[e]),ee.useEffect(()=>{if(!d){b(!1);return}const S=requestAnimationFrame(()=>b(!0));return()=>cancelAnimationFrame(S)},[d]);const N=ee.useCallback(()=>{const S=o.current;S&&(c.current=S.scrollHeight-S.scrollTop-S.clientHeight{const S=o.current;!S||!c.current||requestAnimationFrame(()=>{S.scrollTo({top:S.scrollHeight,behavior:"smooth"})})},[r]),ee.useEffect(()=>{if(!d)return;const S=C=>{C.key==="Escape"&&s()};document.addEventListener("keydown",S);const w=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",S),document.body.style.overflow=w}},[d,s]),!d||!_?null:m.jsx("div",{"data-state":f,className:"agent-modal fixed inset-0 z-50 flex items-center justify-center bg-black/80 p-4 sm:p-8",onClick:s,role:"dialog","aria-modal":"true","aria-label":`Agent ${_.name}`,children:m.jsxs("div",{className:"relative flex h-[60vh] w-[calc(100vw-4rem)] max-w-6xl flex-col overflow-hidden rounded-xl border border-[#222] bg-[#0a0a0a] shadow-2xl",onClick:S=>S.stopPropagation(),children:[m.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-[#222] px-5 py-3.5",children:[m.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[m.jsx("span",{className:`h-2 w-2 flex-shrink-0 rounded-full ${aH[_.status]??"bg-[#888]"}`}),m.jsx("span",{className:"truncate text-sm font-semibold text-white",children:_.name}),m.jsx("span",{className:"flex-shrink-0 font-mono text-xs text-[#555]",children:_.id})]}),m.jsx("button",{type:"button",onClick:s,"aria-label":"Close",className:"flex-shrink-0 rounded-md p-1 text-[#888] transition-colors hover:bg-[#1a1a1a] hover:text-white",children:m.jsx(kp,{className:"h-4 w-4"})})]}),m.jsx("div",{ref:o,onScroll:N,className:"flex-1 overflow-y-auto p-5",children:g&&m.jsx(HU,{agent:_,events:r,showHeader:!1})}),a&&m.jsx("div",{className:"border-t border-[#222] px-5 py-3",children:m.jsx(C2,{agents:[_],fixedAgentId:_.id,className:"mt-0"})})]})})}var T2={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},N_=fa.createContext&&fa.createContext(T2),oH=["attr","size","title"];function cH(e,t){if(e==null)return{};var r,a,s=uH(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;afa.createElement(t.tag,Fu({key:r},t.attr),A2(t.child)))}function wg(e){return t=>fa.createElement(mH,Pu({attr:Fu({},e.attr)},t),A2(e.child))}function mH(e){var t=r=>{var a=e.attr,s=e.size,o=e.title,c=cH(e,oH),d=s||r.size||"1em",h;return r.className&&(h=r.className),e.className&&(h=(h?h+" ":"")+e.className),fa.createElement("svg",Pu({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,a,c,{className:h,style:Fu(Fu({color:e.color||r.color},r.style),e.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),o&&fa.createElement("title",null,o),e.children)};return N_!==void 0?fa.createElement(N_.Consumer,null,r=>t(r)):t(T2)}function pH(e){return wg({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"circle",attr:{cx:"5",cy:"6",r:"3"},child:[]},{tag:"path",attr:{d:"M5 9v12"},child:[]},{tag:"circle",attr:{cx:"19",cy:"18",r:"3"},child:[]},{tag:"path",attr:{d:"m15 9-3-3 3-3"},child:[]},{tag:"path",attr:{d:"M12 6h5a2 2 0 0 1 2 2v7"},child:[]}]})(e)}function gH(e){return wg({attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{d:"M15 4.95703C15 4.58711 14.8563 4.24054 14.5949 3.97992L12.0096 1.39234C11.4879 0.86922 10.5788 0.86922 10.0571 1.39234L8 3.45119V3.32321C8 2.55068 7.37187 1.922 6.6 1.922H2.4C1.62813 1.922 1 2.55068 1 3.32321V13.5988C1 14.3713 1.62813 15 2.4 15H12.6667C13.4385 15 14.0667 14.3713 14.0667 13.5988V9.39514C14.0667 8.62261 13.4385 7.99393 12.6667 7.99393H12.5379L14.5949 5.93508C14.8553 5.67445 15 5.32602 15 4.95703ZM2.4 2.85521H6.6C6.85667 2.85521 7.06667 3.06446 7.06667 3.32228V7.99299H1.93333V3.32228C1.93333 3.06446 2.14333 2.85521 2.4 2.85521ZM1.93333 13.5979V8.92714H7.06667V14.0649H2.4C2.14333 14.0649 1.93333 13.8547 1.93333 13.5979ZM13.1333 9.39421V13.5979C13.1333 13.8547 12.9233 14.0649 12.6667 14.0649H8V8.92714H12.6667C12.9233 8.92714 13.1333 9.13638 13.1333 9.39421ZM8 7.99299V6.46287L9.5288 7.99299H8ZM13.9351 5.2737L11.3488 7.86221C11.1789 8.03223 10.8859 8.03223 10.716 7.86221L8.12973 5.2737C8.0448 5.18963 7.99813 5.07753 7.99813 4.95796C7.99813 4.83839 8.0448 4.7263 8.12973 4.64129L10.716 2.05278C10.8009 1.96777 10.9129 1.92106 11.0324 1.92106C11.1519 1.92106 11.2639 1.96777 11.3488 2.05278L13.9351 4.64129C14.02 4.72536 14.0667 4.83746 14.0667 4.95703C14.0667 5.0766 14.02 5.1887 13.9351 5.2737Z"},child:[]}]})(e)}function M2(e){return wg({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{fill:"none",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",d:"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a34 34 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1 15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.4 26.4 0 0 1 9.3-1.7 26 26 0 0 1 10.1 2l56.7 20.1a13.5 13.5 0 0 0 3.9 1 8 8 0 0 0 8-8 13 13 0 0 0-.5-2.7z"},child:[]},{tag:"path",attr:{fill:"none",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",d:"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.3 7.3 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.2 159.2 0 0 0 284 432.11"},child:[]}]})(e)}const xH=[{icon:UC,label:"PR security reviews"},{icon:NT,label:"Attack surface monitoring"},{icon:UT,label:"Real-time threat intelligence"},{icon:iC,label:"Scheduled pentesting"},{icon:LT,label:"One-click autofix"},{icon:K_,label:"Jira, Linear & Slack integrations"}];function bH({open:e,onClose:t,description:r,source:a="sidebar"}){const[s,o]=ee.useState(e),[c,d]=ee.useState(e?"open":"closed");return ee.useEffect(()=>{if(e){o(!0),d("open");return}d("closed");const h=setTimeout(()=>o(!1),200);return()=>clearTimeout(h)},[e]),ee.useEffect(()=>{if(!s)return;const h=p=>{p.key==="Escape"&&t()};document.addEventListener("keydown",h);const f=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",h),document.body.style.overflow=f}},[s,t]),s?m.jsx("div",{"data-state":c,className:"dialog-overlay fixed inset-0 z-50 flex items-center justify-center bg-black/80 p-4",onClick:t,role:"dialog","aria-modal":"true","aria-label":"Upgrade your plan",children:m.jsxs("div",{"data-state":c,className:"dialog-panel relative w-full max-w-md rounded-2xl border border-[#222] bg-black p-6 shadow-lg sm:rounded-lg",onClick:h=>h.stopPropagation(),children:[m.jsx("button",{type:"button",onClick:t,"aria-label":"Close",className:"absolute right-4 top-4 rounded-md p-1 text-[#888] transition-colors hover:bg-[#1a1a1a] hover:text-white",children:m.jsx(kp,{className:"h-4 w-4"})}),m.jsxs("div",{children:[m.jsx("h2",{className:"text-lg text-white",children:"Available in Strix Cloud"}),r&&m.jsx("p",{className:"mt-2 text-base leading-relaxed text-[#e5e5e5]",children:r})]}),m.jsxs("div",{className:"space-y-4 pt-4",children:[m.jsxs("div",{className:"rounded-xl border border-[#333] bg-[#0a0a0a] p-4 sm:rounded-lg",children:[m.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[m.jsx(Fm,{className:"h-4 w-4 text-blue-400"}),m.jsx("span",{className:"text-sm font-medium text-white",children:"Strix Cloud also includes"})]}),m.jsx("ul",{className:"space-y-2 text-sm text-[#888]",children:xH.map(h=>m.jsxs("li",{className:"flex items-center gap-2",children:[m.jsx(h.icon,{className:"h-3.5 w-3.5 text-[#555]"}),h.label]},h.label))})]}),m.jsxs("div",{className:"flex flex-col gap-2",children:[m.jsxs("a",{href:_i(Yu,"upgrade_try_free"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("upgrade_try_free",a),className:"flex h-10 w-full items-center justify-center gap-2 rounded-lg bg-white px-4 text-sm font-semibold text-black transition-colors hover:bg-neutral-200",children:["Open Strix Cloud",m.jsx(uy,{className:"h-3.5 w-3.5"})]}),m.jsxs("a",{href:_i(FT,"upgrade_view_plans"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("upgrade_view_plans",a),className:"flex h-9 w-full items-center justify-center gap-1.5 rounded-lg border border-[#333] px-4 text-sm font-medium text-[#888] transition-colors hover:border-[#555] hover:text-white",children:["Learn more",m.jsx(uy,{className:"h-3 w-3"})]})]}),m.jsxs("p",{className:"text-center text-xs text-[#666]",children:["SSO, compliance reports, or a private deployment?"," ",m.jsx("a",{href:_i(Ap,"upgrade_book_demo"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("upgrade_book_demo",a),className:"whitespace-nowrap text-[#aaa] underline underline-offset-2 transition-colors hover:text-white",children:"Try Strix Enterprise"})]})]})]})}):null}const Hm=160,$m=260,io=400,yH=140,k_="strix_viewer_sidebar_width",C_="strix_viewer_sidebar_collapsed";function vH(e,t){try{const r=localStorage.getItem(e),a=r?parseInt(r,10):NaN;return Number.isFinite(a)?a:t}catch{return t}}function _H({view:e,onSelectView:t,issuesCount:r,agentCount:a,mcpConnections:s,mcpInUse:o,runCount:c,finished:d,verified:h,email:f,onOpenEmail:p,onOpenHistory:g,onForget:b}){var P;const[y,_]=ee.useState(()=>{const k=vH(k_,$m);return Math.min(io,Math.max(Hm,k))}),[N,S]=ee.useState(()=>{try{return localStorage.getItem(C_)==="1"}catch{return!1}}),[w,C]=ee.useState(!1),[E,A]=ee.useState(!1),[B,R]=ee.useState(null),H=ee.useRef(null),z=(k,$)=>{yr(k,"sidebar"),R($)},Y=ee.useCallback(k=>{_(k);try{localStorage.setItem(k_,String(k))}catch{}},[]),j=ee.useCallback(k=>{S(k);try{localStorage.setItem(C_,k?"1":"0")}catch{}},[]),I=ee.useCallback(()=>{j(!1),Y($m)},[j,Y]),Z=ee.useCallback(k=>{k.preventDefault(),C(!0)},[]);return ee.useEffect(()=>{if(!w||N)return;const k=O=>{const U=O.clientX;U>=Hm&&U<=io?_(U):U>io&&_(io)},$=O=>{const U=O.clientX;U{window.removeEventListener("mousemove",k),window.removeEventListener("mouseup",$)}},[w,N,j,Y]),ee.useEffect(()=>{if(!E)return;const k=$=>{H.current&&!H.current.contains($.target)&&A(!1)};return document.addEventListener("mousedown",k),()=>document.removeEventListener("mousedown",k)},[E]),m.jsxs(m.Fragment,{children:[N&&m.jsx("div",{className:"fixed left-0 top-0 z-40 hidden h-full w-4 cursor-pointer transition-colors hover:bg-[rgba(255,255,255,0.08)] lg:block",onClick:I,title:"Expand sidebar"}),m.jsxs("aside",{className:br("sticky top-0 z-20 hidden h-screen flex-shrink-0 flex-col overflow-hidden border-r border-[rgba(255,255,255,0.08)] bg-black lg:flex",!w&&"transition-[width] duration-200 ease-out"),style:{width:N?0:y},children:[m.jsx("header",{className:"relative flex flex-col gap-1 pt-1 min-w-[160px]",children:m.jsx("div",{className:"flex flex-row py-1 px-2",children:m.jsxs("div",{className:"flex h-10 w-full flex-row items-center",children:[m.jsxs("a",{href:_i("https://app.strix.ai","logo"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("logo","sidebar"),className:"flex flex-1 flex-row items-center gap-2 rounded-md py-2 pl-2.5 pr-1 min-w-0 transition-colors hover:bg-[rgba(255,255,255,0.06)]",title:"Open Strix Cloud",children:[m.jsx("span",{className:"flex flex-shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-emerald-400 to-cyan-500",style:{width:20,height:20},children:m.jsx("span",{className:"text-[10px] font-semibold text-white",children:"S"})}),m.jsxs("span",{className:"flex flex-1 flex-row items-center gap-2 min-w-0",children:[m.jsx("span",{className:"truncate min-w-0 text-[14px] font-medium text-[#ededed]",children:"Strix"}),m.jsx("span",{className:"flex h-5 flex-shrink-0 items-center rounded px-2 text-[11px] font-medium text-[#888] bg-[rgba(255,255,255,0.08)]",children:"Local"})]})]}),m.jsx("a",{href:_i("https://app.strix.ai","logo"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("logo","sidebar"),className:"flex flex-none items-center rounded-md px-1.5 py-2 transition-colors hover:bg-[rgba(255,255,255,0.06)]","aria-label":"Open Strix Cloud",children:m.jsx(hC,{className:"h-4 w-4 text-[#666]"})})]})})}),m.jsx("nav",{className:"relative min-w-[160px] flex-1 overflow-y-auto overflow-x-clip scrollbar-thin pb-10 pt-2",children:m.jsxs("div",{className:"relative flex flex-col gap-px px-2",children:[m.jsx(yi,{icon:m.jsx(NH,{}),label:"Pentest Overview",active:e==="overview",onClick:()=>t("overview")}),m.jsx(yi,{icon:m.jsx(Sp,{className:"h-4 w-4"}),label:"Issues",count:r>0?r:void 0,active:e==="issues",onClick:()=>t("issues")}),a>0&&m.jsx(yi,{icon:m.jsx(Ro,{className:"h-4 w-4"}),label:"Agents",count:a,active:e==="agents",onClick:()=>t("agents")}),s.length>0&&m.jsx(EH,{connections:s,inUse:o}),m.jsx(yi,{icon:m.jsx(Ys,{className:"h-4 w-4"}),label:"Past runs",count:c>0?c:void 0,active:e==="history",onClick:g}),d&&m.jsx(yi,{icon:m.jsx(Np,{className:"h-4 w-4"}),label:"Export report",active:e==="email",onClick:p}),m.jsx(yi,{icon:m.jsx(M2,{className:"h-4 w-4"}),label:"Feedback & support",active:e==="feedback",onClick:()=>t("feedback")}),m.jsx("hr",{className:"mx-0 my-1 h-px w-full border-0 bg-[rgba(255,255,255,0.08)]"}),m.jsx(yi,{icon:m.jsx(pH,{className:"h-4 w-4"}),label:"PR Security Reviews",active:!1,onClick:()=>z("pr_reviews","Strix reviews every pull request and flags exploitable changes before they merge.")}),m.jsx(yi,{icon:m.jsx(gH,{className:"h-4 w-4"}),label:"Integrations",active:!1,onClick:()=>z("integrations","Sync findings to Jira, Linear, and Slack so fixes happen where your team already works.")}),m.jsx(yi,{icon:m.jsx(jT,{className:"h-4 w-4"}),label:"Members",active:!1,onClick:()=>z("members","Invite your team, set roles, and share findings and run history across your org.")})]})}),m.jsx("section",{className:"flex min-w-[160px] flex-col gap-0.5",ref:H,children:m.jsxs("div",{className:"relative p-2",children:[h&&f?m.jsxs("button",{onClick:()=>A(k=>!k),className:"relative flex w-full cursor-pointer items-center gap-2 rounded-md bg-transparent px-2.5 py-2 transition-colors hover:bg-[rgba(255,255,255,0.06)]",children:[m.jsx("span",{className:"flex flex-shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-emerald-400 to-cyan-500",style:{width:20,height:20},children:m.jsx("span",{className:"text-[9px] font-semibold text-white",children:((P=f[0])==null?void 0:P.toUpperCase())||"U"})}),m.jsxs("span",{className:"flex min-w-0 flex-1 flex-col text-left",children:[m.jsx("span",{className:"truncate text-[13px] font-medium text-[#ededed]",children:f}),m.jsx("span",{className:"truncate text-[11px] text-[#555]",children:"Linked to this machine"})]})]}):m.jsxs("div",{className:"flex items-center gap-2 rounded-md px-2.5 py-2",children:[m.jsx("span",{className:"flex flex-shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-emerald-400 to-cyan-500",style:{width:20,height:20},children:m.jsx("span",{className:"text-[9px] font-semibold text-white",children:"S"})}),m.jsx("span",{className:"flex min-w-0 flex-1 flex-col text-left",children:m.jsx("span",{className:"truncate text-[13px] font-medium text-[#ededed]",children:"Local viewer"})})]}),E&&h&&f&&m.jsxs("div",{className:"absolute bottom-full left-2 right-2 z-50 mb-1 overflow-hidden rounded-lg border border-[#333] bg-black shadow-xl",children:[m.jsxs("div",{className:"border-b border-[#333] px-3 py-2",children:[m.jsx("p",{className:"truncate text-[13px] font-medium text-white",children:"Linked email"}),m.jsx("p",{className:"truncate text-[11px] text-[#666]",children:f})]}),m.jsxs("button",{onClick:()=>{A(!1),b()},className:"flex w-full items-center gap-2 px-3 py-2 text-[13px] text-[#888] transition-colors hover:bg-[rgba(255,255,255,0.06)] hover:text-red-400",children:[m.jsx(nT,{className:"h-4 w-4"}),"Forget this email"]})]})]})}),m.jsx("div",{className:"group absolute right-0 top-0 z-30 h-full w-1 cursor-col-resize",onMouseDown:Z,children:m.jsx("div",{className:br("absolute right-0 top-0 h-full w-px bg-[rgba(255,255,255,0.08)] transition-all duration-100",w?"w-0.5 bg-[rgba(255,255,255,0.3)]":"group-hover:bg-[rgba(255,255,255,0.2)]")})})]}),w&&m.jsx("div",{className:"fixed inset-0 z-10 cursor-col-resize"}),m.jsx(bH,{open:B!==null,description:B??"",source:"sidebar",onClose:()=>R(null)})]})}function yi({icon:e,label:t,active:r,onClick:a,count:s}){return m.jsxs("button",{onClick:a,className:br("group flex h-9 w-full origin-left flex-row items-center rounded-md transition-colors",r?"bg-[rgba(255,255,255,0.12)] text-white":"text-[#888] hover:bg-[rgba(255,255,255,0.06)] hover:text-[#ededed]"),children:[m.jsx("div",{className:"grid flex-none place-content-center",style:{width:36,height:36},children:e}),m.jsx("span",{className:"min-w-0 flex-1 truncate text-left text-[14px] font-medium",children:t}),s!=null&&m.jsx("span",{className:"mr-2 flex-none rounded-full border border-white/10 px-2 py-0.5 text-[10px] tabular-nums leading-none text-[#777]",children:s})]})}const T_=["◐","◓","◑","◒"],wH=220;function EH({connections:e,inUse:t}){const r=e.some(o=>!o.dead&&t.has(o.name)),[a,s]=ee.useState(0);return ee.useEffect(()=>{if(!r)return;const o=setInterval(()=>s(c=>(c+1)%T_.length),wH);return()=>clearInterval(o)},[r]),m.jsxs("div",{className:"mt-1",children:[m.jsxs("div",{className:"flex h-7 items-center px-2 text-[11px] font-medium text-[#666]",children:["MCP Connections (",e.length,")"]}),m.jsx("div",{className:"max-h-48 overflow-y-auto overflow-x-clip scrollbar-thin",children:e.map(o=>{const c=!o.dead&&t.has(o.name);return m.jsxs("div",{className:"flex h-7 items-center gap-2 rounded-md px-2",title:o.provider?`${o.name} · ${o.provider}`:o.name,children:[m.jsx("span",{className:br("w-3 flex-none text-center text-[11px] leading-none",o.dead?"text-red-400":"text-emerald-400"),"aria-hidden":"true",children:o.dead?"●":c?T_[a]:"●"}),m.jsx("span",{className:"min-w-0 flex-1 truncate text-[13px] font-medium text-[#ededed]",children:o.name}),o.dead?m.jsx("span",{className:"flex-none text-[11px] text-red-400",children:"offline"}):m.jsxs("span",{className:"flex-none text-[11px] tabular-nums text-[#666]",children:[o.toolCount," ",o.toolCount===1?"tool":"tools"]})]},o.name)})})]})}function NH(){return m.jsx("svg",{style:{width:16,height:16,color:"currentcolor"},viewBox:"0 0 16 16",fill:"currentColor",children:m.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.5 5.5V2.5H5.5V5.5H2.5ZM1 2C1 1.44772 1.44772 1 2 1H6C6.55228 1 7 1.44772 7 2V6C7 6.55228 6.55228 7 6 7H2C1.44772 7 1 6.55228 1 6V2ZM2.5 13.5V10.5H5.5V13.5H2.5ZM1 10C1 9.44772 1.44772 9 2 9H6C6.55228 9 7 9.44772 7 10V14C7 14.5523 6.55228 15 6 15H2C1.44772 15 1 14.5523 1 14V10ZM10.5 2.5V5.5H13.5V2.5H10.5ZM10 1C9.44772 1 9 1.44772 9 2V6C9 6.55228 9.44772 7 10 7H14C14.5523 7 15 6.55228 15 6V2C15 1.44772 14.5523 1 14 1H10ZM10.5 13.5V10.5H13.5V13.5H10.5ZM9 10C9 9.44772 9.44772 9 10 9H14C14.5523 9 15 9.44772 15 10V14C15 14.5523 14.5523 15 14 15H10C9.44772 15 9 14.5523 9 14V10Z"})})}const A_={work_email_required:"Please use your work email, not a personal one.",rate_limited:"Too many requests. Wait a minute and try again.",invalid_email:"That email does not look right. Check it and try again.",unavailable:"The email service is unavailable right now. Try again shortly."},SH=new Set(["gmail.com","googlemail.com","yahoo.com","ymail.com","outlook.com","hotmail.com","live.com","icloud.com","me.com","aol.com","proton.me","protonmail.com","gmx.com","mail.com"]);function kH({onVerified:e}){const[t,r]=ee.useState("email"),[a,s]=ee.useState(""),[o,c]=ee.useState(""),[d,h]=ee.useState(!1),[f,p]=ee.useState(null),[g,b]=ee.useState(null),y=async()=>{const N=a.trim();if(!N){p("Enter your email to continue.");return}const S=N.slice(N.lastIndexOf("@")+1).toLowerCase();if(SH.has(S)){Mr("work_email_required"),p(A_.work_email_required);return}h(!0),p(null);const w=await S2(N);h(!1),w.ok?(Mr("email_submitted",{purpose:"verify"}),b(`We sent a 6-digit code to ${N}.`),r("code")):(w.error==="work_email_required"&&Mr("work_email_required"),p(A_[w.error]??"Could not send a code. Try again."))},_=async()=>{const N=o.trim();if(N.length<4){p("Enter the 6-digit code from your email.");return}h(!0),p(null);const S=await k2(a.trim(),N);if(h(!1),!S.verified){p("That code did not match. Check it and try again.");return}Mr("email_verified",{purpose:"verify"}),e()};return m.jsxs("div",{className:"mx-auto mt-5 max-w-sm text-left",children:[f&&m.jsxs("div",{className:"mb-3 flex items-start gap-2 rounded-lg border border-red-500/30 bg-red-500/5 px-3 py-2",children:[m.jsx(Gu,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-red-400","aria-hidden":"true"}),m.jsx("p",{className:"text-xs text-red-300",children:f})]}),g&&!f&&m.jsx("p",{className:"mb-3 text-xs text-[#888]",children:g}),t==="email"?m.jsxs("form",{className:"space-y-3",onSubmit:N=>{N.preventDefault(),y()},children:[m.jsxs("label",{className:"block",children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"Your work email"}),m.jsx("input",{type:"email",autoFocus:!0,value:a,onChange:N=>s(N.target.value),placeholder:"you@company.com",className:"w-full rounded-lg bg-black px-3 py-2.5 text-sm text-white outline-none transition-colors focus:border-[#444]",style:{border:"1px solid #2a2a2a"}}),m.jsx("span",{className:"mt-1.5 block text-[11px] text-[#666]",children:"Use your work email."})]}),m.jsxs("button",{type:"submit",disabled:d,className:"flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-white px-4 py-2.5 text-sm font-semibold text-black transition-opacity hover:opacity-90 disabled:opacity-60",children:[d&&m.jsx(Ps,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Send me a code"]})]}):m.jsxs("form",{className:"space-y-3",onSubmit:N=>{N.preventDefault(),_()},children:[m.jsxs("label",{className:"block",children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"6-digit code"}),m.jsx("input",{inputMode:"numeric",autoFocus:!0,value:o,onChange:N=>c(N.target.value.replace(/\D/g,"").slice(0,6)),placeholder:"123456",className:"w-full rounded-lg bg-black px-3 py-2.5 text-center text-lg font-mono tracking-[0.4em] text-white outline-none transition-colors focus:border-[#444]",style:{border:"1px solid #2a2a2a"}})]}),m.jsxs("button",{type:"submit",disabled:d,className:"flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-white px-4 py-2.5 text-sm font-semibold text-black transition-opacity hover:opacity-90 disabled:opacity-60",children:[d&&m.jsx(Ps,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Verify"]}),m.jsx("button",{type:"button",onClick:()=>{r("email"),p(null),b(null)},className:"w-full cursor-pointer text-center text-xs text-[#666] transition-colors hover:text-[#aaa]",children:"Use a different email"})]})]})}const CH=[{key:"critical",dot:"bg-red-500",text:"text-red-500"},{key:"high",dot:"bg-orange-500",text:"text-orange-500"},{key:"medium",dot:"bg-yellow-500",text:"text-yellow-500"},{key:"low",dot:"bg-blue-500",text:"text-blue-500"}];function TH({counts:e}){const t=CH.filter(r=>e[r.key]>0);return t.length===0?m.jsx("span",{className:"text-xs text-[#555]",children:"No findings"}):m.jsx("div",{className:"flex items-center gap-3",children:t.map(r=>m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:`h-2 w-2 rounded-full ${r.dot}`,"aria-hidden":"true"}),m.jsx("span",{className:`text-xs tabular-nums ${r.text}`,children:e[r.key]})]},r.key))})}function AH(e){if(!e)return null;const t=e.trim().replace(" UTC","Z").replace(" ","T"),r=new Date(t);return Number.isNaN(r.getTime())?null:r.toLocaleString(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}function M_(e){if(!e)return null;const t=e.trim().replace(" UTC","Z").replace(" ","T"),r=new Date(t);if(Number.isNaN(r.getTime()))return null;const a=Date.now()-r.getTime(),s=Math.floor(a/6e4);if(s<1)return"just now";if(s<60)return`${s}m ago`;const o=Math.floor(s/60);if(o<24)return`${o}h ago`;const c=Math.floor(o/24);return c<7?`${c}d ago`:AH(e)}function MH({runs:e,activeRun:t,onSelectRun:r,onVerified:a}){const s=(e==null?void 0:e.count)??0,[o,c]=ee.useState(!1);return!e||e.locked?m.jsxs("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-8 text-center",children:[m.jsx("div",{className:"mx-auto mb-4 flex h-11 w-11 items-center justify-center rounded-xl",style:{border:"1px solid #2a2a2a",background:"rgba(255,255,255,0.04)"},children:m.jsx(Ys,{className:"h-5 w-5 text-[#888]","aria-hidden":"true"})}),m.jsx("h2",{className:"text-base font-semibold text-white",children:"Browse every run on this machine"}),m.jsxs("p",{className:"mx-auto mt-1.5 max-w-md text-sm text-[#888]",children:["You have ",s," past ",s===1?"run":"runs"," on this machine."]}),o?m.jsxs(m.Fragment,{children:[m.jsx("p",{className:"mx-auto mt-3 max-w-sm text-xs text-[#666]",children:"Verify your email with a one-time code to unlock the full history."}),m.jsx(kH,{onVerified:a})]}):m.jsx("button",{onClick:()=>{yr("history_unlock","past_runs"),c(!0)},className:"mt-4 cursor-pointer rounded-lg bg-white px-4 py-2 text-sm font-semibold text-black transition-opacity hover:opacity-90",children:"View runs"}),m.jsxs("p",{className:"mt-4 flex items-center justify-center gap-1.5 text-xs text-[#555]",children:[m.jsx(J_,{className:"h-3.5 w-3.5","aria-hidden":"true"}),"Or open one from the CLI with"," ",m.jsx("code",{className:"font-mono text-[#888]",children:"strix view "})]})]}):e.runs.length===0?m.jsx("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-8 text-center text-sm text-[#888]",children:"No past runs found on this machine yet."}):m.jsx("div",{className:"space-y-2",children:e.runs.map(d=>{const h=d.name===t,f=M_(d.start_time)??M_(d.end_time),p=yo(d.target,d.name);return m.jsxs("button",{onClick:()=>r(d.name),className:`animate-card-in group flex w-full cursor-pointer items-center gap-4 rounded-lg border px-4 py-3 text-left transition-colors ${h?"border-[#444] bg-[rgba(255,255,255,0.04)]":"border-[#222] bg-[rgba(255,255,255,0.02)] hover:border-[#444]"}`,children:[m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"truncate text-sm font-medium text-white",children:p}),h&&m.jsx("span",{className:"rounded-full px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-emerald-400",style:{border:"1px solid rgba(16,185,129,0.3)"},children:"Active"})]}),m.jsxs("div",{className:"mt-0.5 flex flex-wrap items-center gap-x-2 gap-y-0.5 text-xs text-[#666]",children:[d.scan_mode&&m.jsx("span",{className:"capitalize",children:d.scan_mode}),d.scan_mode&&(f||d.status)&&m.jsx("span",{className:"text-[#333]",children:"·"}),f&&m.jsx("span",{children:f}),f&&d.status&&m.jsx("span",{className:"text-[#333]",children:"·"}),d.status&&m.jsx("span",{className:"capitalize",children:d.status})]})]}),m.jsx(TH,{counts:d.severity_counts}),m.jsx(uC,{className:"h-4 w-4 flex-shrink-0 text-[#555] transition-colors group-hover:text-[#aaa]","aria-hidden":"true"})]},d.name)})})}const O_={work_email_required:"Please use your work email, not a personal one.",rate_limited:"Too many requests. Wait a minute and try again.",invalid_email:"That email does not look right. Check it and try again.",unavailable:"The email service is unavailable right now. Try again shortly."},OH={forbidden:"This email was unsubscribed from Strix, so we cannot send to it.",too_large:"This report is too large to email. Try a smaller run.",unavailable:"The email service is unavailable right now. Try again shortly."},RH=new Set(["gmail.com","googlemail.com","yahoo.com","ymail.com","outlook.com","hotmail.com","live.com","icloud.com","me.com","aol.com","proton.me","protonmail.com","gmx.com","mail.com"]);function jH({activeRun:e,auth:t,purpose:r,skipDisclosure:a=!1,onAuthChanged:s,onExit:o}){const c=(t==null?void 0:t.verified)===!0,d=r==="verify",[h,f]=ee.useState(()=>d?"email":a?c?"sending":"email":"disclosure"),[p,g]=ee.useState((t==null?void 0:t.email)??""),[b,y]=ee.useState(""),[_,N]=ee.useState(!1),[S,w]=ee.useState(null),[C,E]=ee.useState(null),[A,B]=ee.useState(""),[R,H]=ee.useState(""),[z,Y]=ee.useState(!1),[j,I]=ee.useState(""),Z=ee.useRef(!1),P=async()=>{f("sending"),w(null);const X=await iH(e);if(X.ok){Mr("report_sent"),B(X.password),H(X.filename),f("password");return}if(X.error==="reverify"||X.error==="unverified"){E("Your verification expired. Enter your email to verify again."),f("email");return}w(OH[X.error]??"Could not send the report. Try again."),f("disclosure")},k=()=>{w(null),E(null),c?P():f("email")};ee.useEffect(()=>{!d&&a&&c&&!Z.current&&(Z.current=!0,P())},[]);const $=async()=>{const X=p.trim();if(!X){w("Enter your email to continue.");return}const M=X.slice(X.lastIndexOf("@")+1).toLowerCase();if(RH.has(M)){Mr("work_email_required"),w(O_.work_email_required);return}N(!0),w(null);const L=await S2(X);N(!1),L.ok?(Mr("email_submitted",{purpose:r}),E(`We sent a 6-digit code to ${X}.`),f("code")):(L.error==="work_email_required"&&Mr("work_email_required"),w(O_[L.error]??"Could not send a code. Try again."))},O=async()=>{const X=b.trim();if(X.length<4){w("Enter the 6-digit code from your email.");return}N(!0),w(null);const M=await k2(p.trim(),X);if(N(!1),!M.verified){w("That code did not match. Check it and try again.");return}Mr("email_verified",{purpose:r}),I(M.email),s(),d?o("history"):P()},U=async()=>{try{await navigator.clipboard.writeText(A),Y(!0),setTimeout(()=>Y(!1),1500)}catch{}},K=j||(t==null?void 0:t.email)||p.trim();return m.jsxs("div",{className:"mx-auto max-w-xl space-y-4",children:[m.jsxs("button",{onClick:()=>o(d?"history":"overview"),className:"cursor-pointer inline-flex items-center gap-1.5 text-sm text-[#888] transition-colors hover:text-white",children:[m.jsx(Ep,{className:"h-4 w-4"}),d?"Back to past runs":"Back to results"]}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Np,{className:"h-5 w-5 text-[#888]","aria-hidden":"true"}),m.jsx("h1",{className:"text-2xl font-semibold text-white",children:d?"Verify your email":"Export report to PDF"})]}),m.jsxs("div",{className:"w-full rounded-2xl bg-[rgba(255,255,255,0.02)] p-6",style:{border:"1px solid #2a2a2a"},children:[m.jsx("p",{className:"mb-4 text-xs text-[#666]",children:d?"We send a one-time code to confirm it is you.":"Verified by a one-time code sent to your email"}),S&&m.jsxs("div",{className:"mb-4 flex items-start gap-2 rounded-lg border border-red-500/30 bg-red-500/5 px-3 py-2",children:[m.jsx(Gu,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-red-400","aria-hidden":"true"}),m.jsx("p",{className:"text-xs text-red-300",children:S})]}),C&&!S&&h!=="password"&&m.jsx("p",{className:"mb-4 text-xs text-[#888]",children:C}),h==="disclosure"&&m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{className:"space-y-2.5 rounded-lg p-3.5",style:{border:"1px solid #222",background:"rgba(255,255,255,0.02)"},children:[m.jsxs("div",{className:"flex items-start gap-2.5",children:[m.jsx(W_,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-emerald-400","aria-hidden":"true"}),m.jsxs("p",{className:"text-xs leading-relaxed text-[#aaa]",children:["We email an ",m.jsx("span",{className:"text-white",children:"encrypted PDF"}),". Nothing else leaves your machine."]})]}),m.jsxs("div",{className:"flex items-start gap-2.5",children:[m.jsx(eT,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-[#888]","aria-hidden":"true"}),m.jsx("p",{className:"text-xs leading-relaxed text-[#aaa]",children:"Only you hold the password; Strix can't read it."})]})]}),m.jsx("button",{onClick:k,className:"w-full cursor-pointer rounded-lg bg-white px-4 py-2.5 text-sm font-semibold text-black transition-opacity hover:opacity-90",children:"Export report"}),c&&(t==null?void 0:t.email)&&m.jsxs("p",{className:"text-center text-xs text-[#666]",children:["Sending to ",t.email]})]}),h==="email"&&m.jsxs("form",{className:"space-y-4",onSubmit:X=>{X.preventDefault(),$()},children:[m.jsxs("label",{className:"block",children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"Your work email"}),m.jsx("input",{type:"email",autoFocus:!0,value:p,onChange:X=>g(X.target.value),placeholder:"you@company.com",className:"w-full rounded-lg bg-black px-3 py-2.5 text-sm text-white outline-none transition-colors focus:border-[#444]",style:{border:"1px solid #2a2a2a"}})]}),m.jsxs("button",{type:"submit",disabled:_,className:"flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-white px-4 py-2.5 text-sm font-semibold text-black transition-opacity hover:opacity-90 disabled:opacity-60",children:[_&&m.jsx(Ps,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Send me a code"]})]}),h==="code"&&m.jsxs("form",{className:"space-y-4",onSubmit:X=>{X.preventDefault(),O()},children:[m.jsxs("label",{className:"block",children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"6-digit code"}),m.jsx("input",{inputMode:"numeric",autoFocus:!0,value:b,onChange:X=>y(X.target.value.replace(/\D/g,"").slice(0,6)),placeholder:"123456",className:"w-full rounded-lg bg-black px-3 py-2.5 text-center text-lg font-mono tracking-[0.4em] text-white outline-none transition-colors focus:border-[#444]",style:{border:"1px solid #2a2a2a"}})]}),m.jsxs("button",{type:"submit",disabled:_,className:"flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-white px-4 py-2.5 text-sm font-semibold text-black transition-opacity hover:opacity-90 disabled:opacity-60",children:[_&&m.jsx(Ps,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),d?"Verify":"Verify and send"]}),m.jsx("button",{type:"button",onClick:()=>{f("email"),w(null),E(null)},className:"w-full cursor-pointer text-center text-xs text-[#666] transition-colors hover:text-[#aaa]",children:"Use a different email"})]}),h==="sending"&&m.jsxs("div",{className:"flex flex-col items-center gap-3 py-8",children:[m.jsx(Ps,{className:"h-6 w-6 animate-spin text-white","aria-hidden":"true"}),m.jsx("p",{className:"text-sm text-[#aaa]",children:"Generating and encrypting locally..."})]}),h==="password"&&m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{className:"flex items-start gap-2.5 rounded-lg border border-emerald-500/30 bg-emerald-500/5 px-3 py-2.5",children:[m.jsx(Vs,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-emerald-400","aria-hidden":"true"}),m.jsxs("p",{className:"text-xs text-emerald-200",children:["Sent to ",K,". Open the attached PDF with this password."]})]}),m.jsxs("div",{children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"Your one-time password"}),m.jsxs("div",{className:"flex items-center gap-2 rounded-lg bg-black p-3",style:{border:"1px solid #2a2a2a"},children:[m.jsx("code",{className:"flex-1 break-all font-mono text-base text-white",children:A}),m.jsxs("button",{onClick:U,className:"flex cursor-pointer items-center gap-1 rounded-md px-2 py-1 text-xs text-[#aaa] transition-colors hover:bg-[rgba(255,255,255,0.06)] hover:text-white",style:{border:"1px solid #2a2a2a"},children:[z?m.jsx(Vs,{className:"h-3.5 w-3.5"}):m.jsx(go,{className:"h-3.5 w-3.5"}),z?"Copied":"Copy"]})]}),m.jsxs("p",{className:"mt-2 text-xs text-[#666]",children:["Save this now. Strix never stores it, so we cannot show it again. File:"," ",m.jsx("span",{className:"font-mono text-[#888]",children:R})]})]}),m.jsx("button",{onClick:()=>o("overview"),className:"w-full cursor-pointer rounded-lg px-4 py-2.5 text-sm font-semibold text-white transition-colors hover:bg-[rgba(255,255,255,0.06)]",style:{border:"1px solid #2a2a2a"},children:"Done"})]})]})]})}function oa(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function ao(e){return Array.isArray(e)?e:[]}function nr(e){return typeof e=="string"&&e.trim()?e:null}function Ba(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function DH(e){return e.replace(/_/g," ")}function R_(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function LH(e){if(e==null||e<0)return"n/a";const t=Math.floor(e/3600),r=Math.floor(e%3600/60),a=e%60;return t?`${t}h ${r}m ${a}s`:r?`${r}m ${a}s`:`${a}s`}function En({label:e,children:t}){return m.jsxs("div",{className:"grid grid-cols-[7rem_1fr] gap-3 items-baseline",children:[m.jsx("dt",{className:"text-[11px] uppercase tracking-wide text-[#666]",children:e}),m.jsx("dd",{className:"min-w-0 break-words text-sm text-[#ddd]",children:t})]})}function zH({raw:e,durationSeconds:t}){const[r,a]=ee.useState(!0),s=ao(e.targets_info).map(P=>{const k=oa(P),$=nr(k.original)??nr(oa(k.details).target_url)??"unknown target",O=nr(k.type);return{display:$,type:O?DH(O):null}}),o=nr(e.instruction),c=R_(nr(e.scan_mode)),d=nr(e.scope_mode),h=oa(e.diff_scope),f=h.active===!0,p=nr(h.mode),g=nr(e.diff_base),b=e.non_interactive===!0,y=ao(e.local_sources).map(P=>{if(typeof P=="string")return P;const k=oa(P);return nr(k.source_path)??nr(k.target_path)??""}).filter(Boolean),_=R_(nr(e.status));let N=d??"auto";f&&(N+=` (diff${p?`: ${p}`:""}${g?` vs ${g}`:""})`);const S=oa(e.llm_usage),w=Object.keys(S).length>0,C=ao(S.agents).map(oa),E=Array.from(new Set(C.map(P=>nr(P.model)).filter(P=>!!P))),A=Ba(S.requests),B=Ba(S.input_tokens),R=Ba(oa(ao(S.input_tokens_details)[0]).cached_tokens),H=Ba(S.output_tokens),z=Ba(oa(ao(S.output_tokens_details)[0]).reasoning_tokens),Y=Ba(S.total_tokens),j=Ba(S.cost),I=nr(e.auth_mode)==="subscription",Z=(P,k)=>m.jsxs("span",{className:"text-[#666]",children:[" (",Ls(P)," ",k,")"]});return m.jsxs("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:[m.jsxs("button",{type:"button",onClick:()=>a(P=>!P),"aria-expanded":r,className:"flex w-full cursor-pointer items-center gap-2 text-left",children:[m.jsx(KC,{className:"h-4 w-4 text-[#888]","aria-hidden":"true"}),m.jsx("h2",{className:"text-sm font-semibold text-white",children:"Run details"}),r?m.jsx(q_,{className:"ml-auto h-4 w-4 text-[#666]","aria-hidden":"true"}):m.jsx(po,{className:"ml-auto h-4 w-4 text-[#666]","aria-hidden":"true"})]}),r&&m.jsxs("div",{className:"mt-4 grid grid-cols-1 gap-x-8 gap-y-6 md:grid-cols-2",children:[m.jsxs("section",{children:[m.jsx("h3",{className:"mb-3 text-[11px] font-semibold uppercase tracking-wide text-[#555]",children:"Configuration"}),m.jsxs("dl",{className:"space-y-2.5",children:[s.length>0&&m.jsx(En,{label:"Targets",children:m.jsx("div",{className:"space-y-1",children:s.map((P,k)=>m.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[m.jsx("span",{className:"font-mono text-[#ddd]",children:P.display}),P.type&&m.jsx("span",{className:"rounded-full border border-[#2a2a2a] px-1.5 py-0.5 text-[10px] text-[#888]",children:P.type})]},k))})}),m.jsx(En,{label:"Instruction",children:o?m.jsx("span",{className:"whitespace-pre-wrap",children:o}):m.jsx("span",{className:"text-[#666]",children:"None"})}),c&&m.jsx(En,{label:"Pentest mode",children:c}),m.jsx(En,{label:"Scope",children:N}),m.jsx(En,{label:"Mode",children:b?"Non-interactive":"Interactive"}),y.length>0&&m.jsx(En,{label:"Local sources",children:m.jsx("div",{className:"space-y-0.5 font-mono text-[#ddd]",children:y.map((P,k)=>m.jsx("div",{children:P},k))})}),_&&m.jsx(En,{label:"Status",children:_})]})]}),m.jsxs("section",{children:[m.jsx("h3",{className:"mb-3 text-[11px] font-semibold uppercase tracking-wide text-[#555]",children:"Usage & cost"}),w?m.jsxs("dl",{className:"space-y-2.5 tabular-nums",children:[m.jsx(En,{label:"Model",children:E.length?E.join(", "):"n/a"}),I&&m.jsx(En,{label:"Provider",children:m.jsx("span",{className:"inline-flex items-center gap-1.5",children:m.jsx("span",{className:"rounded-full border border-[#22c55e]/40 bg-[#22c55e]/10 px-2 py-0.5 text-[11px] text-[#22c55e]",children:"ChatGPT subscription"})})}),m.jsx(En,{label:"Run time",children:LH(t)}),A!=null&&m.jsx(En,{label:"Requests",children:Ls(A)}),B!=null&&m.jsxs(En,{label:"Input tokens",children:[Ls(B),R!=null&&Z(R,"cached")]}),H!=null&&m.jsxs(En,{label:"Output tokens",children:[Ls(H),z!=null&&Z(z,"reasoning")]}),Y!=null&&m.jsx(En,{label:"Total tokens",children:Ls(Y)}),I?m.jsxs(En,{label:"Cost",children:[m.jsx("span",{className:"text-[#22c55e]",children:"$0.00"}),m.jsx("span",{className:"text-[#666]",children:" (subscription)"})]}):j!=null&&m.jsxs(En,{label:"Cost",children:["$",j.toFixed(2)]}),C.length>0&&m.jsx(En,{label:"Agents",children:Ls(C.length)})]}):m.jsx("p",{className:"text-sm text-[#666]",children:"Not available yet."})]})]})]})}const j_="strix_viewer_trust_dismissed";function IH({message:e}){const[t,r]=ee.useState(()=>{try{return localStorage.getItem(j_)==="1"}catch{return!1}});if(t)return null;const a=()=>{try{localStorage.setItem(j_,"1")}catch{}r(!0)};return m.jsx("div",{className:"fixed bottom-3 left-3 z-[60] max-w-xs rounded-lg bg-[#0a0a0a] p-3 shadow-2xl",style:{border:"1px solid #2a2a2a"},role:"status",children:m.jsxs("div",{className:"flex gap-2.5",children:[m.jsx(W_,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-emerald-400","aria-hidden":"true"}),m.jsx("p",{className:"text-xs leading-relaxed text-[#aaa]",children:e}),m.jsx("button",{onClick:a,"aria-label":"Dismiss",className:"-mr-0.5 -mt-0.5 flex-shrink-0 cursor-pointer rounded p-0.5 text-[#666] transition-colors hover:text-white",children:m.jsx(kp,{className:"h-3.5 w-3.5"})})]})})}const BH=5e3,D_={invalid_email:"That email doesn't look right.",invalid_message:"Please write a little more.",unavailable:"Couldn't send that just now. Try again."};function UH({defaultEmail:e,onExit:t}){const[r,a]=ee.useState(""),[s,o]=ee.useState(e??""),[c,d]=ee.useState("form"),[h,f]=ee.useState(null),p=r.trim().length>0&&s.trim().length>0&&c!=="sending",g=async()=>{if(!p)return;d("sending"),f(null);const b=await tH(r.trim(),s.trim());if(b.ok){d("sent");return}d("form"),f(D_[b.error]??D_.unavailable)};return m.jsxs("div",{className:"mx-auto max-w-xl space-y-4",children:[m.jsxs("button",{onClick:()=>t("overview"),className:"cursor-pointer inline-flex items-center gap-1.5 text-sm text-[#888] transition-colors hover:text-white",children:[m.jsx(Ep,{className:"h-4 w-4"}),"Back to results"]}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(M2,{className:"h-5 w-5 text-[#888]","aria-hidden":"true"}),m.jsx("h1",{className:"text-2xl font-semibold text-white",children:"Feedback & support"})]}),m.jsx("div",{className:"w-full rounded-2xl bg-[rgba(255,255,255,0.02)] p-6",style:{border:"1px solid #2a2a2a"},children:c==="sent"?m.jsxs("div",{className:"flex items-start gap-3",children:[m.jsx(Nu,{className:"mt-0.5 h-5 w-5 flex-shrink-0 text-emerald-400","aria-hidden":"true"}),m.jsxs("div",{className:"min-w-0",children:[m.jsx("p",{className:"text-sm font-semibold text-white",children:"Thanks, we got it."}),m.jsx("p",{className:"mt-1 text-xs text-[#888]",children:"We read every message. If it needs a reply, we'll reach out to the email you gave."}),m.jsx("button",{onClick:()=>{a(""),d("form")},className:"mt-4 cursor-pointer text-xs text-[#888] transition-colors hover:text-white",children:"Send more feedback"})]})]}):m.jsxs(m.Fragment,{children:[m.jsx("p",{className:"mb-4 text-xs text-[#666]",children:"Bugs, feature requests, or anything else. Tell us what's on your mind."}),h&&m.jsxs("div",{className:"mb-4 flex items-start gap-2 rounded-lg border border-red-500/30 bg-red-500/5 px-3 py-2",children:[m.jsx(Gu,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-red-400","aria-hidden":"true"}),m.jsx("p",{className:"text-xs text-red-300",children:h})]}),m.jsxs("label",{className:"block",children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"Your feedback"}),m.jsx("textarea",{autoFocus:!0,value:r,maxLength:BH,onChange:b=>a(b.target.value),rows:5,placeholder:"What's working, what's not, what you'd love to see…",className:"w-full resize-y rounded-lg border border-[#2a2a2a] bg-black px-3 py-2.5 text-sm text-white outline-none transition-colors focus:border-white/50 focus:ring-2 focus:ring-white/10"})]}),m.jsxs("label",{className:"mt-4 block",children:[m.jsx("span",{className:"mb-1.5 block text-xs text-[#888]",children:"Your work email"}),m.jsx("input",{type:"email",value:s,onChange:b=>o(b.target.value),placeholder:"you@company.com",className:"w-full rounded-lg border border-[#2a2a2a] bg-black px-3 py-2.5 text-sm text-white outline-none transition-colors focus:border-white/50 focus:ring-2 focus:ring-white/10"})]}),m.jsx("button",{onClick:()=>void g(),disabled:!p,className:"mt-4 flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-white px-4 py-2.5 text-sm font-semibold text-black transition-opacity hover:opacity-90 disabled:opacity-60",children:c==="sending"?"Sending…":"Send feedback"})]})})]})}function HH({text:e,children:t,className:r=""}){const[a,s]=ee.useState(!1);return m.jsxs("span",{className:`relative inline-flex ${r}`,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),onFocus:()=>s(!0),onBlur:()=>s(!1),children:[t,a&&m.jsx("span",{role:"tooltip",className:"pointer-events-none absolute bottom-full left-1/2 z-50 mb-2 w-max max-w-[240px] -translate-x-1/2 rounded-md px-2.5 py-1.5 text-xs text-[#ddd] shadow-lg",style:{border:"1px solid #2a2a2a",background:"#0a0a0a"},children:e})]})}function Ao({label:e,desc:t,slug:r,icon:a,surface:s,href:o=Yu,primary:c=!1}){return m.jsx(HH,{text:t,children:m.jsxs("a",{href:_i(o,r),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr(r,s),className:c?"group inline-flex items-center gap-2 rounded-lg border border-white bg-white px-3 py-2 text-sm font-semibold text-black transition-colors hover:bg-[#e5e5e5]":"group inline-flex items-center gap-2 rounded-lg border border-[#222] bg-[rgba(255,255,255,0.02)] px-3 py-2 text-sm text-[#aaa] transition-colors hover:border-[#444] hover:text-white",children:[m.jsx(a,{className:c?"h-4 w-4 text-black":"h-4 w-4 text-[#888] transition-colors group-hover:text-white","aria-hidden":"true"}),m.jsx("span",{children:e})]})})}const $H="Your findings stay on your machine. They're rendered here locally in your browser and never uploaded or stored by Strix.",L_=["critical","high","medium","low"],qH=500;function PH(){const[e,t]=ee.useState(null),[r,a]=ee.useState(null),[s,o]=ee.useState(null),[c,d]=ee.useState(null),[h,f]=ee.useState("overview"),[p,g]=ee.useState(null),[b,y]=ee.useState(null),[_,N]=ee.useState("report"),[S,w]=ee.useState(!1),[C,E]=ee.useState(!1),A=ee.useCallback(async()=>{try{g(await nH())}catch{}},[]),B=ee.useCallback(async()=>{try{y(await WU())}catch{}},[]);ee.useEffect(()=>{A(),B(),JU().then(F=>E(F.can_steer)).catch(()=>{})},[A,B]);const R=ee.useRef(!1);ee.useEffect(()=>{let F=!1,D;R.current=!1;const V=()=>{D=setTimeout(q,qH)},q=async()=>{if(!F)try{const{summary:Q,raw:J,finished:W}=await w2(e);if(F)return;if(W&&!R.current){R.current=!0;const fe=await w_(e);F||a(fe);return}const[te,oe]=await Promise.all([N2(e).catch(()=>({agents:[],events:[]})),E2(Q.runId,e).catch(()=>[])]);if(F)return;a(fe=>({summary:Q,raw:J,finished:W,transcript:te,vulnerabilities:oe,reportMarkdown:(fe==null?void 0:fe.reportMarkdown)??null})),V()}catch(Q){if(F)return;o(Q instanceof Error?Q.message:"Could not load run data."),V()}};return(async()=>{try{const Q=await w_(e);if(F)return;a(Q),Q.finished?R.current=!0:V()}catch(Q){if(F)return;o(Q instanceof Error?Q.message:"Could not load run data."),V()}})(),()=>{F=!0,D&&clearTimeout(D)}},[e]);const H=ee.useMemo(()=>r?KU(r.vulnerabilities):null,[r]),z=(r==null?void 0:r.vulnerabilities.find(F=>F.id===c))??null,Y=(r==null?void 0:r.transcript.agents.length)??0,j=(p==null?void 0:p.verified)===!0,I=ee.useMemo(()=>r?ZU(r.raw):[],[r]),Z=ee.useMemo(()=>{var D,V;const F=new Set;for(const q of(r==null?void 0:r.transcript.events)??[]){if(q.type!=="tool")continue;const Q=(D=q.data)==null?void 0:D.mcp_connection;typeof Q!="string"||!Q||((V=q.data)==null?void 0:V.status)==="running"&&F.add(Q)}return F},[r]),P=ee.useRef(!1);ee.useEffect(()=>{P.current=!1},[e]),ee.useEffect(()=>{P.current||!r||(r.finished?(P.current=!0,f("overview")):Y>0&&(P.current=!0,f("agents")))},[r,Y]);const k=ee.useCallback(F=>{P.current=!0,f(F)},[]),$=ee.useCallback(F=>{t(F),d(null),a(null),o(null),P.current=!1},[]),O=ee.useCallback((F,D)=>{yr("email_report",D),N("report"),w(F),k("email")},[k]),U=ee.useCallback(()=>O(!1,"sidebar"),[O]),K=ee.useCallback(()=>O(!0,"overview"),[O]),X=ee.useCallback(()=>{B(),k("history")},[B,k]),M=ee.useCallback(async()=>{await A(),await B()},[A,B]),L=ee.useCallback(async()=>{await rH(),await A(),await B()},[A,B]);return m.jsxs("div",{className:"min-h-screen bg-black text-white flex",children:[m.jsx(_H,{view:h,onSelectView:F=>{d(null),F==="history"?X():k(F)},issuesCount:(r==null?void 0:r.vulnerabilities.length)??0,agentCount:Y,mcpConnections:I,mcpInUse:Z,runCount:(b==null?void 0:b.count)??0,finished:(r==null?void 0:r.finished)??!1,verified:j,email:(p==null?void 0:p.email)??null,onOpenEmail:U,onOpenHistory:X,onForget:()=>void L()}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsx("div",{className:"border-b border-[#222]",children:m.jsxs("div",{className:"max-w-[88rem] mx-auto px-3 sm:px-6 py-4 flex items-center gap-1.5",children:[m.jsxs("a",{href:_i("https://app.strix.ai","logo"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("logo","topbar"),className:"flex items-center gap-1.5 opacity-90 transition-opacity hover:opacity-100 lg:hidden",title:"Open Strix Cloud",children:[m.jsx("img",{src:"./logo.png",alt:"Strix",className:"w-10 h-8 object-cover"}),m.jsx("div",{className:"text-base text-white font-medium tracking-tight",children:"Strix"})]}),r&&m.jsx(GH,{finished:r.finished}),m.jsxs("div",{className:"ml-auto flex items-center gap-3",children:[j&&b&&!b.locked&&b.runs.length>0&&m.jsx(FH,{runs:b,activeRun:e,launchedName:yo((r==null?void 0:r.summary.targets[0])??null,(r==null?void 0:r.summary.runName)??(r==null?void 0:r.summary.runId)??"Current run"),onSelect:$}),m.jsxs("a",{href:_i(Yu,"run_in_cloud"),target:"_blank",rel:"noopener noreferrer",onClick:()=>yr("run_in_cloud","topbar"),className:"inline-flex items-center gap-1 rounded-lg bg-white px-3 py-1.5 text-xs font-semibold text-black transition-opacity hover:opacity-90",children:["Run in the cloud",m.jsx(B_,{className:"w-3 h-3","aria-hidden":"true"})]})]})]})}),m.jsxs("div",{className:"max-w-[88rem] mx-auto px-3 sm:px-6 py-8 sm:py-12 space-y-6",children:[s&&!r&&h!=="history"&&h!=="email"&&m.jsxs("div",{className:"rounded-lg px-4 py-3 flex gap-3 items-start border border-red-500/30 bg-red-500/5",children:[m.jsx(Gu,{className:"w-5 h-5 flex-shrink-0 mt-0.5 text-red-400","aria-hidden":"true"}),m.jsx("p",{className:"text-sm text-red-300",children:s})]}),m.jsx("div",{className:"animate-page-in space-y-6",children:h==="email"?m.jsx(jH,{activeRun:e,auth:p,purpose:_,skipDisclosure:S,onAuthChanged:()=>{A(),B()},onExit:F=>f(F==="history"?"history":"overview")}):h==="feedback"?m.jsx(UH,{defaultEmail:(p==null?void 0:p.email)??null,onExit:F=>f(F)}):h==="history"?m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Ys,{className:"w-5 h-5 text-[#888]","aria-hidden":"true"}),m.jsx("h1",{className:"text-2xl font-semibold text-white",children:"Past runs"})]}),m.jsx(MH,{runs:b,activeRun:e,onSelectRun:$,onVerified:()=>void M()})]}):!r&&!s?m.jsxs("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-10 text-center",children:[m.jsx("div",{className:"w-6 h-6 mx-auto mb-3 rounded-full border-2 border-[#333] border-t-white animate-spin"}),m.jsx("p",{className:"text-sm text-[#888]",children:"Loading run data…"})]}):r&&H?m.jsxs(m.Fragment,{children:[m.jsx(YH,{summary:r.summary}),m.jsxs("div",{className:"flex gap-5 border-b border-[#2a2a2a] lg:hidden",children:[m.jsx(Pm,{active:h==="overview",onClick:()=>k("overview"),children:"Pentest Overview"}),m.jsxs(Pm,{active:h==="issues",onClick:()=>k("issues"),children:["Issues",r.vulnerabilities.length>0?` (${r.vulnerabilities.length})`:""]}),Y>0&&m.jsxs(Pm,{active:h==="agents",onClick:()=>k("agents"),children:["Agents (",Y,")"]})]}),h==="overview"?m.jsx(WH,{summary:r.summary,counts:H,total:r.vulnerabilities.length,reportMarkdown:r.reportMarkdown,raw:r.raw,finished:r.finished,onOpenEmail:K}):h==="agents"&&Y>0?m.jsx(JH,{run:r,canSteer:C}):z?m.jsxs("div",{className:"space-y-4",children:[m.jsxs("button",{onClick:()=>d(null),className:"cursor-pointer inline-flex items-center gap-1.5 text-sm text-[#888] hover:text-white transition-colors",children:[m.jsx(Ep,{className:"w-4 h-4"})," Back to all findings"]}),m.jsx(xD,{vulnerability:z})]}):m.jsx(XH,{vulnerabilities:r.vulnerabilities,finished:r.finished,onSelect:F=>d(F)})]}):null},`${e??"launched"}:${h}:${c??""}`)]})]}),m.jsx(IH,{message:$H})]})}function FH({runs:e,activeRun:t,launchedName:r,onSelect:a}){const[s,o]=ee.useState(!1),c=e.runs.find(h=>h.name===t),d=c?yo(c.target,c.name):r;return m.jsxs("div",{className:"relative",children:[m.jsxs("button",{onClick:()=>o(h=>!h),onBlur:()=>setTimeout(()=>o(!1),150),"aria-label":"Switch pentest",className:"flex items-center gap-2 rounded-lg border border-[#3a3a3a] bg-[rgba(255,255,255,0.05)] px-3 py-2 text-sm text-white transition-colors hover:border-[#555] hover:bg-[rgba(255,255,255,0.09)]",children:[m.jsx(Ys,{className:"h-4 w-4 flex-shrink-0 text-[#888]","aria-hidden":"true"}),m.jsx("span",{className:"flex-shrink-0 text-[#888]",children:"Pentest"}),m.jsx("span",{className:"max-w-[260px] truncate font-medium",children:d}),m.jsx(po,{className:"h-4 w-4 flex-shrink-0 text-[#aaa]","aria-hidden":"true"})]}),s&&m.jsxs("div",{className:"absolute right-0 z-50 mt-2 max-h-96 w-96 overflow-y-auto rounded-xl py-1.5 shadow-2xl",style:{border:"1px solid #3a3a3a",background:"#0a0a0a"},children:[m.jsx("div",{className:"border-b border-[#222] px-3 py-2 text-[11px] font-semibold uppercase tracking-wide text-[#666]",children:"Switch pentest"}),e.runs.map(h=>{const f=h.name===t;return m.jsxs("button",{onMouseDown:()=>a(h.name),className:`flex w-full items-center gap-2 px-3 py-2.5 text-left text-sm transition-colors hover:bg-[rgba(255,255,255,0.06)] ${f?"bg-[rgba(255,255,255,0.04)] text-white":"text-[#aaa]"}`,children:[m.jsxs("span",{className:"min-w-0 flex-1",children:[m.jsx("span",{className:"block truncate font-medium",children:yo(h.target,h.name)}),h.target&&m.jsx("span",{className:"block truncate font-mono text-xs text-[#666]",children:h.target})]}),f&&m.jsx("span",{className:"h-2 w-2 flex-shrink-0 rounded-full bg-emerald-400"})]},h.name)})]})]})}function GH({finished:e}){return e?m.jsxs("span",{className:"ml-3 inline-flex items-center gap-1.5 text-xs text-[#888]",children:[m.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-[#555]"}),"Complete"]}):m.jsxs("span",{className:"ml-3 inline-flex items-center gap-1.5 text-xs text-emerald-400",children:[m.jsxs("span",{className:"relative flex h-1.5 w-1.5",children:[m.jsx("span",{className:"absolute inline-flex h-full w-full rounded-full bg-emerald-400 opacity-75 animate-ping"}),m.jsx("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-emerald-400"})]}),"Live"]})}function VH(e){if(e==null)return null;if(e<60)return`${e}s`;const t=Math.floor(e/60);return t<60?`${t}m`:`${Math.floor(t/60)}h ${t%60}m`}function YH({summary:e}){const t=VH(e.durationSeconds);return m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:yo(e.targets[0]??null,e.runName??e.runId??"Pentest results")}),m.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-sm text-[#888]",children:[e.targets.length>0&&m.jsx("span",{className:"font-mono text-[#aaa]",children:e.targets.join(", ")}),e.scanMode&&m.jsx(qm,{label:e.scanMode}),t&&m.jsx(qm,{label:t}),e.status&&m.jsx(qm,{label:e.status})]})]})}function qm({label:e}){return m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-[#333]",children:"·"}),m.jsx("span",{className:"capitalize",children:e})]})}function XH({vulnerabilities:e,finished:t,onSelect:r}){const a=[...e].sort((s,o)=>L_.indexOf(s.severity)-L_.indexOf(o.severity));return a.length===0?m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-8 text-center text-sm text-[#888]",children:t?"No findings in this run.":"No findings yet. The pentest is still running…"}),t&&m.jsxs("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:[m.jsx("p",{className:"text-sm font-medium text-white",children:"Stay ahead of new exposures"}),m.jsx("p",{className:"mt-0.5 mb-3 text-xs text-[#666]",children:"Attack surface monitoring catches new exposures for your org over time."}),m.jsx(Ao,{label:"Attack surface monitoring",desc:"Continuous coverage for your whole org.",slug:"asm",surface:"empty_state",icon:uT})]})]}):m.jsx("div",{className:"space-y-2",children:a.map(s=>m.jsxs("button",{onClick:()=>r(s.id),className:"animate-card-in cursor-pointer w-full text-left rounded-lg border border-[#222] hover:border-[#444] bg-[rgba(255,255,255,0.02)] px-4 py-3 transition-colors flex items-center gap-3",children:[m.jsx("span",{className:`w-2.5 h-2.5 rounded-full flex-shrink-0 ${Cp(s.severity)}`,"aria-hidden":"true"}),m.jsxs("span",{className:"flex-1 min-w-0",children:[m.jsx("span",{className:"block text-sm font-medium text-white truncate",children:s.title}),s.target&&m.jsx("span",{className:"block text-xs text-[#666] font-mono truncate",children:s.target})]}),m.jsx("span",{className:`text-xs font-semibold px-2 py-0.5 rounded-full border capitalize ${ew[s.severity]}`,children:s.severity})]},s.id))})}function KH(e){return e.replace(/^\s*#{1,6}[ \t]+.*(?:\r?\n)+/,"").trimStart()}function ZH(e){const t=[];let r=null;for(const a of e.split(` `)){const s=a.match(/^#{1,6}\s+(.*)$/);if(s){const o=s[1].trim().toLowerCase();if(o===r)continue;r=o}else a.trim()!==""&&(r=null);t.push(a)}return t.join(` -`)}function KH({onOpenEmail:e}){return m.jsx("button",{onClick:e,className:"group w-full cursor-pointer rounded-xl border border-emerald-500/25 bg-emerald-500/[0.06] p-4 text-left transition-colors hover:border-emerald-500/40",children:m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("div",{className:"flex h-9 w-9 flex-shrink-0 items-center justify-center rounded-lg",style:{border:"1px solid rgba(16,185,129,0.3)",background:"rgba(16,185,129,0.08)"},children:m.jsx(Np,{className:"h-4 w-4 text-emerald-400","aria-hidden":"true"})}),m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsx("p",{className:"text-sm font-semibold text-white",children:"Email an encrypted PDF report of this run"}),m.jsx("p",{className:"mt-0.5 text-xs text-[#888]",children:"Encrypted with a key only you can see, email verified with a one-time code before sending."})]}),m.jsx("span",{className:"flex-shrink-0 rounded-lg bg-white px-3 py-1.5 text-xs font-semibold text-black transition-opacity group-hover:opacity-90",children:"Export report to PDF"})]})})}function ZH({summary:e,counts:t,total:r,reportMarkdown:a,raw:s,finished:o,onOpenEmail:c}){const d=[["Executive Summary",e.executiveSummary],["Technical Analysis",e.technicalAnalysis],["Methodology",e.methodology],["Recommendations",e.recommendations]].filter(([,h])=>!!h).map(([h,f])=>({title:h,content:YH(f)}));return m.jsxs("div",{className:"space-y-6",children:[m.jsx("div",{className:"animate-card-in",children:m.jsx(DH,{raw:s,durationSeconds:e.durationSeconds})}),r>0&&m.jsx("div",{className:"animate-card-in rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:m.jsx(bD,{findings:{total:r,...t}})}),o&&m.jsx("div",{className:"animate-card-in",children:m.jsx(KH,{onOpenEmail:c})}),o&&m.jsxs("div",{className:"animate-card-in rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:[m.jsx("p",{className:"text-sm font-semibold text-white",children:"Strix Cloud"}),m.jsx("p",{className:"mt-0.5 text-xs text-[#666]",children:"Run your next pentest in Strix Cloud."}),m.jsxs("div",{className:"mt-3 flex flex-wrap gap-2.5",children:[m.jsx(Ao,{label:"Run a pentest in Strix Cloud",desc:"Validated findings, autofix, and PR reviews.",slug:"overview_cloud",surface:"overview",icon:Q_,primary:!0}),m.jsx(Ao,{label:"Try Strix Enterprise",desc:"SSO, compliance-ready reports, VPC or self-hosted deployment.",slug:"book_demo",surface:"overview",icon:$_,href:Ap})]})]}),d.length>0?m.jsx("div",{className:"animate-card-in rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5 space-y-8",children:d.map(h=>m.jsx(ca,{title:h.title,content:h.content},h.title))}):a?m.jsx("div",{className:"animate-card-in rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:m.jsx(ca,{content:XH(a)})}):r===0&&m.jsx("p",{className:"text-sm text-[#888]",children:"No summary available for this run yet."})]})}function Pm({active:e,onClick:t,children:r}){return m.jsxs("button",{onClick:t,className:`cursor-pointer relative pb-2.5 text-sm font-semibold transition-colors ${e?"text-white":"text-[#666] hover:text-white"}`,children:[r,e&&m.jsx("span",{className:"absolute bottom-0 inset-x-0 h-0.5 bg-white rounded-full"})]})}function QH({run:e,canSteer:t}){const{agents:r,events:a}=e.transcript,s=ee.useMemo(()=>IU(r,a),[r,a]),[o,c]=ee.useState(null),d=o?r.find(f=>f.id===o)??null:null,h=t&&!e.finished;return m.jsxs("div",{className:"space-y-5",children:[m.jsxs("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Ro,{className:"w-4 h-4 text-[#888]","aria-hidden":"true"}),m.jsx("h2",{className:"text-sm font-semibold text-white",children:"Agent graph"}),m.jsxs("span",{className:"text-xs text-[#666]",children:[r.length," agent",r.length===1?"":"s"]})]}),m.jsx("p",{className:"mt-1 mb-4 text-xs text-[#666]",children:"Click an agent to open its full transcript."}),m.jsx("div",{className:"h-[480px] rounded-lg border border-[#1a1a1a] overflow-hidden",children:m.jsx(l7,{agents:s,selectedAgentId:o,onSelectAgent:f=>c(f),eventsLoaded:!0,eventsEmpty:s.size===0,scanCompleted:e.finished})})]}),h&&m.jsx(C2,{agents:r}),m.jsxs("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:[m.jsx("p",{className:"text-sm font-semibold text-white",children:"Run this pentest with more depth"}),m.jsx("p",{className:"mt-0.5 text-xs text-[#666]",children:"Run this pentest again in Strix Cloud."}),m.jsxs("div",{className:"mt-3 flex flex-wrap gap-2.5",children:[m.jsx(Ao,{label:"Re-run in Strix Pro with more depth",desc:"More depth, validated findings, and autofix.",slug:"live_scan",surface:"agents",icon:Q_,primary:!0}),m.jsx(Ao,{label:"Try Strix Enterprise",desc:"SSO, compliance-ready reports, VPC or self-hosted deployment.",slug:"book_demo",surface:"agents",icon:$_,href:Ap})]})]}),m.jsx(aH,{open:d!==null,agent:d,events:a,steerable:h,onClose:()=>c(null)})]})}$k.createRoot(document.getElementById("root")).render(m.jsx(ee.StrictMode,{children:m.jsx($H,{})})); +`)}function QH({onOpenEmail:e}){return m.jsx("button",{onClick:e,className:"group w-full cursor-pointer rounded-xl border border-emerald-500/25 bg-emerald-500/[0.06] p-4 text-left transition-colors hover:border-emerald-500/40",children:m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("div",{className:"flex h-9 w-9 flex-shrink-0 items-center justify-center rounded-lg",style:{border:"1px solid rgba(16,185,129,0.3)",background:"rgba(16,185,129,0.08)"},children:m.jsx(Np,{className:"h-4 w-4 text-emerald-400","aria-hidden":"true"})}),m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsx("p",{className:"text-sm font-semibold text-white",children:"Email an encrypted PDF report of this run"}),m.jsx("p",{className:"mt-0.5 text-xs text-[#888]",children:"Encrypted with a key only you can see, email verified with a one-time code before sending."})]}),m.jsx("span",{className:"flex-shrink-0 rounded-lg bg-white px-3 py-1.5 text-xs font-semibold text-black transition-opacity group-hover:opacity-90",children:"Export report to PDF"})]})})}function WH({summary:e,counts:t,total:r,reportMarkdown:a,raw:s,finished:o,onOpenEmail:c}){const d=[["Executive Summary",e.executiveSummary],["Technical Analysis",e.technicalAnalysis],["Methodology",e.methodology],["Recommendations",e.recommendations]].filter(([,h])=>!!h).map(([h,f])=>({title:h,content:KH(f)}));return m.jsxs("div",{className:"space-y-6",children:[m.jsx("div",{className:"animate-card-in",children:m.jsx(zH,{raw:s,durationSeconds:e.durationSeconds})}),r>0&&m.jsx("div",{className:"animate-card-in rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:m.jsx(bD,{findings:{total:r,...t}})}),o&&m.jsx("div",{className:"animate-card-in",children:m.jsx(QH,{onOpenEmail:c})}),o&&m.jsxs("div",{className:"animate-card-in rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:[m.jsx("p",{className:"text-sm font-semibold text-white",children:"Strix Cloud"}),m.jsx("p",{className:"mt-0.5 text-xs text-[#666]",children:"Run your next pentest in Strix Cloud."}),m.jsxs("div",{className:"mt-3 flex flex-wrap gap-2.5",children:[m.jsx(Ao,{label:"Run a pentest in Strix Cloud",desc:"Validated findings, autofix, and PR reviews.",slug:"overview_cloud",surface:"overview",icon:Q_,primary:!0}),m.jsx(Ao,{label:"Try Strix Enterprise",desc:"SSO, compliance-ready reports, VPC or self-hosted deployment.",slug:"book_demo",surface:"overview",icon:$_,href:Ap})]})]}),d.length>0?m.jsx("div",{className:"animate-card-in rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5 space-y-8",children:d.map(h=>m.jsx(ca,{title:h.title,content:h.content},h.title))}):a?m.jsx("div",{className:"animate-card-in rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:m.jsx(ca,{content:ZH(a)})}):r===0&&m.jsx("p",{className:"text-sm text-[#888]",children:"No summary available for this run yet."})]})}function Pm({active:e,onClick:t,children:r}){return m.jsxs("button",{onClick:t,className:`cursor-pointer relative pb-2.5 text-sm font-semibold transition-colors ${e?"text-white":"text-[#666] hover:text-white"}`,children:[r,e&&m.jsx("span",{className:"absolute bottom-0 inset-x-0 h-0.5 bg-white rounded-full"})]})}function JH({run:e,canSteer:t}){const{agents:r,events:a}=e.transcript,s=ee.useMemo(()=>UU(r,a),[r,a]),[o,c]=ee.useState(null),d=o?r.find(f=>f.id===o)??null:null,h=t&&!e.finished;return m.jsxs("div",{className:"space-y-5",children:[m.jsxs("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Ro,{className:"w-4 h-4 text-[#888]","aria-hidden":"true"}),m.jsx("h2",{className:"text-sm font-semibold text-white",children:"Agent graph"}),m.jsxs("span",{className:"text-xs text-[#666]",children:[r.length," agent",r.length===1?"":"s"]})]}),m.jsx("p",{className:"mt-1 mb-4 text-xs text-[#666]",children:"Click an agent to open its full transcript."}),m.jsx("div",{className:"h-[480px] rounded-lg border border-[#1a1a1a] overflow-hidden",children:m.jsx(l7,{agents:s,selectedAgentId:o,onSelectAgent:f=>c(f),eventsLoaded:!0,eventsEmpty:s.size===0,scanCompleted:e.finished})})]}),h&&m.jsx(C2,{agents:r}),m.jsxs("div",{className:"rounded-xl border border-[#222] bg-[rgba(255,255,255,0.02)] p-5",children:[m.jsx("p",{className:"text-sm font-semibold text-white",children:"Run this pentest with more depth"}),m.jsx("p",{className:"mt-0.5 text-xs text-[#666]",children:"Run this pentest again in Strix Cloud."}),m.jsxs("div",{className:"mt-3 flex flex-wrap gap-2.5",children:[m.jsx(Ao,{label:"Re-run in Strix Pro with more depth",desc:"More depth, validated findings, and autofix.",slug:"live_scan",surface:"agents",icon:Q_,primary:!0}),m.jsx(Ao,{label:"Try Strix Enterprise",desc:"SSO, compliance-ready reports, VPC or self-hosted deployment.",slug:"book_demo",surface:"agents",icon:$_,href:Ap})]})]}),m.jsx(lH,{open:d!==null,agent:d,events:a,steerable:h,onClose:()=>c(null)})]})}$k.createRoot(document.getElementById("root")).render(m.jsx(ee.StrictMode,{children:m.jsx(PH,{})})); diff --git a/strix/interface/viewer/static/index.html b/strix/interface/viewer/static/index.html index 2a391dc36..c167f1865 100644 --- a/strix/interface/viewer/static/index.html +++ b/strix/interface/viewer/static/index.html @@ -6,8 +6,8 @@ Strix Results - - + +
diff --git a/strix/report/state.py b/strix/report/state.py index ac15db899..5d13483e2 100644 --- a/strix/report/state.py +++ b/strix/report/state.py @@ -36,6 +36,23 @@ _global_report_state: Optional["ReportState"] = None _CONTROL_CHARS = re.compile(r"[\x00-\x1f\x7f]+") +class ReportRollbackError(RuntimeError): + """Raised when a failed deletion could not rewrite the on-disk indexes. + + The report is still on file in memory; the indexes are rewritten from + memory on the next save. + """ + + def __init__(self, report_id: str, *, cause: BaseException) -> None: + self.report_id = report_id + self.cause = cause + super().__init__( + f"Deletion of report '{report_id}' failed ({cause}) and the on-disk indexes " + "could not be restored; the report is still on file and the indexes are " + "rewritten on the next save" + ) + + def _strix_version() -> str | None: """Best-effort package version for the SARIF tool.driver.version field.""" try: @@ -221,6 +238,7 @@ class ReportState: self.caido_url: str | None = None self.vulnerability_found_callback: Callable[[dict[str, Any]], None] | None = None self.vulnerability_updated_callback: Callable[[dict[str, Any]], None] | None = None + self.vulnerability_deleted_callback: Callable[[dict[str, Any]], None] | None = None self._sarif_repo_ctx: dict[str, Any] | None = None self._sarif_repo_ctx_ready: bool = False @@ -342,7 +360,7 @@ class ReportState: agent_id: str | None = None, agent_name: str | None = None, ) -> str: - report_id = f"vuln-{len(self.vulnerability_reports) + 1:04d}" + report_id = self._next_report_id() report: dict[str, Any] = { "id": report_id, @@ -418,6 +436,24 @@ class ReportState: self.save_run_data() return report_id + def _deleted_vulnerability_reports(self) -> list[dict[str, Any]]: + raw = self.run_record.get("deleted_vulnerability_reports") + return [e for e in raw if isinstance(e, dict)] if isinstance(raw, list) else [] + + def _next_report_id(self) -> str: + """Allocate the id after every id this run has ever handed out. + + A deleted report leaves the list, so counting entries would hand its id + to the next finding and let that finding overwrite the deleted MD on disk + and inherit its history in every consumer that keys on the id. + """ + used = 0 + for entry in [*self.vulnerability_reports, *self._deleted_vulnerability_reports()]: + match = re.fullmatch(r"vuln-(\d+)", str(entry.get("id", ""))) + if match: + used = max(used, int(match.group(1))) + return f"vuln-{used + 1:04d}" + def update_vulnerability_report( self, report_id: str, @@ -516,6 +552,88 @@ class ReportState: self.save_run_data() return report + def delete_vulnerability_report( + self, + report_id: str, + *, + delete_reason: str, + deleted_by_agent_id: str | None = None, + deleted_by_agent_name: str | None = None, + ) -> dict[str, Any] | None: + """Withdraw a report from the run, keeping a record of the withdrawal. + + Returns the removed report, or ``None`` when the id is unknown. Every + agent in a run shares one trust boundary, so any of them may withdraw + any report (just as any of them may revise one); the run record keeps + who filed it, who withdrew it and why. The report leaves + ``vulnerability_reports`` and its rendered artifacts, and its id is + never reissued. + + The rewritten artifacts and the ``vulnerability_deleted_callback`` must + both accept the deletion first: if either fails the report is put back + and the error propagates, so the deletion can be retried + (:class:`ReportRollbackError` when the indexes could not be put back). + """ + report = next((r for r in self.vulnerability_reports if r.get("id") == report_id), None) + if report is None: + logger.warning("cannot delete unknown vulnerability report %s", report_id) + return None + + entry: dict[str, Any] = { + "id": report_id, + "title": report.get("title"), + "severity": report.get("severity"), + "filed_at": report.get("timestamp"), + "deleted_at": datetime.now(UTC).strftime("%Y-%m-%d %H:%M:%S UTC"), + "reason": delete_reason.strip()[:500], + } + if report.get("agent_id"): + entry["filed_by_agent_id"] = report["agent_id"] + if deleted_by_agent_id: + entry["agent_id"] = deleted_by_agent_id + if deleted_by_agent_name: + entry["agent_name"] = deleted_by_agent_name + + position = self.vulnerability_reports.index(report) + was_saved = report_id in self._saved_vuln_ids + history = self._deleted_vulnerability_reports() + + self.vulnerability_reports.remove(report) + self._saved_vuln_ids.discard(report_id) + self.run_record["deleted_vulnerability_reports"] = [*history, entry] + try: + # Local artifacts first: they can be put back if persistence then + # refuses, whereas a row deleted elsewhere cannot. + self._sync_llm_usage_record() + self._write_artifacts() + if self.vulnerability_deleted_callback: + self.vulnerability_deleted_callback({**report, "deletion": entry}) + except Exception as exc: + self.vulnerability_reports.insert(position, report) + if was_saved: + self._saved_vuln_ids.add(report_id) + if history: + self.run_record["deleted_vulnerability_reports"] = history + else: + self.run_record.pop("deleted_vulnerability_reports", None) + try: + self._write_artifacts() + except Exception as rollback_exc: + logger.exception( + "could not restore artifacts after failed deletion of %s", report_id + ) + raise ReportRollbackError(report_id, cause=exc) from rollback_exc + raise + + md_path = self.get_run_dir() / "vulnerabilities" / f"{report_id}.md" + try: + md_path.unlink(missing_ok=True) + except OSError: + logger.exception("could not remove %s", md_path) + + logger.info("Deleted vulnerability report %s - %s", report_id, report.get("title")) + return report + def get_existing_vulnerabilities(self) -> list[dict[str, Any]]: return list(self.vulnerability_reports) @@ -699,47 +817,54 @@ class ReportState: return None def _save_artifacts(self) -> None: - """Write scan artifacts under ``run_dir``.""" - run_dir = self.get_run_dir() + """Write scan artifacts under ``run_dir``; a write failure is logged.""" try: - run_dir.mkdir(parents=True, exist_ok=True) - - coverage = self._coverage_document() - if coverage is not None: - try: - write_coverage(run_dir, coverage) - except OSError: - logger.exception("coverage.json write failed (non-fatal)") - - if self.final_scan_result: - write_executive_report(run_dir, self.final_scan_result) - - if self.vulnerability_reports: - write_vulnerabilities(run_dir, self.vulnerability_reports, self._saved_vuln_ids) - - # SARIF 2.1.0 emitter for CI / ASPM integration. Always emit (even - # empty) so a clean run overwrites a prior findings.sarif rather than - # leaving a stale one — codeql-action's "absent from new submission → - # fixed" needs the fresh empty doc to auto-resolve alerts. Isolated - # in its own try: a SARIF-build error must NEVER break the CSV/MD/ - # run-record path (the emitter's own contract). - try: - write_sarif( - run_dir, - self.vulnerability_reports, - tool_version=_strix_version(), - repository_context=self._sarif_repository_context(), - coverage=coverage, - ) - except Exception: - logger.exception("SARIF emit failed (non-fatal; CSV/MD unaffected)") - - write_run_record(run_dir, self.run_record) - - logger.info("Essential scan data saved to: %s", run_dir) + self._write_artifacts() except (OSError, RuntimeError): logger.exception("Failed to save scan data") + def _write_artifacts(self) -> None: + """Write scan artifacts under ``run_dir``, raising when the index or + run record cannot be written.""" + run_dir = self.get_run_dir() + run_dir.mkdir(parents=True, exist_ok=True) + + coverage = self._coverage_document() + if coverage is not None: + try: + write_coverage(run_dir, coverage) + except OSError: + logger.exception("coverage.json write failed (non-fatal)") + + if self.final_scan_result: + write_executive_report(run_dir, self.final_scan_result) + + # An index is written for an empty list too once a report was + # deleted, or the CSV/JSON on disk would still list it. + if self.vulnerability_reports or self._deleted_vulnerability_reports(): + write_vulnerabilities(run_dir, self.vulnerability_reports, self._saved_vuln_ids) + + # SARIF 2.1.0 emitter for CI / ASPM integration. Always emit (even + # empty) so a clean run overwrites a prior findings.sarif rather than + # leaving a stale one — codeql-action's "absent from new submission → + # fixed" needs the fresh empty doc to auto-resolve alerts. Isolated + # in its own try: a SARIF-build error must NEVER break the CSV/MD/ + # run-record path (the emitter's own contract). + try: + write_sarif( + run_dir, + self.vulnerability_reports, + tool_version=_strix_version(), + repository_context=self._sarif_repository_context(), + coverage=coverage, + ) + except Exception: + logger.exception("SARIF emit failed (non-fatal; CSV/MD unaffected)") + + write_run_record(run_dir, self.run_record) + + logger.info("Essential scan data saved to: %s", run_dir) + def _sarif_repository_context(self) -> dict[str, Any] | None: """Repo/commit/branch context for SARIF provenance (repo scans only). diff --git a/strix/tools/reporting/tool.py b/strix/tools/reporting/tool.py index 720d42a4f..45f4f6586 100644 --- a/strix/tools/reporting/tool.py +++ b/strix/tools/reporting/tool.py @@ -696,6 +696,87 @@ def _do_update( } +def _do_delete( + *, + report_id: str, + delete_reason: str, + agent_id: str | None = None, + agent_name: str | None = None, +) -> dict[str, Any]: + """Withdraw a report an agent filed and has since disproved. + + Deletion is for a finding that is not a vulnerability at all. A finding + that is real but weaker than filed is revised, not deleted. + """ + report_id = (report_id or "").strip() + delete_reason = (delete_reason or "").strip() + if not report_id or not delete_reason: + missing = "report_id" if not report_id else "delete_reason" + return { + "success": False, + "error": ( + f"{missing} cannot be empty - name the report you are withdrawing and state " + "what disproved it" + ), + } + + from strix.report.state import ReportRollbackError, get_global_report_state + + report_state = get_global_report_state() + if report_state is None: + return { + "success": False, + "error": "Report state unavailable - no reports have been filed yet", + } + + try: + deleted = report_state.delete_vulnerability_report( + report_id, + delete_reason=delete_reason, + deleted_by_agent_id=agent_id, + deleted_by_agent_name=agent_name, + ) + except Exception as e: + logger.exception("delete_vulnerability_report persistence failed") + if isinstance(e, ReportRollbackError): + outcome = ( + f"{e.cause!s}. The report is still on file, but its on-disk indexes could " + "not be rewritten and may be stale until the next report is saved" + ) + else: + outcome = f"{e!s}. The report is still on file" + return { + "success": False, + "error": f"Failed to delete report '{report_id}': {outcome}; retry the deletion.", + "report_id": report_id, + } + if deleted is None: + return { + "success": False, + "error": f"Report with id '{report_id}' not found", + "report_id": report_id, + } + + logger.info( + "Vulnerability report %s deleted by %s: %s", + report_id, + agent_name or agent_id or "an agent", + delete_reason[:200], + ) + return { + "success": True, + "action": "deleted", + "message": ( + f"Report '{report_id}' ({deleted.get('title')}) is withdrawn and no longer " + "counts as a finding of this scan. Do not file it again unless new evidence " + "proves it." + ), + "report_id": report_id, + "title": deleted.get("title"), + "severity": deleted.get("severity"), + } + + async def _do_create( *, title: str, @@ -1548,6 +1629,48 @@ async def update_vulnerability_report( return json.dumps(_with_warning(result, http_exchange_warning), ensure_ascii=False, default=str) +@function_tool(timeout=60) +async def delete_vulnerability_report( + ctx: RunContextWrapper, + report_id: str, + delete_reason: str, +) -> str: + """Withdraw a vulnerability report that later testing disproved. + + Use this when a finding you filed turns out not to be a vulnerability + at all: the exploit only worked because of a mistake in your own test + setup (a mixed-up session, a self-inflicted state change, a misread + response), the behaviour is documented and intended, or the control + you believed was missing is in fact enforced. The report is removed + from the scan; it does not stay behind as a zero-severity entry. + + Do NOT use this for a finding that is real but weaker than filed — + revise it with ``update_vulnerability_report`` so the severity, the + impact and the counterevidence come down together. Do NOT rewrite a + report into a "retracted" or "false positive" note either: delete it. + + Only withdraw a report you have re-tested yourself, whoever filed it. + Call ``get_report`` first to read what it claims, then state in + ``delete_reason`` exactly what disproved it, so the scan history shows + who withdrew the finding and why. A withdrawn report cannot be restored; if new + evidence later proves the issue, file it again. + + Args: + report_id: Id of the report to withdraw (format ``vuln-NNNN``). + delete_reason: What disproved the finding, in one or two + sentences. + """ + agent_id, agent_name = _caller_identity(ctx) + result = await asyncio.to_thread( + _do_delete, + report_id=report_id, + delete_reason=delete_reason, + agent_id=agent_id, + agent_name=agent_name, + ) + return json.dumps(result, ensure_ascii=False, default=str) + + _DEP_SEVERITY_FROM_CVSS = { (9.0, 10.0): "critical", (7.0, 9.0): "high", diff --git a/tests/test_reporting_fields.py b/tests/test_reporting_fields.py index cd40fe695..46d55af34 100644 --- a/tests/test_reporting_fields.py +++ b/tests/test_reporting_fields.py @@ -13,17 +13,20 @@ from strix.report.dedupe import ( _prepare_report_for_comparison, check_duplicate, ) -from strix.report.state import ReportState, set_global_report_state +from strix.report.state import ReportRollbackError, ReportState, set_global_report_state +from strix.report.writer import write_run_record from strix.tools.finish.tool import finish_scan from strix.tools.reporting import tool as reporting_tool from strix.tools.reporting.tool import ( _do_create, _do_create_dependency, + _do_delete, _do_update, _normalize_http_exchange_ids, _verify_http_exchange_ids, create_dependency_report, create_vulnerability_report, + delete_vulnerability_report, update_vulnerability_report, ) @@ -1976,3 +1979,270 @@ def test_update_refuses_code_locations_it_cannot_use(report_state: ReportState) assert result["success"] is False assert any("start_line" in error for error in result["errors"]) + + +def _seed_saved_report(report_state: ReportState) -> Path: + """The weak report, written to disk the way a filed finding is.""" + _seed_weak_report(report_state) + report_state._saved_vuln_ids.clear() + report_state.save_run_data() + run_dir = report_state._run_dir + assert run_dir is not None + md_path = run_dir / "vulnerabilities" / "vuln-0009.md" + assert md_path.exists() + return run_dir + + +def test_delete_withdraws_a_disproved_report_and_its_artifacts( + report_state: ReportState, +) -> None: + """A deleted finding leaves the run's state and every rendered artifact.""" + run_dir = _seed_saved_report(report_state) + persisted: list[dict[str, Any]] = [] + report_state.vulnerability_deleted_callback = persisted.append + + result = _do_delete( + report_id="vuln-0009", + delete_reason="The cross-tenant read came from the harness reusing the victim's session.", + agent_id="aaaa1111", + agent_name="Recon Agent", + ) + + assert result["success"] is True + assert result["action"] == "deleted" + assert result["report_id"] == "vuln-0009" + assert result["title"].startswith("Directus 11.5.1") + assert report_state.vulnerability_reports == [] + assert not (run_dir / "vulnerabilities" / "vuln-0009.md").exists() + assert json.loads((run_dir / "vulnerabilities.json").read_text(encoding="utf-8")) == [] + assert "vuln-0009" not in (run_dir / "vulnerabilities.csv").read_text(encoding="utf-8") + + assert len(persisted) == 1 + assert persisted[0]["id"] == "vuln-0009" + assert persisted[0]["agent_id"] == "aaaa1111", "the callback sees the finding as filed" + deletion = persisted[0]["deletion"] + assert deletion["agent_id"] == "aaaa1111" + assert deletion["agent_name"] == "Recon Agent" + assert deletion["filed_by_agent_id"] == "aaaa1111" + assert deletion["reason"].startswith("The cross-tenant read") + + run = json.loads((run_dir / "run.json").read_text(encoding="utf-8")) + history = run["deleted_vulnerability_reports"] + assert [entry["id"] for entry in history] == ["vuln-0009"] + assert history[0]["severity"] == "medium" + assert history[0]["deleted_at"] + + +def test_delete_never_reissues_the_withdrawn_id(report_state: ReportState) -> None: + """The next finding must not inherit a deleted report's id, file or history.""" + _seed_saved_report(report_state) + assert report_state.delete_vulnerability_report( + "vuln-0009", delete_reason="Disproved.", deleted_by_agent_id="aaaa1111" + ) + + new_id = report_state.add_vulnerability_report(title="A real finding", severity="high") + + assert new_id == "vuln-0010" + assert [r["id"] for r in report_state.vulnerability_reports] == ["vuln-0010"] + + +def _assert_report_still_filed( + report_state: ReportState, run_dir: Path, original: dict[str, Any] +) -> None: + """The report is in memory and in every artifact exactly as it was filed.""" + assert report_state.vulnerability_reports == [original] + assert "vuln-0009" in report_state._saved_vuln_ids + assert (run_dir / "vulnerabilities" / "vuln-0009.md").exists() + indexed = json.loads((run_dir / "vulnerabilities.json").read_text(encoding="utf-8")) + assert [r["id"] for r in indexed] == ["vuln-0009"] + assert "vuln-0009" in (run_dir / "vulnerabilities.csv").read_text(encoding="utf-8") + run = json.loads((run_dir / "run.json").read_text(encoding="utf-8")) + assert "deleted_vulnerability_reports" not in run + assert "deleted_vulnerability_reports" not in report_state.run_record + assert report_state._next_report_id() == "vuln-0010" + + +def test_any_agent_in_the_run_may_delete_a_report(report_state: ReportState) -> None: + """Agents in a run share one trust boundary: a report another agent filed can be + withdrawn once disproved, and the history keeps both identities apart.""" + run_dir = _seed_saved_report(report_state) + calls: list[dict[str, Any]] = [] + report_state.vulnerability_deleted_callback = calls.append + + result = _do_delete( + report_id="vuln-0009", + delete_reason="Disproved.", + agent_id="834f79fb", + agent_name="Validation Agent", + ) + + assert result["success"] is True + assert report_state.vulnerability_reports == [] + assert [c["id"] for c in calls] == ["vuln-0009"] + assert not (run_dir / "vulnerabilities" / "vuln-0009.md").exists() + (deletion,) = report_state.run_record["deleted_vulnerability_reports"] + assert deletion["filed_by_agent_id"] == "aaaa1111" + assert deletion["agent_id"] == "834f79fb" + assert deletion["agent_name"] == "Validation Agent" + + +def test_delete_reports_persistence_failure_and_keeps_the_report( + report_state: ReportState, +) -> None: + """Persistence refused after the local indexes were rewritten: they are rewritten back.""" + run_dir = _seed_saved_report(report_state) + original = dict(report_state.vulnerability_reports[0]) + + def fail_persistence(_report: dict[str, Any]) -> None: + assert report_state.vulnerability_reports == [], "indexes are rewritten first" + raise RuntimeError("persistence failed") + + report_state.vulnerability_deleted_callback = fail_persistence + + result = _do_delete(report_id="vuln-0009", delete_reason="Disproved.", agent_id="aaaa1111") + + assert result["success"] is False + assert "persistence failed" in result["error"] + assert "still on file" in result["error"] + _assert_report_still_filed(report_state, run_dir, original) + + +def test_delete_reports_an_artifact_write_failure_and_keeps_the_report( + report_state: ReportState, monkeypatch: pytest.MonkeyPatch +) -> None: + """A disk that cannot take the rewritten run record is a failed deletion, not a + success with stale artifacts; persistence is never told about it.""" + run_dir = _seed_saved_report(report_state) + original = dict(report_state.vulnerability_reports[0]) + calls: list[dict[str, Any]] = [] + report_state.vulnerability_deleted_callback = calls.append + attempts = 0 + + def write_run_record_once_failing(run_dir_: Path, record: dict[str, Any]) -> None: + nonlocal attempts + attempts += 1 + if attempts == 1: + raise OSError(28, "No space left on device") + (run_dir_ / "run.json").write_text(json.dumps(record), encoding="utf-8") + + monkeypatch.setattr("strix.report.state.write_run_record", write_run_record_once_failing) + + result = _do_delete(report_id="vuln-0009", delete_reason="Disproved.", agent_id="aaaa1111") + + assert result["success"] is False + assert "No space left on device" in result["error"] + assert "still on file" in result["error"] + assert calls == [] + assert attempts == 2, "the run record is written back after the failed rewrite" + _assert_report_still_filed(report_state, run_dir, original) + + +def test_delete_reports_when_the_rollback_itself_cannot_be_written( + report_state: ReportState, monkeypatch: pytest.MonkeyPatch +) -> None: + """A disk that stays full: memory is restored, the caller is told the indexes + may be stale, and the next save rewrites them.""" + run_dir = _seed_saved_report(report_state) + original = dict(report_state.vulnerability_reports[0]) + calls: list[dict[str, Any]] = [] + report_state.vulnerability_deleted_callback = calls.append + disk_full = True + + def write_run_record_while_disk_full(run_dir_: Path, record: dict[str, Any]) -> None: + if disk_full: + raise OSError(28, "No space left on device") + write_run_record(run_dir_, record) + + monkeypatch.setattr("strix.report.state.write_run_record", write_run_record_while_disk_full) + + with pytest.raises(ReportRollbackError) as excinfo: + report_state.delete_vulnerability_report( + "vuln-0009", delete_reason="Disproved.", deleted_by_agent_id="aaaa1111" + ) + + assert isinstance(excinfo.value.cause, OSError) + assert calls == [] + assert report_state.vulnerability_reports == [original] + assert "vuln-0009" in report_state._saved_vuln_ids + assert "deleted_vulnerability_reports" not in report_state.run_record + + result = _do_delete(report_id="vuln-0009", delete_reason="Disproved.", agent_id="aaaa1111") + assert result["success"] is False + assert "No space left on device" in result["error"] + assert "may be stale" in result["error"] + + disk_full = False + report_state.save_run_data() + _assert_report_still_filed(report_state, run_dir, original) + + +def test_delete_can_be_retried_after_persistence_recovers(report_state: ReportState) -> None: + run_dir = _seed_saved_report(report_state) + outcomes = iter([RuntimeError("persistence failed"), None]) + + def flaky_persistence(_report: dict[str, Any]) -> None: + outcome = next(outcomes) + if outcome is not None: + raise outcome + + report_state.vulnerability_deleted_callback = flaky_persistence + + first = _do_delete(report_id="vuln-0009", delete_reason="Disproved.", agent_id="aaaa1111") + second = _do_delete(report_id="vuln-0009", delete_reason="Disproved.", agent_id="aaaa1111") + + assert first["success"] is False + assert second["success"] is True + assert report_state.vulnerability_reports == [] + assert not (run_dir / "vulnerabilities" / "vuln-0009.md").exists() + assert json.loads((run_dir / "vulnerabilities.json").read_text(encoding="utf-8")) == [] + run = json.loads((run_dir / "run.json").read_text(encoding="utf-8")) + assert [e["id"] for e in run["deleted_vulnerability_reports"]] == ["vuln-0009"] + + +@pytest.mark.parametrize( + ("report_id", "delete_reason", "expected"), + [ + (" ", "reason", "report_id cannot be empty"), + ("vuln-0009", " ", "delete_reason cannot be empty"), + ("vuln-0404", "reason", "not found"), + ], +) +def test_delete_rejects_a_call_it_cannot_act_on( + report_state: ReportState, + report_id: str, + delete_reason: str, + expected: str, +) -> None: + _seed_weak_report(report_state) + calls: list[dict[str, Any]] = [] + report_state.vulnerability_deleted_callback = calls.append + + result = _do_delete(report_id=report_id, delete_reason=delete_reason, agent_id="aaaa1111") + + assert result["success"] is False + assert expected in result["error"] + assert len(report_state.vulnerability_reports) == 1 + assert calls == [], "nothing reaches persistence for a call that is refused" + + +async def test_delete_tool_carries_the_caller_identity(report_state: ReportState) -> None: + _seed_saved_report(report_state) + coordinator = type("Coordinator", (), {"names": {"aaaa1111": "Recon Agent"}})() + ctx = ToolContext( + context={"agent_id": "aaaa1111", "coordinator": coordinator}, + tool_name="delete_vulnerability_report", + tool_call_id="call-1", + tool_arguments="{}", + ) + + raw = await delete_vulnerability_report.on_invoke_tool( + ctx, + json.dumps({"report_id": "vuln-0009", "delete_reason": "Disproved on re-test."}), + ) + result = json.loads(raw) + + assert result["success"] is True + history = report_state.run_record["deleted_vulnerability_reports"] + assert history[0]["agent_id"] == "aaaa1111" + assert history[0]["agent_name"] == "Recon Agent" + assert "update_vulnerability_report" in delete_vulnerability_report.description