From 8975d437f556b5118cb5075780db147ddcd823c0 Mon Sep 17 00:00:00 2001 From: evanlowe <62918515+evanlowe@users.noreply.github.com> Date: Mon, 24 Aug 2026 18:41:00 +0800 Subject: [PATCH] fix(studio): harden skill detail loading --- frontend/server/skills/repository.py | 122 +++++++++++- frontend/server/skills/routes.py | 8 + frontend/server/skills/service.py | 8 + frontend/src/adk/skills.ts | 8 + frontend/src/create/skills/skillspace.ts | 4 + frontend/src/ui/SkillCenter.tsx | 6 + frontend/src/ui/skills/skills.css | 10 + frontend/tests/skillCenter.test.mjs | 14 ++ tests/cli/test_frontend_skill_spaces.py | 184 +++++++++++++++++- ...enerated_agent_backend_codegen_extended.py | 62 +++++- tests/frontend/test_skills_server.py | 143 ++++++++++++++ tests/skills/test_adk_skill_materializer.py | 37 ++++ tests/test_ve_tos.py | 21 ++ veadk/cli/cli_frontend.py | 151 ++++++++------ veadk/cli/generated_agent_skills.py | 75 ++++++- veadk/integrations/ve_tos/ve_tos.py | 11 +- veadk/skills/materializer.py | 15 +- veadk/skills/utils.py | 5 +- .../{index-BSfA7-Qp.js => index-B0ly_D9Z.js} | 24 +-- ...Cy.js => MarkdownPromptEditor-CnKbw7U5.js} | 2 +- .../{arc-Bd-KWJD_.js => arc-ClN_EYFb.js} | 2 +- ...hannel-V8FC1PyG.js => channel-oILNv8b8.js} | 2 +- ...{linear-D2RiTPZI.js => linear-CyFihCT8.js} | 2 +- ...{index-vChqTa3c.css => index-BXHQDNOZ.css} | 2 +- ...mL.js => abnfDiagram-N423BO3Z-CwfzxrYk.js} | 2 +- ... architectureDiagram-T3A2C74G-BGRiJ8DJ.js} | 2 +- ..._.js => blockDiagram-VBNYF7ZC-sH6YloKD.js} | 2 +- ...lyM0.js => c4Diagram-5PPSVZJV-DxESR6J4.js} | 2 +- ...BMhlpUDn.js => chunk-2GRJ4B5K-DFfNskzn.js} | 2 +- ...DQ_g_FOP.js => chunk-2Q5K7J3B-CrYepzYZ.js} | 2 +- ...DbJC5G9d.js => chunk-5RXB4S5H-Dm_B4Eqw.js} | 2 +- ...W8IBP72a.js => chunk-5VM5RSS4-DdofPBLB.js} | 2 +- ...BWy4vQ8l.js => chunk-6Q2QTUOP-C6-1_k94.js} | 2 +- ...BOV9J-a2.js => chunk-GF5L2VYU-BY3KKzJk.js} | 2 +- ...B2zXTT0G.js => chunk-JWPE2WC7-Bu7GN1mm.js} | 2 +- ...BfrlQA_C.js => chunk-KBJHAD2P-CUyWjBEZ.js} | 2 +- ...Bc3woq1C.js => chunk-RYQCIY6F-Db1h9bio.js} | 2 +- ...4aIfLT7K.js => chunk-XXDRQBXY-kV8dS86B.js} | 2 +- .../mermaid/classDiagram-JCYQIIEL-ChGm3DyL.js | 1 - .../mermaid/classDiagram-JCYQIIEL-DTWbWmk8.js | 1 + .../classDiagram-v2-OCEON4UE-ChGm3DyL.js | 1 - .../classDiagram-v2-OCEON4UE-DTWbWmk8.js | 1 + ...t.js => cose-bilkent-JH36ORCC-DQOYzzyZ.js} | 2 +- ...wYx8KA.js => cynefin-OW5HDTMX-CJh-KUCL.js} | 2 +- ...js => cynefinDiagram-MW4NZA55-JixaE9oH.js} | 2 +- ...CaZltdDs.js => dagre-VZM6K2ZE-DOKD1IJy.js} | 2 +- ...iT9kPC.js => diagram-7IWD3JNH-xdPQoOz8.js} | 2 +- ...he1XTL.js => diagram-B4RE2ZJO-Dnvm1SQ9.js} | 2 +- ...fxyn0a.js => diagram-LBJQPF4R-nOwWkPyb.js} | 2 +- ...cULphP.js => diagram-Q27KOJAE-aj9dd-gG.js} | 2 +- ...UtlbYH.js => diagram-UB23O5K3-DIaonUGX.js} | 2 +- ...ul.js => ebnfDiagram-BXEA7PRR-DISUcB6K.js} | 2 +- ...rDgK.js => erDiagram-JOGREHBK-CptXdSTl.js} | 2 +- ...MJ.js => flowDiagram-UKHOOZJN-BInConF4.js} | 2 +- ...M.js => ganttDiagram-PKOTCBZU-D74iFdfv.js} | 2 +- ...s => gitGraphDiagram-DS77QQ5N-B8bvHNAY.js} | 2 +- ...xg.js => infoDiagram-6WML65LV-Ch8He-nG.js} | 2 +- ...s => ishikawaDiagram-WSZJBQD7-BxqmMV-f.js} | 2 +- ...js => journeyDiagram-NVQOT4AX-tcpH7yji.js} | 2 +- ...=> kanban-definition-27J2QSJJ-CbYLYXH5.js} | 2 +- ...e-CA8ypPul.js => mermaid.core-DS1qXbzQ.js} | 8 +- ...> mindmap-definition-FAOFIHXS-BbqxrTZO.js} | 2 +- ...u29.js => pegDiagram-VL7TDLO6-DbNsutj1.js} | 2 +- ...NAe.js => pieDiagram-7S7Q4E2Y-CqeHEShc.js} | 2 +- ...s => quadrantDiagram-CIZ2JOQS-CuJbFelH.js} | 2 +- ...s => railroadDiagram-AXF67PYL-CGW6-Zk4.js} | 2 +- ...> requirementDiagram-LRYGKXZP-DPBEfaZ3.js} | 2 +- ....js => sankeyDiagram-W5VNT64P-D7gEokFT.js} | 2 +- ...s => sequenceDiagram-SI44F4Z6-BU4MnRfS.js} | 2 +- ...qs.js => sizeCapture-X5ZJPWSS-DcoaL5Pa.js} | 2 +- ...X.js => stateDiagram-OKZ733FA-DOwwprGF.js} | 2 +- .../stateDiagram-v2-UEYNNEHI-BtniqXTK.js | 1 + .../stateDiagram-v2-UEYNNEHI-kqiSvJQU.js | 1 - ...wND6.js => swimlanes-SLNWSIFB-CZjcuSKt.js} | 4 +- .../swimlanesDiagram-ULZ7WXOC--Rr-scI_.js | 8 - .../swimlanesDiagram-ULZ7WXOC-BYM1SH1C.js | 8 + ... timeline-definition-Z64GVDOM-DSBqQCYi.js} | 2 +- ...NN.js => vennDiagram-T6HMQDX7-C5Lg0gqB.js} | 2 +- ...js => wardleyDiagram-T6FBY63Y-D69g7FVc.js} | 2 +- ...js => xychartDiagram-ELKLHX3M-CzH39ePi.js} | 2 +- veadk/webui/index.html | 4 +- veadk/webui/website-integration.js | 62 +++--- 82 files changed, 902 insertions(+), 208 deletions(-) rename veadk/webui/assets/app/{index-BSfA7-Qp.js => index-B0ly_D9Z.js} (99%) rename veadk/webui/assets/chunks/{MarkdownPromptEditor-EeSyPVCy.js => MarkdownPromptEditor-CnKbw7U5.js} (99%) rename veadk/webui/assets/chunks/{arc-Bd-KWJD_.js => arc-ClN_EYFb.js} (98%) rename veadk/webui/assets/chunks/{channel-V8FC1PyG.js => channel-oILNv8b8.js} (53%) rename veadk/webui/assets/chunks/{linear-D2RiTPZI.js => linear-CyFihCT8.js} (98%) rename veadk/webui/assets/styles/{index-vChqTa3c.css => index-BXHQDNOZ.css} (51%) rename veadk/webui/assets/visualizations/mermaid/{abnfDiagram-N423BO3Z-ytavltmL.js => abnfDiagram-N423BO3Z-CwfzxrYk.js} (85%) rename veadk/webui/assets/visualizations/mermaid/{architectureDiagram-T3A2C74G-DDnDuHF5.js => architectureDiagram-T3A2C74G-BGRiJ8DJ.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{blockDiagram-VBNYF7ZC-nT3UGRP_.js => blockDiagram-VBNYF7ZC-sH6YloKD.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{c4Diagram-5PPSVZJV-mByelyM0.js => c4Diagram-5PPSVZJV-DxESR6J4.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{chunk-2GRJ4B5K-BMhlpUDn.js => chunk-2GRJ4B5K-DFfNskzn.js} (93%) rename veadk/webui/assets/visualizations/mermaid/{chunk-2Q5K7J3B-DQ_g_FOP.js => chunk-2Q5K7J3B-CrYepzYZ.js} (66%) rename veadk/webui/assets/visualizations/mermaid/{chunk-5RXB4S5H-DbJC5G9d.js => chunk-5RXB4S5H-Dm_B4Eqw.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{chunk-5VM5RSS4-W8IBP72a.js => chunk-5VM5RSS4-DdofPBLB.js} (83%) rename veadk/webui/assets/visualizations/mermaid/{chunk-6Q2QTUOP-BWy4vQ8l.js => chunk-6Q2QTUOP-C6-1_k94.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{chunk-GF5L2VYU-BOV9J-a2.js => chunk-GF5L2VYU-BY3KKzJk.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{chunk-JWPE2WC7-B2zXTT0G.js => chunk-JWPE2WC7-Bu7GN1mm.js} (78%) rename veadk/webui/assets/visualizations/mermaid/{chunk-KBJHAD2P-BfrlQA_C.js => chunk-KBJHAD2P-CUyWjBEZ.js} (87%) rename veadk/webui/assets/visualizations/mermaid/{chunk-RYQCIY6F-Bc3woq1C.js => chunk-RYQCIY6F-Db1h9bio.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{chunk-XXDRQBXY-4aIfLT7K.js => chunk-XXDRQBXY-kV8dS86B.js} (52%) delete mode 100644 veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-ChGm3DyL.js create mode 100644 veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-DTWbWmk8.js delete mode 100644 veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-ChGm3DyL.js create mode 100644 veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-DTWbWmk8.js rename veadk/webui/assets/visualizations/mermaid/{cose-bilkent-JH36ORCC-TCO9YNQt.js => cose-bilkent-JH36ORCC-DQOYzzyZ.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{cynefin-OW5HDTMX-DZwYx8KA.js => cynefin-OW5HDTMX-CJh-KUCL.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{cynefinDiagram-MW4NZA55-DSdRlYdc.js => cynefinDiagram-MW4NZA55-JixaE9oH.js} (98%) rename veadk/webui/assets/visualizations/mermaid/{dagre-VZM6K2ZE-CaZltdDs.js => dagre-VZM6K2ZE-DOKD1IJy.js} (97%) rename veadk/webui/assets/visualizations/mermaid/{diagram-7IWD3JNH-ChiT9kPC.js => diagram-7IWD3JNH-xdPQoOz8.js} (96%) rename veadk/webui/assets/visualizations/mermaid/{diagram-B4RE2ZJO-gnhe1XTL.js => diagram-B4RE2ZJO-Dnvm1SQ9.js} (97%) rename veadk/webui/assets/visualizations/mermaid/{diagram-LBJQPF4R-Pnfxyn0a.js => diagram-LBJQPF4R-nOwWkPyb.js} (93%) rename veadk/webui/assets/visualizations/mermaid/{diagram-Q27KOJAE-DDcULphP.js => diagram-Q27KOJAE-aj9dd-gG.js} (98%) rename veadk/webui/assets/visualizations/mermaid/{diagram-UB23O5K3-BpUtlbYH.js => diagram-UB23O5K3-DIaonUGX.js} (95%) rename veadk/webui/assets/visualizations/mermaid/{ebnfDiagram-BXEA7PRR-0NLASbul.js => ebnfDiagram-BXEA7PRR-DISUcB6K.js} (87%) rename veadk/webui/assets/visualizations/mermaid/{erDiagram-JOGREHBK-BFBZrDgK.js => erDiagram-JOGREHBK-CptXdSTl.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{flowDiagram-UKHOOZJN-B8lbbUMJ.js => flowDiagram-UKHOOZJN-BInConF4.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{ganttDiagram-PKOTCBZU-DmNk0elM.js => ganttDiagram-PKOTCBZU-D74iFdfv.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{gitGraphDiagram-DS77QQ5N-D8t8bnkE.js => gitGraphDiagram-DS77QQ5N-B8bvHNAY.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{infoDiagram-6WML65LV-BoMq5yxg.js => infoDiagram-6WML65LV-Ch8He-nG.js} (67%) rename veadk/webui/assets/visualizations/mermaid/{ishikawaDiagram-WSZJBQD7-CdfT-yF9.js => ishikawaDiagram-WSZJBQD7-BxqmMV-f.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{journeyDiagram-NVQOT4AX-lXnJv34U.js => journeyDiagram-NVQOT4AX-tcpH7yji.js} (98%) rename veadk/webui/assets/visualizations/mermaid/{kanban-definition-27J2QSJJ-BmrqdoIU.js => kanban-definition-27J2QSJJ-CbYLYXH5.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{mermaid.core-CA8ypPul.js => mermaid.core-DS1qXbzQ.js} (98%) rename veadk/webui/assets/visualizations/mermaid/{mindmap-definition-FAOFIHXS-DOb0iskj.js => mindmap-definition-FAOFIHXS-BbqxrTZO.js} (98%) rename veadk/webui/assets/visualizations/mermaid/{pegDiagram-VL7TDLO6-C3mfqu29.js => pegDiagram-VL7TDLO6-DbNsutj1.js} (86%) rename veadk/webui/assets/visualizations/mermaid/{pieDiagram-7S7Q4E2Y-DiASGNAe.js => pieDiagram-7S7Q4E2Y-CqeHEShc.js} (95%) rename veadk/webui/assets/visualizations/mermaid/{quadrantDiagram-CIZ2JOQS-DJm-gHGj.js => quadrantDiagram-CIZ2JOQS-CuJbFelH.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{railroadDiagram-AXF67PYL-BRnmPnOB.js => railroadDiagram-AXF67PYL-CGW6-Zk4.js} (84%) rename veadk/webui/assets/visualizations/mermaid/{requirementDiagram-LRYGKXZP-DFDVaceD.js => requirementDiagram-LRYGKXZP-DPBEfaZ3.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{sankeyDiagram-W5VNT64P-B2rzdV66.js => sankeyDiagram-W5VNT64P-D7gEokFT.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{sequenceDiagram-SI44F4Z6-COnTktCB.js => sequenceDiagram-SI44F4Z6-BU4MnRfS.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{sizeCapture-X5ZJPWSS-BALwA7qs.js => sizeCapture-X5ZJPWSS-DcoaL5Pa.js} (87%) rename veadk/webui/assets/visualizations/mermaid/{stateDiagram-OKZ733FA-DlMFQfhX.js => stateDiagram-OKZ733FA-DOwwprGF.js} (96%) create mode 100644 veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-BtniqXTK.js delete mode 100644 veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-kqiSvJQU.js rename veadk/webui/assets/visualizations/mermaid/{swimlanes-SLNWSIFB-C_QRwND6.js => swimlanes-SLNWSIFB-CZjcuSKt.js} (99%) delete mode 100644 veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC--Rr-scI_.js create mode 100644 veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-BYM1SH1C.js rename veadk/webui/assets/visualizations/mermaid/{timeline-definition-Z64GVDOM-BIYO9h5L.js => timeline-definition-Z64GVDOM-DSBqQCYi.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{vennDiagram-T6HMQDX7-DklWiDNN.js => vennDiagram-T6HMQDX7-C5Lg0gqB.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{wardleyDiagram-T6FBY63Y-_jEObl1h.js => wardleyDiagram-T6FBY63Y-D69g7FVc.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{xychartDiagram-ELKLHX3M-B_eZIbWC.js => xychartDiagram-ELKLHX3M-CzH39ePi.js} (99%) diff --git a/frontend/server/skills/repository.py b/frontend/server/skills/repository.py index 3a17888ed..0fa8bd988 100644 --- a/frontend/server/skills/repository.py +++ b/frontend/server/skills/repository.py @@ -30,14 +30,83 @@ from .archive import SkillArchive +def _is_macos_metadata(path: PurePosixPath) -> bool: + return bool(path.parts) and ( + path.parts[0] == "__MACOSX" + or path.name == ".DS_Store" + or path.name.startswith("._") + ) + + class SkillRepositoryError(RuntimeError): - def __init__(self, code: str, message: str, *, status_code: int = 400) -> None: + def __init__( + self, + code: str, + message: str, + *, + status_code: int = 400, + retryable: bool = False, + original_error: BaseException | None = None, + ) -> None: super().__init__(message) self.code = code self.status_code = status_code + self.retryable = retryable + self.original_error = original_error def detail(self) -> dict[str, object]: - return {"code": self.code, "message": str(self), "retryable": False} + detail: dict[str, object] = { + "code": self.code, + "message": str(self), + "retryable": self.retryable, + } + if self.original_error is not None: + detail["originalError"] = { + "type": ( + f"{type(self.original_error).__module__}." + f"{type(self.original_error).__qualname__}" + ), + "message": str(self.original_error).strip() + or repr(self.original_error), + "repr": repr(self.original_error), + } + return detail + + +def resolve_skill_response( + client: Any, + *, + space_id: str, + skill_id: str, + version: str | None, + skill_space_name: str | None = None, + skill_name: str | None = None, +) -> Any: + """Read either a managed Skill version or a legacy SkillSpace Skill.""" + from agentkit.sdk.skills import types as skills_types + + try: + return client.get_skill_version( + skills_types.GetSkillVersionRequest(Id=skill_id, SkillVersion=version) + ) + except Exception as version_error: + if ( + "interface type not consistent with skill type" + not in str(version_error).casefold() + or not skill_space_name + or not skill_name + ): + raise + try: + return client.get_skill_info( + skills_types.GetSkillInfoRequest( + SkillName=skill_name, + SkillSpaceName=skill_space_name, + SkillSpaceId=space_id, + ) + ) + except Exception as info_error: + raise info_error from version_error class AgentKitSkillRepository: @@ -160,13 +229,23 @@ def skill_archive( space_id: str, skill_id: str, version: str | None, + skill_space_name: str | None = None, + skill_name: str | None = None, ) -> tuple[bytes, str]: - from agentkit.sdk.skills import types as skills_types - - response = self._client_factory(region).get_skill_version( - skills_types.GetSkillVersionRequest(Id=skill_id, SkillVersion=version) + response = resolve_skill_response( + self._client_factory(region), + space_id=space_id, + skill_id=skill_id, + version=version, + skill_space_name=skill_space_name, + skill_name=skill_name, + ) + name = str( + getattr(response, "name", "") + or getattr(response, "skill_name", "") + or skill_name + or skill_id ) - name = str(getattr(response, "name", "") or skill_id) bucket = str(getattr(response, "bucket_name", "") or "") path = str(getattr(response, "tos_path", "") or "") if bucket and path: @@ -184,11 +263,27 @@ def skill_archive( ) with tempfile.TemporaryDirectory(prefix="veadk-skill-view-") as directory: archive_path = Path(directory) / "skill.zip" - if not _download_legacy_skill_space_skill(remote, archive_path): + try: + downloaded = _download_legacy_skill_space_skill( + remote, + archive_path, + region=region, + raise_on_error=True, + ) + except Exception as error: + raise SkillRepositoryError( + "SKILL_ARCHIVE_DOWNLOAD_FAILED", + "暂时无法下载 Skill 文件,请稍后重试。", + status_code=502, + retryable=True, + original_error=error, + ) from error + if not downloaded: raise SkillRepositoryError( "SKILL_ARCHIVE_DOWNLOAD_FAILED", "暂时无法下载 Skill 文件,请稍后重试。", status_code=502, + retryable=True, ) content = archive_path.read_bytes() else: @@ -218,19 +313,28 @@ def skill_files( space_id: str, skill_id: str, version: str | None, + skill_space_name: str | None = None, + skill_name: str | None = None, ) -> dict[str, object]: content, filename = self.skill_archive( region=region, space_id=space_id, skill_id=skill_id, version=version, + skill_space_name=skill_space_name, + skill_name=skill_name, ) files: list[dict[str, object]] = [] total = 0 seen: set[str] = set() try: with zipfile.ZipFile(io.BytesIO(content)) as archive: - infos = [item for item in archive.infolist() if not item.is_dir()] + infos = [ + item + for item in archive.infolist() + if not item.is_dir() + and not _is_macos_metadata(PurePosixPath(item.filename)) + ] if len(infos) > 100: raise SkillRepositoryError( "SKILL_ARCHIVE_FILE_COUNT", diff --git a/frontend/server/skills/routes.py b/frontend/server/skills/routes.py index e01f57d5d..ab7c218de 100644 --- a/frontend/server/skills/routes.py +++ b/frontend/server/skills/routes.py @@ -219,6 +219,8 @@ async def skill_files( request: Request, region: str = Query(min_length=1, max_length=64), version: str | None = Query(default=None, max_length=128), + skill_space_name: str | None = Query(default=None, max_length=256), + skill_name: str | None = Query(default=None, max_length=256), ) -> dict[str, object]: identity = identity_resolver(request) return await invoke( @@ -228,6 +230,8 @@ async def skill_files( space_id=space_id, skill_id=skill_id, version=(version or "").strip() or None, + skill_space_name=(skill_space_name or "").strip() or None, + skill_name=(skill_name or "").strip() or None, ) ) @@ -238,6 +242,8 @@ async def skill_archive( request: Request, region: str = Query(min_length=1, max_length=64), version: str | None = Query(default=None, max_length=128), + skill_space_name: str | None = Query(default=None, max_length=256), + skill_name: str | None = Query(default=None, max_length=256), ) -> Response: identity = identity_resolver(request) content, filename = await invoke( @@ -247,6 +253,8 @@ async def skill_archive( space_id=space_id, skill_id=skill_id, version=(version or "").strip() or None, + skill_space_name=(skill_space_name or "").strip() or None, + skill_name=(skill_name or "").strip() or None, ) ) return Response( diff --git a/frontend/server/skills/service.py b/frontend/server/skills/service.py index a596fa84d..72aa760e3 100644 --- a/frontend/server/skills/service.py +++ b/frontend/server/skills/service.py @@ -129,6 +129,8 @@ def skill_files( space_id: str, skill_id: str, version: str | None, + skill_space_name: str | None = None, + skill_name: str | None = None, ) -> dict[str, object]: del identity return self._repository.skill_files( @@ -136,6 +138,8 @@ def skill_files( space_id=space_id, skill_id=skill_id, version=version, + skill_space_name=skill_space_name, + skill_name=skill_name, ) def skill_archive( @@ -146,6 +150,8 @@ def skill_archive( space_id: str, skill_id: str, version: str | None, + skill_space_name: str | None = None, + skill_name: str | None = None, ) -> tuple[bytes, str]: del identity return self._repository.skill_archive( @@ -153,6 +159,8 @@ def skill_archive( space_id=space_id, skill_id=skill_id, version=version, + skill_space_name=skill_space_name, + skill_name=skill_name, ) diff --git a/frontend/src/adk/skills.ts b/frontend/src/adk/skills.ts index d33226a7e..a1d43806a 100644 --- a/frontend/src/adk/skills.ts +++ b/frontend/src/adk/skills.ts @@ -214,9 +214,13 @@ export async function getManagedSkillFiles(args: { skillId: string; version?: string; region: string; + skillSpaceName?: string; + skillName?: string; }): Promise { const params = new URLSearchParams({ region: args.region }); if (args.version) params.set("version", args.version); + if (args.skillSpaceName) params.set("skill_space_name", args.skillSpaceName); + if (args.skillName) params.set("skill_name", args.skillName); const result = await json<{ files: ManagedSkillFile[] }>( await request(`/spaces/${encodeURIComponent(args.spaceId)}/skills/${encodeURIComponent(args.skillId)}/files?${params}`), "读取 Skill 文件失败", @@ -230,9 +234,13 @@ export async function downloadManagedSkillArchive(args: { version?: string; region: string; fallbackName: string; + skillSpaceName?: string; + skillName?: string; }): Promise { const params = new URLSearchParams({ region: args.region }); if (args.version) params.set("version", args.version); + if (args.skillSpaceName) params.set("skill_space_name", args.skillSpaceName); + if (args.skillName) params.set("skill_name", args.skillName); const response = await request( `/spaces/${encodeURIComponent(args.spaceId)}/skills/${encodeURIComponent(args.skillId)}/archive?${params}`, {}, diff --git a/frontend/src/create/skills/skillspace.ts b/frontend/src/create/skills/skillspace.ts index 661df37d4..726090a5a 100644 --- a/frontend/src/create/skills/skillspace.ts +++ b/frontend/src/create/skills/skillspace.ts @@ -107,11 +107,15 @@ export async function getSkillDetail( version?: string, region?: string, project?: string, + skillName?: string, + skillSpaceName?: string, ): Promise { const params: string[] = []; if (version) params.push(`version=${encodeURIComponent(version)}`); if (region) params.push(`region=${encodeURIComponent(region)}`); if (project) params.push(`project=${encodeURIComponent(project)}`); + if (skillName) params.push(`skill_name=${encodeURIComponent(skillName)}`); + if (skillSpaceName) params.push(`skill_space_name=${encodeURIComponent(skillSpaceName)}`); const q = params.length > 0 ? `?${params.join("&")}` : ""; return jfetch( `/web/skill-spaces/${encodeURIComponent(spaceId)}/skills/${encodeURIComponent(skillId)}${q}`, diff --git a/frontend/src/ui/SkillCenter.tsx b/frontend/src/ui/SkillCenter.tsx index 5b0f9d822..65df0db88 100644 --- a/frontend/src/ui/SkillCenter.tsx +++ b/frontend/src/ui/SkillCenter.tsx @@ -786,12 +786,16 @@ export function SkillCenterView({ skill.version, selectedRegion, selectedSpace.projectName, + skill.skillName, + selectedSpace.name, ), getManagedSkillFiles({ spaceId: selectedSpace.id, skillId: skill.skillId, version: skill.version, region: selectedRegion, + skillSpaceName: selectedSpace.name, + skillName: skill.skillName, }), ]); if (detailRequest.current === request) { @@ -1109,6 +1113,8 @@ export function SkillCenterView({ version: detailSkill.version, region: selectedRegion, fallbackName: detailSkill.skillName, + skillSpaceName: selectedSpace.name, + skillName: detailSkill.skillName, }).catch((error: unknown) => setDetailError(normalizeSkillError(error, "下载 Skill 失败")))} onClose={closeDetail} /> diff --git a/frontend/src/ui/skills/skills.css b/frontend/src/ui/skills/skills.css index c4c152783..fb90feede 100644 --- a/frontend/src/ui/skills/skills.css +++ b/frontend/src/ui/skills/skills.css @@ -677,6 +677,16 @@ button.skill-file-tree__row:hover { background: hsl(var(--foreground) / .045); c @media (max-width: 560px) { .skill-generation__groups { grid-template-columns: 1fr; } + .skill-detail-content--files .skill-file-browser { + height: auto; + min-height: 0; + grid-template-columns: minmax(0, 1fr); + grid-template-rows: minmax(128px, 34%) minmax(0, 1fr); + } + .skill-detail-content--files .skill-file-tree { + border-right: 0; + border-bottom: 1px solid hsl(var(--border)); + } } @media (prefers-reduced-motion: reduce) { diff --git a/frontend/tests/skillCenter.test.mjs b/frontend/tests/skillCenter.test.mjs index 56614a240..92d7cb2b9 100644 --- a/frontend/tests/skillCenter.test.mjs +++ b/frontend/tests/skillCenter.test.mjs @@ -136,6 +136,14 @@ test("skill details render external markdown with raw HTML disabled", () => { assert.match(skillCenterSource, /numeric \* 1000/); assert.match(skillCenterSource, /detailRequest\.current/); assert.match(skillCenterSource, /selectedSpace\?\.region \|\| defaultCloudRegion\(cloudProvider\)/); + assert.match( + skillStylesSource, + /@media \(max-width: 560px\)[\s\S]*?\.skill-detail-content--files \.skill-file-browser \{[\s\S]*?grid-template-columns: minmax\(0, 1fr\)/, + ); + assert.match( + skillStylesSource, + /@media \(max-width: 560px\)[\s\S]*?\.skill-detail-content--files \.skill-file-tree \{[\s\S]*?border-bottom: 1px solid/, + ); }); test("Library navigation replaces Skills immediately below agents", () => { @@ -245,6 +253,12 @@ test("managed Skill APIs cover space creation, archives, deletion, and full file assert.match(managementClientSource, /export async function deleteManagedSkill/); assert.match(managementClientSource, /export async function getManagedSkillFiles/); assert.match(managementClientSource, /export async function downloadManagedSkillArchive/); + assert.match(managementClientSource, /params\.set\("skill_space_name", args\.skillSpaceName\)/); + assert.match(managementClientSource, /params\.set\("skill_name", args\.skillName\)/); + assert.match(skillspaceSource, /skill_space_name=\$\{encodeURIComponent\(skillSpaceName\)\}/); + assert.match(skillspaceSource, /skill_name=\$\{encodeURIComponent\(skillName\)\}/); + assert.match(skillCenterSource, /skillSpaceName: selectedSpace\.name/); + assert.match(skillCenterSource, /skillName: skill\.skillName/); assert.match(managementDialogsSource, /await validateSkillArchive\(selected\)/); assert.match(managementDialogsSource, /export function EditSkillSpaceDialog/); assert.match(skillCenterSource, /label: "编辑空间"/); diff --git a/tests/cli/test_frontend_skill_spaces.py b/tests/cli/test_frontend_skill_spaces.py index a89a983bf..bea56aebb 100644 --- a/tests/cli/test_frontend_skill_spaces.py +++ b/tests/cli/test_frontend_skill_spaces.py @@ -17,13 +17,11 @@ import asyncio import json import zipfile - from pathlib import Path from types import SimpleNamespace from typing import Any import pytest - from fastapi import FastAPI from fastapi.responses import Response from fastapi.testclient import TestClient @@ -577,6 +575,53 @@ def get_skill_version(self, request: Any) -> SimpleNamespace: assert request.skill_version == "1.2.0" +def test_get_skill_detail_falls_back_for_legacy_skill_type( + monkeypatch: pytest.MonkeyPatch, tmp_path: Path +) -> None: + app = _create_frontend_app(monkeypatch, tmp_path) + calls: list[tuple[str, Any]] = [] + + class _FakeSkillsClient: + def __init__(self, **kwargs: Any) -> None: + self.region = kwargs["region"] + + def get_skill_version(self, request: Any) -> SimpleNamespace: + _assert_sdk_call_is_off_event_loop() + calls.append(("version", request)) + raise RuntimeError("interface type not consistent with skill type") + + def get_skill_info(self, request: Any) -> SimpleNamespace: + _assert_sdk_call_is_off_event_loop() + calls.append(("info", request)) + return SimpleNamespace( + skill_name="cloud-migration-qa", + description="Migration checks", + skill_md="---\nname: cloud-migration-qa\n---\nBody.\n", + bucket_name="", + tos_path="", + ) + + monkeypatch.setattr( + "agentkit.sdk.skills.client.AgentkitSkillsClient", _FakeSkillsClient + ) + + with TestClient(app) as client: + response = client.get( + "/web/skill-spaces/space-1/skills/skill-1", + params={ + "region": "cn-beijing", + "version": "v1", + "skill_space_name": "migration-space", + "skill_name": "cloud-migration-qa", + }, + ) + + assert response.status_code == 200 + assert response.json()["name"] == "cloud-migration-qa" + assert response.json()["skillMd"].endswith("Body.\n") + assert [name for name, _request in calls] == ["version", "info"] + + def test_get_skill_detail_falls_back_to_skillspace_package( monkeypatch: pytest.MonkeyPatch, tmp_path: Path ) -> None: @@ -597,9 +642,17 @@ def get_skill_version(self, request: Any) -> SimpleNamespace: tos_path="skills/ticket-classifier.zip", ) - def _download_skill(skill: Any, zip_path: Path) -> bool: + def _download_skill( + skill: Any, + zip_path: Path, + *, + region: str | None = None, + raise_on_error: bool = False, + ) -> bool: assert skill.bucket_name == "skills-bucket" assert skill.path == "skills/ticket-classifier.zip" + assert region == "cn-shanghai" + assert raise_on_error is True with zipfile.ZipFile(zip_path, "w") as archive: archive.writestr( "ticket-classifier/SKILL.md", @@ -640,6 +693,78 @@ def _download_skill(skill: Any, zip_path: Path) -> bool: ] +def test_get_skill_detail_skips_binary_package_files( + monkeypatch: pytest.MonkeyPatch, tmp_path: Path +) -> None: + app = _create_frontend_app(monkeypatch, tmp_path) + + class _FakeSkillsClient: + def __init__(self, **kwargs: Any) -> None: + del kwargs + + def get_skill_version(self, request: Any) -> SimpleNamespace: + del request + return SimpleNamespace( + name="canvas-design", + description="Canvas design skill", + version="v1", + skill_md="", + bucket_name="skills-bucket", + tos_path="skills/canvas-design.zip", + ) + + def _download_skill( + skill: Any, + zip_path: Path, + *, + region: str | None = None, + raise_on_error: bool = False, + ) -> bool: + assert skill.name == "canvas-design" + assert region == "cn-beijing" + assert raise_on_error is True + with zipfile.ZipFile(zip_path, "w") as archive: + archive.writestr( + "canvas-design/SKILL.md", + "---\nname: canvas-design\ndescription: Canvas.\n---\nBody.\n", + ) + archive.writestr( + "canvas-design/scripts/render.py", + "def render():\n return 'ok'\n", + ) + archive.writestr( + "canvas-design/assets/font.ttf", + b"\x00\x01\x00\x00binary-font", + ) + archive.writestr( + "canvas-design/assets/preview.png", + b"\x89PNG\r\n\x1a\n\x00binary-image", + ) + return True + + monkeypatch.setattr( + "agentkit.sdk.skills.client.AgentkitSkillsClient", _FakeSkillsClient + ) + monkeypatch.setattr( + "veadk.skills.materializer._download_legacy_skill_space_skill", + _download_skill, + ) + + with TestClient(app) as client: + response = client.get( + "/web/skill-spaces/space-1/skills/skill-1", + params={"region": "cn-beijing", "version": "v1"}, + ) + + assert response.status_code == 200 + body = response.json() + assert body["skillMd"].endswith("Body.\n") + assert [file["path"] for file in body["files"]] == [ + "skills/canvas-design/SKILL.md", + "skills/canvas-design/scripts/render.py", + ] + + def test_get_skill_detail_falls_back_to_skill_md_when_package_download_fails( monkeypatch: pytest.MonkeyPatch, tmp_path: Path ) -> None: @@ -660,8 +785,16 @@ def get_skill_version(self, request: Any) -> SimpleNamespace: tos_path="skills/ticket-classifier.zip", ) - def _download_skill(skill: Any, zip_path: Path) -> bool: + def _download_skill( + skill: Any, + zip_path: Path, + *, + region: str | None = None, + raise_on_error: bool = False, + ) -> bool: del skill, zip_path + assert region == "cn-shanghai" + assert raise_on_error is True return False monkeypatch.setattr( @@ -684,6 +817,49 @@ def _download_skill(skill: Any, zip_path: Path) -> bool: assert body["files"] == [] +def test_get_skill_detail_preserves_package_download_error( + monkeypatch: pytest.MonkeyPatch, tmp_path: Path +) -> None: + app = _create_frontend_app(monkeypatch, tmp_path) + + class _FakeSkillsClient: + def __init__(self, **kwargs: Any) -> None: + del kwargs + + def get_skill_version(self, request: Any) -> SimpleNamespace: + del request + return SimpleNamespace( + name="ticket-classifier", + description="识别工单类型", + version="1.2.0", + skill_md="", + bucket_name="skills-bucket", + tos_path="skills/ticket-classifier.zip", + ) + + def _download_skill(*_args: Any, **_kwargs: Any) -> bool: + raise RuntimeError("TOS GetObject failed with request-id-3") + + monkeypatch.setattr( + "agentkit.sdk.skills.client.AgentkitSkillsClient", _FakeSkillsClient + ) + monkeypatch.setattr( + "veadk.skills.materializer._download_legacy_skill_space_skill", + _download_skill, + ) + + with TestClient(app) as client: + response = client.get( + "/web/skill-spaces/space-1/skills/skill-1", + params={"region": "cn-shanghai", "version": "1.2.0"}, + ) + + assert response.status_code == 502 + assert response.json()["detail"]["originalError"]["message"] == ( + "TOS GetObject failed with request-id-3" + ) + + def test_skill_space_routes_keep_missing_credentials_status( monkeypatch: pytest.MonkeyPatch, tmp_path: Path ) -> None: diff --git a/tests/cli/test_generated_agent_backend_codegen_extended.py b/tests/cli/test_generated_agent_backend_codegen_extended.py index f48424018..93292a6dd 100644 --- a/tests/cli/test_generated_agent_backend_codegen_extended.py +++ b/tests/cli/test_generated_agent_backend_codegen_extended.py @@ -672,7 +672,7 @@ async def resolve(space_id: str, skill_id: str, version: str | None) -> str: ) -def _skill_zip(files: dict[str, str]) -> bytes: +def _skill_zip(files: dict[str, str | bytes]) -> bytes: output = io.BytesIO() with zipfile.ZipFile(output, "w") as archive: for path, content in files.items(): @@ -706,6 +706,66 @@ def test_skillhub_zip_accepts_safe_files_without_metadata_validation() -> None: ) +def test_remote_skill_zip_ignores_macos_metadata() -> None: + skill_md = "---\nname: demo-skill\ndescription: Demo.\n---\n" + files = _files_from_zip( + _skill_zip( + { + "demo-skill/SKILL.md": skill_md, + "demo-skill/scripts/run.py": "print('ok')\n", + "__MACOSX/demo-skill/._SKILL.md": b"\x00\x05AppleDouble", + "demo-skill/.DS_Store": b"\x00\x01desktop", + "demo-skill/scripts/._run.py": b"\x00\x05AppleDouble", + } + ), + "demo-skill", + "SkillSpace skill s-123", + ) + + assert [file.path for file in files] == [ + "skills/demo-skill/SKILL.md", + "skills/demo-skill/scripts/run.py", + ] + + +def test_remote_skill_zip_rejects_binary_files_by_default() -> None: + skill_md = "---\nname: demo-skill\ndescription: Demo.\n---\n" + + with pytest.raises(DebugPolicyError, match="must be UTF-8 or GB18030 text"): + _files_from_zip( + _skill_zip( + { + "demo-skill/SKILL.md": skill_md, + "demo-skill/assets/font.ttf": b"\x00\x01\x00\x00binary-font", + } + ), + "demo-skill", + "SkillSpace skill s-123", + ) + + +def test_remote_skill_zip_can_ignore_binary_files_for_text_detail() -> None: + skill_md = "---\nname: demo-skill\ndescription: Demo.\n---\n" + files = _files_from_zip( + _skill_zip( + { + "demo-skill/SKILL.md": skill_md, + "demo-skill/scripts/run.py": "print('ok')\n", + "demo-skill/assets/font.ttf": b"\x00\x01\x00\x00binary-font", + "demo-skill/assets/preview.png": b"\x89PNG\r\n\x1a\n\x00binary-image", + } + ), + "demo-skill", + "SkillSpace skill s-123", + ignore_binary=True, + ) + + assert [file.path for file in files] == [ + "skills/demo-skill/SKILL.md", + "skills/demo-skill/scripts/run.py", + ] + + def test_remote_skill_zip_accepts_existing_skills_wrapper() -> None: skill_md = "---\nname: wrapped-skill\ndescription: Wrapped.\n---\n" files = _files_from_zip( diff --git a/tests/frontend/test_skills_server.py b/tests/frontend/test_skills_server.py index 57d4d86e4..fa517b6ad 100644 --- a/tests/frontend/test_skills_server.py +++ b/tests/frontend/test_skills_server.py @@ -233,6 +233,149 @@ def test_unexpected_skill_service_error_preserves_original_error() -> None: } +def test_repository_error_preserves_original_error() -> None: + error = SkillRepositoryError( + "SKILL_ARCHIVE_DOWNLOAD_FAILED", + "暂时无法下载 Skill 文件,请稍后重试。", + status_code=502, + retryable=True, + original_error=RuntimeError("TOS GetObject failed with request-id-1"), + ) + + assert error.detail() == { + "code": "SKILL_ARCHIVE_DOWNLOAD_FAILED", + "message": "暂时无法下载 Skill 文件,请稍后重试。", + "retryable": True, + "originalError": { + "type": "builtins.RuntimeError", + "message": "TOS GetObject failed with request-id-1", + "repr": "RuntimeError('TOS GetObject failed with request-id-1')", + }, + } + + +def test_repository_falls_back_to_legacy_skill_info_and_keeps_region( + monkeypatch: pytest.MonkeyPatch, + tmp_path, +) -> None: + calls: list[tuple[str, object]] = [] + + class Client: + def get_skill_version(self, request: object) -> SimpleNamespace: + calls.append(("version", request)) + raise RuntimeError("interface type not consistent with skill type") + + def get_skill_info(self, request: object) -> SimpleNamespace: + calls.append(("info", request)) + return SimpleNamespace( + skill_name="cloud-migration-qa", + description="Migration checks", + skill_md=SKILL_MD, + bucket_name="skills-bucket", + tos_path="skills/cloud-migration-qa.zip", + ) + + def download_skill( + skill: object, + path, + *, + region: str | None = None, + raise_on_error: bool = False, + ) -> bool: + assert skill.name == "cloud-migration-qa" + assert region == "cn-beijing" + assert raise_on_error is True + path.write_bytes( + archive( + { + "cloud-migration-qa/SKILL.md": SKILL_MD.encode(), + "__MACOSX/cloud-migration-qa/._SKILL.md": b"\x00\x05AppleDouble", + "cloud-migration-qa/.DS_Store": b"\x00\x01desktop", + } + ) + ) + return True + + monkeypatch.setattr( + "veadk.skills.materializer._download_legacy_skill_space_skill", + download_skill, + ) + repository = AgentKitSkillRepository(lambda _region: Client()) + + result = repository.skill_files( + region="cn-beijing", + space_id="space-1", + skill_id="skill-1", + version="v1", + skill_space_name="migration-space", + skill_name="cloud-migration-qa", + ) + + assert [name for name, _request in calls] == ["version", "info"] + assert [file["path"] for file in result["files"]] == ["cloud-migration-qa/SKILL.md"] + + +def test_repository_does_not_hide_unrelated_get_version_errors() -> None: + class Client: + def get_skill_version(self, _request: object) -> SimpleNamespace: + raise RuntimeError("AccessDenied") + + def get_skill_info(self, _request: object) -> SimpleNamespace: + raise AssertionError("legacy fallback must not run") + + repository = AgentKitSkillRepository(lambda _region: Client()) + + with pytest.raises(RuntimeError, match="AccessDenied"): + repository.skill_archive( + region="cn-beijing", + space_id="space-1", + skill_id="skill-1", + version="v1", + skill_space_name="migration-space", + skill_name="cloud-migration-qa", + ) + + +def test_repository_download_failure_preserves_cloud_error( + monkeypatch: pytest.MonkeyPatch, +) -> None: + class Client: + def get_skill_version(self, request: object) -> SimpleNamespace: + del request + return SimpleNamespace( + name="cloud-migration-qa", + description="Migration checks", + version="v1", + skill_md=SKILL_MD, + bucket_name="skills-bucket", + tos_path="skills/cloud-migration-qa.zip", + ) + + def download_skill(*_args, **_kwargs) -> bool: + raise RuntimeError("TOS GetObject failed with request-id-2") + + monkeypatch.setattr( + "veadk.skills.materializer._download_legacy_skill_space_skill", + download_skill, + ) + repository = AgentKitSkillRepository(lambda _region: Client()) + + with pytest.raises(SkillRepositoryError) as raised: + repository.skill_files( + region="cn-beijing", + space_id="space-1", + skill_id="skill-1", + version="v1", + ) + + assert raised.value.code == "SKILL_ARCHIVE_DOWNLOAD_FAILED" + assert raised.value.detail()["originalError"] == { + "type": "builtins.RuntimeError", + "message": "TOS GetObject failed with request-id-2", + "repr": "RuntimeError('TOS GetObject failed with request-id-2')", + } + + def test_skill_workbench_error_preserves_original_error() -> None: error = SkillWorkbenchError( "SKILL_WORKBENCH_INTERNAL", diff --git a/tests/skills/test_adk_skill_materializer.py b/tests/skills/test_adk_skill_materializer.py index 87ca762b0..a42def45b 100644 --- a/tests/skills/test_adk_skill_materializer.py +++ b/tests/skills/test_adk_skill_materializer.py @@ -141,6 +141,43 @@ def download_legacy_skill(skill: VeADKSkill, zip_path: Path) -> bool: ) +def test_legacy_skillspace_download_uses_explicit_region( + tmp_path: Path, + monkeypatch: pytest.MonkeyPatch, +) -> None: + remote_skill = VeADKSkill( + name="regional-skill", + description="Regional skill.", + path="skills/s-123/v1/regional-skill.zip", + skill_space_id="space-1", + bucket_name="bucket", + id="s-123", + ) + calls: list[dict[str, object]] = [] + + class FakeVeTOS: + def __init__(self, **kwargs: object) -> None: + calls.append(kwargs) + + def download(self, **kwargs: object) -> bool: + calls.append(kwargs) + return True + + monkeypatch.setattr( + materializer, "_get_cloud_credentials", lambda: ("ak", "sk", "") + ) + monkeypatch.setattr("veadk.integrations.ve_tos.ve_tos.VeTOS", FakeVeTOS) + + assert materializer._download_legacy_skill_space_skill( + remote_skill, + tmp_path / "skill.zip", + region="cn-shanghai", + raise_on_error=True, + ) + assert calls[0]["region"] == "cn-shanghai" + assert calls[1]["raise_on_error"] is True + + def test_remote_skill_reuses_cache_when_version_is_unchanged( tmp_path: Path, monkeypatch: pytest.MonkeyPatch, diff --git a/tests/test_ve_tos.py b/tests/test_ve_tos.py index 96fae752e..17bdc77b8 100644 --- a/tests/test_ve_tos.py +++ b/tests/test_ve_tos.py @@ -83,6 +83,27 @@ def test_ve_tos_database_region_wins_over_region_env(monkeypatch, fake_tos): assert client._client.init_kwargs["endpoint"] == "tos-cn-beijing.volces.com" +def test_download_can_propagate_tos_error(monkeypatch, fake_tos, tmp_path) -> None: + client = VeTOS(bucket_name="test-bucket") + + def fail_get_object(*_args, **_kwargs): + raise RuntimeError("upstream TOS failure") + + monkeypatch.setattr(client._client, "get_object", fail_get_object, raising=False) + + assert ( + client.download("test-bucket", "skill.zip", str(tmp_path / "first.zip")) + is False + ) + with pytest.raises(RuntimeError, match="upstream TOS failure"): + client.download( + "test-bucket", + "skill.zip", + str(tmp_path / "second.zip"), + raise_on_error=True, + ) + + def test_tos_config_uses_region_env_fallback_and_updates_endpoint(monkeypatch): from veadk.configs.database_configs import TOSConfig diff --git a/veadk/cli/cli_frontend.py b/veadk/cli/cli_frontend.py index 882ac5386..39e558619 100644 --- a/veadk/cli/cli_frontend.py +++ b/veadk/cli/cli_frontend.py @@ -2999,6 +2999,7 @@ async def _agentkit_proxy(request: Request, path: str): ) from veadk.cli.generated_agent_skills import ( _files_from_zip, + _is_macos_metadata, materialize_selected_skills, ) from veadk.extensions.harness.sidecar import ( @@ -3352,6 +3353,7 @@ def _read_skill_md_from_zip(zip_path: Path, skill_id: str) -> str: for info in archive.infolist() if ( not info.is_dir() + and not _is_macos_metadata(info.filename) and info.filename.lower().endswith("skill.md") and not info.filename.startswith(("/", "\\")) and ".." not in Path(info.filename).parts @@ -3428,6 +3430,7 @@ def _skill_files_from_version_response( version: str | None, resp: object, folder: str, + region: str | None = None, ) -> str | list[GeneratedFile]: skill_md = _skill_version_attr(resp, "skill_md", "skillMd") bucket_name = _skill_version_attr(resp, "bucket_name", "bucketName") @@ -3452,7 +3455,12 @@ def _skill_files_from_version_response( ) with tempfile.TemporaryDirectory(prefix="veadk_skillspace_") as temp_dir: zip_path = Path(temp_dir) / "skill.zip" - if not _download_legacy_skill_space_skill(remote_skill, zip_path): + if not _download_legacy_skill_space_skill( + remote_skill, + zip_path, + region=region, + raise_on_error=True, + ): if skill_md: return skill_md raise HTTPException( @@ -3463,6 +3471,7 @@ def _skill_files_from_version_response( zip_path.read_bytes(), folder, f"SkillSpace skill {skill_id}", + ignore_binary=True, ) async def _resolve_skillspace_skill_materialization( @@ -3474,55 +3483,50 @@ async def _resolve_skillspace_skill_materialization( skill_space_name: str | None = None, skill_name: str | None = None, ) -> str | list[GeneratedFile]: - from agentkit.sdk.skills.types import ( - GetSkillInfoRequest, - GetSkillVersionRequest, - ) - resolved_region = _coerce_cloud_region(region) client = _skills_client(resolved_region) try: - resp = client.get_skill_version( - GetSkillVersionRequest(id=skill_id, skill_version=version) + resp = await asyncio.to_thread( + resolve_skill_response, + client, + space_id=space_id, + skill_id=skill_id, + version=version, + skill_space_name=skill_space_name, + skill_name=skill_name, ) - except Exception as version_error: - if skill_space_name and skill_name: - try: - resp = client.get_skill_info( - GetSkillInfoRequest( - SkillName=skill_name, - SkillSpaceName=skill_space_name, - SkillSpaceId=space_id, - ) - ) - except Exception: - logger.error( - f"GetSkillVersion({skill_id}@{version}) error for region " - f"{resolved_region}: {version_error}", - exc_info=True, - ) - raise HTTPException( - status_code=502, - detail=f"SkillSpaces API error: {version_error}", - ) from version_error - else: - logger.error( - f"GetSkillVersion({skill_id}@{version}) error for region " - f"{resolved_region}: {version_error}", - exc_info=True, - ) - raise HTTPException( - status_code=502, - detail=f"SkillSpaces API error: {version_error}", - ) from version_error - return await asyncio.to_thread( - _skill_files_from_version_response, - space_id=space_id, - skill_id=skill_id, - version=version, - resp=resp, - folder=skill_name or skill_id, - ) + except Exception as error: + logger.error( + f"Skill detail lookup ({skill_id}@{version}) error for region " + f"{resolved_region}: {error}", + exc_info=True, + ) + raise HTTPException( + status_code=502, + detail=f"SkillSpaces API error: {error}", + ) from error + try: + return await asyncio.to_thread( + _skill_files_from_version_response, + space_id=space_id, + skill_id=skill_id, + version=version, + resp=resp, + folder=skill_name or skill_id, + region=resolved_region, + ) + except HTTPException: + raise + except Exception as error: + logger.error( + f"Skill package download ({skill_id}@{version}) error for region " + f"{resolved_region}: {error}", + exc_info=True, + ) + raise HTTPException( + status_code=502, + detail=f"SkillSpace package download error: {error}", + ) from error def _draft_for_debug_run(draft: AgentDraft) -> AgentDraft: """Return a debug-safe draft by omitting stdio MCP tools recursively.""" @@ -10031,7 +10035,10 @@ def _skills_client(region: str): session_token=token or "", ) - from frontend.server.skills.repository import AgentKitSkillRepository + from frontend.server.skills.repository import ( + AgentKitSkillRepository, + resolve_skill_response, + ) from frontend.server.skills.routes import _convert_error, mount_skill_routes from frontend.server.skills.service import SkillService @@ -10165,16 +10172,21 @@ async def _web_get_skill_detail( skill_id: str, version: str | None = None, region: str = "", + skill_space_name: str | None = None, + skill_name: str | None = None, ): """Fetch a specific skill version's SKILL.md content plus package files.""" - from agentkit.sdk.skills.types import GetSkillVersionRequest - region = _coerce_cloud_region(region) try: client = _skills_client(region) resp = await asyncio.to_thread( - client.get_skill_version, - GetSkillVersionRequest(Id=skill_id, SkillVersion=version), + resolve_skill_response, + client, + space_id=space_id, + skill_id=skill_id, + version=version, + skill_space_name=(skill_space_name or "").strip() or None, + skill_name=(skill_name or "").strip() or None, ) except HTTPException: raise @@ -10184,14 +10196,25 @@ async def _web_get_skill_detail( ) raise _convert_error(e) from e - resolved = await asyncio.to_thread( - _skill_files_from_version_response, - space_id=space_id, - skill_id=skill_id, - version=version, - resp=resp, - folder=resp.name or skill_id, - ) + try: + resolved = await asyncio.to_thread( + _skill_files_from_version_response, + space_id=space_id, + skill_id=skill_id, + version=version, + resp=resp, + folder=_skill_version_attr(resp, "name", "skill_name") or skill_id, + region=region, + ) + except HTTPException: + raise + except Exception as error: + logger.error( + f"Skill package download ({skill_id}@{version}) error for region " + f"{region}: {error}", + exc_info=True, + ) + raise _convert_error(error) from error if isinstance(resolved, str): skill_md = resolved files = [] @@ -10209,13 +10232,13 @@ async def _web_get_skill_detail( return { "skillId": skill_id, "skillSpaceId": space_id, - "name": resp.name or "", - "description": resp.description or "", - "version": resp.version or version or "", + "name": _skill_version_attr(resp, "name", "skill_name"), + "description": _skill_version_attr(resp, "description"), + "version": _skill_version_attr(resp, "version") or version or "", "skillMd": skill_md, "files": files, - "bucketName": resp.bucket_name or "", - "tosPath": resp.tos_path or "", + "bucketName": _skill_version_attr(resp, "bucket_name", "bucketName"), + "tosPath": _skill_version_attr(resp, "tos_path", "tosPath", "path"), } if vite: diff --git a/veadk/cli/generated_agent_skills.py b/veadk/cli/generated_agent_skills.py index 7ad880589..fdc77d276 100644 --- a/veadk/cli/generated_agent_skills.py +++ b/veadk/cli/generated_agent_skills.py @@ -44,6 +44,41 @@ MAX_SKILL_TOTAL_BYTES = 2 * 1024 * 1024 _SKILL_MD_RE = re.compile(r"(^|/)skill\.md$", re.IGNORECASE) _FOLDER_RE = re.compile(r"^[A-Za-z0-9_-]+$") +_BINARY_SKILL_FILE_SUFFIXES = { + ".avi", + ".bmp", + ".eot", + ".gif", + ".gz", + ".ico", + ".jpeg", + ".jpg", + ".mov", + ".mp3", + ".mp4", + ".otf", + ".pdf", + ".png", + ".tar", + ".ttf", + ".wav", + ".webm", + ".webp", + ".woff", + ".woff2", + ".zip", +} + + +def _is_macos_metadata(path: str) -> bool: + parts = PurePosixPath(path).parts + return bool(parts) and ( + parts[0] == "__MACOSX" or parts[-1] == ".DS_Store" or parts[-1].startswith("._") + ) + + +def _is_binary_skill_file(path: str) -> bool: + return PurePosixPath(path).suffix.lower() in _BINARY_SKILL_FILE_SUFFIXES async def materialize_selected_skills( @@ -221,23 +256,41 @@ def _materialize_local_skill(skill: SelectedSkill) -> list[GeneratedFile]: return out -def _files_from_zip(content: bytes, folder: str, label: str) -> list[GeneratedFile]: +def _files_from_zip( + content: bytes, + folder: str, + label: str, + *, + ignore_binary: bool = False, +) -> list[GeneratedFile]: extracted: list[tuple[str, str]] = [] total = 0 with zipfile.ZipFile(io.BytesIO(content)) as archive: - infos = [info for info in archive.infolist() if not info.is_dir()] - if len(infos) > MAX_SKILL_FILES: - raise DebugPolicyError(f"{label} contains too many files") skill_md_candidates: list[tuple[str, str]] = [] - for info in infos: + for info in archive.infolist(): + if info.is_dir(): + continue + rel = _normalize_relative_path(info.filename) + if _is_macos_metadata(rel): + continue + if ignore_binary and _is_binary_skill_file(rel): + continue if info.file_size > MAX_SKILL_FILE_BYTES: raise DebugPolicyError(f"{label} file is too large: {info.filename}") + with archive.open(info) as fh: + try: + text = _decode_skill_file( + fh.read(), f"{label} file {info.filename}" + ) + except DebugPolicyError: + if ignore_binary: + continue + raise + if len(extracted) >= MAX_SKILL_FILES: + raise DebugPolicyError(f"{label} contains too many files") total += info.file_size if total > MAX_SKILL_TOTAL_BYTES: raise DebugPolicyError(f"{label} is too large") - rel = _normalize_relative_path(info.filename) - with archive.open(info) as fh: - text = _decode_skill_file(fh.read(), f"{label} file {info.filename}") if _SKILL_MD_RE.search(rel): skill_md_candidates.append((rel, text)) extracted.append((rel, text)) @@ -281,9 +334,11 @@ def _strip_skill_zip_prefix( def _decode_skill_file(content: bytes, label: str) -> str: for encoding in ("utf-8-sig", "gb18030"): try: - return content.decode(encoding) + text = content.decode(encoding) except UnicodeDecodeError: - pass + continue + if "\x00" not in text: + return text raise DebugPolicyError(f"{label} must be UTF-8 or GB18030 text") diff --git a/veadk/integrations/ve_tos/ve_tos.py b/veadk/integrations/ve_tos/ve_tos.py index f25af22e4..f88c6f8fd 100644 --- a/veadk/integrations/ve_tos/ve_tos.py +++ b/veadk/integrations/ve_tos/ve_tos.py @@ -711,7 +711,14 @@ async def _aupload_dir(root_dir): logger.error(f"Async upload directory failed: {str(e)}") raise - def download(self, bucket_name: str, object_key: str, save_path: str) -> bool: + def download( + self, + bucket_name: str, + object_key: str, + save_path: str, + *, + raise_on_error: bool = False, + ) -> bool: """download object from TOS""" bucket_name = self._check_bucket_name(bucket_name) @@ -734,6 +741,8 @@ def download(self, bucket_name: str, object_key: str, save_path: str) -> bool: except Exception as e: logger.error(f"Image download failed: {str(e)}") + if raise_on_error: + raise return False def download_directory( diff --git a/veadk/skills/materializer.py b/veadk/skills/materializer.py index a8db78331..2754e92e0 100644 --- a/veadk/skills/materializer.py +++ b/veadk/skills/materializer.py @@ -117,14 +117,20 @@ def _download_remote_skill(skill: Skill, zip_path: Path) -> None: ) -def _download_legacy_skill_space_skill(skill: Skill, zip_path: Path) -> bool: +def _download_legacy_skill_space_skill( + skill: Skill, + zip_path: Path, + *, + region: str | None = None, + raise_on_error: bool = False, +) -> bool: if not skill.bucket_name or not skill.path: raise SkillMaterializeError( f"Skill-space skill '{skill.name}' is missing bucket or TOS path." ) access_key, secret_key, session_token = _get_cloud_credentials() - service, region, host = _get_agentkit_endpoint() + service, resolved_region, host = _get_agentkit_endpoint(region) scheme = os.getenv("AGENTKIT_TOP_SCHEME", "https").lower() cloud_provider = (os.getenv("CLOUD_PROVIDER") or "").lower() @@ -135,7 +141,7 @@ def _download_legacy_skill_space_skill(skill: Skill, zip_path: Path) -> bool: secret_key=secret_key, session_token=session_token, service=service, - region=region, + region=resolved_region, host=host, scheme=scheme, zip_path=zip_path, @@ -148,12 +154,13 @@ def _download_legacy_skill_space_skill(skill: Skill, zip_path: Path) -> bool: sk=secret_key, session_token=session_token, bucket_name=skill.bucket_name, - region=region, + region=resolved_region, ) return tos_client.download( bucket_name=skill.bucket_name, object_key=skill.path, save_path=str(zip_path), + raise_on_error=raise_on_error, ) diff --git a/veadk/skills/utils.py b/veadk/skills/utils.py index 6a27c9601..073a48baf 100644 --- a/veadk/skills/utils.py +++ b/veadk/skills/utils.py @@ -167,7 +167,7 @@ def _get_cloud_credentials() -> tuple[str, str, str]: return access_key, secret_key, session_token -def _get_agentkit_endpoint() -> tuple[str, str, str]: +def _get_agentkit_endpoint(region_override: str | None = None) -> tuple[str, str, str]: service = os.getenv("AGENTKIT_TOOL_SERVICE_CODE", "agentkit") provider = (os.getenv("CLOUD_PROVIDER") or "").lower() @@ -179,7 +179,8 @@ def _get_agentkit_endpoint() -> tuple[str, str, str]: default_region = "cn-beijing" region = ( - os.getenv("AGENTKIT_TOOL_REGION") + region_override + or os.getenv("AGENTKIT_TOOL_REGION") or (os.getenv("REGION") if provider != "byteplus" else None) or default_region ) diff --git a/veadk/webui/assets/app/index-BSfA7-Qp.js b/veadk/webui/assets/app/index-B0ly_D9Z.js similarity index 99% rename from veadk/webui/assets/app/index-BSfA7-Qp.js rename to veadk/webui/assets/app/index-B0ly_D9Z.js index 4c7783c2a..77ae06054 100644 --- a/veadk/webui/assets/app/index-BSfA7-Qp.js +++ b/veadk/webui/assets/app/index-B0ly_D9Z.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/MarkdownPromptEditor-EeSyPVCy.js","assets/styles/MarkdownPromptEditor-ZH9qtki0.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/MarkdownPromptEditor-CnKbw7U5.js","assets/styles/MarkdownPromptEditor-ZH9qtki0.css"])))=>i.map(i=>d[i]); var O1e=Object.defineProperty;var Q7=e=>{throw TypeError(e)};var y1e=(e,t,n)=>t in e?O1e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Vr=(e,t,n)=>y1e(e,typeof t!="symbol"?t+"":t,n),F7=(e,t,n)=>t.has(e)||Q7("Cannot "+n);var va=(e,t,n)=>(F7(e,t,"read from private field"),n?n.call(e):t.get(e)),U7=(e,t,n)=>t.has(e)?Q7("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),PN=(e,t,n,i)=>(F7(e,t,"write to private field"),i?i.call(e,n):t.set(e,n),n);function x1e(e,t){for(var n=0;ni[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&i(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();var Wf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Xb(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var RZ={exports:{}},R_={};/** * @license React * react-jsx-runtime.production.js @@ -453,23 +453,23 @@ ${d}`:u,children:[o.jsxs("span",{className:`account-avatar${b?" has-image":""}`, margin-right: `).concat(l,"px ").concat(i,`; `),n==="padding"&&"padding-right: ".concat(l,"px ").concat(i,";")].filter(Boolean).join(""),` } - + .`).concat(Dk,` { right: `).concat(l,"px ").concat(i,`; } - + .`).concat(Pk,` { margin-right: `).concat(l,"px ").concat(i,`; } - + .`).concat(Dk," .").concat(Dk,` { right: 0 `).concat(i,`; } - + .`).concat(Pk," .").concat(Pk,` { margin-right: 0 `).concat(i,`; } - + body[`).concat(B0,`] { `).concat(H6e,": ").concat(l,`px; } @@ -512,7 +512,7 @@ ${Sa(l,t)}`).join(` `))}function c(p,b,g,O){const y=g.enter("tableCell"),v=g.enter("phrasing"),x=g.containerPhrasing(p,{...O,before:s,after:s});return v(),y(),x}function u(p,b){return wVe(p,{align:b,alignDelimiters:i,padding:n,stringLength:r})}function d(p,b,g){const O=p.children;let y=-1;const v=[],x=b.enter("table");for(;++y0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const Tqe={tokenize:Dqe,partial:!0};function _qe(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:jqe,continuation:{tokenize:Rqe},exit:Iqe}},text:{91:{name:"gfmFootnoteCall",tokenize:Nqe},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Aqe,resolveTo:Cqe}}}}function Aqe(e,t,n){const i=this;let r=i.events.length;const s=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let a;for(;r--;){const c=i.events[r][1];if(c.type==="labelImage"){a=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return l;function l(c){if(!a||!a._balanced)return n(c);const u=xc(i.sliceSerialize({start:a.end,end:i.now()}));return u.codePointAt(0)!==94||!s.includes(u.slice(1))?n(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function Cqe(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},r={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};r.end.column++,r.end.offset++,r.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},r.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},l=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",r,t],["exit",r,t],["enter",s,t],["enter",a,t],["exit",a,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...l),e}function Nqe(e,t,n){const i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let s=0,a;return l;function l(f){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),c}function c(f){return f!==94?n(f):(e.enter("gfmFootnoteCallMarker"),e.consume(f),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(f){if(s>999||f===93&&!a||f===null||f===91||nr(f))return n(f);if(f===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return r.includes(xc(i.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(f)}return nr(f)||(a=!0),s++,e.consume(f),f===92?d:u}function d(f){return f===91||f===92||f===93?(e.consume(f),s++,u):u(f)}}function jqe(e,t,n){const i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let s,a=0,l;return c;function c(b){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(b),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(b){return b===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(b),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(b)}function d(b){if(a>999||b===93&&!l||b===null||b===91||nr(b))return n(b);if(b===93){e.exit("chunkString");const g=e.exit("gfmFootnoteDefinitionLabelString");return s=xc(i.sliceSerialize(g)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(b),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return nr(b)||(l=!0),a++,e.consume(b),b===92?f:d}function f(b){return b===91||b===92||b===93?(e.consume(b),a++,d):d(b)}function h(b){return b===58?(e.enter("definitionMarker"),e.consume(b),e.exit("definitionMarker"),r.includes(s)||r.push(s),ui(e,p,"gfmFootnoteDefinitionWhitespace")):n(b)}function p(b){return t(b)}}function Rqe(e,t,n){return e.check(uw,t,e.attempt(Tqe,t,n))}function Iqe(e){e.exit("gfmFootnoteDefinition")}function Dqe(e,t,n){const i=this;return ui(e,r,"gfmFootnoteDefinitionIndent",5);function r(s){const a=i.events[i.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(s):n(s)}}function Pqe(e){let n=(e||{}).singleTilde;const i={name:"strikethrough",tokenize:s,resolveAll:r};return n==null&&(n=!0),{text:{126:i},insideSpan:{null:[i]},attentionMarkers:{null:[126]}};function r(a,l){let c=-1;for(;++c1?c(b):(a.consume(b),f++,p);if(f<2&&!n)return c(b);const O=a.exit("strikethroughSequenceTemporary"),y=Nb(b);return O._open=!y||y===2&&!!g,O._close=!g||g===2&&!!y,l(b)}}}class Mqe{constructor(){this.map=[]}add(t,n,i){Lqe(this,t,n,i)}consume(t){if(this.map.sort(function(s,a){return s[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const i=[];for(;n>0;)n-=1,i.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];i.push(t.slice()),t.length=0;let r=i.pop();for(;r;){for(const s of r)t.push(s);r=i.pop()}this.map.length=0}}function Lqe(e,t,n,i){let r=0;if(!(n===0&&i.length===0)){for(;r-1;){const D=i.events[C][1].type;if(D==="lineEnding"||D==="linePrefix")C--;else break}const R=C>-1?i.events[C][1].type:null,L=R==="tableHead"||R==="tableRow"?E:c;return L===E&&i.parser.lazy[i.now().line]?n(N):L(N)}function c(N){return e.enter("tableHead"),e.enter("tableRow"),u(N)}function u(N){return N===124||(a=!0,s+=1),d(N)}function d(N){return N===null?n(N):Kt(N)?s>1?(s=0,i.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),p):n(N):Hn(N)?ui(e,d,"whitespace")(N):(s+=1,a&&(a=!1,r+=1),N===124?(e.enter("tableCellDivider"),e.consume(N),e.exit("tableCellDivider"),a=!0,d):(e.enter("data"),f(N)))}function f(N){return N===null||N===124||nr(N)?(e.exit("data"),d(N)):(e.consume(N),N===92?h:f)}function h(N){return N===92||N===124?(e.consume(N),f):f(N)}function p(N){return i.interrupt=!1,i.parser.lazy[i.now().line]?n(N):(e.enter("tableDelimiterRow"),a=!1,Hn(N)?ui(e,b,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(N):b(N))}function b(N){return N===45||N===58?O(N):N===124?(a=!0,e.enter("tableCellDivider"),e.consume(N),e.exit("tableCellDivider"),g):S(N)}function g(N){return Hn(N)?ui(e,O,"whitespace")(N):O(N)}function O(N){return N===58?(s+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(N),e.exit("tableDelimiterMarker"),y):N===45?(s+=1,y(N)):N===null||Kt(N)?w(N):S(N)}function y(N){return N===45?(e.enter("tableDelimiterFiller"),v(N)):S(N)}function v(N){return N===45?(e.consume(N),v):N===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(N),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(N))}function x(N){return Hn(N)?ui(e,w,"whitespace")(N):w(N)}function w(N){return N===124?b(N):N===null||Kt(N)?!a||r!==s?S(N):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(N)):S(N)}function S(N){return n(N)}function E(N){return e.enter("tableRow"),k(N)}function k(N){return N===124?(e.enter("tableCellDivider"),e.consume(N),e.exit("tableCellDivider"),k):N===null||Kt(N)?(e.exit("tableRow"),t(N)):Hn(N)?ui(e,k,"whitespace")(N):(e.enter("data"),T(N))}function T(N){return N===null||N===124||nr(N)?(e.exit("data"),k(N)):(e.consume(N),N===92?_:T)}function _(N){return N===92||N===124?(e.consume(N),T):T(N)}}function Fqe(e,t){let n=-1,i=!0,r=0,s=[0,0,0,0],a=[0,0,0,0],l=!1,c=0,u,d,f;const h=new Mqe;for(;++nn[2]+1){const b=n[2]+1,g=n[3]-n[2]-1;e.add(b,g,[])}}e.add(n[3]+1,0,[["exit",f,t]])}return r!==void 0&&(s.end=Object.assign({},zg(t.events,r)),e.add(r,0,[["exit",s,t]]),s=void 0),s}function lq(e,t,n,i,r){const s=[],a=zg(t.events,n);r&&(r.end=Object.assign({},a),s.push(["exit",r,t])),i.end=Object.assign({},a),s.push(["exit",i,t]),e.add(n+1,0,s)}function zg(e,t){const n=e[t],i=n[0]==="enter"?"start":"end";return n[1][i]}const Uqe={name:"tasklistCheck",tokenize:Vqe};function zqe(){return{text:{91:Uqe}}}function Vqe(e,t,n){const i=this;return r;function r(c){return i.previous!==null||!i._gfmTasklistFirstContentOfListItem?n(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),s)}function s(c){return nr(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),a):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),a):n(c)}function a(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),l):n(c)}function l(c){return Kt(c)?t(c):Hn(c)?e.check({tokenize:qqe},t,n)(c):n(c)}}function qqe(e,t,n){return ui(e,i,"whitespace");function i(r){return r===null?n(r):t(r)}}function Hqe(e){return lce([bqe(),_qe(),Pqe(e),Bqe(),zqe()])}const Xqe={};function Gqe(e){const t=this,n=e||Xqe,i=t.data(),r=i.micromarkExtensions||(i.micromarkExtensions=[]),s=i.fromMarkdownExtensions||(i.fromMarkdownExtensions=[]),a=i.toMarkdownExtensions||(i.toMarkdownExtensions=[]);r.push(Hqe(n)),s.push(hqe()),a.push(pqe(n))}const cq=function(e,t,n){const i=dw(n);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=e.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++tu&&(u=d):d&&(u!==void 0&&u>-1&&c.push(` `.repeat(u)||" "),u=-1,c.push(d))}return c.join("")}function tue(e,t,n){return e.type==="element"?nHe(e,t,n):e.type==="text"?n.whitespace==="normal"?nue(e,n):iHe(e):[]}function nHe(e,t,n){const i=iue(e,n),r=e.children||[];let s=-1,a=[];if(eHe(e))return a;let l,c;for(fM(e)||hq(e)&&cq(t,e,hq)?c=` `:Jqe(e)?(l=2,c=2):eue(e)&&(l=1,c=1);++s]+>")+")",l={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.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:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={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},f={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},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",b=["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"],g=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],O=["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"],y=["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"],w={type:g,keyword:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:O},S={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},E=[S,f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],k={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:w,contains:E.concat([{begin:/\(/,end:/\)/,keywords:w,contains:E.concat(["self"]),relevance:0}]),relevance:0},T={className:"function",begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:w,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:w,illegal:"",keywords:w,contains:["self",l]},{begin:e.IDENT_RE+"::",keywords:w},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function uHe(e){const t={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},n=cHe(e),i=n.keywords;return i.type=[...i.type,...t.type],i.literal=[...i.literal,...t.literal],i.built_in=[...i.built_in,...t.built_in],i._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function rue(e){const t=e.regex,n={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const r={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},l={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,r]};r.contains.push(l);const c={match:/\\"/},u={className:"string",begin:/'/,end:/'/},d={match:/\\'/},f={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},h=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=e.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),b={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},g=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],O=["true","false"],y={match:/(\/[a-z._-]+)+/},v=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],x=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],w=["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"],S=["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:g,literal:O,built_in:[...v,...x,"set","shopt",...w,...S]},contains:[p,e.SHEBANG(),b,f,s,a,y,l,c,u,d,n]}}function dHe(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",a="("+i+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.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:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={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},f={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},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",O={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"},y=[f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],v={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:O,contains:y.concat([{begin:/\(/,end:/\)/,keywords:O,contains:y.concat(["self"]),relevance:0}]),relevance:0},x={begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:O,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:O,relevance:0},{begin:p,returnBegin:!0,contains:[e.inherit(h,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:O,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:O,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C",aliases:["h"],keywords:O,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:f,strings:u,keywords:O}}}function fHe(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",a="(?!struct)("+i+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.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:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={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},f={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},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",b=["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"],g=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],O=["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"],y=["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"],w={type:g,keyword:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:O},S={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},E=[S,f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],k={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:w,contains:E.concat([{begin:/\(/,end:/\)/,keywords:w,contains:E.concat(["self"]),relevance:0}]),relevance:0},T={className:"function",begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:w,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:w,illegal:"",keywords:w,contains:["self",l]},{begin:e.IDENT_RE+"::",keywords:w},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function hHe(e){const t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["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"],s=["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"],a={keyword:r.concat(s),built_in:t,literal:i},l=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={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},u={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},f=e.inherit(d,{illegal:/\n/}),h={className:"subst",begin:/\{/,end:/\}/,keywords:a},p=e.inherit(h,{illegal:/\n/}),b={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,p]},g={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]},O=e.inherit(g,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]});h.contains=[g,b,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.C_BLOCK_COMMENT_MODE],p.contains=[O,b,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const y={variants:[u,g,b,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},v={begin:"<",end:">",contains:[{beginKeywords:"in out"},l]},x=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",w={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:a,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},y,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},l,v,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,v,e.C_LINE_COMMENT_MODE,e.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:"("+x+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:a,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,v],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,relevance:0,contains:[y,c,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},w]}}const pHe=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.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:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.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_-]*/}}),mHe=["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"],gHe=["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"],bHe=[...mHe,...gHe],OHe=["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(),yHe=["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(),xHe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),vHe=["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 wHe(e){const t=e.regex,n=pHe(e),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",s=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",l=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,i,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+a,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+yHe.join("|")+")"},{begin:":(:)?("+xHe.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+vHe.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...l,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...l,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:OHe.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+bHe.join("|")+")\\b"}]}}function SHe(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function EHe(e){const s={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:s,illegal:"aue(e,t,n-1))}function THe(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",i=n+aue("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),c={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"]},u={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},d={className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[d,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[u,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,pq,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},pq,u]}}const mq="[A-Za-z$_][0-9A-Za-z$_]*",_He=["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"],AHe=["true","false","null","undefined","NaN","Infinity"],oue=["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"],lue=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],cue=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],CHe=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],NHe=[].concat(cue,oue,lue);function uue(e){const t=e.regex,n=(M,{after:U})=>{const F="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(M,U)=>{const F=M[0].length+M.index,H=M.input[F];if(H==="<"||H===","){U.ignoreMatch();return}H===">"&&(n(M,{after:F})||U.ignoreMatch());let z;const Q=M.input.substring(F);if(z=Q.match(/^\s*=/)){U.ignoreMatch();return}if((z=Q.match(/^\s+extends\s+/))&&z.index===0){U.ignoreMatch();return}}},l={$pattern:mq,keyword:_He,literal:AHe,built_in:NHe,"variable.language":CHe},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\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},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},O={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},v={className:"comment",variants:[e.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:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,b,g,O,{match:/\$\d+/},f];h.contains=x.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(x)});const w=[].concat(v,h.contains),S=w.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(w)}]),E={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:S},k={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,t.concat(i,"(",t.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},T={relevance:0,match:t.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:{_:[...oue,...lue]}},_={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},N={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[E],illegal:/%/},C={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function R(M){return t.concat("(?!",M.join("|"),")")}const L={match:t.concat(/\b/,R([...cue,"super","import"].map(M=>`${M}\\s*\\(`)),i,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},D={begin:t.concat(/\./,t.lookahead(t.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},$={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},E]},j="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",P={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(j)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[E]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:S,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),_,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,b,g,O,v,{match:/\$\d+/},f,T,{scope:"attr",match:i+t.lookahead(":"),relevance:0},P,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[v,e.REGEXP_MODE,{className:"function",begin:j,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:S}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},N,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[E,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},D,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[E]},L,C,k,$,{match:/\$[(.]/}]}}function due(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:i},contains:[t,n,e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var qg="[0-9](_*[0-9])*",uE=`\\.(${qg})`,dE="[0-9a-fA-F](_*[0-9a-fA-F])*",jHe={className:"number",variants:[{begin:`(\\b(${qg})((${uE})|\\.)?|(${uE}))[eE][+-]?(${qg})[fFdD]?\\b`},{begin:`\\b(${qg})((${uE})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${uE})[fFdD]?\\b`},{begin:`\\b(${qg})[fFdD]\\b`},{begin:`\\b0[xX]((${dE})\\.?|(${dE})?\\.(${dE}))[pP][+-]?(${qg})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${dE})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function RHe(e){const t={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"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,r]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,r]}]};r.contains.push(a);const l={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(a,{className:"string"}),"self"]}]},u=jHe,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},h=f;return h.variants[1].contains=[f],f.variants[1].contains=[h],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,n,i,l,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[f,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,l,c,a,e.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},l,c]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` -`},u]}}const IHe=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.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:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.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_-]*/}}),DHe=["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"],PHe=["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"],MHe=[...DHe,...PHe],LHe=["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(),fue=["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(),hue=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),$He=["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(),BHe=fue.concat(hue).sort().reverse();function QHe(e){const t=IHe(e),n=BHe,i="and or not only",r="[\\w-]+",s="("+r+"|@\\{"+r+"\\})",a=[],l=[],c=function(x){return{className:"string",begin:"~?"+x+".*?"+x}},u=function(x,w,S){return{className:x,begin:w,relevance:S}},d={$pattern:/[a-z-]+/,keyword:i,attribute:LHe.join(" ")},f={begin:"\\(",end:"\\)",contains:l,keywords:d,relevance:0};l.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,c("'"),c('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,f,u("variable","@@?"+r,10),u("variable","@\\{"+r+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const h=l.concat({begin:/\{/,end:/\}/,contains:a}),p={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(l)},b={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+$He.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:l}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:l,relevance:0}},O={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:h}},y={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p,u("keyword","all\\b"),u("variable","@\\{"+r+"\\}"),{begin:"\\b("+MHe.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",s,0),u("selector-id","#"+s),u("selector-class","\\."+s,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+fue.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+hue.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:h},{begin:"!important"},t.FUNCTION_DISPATCH]},v={begin:r+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[y]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,O,v,b,y,p,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}function FHe(e){const t="\\[=*\\[",n="\\]=*\\]",i={begin:t,end:n,contains:["self"]},r=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[i],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.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:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[i],relevance:5}])}}function pue(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={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}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},l=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,l,/:\/\/.*?\)/),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}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=e.inherit(u,{contains:[]}),h=e.inherit(d,{contains:[]});u.contains.push(h),d.contains.push(f);let p=[n,c];return[u,d,f,h].forEach(y=>{y.contains=y.contains.concat(p)}),p=p.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},n,s,u,d,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},r,i,c,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function UHe(e){const t={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+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,l={"variable.language":["this","super"],$pattern:n,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"]},c={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:l,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function zHe(e){const t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:n.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},l={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[l]},u={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},d=[e.BACKSLASH_ESCAPE,s,c],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],h=(g,O,y="\\1")=>{const v=y==="\\1"?y:t.concat(y,O);return t.concat(t.concat("(?:",g,")"),O,/(?:\\.|[^\\\/])*?/,v,/(?:\\.|[^\\\/])*?/,y,i)},p=(g,O,y)=>t.concat(t.concat("(?:",g,")"),O,/(?:\\.|[^\\\/])*?/,y,i),b=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:d,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:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},u,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:h("s|tr|y",t.either(...f,{capture:!0}))},{begin:h("s|tr|y","\\(","\\)")},{begin:h("s|tr|y","\\[","\\]")},{begin:h("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",t.either(...f,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=b,a.contains=b,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:b}}function VHe(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,i=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),s=t.concat(/[A-Z]+/,n),a={scope:"variable",match:"\\$+"+i},l={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=e.inherit(e.APOS_STRING_MODE,{illegal:null}),d=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(D,$)=>{$.data._beginMatch=D[1]||D[2]},"on:end":(D,$)=>{$.data._beginMatch!==D[1]&&$.ignoreMatch()}},h=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[ +`},u]}}const IHe=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.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:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.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_-]*/}}),DHe=["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"],PHe=["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"],MHe=[...DHe,...PHe],LHe=["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(),fue=["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(),hue=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),$He=["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(),BHe=fue.concat(hue).sort().reverse();function QHe(e){const t=IHe(e),n=BHe,i="and or not only",r="[\\w-]+",s="("+r+"|@\\{"+r+"\\})",a=[],l=[],c=function(x){return{className:"string",begin:"~?"+x+".*?"+x}},u=function(x,w,S){return{className:x,begin:w,relevance:S}},d={$pattern:/[a-z-]+/,keyword:i,attribute:LHe.join(" ")},f={begin:"\\(",end:"\\)",contains:l,keywords:d,relevance:0};l.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,c("'"),c('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,f,u("variable","@@?"+r,10),u("variable","@\\{"+r+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const h=l.concat({begin:/\{/,end:/\}/,contains:a}),p={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(l)},b={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+$He.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:l}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:l,relevance:0}},O={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:h}},y={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p,u("keyword","all\\b"),u("variable","@\\{"+r+"\\}"),{begin:"\\b("+MHe.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",s,0),u("selector-id","#"+s),u("selector-class","\\."+s,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+fue.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+hue.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:h},{begin:"!important"},t.FUNCTION_DISPATCH]},v={begin:r+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[y]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,O,v,b,y,p,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}function FHe(e){const t="\\[=*\\[",n="\\]=*\\]",i={begin:t,end:n,contains:["self"]},r=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[i],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.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:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[i],relevance:5}])}}function pue(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={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}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},l=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,l,/:\/\/.*?\)/),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}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=e.inherit(u,{contains:[]}),h=e.inherit(d,{contains:[]});u.contains.push(h),d.contains.push(f);let p=[n,c];return[u,d,f,h].forEach(y=>{y.contains=y.contains.concat(p)}),p=p.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},n,s,u,d,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},r,i,c,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function UHe(e){const t={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+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,l={"variable.language":["this","super"],$pattern:n,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"]},c={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:l,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function zHe(e){const t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:n.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},l={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[l]},u={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},d=[e.BACKSLASH_ESCAPE,s,c],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],h=(g,O,y="\\1")=>{const v=y==="\\1"?y:t.concat(y,O);return t.concat(t.concat("(?:",g,")"),O,/(?:\\.|[^\\\/])*?/,v,/(?:\\.|[^\\\/])*?/,y,i)},p=(g,O,y)=>t.concat(t.concat("(?:",g,")"),O,/(?:\\.|[^\\\/])*?/,y,i),b=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:d,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:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},u,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:h("s|tr|y",t.either(...f,{capture:!0}))},{begin:h("s|tr|y","\\(","\\)")},{begin:h("s|tr|y","\\[","\\]")},{begin:h("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",t.either(...f,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=b,a.contains=b,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:b}}function VHe(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,i=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),s=t.concat(/[A-Z]+/,n),a={scope:"variable",match:"\\$+"+i},l={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=e.inherit(e.APOS_STRING_MODE,{illegal:null}),d=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(D,$)=>{$.data._beginMatch=D[1]||D[2]},"on:end":(D,$)=>{$.data._beginMatch!==D[1]&&$.ignoreMatch()}},h=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[ ]`,b={scope:"string",variants:[d,u,f,h]},g={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},O=["false","null","true"],y=["__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"],v=["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"],w={keyword:y,literal:(D=>{const $=[];return D.forEach(j=>{$.push(j),j.toLowerCase()===j?$.push(j.toUpperCase()):$.push(j.toLowerCase())}),$})(O),built_in:v},S=D=>D.map($=>$.replace(/\|\d+$/,"")),E={variants:[{match:[/new/,t.concat(p,"+"),t.concat("(?!",S(v).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},k=t.concat(i,"\\b(?!\\()"),T={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{1:"title.class",3:"variable.constant"}},{match:[r,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},_={scope:"attr",match:t.concat(i,t.lookahead(":"),t.lookahead(/(?!::)/))},N={relevance:0,begin:/\(/,end:/\)/,keywords:w,contains:[_,a,T,e.C_BLOCK_COMMENT_MODE,b,g,E]},C={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",S(y).join("\\b|"),"|",S(v).join("\\b|"),"\\b)"),i,t.concat(p,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[N]};N.contains.push(C);const R=[_,T,e.C_BLOCK_COMMENT_MODE,b,g,E],L={begin:t.concat(/#\[\s*\\?/,t.either(r,s)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:O,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:O,keyword:["new","array"]},contains:["self",...R]},...R,{scope:"meta",variants:[{match:r},{match:s}]}]};return{case_insensitive:!1,keywords:w,contains:[L,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},l,{scope:"variable.language",match:/\$this\b/},a,C,T,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},E,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:w,contains:["self",L,a,T,e.C_BLOCK_COMMENT_MODE,b,g]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},b,g]}}function qHe(e){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},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function HHe(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function gue(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),i=["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"],l={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,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"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:l,illegal:/#/},d={begin:/\{\{/,relevance:0},f={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c,d,u]},{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:[e.BACKSLASH_ESCAPE,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,d,u]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},h="[0-9](_?[0-9])*",p=`(\\b(${h}))?\\.(${h})|\\b(${h})\\.`,b=`\\b|${i.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${h})|(${p}))[eE][+-]?(${h})[jJ]?(?=${b})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${h})[jJ](?=${b})`}]},O={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:l,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},y={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",c,g,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,g,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:l,illegal:/(<\/|\?)|=>/,contains:[c,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,O,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[y]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,y,f]}]}}function XHe(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function GHe(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=t.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]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,s=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,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:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[s,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:s},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function YHe(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=t.concat(i,/(::\w+)*/),a={"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"]},l={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},u=[e.COMMENT("#","$",{contains:[l]}),e.COMMENT("^=begin","^=end",{contains:[l],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],d={className:"subst",begin:/#\{/,end:/\}/,keywords:a},f={className:"string",contains:[e.BACKSLASH_ESCAPE,d],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:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,d]})]}]},h="[1-9](_?[0-9])*|0",p="[0-9](_?[0-9])*",b={className:"number",relevance:0,variants:[{begin:`\\b(${h})(\\.(${p}))?([eE][+-]?(${p})|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"}]},g={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},E=[f,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:a},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[g]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[f,{begin:n}],relevance:0},b,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,d],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(c,u),relevance:0}].concat(c,u);d.contains=E,g.contains=E;const N=[{begin:/^\s*=>/,starts:{end:"$",contains:E}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:a,contains:E}}];return u.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(N).concat(u).concat(E)}}function WHe(e){const t=e.regex,n=/(r#)?/,i=t.concat(n,e.UNDERSCORE_IDENT_RE),r=t.concat(n,e.IDENT_RE),s={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,r,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(32|64))?",l=["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"],c=["true","false","Some","None","Ok","Err"],u=["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!"],d=["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:e.IDENT_RE+"!?",type:d,keyword:l,literal:c,built_in:u},illegal:""},s]}}const ZHe=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.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:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.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_-]*/}}),KHe=["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"],JHe=["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"],eXe=[...KHe,...JHe],tXe=["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(),nXe=["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(),iXe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),rXe=["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 sXe(e){const t=ZHe(e),n=iXe,i=nXe,r="@[a-z-]+",s="and or not only",l={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+eXe.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},l,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+rXe.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:[t.BLOCK_COMMENT,l,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:tXe.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},l,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function aXe(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function oXe(e){const t=e.regex,n=e.COMMENT("--","$"),i={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],l=["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"],c=["add","asc","collation","desc","final","first","last","view"],u=["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"],d=["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"],f=["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"],h=["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"],p=d,b=[...u,...c].filter(S=>!d.includes(S)),g={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},O={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},y={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function v(S){return t.concat(/\b/,t.either(...S.map(E=>E.replace(/\s+/,"\\s+"))),/\b/)}const x={scope:"keyword",match:v(h),relevance:0};function w(S,{exceptions:E,when:k}={}){const T=k;return E=E||[],S.map(_=>_.match(/\|\d+$/)||E.includes(_)?_:T(_)?`${_}|0`:_)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:w(b,{when:S=>S.length<3}),literal:s,type:l,built_in:f},contains:[{scope:"type",match:v(a)},x,y,g,i,r,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,O]}}function bue(e){return e?typeof e=="string"?e:e.source:null}function yy(e){return zi("(?=",e,")")}function zi(...e){return e.map(n=>bue(n)).join("")}function lXe(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function La(...e){return"("+(lXe(e).capture?"":"?:")+e.map(i=>bue(i)).join("|")+")"}const $$=e=>zi(/\b/,e,/\w$/.test(e)?/\b/:/\B/),cXe=["Protocol","Type"].map($$),gq=["init","self"].map($$),uXe=["Any","Self"],DR=["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"],bq=["false","nil","true"],dXe=["assignment","associativity","higherThan","left","lowerThan","none","right"],fXe=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Oq=["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"],Oue=La(/[/=\-+!*%<>&|^~?]/,/[\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]/),yue=La(Oue,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),PR=zi(Oue,yue,"*"),xue=La(/[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]/),C2=La(xue,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Kc=zi(xue,C2,"*"),fE=zi(/[A-Z]/,C2,"*"),hXe=["attached","autoclosure",zi(/convention\(/,La("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",zi(/objc\(/,Kc,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],pXe=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function mXe(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[e.C_LINE_COMMENT_MODE,n],r={match:[/\./,La(...cXe,...gq)],className:{2:"keyword"}},s={match:zi(/\./,La(...DR)),relevance:0},a=DR.filter(pe=>typeof pe=="string").concat(["_|0"]),l=DR.filter(pe=>typeof pe!="string").concat(uXe).map($$),c={variants:[{className:"keyword",match:La(...l,...gq)}]},u={$pattern:La(/\b\w+/,/#\w+/),keyword:a.concat(fXe),literal:bq},d=[r,s,c],f={match:zi(/\./,La(...Oq)),relevance:0},h={className:"built_in",match:zi(/\b/,La(...Oq),/(?=\()/)},p=[f,h],b={match:/->/,relevance:0},g={className:"operator",relevance:0,variants:[{match:PR},{match:`\\.(\\.|${yue})+`}]},O=[b,g],y="([0-9]_*)+",v="([0-9a-fA-F]_*)+",x={className:"number",relevance:0,variants:[{match:`\\b(${y})(\\.(${y}))?([eE][+-]?(${y}))?\\b`},{match:`\\b0x(${v})(\\.(${v}))?([pP][+-]?(${y}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},w=(pe="")=>({className:"subst",variants:[{match:zi(/\\/,pe,/[0\\tnr"']/)},{match:zi(/\\/,pe,/u\{[0-9a-fA-F]{1,8}\}/)}]}),S=(pe="")=>({className:"subst",match:zi(/\\/,pe,/[\t ]*(?:[\r\n]|\r\n)/)}),E=(pe="")=>({className:"subst",label:"interpol",begin:zi(/\\/,pe,/\(/),end:/\)/}),k=(pe="")=>({begin:zi(pe,/"""/),end:zi(/"""/,pe),contains:[w(pe),S(pe),E(pe)]}),T=(pe="")=>({begin:zi(pe,/"/),end:zi(/"/,pe),contains:[w(pe),E(pe)]}),_={className:"string",variants:[k(),k("#"),k("##"),k("###"),T(),T("#"),T("##"),T("###")]},N=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],C={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:N},R=pe=>{const Ee=zi(pe,/\//),ye=zi(/\//,pe);return{begin:Ee,end:ye,contains:[...N,{scope:"comment",begin:`#(?!.*${ye})`,end:/$/}]}},L={scope:"regexp",variants:[R("###"),R("##"),R("#"),C]},D={match:zi(/`/,Kc,/`/)},$={className:"variable",match:/\$\d+/},j={className:"variable",match:`\\$${C2}+`},P=[D,$,j],M={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:pXe,contains:[...O,x,_]}]}},U={scope:"keyword",match:zi(/@/,La(...hXe),yy(La(/\(/,/\s+/)))},F={scope:"meta",match:zi(/@/,Kc)},H=[M,U,F],z={match:yy(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:zi(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,C2,"+")},{className:"type",match:fE,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:zi(/\s+&\s+/,yy(fE)),relevance:0}]},Q={begin://,keywords:u,contains:[...i,...d,...H,b,z]};z.contains.push(Q);const q={match:zi(Kc,/\s*:/),keywords:"_|0",relevance:0},le={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",q,...i,L,...d,...p,...O,x,_,...P,...H,z]},ge={begin://,keywords:"repeat each",contains:[...i,z]},be={begin:La(yy(zi(Kc,/\s*:/)),yy(zi(Kc,/\s+/,Kc,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Kc}]},ce={begin:/\(/,end:/\)/,keywords:u,contains:[be,...i,...d,...O,x,_,...H,z,le],endsParent:!0,illegal:/["']/},Z={match:[/(func|macro)/,/\s+/,La(D.match,Kc,PR)],className:{1:"keyword",3:"title.function"},contains:[ge,ce,t],illegal:[/\[/,/%/]},J={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ge,ce,t],illegal:/\[|%/},ue={match:[/operator/,/\s+/,PR],className:{1:"keyword",3:"title"}},Oe={begin:[/precedencegroup/,/\s+/,fE],className:{1:"keyword",3:"title"},contains:[z],keywords:[...dXe,...bq],end:/}/},Ne={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},De={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},Pe={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Kc,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[ge,...d,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:fE},...d],relevance:0}]};for(const pe of _.variants){const Ee=pe.contains.find($e=>$e.label==="interpol");Ee.keywords=u;const ye=[...d,...p,...O,x,_,...P];Ee.contains=[...ye,{begin:/\(/,end:/\)/,contains:["self",...ye]}]}return{name:"Swift",keywords:u,contains:[...i,Z,J,Ne,De,Pe,ue,Oe,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},L,...d,...p,...O,x,_,...P,...H,z,le]}}const N2="[A-Za-z$_][0-9A-Za-z$_]*",vue=["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"],wue=["true","false","null","undefined","NaN","Infinity"],Sue=["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"],Eue=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],kue=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Tue=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],_ue=[].concat(kue,Sue,Eue);function gXe(e){const t=e.regex,n=(M,{after:U})=>{const F="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(M,U)=>{const F=M[0].length+M.index,H=M.input[F];if(H==="<"||H===","){U.ignoreMatch();return}H===">"&&(n(M,{after:F})||U.ignoreMatch());let z;const Q=M.input.substring(F);if(z=Q.match(/^\s*=/)){U.ignoreMatch();return}if((z=Q.match(/^\s+extends\s+/))&&z.index===0){U.ignoreMatch();return}}},l={$pattern:N2,keyword:vue,literal:wue,built_in:_ue,"variable.language":Tue},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\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},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},O={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},v={className:"comment",variants:[e.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:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,b,g,O,{match:/\$\d+/},f];h.contains=x.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(x)});const w=[].concat(v,h.contains),S=w.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(w)}]),E={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:S},k={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,t.concat(i,"(",t.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},T={relevance:0,match:t.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:{_:[...Sue,...Eue]}},_={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},N={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[E],illegal:/%/},C={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function R(M){return t.concat("(?!",M.join("|"),")")}const L={match:t.concat(/\b/,R([...kue,"super","import"].map(M=>`${M}\\s*\\(`)),i,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},D={begin:t.concat(/\./,t.lookahead(t.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},$={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},E]},j="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",P={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(j)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[E]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:S,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),_,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,b,g,O,v,{match:/\$\d+/},f,T,{scope:"attr",match:i+t.lookahead(":"),relevance:0},P,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[v,e.REGEXP_MODE,{className:"function",begin:j,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:S}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},N,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[E,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},D,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[E]},L,C,k,$,{match:/\$[(.]/}]}}function Aue(e){const t=e.regex,n=gXe(e),i=N2,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},a={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[n.exports.CLASS_REFERENCE]},l={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:N2,keyword:vue.concat(c),literal:wue,built_in:_ue.concat(r),"variable.language":Tue},d={className:"meta",begin:"@"+i},f=(g,O,y)=>{const v=g.contains.findIndex(x=>x.label===O);if(v===-1)throw new Error("can not find mode to replace");g.contains.splice(v,1,y)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(d);const h=n.contains.find(g=>g.scope==="attr"),p=Object.assign({},h,{match:t.concat(i,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,p]),n.contains=n.contains.concat([d,s,a,p]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",l);const b=n.contains.find(g=>g.label==="func.def");return b.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function bXe(e){const t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,a=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,l=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:t.concat(/# */,t.either(s,r),/ *#/)},{begin:t.concat(/# */,l,/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,t.either(s,r),/ +/,t.either(a,l),/ *#/)}]},u={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])|[%&])?/}]},d={className:"label",begin:/^\w+:/},f=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),h=e.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:[n,i,c,u,d,f,h,{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:[h]}]}}function OXe(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const n=e.COMMENT(/;;/,/$/),i=["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"],r={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},a={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},l={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/},c={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},u={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:i},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,a,r,e.QUOTE_STRING_MODE,c,u,l]}}function yXe(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=e.inherit(s,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),c=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),u={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:[s,c,l,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[s,a,c,l]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[u],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[u],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:u}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function Cue(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},a={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,r]},l=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),h={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"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},b={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},O=[i,{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+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},h,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},b,g,s,a],y=[...O];return y.pop(),y.push(l),p.contains=y,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:O}}const xXe={arduino:uHe,bash:rue,c:dHe,cpp:fHe,csharp:hHe,css:wHe,diff:SHe,go:EHe,graphql:kHe,ini:sue,java:THe,javascript:uue,json:due,kotlin:RHe,less:QHe,lua:FHe,makefile:pue,markdown:mue,objectivec:UHe,perl:zHe,php:VHe,"php-template":qHe,plaintext:HHe,python:gue,"python-repl":XHe,r:GHe,ruby:YHe,rust:WHe,scss:sXe,shell:aXe,sql:oXe,swift:mXe,typescript:Aue,vbnet:bXe,wasm:OXe,xml:yXe,yaml:Cue};function Nue(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const n=e[t],i=typeof n;(i==="object"||i==="function")&&!Object.isFrozen(n)&&Nue(n)}),e}let yq=class{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function jue(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function nh(e,...t){const n=Object.create(null);for(const i in e)n[i]=e[i];return t.forEach(function(i){for(const r in i)n[r]=i[r]}),n}const vXe="",xq=e=>!!e.scope,wXe=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${t}${e}`};class SXe{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=jue(t)}openNode(t){if(!xq(t))return;const n=wXe(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){xq(t)&&(this.buffer+=vXe)}value(){return this.buffer}span(t){this.buffer+=``}}const vq=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class B${constructor(){this.rootNode=vq(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const n=vq({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(i=>this._walk(t,i)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{B$._collapse(n)}))}}class EXe extends B${constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const i=t.root;n&&(i.scope=`language:${n}`),this.add(i)}toHTML(){return new SXe(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Xx(e){return e?typeof e=="string"?e:e.source:null}function Rue(e){return Wm("(?=",e,")")}function kXe(e){return Wm("(?:",e,")*")}function TXe(e){return Wm("(?:",e,")?")}function Wm(...e){return e.map(n=>Xx(n)).join("")}function _Xe(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Q$(...e){return"("+(_Xe(e).capture?"":"?:")+e.map(i=>Xx(i)).join("|")+")"}function Iue(e){return new RegExp(e.toString()+"|").exec("").length-1}function AXe(e,t){const n=e&&e.exec(t);return n&&n.index===0}const CXe=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function F$(e,{joinWith:t}){let n=0;return e.map(i=>{n+=1;const r=n;let s=Xx(i),a="";for(;s.length>0;){const l=CXe.exec(s);if(!l){a+=s;break}a+=s.substring(0,l.index),s=s.substring(l.index+l[0].length),l[0][0]==="\\"&&l[1]?a+="\\"+String(Number(l[1])+r):(a+=l[0],l[0]==="("&&n++)}return a}).map(i=>`(${i})`).join(t)}const NXe=/\b\B/,Due="[a-zA-Z]\\w*",U$="[a-zA-Z_]\\w*",Pue="\\b\\d+(\\.\\d+)?",Mue="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Lue="\\b(0b[01]+)",jXe="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",RXe=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=Wm(t,/.*\b/,e.binary,/\b.*/)),nh({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,i)=>{n.index!==0&&i.ignoreMatch()}},e)},Gx={begin:"\\\\[\\s\\S]",relevance:0},IXe={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Gx]},DXe={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Gx]},PXe={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/},nC=function(e,t,n={}){const i=nh({scope:"comment",begin:e,end:t,contains:[]},n);i.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 r=Q$("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 i.contains.push({begin:Wm(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},MXe=nC("//","$"),LXe=nC("/\\*","\\*/"),$Xe=nC("#","$"),BXe={scope:"number",begin:Pue,relevance:0},QXe={scope:"number",begin:Mue,relevance:0},FXe={scope:"number",begin:Lue,relevance:0},UXe={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Gx,{begin:/\[/,end:/\]/,relevance:0,contains:[Gx]}]},zXe={scope:"title",begin:Due,relevance:0},VXe={scope:"title",begin:U$,relevance:0},qXe={begin:"\\.\\s*"+U$,relevance:0},HXe=function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})};var hE=Object.freeze({__proto__:null,APOS_STRING_MODE:IXe,BACKSLASH_ESCAPE:Gx,BINARY_NUMBER_MODE:FXe,BINARY_NUMBER_RE:Lue,COMMENT:nC,C_BLOCK_COMMENT_MODE:LXe,C_LINE_COMMENT_MODE:MXe,C_NUMBER_MODE:QXe,C_NUMBER_RE:Mue,END_SAME_AS_BEGIN:HXe,HASH_COMMENT_MODE:$Xe,IDENT_RE:Due,MATCH_NOTHING_RE:NXe,METHOD_GUARD:qXe,NUMBER_MODE:BXe,NUMBER_RE:Pue,PHRASAL_WORDS_MODE:PXe,QUOTE_STRING_MODE:DXe,REGEXP_MODE:UXe,RE_STARTERS_RE:jXe,SHEBANG:RXe,TITLE_MODE:zXe,UNDERSCORE_IDENT_RE:U$,UNDERSCORE_TITLE_MODE:VXe});function XXe(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function GXe(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function YXe(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=XXe,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function WXe(e,t){Array.isArray(e.illegal)&&(e.illegal=Q$(...e.illegal))}function ZXe(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function KXe(e,t){e.relevance===void 0&&(e.relevance=1)}const JXe=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(i=>{delete e[i]}),e.keywords=n.keywords,e.begin=Wm(n.beforeMatch,Rue(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},eGe=["of","and","for","in","not","or","if","then","parent","list","value"],tGe="keyword";function $ue(e,t,n=tGe){const i=Object.create(null);return typeof e=="string"?r(n,e.split(" ")):Array.isArray(e)?r(n,e):Object.keys(e).forEach(function(s){Object.assign(i,$ue(e[s],t,s))}),i;function r(s,a){t&&(a=a.map(l=>l.toLowerCase())),a.forEach(function(l){const c=l.split("|");i[c[0]]=[s,nGe(c[0],c[1])]})}}function nGe(e,t){return t?Number(t):iGe(e)?0:1}function iGe(e){return eGe.includes(e.toLowerCase())}const wq={},cm=e=>{console.error(e)},Sq=(e,...t)=>{console.log(`WARN: ${e}`,...t)},kg=(e,t)=>{wq[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),wq[`${e}/${t}`]=!0)},j2=new Error;function Bue(e,t,{key:n}){let i=0;const r=e[n],s={},a={};for(let l=1;l<=t.length;l++)a[l+i]=r[l],s[l+i]=!0,i+=Iue(t[l-1]);e[n]=a,e[n]._emit=s,e[n]._multi=!0}function rGe(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw cm("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),j2;if(typeof e.beginScope!="object"||e.beginScope===null)throw cm("beginScope must be object"),j2;Bue(e,e.begin,{key:"beginScope"}),e.begin=F$(e.begin,{joinWith:""})}}function sGe(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw cm("skip, excludeEnd, returnEnd not compatible with endScope: {}"),j2;if(typeof e.endScope!="object"||e.endScope===null)throw cm("endScope must be object"),j2;Bue(e,e.end,{key:"endScope"}),e.end=F$(e.end,{joinWith:""})}}function aGe(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function oGe(e){aGe(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),rGe(e),sGe(e)}function lGe(e){function t(a,l){return new RegExp(Xx(a),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(l?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(l,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,l]),this.matchAt+=Iue(l)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const l=this.regexes.map(c=>c[1]);this.matcherRe=t(F$(l,{joinWith:"|"}),!0),this.lastIndex=0}exec(l){this.matcherRe.lastIndex=this.lastIndex;const c=this.matcherRe.exec(l);if(!c)return null;const u=c.findIndex((f,h)=>h>0&&f!==void 0),d=this.matchIndexes[u];return c.splice(0,u),Object.assign(c,d)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(l){if(this.multiRegexes[l])return this.multiRegexes[l];const c=new n;return this.rules.slice(l).forEach(([u,d])=>c.addRule(u,d)),c.compile(),this.multiRegexes[l]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(l,c){this.rules.push([l,c]),c.type==="begin"&&this.count++}exec(l){const c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let u=c.exec(l);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,u=d.exec(l)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function r(a){const l=new i;return a.contains.forEach(c=>l.addRule(c.begin,{rule:c,type:"begin"})),a.terminatorEnd&&l.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&l.addRule(a.illegal,{type:"illegal"}),l}function s(a,l){const c=a;if(a.isCompiled)return c;[GXe,ZXe,oGe,JXe].forEach(d=>d(a,l)),e.compilerExtensions.forEach(d=>d(a,l)),a.__beforeBegin=null,[YXe,WXe,KXe].forEach(d=>d(a,l)),a.isCompiled=!0;let u=null;return typeof a.keywords=="object"&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),u=a.keywords.$pattern,delete a.keywords.$pattern),u=u||/\w+/,a.keywords&&(a.keywords=$ue(a.keywords,e.case_insensitive)),c.keywordPatternRe=t(u,!0),l&&(a.begin||(a.begin=/\B|\b/),c.beginRe=t(c.begin),!a.end&&!a.endsWithParent&&(a.end=/\B|\b/),a.end&&(c.endRe=t(c.end)),c.terminatorEnd=Xx(c.end)||"",a.endsWithParent&&l.terminatorEnd&&(c.terminatorEnd+=(a.end?"|":"")+l.terminatorEnd)),a.illegal&&(c.illegalRe=t(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(d){return cGe(d==="self"?a:d)})),a.contains.forEach(function(d){s(d,c)}),a.starts&&s(a.starts,l),c.matcher=r(c),c}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=nh(e.classNameAliases||{}),s(e)}function Que(e){return e?e.endsWithParent||Que(e.starts):!1}function cGe(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return nh(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Que(e)?nh(e,{starts:e.starts?nh(e.starts):null}):Object.isFrozen(e)?nh(e):e}var uGe="11.11.1";class dGe extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const MR=jue,Eq=nh,kq=Symbol("nomatch"),fGe=7,Fue=function(e){const t=Object.create(null),n=Object.create(null),i=[];let r=!0;const s="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]};let l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:EXe};function c(j){return l.noHighlightRe.test(j)}function u(j){let P=j.className+" ";P+=j.parentNode?j.parentNode.className:"";const M=l.languageDetectRe.exec(P);if(M){const U=T(M[1]);return U||(Sq(s.replace("{}",M[1])),Sq("Falling back to no-highlight mode for this block.",j)),U?M[1]:"no-highlight"}return P.split(/\s+/).find(U=>c(U)||T(U))}function d(j,P,M){let U="",F="";typeof P=="object"?(U=j,M=P.ignoreIllegals,F=P.language):(kg("10.7.0","highlight(lang, code, ...args) has been deprecated."),kg("10.7.0",`Please use highlight(code, options) instead. https://github.com/highlightjs/highlight.js/issues/2277`),F=j,U=P),M===void 0&&(M=!0);const H={code:U,language:F};D("before:highlight",H);const z=H.result?H.result:f(H.language,H.code,M);return z.code=H.code,D("after:highlight",z),z}function f(j,P,M,U){const F=Object.create(null);function H(W,ne){return W.keywords[ne]}function z(){if(!ye.keywords){Ue.addText(_e);return}let W=0;ye.keywordPatternRe.lastIndex=0;let ne=ye.keywordPatternRe.exec(_e),de="";for(;ne;){de+=_e.substring(W,ne.index);const xe=Pe.case_insensitive?ne[0].toLowerCase():ne[0],V=H(ye,xe);if(V){const[Re,Ze]=V;if(Ue.addText(de),de="",F[xe]=(F[xe]||0)+1,F[xe]<=fGe&&(ze+=Ze),Re.startsWith("_"))de+=ne[0];else{const et=Pe.classNameAliases[Re]||Re;le(ne[0],et)}}else de+=ne[0];W=ye.keywordPatternRe.lastIndex,ne=ye.keywordPatternRe.exec(_e)}de+=_e.substring(W),Ue.addText(de)}function Q(){if(_e==="")return;let W=null;if(typeof ye.subLanguage=="string"){if(!t[ye.subLanguage]){Ue.addText(_e);return}W=f(ye.subLanguage,_e,!0,$e[ye.subLanguage]),$e[ye.subLanguage]=W._top}else W=p(_e,ye.subLanguage.length?ye.subLanguage:null);ye.relevance>0&&(ze+=W.relevance),Ue.__addSublanguage(W._emitter,W.language)}function q(){ye.subLanguage!=null?Q():z(),_e=""}function le(W,ne){W!==""&&(Ue.startScope(ne),Ue.addText(W),Ue.endScope())}function ge(W,ne){let de=1;const xe=ne.length-1;for(;de<=xe;){if(!W._emit[de]){de++;continue}const V=Pe.classNameAliases[W[de]]||W[de],Re=ne[de];V?le(Re,V):(_e=Re,z(),_e=""),de++}}function be(W,ne){return W.scope&&typeof W.scope=="string"&&Ue.openNode(Pe.classNameAliases[W.scope]||W.scope),W.beginScope&&(W.beginScope._wrap?(le(_e,Pe.classNameAliases[W.beginScope._wrap]||W.beginScope._wrap),_e=""):W.beginScope._multi&&(ge(W.beginScope,ne),_e="")),ye=Object.create(W,{parent:{value:ye}}),ye}function ce(W,ne,de){let xe=AXe(W.endRe,de);if(xe){if(W["on:end"]){const V=new yq(W);W["on:end"](ne,V),V.isMatchIgnored&&(xe=!1)}if(xe){for(;W.endsParent&&W.parent;)W=W.parent;return W}}if(W.endsWithParent)return ce(W.parent,ne,de)}function Z(W){return ye.matcher.regexIndex===0?(_e+=W[0],1):(We=!0,0)}function J(W){const ne=W[0],de=W.rule,xe=new yq(de),V=[de.__beforeBegin,de["on:begin"]];for(const Re of V)if(Re&&(Re(W,xe),xe.isMatchIgnored))return Z(ne);return de.skip?_e+=ne:(de.excludeBegin&&(_e+=ne),q(),!de.returnBegin&&!de.excludeBegin&&(_e=ne)),be(de,W),de.returnBegin?0:ne.length}function ue(W){const ne=W[0],de=P.substring(W.index),xe=ce(ye,W,de);if(!xe)return kq;const V=ye;ye.endScope&&ye.endScope._wrap?(q(),le(ne,ye.endScope._wrap)):ye.endScope&&ye.endScope._multi?(q(),ge(ye.endScope,W)):V.skip?_e+=ne:(V.returnEnd||V.excludeEnd||(_e+=ne),q(),V.excludeEnd&&(_e=ne));do ye.scope&&Ue.closeNode(),!ye.skip&&!ye.subLanguage&&(ze+=ye.relevance),ye=ye.parent;while(ye!==xe.parent);return xe.starts&&be(xe.starts,W),V.returnEnd?0:ne.length}function Oe(){const W=[];for(let ne=ye;ne!==Pe;ne=ne.parent)ne.scope&&W.unshift(ne.scope);W.forEach(ne=>Ue.openNode(ne))}let Ne={};function De(W,ne){const de=ne&&ne[0];if(_e+=W,de==null)return q(),0;if(Ne.type==="begin"&&ne.type==="end"&&Ne.index===ne.index&&de===""){if(_e+=P.slice(ne.index,ne.index+1),!r){const xe=new Error(`0 width match regex (${j})`);throw xe.languageName=j,xe.badRule=Ne.rule,xe}return 1}if(Ne=ne,ne.type==="begin")return J(ne);if(ne.type==="illegal"&&!M){const xe=new Error('Illegal lexeme "'+de+'" for mode "'+(ye.scope||"")+'"');throw xe.mode=ye,xe}else if(ne.type==="end"){const xe=ue(ne);if(xe!==kq)return xe}if(ne.type==="illegal"&&de==="")return _e+=` `,1;if(Lt>1e5&&Lt>ne.index*3)throw new Error("potential infinite loop, way more iterations than matches");return _e+=de,de.length}const Pe=T(j);if(!Pe)throw cm(s.replace("{}",j)),new Error('Unknown language: "'+j+'"');const pe=lGe(Pe);let Ee="",ye=U||pe;const $e={},Ue=new l.__emitter(l);Oe();let _e="",ze=0,lt=0,Lt=0,We=!1;try{if(Pe.__emitTokens)Pe.__emitTokens(P,Ue);else{for(ye.matcher.considerAll();;){Lt++,We?We=!1:ye.matcher.considerAll(),ye.matcher.lastIndex=lt;const W=ye.matcher.exec(P);if(!W)break;const ne=P.substring(lt,W.index),de=De(ne,W);lt=W.index+de}De(P.substring(lt))}return Ue.finalize(),Ee=Ue.toHTML(),{language:j,value:Ee,relevance:ze,illegal:!1,_emitter:Ue,_top:ye}}catch(W){if(W.message&&W.message.includes("Illegal"))return{language:j,value:MR(P),illegal:!0,relevance:0,_illegalBy:{message:W.message,index:lt,context:P.slice(lt-100,lt+100),mode:W.mode,resultSoFar:Ee},_emitter:Ue};if(r)return{language:j,value:MR(P),illegal:!1,relevance:0,errorRaised:W,_emitter:Ue,_top:ye};throw W}}function h(j){const P={value:MR(j),illegal:!1,relevance:0,_top:a,_emitter:new l.__emitter(l)};return P._emitter.addText(j),P}function p(j,P){P=P||l.languages||Object.keys(t);const M=h(j),U=P.filter(T).filter(N).map(q=>f(q,j,!1));U.unshift(M);const F=U.sort((q,le)=>{if(q.relevance!==le.relevance)return le.relevance-q.relevance;if(q.language&&le.language){if(T(q.language).supersetOf===le.language)return 1;if(T(le.language).supersetOf===q.language)return-1}return 0}),[H,z]=F,Q=H;return Q.secondBest=z,Q}function b(j,P,M){const U=P&&n[P]||M;j.classList.add("hljs"),j.classList.add(`language-${U}`)}function g(j){let P=null;const M=u(j);if(c(M))return;if(D("before:highlightElement",{el:j,language:M}),j.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",j);return}if(j.children.length>0&&(l.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(j)),l.throwUnescapedHTML))throw new dGe("One of your code blocks includes unescaped HTML.",j.innerHTML);P=j;const U=P.textContent,F=M?d(U,{language:M,ignoreIllegals:!0}):p(U);j.innerHTML=F.value,j.dataset.highlighted="yes",b(j,M,F.language),j.result={language:F.language,re:F.relevance,relevance:F.relevance},F.secondBest&&(j.secondBest={language:F.secondBest.language,relevance:F.secondBest.relevance}),D("after:highlightElement",{el:j,result:F,text:U})}function O(j){l=Eq(l,j)}const y=()=>{w(),kg("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function v(){w(),kg("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let x=!1;function w(){function j(){w()}if(document.readyState==="loading"){x||window.addEventListener("DOMContentLoaded",j,!1),x=!0;return}document.querySelectorAll(l.cssSelector).forEach(g)}function S(j,P){let M=null;try{M=P(e)}catch(U){if(cm("Language definition for '{}' could not be registered.".replace("{}",j)),r)cm(U);else throw U;M=a}M.name||(M.name=j),t[j]=M,M.rawDefinition=P.bind(null,e),M.aliases&&_(M.aliases,{languageName:j})}function E(j){delete t[j];for(const P of Object.keys(n))n[P]===j&&delete n[P]}function k(){return Object.keys(t)}function T(j){return j=(j||"").toLowerCase(),t[j]||t[n[j]]}function _(j,{languageName:P}){typeof j=="string"&&(j=[j]),j.forEach(M=>{n[M.toLowerCase()]=P})}function N(j){const P=T(j);return P&&!P.disableAutodetect}function C(j){j["before:highlightBlock"]&&!j["before:highlightElement"]&&(j["before:highlightElement"]=P=>{j["before:highlightBlock"](Object.assign({block:P.el},P))}),j["after:highlightBlock"]&&!j["after:highlightElement"]&&(j["after:highlightElement"]=P=>{j["after:highlightBlock"](Object.assign({block:P.el},P))})}function R(j){C(j),i.push(j)}function L(j){const P=i.indexOf(j);P!==-1&&i.splice(P,1)}function D(j,P){const M=j;i.forEach(function(U){U[M]&&U[M](P)})}function $(j){return kg("10.7.0","highlightBlock will be removed entirely in v12.0"),kg("10.7.0","Please use highlightElement now."),g(j)}Object.assign(e,{highlight:d,highlightAuto:p,highlightAll:w,highlightElement:g,highlightBlock:$,configure:O,initHighlighting:y,initHighlightingOnLoad:v,registerLanguage:S,unregisterLanguage:E,listLanguages:k,getLanguage:T,registerAliases:_,autoDetection:N,inherit:Eq,addPlugin:R,removePlugin:L}),e.debugMode=function(){r=!1},e.safeMode=function(){r=!0},e.versionString=uGe,e.regex={concat:Wm,lookahead:Rue,either:Q$,optional:TXe,anyNumberOfTimes:kXe};for(const j in hE)typeof hE[j]=="object"&&Nue(hE[j]);return Object.assign(e,hE),e},Rb=Fue({});Rb.newInstance=()=>Fue({});var hGe=Rb;Rb.HighlightJS=Rb;Rb.default=Rb;const Oo=Xb(hGe),Tq={},pGe="hljs-";function mGe(e){const t=Oo.newInstance();return e&&s(e),{highlight:n,highlightAuto:i,listLanguages:r,register:s,registerAlias:a,registered:l};function n(c,u,d){const f=d||Tq,h=typeof f.prefix=="string"?f.prefix:pGe;if(!t.getLanguage(c))throw new Error("Unknown language: `"+c+"` is not registered");t.configure({__emitter:gGe,classPrefix:h});const p=t.highlight(u,{ignoreIllegals:!0,language:c});if(p.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:p.errorRaised});const b=p._emitter.root,g=b.data;return g.language=p.language,g.relevance=p.relevance,b}function i(c,u){const f=(u||Tq).subset||r();let h=-1,p=0,b;for(;++hp&&(p=O.data.relevance,b=O)}return b||{type:"root",children:[],data:{language:void 0,relevance:p}}}function r(){return t.listLanguages()}function s(c,u){if(typeof c=="string")t.registerLanguage(c,u);else{let d;for(d in c)Object.hasOwn(c,d)&&t.registerLanguage(d,c[d])}}function a(c,u){if(typeof c=="string")t.registerAliases(typeof u=="string"?u:[...u],{languageName:c});else{let d;for(d in c)if(Object.hasOwn(c,d)){const f=c[d];t.registerAliases(typeof f=="string"?f:[...f],{languageName:d})}}}function l(c){return!!t.getLanguage(c)}}class gGe{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const n=this.stack[this.stack.length-1],i=n.children[n.children.length-1];i&&i.type==="text"?i.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const i=this.stack[this.stack.length-1],r=t.root.children;n?i.children.push({type:"element",tagName:"span",properties:{className:[n]},children:r}):i.children.push(...r)}openNode(t){const n=this,i=t.split(".").map(function(a,l){return l?a+"_".repeat(l):n.options.classPrefix+a}),r=this.stack[this.stack.length-1],s={type:"element",tagName:"span",properties:{className:i},children:[]};r.children.push(s),this.stack.push(s)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const bGe={};function _q(e){const t=e||bGe,n=t.aliases,i=t.detect||!1,r=t.languages||xXe,s=t.plainText,a=t.prefix,l=t.subset;let c="hljs";const u=mGe(r);if(n&&u.registerAlias(n),a){const d=a.indexOf("-");c=d===-1?a:a.slice(0,d)}return function(d,f){fw(d,"element",function(h,p,b){if(h.tagName!=="code"||!b||b.type!=="element"||b.tagName!=="pre")return;const g=OGe(h);if(g===!1||!g&&!i||g&&s&&s.includes(g))return;Array.isArray(h.properties.className)||(h.properties.className=[]),h.properties.className.includes(c)||h.properties.className.unshift(c);const O=tHe(h,{whitespace:"pre"});let y;try{y=g?u.highlight(g,O,{prefix:a}):u.highlightAuto(O,{prefix:a,subset:l})}catch(v){const x=v;if(g&&/Unknown language/.test(x.message)){f.message("Cannot highlight as `"+g+"`, it’s not registered",{ancestors:[b,h],cause:x,place:h.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw x}!g&&y.data&&y.data.language&&h.properties.className.push("language-"+y.data.language),y.children.length>0&&(h.children=y.children)})}}function OGe(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let i;for(;++n-1&&s<=t.length){let a=0;for(;;){let l=n[a];if(l===void 0){const c=Nq(t,n[a-1]);l=c===-1?t.length+1:c+1,n[a]=l}if(l>s)return{line:a+1,column:s-(a>0?n[a-1]:0)+1,offset:s};a++}}}function r(s){if(s&&typeof s.line=="number"&&typeof s.column=="number"&&!Number.isNaN(s.line)&&!Number.isNaN(s.column)){for(;n.length1?n[s.line-2]:0)+s.column-1;if(a30)throw new Error("ECharts option nesting is too deep");if(typeof e=="number"&&!Number.isFinite(e))throw new Error("ECharts option contains a non-finite number");if(typeof e=="string"&&HZe.test(e.trim()))throw new Error("ECharts option contains an external resource");if(Array.isArray(e)){for(const n of e)L2(n,t+1);return}if(t1(e))for(const[n,i]of Object.entries(e)){if(qZe.has(n))throw new Error("ECharts option contains an unsafe key");L2(i,t+1)}}function XZe(e){var i;const t=e.trim(),n=t.match(/^(?:(?:const|let|var)\s+)?option\s*=\s*([\s\S]*?)\s*;?$/);return((i=n==null?void 0:n[1])==null?void 0:i.trim())||t}function GZe(e,t){let n=1,i="",r=!1,s=!1,a=!1;for(let l=t+1;li+2)throw new Error("Invalid ECharts gradient argument count");const r=n.slice(0,i).map(YZe),s=n[i],a=n[i+1]??!1;if(!Array.isArray(s)||typeof a!="boolean")throw new Error("Invalid ECharts gradient data");return e==="linear"?{type:e,x:r[0],y:r[1],x2:r[2],y2:r[3],colorStops:s,global:a}:{type:e,x:r[0],y:r[1],r:r[2],colorStops:s,global:a}}function ZZe(e,t){const n=/^(?:new\s+)?echarts\.graphic\.(LinearGradient|RadialGradient)\s*\(/;let i="",r=!1,s=!1,a=!1;for(let l=t;lVZe)throw new Error("ECharts option is too large");const n=KZe(XZe(e));let i;try{i=kde.parse(n)}catch(a){throw/\bfunction\s*\(|=>/.test(n)?new Error("ECharts function callbacks are not supported"):a}if(!t1(i))throw new Error("ECharts option must be a data object");L2(i);const r={...i};r.aria={...t1(r.aria)?r.aria:{},enabled:!0};const s=r.tooltip;return t1(s)?r.tooltip={...s,renderMode:"richText"}:Array.isArray(s)&&(r.tooltip=s.map(a=>t1(a)?{...a,renderMode:"richText"}:a)),t&&(r.animation=!1),r}let FR;function eKe(){return FR??(FR=Id(()=>import("../visualizations/echarts/index-CGT341lL.js"),[]).catch(e=>{throw FR=void 0,e})),FR}function tKe({source:e}){const t=m.useRef(null),[n,i]=m.useState(!1),[r,s]=m.useState("");return m.useEffect(()=>{let a=!1,l,c,u;i(!1);try{u=JZe(e,window.matchMedia("(prefers-reduced-motion: reduce)").matches),s("")}catch{s("ECharts 配置不是有效且安全的数据对象,请切换到代码检查内容。");return}return eKe().then(d=>{const f=t.current;a||!f||(l=d.init(f,void 0,{renderer:"svg"}),l.setOption(u,{notMerge:!0}),typeof ResizeObserver<"u"&&(c=new ResizeObserver(()=>l==null?void 0:l.resize()),c.observe(f)),i(!0))}).catch(()=>{l==null||l.dispose(),l=void 0,a||s("图表暂时无法渲染,请切换到代码检查内容。")}),()=>{a=!0,c==null||c.disconnect(),l==null||l.dispose()}},[e]),o.jsxs("div",{className:`echarts-diagram${r?" echarts-diagram--error":""}`,role:"img","aria-label":"ECharts 图表预览","aria-busy":!n&&!r,children:[o.jsx("div",{ref:t,className:"echarts-diagram__canvas",hidden:!!r}),!n&&!r?o.jsx("div",{className:"echarts-diagram__state","aria-live":"polite",children:o.jsx(Rn,{duration:2.2,spread:15,children:"正在渲染图表…"})}):null,r?o.jsx("p",{className:"echarts-diagram__error",role:"alert",children:r}):null]})}const nKe=m.memo(tKe);let Xq,Gq=Promise.resolve(),iKe=0;function rKe(){return Xq??(Xq=Id(async()=>{const{default:e}=await import("../visualizations/mermaid/mermaid.core-CA8ypPul.js").then(t=>t.ay);return{default:e}},[]).then(({default:e})=>(e.initialize({startOnLoad:!1,securityLevel:"strict",suppressErrorRendering:!0,theme:"neutral"}),e))),Xq}function sKe(e){const t=Gq.then(async()=>{const n=await rKe(),i=`mermaid-diagram-${iKe+=1}`;return n.render(i,e)});return Gq=t.then(()=>{},()=>{}),t}function aKe({source:e}){const t=m.useRef(null),[n,i]=m.useState(null),[r,s]=m.useState(!1);return m.useEffect(()=>{let a=!1;return i(null),s(!1),sKe(e).then(l=>{a||i(l)}).catch(()=>{a||s(!0)}),()=>{a=!0}},[e]),m.useEffect(()=>{!(n!=null&&n.bindFunctions)||!t.current||n.bindFunctions(t.current)},[n]),r?o.jsx("div",{className:"mermaid-diagram mermaid-diagram--error",children:o.jsx("p",{className:"mermaid-diagram__error",role:"alert",children:"图表暂时无法渲染,请切换到代码查看 Mermaid 内容。"})}):n?o.jsx("div",{ref:t,className:"mermaid-diagram",role:"img","aria-label":"Mermaid 图表预览",dangerouslySetInnerHTML:{__html:n.svg}}):o.jsx("div",{className:"mermaid-diagram mermaid-diagram--loading","aria-live":"polite",children:o.jsx(Rn,{duration:2.2,spread:15,children:"正在渲染图表…"})})}const oKe=m.memo(aKe),lKe="_SegmentedControl_1sl7d_1",cKe="_SegmentedControlOption_1sl7d_140",uKe="_SegmentedControlThumb_1sl7d_219",vM={SegmentedControl:lKe,SegmentedControlOption:cKe,SegmentedControlThumb:uKe},jl=({value:e,onChange:t,children:n,block:i,pill:r=!0,size:s="md",gutterSize:a,className:l,onClick:c,...u})=>{const d=m.useRef(null),f=m.useRef(null),h=m.useCallback(b=>{const g=d.current,O=f.current;if(!g||!O)return;const y=g==null?void 0:g.querySelector('[data-state="on"]');if(!y)return;const v=g.clientWidth;let x=Math.floor(y.clientWidth);const w=y.offsetLeft;if(v-(x+w)<2&&(x=x-1),O.style.width=`${Math.floor(x)}px`,O.style.transform=`translateX(${w}px)`,g.scrollWidth>v){const S=v*.15,E=g.scrollLeft,k=y.offsetLeft,T=k+x;(kE+v-S)&&b&&y.scrollIntoView({block:"nearest",inline:"center",behavior:"smooth"})}},[]);Aae({ref:d,onResize:()=>{const b=f.current;if(!b)return;const g=b.style.transition;b.style.transition="",h(!1),b.style.transition=g}}),m.useLayoutEffect(()=>{const b=d.current,g=f.current;!b||!g||(h(!!g.style.transition),g.style.transition||y2(()=>{g.style.transition="width 300ms var(--cubic-enter), transform 300ms var(--cubic-enter)"}))},[h,e,s,a,r]);const p=b=>{b&&t&&t(b)};return o.jsxs(o7e,{ref:d,className:Qi(vM.SegmentedControl,l),type:"single",value:e,loop:!1,onValueChange:p,onClick:c,"data-block":i?"":void 0,"data-pill":r?"":void 0,"data-size":s,"data-gutter-size":a,...u,children:[o.jsx("div",{className:vM.SegmentedControlThumb,ref:f}),n]})},dKe=({children:e,...t})=>o.jsx(f7e,{className:vM.SegmentedControlOption,...t,onPointerEnter:V6,children:o.jsx("span",{className:"relative",children:e})});jl.Option=dKe;function fKe({children:e,label:t,language:n,source:i,streaming:r=!1}){const[s,a]=m.useState("preview"),l=r?"code":s;return o.jsxs("section",{className:"visualization-card","aria-label":`${t} 图表`,children:[o.jsx("div",{className:"visualization-card__toolbar",children:o.jsxs(jl,{className:"visualization-card__tabs",value:l,size:"sm",gutterSize:"sm",pill:!1,"aria-label":`${t} 显示方式`,onChange:c=>{r||a(c)},children:[o.jsx(jl.Option,{value:"preview",disabled:r,children:"预览"}),o.jsx(jl.Option,{value:"code",children:"代码"})]})}),o.jsx("div",{className:"visualization-card__body",children:l==="code"?o.jsx("pre",{className:"visualization-card__code",children:o.jsx("code",{className:`language-${n}`,children:i})}):e})]})}const hKe=m.memo(fKe);function pKe(e){const t=e==null?void 0:e.trim().toLowerCase();if(t==="mermaid")return"mermaid";if(t==="echart"||t==="echarts")return"echarts"}const Tde=[".mp4",".webm",".mov",".m4v",".ogg",".avi"];function wM(e){return typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(wM).join(""):m.isValidElement(e)?wM(e.props.children):""}function mKe(e){var i;const t=m.Children.toArray(e)[0];if(!m.isValidElement(t))return;const n=(i=t.props.className)==null?void 0:i.split(/\s+/).find(r=>r.startsWith("language-"));return pKe(n==null?void 0:n.slice(9))}function _de(e){if(!e)return!1;try{const t=e.toLowerCase();return Tde.some(n=>t.includes(n))}catch{return!1}}function gKe(e){var i;const t=(i=e==null?void 0:e.properties)==null?void 0:i.href;if(!t)return!1;if(_de(t))return!0;const n=e==null?void 0:e.children;if(n&&Array.isArray(n)){const r=n.map(s=>(s==null?void 0:s.value)||"").join("").toLowerCase();return Tde.some(s=>r.includes(s))}return!1}function bKe({text:e,className:t,allowRawHtml:n=!0,streaming:i=!1}){const[r,s]=m.useState(null),a=(u,d)=>{if(u.src)return u.src;if(d){const f=p=>{var b;if(!p)return null;if(p.type==="source"&&((b=p.properties)!=null&&b.src))return p.properties.src;if(p.children)for(const g of p.children){const O=f(g);if(O)return O}return null},h=f({children:d});if(h)return h}return""},l=u=>{try{const f=new URL(u).pathname.split("/");return f[f.length-1]||"video.mp4"}catch{return"video.mp4"}},c=u=>u?Array.isArray(u)?u.map(d=>(d==null?void 0:d.value)||"").join("")||"video":(u==null?void 0:u.value)||"video":"video";return o.jsxs("div",{className:t?`md ${t}`:"md",children:[o.jsx(Pze,{remarkPlugins:[Gqe],rehypePlugins:n?[NZe,_q]:[_q],components:{pre:({node:u,children:d,...f})=>{const h=mKe(d);if(h==="mermaid"||h==="echarts"){const p=wM(d).replace(/\n$/,"");return o.jsx(hKe,{label:h==="mermaid"?"Mermaid":"ECharts",language:h,source:p,streaming:i,children:h==="mermaid"?o.jsx(oKe,{source:p}):o.jsx(nKe,{source:p})})}return o.jsx("pre",{...f,children:d})},a:({node:u,...d})=>{const f=d.href;if(f&&(_de(f)||gKe(u))){const h=f,p=c(u==null?void 0:u.children);return o.jsxs("div",{className:"video-container",children:[o.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":`点击播放视频: ${p}`,onClick:()=>s({src:h,title:p}),children:[o.jsx("video",{src:h,playsInline:!0,className:"video-thumbnail",preload:"metadata"}),o.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:o.jsx(P0,{})})]}),o.jsx("div",{className:"video-caption",children:o.jsx("a",{href:h,target:"_blank",rel:"noopener noreferrer",className:"video-link-text",children:p})})]})}return o.jsx("a",{...d,target:"_blank",rel:"noopener noreferrer"})},img:({node:u,src:d,alt:f,...h})=>{const p=o.jsx("img",{...h,src:d,alt:f??"",loading:"lazy"});return d?o.jsx(fne,{src:d,children:o.jsxs("button",{type:"button",className:"image-preview-trigger","aria-label":`放大预览:${f||"图片"}`,children:[p,o.jsx("span",{className:"image-preview-hint","aria-hidden":"true",children:o.jsx(P0,{})})]})}):p},video:({node:u,src:d,children:f,...h})=>{const p=a({src:d},f);return p?o.jsx("div",{className:"video-container",children:o.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":"点击放大视频",onClick:()=>s({src:p}),children:[o.jsx("video",{src:p,...h,playsInline:!0,className:"video-thumbnail",children:f}),o.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:o.jsx(P0,{})})]})}):o.jsx("video",{src:d,controls:!0,playsInline:!0,className:"video-inline",...h,children:f})}},children:e}),r&&o.jsx("div",{className:"video-viewer-backdrop",role:"dialog","aria-modal":"true","aria-label":"视频预览",onClick:()=>s(null),children:o.jsxs("div",{className:"video-viewer",onClick:u=>u.stopPropagation(),children:[o.jsxs("div",{className:"video-viewer-header",children:[o.jsx("div",{className:"video-viewer-title",children:r.title||l(r.src)}),o.jsxs("nav",{className:"video-viewer-nav",children:[o.jsx("a",{href:r.src,download:r.title||l(r.src),"aria-label":"下载视频",title:"下载视频",className:"video-viewer-download",children:o.jsx(sA,{})}),o.jsx("button",{type:"button",className:"video-viewer-close","aria-label":"关闭",onClick:()=>s(null),children:o.jsx(Ga,{})})]})]}),o.jsx("div",{className:"video-viewer-body",children:o.jsx("video",{src:r.src,controls:!0,autoPlay:!0,playsInline:!0,className:"video-fullscreen"})})]})})]})}const Tu=m.memo(bKe);function OKe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M5 5.5A2.5 2.5 0 0 1 7.5 3H19v16H7.5A2.5 2.5 0 0 0 5 21.5v-16Z"}),o.jsx("path",{d:"M5 18.5A2.5 2.5 0 0 1 7.5 16H19"}),o.jsx("path",{d:"M9 7h6M9 10h4"})]})}function yKe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M6 3h8l4 4v14H6V3Z"}),o.jsx("path",{d:"M14 3v5h5M9 12h6M9 16h6"})]})}function xKe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.3"}),o.jsx("path",{d:"m15.5 15.5 4 4"})]})}function vKe(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m7 7 10 10M17 7 7 17"})})}function Yq(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"M12 5v14M5 12h14"})})}function wKe(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m15 18-6-6 6-6"})})}function gw({title:e,children:t,onClose:n,busy:i=!1,className:r=""}){const s=m.useId(),a=m.useRef(null),l=m.useRef(null),c=m.useRef(i),u=m.useRef(n);return m.useEffect(()=>{c.current=i,u.current=n},[i,n]),m.useEffect(()=>{var p;const d=document.activeElement instanceof HTMLElement?document.activeElement:null,f=document.body.style.overflow;document.body.style.overflow="hidden",(p=a.current)==null||p.focus();const h=b=>{if(b.key==="Escape"&&!c.current){u.current();return}if(b.key!=="Tab")return;const g=l.current;if(!g)return;const O=Array.from(g.querySelectorAll('button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], audio[controls], video[controls], iframe, [tabindex]:not([tabindex="-1"])')).filter(x=>x.getClientRects().length>0);if(O.length===0){b.preventDefault();return}const y=O[0],v=O[O.length-1];b.shiftKey&&(document.activeElement===y||!g.contains(document.activeElement))?(b.preventDefault(),v.focus()):!b.shiftKey&&(document.activeElement===v||!g.contains(document.activeElement))&&(b.preventDefault(),y.focus())};return window.addEventListener("keydown",h),()=>{window.removeEventListener("keydown",h),document.body.style.overflow=f,d!=null&&d.isConnected&&d.focus()}},[]),ir.createPortal(o.jsx("div",{className:"knowledge-dialog-backdrop",onMouseDown:d=>{d.target===d.currentTarget&&!i&&n()},children:o.jsxs("section",{ref:l,className:`knowledge-dialog${r?` ${r}`:""}`,role:"dialog","aria-modal":"true","aria-labelledby":s,"aria-busy":i||void 0,children:[o.jsxs("header",{className:"knowledge-dialog__header",children:[o.jsx("h2",{id:s,children:e}),o.jsx("button",{ref:a,type:"button",onClick:n,disabled:i,"aria-label":"关闭",children:o.jsx(vKe,{})})]}),t]})}),document.body)}function Wx({message:e}){return e?o.jsx("div",{className:"knowledge-form-error",role:"alert",children:e}):null}function SM(e){return e instanceof DOMException&&e.name==="AbortError"}function SKe(e){if(!e)return"";const t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(t):e}function EKe(e){const t=e.trim().toLowerCase();return["ready","active","available","success"].includes(t)?"可用":["creating","pending","processing","indexing"].includes(t)?"处理中":["failed","error","unavailable"].includes(t)?"异常":e||"未知"}const Ade=[".jpg",".jpeg",".png"].join(","),kKe=new Set(Ade.split(",")),Cde=[".pdf",".pptx",".docx",".xlsx",".txt"].join(","),TKe=new Set(Cde.split(",")),_Ke=200*1024*1024;function EM(e){const t=e.lastIndexOf(".");return t<0?"":e.slice(t).toLocaleLowerCase()}function AKe(e,t){return e.size>_Ke?"单个文件不能超过 200 MB":t==="image"?kKe.has(EM(e.name))?"":"请选择 PNG、JPG 或 JPEG 图片":TKe.has(EM(e.name))?"":"请选择 PDF、PPTX、DOCX、XLSX 或 TXT 文件"}function W$(e){return e<=0?"-":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Nde(e){var r;const t=e.type.trim().replace(/^\./,"");if(t)return t.toUpperCase();const n=e.name.trim(),i=n.includes(".")?(r=n.split(".").pop())==null?void 0:r.trim():"";return i?i.toUpperCase():"-"}function CKe({onClose:e,onCreated:t}){const[n,i]=m.useState(""),[r,s]=m.useState(""),[a,l]=m.useState(!1),[c,u]=m.useState(!1),[d,f]=m.useState(""),h=n.trim(),p=!!(h&&!/^[A-Za-z][A-Za-z0-9_]{0,47}$/.test(h)),b=async g=>{if(g.preventDefault(),l(!0),!h||p)return;u(!0),f("");const O={name:h,description:r.trim()||void 0};try{t(await G7e(O))}catch(y){f(Sa(y,"创建知识库失败"))}finally{u(!1)}};return o.jsx(gw,{title:"新建知识库",onClose:e,busy:c,children:o.jsxs("form",{onSubmit:g=>void b(g),children:[o.jsxs("div",{className:"knowledge-dialog__body",children:[o.jsxs("label",{children:[o.jsx("span",{children:"名称"}),o.jsx("input",{autoFocus:!0,value:n,maxLength:48,"aria-invalid":a&&p||void 0,"aria-describedby":"knowledge-name-help",onBlur:()=>l(!0),onChange:g=>i(g.target.value)})]}),o.jsx("p",{id:"knowledge-name-help",className:`knowledge-dialog__note${a&&p?" is-error":""}`,role:a&&p?"alert":void 0,children:a&&p?"名称必须以字母开头,且只能包含字母、数字和下划线。":"以字母开头,仅支持字母、数字和下划线,最多 48 个字符。"}),o.jsxs("label",{children:[o.jsx("span",{children:"描述(可选)"}),o.jsx("textarea",{value:r,maxLength:80,onChange:g=>s(g.target.value)})]}),o.jsx(Wx,{message:d})]}),o.jsxs("footer",{className:"knowledge-dialog__actions",children:[o.jsx("button",{type:"button",onClick:e,disabled:c,children:"取消"}),o.jsx("button",{type:"submit",className:"is-primary",disabled:c||!h||p,children:c?"创建中":"创建"})]})]})})}function NKe({item:e,onClose:t,onUpdated:n}){const[i,r]=m.useState(e.description),[s,a]=m.useState(!1),[l,c]=m.useState(""),u=async d=>{d.preventDefault(),a(!0),c("");try{n(await Y7e(e.id,e.region,{description:i.trim()}))}catch(f){c(Sa(f,"更新知识库失败"))}finally{a(!1)}};return o.jsx(gw,{title:"编辑知识库",onClose:t,busy:s,children:o.jsxs("form",{onSubmit:d=>void u(d),children:[o.jsxs("div",{className:"knowledge-dialog__body",children:[o.jsxs("label",{children:[o.jsx("span",{children:"名称"}),o.jsx("input",{value:e.name,disabled:!0})]}),o.jsxs("label",{children:[o.jsx("span",{children:"描述"}),o.jsx("textarea",{autoFocus:!0,value:i,maxLength:80,onChange:d=>r(d.target.value)})]}),o.jsx("p",{className:"knowledge-dialog__note",children:"AgentKit 当前仅支持更新知识库描述。"}),o.jsx(Wx,{message:l})]}),o.jsxs("footer",{className:"knowledge-dialog__actions",children:[o.jsx("button",{type:"button",onClick:t,disabled:s,children:"取消"}),o.jsx("button",{type:"submit",className:"is-primary",disabled:s,children:s?"保存中":"保存"})]})]})})}function jde(e){if(!e.trim())return{};const t=JSON.parse(e);if(!t||Array.isArray(t)||typeof t!="object")throw new Error("Metadata 必须是 JSON 对象");return t}function jKe({base:e,onClose:t,onCreated:n,onAssociationInvalid:i}){const[r,s]=m.useState("document"),[a,l]=m.useState(""),[c,u]=m.useState(""),[d,f]=m.useState(""),[h,p]=m.useState(null),[b,g]=m.useState(!1),[O,y]=m.useState("{}"),[v,x]=m.useState(""),[w,S]=m.useState(""),[E,k]=m.useState(null),T=m.useRef(null),_=m.useRef(null),N=m.useRef(null),C=m.useRef(0),R=!!v;m.useEffect(()=>{var P;E&&!R&&((P=N.current)==null||P.focus())},[R,E]);const L=P=>{R||P===r||(s(P),p(null),f(""),l(""),u(""),S(""),k(null),g(!1),C.current=0,T.current&&(T.current.value=""))},D=P=>{if(!P||r==="web")return;const M=AKe(P,r);if(M){p(null),l(""),u(""),S(M);return}p(P),S(""),l(P.name.replace(/\.[^.]+$/,"")),u(EM(P.name).slice(1))},$=async P=>{if(P.preventDefault(),r==="web"?!d.trim():!h)return;let M;try{M=jde(O)}catch(U){S(Sa(U,"Metadata 格式错误"));return}x(r==="web"?E?"save":"preview":"upload"),S("");try{if(r==="web")if(E){const U={sourceType:"url",metadata:E.metadata,url:E.preview.url,sourceTitle:E.preview.name,sourceMarkdown:E.preview.sourceMarkdown};await J7e(e.id,e.region,U),n()}else{const U=await eBe(e.id,e.region,{url:d.trim()});if(!U.sourceMarkdown.trim())throw new Error("网页没有可预览的 Markdown 内容");k({preview:U,metadata:M})}else h&&(await tBe(e.id,e.region,{file:h,name:a.trim()||void 0,documentType:c.trim()||void 0,metadata:M}),n())}catch(U){U instanceof GA&&U.errorCode===Ule?i(U):S(Sa(U,r==="web"?E?"添加网页失败":"生成网页预览失败":"上传文件失败"))}finally{x("")}},j=()=>{R||(k(null),S(""),requestAnimationFrame(()=>{var P;return(P=_.current)==null?void 0:P.focus()}))};return o.jsx(gw,{title:E?"预览网页内容":"添加数据",onClose:t,busy:R,className:E?"knowledge-dialog--preview knowledge-dialog--web-confirm":"",children:o.jsx("form",{onSubmit:P=>void $(P),children:E?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"knowledge-preview knowledge-web-preview",children:[o.jsxs("div",{className:"knowledge-preview__meta",children:[o.jsx("strong",{title:E.preview.name,children:E.preview.name}),o.jsx("a",{href:E.preview.url,target:"_blank",rel:"noopener noreferrer",children:"打开原网页"})]}),o.jsx("div",{className:"knowledge-preview__body","aria-live":"polite",children:o.jsx("div",{className:"knowledge-preview__markdown-shell",children:o.jsx(Tu,{text:E.preview.sourceMarkdown,allowRawHtml:!1,className:"knowledge-preview__markdown"})})}),w?o.jsx("div",{className:"knowledge-web-preview__error",children:o.jsx(Wx,{message:w})}):null]}),o.jsxs("footer",{className:"knowledge-dialog__actions",children:[o.jsx("button",{type:"button",className:"is-back",onClick:j,disabled:R,children:"返回修改"}),o.jsx("button",{type:"button",onClick:t,disabled:R,children:"取消"}),o.jsx("button",{ref:N,type:"submit",className:"is-primary",disabled:R,children:v==="save"?"添加中":"确认添加"})]})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"knowledge-dialog__body",children:[o.jsx("div",{className:"knowledge-source-tabs",role:"tablist","aria-label":"知识来源",children:[["image","图片"],["document","文档文件"],["web","在线网页"]].map(([P,M])=>o.jsx("button",{type:"button",role:"tab",id:`knowledge-source-${P}-tab`,"aria-controls":`knowledge-source-${P}-panel`,"aria-selected":r===P,tabIndex:r===P?0:-1,className:r===P?"is-active":"",disabled:R,onClick:()=>L(P),onKeyDown:U=>{const F=["image","document","web"];if(!["ArrowLeft","ArrowRight","Home","End"].includes(U.key))return;U.preventDefault();const H=F.indexOf(P),z=U.key==="Home"?F[0]:U.key==="End"?F[F.length-1]:F[(H+(U.key==="ArrowRight"?1:-1)+F.length)%F.length];L(z),requestAnimationFrame(()=>{var Q;return(Q=document.getElementById(`knowledge-source-${z}-tab`))==null?void 0:Q.focus()})},children:M},P))}),o.jsx("div",{id:`knowledge-source-${r}-panel`,className:"knowledge-source-panel",role:"tabpanel","aria-labelledby":`knowledge-source-${r}-tab`,children:r==="web"?o.jsxs(o.Fragment,{children:[o.jsxs("label",{children:[o.jsx("span",{children:"网页 URL"}),o.jsx("input",{ref:_,autoFocus:!0,type:"url",value:d,disabled:R,onChange:P=>{f(P.target.value),S("")},placeholder:"https://example.com/article"})]}),o.jsx("div",{className:"knowledge-upload-status",role:"status","aria-live":"polite",children:v==="preview"?o.jsx(Rn,{children:"正在抓取网页并生成 Markdown 预览"}):null})]}):o.jsxs(o.Fragment,{children:[o.jsx("input",{ref:T,className:"knowledge-upload-input",type:"file","aria-label":"选择知识文件",accept:r==="image"?Ade:Cde,disabled:R,onChange:P=>{var M;D(((M=P.currentTarget.files)==null?void 0:M[0])??null),P.currentTarget.value=""}}),o.jsxs("button",{type:"button",className:`knowledge-upload-dropzone${b?" is-dragging":""}${h?" is-ready":""}`,disabled:R,onClick:()=>{var P;return(P=T.current)==null?void 0:P.click()},onDragEnter:P=>{P.preventDefault(),!R&&(C.current+=1,g(!0))},onDragOver:P=>{P.preventDefault(),R||(P.dataTransfer.dropEffect="copy")},onDragLeave:P=>{P.preventDefault(),C.current=Math.max(0,C.current-1),C.current===0&&g(!1)},onDrop:P=>{var M;P.preventDefault(),C.current=0,g(!1),R||D(((M=P.dataTransfer.files)==null?void 0:M[0])??null)},children:[o.jsx("strong",{children:h?h.name:"选择文件或拖拽到这里"}),o.jsx("span",{children:h?`${W$(h.size)} · 点击可重新选择`:r==="image"?"支持 PNG、JPG 和 JPEG,单个文件不超过 200 MB":"支持 PDF、PPTX、DOCX、XLSX 和 TXT,单个文件不超过 200 MB"})]}),o.jsx("div",{className:"knowledge-upload-status",role:"status","aria-live":"polite",children:R?o.jsx(Rn,{children:"正在上传文件并添加到知识库"}):null})]})}),r!=="web"?o.jsxs("div",{className:"knowledge-dialog__fields",children:[o.jsxs("label",{children:[o.jsx("span",{children:"名称(可选)"}),o.jsx("input",{value:a,disabled:R,maxLength:256,onChange:P=>l(P.target.value)})]}),o.jsxs("label",{children:[o.jsx("span",{children:"类型(可选)"}),o.jsx("input",{value:c,disabled:R,maxLength:64,onChange:P=>u(P.target.value),placeholder:"pdf、docx、png"})]})]}):null,o.jsxs("label",{children:[o.jsx("span",{children:"Metadata(JSON)"}),o.jsx("textarea",{className:"is-code",value:O,disabled:R,onChange:P=>y(P.target.value),spellCheck:!1})]}),o.jsx(Wx,{message:w})]}),o.jsxs("footer",{className:"knowledge-dialog__actions",children:[o.jsx("button",{type:"button",onClick:t,disabled:R,children:"取消"}),o.jsx("button",{type:"submit",className:"is-primary",disabled:R||(r==="web"?!d.trim():!h),children:R?r==="web"?"生成中":"上传中":r==="web"?"生成预览":"上传文件"})]})]})})})}function RKe({base:e,item:t,onClose:n,onUpdated:i}){const[r,s]=m.useState(()=>JSON.stringify(t.metadata??{},null,2)),[a,l]=m.useState(!1),[c,u]=m.useState(""),d=async f=>{f.preventDefault();let h;try{h=jde(r)}catch(p){u(Sa(p,"Metadata 格式错误"));return}l(!0),u("");try{i(await nBe(e.id,t.id,e.region,{metadata:h}))}catch(p){u(Sa(p,"更新知识失败"))}finally{l(!1)}};return o.jsx(gw,{title:"编辑知识 Metadata",onClose:n,busy:a,children:o.jsxs("form",{onSubmit:f=>void d(f),children:[o.jsxs("div",{className:"knowledge-dialog__body",children:[o.jsxs("label",{children:[o.jsx("span",{children:"知识"}),o.jsx("input",{value:t.name||t.id,disabled:!0})]}),o.jsxs("label",{children:[o.jsx("span",{children:"Metadata(JSON)"}),o.jsx("textarea",{autoFocus:!0,className:"is-code knowledge-metadata-editor",value:r,onChange:f=>s(f.target.value),spellCheck:!1})]}),o.jsx(Wx,{message:c})]}),o.jsxs("footer",{className:"knowledge-dialog__actions",children:[o.jsx("button",{type:"button",onClick:n,disabled:a,children:"取消"}),o.jsx("button",{type:"submit",className:"is-primary",disabled:a,children:a?"保存中":"保存"})]})]})})}const Rde=new Set(["avif","bmp","gif","jpeg","jpg","png","svg","webp"]),Ide=new Set(["aac","flac","m4a","mp3","ogg","wav","webm"]),Dde=new Set(["m4v","mov","mp4","mpeg","mpg","ogg","webm"]),IKe=new Set(["pdf"]),DKe=new Set(["doc","docx","ppt","pptx","xls","xlsx"]),PKe=new Set(["creating","indexing","pending","processing","queued","submitted"]),MKe=new Set(["error","failed","unavailable"]);function Wq(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}function gE(e){if(e==null||e==="")return"-";if(["string","number","boolean"].includes(typeof e))return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function LKe(e){if(Array.isArray(e)){if(e.length===0)return null;const i=e.map(Wq);if(i.some(r=>Object.keys(r).length>0)){const r=[...new Set(i.flatMap(s=>Object.keys(s)))];return{columns:r,rows:i.map(s=>r.map(a=>gE(s[a])))}}return{columns:["值"],rows:e.map(r=>[gE(r)])}}const t=Wq(e),n=Object.entries(t);if(n.length===0)return null;if(n.every(([,i])=>Array.isArray(i))){const i=n.map(([s])=>s),r=Math.max(...n.map(([,s])=>s.length));return{columns:i,rows:Array.from({length:r},(s,a)=>n.map(([,l])=>gE(l[a])))}}return{columns:["字段","值"],rows:n.map(([i,r])=>[i,gE(r)])}}function Pde(e){const t=e.trim();if(!t||t.startsWith("//"))return"";if(t.startsWith("/"))return t;try{const n=new URL(t);return["http:","https:"].includes(n.protocol)?n.href:""}catch{return""}}function $Ke(e){const t=Pde(e);return t.startsWith("http://")||t.startsWith("https://")?t:""}function BKe(e){var r;const t=e.attachmentType.trim().toLocaleLowerCase();if(t==="image"||t==="doc-image"||t.startsWith("image/"))return"image";if(t==="audio"||t.startsWith("audio/"))return"audio";if(t==="video"||t.startsWith("video/"))return"video";if(t==="pdf"||t==="application/pdf")return"pdf";const n=e.attachmentUrl.split(/[?#]/,1)[0],i=n.includes(".")?((r=n.split(".").pop())==null?void 0:r.toLocaleLowerCase())??"":"";return Rde.has(i)?"image":Ide.has(i)?"audio":Dde.has(i)?"video":IKe.has(i)?"pdf":t||i?"file":"none"}function QKe(e){const t=e.status.trim().toLocaleLowerCase();if(PKe.has(t))return{title:"数据正在处理中",detail:"知识库完成解析后即可预览,请稍后重新加载。"};if(MKe.has(t))return{title:"数据解析失败",detail:"请检查源文件或网页地址后重新添加,也可以重新加载最新状态。"};const n=Nde(e).toLocaleLowerCase();return n==="pdf"||DKe.has(n)?{title:"暂时没有可预览的解析内容",detail:"此类文件会在知识库完成解析后显示文本、表格或页面图片。"}:Rde.has(n)||Ide.has(n)||Dde.has(n)?{title:"暂时没有可预览的媒体内容",detail:"知识库尚未返回可访问的媒体预览,请稍后重新加载。"}:{title:"暂无可预览的数据内容",detail:"知识库尚未返回解析结果,请稍后重新加载。"}}function FKe({chunk:e}){const[t,n]=m.useState(!1),i=Pde(e.attachmentUrl),r=BKe(e);return!i||r==="none"?null:t?o.jsx("div",{className:"knowledge-preview__attachment-error",children:"附件无法预览,请稍后重试。"}):r==="image"?o.jsx("img",{className:"knowledge-preview__image",src:i,alt:e.title||"知识数据图片",loading:"lazy",onError:()=>n(!0)}):r==="audio"?o.jsx("audio",{className:"knowledge-preview__audio",src:i,controls:!0,preload:"metadata",onError:()=>n(!0),children:"当前浏览器不支持音频预览。"}):r==="video"?o.jsx("video",{className:"knowledge-preview__video",src:i,controls:!0,playsInline:!0,preload:"metadata",onError:()=>n(!0),children:"当前浏览器不支持视频预览。"}):r==="pdf"?o.jsxs("div",{className:"knowledge-preview__pdf",children:[o.jsx("iframe",{src:i,title:e.title?`${e.title} PDF 预览`:"PDF 预览",sandbox:"",referrerPolicy:"no-referrer",onError:()=>n(!0)}),o.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:"无法显示时,在新窗口打开 PDF"})]}):o.jsxs("div",{className:"knowledge-preview__file-fallback",children:[o.jsx("p",{children:"当前格式暂不支持直接在线预览,已优先显示解析后的内容。"}),o.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:"打开原文件"})]})}function UKe({base:e,item:t,onClose:n}){const[i,r]=m.useState([]),[s,a]=m.useState(t),[l,c]=m.useState(""),[u,d]=m.useState(!0),[f,h]=m.useState(!1),[p,b]=m.useState(!1),[g,O]=m.useState(""),y=m.useRef(0),v=m.useRef(null),x=m.useCallback(async(k=0)=>{var N;(N=v.current)==null||N.abort();const T=new AbortController;v.current=T;const _=y.current+1;y.current=_,k>0?h(!0):d(!0),O(""),k===0&&(r([]),b(!1));try{const C=await K7e(e.id,t.id,{region:e.region,offset:k,signal:T.signal});if(y.current!==_)return;a(C.document.id?C.document:t),c(C.sourceMarkdown||C.document.sourceMarkdown),r(R=>k>0?[...R,...C.chunks]:C.chunks),b(C.hasMore)}catch(C){!SM(C)&&y.current===_&&O(Sa(C,"加载数据预览失败"))}finally{y.current===_&&(d(!1),h(!1))}},[e.id,e.region,t]);m.useEffect(()=>(x(),()=>{var k;(k=v.current)==null||k.abort(),y.current+=1}),[x]);const w=$Ke(s.url||t.url),S=QKe(s),E=s.metadata._veadk_content_format==="markdown";return o.jsx(gw,{title:s.name||t.name||t.id,onClose:n,className:"knowledge-dialog--preview",children:o.jsxs("div",{className:"knowledge-preview",children:[s.sizeBytes>0||w?o.jsxs("div",{className:"knowledge-preview__meta",children:[s.sizeBytes>0?o.jsx("span",{children:W$(s.sizeBytes)}):null,w?o.jsx("a",{href:w,target:"_blank",rel:"noopener noreferrer",children:"打开原网页"}):null]}):null,o.jsx("div",{className:"knowledge-preview__body","aria-live":"polite",children:l?o.jsx("div",{className:"knowledge-preview__markdown-shell",children:o.jsx(Tu,{text:l,allowRawHtml:!1,className:"knowledge-preview__markdown"})}):u?o.jsx("div",{className:"knowledge-preview__state",role:"status",children:o.jsx(Rn,{as:"span",duration:2.4,children:"正在加载数据预览"})}):g&&i.length===0?o.jsxs("div",{className:"knowledge-preview__state is-error",role:"alert",children:[o.jsx("p",{children:g}),o.jsx("button",{type:"button",onClick:()=>void x(),children:"重试"})]}):i.length===0?o.jsxs("div",{className:"knowledge-preview__state",children:[o.jsx("p",{children:S.title}),o.jsx("span",{children:w?"您可以打开原网页查看来源内容。":S.detail}),o.jsx("button",{type:"button",onClick:()=>void x(),children:"重新加载"})]}):o.jsxs("div",{className:"knowledge-preview__chunks",children:[i.map((k,T)=>{const _=LKe(k.tableFields),N=k.id||`${T}:${k.title}`;return o.jsxs("article",{className:"knowledge-preview__chunk",children:[o.jsx("header",{children:o.jsx("h3",{children:k.title||`片段 ${T+1}`})}),k.content?E?o.jsx(Tu,{text:k.content,allowRawHtml:!1,className:"knowledge-preview__markdown"}):o.jsx("p",{className:"knowledge-preview__content",children:k.content}):null,_?o.jsx("div",{className:"knowledge-preview__table-wrap",children:o.jsxs("table",{children:[o.jsx("thead",{children:o.jsx("tr",{children:_.columns.map((C,R)=>o.jsx("th",{scope:"col",children:C},`${C}:${R}`))})}),o.jsx("tbody",{children:_.rows.map((C,R)=>o.jsx("tr",{children:C.map((L,D)=>o.jsx("td",{children:L},D))},R))})]})}):null,o.jsx(FKe,{chunk:k})]},N)}),g?o.jsx("div",{className:"knowledge-preview__more-error",role:"alert",children:g}):null,p?o.jsx("button",{type:"button",className:"knowledge-preview__load-more",disabled:f,onClick:()=>void x(i.length),children:f?o.jsx(Rn,{as:"span",duration:2.4,children:"正在加载更多"}):"加载更多"}):null]})})]})})}function zKe({cloudProvider:e,active:t=!0,activationRevision:n=0}){const[i,r]=m.useState([]),[s,a]=m.useState({}),[l,c]=m.useState([]),[u,d]=m.useState(""),[f,h]=m.useState(""),[p,b]=m.useState(!0),[g,O]=m.useState(!1),[y,v]=m.useState(""),[x,w]=m.useState([]),[S,E]=m.useState(!1),[k,T]=m.useState(""),[_,N]=m.useState(""),[C,R]=m.useState(""),[L,D]=m.useState(!1),[$,j]=m.useState(!1),[P,M]=m.useState(!1),[U,F]=m.useState(null),[H,z]=m.useState(null),[Q,q]=m.useState(null),[le,ge]=m.useState(null),[be,ce]=m.useState(null),[Z,J]=m.useState(!1),ue=m.useRef(0),Oe=m.useRef(0),Ne=m.useRef([]),De=m.useRef(!1),Pe=m.useRef(!1),pe=m.useRef(null),Ee=m.useRef(null),ye=m.useRef({}),$e=m.useRef(!1),Ue=m.useRef(null),_e=m.useRef(null),ze=m.useRef(null),lt=m.useRef(null),Lt=m.useMemo(()=>yb(e).map(ve=>ve.value),[e]),We=m.useCallback(ve=>`${ve.region}\0${ve.id}`,[]),W=i.find(ve=>We(ve)===u)??null,ne=!!(W&&C===We(W)),de=m.useMemo(()=>{const ve=f.trim().toLocaleLowerCase();return ve?i.filter(Ve=>[Ve.name,Ve.description,Ve.ownerLabel,Ve.providerKnowledgeId].some(Fe=>Fe.toLocaleLowerCase().includes(ve))):i},[i,f]);m.useEffect(()=>{z(null)},[W==null?void 0:W.id,W==null?void 0:W.region]);const xe=m.useCallback(async(ve=!1)=>{var yt;if(ve&&($e.current||Object.keys(ye.current).length===0))return;(yt=pe.current)==null||yt.abort();const Ve=new AbortController;pe.current=Ve;const Fe=ue.current+1;ue.current=Fe,$e.current=!0,ve?O(!0):b(!0),v(""),ve||c([]);try{const bt=await X7e({regions:Lt,nextTokens:ve?ye.current:void 0,signal:Ve.signal});if(ue.current!==Fe)return;r(Ae=>ve?[...Ae,...bt.items.filter(Ke=>!Ae.some(Rt=>We(Rt)===We(Ke)))]:bt.items),ye.current=bt.nextTokens,a(bt.nextTokens);const jt=bt.failures.map(({region:Ae,error:Ke})=>`${Sc(Ae,e)}:${Sa(Ke,"加载失败")}`);c(Ae=>ve?[...new Set([...Ae,...jt])]:jt),ve||d(Ae=>bt.items.some(Ke=>We(Ke)===Ae)?Ae:"")}catch(bt){if(SM(bt))return;ue.current===Fe&&(ve?c(jt=>[...new Set([...jt,Sa(bt,"加载更多知识库失败")])]):v(Sa(bt,"加载知识库失败")))}finally{ue.current===Fe&&($e.current=!1,b(!1),O(!1))}},[We,e,Lt]),V=m.useCallback(async(ve,Ve=!1)=>{var bt;if(Ve&&De.current)return;(bt=Ee.current)==null||bt.abort();const Fe=new AbortController;Ee.current=Fe;const yt=Oe.current+1;Oe.current=yt,Ve||(Ne.current=[],Pe.current=!1,w([]),D(!1),N("")),De.current=!0,E(!0),Ve?N(""):T("");try{const jt=await Z7e(ve.id,{region:ve.region,offset:Ve?Ne.current.length:0,signal:Fe.signal});if(Oe.current!==yt)return;R(sn=>sn===We(ve)?"":sn);const Ae=Ne.current,Ke=Ve?[...Ae,...jt.items.filter(sn=>!sn.id||!Ae.some(nt=>nt.id===sn.id))]:jt.items,Rt=jt.hasMore&&(!Ve||Ke.length>Ae.length);Ne.current=Ke,Pe.current=Rt,w(Ke),D(Rt)}catch(jt){if(SM(jt))return;Oe.current===yt&&(jt instanceof GA&&jt.errorCode===Ule&&(R(We(ve)),F(Ke=>Ke&&We(Ke)===We(ve)?null:Ke)),Ve?N(Sa(jt,"加载更多数据失败")):T(Sa(jt,"加载数据失败")))}finally{Oe.current===yt&&(De.current=!1,E(!1))}},[We]);m.useEffect(()=>{var ve;(ve=pe.current)==null||ve.abort(),ue.current+=1,$e.current=!1,ye.current={},r([]),a({}),c([]),d(""),R(""),v(""),b(!0)},[e]),m.useEffect(()=>{if(t)return xe(),()=>{var ve;(ve=pe.current)==null||ve.abort(),ue.current+=1,$e.current=!1}},[t,n,xe]),m.useEffect(()=>{var ve,Ve;if(!t){(ve=Ee.current)==null||ve.abort(),Oe.current+=1,De.current=!1;return}if(!W){(Ve=Ee.current)==null||Ve.abort(),Oe.current+=1,Ne.current=[],De.current=!1,Pe.current=!1,w([]),D(!1),N("");return}return V(W),()=>{var Fe;(Fe=Ee.current)==null||Fe.abort(),Oe.current+=1,De.current=!1}},[t,n,W==null?void 0:W.id,W==null?void 0:W.region]);const Re=t&&!W&&!f.trim()&&!p&&!g&&!y&&Object.keys(s).length>0;m.useEffect(()=>{const ve=_e.current,Ve=Ue.current;if(!ve||!Ve||!Re)return;const Fe=new IntersectionObserver(([yt])=>{yt.isIntersecting&&xe(!0)},{root:Ve,rootMargin:"240px 0px",threshold:.01});return Fe.observe(ve),()=>Fe.disconnect()},[Re,xe]);const Ze=()=>{const ve=Ue.current;!ve||!Re||ve.scrollHeight-ve.scrollTop-ve.clientHeight<=240&&xe(!0)},et=!!(W&&x.length>0&&L&&!S&&!_);m.useEffect(()=>{const ve=lt.current,Ve=ze.current;if(!W||!ve||!Ve||!et)return;const Fe=new IntersectionObserver(([yt])=>{yt.isIntersecting&&V(W,!0)},{root:ze.current,rootMargin:"240px 0px",threshold:.01});return Fe.observe(ve),()=>Fe.disconnect()},[et,V,W==null?void 0:W.id,W==null?void 0:W.region]);const Jt=()=>{const ve=ze.current;if(!W||!ve||!Pe.current||De.current||_)return;const{scrollHeight:Ve,scrollTop:Fe,clientHeight:yt}=ve;Ve-Fe-yt<=240&&V(W,!0)},Ht=ve=>{r(Ve=>Ve.map(Fe=>We(Fe)===We(ve)?ve:Fe))},At=async()=>{if(le){J(!0);try{await W7e(le.id,le.region),r(ve=>ve.filter(Ve=>We(Ve)!==We(le))),R(ve=>ve===We(le)?"":ve),u===We(le)&&d(""),ge(null)}catch(ve){v(Sa(ve,"删除知识库失败")),ge(null)}finally{J(!1)}}},vt=async()=>{if(!(!W||!be)){J(!0);try{await iBe(W.id,be.id,W.region);const ve=Ne.current.filter(Ve=>Ve.id!==be.id);Ne.current=ve,w(ve),ce(null)}catch(ve){T(Sa(ve,"删除知识失败")),ce(null)}finally{J(!1)}}};return o.jsxs("section",{className:`knowledge-library${W?" is-detail":" my-agents-page"}`,"aria-label":"知识库",children:[W?o.jsxs("div",{className:"knowledge-library__detail",children:[o.jsxs("header",{className:"knowledge-detail-head",children:[o.jsxs("div",{className:"knowledge-detail-head__title",children:[o.jsx("button",{type:"button",className:"knowledge-back-button",onClick:()=>d(""),"aria-label":"返回知识库列表",children:o.jsx(wKe,{})}),o.jsxs("div",{children:[o.jsx("h2",{title:W.name,children:W.name}),o.jsx("p",{children:W.description||"暂无描述"})]})]}),W.canManage&&o.jsxs("div",{className:"knowledge-detail-head__actions",children:[o.jsx("button",{type:"button",onClick:()=>M(!0),children:"编辑"}),o.jsx("button",{type:"button",className:"is-danger",onClick:()=>ge(W),children:"删除"})]})]}),o.jsxs("dl",{className:"knowledge-detail-meta",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"Provider"}),o.jsx("dd",{children:W.providerType||"-"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"Knowledge ID"}),o.jsx("dd",{className:"knowledge-keyboard-reveal",tabIndex:0,title:W.providerKnowledgeId,children:W.providerKnowledgeId||"-"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"项目"}),o.jsx("dd",{children:W.projectName||"default"})]}),W.ownerLabel&&o.jsxs("div",{children:[o.jsx("dt",{children:"创建者"}),o.jsx("dd",{children:W.ownerLabel})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"更新时间"}),o.jsx("dd",{children:SKe(W.updatedAt)||"-"})]})]}),o.jsxs("section",{className:"knowledge-documents",children:[o.jsxs("header",{className:"knowledge-documents__head",children:[o.jsx("h3",{children:"数据"}),W.canManage&&o.jsxs("button",{type:"button",className:"knowledge-primary-button",disabled:ne,title:ne?"底层 Provider 知识库已不存在":void 0,onClick:()=>F(W),children:[o.jsx(Yq,{}),o.jsx("span",{children:ne?"关联已失效":"添加数据"})]})]}),o.jsx("div",{className:`knowledge-documents__body${x.length>0?" is-table":""}`,"aria-live":"polite",children:S&&x.length===0?o.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载数据"})]}):k&&x.length===0?o.jsxs("div",{className:"knowledge-library__state is-error",role:"alert",children:[o.jsx("p",{children:k}),ne&&W.canManage?o.jsx("button",{type:"button",onClick:()=>ge(W),children:"删除失效关联"}):o.jsx("button",{type:"button",onClick:()=>void V(W),children:"重试"})]}):x.length===0?o.jsxs("div",{className:"knowledge-library__state",children:[o.jsx(yKe,{}),o.jsx("p",{children:"这个知识库还没有数据"}),W.canManage&&o.jsx("button",{type:"button",onClick:()=>F(W),children:"添加第一项数据"})]}):o.jsxs("div",{ref:ze,className:"knowledge-document-table-wrap","aria-busy":S||void 0,onScroll:Jt,children:[o.jsxs("table",{className:"knowledge-document-table",children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{scope:"col",children:"名称"}),o.jsx("th",{scope:"col",children:"格式"}),o.jsx("th",{scope:"col",children:"大小"}),o.jsx("th",{scope:"col",className:"knowledge-document-table__actions-heading",children:"操作"})]})}),o.jsx("tbody",{children:x.map(ve=>o.jsxs("tr",{children:[o.jsx("td",{className:"knowledge-document-table__name",title:ve.name||ve.id,children:ve.name||ve.id}),o.jsx("td",{children:Nde(ve)}),o.jsx("td",{children:W$(ve.sizeBytes)}),o.jsx("td",{children:o.jsxs("div",{className:"knowledge-document-table__actions",children:[o.jsx(il,{content:"预览",compact:!0,children:o.jsx(_n,{type:"button",className:"knowledge-document-action-button",color:"secondary",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":`预览 ${ve.name||ve.id}`,onClick:()=>z(ve),children:o.jsx(b2e,{"aria-hidden":"true"})})}),W.canManage?o.jsxs(o.Fragment,{children:[o.jsx(il,{content:"编辑",compact:!0,children:o.jsx(_n,{type:"button",className:"knowledge-document-action-button",color:"secondary",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":`编辑 ${ve.name||ve.id}`,onClick:()=>q(ve),children:o.jsx(V4,{"aria-hidden":"true"})})}),o.jsx(il,{content:"删除",compact:!0,children:o.jsx(_n,{type:"button",className:"knowledge-document-action-button",color:"danger",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":`删除 ${ve.name||ve.id}`,onClick:()=>ce(ve),children:o.jsx(mne,{"aria-hidden":"true"})})})]}):null]})})]},ve.id))})]}),S?o.jsxs("div",{className:"knowledge-document-pagination",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载更多数据"})]}):_?o.jsxs("div",{className:"knowledge-document-pagination is-error",role:"alert",children:[o.jsx("span",{children:_}),o.jsx("button",{type:"button",onClick:()=>void V(W,!0),children:"重试加载"})]}):L?o.jsx("div",{ref:lt,className:"knowledge-document-pagination",role:"status","aria-live":"polite",children:"继续下滑加载更多"}):null]})})]})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"knowledge-library__toolbar my-agent-type-bar library-resource-toolbar",children:[o.jsx("div",{className:"knowledge-library__toolbar-actions library-resource-toolbar__controls",children:o.jsxs("button",{type:"button",className:"my-agent-create-primary",onClick:()=>j(!0),children:[o.jsx(Yq,{}),o.jsx("span",{children:"新建知识库"})]})}),o.jsxs("label",{className:"knowledge-library__search my-agent-search",children:[o.jsx(xKe,{}),o.jsx("input",{type:"search",value:f,onChange:ve=>h(ve.target.value),placeholder:"搜索知识库","aria-label":"搜索知识库"})]})]}),o.jsxs("div",{ref:Ue,className:"knowledge-library__results my-agent-results","aria-live":"polite",onScroll:Ze,children:[l.length>0&&!p&&o.jsxs("div",{className:"knowledge-region-warning",role:"status",children:[o.jsx("span",{children:"部分知识库暂时无法加载,已展示其余可用内容。"}),o.jsx("button",{type:"button",onClick:()=>void xe(),children:"重试"})]}),p&&i.length===0?o.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载知识库"})]}):y?o.jsxs("div",{className:"knowledge-library__state is-error",role:"alert",children:[o.jsx("p",{children:y}),o.jsx("button",{type:"button",onClick:()=>void xe(),children:"重试"})]}):de.length===0?o.jsxs("div",{className:"knowledge-library__state",children:[o.jsx(OKe,{}),o.jsx("p",{children:f.trim()?"没有匹配的知识库":"您还没有任何知识库"})]}):o.jsx("div",{className:"knowledge-library__grid my-agent-grid",children:de.map(ve=>o.jsx(qle,{className:"knowledge-card",title:ve.name,status:o.jsx("span",{className:`knowledge-status is-${ve.status.toLowerCase()}`,children:EKe(ve.status)}),description:ve.description||"暂无描述",metadata:[{label:"创建者",value:ve.ownerLabel||"—",title:ve.ownerLabel||"—"},{label:"项目",value:ve.projectName||"default",title:ve.projectName||"default"}],secondaryAction:{label:C===We(ve)?"关联已失效":"添加数据",disabled:!ve.canManage||C===We(ve),title:ve.canManage?C===We(ve)?"底层 Provider 知识库已不存在":void 0:"您没有管理此知识库的权限",onClick:()=>F(ve)},primaryAction:{label:"查看详情",onClick:()=>d(We(ve))},menuLabel:`更多知识库操作:${ve.name}`,menuAriaLabel:`${ve.name}知识库操作`,menuActions:[{label:"编辑知识库",disabled:!ve.canManage,title:ve.canManage?void 0:"您没有管理此知识库的权限",onClick:()=>{d(We(ve)),M(!0)}},{label:"删除知识库",danger:!0,disabled:!ve.canManage||Z,title:ve.canManage?void 0:"您没有管理此知识库的权限",onClick:()=>ge(ve)}]},We(ve)))}),Re||g?o.jsx("div",{ref:_e,className:"my-agent-load-more",role:"status","aria-live":"polite",children:g?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载更多知识库"})]}):Re?o.jsx("span",{children:"继续下滑加载更多"}):null}):null]})]}),$&&o.jsx(CKe,{onClose:()=>j(!1),onCreated:ve=>{r(Ve=>[ve,...Ve]),d(We(ve)),j(!1)}}),W&&P&&o.jsx(NKe,{item:W,onClose:()=>M(!1),onUpdated:ve=>{Ht(ve),M(!1)}}),W&&H&&o.jsx(UKe,{base:W,item:H,onClose:()=>z(null)}),U&&o.jsx(jKe,{base:U,onClose:()=>F(null),onAssociationInvalid:ve=>{R(We(U)),W&&We(W)===We(U)&&T(Sa(ve,"知识库关联已失效")),F(null)},onCreated:()=>{W&&We(W)===We(U)&&V(W),F(null)}}),W&&Q&&o.jsx(RKe,{base:W,item:Q,onClose:()=>q(null),onUpdated:ve=>{const Ve=Ne.current.map(Fe=>Fe.id===ve.id?ve:Fe);Ne.current=Ve,w(Ve),q(null)}}),le&&o.jsx(Bl,{title:"删除知识库?",description:`将删除 ${le.name} 的 AgentKit 关联;如果它由 Studio 创建,也会同时删除 Provider 资源。此操作无法撤销。`,confirmLabel:Z?"删除中":"删除",variant:"danger",busy:Z,onCancel:()=>ge(null),onConfirm:()=>void At()}),be&&o.jsx(Bl,{title:"删除知识?",description:`将从 Provider 知识库中删除 ${be.name||be.id},此操作无法撤销。`,confirmLabel:Z?"删除中":"删除",variant:"danger",busy:Z,onCancel:()=>ce(null),onConfirm:()=>void vt()})]})}const VKe="_EmptyMessage_1r5gu_1",qKe="_IconBadge_1r5gu_16",HKe="_Title_1r5gu_54",XKe="_Description_1r5gu_69",GKe="_ActionRow_1r5gu_77",bw={EmptyMessage:VKe,IconBadge:qKe,Title:HKe,Description:XKe,ActionRow:GKe},on=({children:e,className:t,fill:n="static"})=>o.jsx("div",{className:Qi(bw.EmptyMessage,t),"data-fill":n,children:e}),YKe=({size:e="md",color:t="secondary",children:n,className:i})=>o.jsx("div",{className:Qi(bw.IconBadge,i),"data-size":e,"data-color":t,children:n}),WKe=({children:e,className:t,color:n="secondary"})=>o.jsx("div",{className:Qi(bw.Title,t),"data-color":n,children:e}),ZKe=({children:e,className:t})=>o.jsx("div",{className:Qi(bw.Description,t),children:e}),KKe=({children:e,className:t})=>o.jsx("div",{className:Qi(bw.ActionRow,t),children:e});on.Icon=YKe;on.Title=WKe;on.Description=ZKe;on.ActionRow=KKe;const JKe="/web/skill-management";class eJe extends Error{constructor(t,n,i="SKILL_MANAGEMENT_ERROR",r="",s,a=""){super(t),this.status=n,this.code=i,this.statusText=r,this.originalError=s,this.rawResponse=a,this.name="SkillManagementApiError"}}async function lf(e,t={},n=wo){return fetch(go(`${JKe}${e}`),{...t,headers:Gh(t.headers),signal:So(t.signal,n)})}async function Mde(e,t){let n=t,i="SKILL_MANAGEMENT_ERROR",r;const s=await e.text().catch(()=>"");try{const a=JSON.parse(s);typeof a.detail=="string"?n=a.detail:a.detail&&(n=a.detail.message||t,i=a.detail.code||i,r=a.detail.originalError)}catch{s.trim()&&(n=`${t}:${s.trim()}`)}return new eJe(n,e.status,i,e.statusText,r,s)}async function cf(e,t){if(!e.ok)throw await Mde(e,t);return e.json()}async function tJe(e){const t=new URLSearchParams({region:e.region,page:String(e.page),page_size:String(e.pageSize)});return e.project&&t.set("project",e.project),cf(await lf(`/spaces?${t}`,{signal:e.signal}),"读取 Skill 空间失败")}async function nJe(e){return cf(await lf("/spaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),"创建 Skill 空间失败")}async function iJe(e){return cf(await lf(`/spaces/${encodeURIComponent(e.spaceId)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.name,description:e.description,region:e.region})}),"更新 Skill 空间失败")}async function rJe(e){const t=new URLSearchParams({region:e.region});await cf(await lf(`/spaces/${encodeURIComponent(e.spaceId)}?${t}`,{method:"DELETE"}),"删除 Skill 空间失败")}async function sJe(e){const t=new URLSearchParams({region:e.region});return e.project&&t.set("project",e.project),cf(await lf(`/spaces/${encodeURIComponent(e.spaceId)}/skills?${t}`,{method:"POST",headers:{"Content-Type":"application/zip"},body:e.file},Nr),"上传 Skill 失败")}async function aJe(e){return cf(await lf("/validate",{method:"POST",headers:{"Content-Type":"application/zip"},body:e},Nr),"校验 Skill 失败")}async function oJe(e){const t=new URLSearchParams({region:e.region});await cf(await lf(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}?${t}`,{method:"DELETE"}),"删除 Skill 失败")}async function lJe(e){const t=new URLSearchParams({region:e.region});e.version&&t.set("version",e.version);const n=await cf(await lf(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}/files?${t}`),"读取 Skill 文件失败");return Array.isArray(n.files)?n.files:[]}async function cJe(e){var l;const t=new URLSearchParams({region:e.region});e.version&&t.set("version",e.version);const n=await lf(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}/archive?${t}`,{},Nr);n.ok||await cf(n,"下载 Skill 失败");const r=((l=(n.headers.get("content-disposition")||"").match(/filename="([^"]+)"/))==null?void 0:l[1])||`${e.fallbackName}.zip`,s=URL.createObjectURL(await n.blob()),a=document.createElement("a");a.href=s,a.download=r,a.click(),URL.revokeObjectURL(s)}async function oC(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:So(void 0,wo)});if(!t.ok)throw await Mde(t,"AgentKit Skills 请求失败");return t.json()}async function Lde(){return(await oC("/web/skill-spaces?region=all")).items||[]}async function $de(e,t){const n=t?`?region=${encodeURIComponent(t)}`:"";return(await oC(`/web/skill-spaces/${encodeURIComponent(e)}/skills${n}`)).items||[]}async function uJe(e,t){const n=new URLSearchParams({region:t.region,page:String(t.page),page_size:String(t.pageSize)});return t.project&&n.set("project",t.project),oC(`/web/skill-spaces/${encodeURIComponent(e)}/skills?${n.toString()}`)}async function dJe(e,t,n,i,r){const s=[];n&&s.push(`version=${encodeURIComponent(n)}`),i&&s.push(`region=${encodeURIComponent(i)}`),r&&s.push(`project=${encodeURIComponent(r)}`);const a=s.length>0?`?${s.join("&")}`:"";return oC(`/web/skill-spaces/${encodeURIComponent(e)}/skills/${encodeURIComponent(t)}${a}`)}function fJe(e,t){return{source:"skillspace",id:`ss:${e.id}/${t.skillId}/${t.version}`,name:t.skillName,description:t.skillDescription,folder:t.skillName,skillSpaceId:e.id,skillSpaceName:e.name,skillSpaceRegion:e.region,skillId:t.skillId,version:t.version}}function hJe(e,t,n="volcengine"){return n==="byteplus"?"":`https://console.volcengine.com/agentkit/${(t||"cn-beijing")==="cn-beijing"?"cn":"cn-shanghai"}/skillspace/detail/${encodeURIComponent(e)}`}const pJe="/web/skill-workbench";class kM extends Error{constructor(t,n,i="SKILL_WORKBENCH_ERROR",r=!1,s="",a,l=""){super(t),this.status=n,this.code=i,this.retryable=r,this.statusText=s,this.originalError=a,this.rawResponse=l,this.name="SkillWorkbenchApiError"}}function Fl(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`${t}格式错误。`);return e}function Zq(e,t){if(e!=null){if(typeof e!="string"||!e.trim()||e.trim().length>256)throw new Error(`${t}格式错误。`);return e.trim()}}function mJe(e){if(e!=null){if(e==="pending"||e==="ready"||e==="failed"||e==="unknown")return e;throw new Error("Skill 恢复点状态格式错误。")}}async function _u(e,t={},n=wo){return fetch(go(`${pJe}${e}`),{...t,headers:Gh(t.headers),signal:So(t.signal,n)})}async function Z$(e,t){var i;const n=await e.text().catch(()=>"");try{const r=Fl(JSON.parse(n),"错误响应"),s=r.detail&&typeof r.detail=="object"?Fl(r.detail,"错误详情"):r;return new kM(typeof s.message=="string"?s.message:t,e.status,typeof s.code=="string"?s.code:"SKILL_WORKBENCH_ERROR",s.retryable===!0,e.statusText,s.originalError&&typeof s.originalError=="object"?s.originalError:void 0,n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失";return new kM(`${t}(HTTP ${e.status},Content-Type: ${r})。请检查代理或网关配置。`,e.status,"SKILL_WORKBENCH_ERROR",!1,e.statusText,void 0,n)}}async function Mh(e,t){if(!e.ok)throw await Z$(e,t);const n=e.headers.get("content-type")??"";if(!n.includes("application/json")){const i=n.split(";",1)[0]||"Content-Type 缺失";throw new Error(`${t}:服务端返回非 JSON 响应(HTTP ${e.status},Content-Type: ${i}),请检查代理或网关配置。`)}return e.json()}function gJe(e){return Array.isArray(e)?e.map(t=>{const n=Fl(t,"Skill 会话活动"),i=n.kind,r=n.status;if(typeof n.id!="string"||!["status","thinking","message","tool"].includes(String(i))||!["running","done"].includes(String(r)))throw new Error("Skill 会话活动格式错误。");if(i==="tool"){if(typeof n.name!="string")throw new Error("Skill 工具活动格式错误。");return{id:n.id,kind:i,status:r,name:n.name,...n.input!==void 0?{args:n.input}:{},...n.output!==void 0?{response:n.output}:{}}}if(typeof n.text!="string")throw new Error("Skill 文本活动格式错误。");return{id:n.id,kind:i,status:r,text:n.text}}):[]}function bJe(e){if(e==null)return;const t=Fl(e,"Skill 发布结果");if(typeof t.revision!="number"||typeof t.skillId!="string"||typeof t.version!="string"||!Array.isArray(t.skillSpaceIds)||!t.skillSpaceIds.every(n=>typeof n=="string")||t.disposition!=="create-new"&&t.disposition!=="update-source"||!J4(t.region)||typeof t.projectName!="string")throw new Error("Skill 发布结果格式错误。");return{revision:t.revision,skillId:t.skillId,version:t.version,skillSpaceIds:t.skillSpaceIds,disposition:t.disposition,region:t.region,projectName:t.projectName}}function Zx(e){const t=Fl(e,"Skill 会话");if(typeof t.jobId!="string"||t.operation!=="create"&&t.operation!=="optimize"||typeof t.intent!="string"||typeof t.revision!="number"||typeof t.state!="string")throw new Error("Skill 会话格式错误。");const n=Array.isArray(t.files)?t.files.flatMap(l=>{const c=Fl(l,"Skill 文件");return typeof c.path=="string"&&typeof c.size=="number"?[{path:c.path,size:c.size}]:[]}):[];if(!["running","ready","failed","cancelled","expired","published"].includes(t.state))throw new Error("Skill 会话状态无法识别。");const r=Zq(t.toolId,"Tool ID"),s=Zq(t.sessionId,"Session ID"),a=mJe(t.recoveryStatus);return{jobId:t.jobId,operation:t.operation,intent:t.intent,...typeof t.model=="string"?{model:t.model}:{},...typeof t.style=="string"?{style:t.style}:{},...typeof t.requestedName=="string"?{requestedName:t.requestedName}:{},revision:t.revision,...r?{toolId:r}:{},...s?{sessionId:s}:{},...typeof t.sessionTtlSeconds=="number"?{sessionTtlSeconds:t.sessionTtlSeconds}:{},...typeof t.expiresAt=="string"?{expiresAt:t.expiresAt}:{},...typeof t.recoveryAvailable=="boolean"?{recoveryAvailable:t.recoveryAvailable}:{},...a?{recoveryStatus:a}:{},...typeof t.recoveredFromSnapshot=="boolean"?{recoveredFromSnapshot:t.recoveredFromSnapshot}:{},state:t.state,stage:typeof t.stage=="string"?t.stage:"generating",activities:gJe(t.activities),files:n,...t.source&&typeof t.source=="object"?{source:t.source}:{},...typeof t.name=="string"?{name:t.name}:{},...typeof t.description=="string"?{description:t.description}:{},...typeof t.skillMd=="string"?{skillMd:t.skillMd}:{},...typeof t.error=="string"?{error:t.error}:{},...t.validation&&typeof t.validation=="object"?{validation:t.validation}:{},...t.publication?{publication:bJe(t.publication)}:{}}}async function lC(e){const t=Fl(await Mh(await _u("/capabilities",{signal:e}),"读取 Skill 工作台能力失败"),"Skill 工作台能力");return{enabled:t.enabled===!0,reason:typeof t.reason=="string"?t.reason:"",operations:Array.isArray(t.operations)?t.operations.filter(n=>n==="create"||n==="optimize"):[],models:Array.isArray(t.models)?t.models.flatMap(n=>{if(!n||typeof n!="object")return[];const i=n;return typeof i.id=="string"&&typeof i.label=="string"?[{id:i.id,label:i.label}]:[]}):[],styles:t.styles&&typeof t.styles=="object"&&!Array.isArray(t.styles)?Object.fromEntries(Object.entries(t.styles).filter(n=>typeof n[1]=="string")):{},...typeof t.maxUploadBytes=="number"?{maxUploadBytes:t.maxUploadBytes}:{}}}async function OJe(e){if(e.file){const n=new URLSearchParams({operation:"optimize",intent:e.intent});e.jobId&&n.set("job_id",e.jobId),e.model&&n.set("model",e.model),e.style&&n.set("style",e.style),e.name&&n.set("name",e.name);const i=await _u(`/tasks/from-upload?${n}`,{method:"POST",body:e.file,headers:{"Content-Type":"application/zip"},signal:e.signal},Nr);return Zx(await Mh(i,"开始优化 Skill 失败"))}const t=await _u("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({operation:e.operation,intent:e.intent,...e.model?{model:e.model}:{},...e.style?{style:e.style}:{},...e.name?{name:e.name}:{},...e.jobId?{jobId:e.jobId}:{},...e.source?{source:{kind:"skill-center",skillId:e.source.skillId,skillName:e.source.name,version:e.source.version,region:e.source.region,projectName:e.source.projectName,skillSpaceId:e.source.skillSpaceId,skillSpaceName:e.source.skillSpaceName}}:{}}),signal:e.signal},Nr);return Zx(await Mh(t,"开始 Skill 会话失败"))}async function yJe(e,t){return Zx(await Mh(await _u(`/tasks/${encodeURIComponent(e)}`,{signal:t}),"读取 Skill 会话失败"))}async function UR(e,t,n){const i=new URLSearchParams;i.set("expected_revision",String(t));const r=Fl(await Mh(await _u(`/tasks/${encodeURIComponent(e)}/artifact?${i.toString()}`,{signal:n}),"读取 Skill 产物失败"),"Skill 产物");if(r.jobId!==e||r.revision!==t||!Number.isSafeInteger(r.revision)||r.revision<1||typeof r.sha256!="string"||!/^[0-9a-f]{64}$/.test(r.sha256)||typeof r.name!="string"||typeof r.description!="string"||!Array.isArray(r.files))throw new Error("Skill 产物格式错误。");const s=r.files.map(a=>{const l=Fl(a,"Skill 产物文件");if(typeof l.path!="string"||typeof l.size!="number"||typeof l.content!="string")throw new Error("Skill 产物文件格式错误。");return{path:l.path,size:l.size,content:l.content}});return{jobId:r.jobId,revision:r.revision,sha256:r.sha256,name:r.name,description:r.description,files:s}}async function zR(e){const t=await _u(`/tasks/${encodeURIComponent(e.jobId)}/refinements`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({intent:e.intent,expectedRevision:e.expectedRevision})},Nr);return Zx(await Mh(t,"继续调整 Skill 失败"))}async function xJe(e){const t=await _u(`/tasks/${encodeURIComponent(e.jobId)}/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expectedRevision:e.expectedRevision})});return Zx(await Mh(t,"停止当前 Skill 任务失败"))}async function vJe(e){const t=await _u(`/tasks/${encodeURIComponent(e.jobId)}/publish-stream`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/x-ndjson"},body:JSON.stringify({disposition:e.disposition,expectedRevision:e.expectedRevision,expectedArtifactSha256:e.expectedArtifactSha256,skillSpaceIds:e.skillSpaceIds??[],projectName:e.projectName,region:e.region}),signal:e.signal},0);if(!t.ok)throw await Z$(t,"发布 Skill 失败");if(!(t.headers.get("content-type")??"").includes("application/x-ndjson"))throw new Error("发布 Skill 失败:服务端返回了非 NDJSON 响应。");if(!t.body)throw new Error("发布 Skill 失败:服务端没有返回进度流。");const i=new Set(["preparing","uploading","registering","activating","publishing"]);let r=null,s="";const a=new TextDecoder,l=t.body.getReader(),c=u=>{var h;if(!u.trim())return;const d=Fl(JSON.parse(u),"发布进度");if(d.type==="progress"){if(typeof d.phase!="string"||!i.has(d.phase)||typeof d.message!="string")throw new Error("发布进度格式错误。");(h=e.onProgress)==null||h.call(e,{phase:d.phase,message:d.message});return}if(d.type==="error"){const p=Fl(d.error,"发布错误");throw new kM(typeof p.message=="string"?p.message:"发布 Skill 失败",500,typeof p.code=="string"?p.code:"SKILL_PUBLISH_FAILED",p.retryable===!0,"",p.originalError&&typeof p.originalError=="object"?p.originalError:void 0,JSON.stringify(d.error))}if(d.type!=="complete")throw new Error("未知的发布进度事件。");const f=Fl(d.result,"发布结果");if(typeof f.skillId!="string"||typeof f.version!="string"||!Array.isArray(f.skillSpaceIds)||!f.skillSpaceIds.every(p=>typeof p=="string")||f.disposition!=="create-new"&&f.disposition!=="update-source"||!J4(f.region)||typeof f.projectName!="string")throw new Error("发布结果格式错误。");r={skillId:f.skillId,version:f.version,skillSpaceIds:f.skillSpaceIds,disposition:f.disposition,region:f.region,projectName:f.projectName}};for(;;){const{value:u,done:d}=await l.read();s+=a.decode(u,{stream:!d});const f=s.split(` +`||c==="\r")&&(s=!1);continue}if(a){c==="*"&&u==="/"&&(a=!1,l+=1);continue}if(i){r?r=!1:c==="\\"?r=!0:c===i&&(i="");continue}if(c==="/"&&u==="/"){s=!0,l+=1;continue}if(c==="/"&&u==="*"){a=!0,l+=1;continue}if(c==="'"||c==='"'){i=c;continue}const d=e.slice(l).match(n);if(d)return{index:l,openingIndex:l+d[0].lastIndexOf("("),type:d[1]==="LinearGradient"?"linear":"radial"}}}function KZe(e){let t=e,n=0;for(;;){const i=ZZe(t,n);if(!i)return t;const r=GZe(t,i.openingIndex),s=t.slice(i.openingIndex+1,r),a=JSON.stringify(WZe(i.type,s));t=`${t.slice(0,i.index)}${a}${t.slice(r+1)}`,n=i.index+a.length}}function JZe(e,t=!1){if(e.length>VZe)throw new Error("ECharts option is too large");const n=KZe(XZe(e));let i;try{i=kde.parse(n)}catch(a){throw/\bfunction\s*\(|=>/.test(n)?new Error("ECharts function callbacks are not supported"):a}if(!t1(i))throw new Error("ECharts option must be a data object");L2(i);const r={...i};r.aria={...t1(r.aria)?r.aria:{},enabled:!0};const s=r.tooltip;return t1(s)?r.tooltip={...s,renderMode:"richText"}:Array.isArray(s)&&(r.tooltip=s.map(a=>t1(a)?{...a,renderMode:"richText"}:a)),t&&(r.animation=!1),r}let FR;function eKe(){return FR??(FR=Id(()=>import("../visualizations/echarts/index-CGT341lL.js"),[]).catch(e=>{throw FR=void 0,e})),FR}function tKe({source:e}){const t=m.useRef(null),[n,i]=m.useState(!1),[r,s]=m.useState("");return m.useEffect(()=>{let a=!1,l,c,u;i(!1);try{u=JZe(e,window.matchMedia("(prefers-reduced-motion: reduce)").matches),s("")}catch{s("ECharts 配置不是有效且安全的数据对象,请切换到代码检查内容。");return}return eKe().then(d=>{const f=t.current;a||!f||(l=d.init(f,void 0,{renderer:"svg"}),l.setOption(u,{notMerge:!0}),typeof ResizeObserver<"u"&&(c=new ResizeObserver(()=>l==null?void 0:l.resize()),c.observe(f)),i(!0))}).catch(()=>{l==null||l.dispose(),l=void 0,a||s("图表暂时无法渲染,请切换到代码检查内容。")}),()=>{a=!0,c==null||c.disconnect(),l==null||l.dispose()}},[e]),o.jsxs("div",{className:`echarts-diagram${r?" echarts-diagram--error":""}`,role:"img","aria-label":"ECharts 图表预览","aria-busy":!n&&!r,children:[o.jsx("div",{ref:t,className:"echarts-diagram__canvas",hidden:!!r}),!n&&!r?o.jsx("div",{className:"echarts-diagram__state","aria-live":"polite",children:o.jsx(Rn,{duration:2.2,spread:15,children:"正在渲染图表…"})}):null,r?o.jsx("p",{className:"echarts-diagram__error",role:"alert",children:r}):null]})}const nKe=m.memo(tKe);let Xq,Gq=Promise.resolve(),iKe=0;function rKe(){return Xq??(Xq=Id(async()=>{const{default:e}=await import("../visualizations/mermaid/mermaid.core-DS1qXbzQ.js").then(t=>t.ay);return{default:e}},[]).then(({default:e})=>(e.initialize({startOnLoad:!1,securityLevel:"strict",suppressErrorRendering:!0,theme:"neutral"}),e))),Xq}function sKe(e){const t=Gq.then(async()=>{const n=await rKe(),i=`mermaid-diagram-${iKe+=1}`;return n.render(i,e)});return Gq=t.then(()=>{},()=>{}),t}function aKe({source:e}){const t=m.useRef(null),[n,i]=m.useState(null),[r,s]=m.useState(!1);return m.useEffect(()=>{let a=!1;return i(null),s(!1),sKe(e).then(l=>{a||i(l)}).catch(()=>{a||s(!0)}),()=>{a=!0}},[e]),m.useEffect(()=>{!(n!=null&&n.bindFunctions)||!t.current||n.bindFunctions(t.current)},[n]),r?o.jsx("div",{className:"mermaid-diagram mermaid-diagram--error",children:o.jsx("p",{className:"mermaid-diagram__error",role:"alert",children:"图表暂时无法渲染,请切换到代码查看 Mermaid 内容。"})}):n?o.jsx("div",{ref:t,className:"mermaid-diagram",role:"img","aria-label":"Mermaid 图表预览",dangerouslySetInnerHTML:{__html:n.svg}}):o.jsx("div",{className:"mermaid-diagram mermaid-diagram--loading","aria-live":"polite",children:o.jsx(Rn,{duration:2.2,spread:15,children:"正在渲染图表…"})})}const oKe=m.memo(aKe),lKe="_SegmentedControl_1sl7d_1",cKe="_SegmentedControlOption_1sl7d_140",uKe="_SegmentedControlThumb_1sl7d_219",vM={SegmentedControl:lKe,SegmentedControlOption:cKe,SegmentedControlThumb:uKe},jl=({value:e,onChange:t,children:n,block:i,pill:r=!0,size:s="md",gutterSize:a,className:l,onClick:c,...u})=>{const d=m.useRef(null),f=m.useRef(null),h=m.useCallback(b=>{const g=d.current,O=f.current;if(!g||!O)return;const y=g==null?void 0:g.querySelector('[data-state="on"]');if(!y)return;const v=g.clientWidth;let x=Math.floor(y.clientWidth);const w=y.offsetLeft;if(v-(x+w)<2&&(x=x-1),O.style.width=`${Math.floor(x)}px`,O.style.transform=`translateX(${w}px)`,g.scrollWidth>v){const S=v*.15,E=g.scrollLeft,k=y.offsetLeft,T=k+x;(kE+v-S)&&b&&y.scrollIntoView({block:"nearest",inline:"center",behavior:"smooth"})}},[]);Aae({ref:d,onResize:()=>{const b=f.current;if(!b)return;const g=b.style.transition;b.style.transition="",h(!1),b.style.transition=g}}),m.useLayoutEffect(()=>{const b=d.current,g=f.current;!b||!g||(h(!!g.style.transition),g.style.transition||y2(()=>{g.style.transition="width 300ms var(--cubic-enter), transform 300ms var(--cubic-enter)"}))},[h,e,s,a,r]);const p=b=>{b&&t&&t(b)};return o.jsxs(o7e,{ref:d,className:Qi(vM.SegmentedControl,l),type:"single",value:e,loop:!1,onValueChange:p,onClick:c,"data-block":i?"":void 0,"data-pill":r?"":void 0,"data-size":s,"data-gutter-size":a,...u,children:[o.jsx("div",{className:vM.SegmentedControlThumb,ref:f}),n]})},dKe=({children:e,...t})=>o.jsx(f7e,{className:vM.SegmentedControlOption,...t,onPointerEnter:V6,children:o.jsx("span",{className:"relative",children:e})});jl.Option=dKe;function fKe({children:e,label:t,language:n,source:i,streaming:r=!1}){const[s,a]=m.useState("preview"),l=r?"code":s;return o.jsxs("section",{className:"visualization-card","aria-label":`${t} 图表`,children:[o.jsx("div",{className:"visualization-card__toolbar",children:o.jsxs(jl,{className:"visualization-card__tabs",value:l,size:"sm",gutterSize:"sm",pill:!1,"aria-label":`${t} 显示方式`,onChange:c=>{r||a(c)},children:[o.jsx(jl.Option,{value:"preview",disabled:r,children:"预览"}),o.jsx(jl.Option,{value:"code",children:"代码"})]})}),o.jsx("div",{className:"visualization-card__body",children:l==="code"?o.jsx("pre",{className:"visualization-card__code",children:o.jsx("code",{className:`language-${n}`,children:i})}):e})]})}const hKe=m.memo(fKe);function pKe(e){const t=e==null?void 0:e.trim().toLowerCase();if(t==="mermaid")return"mermaid";if(t==="echart"||t==="echarts")return"echarts"}const Tde=[".mp4",".webm",".mov",".m4v",".ogg",".avi"];function wM(e){return typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(wM).join(""):m.isValidElement(e)?wM(e.props.children):""}function mKe(e){var i;const t=m.Children.toArray(e)[0];if(!m.isValidElement(t))return;const n=(i=t.props.className)==null?void 0:i.split(/\s+/).find(r=>r.startsWith("language-"));return pKe(n==null?void 0:n.slice(9))}function _de(e){if(!e)return!1;try{const t=e.toLowerCase();return Tde.some(n=>t.includes(n))}catch{return!1}}function gKe(e){var i;const t=(i=e==null?void 0:e.properties)==null?void 0:i.href;if(!t)return!1;if(_de(t))return!0;const n=e==null?void 0:e.children;if(n&&Array.isArray(n)){const r=n.map(s=>(s==null?void 0:s.value)||"").join("").toLowerCase();return Tde.some(s=>r.includes(s))}return!1}function bKe({text:e,className:t,allowRawHtml:n=!0,streaming:i=!1}){const[r,s]=m.useState(null),a=(u,d)=>{if(u.src)return u.src;if(d){const f=p=>{var b;if(!p)return null;if(p.type==="source"&&((b=p.properties)!=null&&b.src))return p.properties.src;if(p.children)for(const g of p.children){const O=f(g);if(O)return O}return null},h=f({children:d});if(h)return h}return""},l=u=>{try{const f=new URL(u).pathname.split("/");return f[f.length-1]||"video.mp4"}catch{return"video.mp4"}},c=u=>u?Array.isArray(u)?u.map(d=>(d==null?void 0:d.value)||"").join("")||"video":(u==null?void 0:u.value)||"video":"video";return o.jsxs("div",{className:t?`md ${t}`:"md",children:[o.jsx(Pze,{remarkPlugins:[Gqe],rehypePlugins:n?[NZe,_q]:[_q],components:{pre:({node:u,children:d,...f})=>{const h=mKe(d);if(h==="mermaid"||h==="echarts"){const p=wM(d).replace(/\n$/,"");return o.jsx(hKe,{label:h==="mermaid"?"Mermaid":"ECharts",language:h,source:p,streaming:i,children:h==="mermaid"?o.jsx(oKe,{source:p}):o.jsx(nKe,{source:p})})}return o.jsx("pre",{...f,children:d})},a:({node:u,...d})=>{const f=d.href;if(f&&(_de(f)||gKe(u))){const h=f,p=c(u==null?void 0:u.children);return o.jsxs("div",{className:"video-container",children:[o.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":`点击播放视频: ${p}`,onClick:()=>s({src:h,title:p}),children:[o.jsx("video",{src:h,playsInline:!0,className:"video-thumbnail",preload:"metadata"}),o.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:o.jsx(P0,{})})]}),o.jsx("div",{className:"video-caption",children:o.jsx("a",{href:h,target:"_blank",rel:"noopener noreferrer",className:"video-link-text",children:p})})]})}return o.jsx("a",{...d,target:"_blank",rel:"noopener noreferrer"})},img:({node:u,src:d,alt:f,...h})=>{const p=o.jsx("img",{...h,src:d,alt:f??"",loading:"lazy"});return d?o.jsx(fne,{src:d,children:o.jsxs("button",{type:"button",className:"image-preview-trigger","aria-label":`放大预览:${f||"图片"}`,children:[p,o.jsx("span",{className:"image-preview-hint","aria-hidden":"true",children:o.jsx(P0,{})})]})}):p},video:({node:u,src:d,children:f,...h})=>{const p=a({src:d},f);return p?o.jsx("div",{className:"video-container",children:o.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":"点击放大视频",onClick:()=>s({src:p}),children:[o.jsx("video",{src:p,...h,playsInline:!0,className:"video-thumbnail",children:f}),o.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:o.jsx(P0,{})})]})}):o.jsx("video",{src:d,controls:!0,playsInline:!0,className:"video-inline",...h,children:f})}},children:e}),r&&o.jsx("div",{className:"video-viewer-backdrop",role:"dialog","aria-modal":"true","aria-label":"视频预览",onClick:()=>s(null),children:o.jsxs("div",{className:"video-viewer",onClick:u=>u.stopPropagation(),children:[o.jsxs("div",{className:"video-viewer-header",children:[o.jsx("div",{className:"video-viewer-title",children:r.title||l(r.src)}),o.jsxs("nav",{className:"video-viewer-nav",children:[o.jsx("a",{href:r.src,download:r.title||l(r.src),"aria-label":"下载视频",title:"下载视频",className:"video-viewer-download",children:o.jsx(sA,{})}),o.jsx("button",{type:"button",className:"video-viewer-close","aria-label":"关闭",onClick:()=>s(null),children:o.jsx(Ga,{})})]})]}),o.jsx("div",{className:"video-viewer-body",children:o.jsx("video",{src:r.src,controls:!0,autoPlay:!0,playsInline:!0,className:"video-fullscreen"})})]})})]})}const Tu=m.memo(bKe);function OKe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M5 5.5A2.5 2.5 0 0 1 7.5 3H19v16H7.5A2.5 2.5 0 0 0 5 21.5v-16Z"}),o.jsx("path",{d:"M5 18.5A2.5 2.5 0 0 1 7.5 16H19"}),o.jsx("path",{d:"M9 7h6M9 10h4"})]})}function yKe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M6 3h8l4 4v14H6V3Z"}),o.jsx("path",{d:"M14 3v5h5M9 12h6M9 16h6"})]})}function xKe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.3"}),o.jsx("path",{d:"m15.5 15.5 4 4"})]})}function vKe(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m7 7 10 10M17 7 7 17"})})}function Yq(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"M12 5v14M5 12h14"})})}function wKe(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m15 18-6-6 6-6"})})}function gw({title:e,children:t,onClose:n,busy:i=!1,className:r=""}){const s=m.useId(),a=m.useRef(null),l=m.useRef(null),c=m.useRef(i),u=m.useRef(n);return m.useEffect(()=>{c.current=i,u.current=n},[i,n]),m.useEffect(()=>{var p;const d=document.activeElement instanceof HTMLElement?document.activeElement:null,f=document.body.style.overflow;document.body.style.overflow="hidden",(p=a.current)==null||p.focus();const h=b=>{if(b.key==="Escape"&&!c.current){u.current();return}if(b.key!=="Tab")return;const g=l.current;if(!g)return;const O=Array.from(g.querySelectorAll('button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], audio[controls], video[controls], iframe, [tabindex]:not([tabindex="-1"])')).filter(x=>x.getClientRects().length>0);if(O.length===0){b.preventDefault();return}const y=O[0],v=O[O.length-1];b.shiftKey&&(document.activeElement===y||!g.contains(document.activeElement))?(b.preventDefault(),v.focus()):!b.shiftKey&&(document.activeElement===v||!g.contains(document.activeElement))&&(b.preventDefault(),y.focus())};return window.addEventListener("keydown",h),()=>{window.removeEventListener("keydown",h),document.body.style.overflow=f,d!=null&&d.isConnected&&d.focus()}},[]),ir.createPortal(o.jsx("div",{className:"knowledge-dialog-backdrop",onMouseDown:d=>{d.target===d.currentTarget&&!i&&n()},children:o.jsxs("section",{ref:l,className:`knowledge-dialog${r?` ${r}`:""}`,role:"dialog","aria-modal":"true","aria-labelledby":s,"aria-busy":i||void 0,children:[o.jsxs("header",{className:"knowledge-dialog__header",children:[o.jsx("h2",{id:s,children:e}),o.jsx("button",{ref:a,type:"button",onClick:n,disabled:i,"aria-label":"关闭",children:o.jsx(vKe,{})})]}),t]})}),document.body)}function Wx({message:e}){return e?o.jsx("div",{className:"knowledge-form-error",role:"alert",children:e}):null}function SM(e){return e instanceof DOMException&&e.name==="AbortError"}function SKe(e){if(!e)return"";const t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(t):e}function EKe(e){const t=e.trim().toLowerCase();return["ready","active","available","success"].includes(t)?"可用":["creating","pending","processing","indexing"].includes(t)?"处理中":["failed","error","unavailable"].includes(t)?"异常":e||"未知"}const Ade=[".jpg",".jpeg",".png"].join(","),kKe=new Set(Ade.split(",")),Cde=[".pdf",".pptx",".docx",".xlsx",".txt"].join(","),TKe=new Set(Cde.split(",")),_Ke=200*1024*1024;function EM(e){const t=e.lastIndexOf(".");return t<0?"":e.slice(t).toLocaleLowerCase()}function AKe(e,t){return e.size>_Ke?"单个文件不能超过 200 MB":t==="image"?kKe.has(EM(e.name))?"":"请选择 PNG、JPG 或 JPEG 图片":TKe.has(EM(e.name))?"":"请选择 PDF、PPTX、DOCX、XLSX 或 TXT 文件"}function W$(e){return e<=0?"-":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Nde(e){var r;const t=e.type.trim().replace(/^\./,"");if(t)return t.toUpperCase();const n=e.name.trim(),i=n.includes(".")?(r=n.split(".").pop())==null?void 0:r.trim():"";return i?i.toUpperCase():"-"}function CKe({onClose:e,onCreated:t}){const[n,i]=m.useState(""),[r,s]=m.useState(""),[a,l]=m.useState(!1),[c,u]=m.useState(!1),[d,f]=m.useState(""),h=n.trim(),p=!!(h&&!/^[A-Za-z][A-Za-z0-9_]{0,47}$/.test(h)),b=async g=>{if(g.preventDefault(),l(!0),!h||p)return;u(!0),f("");const O={name:h,description:r.trim()||void 0};try{t(await G7e(O))}catch(y){f(Sa(y,"创建知识库失败"))}finally{u(!1)}};return o.jsx(gw,{title:"新建知识库",onClose:e,busy:c,children:o.jsxs("form",{onSubmit:g=>void b(g),children:[o.jsxs("div",{className:"knowledge-dialog__body",children:[o.jsxs("label",{children:[o.jsx("span",{children:"名称"}),o.jsx("input",{autoFocus:!0,value:n,maxLength:48,"aria-invalid":a&&p||void 0,"aria-describedby":"knowledge-name-help",onBlur:()=>l(!0),onChange:g=>i(g.target.value)})]}),o.jsx("p",{id:"knowledge-name-help",className:`knowledge-dialog__note${a&&p?" is-error":""}`,role:a&&p?"alert":void 0,children:a&&p?"名称必须以字母开头,且只能包含字母、数字和下划线。":"以字母开头,仅支持字母、数字和下划线,最多 48 个字符。"}),o.jsxs("label",{children:[o.jsx("span",{children:"描述(可选)"}),o.jsx("textarea",{value:r,maxLength:80,onChange:g=>s(g.target.value)})]}),o.jsx(Wx,{message:d})]}),o.jsxs("footer",{className:"knowledge-dialog__actions",children:[o.jsx("button",{type:"button",onClick:e,disabled:c,children:"取消"}),o.jsx("button",{type:"submit",className:"is-primary",disabled:c||!h||p,children:c?"创建中":"创建"})]})]})})}function NKe({item:e,onClose:t,onUpdated:n}){const[i,r]=m.useState(e.description),[s,a]=m.useState(!1),[l,c]=m.useState(""),u=async d=>{d.preventDefault(),a(!0),c("");try{n(await Y7e(e.id,e.region,{description:i.trim()}))}catch(f){c(Sa(f,"更新知识库失败"))}finally{a(!1)}};return o.jsx(gw,{title:"编辑知识库",onClose:t,busy:s,children:o.jsxs("form",{onSubmit:d=>void u(d),children:[o.jsxs("div",{className:"knowledge-dialog__body",children:[o.jsxs("label",{children:[o.jsx("span",{children:"名称"}),o.jsx("input",{value:e.name,disabled:!0})]}),o.jsxs("label",{children:[o.jsx("span",{children:"描述"}),o.jsx("textarea",{autoFocus:!0,value:i,maxLength:80,onChange:d=>r(d.target.value)})]}),o.jsx("p",{className:"knowledge-dialog__note",children:"AgentKit 当前仅支持更新知识库描述。"}),o.jsx(Wx,{message:l})]}),o.jsxs("footer",{className:"knowledge-dialog__actions",children:[o.jsx("button",{type:"button",onClick:t,disabled:s,children:"取消"}),o.jsx("button",{type:"submit",className:"is-primary",disabled:s,children:s?"保存中":"保存"})]})]})})}function jde(e){if(!e.trim())return{};const t=JSON.parse(e);if(!t||Array.isArray(t)||typeof t!="object")throw new Error("Metadata 必须是 JSON 对象");return t}function jKe({base:e,onClose:t,onCreated:n,onAssociationInvalid:i}){const[r,s]=m.useState("document"),[a,l]=m.useState(""),[c,u]=m.useState(""),[d,f]=m.useState(""),[h,p]=m.useState(null),[b,g]=m.useState(!1),[O,y]=m.useState("{}"),[v,x]=m.useState(""),[w,S]=m.useState(""),[E,k]=m.useState(null),T=m.useRef(null),_=m.useRef(null),N=m.useRef(null),C=m.useRef(0),R=!!v;m.useEffect(()=>{var P;E&&!R&&((P=N.current)==null||P.focus())},[R,E]);const L=P=>{R||P===r||(s(P),p(null),f(""),l(""),u(""),S(""),k(null),g(!1),C.current=0,T.current&&(T.current.value=""))},D=P=>{if(!P||r==="web")return;const M=AKe(P,r);if(M){p(null),l(""),u(""),S(M);return}p(P),S(""),l(P.name.replace(/\.[^.]+$/,"")),u(EM(P.name).slice(1))},$=async P=>{if(P.preventDefault(),r==="web"?!d.trim():!h)return;let M;try{M=jde(O)}catch(U){S(Sa(U,"Metadata 格式错误"));return}x(r==="web"?E?"save":"preview":"upload"),S("");try{if(r==="web")if(E){const U={sourceType:"url",metadata:E.metadata,url:E.preview.url,sourceTitle:E.preview.name,sourceMarkdown:E.preview.sourceMarkdown};await J7e(e.id,e.region,U),n()}else{const U=await eBe(e.id,e.region,{url:d.trim()});if(!U.sourceMarkdown.trim())throw new Error("网页没有可预览的 Markdown 内容");k({preview:U,metadata:M})}else h&&(await tBe(e.id,e.region,{file:h,name:a.trim()||void 0,documentType:c.trim()||void 0,metadata:M}),n())}catch(U){U instanceof GA&&U.errorCode===Ule?i(U):S(Sa(U,r==="web"?E?"添加网页失败":"生成网页预览失败":"上传文件失败"))}finally{x("")}},j=()=>{R||(k(null),S(""),requestAnimationFrame(()=>{var P;return(P=_.current)==null?void 0:P.focus()}))};return o.jsx(gw,{title:E?"预览网页内容":"添加数据",onClose:t,busy:R,className:E?"knowledge-dialog--preview knowledge-dialog--web-confirm":"",children:o.jsx("form",{onSubmit:P=>void $(P),children:E?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"knowledge-preview knowledge-web-preview",children:[o.jsxs("div",{className:"knowledge-preview__meta",children:[o.jsx("strong",{title:E.preview.name,children:E.preview.name}),o.jsx("a",{href:E.preview.url,target:"_blank",rel:"noopener noreferrer",children:"打开原网页"})]}),o.jsx("div",{className:"knowledge-preview__body","aria-live":"polite",children:o.jsx("div",{className:"knowledge-preview__markdown-shell",children:o.jsx(Tu,{text:E.preview.sourceMarkdown,allowRawHtml:!1,className:"knowledge-preview__markdown"})})}),w?o.jsx("div",{className:"knowledge-web-preview__error",children:o.jsx(Wx,{message:w})}):null]}),o.jsxs("footer",{className:"knowledge-dialog__actions",children:[o.jsx("button",{type:"button",className:"is-back",onClick:j,disabled:R,children:"返回修改"}),o.jsx("button",{type:"button",onClick:t,disabled:R,children:"取消"}),o.jsx("button",{ref:N,type:"submit",className:"is-primary",disabled:R,children:v==="save"?"添加中":"确认添加"})]})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"knowledge-dialog__body",children:[o.jsx("div",{className:"knowledge-source-tabs",role:"tablist","aria-label":"知识来源",children:[["image","图片"],["document","文档文件"],["web","在线网页"]].map(([P,M])=>o.jsx("button",{type:"button",role:"tab",id:`knowledge-source-${P}-tab`,"aria-controls":`knowledge-source-${P}-panel`,"aria-selected":r===P,tabIndex:r===P?0:-1,className:r===P?"is-active":"",disabled:R,onClick:()=>L(P),onKeyDown:U=>{const F=["image","document","web"];if(!["ArrowLeft","ArrowRight","Home","End"].includes(U.key))return;U.preventDefault();const H=F.indexOf(P),z=U.key==="Home"?F[0]:U.key==="End"?F[F.length-1]:F[(H+(U.key==="ArrowRight"?1:-1)+F.length)%F.length];L(z),requestAnimationFrame(()=>{var Q;return(Q=document.getElementById(`knowledge-source-${z}-tab`))==null?void 0:Q.focus()})},children:M},P))}),o.jsx("div",{id:`knowledge-source-${r}-panel`,className:"knowledge-source-panel",role:"tabpanel","aria-labelledby":`knowledge-source-${r}-tab`,children:r==="web"?o.jsxs(o.Fragment,{children:[o.jsxs("label",{children:[o.jsx("span",{children:"网页 URL"}),o.jsx("input",{ref:_,autoFocus:!0,type:"url",value:d,disabled:R,onChange:P=>{f(P.target.value),S("")},placeholder:"https://example.com/article"})]}),o.jsx("div",{className:"knowledge-upload-status",role:"status","aria-live":"polite",children:v==="preview"?o.jsx(Rn,{children:"正在抓取网页并生成 Markdown 预览"}):null})]}):o.jsxs(o.Fragment,{children:[o.jsx("input",{ref:T,className:"knowledge-upload-input",type:"file","aria-label":"选择知识文件",accept:r==="image"?Ade:Cde,disabled:R,onChange:P=>{var M;D(((M=P.currentTarget.files)==null?void 0:M[0])??null),P.currentTarget.value=""}}),o.jsxs("button",{type:"button",className:`knowledge-upload-dropzone${b?" is-dragging":""}${h?" is-ready":""}`,disabled:R,onClick:()=>{var P;return(P=T.current)==null?void 0:P.click()},onDragEnter:P=>{P.preventDefault(),!R&&(C.current+=1,g(!0))},onDragOver:P=>{P.preventDefault(),R||(P.dataTransfer.dropEffect="copy")},onDragLeave:P=>{P.preventDefault(),C.current=Math.max(0,C.current-1),C.current===0&&g(!1)},onDrop:P=>{var M;P.preventDefault(),C.current=0,g(!1),R||D(((M=P.dataTransfer.files)==null?void 0:M[0])??null)},children:[o.jsx("strong",{children:h?h.name:"选择文件或拖拽到这里"}),o.jsx("span",{children:h?`${W$(h.size)} · 点击可重新选择`:r==="image"?"支持 PNG、JPG 和 JPEG,单个文件不超过 200 MB":"支持 PDF、PPTX、DOCX、XLSX 和 TXT,单个文件不超过 200 MB"})]}),o.jsx("div",{className:"knowledge-upload-status",role:"status","aria-live":"polite",children:R?o.jsx(Rn,{children:"正在上传文件并添加到知识库"}):null})]})}),r!=="web"?o.jsxs("div",{className:"knowledge-dialog__fields",children:[o.jsxs("label",{children:[o.jsx("span",{children:"名称(可选)"}),o.jsx("input",{value:a,disabled:R,maxLength:256,onChange:P=>l(P.target.value)})]}),o.jsxs("label",{children:[o.jsx("span",{children:"类型(可选)"}),o.jsx("input",{value:c,disabled:R,maxLength:64,onChange:P=>u(P.target.value),placeholder:"pdf、docx、png"})]})]}):null,o.jsxs("label",{children:[o.jsx("span",{children:"Metadata(JSON)"}),o.jsx("textarea",{className:"is-code",value:O,disabled:R,onChange:P=>y(P.target.value),spellCheck:!1})]}),o.jsx(Wx,{message:w})]}),o.jsxs("footer",{className:"knowledge-dialog__actions",children:[o.jsx("button",{type:"button",onClick:t,disabled:R,children:"取消"}),o.jsx("button",{type:"submit",className:"is-primary",disabled:R||(r==="web"?!d.trim():!h),children:R?r==="web"?"生成中":"上传中":r==="web"?"生成预览":"上传文件"})]})]})})})}function RKe({base:e,item:t,onClose:n,onUpdated:i}){const[r,s]=m.useState(()=>JSON.stringify(t.metadata??{},null,2)),[a,l]=m.useState(!1),[c,u]=m.useState(""),d=async f=>{f.preventDefault();let h;try{h=jde(r)}catch(p){u(Sa(p,"Metadata 格式错误"));return}l(!0),u("");try{i(await nBe(e.id,t.id,e.region,{metadata:h}))}catch(p){u(Sa(p,"更新知识失败"))}finally{l(!1)}};return o.jsx(gw,{title:"编辑知识 Metadata",onClose:n,busy:a,children:o.jsxs("form",{onSubmit:f=>void d(f),children:[o.jsxs("div",{className:"knowledge-dialog__body",children:[o.jsxs("label",{children:[o.jsx("span",{children:"知识"}),o.jsx("input",{value:t.name||t.id,disabled:!0})]}),o.jsxs("label",{children:[o.jsx("span",{children:"Metadata(JSON)"}),o.jsx("textarea",{autoFocus:!0,className:"is-code knowledge-metadata-editor",value:r,onChange:f=>s(f.target.value),spellCheck:!1})]}),o.jsx(Wx,{message:c})]}),o.jsxs("footer",{className:"knowledge-dialog__actions",children:[o.jsx("button",{type:"button",onClick:n,disabled:a,children:"取消"}),o.jsx("button",{type:"submit",className:"is-primary",disabled:a,children:a?"保存中":"保存"})]})]})})}const Rde=new Set(["avif","bmp","gif","jpeg","jpg","png","svg","webp"]),Ide=new Set(["aac","flac","m4a","mp3","ogg","wav","webm"]),Dde=new Set(["m4v","mov","mp4","mpeg","mpg","ogg","webm"]),IKe=new Set(["pdf"]),DKe=new Set(["doc","docx","ppt","pptx","xls","xlsx"]),PKe=new Set(["creating","indexing","pending","processing","queued","submitted"]),MKe=new Set(["error","failed","unavailable"]);function Wq(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}function gE(e){if(e==null||e==="")return"-";if(["string","number","boolean"].includes(typeof e))return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function LKe(e){if(Array.isArray(e)){if(e.length===0)return null;const i=e.map(Wq);if(i.some(r=>Object.keys(r).length>0)){const r=[...new Set(i.flatMap(s=>Object.keys(s)))];return{columns:r,rows:i.map(s=>r.map(a=>gE(s[a])))}}return{columns:["值"],rows:e.map(r=>[gE(r)])}}const t=Wq(e),n=Object.entries(t);if(n.length===0)return null;if(n.every(([,i])=>Array.isArray(i))){const i=n.map(([s])=>s),r=Math.max(...n.map(([,s])=>s.length));return{columns:i,rows:Array.from({length:r},(s,a)=>n.map(([,l])=>gE(l[a])))}}return{columns:["字段","值"],rows:n.map(([i,r])=>[i,gE(r)])}}function Pde(e){const t=e.trim();if(!t||t.startsWith("//"))return"";if(t.startsWith("/"))return t;try{const n=new URL(t);return["http:","https:"].includes(n.protocol)?n.href:""}catch{return""}}function $Ke(e){const t=Pde(e);return t.startsWith("http://")||t.startsWith("https://")?t:""}function BKe(e){var r;const t=e.attachmentType.trim().toLocaleLowerCase();if(t==="image"||t==="doc-image"||t.startsWith("image/"))return"image";if(t==="audio"||t.startsWith("audio/"))return"audio";if(t==="video"||t.startsWith("video/"))return"video";if(t==="pdf"||t==="application/pdf")return"pdf";const n=e.attachmentUrl.split(/[?#]/,1)[0],i=n.includes(".")?((r=n.split(".").pop())==null?void 0:r.toLocaleLowerCase())??"":"";return Rde.has(i)?"image":Ide.has(i)?"audio":Dde.has(i)?"video":IKe.has(i)?"pdf":t||i?"file":"none"}function QKe(e){const t=e.status.trim().toLocaleLowerCase();if(PKe.has(t))return{title:"数据正在处理中",detail:"知识库完成解析后即可预览,请稍后重新加载。"};if(MKe.has(t))return{title:"数据解析失败",detail:"请检查源文件或网页地址后重新添加,也可以重新加载最新状态。"};const n=Nde(e).toLocaleLowerCase();return n==="pdf"||DKe.has(n)?{title:"暂时没有可预览的解析内容",detail:"此类文件会在知识库完成解析后显示文本、表格或页面图片。"}:Rde.has(n)||Ide.has(n)||Dde.has(n)?{title:"暂时没有可预览的媒体内容",detail:"知识库尚未返回可访问的媒体预览,请稍后重新加载。"}:{title:"暂无可预览的数据内容",detail:"知识库尚未返回解析结果,请稍后重新加载。"}}function FKe({chunk:e}){const[t,n]=m.useState(!1),i=Pde(e.attachmentUrl),r=BKe(e);return!i||r==="none"?null:t?o.jsx("div",{className:"knowledge-preview__attachment-error",children:"附件无法预览,请稍后重试。"}):r==="image"?o.jsx("img",{className:"knowledge-preview__image",src:i,alt:e.title||"知识数据图片",loading:"lazy",onError:()=>n(!0)}):r==="audio"?o.jsx("audio",{className:"knowledge-preview__audio",src:i,controls:!0,preload:"metadata",onError:()=>n(!0),children:"当前浏览器不支持音频预览。"}):r==="video"?o.jsx("video",{className:"knowledge-preview__video",src:i,controls:!0,playsInline:!0,preload:"metadata",onError:()=>n(!0),children:"当前浏览器不支持视频预览。"}):r==="pdf"?o.jsxs("div",{className:"knowledge-preview__pdf",children:[o.jsx("iframe",{src:i,title:e.title?`${e.title} PDF 预览`:"PDF 预览",sandbox:"",referrerPolicy:"no-referrer",onError:()=>n(!0)}),o.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:"无法显示时,在新窗口打开 PDF"})]}):o.jsxs("div",{className:"knowledge-preview__file-fallback",children:[o.jsx("p",{children:"当前格式暂不支持直接在线预览,已优先显示解析后的内容。"}),o.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:"打开原文件"})]})}function UKe({base:e,item:t,onClose:n}){const[i,r]=m.useState([]),[s,a]=m.useState(t),[l,c]=m.useState(""),[u,d]=m.useState(!0),[f,h]=m.useState(!1),[p,b]=m.useState(!1),[g,O]=m.useState(""),y=m.useRef(0),v=m.useRef(null),x=m.useCallback(async(k=0)=>{var N;(N=v.current)==null||N.abort();const T=new AbortController;v.current=T;const _=y.current+1;y.current=_,k>0?h(!0):d(!0),O(""),k===0&&(r([]),b(!1));try{const C=await K7e(e.id,t.id,{region:e.region,offset:k,signal:T.signal});if(y.current!==_)return;a(C.document.id?C.document:t),c(C.sourceMarkdown||C.document.sourceMarkdown),r(R=>k>0?[...R,...C.chunks]:C.chunks),b(C.hasMore)}catch(C){!SM(C)&&y.current===_&&O(Sa(C,"加载数据预览失败"))}finally{y.current===_&&(d(!1),h(!1))}},[e.id,e.region,t]);m.useEffect(()=>(x(),()=>{var k;(k=v.current)==null||k.abort(),y.current+=1}),[x]);const w=$Ke(s.url||t.url),S=QKe(s),E=s.metadata._veadk_content_format==="markdown";return o.jsx(gw,{title:s.name||t.name||t.id,onClose:n,className:"knowledge-dialog--preview",children:o.jsxs("div",{className:"knowledge-preview",children:[s.sizeBytes>0||w?o.jsxs("div",{className:"knowledge-preview__meta",children:[s.sizeBytes>0?o.jsx("span",{children:W$(s.sizeBytes)}):null,w?o.jsx("a",{href:w,target:"_blank",rel:"noopener noreferrer",children:"打开原网页"}):null]}):null,o.jsx("div",{className:"knowledge-preview__body","aria-live":"polite",children:l?o.jsx("div",{className:"knowledge-preview__markdown-shell",children:o.jsx(Tu,{text:l,allowRawHtml:!1,className:"knowledge-preview__markdown"})}):u?o.jsx("div",{className:"knowledge-preview__state",role:"status",children:o.jsx(Rn,{as:"span",duration:2.4,children:"正在加载数据预览"})}):g&&i.length===0?o.jsxs("div",{className:"knowledge-preview__state is-error",role:"alert",children:[o.jsx("p",{children:g}),o.jsx("button",{type:"button",onClick:()=>void x(),children:"重试"})]}):i.length===0?o.jsxs("div",{className:"knowledge-preview__state",children:[o.jsx("p",{children:S.title}),o.jsx("span",{children:w?"您可以打开原网页查看来源内容。":S.detail}),o.jsx("button",{type:"button",onClick:()=>void x(),children:"重新加载"})]}):o.jsxs("div",{className:"knowledge-preview__chunks",children:[i.map((k,T)=>{const _=LKe(k.tableFields),N=k.id||`${T}:${k.title}`;return o.jsxs("article",{className:"knowledge-preview__chunk",children:[o.jsx("header",{children:o.jsx("h3",{children:k.title||`片段 ${T+1}`})}),k.content?E?o.jsx(Tu,{text:k.content,allowRawHtml:!1,className:"knowledge-preview__markdown"}):o.jsx("p",{className:"knowledge-preview__content",children:k.content}):null,_?o.jsx("div",{className:"knowledge-preview__table-wrap",children:o.jsxs("table",{children:[o.jsx("thead",{children:o.jsx("tr",{children:_.columns.map((C,R)=>o.jsx("th",{scope:"col",children:C},`${C}:${R}`))})}),o.jsx("tbody",{children:_.rows.map((C,R)=>o.jsx("tr",{children:C.map((L,D)=>o.jsx("td",{children:L},D))},R))})]})}):null,o.jsx(FKe,{chunk:k})]},N)}),g?o.jsx("div",{className:"knowledge-preview__more-error",role:"alert",children:g}):null,p?o.jsx("button",{type:"button",className:"knowledge-preview__load-more",disabled:f,onClick:()=>void x(i.length),children:f?o.jsx(Rn,{as:"span",duration:2.4,children:"正在加载更多"}):"加载更多"}):null]})})]})})}function zKe({cloudProvider:e,active:t=!0,activationRevision:n=0}){const[i,r]=m.useState([]),[s,a]=m.useState({}),[l,c]=m.useState([]),[u,d]=m.useState(""),[f,h]=m.useState(""),[p,b]=m.useState(!0),[g,O]=m.useState(!1),[y,v]=m.useState(""),[x,w]=m.useState([]),[S,E]=m.useState(!1),[k,T]=m.useState(""),[_,N]=m.useState(""),[C,R]=m.useState(""),[L,D]=m.useState(!1),[$,j]=m.useState(!1),[P,M]=m.useState(!1),[U,F]=m.useState(null),[H,z]=m.useState(null),[Q,q]=m.useState(null),[le,ge]=m.useState(null),[be,ce]=m.useState(null),[Z,J]=m.useState(!1),ue=m.useRef(0),Oe=m.useRef(0),Ne=m.useRef([]),De=m.useRef(!1),Pe=m.useRef(!1),pe=m.useRef(null),Ee=m.useRef(null),ye=m.useRef({}),$e=m.useRef(!1),Ue=m.useRef(null),_e=m.useRef(null),ze=m.useRef(null),lt=m.useRef(null),Lt=m.useMemo(()=>yb(e).map(ve=>ve.value),[e]),We=m.useCallback(ve=>`${ve.region}\0${ve.id}`,[]),W=i.find(ve=>We(ve)===u)??null,ne=!!(W&&C===We(W)),de=m.useMemo(()=>{const ve=f.trim().toLocaleLowerCase();return ve?i.filter(Ve=>[Ve.name,Ve.description,Ve.ownerLabel,Ve.providerKnowledgeId].some(Fe=>Fe.toLocaleLowerCase().includes(ve))):i},[i,f]);m.useEffect(()=>{z(null)},[W==null?void 0:W.id,W==null?void 0:W.region]);const xe=m.useCallback(async(ve=!1)=>{var yt;if(ve&&($e.current||Object.keys(ye.current).length===0))return;(yt=pe.current)==null||yt.abort();const Ve=new AbortController;pe.current=Ve;const Fe=ue.current+1;ue.current=Fe,$e.current=!0,ve?O(!0):b(!0),v(""),ve||c([]);try{const bt=await X7e({regions:Lt,nextTokens:ve?ye.current:void 0,signal:Ve.signal});if(ue.current!==Fe)return;r(Ae=>ve?[...Ae,...bt.items.filter(Ke=>!Ae.some(Rt=>We(Rt)===We(Ke)))]:bt.items),ye.current=bt.nextTokens,a(bt.nextTokens);const jt=bt.failures.map(({region:Ae,error:Ke})=>`${Sc(Ae,e)}:${Sa(Ke,"加载失败")}`);c(Ae=>ve?[...new Set([...Ae,...jt])]:jt),ve||d(Ae=>bt.items.some(Ke=>We(Ke)===Ae)?Ae:"")}catch(bt){if(SM(bt))return;ue.current===Fe&&(ve?c(jt=>[...new Set([...jt,Sa(bt,"加载更多知识库失败")])]):v(Sa(bt,"加载知识库失败")))}finally{ue.current===Fe&&($e.current=!1,b(!1),O(!1))}},[We,e,Lt]),V=m.useCallback(async(ve,Ve=!1)=>{var bt;if(Ve&&De.current)return;(bt=Ee.current)==null||bt.abort();const Fe=new AbortController;Ee.current=Fe;const yt=Oe.current+1;Oe.current=yt,Ve||(Ne.current=[],Pe.current=!1,w([]),D(!1),N("")),De.current=!0,E(!0),Ve?N(""):T("");try{const jt=await Z7e(ve.id,{region:ve.region,offset:Ve?Ne.current.length:0,signal:Fe.signal});if(Oe.current!==yt)return;R(sn=>sn===We(ve)?"":sn);const Ae=Ne.current,Ke=Ve?[...Ae,...jt.items.filter(sn=>!sn.id||!Ae.some(nt=>nt.id===sn.id))]:jt.items,Rt=jt.hasMore&&(!Ve||Ke.length>Ae.length);Ne.current=Ke,Pe.current=Rt,w(Ke),D(Rt)}catch(jt){if(SM(jt))return;Oe.current===yt&&(jt instanceof GA&&jt.errorCode===Ule&&(R(We(ve)),F(Ke=>Ke&&We(Ke)===We(ve)?null:Ke)),Ve?N(Sa(jt,"加载更多数据失败")):T(Sa(jt,"加载数据失败")))}finally{Oe.current===yt&&(De.current=!1,E(!1))}},[We]);m.useEffect(()=>{var ve;(ve=pe.current)==null||ve.abort(),ue.current+=1,$e.current=!1,ye.current={},r([]),a({}),c([]),d(""),R(""),v(""),b(!0)},[e]),m.useEffect(()=>{if(t)return xe(),()=>{var ve;(ve=pe.current)==null||ve.abort(),ue.current+=1,$e.current=!1}},[t,n,xe]),m.useEffect(()=>{var ve,Ve;if(!t){(ve=Ee.current)==null||ve.abort(),Oe.current+=1,De.current=!1;return}if(!W){(Ve=Ee.current)==null||Ve.abort(),Oe.current+=1,Ne.current=[],De.current=!1,Pe.current=!1,w([]),D(!1),N("");return}return V(W),()=>{var Fe;(Fe=Ee.current)==null||Fe.abort(),Oe.current+=1,De.current=!1}},[t,n,W==null?void 0:W.id,W==null?void 0:W.region]);const Re=t&&!W&&!f.trim()&&!p&&!g&&!y&&Object.keys(s).length>0;m.useEffect(()=>{const ve=_e.current,Ve=Ue.current;if(!ve||!Ve||!Re)return;const Fe=new IntersectionObserver(([yt])=>{yt.isIntersecting&&xe(!0)},{root:Ve,rootMargin:"240px 0px",threshold:.01});return Fe.observe(ve),()=>Fe.disconnect()},[Re,xe]);const Ze=()=>{const ve=Ue.current;!ve||!Re||ve.scrollHeight-ve.scrollTop-ve.clientHeight<=240&&xe(!0)},et=!!(W&&x.length>0&&L&&!S&&!_);m.useEffect(()=>{const ve=lt.current,Ve=ze.current;if(!W||!ve||!Ve||!et)return;const Fe=new IntersectionObserver(([yt])=>{yt.isIntersecting&&V(W,!0)},{root:ze.current,rootMargin:"240px 0px",threshold:.01});return Fe.observe(ve),()=>Fe.disconnect()},[et,V,W==null?void 0:W.id,W==null?void 0:W.region]);const Jt=()=>{const ve=ze.current;if(!W||!ve||!Pe.current||De.current||_)return;const{scrollHeight:Ve,scrollTop:Fe,clientHeight:yt}=ve;Ve-Fe-yt<=240&&V(W,!0)},Ht=ve=>{r(Ve=>Ve.map(Fe=>We(Fe)===We(ve)?ve:Fe))},At=async()=>{if(le){J(!0);try{await W7e(le.id,le.region),r(ve=>ve.filter(Ve=>We(Ve)!==We(le))),R(ve=>ve===We(le)?"":ve),u===We(le)&&d(""),ge(null)}catch(ve){v(Sa(ve,"删除知识库失败")),ge(null)}finally{J(!1)}}},vt=async()=>{if(!(!W||!be)){J(!0);try{await iBe(W.id,be.id,W.region);const ve=Ne.current.filter(Ve=>Ve.id!==be.id);Ne.current=ve,w(ve),ce(null)}catch(ve){T(Sa(ve,"删除知识失败")),ce(null)}finally{J(!1)}}};return o.jsxs("section",{className:`knowledge-library${W?" is-detail":" my-agents-page"}`,"aria-label":"知识库",children:[W?o.jsxs("div",{className:"knowledge-library__detail",children:[o.jsxs("header",{className:"knowledge-detail-head",children:[o.jsxs("div",{className:"knowledge-detail-head__title",children:[o.jsx("button",{type:"button",className:"knowledge-back-button",onClick:()=>d(""),"aria-label":"返回知识库列表",children:o.jsx(wKe,{})}),o.jsxs("div",{children:[o.jsx("h2",{title:W.name,children:W.name}),o.jsx("p",{children:W.description||"暂无描述"})]})]}),W.canManage&&o.jsxs("div",{className:"knowledge-detail-head__actions",children:[o.jsx("button",{type:"button",onClick:()=>M(!0),children:"编辑"}),o.jsx("button",{type:"button",className:"is-danger",onClick:()=>ge(W),children:"删除"})]})]}),o.jsxs("dl",{className:"knowledge-detail-meta",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"Provider"}),o.jsx("dd",{children:W.providerType||"-"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"Knowledge ID"}),o.jsx("dd",{className:"knowledge-keyboard-reveal",tabIndex:0,title:W.providerKnowledgeId,children:W.providerKnowledgeId||"-"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"项目"}),o.jsx("dd",{children:W.projectName||"default"})]}),W.ownerLabel&&o.jsxs("div",{children:[o.jsx("dt",{children:"创建者"}),o.jsx("dd",{children:W.ownerLabel})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"更新时间"}),o.jsx("dd",{children:SKe(W.updatedAt)||"-"})]})]}),o.jsxs("section",{className:"knowledge-documents",children:[o.jsxs("header",{className:"knowledge-documents__head",children:[o.jsx("h3",{children:"数据"}),W.canManage&&o.jsxs("button",{type:"button",className:"knowledge-primary-button",disabled:ne,title:ne?"底层 Provider 知识库已不存在":void 0,onClick:()=>F(W),children:[o.jsx(Yq,{}),o.jsx("span",{children:ne?"关联已失效":"添加数据"})]})]}),o.jsx("div",{className:`knowledge-documents__body${x.length>0?" is-table":""}`,"aria-live":"polite",children:S&&x.length===0?o.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载数据"})]}):k&&x.length===0?o.jsxs("div",{className:"knowledge-library__state is-error",role:"alert",children:[o.jsx("p",{children:k}),ne&&W.canManage?o.jsx("button",{type:"button",onClick:()=>ge(W),children:"删除失效关联"}):o.jsx("button",{type:"button",onClick:()=>void V(W),children:"重试"})]}):x.length===0?o.jsxs("div",{className:"knowledge-library__state",children:[o.jsx(yKe,{}),o.jsx("p",{children:"这个知识库还没有数据"}),W.canManage&&o.jsx("button",{type:"button",onClick:()=>F(W),children:"添加第一项数据"})]}):o.jsxs("div",{ref:ze,className:"knowledge-document-table-wrap","aria-busy":S||void 0,onScroll:Jt,children:[o.jsxs("table",{className:"knowledge-document-table",children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{scope:"col",children:"名称"}),o.jsx("th",{scope:"col",children:"格式"}),o.jsx("th",{scope:"col",children:"大小"}),o.jsx("th",{scope:"col",className:"knowledge-document-table__actions-heading",children:"操作"})]})}),o.jsx("tbody",{children:x.map(ve=>o.jsxs("tr",{children:[o.jsx("td",{className:"knowledge-document-table__name",title:ve.name||ve.id,children:ve.name||ve.id}),o.jsx("td",{children:Nde(ve)}),o.jsx("td",{children:W$(ve.sizeBytes)}),o.jsx("td",{children:o.jsxs("div",{className:"knowledge-document-table__actions",children:[o.jsx(il,{content:"预览",compact:!0,children:o.jsx(_n,{type:"button",className:"knowledge-document-action-button",color:"secondary",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":`预览 ${ve.name||ve.id}`,onClick:()=>z(ve),children:o.jsx(b2e,{"aria-hidden":"true"})})}),W.canManage?o.jsxs(o.Fragment,{children:[o.jsx(il,{content:"编辑",compact:!0,children:o.jsx(_n,{type:"button",className:"knowledge-document-action-button",color:"secondary",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":`编辑 ${ve.name||ve.id}`,onClick:()=>q(ve),children:o.jsx(V4,{"aria-hidden":"true"})})}),o.jsx(il,{content:"删除",compact:!0,children:o.jsx(_n,{type:"button",className:"knowledge-document-action-button",color:"danger",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":`删除 ${ve.name||ve.id}`,onClick:()=>ce(ve),children:o.jsx(mne,{"aria-hidden":"true"})})})]}):null]})})]},ve.id))})]}),S?o.jsxs("div",{className:"knowledge-document-pagination",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载更多数据"})]}):_?o.jsxs("div",{className:"knowledge-document-pagination is-error",role:"alert",children:[o.jsx("span",{children:_}),o.jsx("button",{type:"button",onClick:()=>void V(W,!0),children:"重试加载"})]}):L?o.jsx("div",{ref:lt,className:"knowledge-document-pagination",role:"status","aria-live":"polite",children:"继续下滑加载更多"}):null]})})]})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"knowledge-library__toolbar my-agent-type-bar library-resource-toolbar",children:[o.jsx("div",{className:"knowledge-library__toolbar-actions library-resource-toolbar__controls",children:o.jsxs("button",{type:"button",className:"my-agent-create-primary",onClick:()=>j(!0),children:[o.jsx(Yq,{}),o.jsx("span",{children:"新建知识库"})]})}),o.jsxs("label",{className:"knowledge-library__search my-agent-search",children:[o.jsx(xKe,{}),o.jsx("input",{type:"search",value:f,onChange:ve=>h(ve.target.value),placeholder:"搜索知识库","aria-label":"搜索知识库"})]})]}),o.jsxs("div",{ref:Ue,className:"knowledge-library__results my-agent-results","aria-live":"polite",onScroll:Ze,children:[l.length>0&&!p&&o.jsxs("div",{className:"knowledge-region-warning",role:"status",children:[o.jsx("span",{children:"部分知识库暂时无法加载,已展示其余可用内容。"}),o.jsx("button",{type:"button",onClick:()=>void xe(),children:"重试"})]}),p&&i.length===0?o.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载知识库"})]}):y?o.jsxs("div",{className:"knowledge-library__state is-error",role:"alert",children:[o.jsx("p",{children:y}),o.jsx("button",{type:"button",onClick:()=>void xe(),children:"重试"})]}):de.length===0?o.jsxs("div",{className:"knowledge-library__state",children:[o.jsx(OKe,{}),o.jsx("p",{children:f.trim()?"没有匹配的知识库":"您还没有任何知识库"})]}):o.jsx("div",{className:"knowledge-library__grid my-agent-grid",children:de.map(ve=>o.jsx(qle,{className:"knowledge-card",title:ve.name,status:o.jsx("span",{className:`knowledge-status is-${ve.status.toLowerCase()}`,children:EKe(ve.status)}),description:ve.description||"暂无描述",metadata:[{label:"创建者",value:ve.ownerLabel||"—",title:ve.ownerLabel||"—"},{label:"项目",value:ve.projectName||"default",title:ve.projectName||"default"}],secondaryAction:{label:C===We(ve)?"关联已失效":"添加数据",disabled:!ve.canManage||C===We(ve),title:ve.canManage?C===We(ve)?"底层 Provider 知识库已不存在":void 0:"您没有管理此知识库的权限",onClick:()=>F(ve)},primaryAction:{label:"查看详情",onClick:()=>d(We(ve))},menuLabel:`更多知识库操作:${ve.name}`,menuAriaLabel:`${ve.name}知识库操作`,menuActions:[{label:"编辑知识库",disabled:!ve.canManage,title:ve.canManage?void 0:"您没有管理此知识库的权限",onClick:()=>{d(We(ve)),M(!0)}},{label:"删除知识库",danger:!0,disabled:!ve.canManage||Z,title:ve.canManage?void 0:"您没有管理此知识库的权限",onClick:()=>ge(ve)}]},We(ve)))}),Re||g?o.jsx("div",{ref:_e,className:"my-agent-load-more",role:"status","aria-live":"polite",children:g?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载更多知识库"})]}):Re?o.jsx("span",{children:"继续下滑加载更多"}):null}):null]})]}),$&&o.jsx(CKe,{onClose:()=>j(!1),onCreated:ve=>{r(Ve=>[ve,...Ve]),d(We(ve)),j(!1)}}),W&&P&&o.jsx(NKe,{item:W,onClose:()=>M(!1),onUpdated:ve=>{Ht(ve),M(!1)}}),W&&H&&o.jsx(UKe,{base:W,item:H,onClose:()=>z(null)}),U&&o.jsx(jKe,{base:U,onClose:()=>F(null),onAssociationInvalid:ve=>{R(We(U)),W&&We(W)===We(U)&&T(Sa(ve,"知识库关联已失效")),F(null)},onCreated:()=>{W&&We(W)===We(U)&&V(W),F(null)}}),W&&Q&&o.jsx(RKe,{base:W,item:Q,onClose:()=>q(null),onUpdated:ve=>{const Ve=Ne.current.map(Fe=>Fe.id===ve.id?ve:Fe);Ne.current=Ve,w(Ve),q(null)}}),le&&o.jsx(Bl,{title:"删除知识库?",description:`将删除 ${le.name} 的 AgentKit 关联;如果它由 Studio 创建,也会同时删除 Provider 资源。此操作无法撤销。`,confirmLabel:Z?"删除中":"删除",variant:"danger",busy:Z,onCancel:()=>ge(null),onConfirm:()=>void At()}),be&&o.jsx(Bl,{title:"删除知识?",description:`将从 Provider 知识库中删除 ${be.name||be.id},此操作无法撤销。`,confirmLabel:Z?"删除中":"删除",variant:"danger",busy:Z,onCancel:()=>ce(null),onConfirm:()=>void vt()})]})}const VKe="_EmptyMessage_1r5gu_1",qKe="_IconBadge_1r5gu_16",HKe="_Title_1r5gu_54",XKe="_Description_1r5gu_69",GKe="_ActionRow_1r5gu_77",bw={EmptyMessage:VKe,IconBadge:qKe,Title:HKe,Description:XKe,ActionRow:GKe},on=({children:e,className:t,fill:n="static"})=>o.jsx("div",{className:Qi(bw.EmptyMessage,t),"data-fill":n,children:e}),YKe=({size:e="md",color:t="secondary",children:n,className:i})=>o.jsx("div",{className:Qi(bw.IconBadge,i),"data-size":e,"data-color":t,children:n}),WKe=({children:e,className:t,color:n="secondary"})=>o.jsx("div",{className:Qi(bw.Title,t),"data-color":n,children:e}),ZKe=({children:e,className:t})=>o.jsx("div",{className:Qi(bw.Description,t),children:e}),KKe=({children:e,className:t})=>o.jsx("div",{className:Qi(bw.ActionRow,t),children:e});on.Icon=YKe;on.Title=WKe;on.Description=ZKe;on.ActionRow=KKe;const JKe="/web/skill-management";class eJe extends Error{constructor(t,n,i="SKILL_MANAGEMENT_ERROR",r="",s,a=""){super(t),this.status=n,this.code=i,this.statusText=r,this.originalError=s,this.rawResponse=a,this.name="SkillManagementApiError"}}async function lf(e,t={},n=wo){return fetch(go(`${JKe}${e}`),{...t,headers:Gh(t.headers),signal:So(t.signal,n)})}async function Mde(e,t){let n=t,i="SKILL_MANAGEMENT_ERROR",r;const s=await e.text().catch(()=>"");try{const a=JSON.parse(s);typeof a.detail=="string"?n=a.detail:a.detail&&(n=a.detail.message||t,i=a.detail.code||i,r=a.detail.originalError)}catch{s.trim()&&(n=`${t}:${s.trim()}`)}return new eJe(n,e.status,i,e.statusText,r,s)}async function cf(e,t){if(!e.ok)throw await Mde(e,t);return e.json()}async function tJe(e){const t=new URLSearchParams({region:e.region,page:String(e.page),page_size:String(e.pageSize)});return e.project&&t.set("project",e.project),cf(await lf(`/spaces?${t}`,{signal:e.signal}),"读取 Skill 空间失败")}async function nJe(e){return cf(await lf("/spaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),"创建 Skill 空间失败")}async function iJe(e){return cf(await lf(`/spaces/${encodeURIComponent(e.spaceId)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.name,description:e.description,region:e.region})}),"更新 Skill 空间失败")}async function rJe(e){const t=new URLSearchParams({region:e.region});await cf(await lf(`/spaces/${encodeURIComponent(e.spaceId)}?${t}`,{method:"DELETE"}),"删除 Skill 空间失败")}async function sJe(e){const t=new URLSearchParams({region:e.region});return e.project&&t.set("project",e.project),cf(await lf(`/spaces/${encodeURIComponent(e.spaceId)}/skills?${t}`,{method:"POST",headers:{"Content-Type":"application/zip"},body:e.file},Nr),"上传 Skill 失败")}async function aJe(e){return cf(await lf("/validate",{method:"POST",headers:{"Content-Type":"application/zip"},body:e},Nr),"校验 Skill 失败")}async function oJe(e){const t=new URLSearchParams({region:e.region});await cf(await lf(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}?${t}`,{method:"DELETE"}),"删除 Skill 失败")}async function lJe(e){const t=new URLSearchParams({region:e.region});e.version&&t.set("version",e.version),e.skillSpaceName&&t.set("skill_space_name",e.skillSpaceName),e.skillName&&t.set("skill_name",e.skillName);const n=await cf(await lf(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}/files?${t}`),"读取 Skill 文件失败");return Array.isArray(n.files)?n.files:[]}async function cJe(e){var l;const t=new URLSearchParams({region:e.region});e.version&&t.set("version",e.version),e.skillSpaceName&&t.set("skill_space_name",e.skillSpaceName),e.skillName&&t.set("skill_name",e.skillName);const n=await lf(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}/archive?${t}`,{},Nr);n.ok||await cf(n,"下载 Skill 失败");const r=((l=(n.headers.get("content-disposition")||"").match(/filename="([^"]+)"/))==null?void 0:l[1])||`${e.fallbackName}.zip`,s=URL.createObjectURL(await n.blob()),a=document.createElement("a");a.href=s,a.download=r,a.click(),URL.revokeObjectURL(s)}async function oC(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:So(void 0,wo)});if(!t.ok)throw await Mde(t,"AgentKit Skills 请求失败");return t.json()}async function Lde(){return(await oC("/web/skill-spaces?region=all")).items||[]}async function $de(e,t){const n=t?`?region=${encodeURIComponent(t)}`:"";return(await oC(`/web/skill-spaces/${encodeURIComponent(e)}/skills${n}`)).items||[]}async function uJe(e,t){const n=new URLSearchParams({region:t.region,page:String(t.page),page_size:String(t.pageSize)});return t.project&&n.set("project",t.project),oC(`/web/skill-spaces/${encodeURIComponent(e)}/skills?${n.toString()}`)}async function dJe(e,t,n,i,r,s,a){const l=[];n&&l.push(`version=${encodeURIComponent(n)}`),i&&l.push(`region=${encodeURIComponent(i)}`),r&&l.push(`project=${encodeURIComponent(r)}`),s&&l.push(`skill_name=${encodeURIComponent(s)}`),a&&l.push(`skill_space_name=${encodeURIComponent(a)}`);const c=l.length>0?`?${l.join("&")}`:"";return oC(`/web/skill-spaces/${encodeURIComponent(e)}/skills/${encodeURIComponent(t)}${c}`)}function fJe(e,t){return{source:"skillspace",id:`ss:${e.id}/${t.skillId}/${t.version}`,name:t.skillName,description:t.skillDescription,folder:t.skillName,skillSpaceId:e.id,skillSpaceName:e.name,skillSpaceRegion:e.region,skillId:t.skillId,version:t.version}}function hJe(e,t,n="volcengine"){return n==="byteplus"?"":`https://console.volcengine.com/agentkit/${(t||"cn-beijing")==="cn-beijing"?"cn":"cn-shanghai"}/skillspace/detail/${encodeURIComponent(e)}`}const pJe="/web/skill-workbench";class kM extends Error{constructor(t,n,i="SKILL_WORKBENCH_ERROR",r=!1,s="",a,l=""){super(t),this.status=n,this.code=i,this.retryable=r,this.statusText=s,this.originalError=a,this.rawResponse=l,this.name="SkillWorkbenchApiError"}}function Fl(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`${t}格式错误。`);return e}function Zq(e,t){if(e!=null){if(typeof e!="string"||!e.trim()||e.trim().length>256)throw new Error(`${t}格式错误。`);return e.trim()}}function mJe(e){if(e!=null){if(e==="pending"||e==="ready"||e==="failed"||e==="unknown")return e;throw new Error("Skill 恢复点状态格式错误。")}}async function _u(e,t={},n=wo){return fetch(go(`${pJe}${e}`),{...t,headers:Gh(t.headers),signal:So(t.signal,n)})}async function Z$(e,t){var i;const n=await e.text().catch(()=>"");try{const r=Fl(JSON.parse(n),"错误响应"),s=r.detail&&typeof r.detail=="object"?Fl(r.detail,"错误详情"):r;return new kM(typeof s.message=="string"?s.message:t,e.status,typeof s.code=="string"?s.code:"SKILL_WORKBENCH_ERROR",s.retryable===!0,e.statusText,s.originalError&&typeof s.originalError=="object"?s.originalError:void 0,n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失";return new kM(`${t}(HTTP ${e.status},Content-Type: ${r})。请检查代理或网关配置。`,e.status,"SKILL_WORKBENCH_ERROR",!1,e.statusText,void 0,n)}}async function Mh(e,t){if(!e.ok)throw await Z$(e,t);const n=e.headers.get("content-type")??"";if(!n.includes("application/json")){const i=n.split(";",1)[0]||"Content-Type 缺失";throw new Error(`${t}:服务端返回非 JSON 响应(HTTP ${e.status},Content-Type: ${i}),请检查代理或网关配置。`)}return e.json()}function gJe(e){return Array.isArray(e)?e.map(t=>{const n=Fl(t,"Skill 会话活动"),i=n.kind,r=n.status;if(typeof n.id!="string"||!["status","thinking","message","tool"].includes(String(i))||!["running","done"].includes(String(r)))throw new Error("Skill 会话活动格式错误。");if(i==="tool"){if(typeof n.name!="string")throw new Error("Skill 工具活动格式错误。");return{id:n.id,kind:i,status:r,name:n.name,...n.input!==void 0?{args:n.input}:{},...n.output!==void 0?{response:n.output}:{}}}if(typeof n.text!="string")throw new Error("Skill 文本活动格式错误。");return{id:n.id,kind:i,status:r,text:n.text}}):[]}function bJe(e){if(e==null)return;const t=Fl(e,"Skill 发布结果");if(typeof t.revision!="number"||typeof t.skillId!="string"||typeof t.version!="string"||!Array.isArray(t.skillSpaceIds)||!t.skillSpaceIds.every(n=>typeof n=="string")||t.disposition!=="create-new"&&t.disposition!=="update-source"||!J4(t.region)||typeof t.projectName!="string")throw new Error("Skill 发布结果格式错误。");return{revision:t.revision,skillId:t.skillId,version:t.version,skillSpaceIds:t.skillSpaceIds,disposition:t.disposition,region:t.region,projectName:t.projectName}}function Zx(e){const t=Fl(e,"Skill 会话");if(typeof t.jobId!="string"||t.operation!=="create"&&t.operation!=="optimize"||typeof t.intent!="string"||typeof t.revision!="number"||typeof t.state!="string")throw new Error("Skill 会话格式错误。");const n=Array.isArray(t.files)?t.files.flatMap(l=>{const c=Fl(l,"Skill 文件");return typeof c.path=="string"&&typeof c.size=="number"?[{path:c.path,size:c.size}]:[]}):[];if(!["running","ready","failed","cancelled","expired","published"].includes(t.state))throw new Error("Skill 会话状态无法识别。");const r=Zq(t.toolId,"Tool ID"),s=Zq(t.sessionId,"Session ID"),a=mJe(t.recoveryStatus);return{jobId:t.jobId,operation:t.operation,intent:t.intent,...typeof t.model=="string"?{model:t.model}:{},...typeof t.style=="string"?{style:t.style}:{},...typeof t.requestedName=="string"?{requestedName:t.requestedName}:{},revision:t.revision,...r?{toolId:r}:{},...s?{sessionId:s}:{},...typeof t.sessionTtlSeconds=="number"?{sessionTtlSeconds:t.sessionTtlSeconds}:{},...typeof t.expiresAt=="string"?{expiresAt:t.expiresAt}:{},...typeof t.recoveryAvailable=="boolean"?{recoveryAvailable:t.recoveryAvailable}:{},...a?{recoveryStatus:a}:{},...typeof t.recoveredFromSnapshot=="boolean"?{recoveredFromSnapshot:t.recoveredFromSnapshot}:{},state:t.state,stage:typeof t.stage=="string"?t.stage:"generating",activities:gJe(t.activities),files:n,...t.source&&typeof t.source=="object"?{source:t.source}:{},...typeof t.name=="string"?{name:t.name}:{},...typeof t.description=="string"?{description:t.description}:{},...typeof t.skillMd=="string"?{skillMd:t.skillMd}:{},...typeof t.error=="string"?{error:t.error}:{},...t.validation&&typeof t.validation=="object"?{validation:t.validation}:{},...t.publication?{publication:bJe(t.publication)}:{}}}async function lC(e){const t=Fl(await Mh(await _u("/capabilities",{signal:e}),"读取 Skill 工作台能力失败"),"Skill 工作台能力");return{enabled:t.enabled===!0,reason:typeof t.reason=="string"?t.reason:"",operations:Array.isArray(t.operations)?t.operations.filter(n=>n==="create"||n==="optimize"):[],models:Array.isArray(t.models)?t.models.flatMap(n=>{if(!n||typeof n!="object")return[];const i=n;return typeof i.id=="string"&&typeof i.label=="string"?[{id:i.id,label:i.label}]:[]}):[],styles:t.styles&&typeof t.styles=="object"&&!Array.isArray(t.styles)?Object.fromEntries(Object.entries(t.styles).filter(n=>typeof n[1]=="string")):{},...typeof t.maxUploadBytes=="number"?{maxUploadBytes:t.maxUploadBytes}:{}}}async function OJe(e){if(e.file){const n=new URLSearchParams({operation:"optimize",intent:e.intent});e.jobId&&n.set("job_id",e.jobId),e.model&&n.set("model",e.model),e.style&&n.set("style",e.style),e.name&&n.set("name",e.name);const i=await _u(`/tasks/from-upload?${n}`,{method:"POST",body:e.file,headers:{"Content-Type":"application/zip"},signal:e.signal},Nr);return Zx(await Mh(i,"开始优化 Skill 失败"))}const t=await _u("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({operation:e.operation,intent:e.intent,...e.model?{model:e.model}:{},...e.style?{style:e.style}:{},...e.name?{name:e.name}:{},...e.jobId?{jobId:e.jobId}:{},...e.source?{source:{kind:"skill-center",skillId:e.source.skillId,skillName:e.source.name,version:e.source.version,region:e.source.region,projectName:e.source.projectName,skillSpaceId:e.source.skillSpaceId,skillSpaceName:e.source.skillSpaceName}}:{}}),signal:e.signal},Nr);return Zx(await Mh(t,"开始 Skill 会话失败"))}async function yJe(e,t){return Zx(await Mh(await _u(`/tasks/${encodeURIComponent(e)}`,{signal:t}),"读取 Skill 会话失败"))}async function UR(e,t,n){const i=new URLSearchParams;i.set("expected_revision",String(t));const r=Fl(await Mh(await _u(`/tasks/${encodeURIComponent(e)}/artifact?${i.toString()}`,{signal:n}),"读取 Skill 产物失败"),"Skill 产物");if(r.jobId!==e||r.revision!==t||!Number.isSafeInteger(r.revision)||r.revision<1||typeof r.sha256!="string"||!/^[0-9a-f]{64}$/.test(r.sha256)||typeof r.name!="string"||typeof r.description!="string"||!Array.isArray(r.files))throw new Error("Skill 产物格式错误。");const s=r.files.map(a=>{const l=Fl(a,"Skill 产物文件");if(typeof l.path!="string"||typeof l.size!="number"||typeof l.content!="string")throw new Error("Skill 产物文件格式错误。");return{path:l.path,size:l.size,content:l.content}});return{jobId:r.jobId,revision:r.revision,sha256:r.sha256,name:r.name,description:r.description,files:s}}async function zR(e){const t=await _u(`/tasks/${encodeURIComponent(e.jobId)}/refinements`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({intent:e.intent,expectedRevision:e.expectedRevision})},Nr);return Zx(await Mh(t,"继续调整 Skill 失败"))}async function xJe(e){const t=await _u(`/tasks/${encodeURIComponent(e.jobId)}/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expectedRevision:e.expectedRevision})});return Zx(await Mh(t,"停止当前 Skill 任务失败"))}async function vJe(e){const t=await _u(`/tasks/${encodeURIComponent(e.jobId)}/publish-stream`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/x-ndjson"},body:JSON.stringify({disposition:e.disposition,expectedRevision:e.expectedRevision,expectedArtifactSha256:e.expectedArtifactSha256,skillSpaceIds:e.skillSpaceIds??[],projectName:e.projectName,region:e.region}),signal:e.signal},0);if(!t.ok)throw await Z$(t,"发布 Skill 失败");if(!(t.headers.get("content-type")??"").includes("application/x-ndjson"))throw new Error("发布 Skill 失败:服务端返回了非 NDJSON 响应。");if(!t.body)throw new Error("发布 Skill 失败:服务端没有返回进度流。");const i=new Set(["preparing","uploading","registering","activating","publishing"]);let r=null,s="";const a=new TextDecoder,l=t.body.getReader(),c=u=>{var h;if(!u.trim())return;const d=Fl(JSON.parse(u),"发布进度");if(d.type==="progress"){if(typeof d.phase!="string"||!i.has(d.phase)||typeof d.message!="string")throw new Error("发布进度格式错误。");(h=e.onProgress)==null||h.call(e,{phase:d.phase,message:d.message});return}if(d.type==="error"){const p=Fl(d.error,"发布错误");throw new kM(typeof p.message=="string"?p.message:"发布 Skill 失败",500,typeof p.code=="string"?p.code:"SKILL_PUBLISH_FAILED",p.retryable===!0,"",p.originalError&&typeof p.originalError=="object"?p.originalError:void 0,JSON.stringify(d.error))}if(d.type!=="complete")throw new Error("未知的发布进度事件。");const f=Fl(d.result,"发布结果");if(typeof f.skillId!="string"||typeof f.version!="string"||!Array.isArray(f.skillSpaceIds)||!f.skillSpaceIds.every(p=>typeof p=="string")||f.disposition!=="create-new"&&f.disposition!=="update-source"||!J4(f.region)||typeof f.projectName!="string")throw new Error("发布结果格式错误。");r={skillId:f.skillId,version:f.version,skillSpaceIds:f.skillSpaceIds,disposition:f.disposition,region:f.region,projectName:f.projectName}};for(;;){const{value:u,done:d}=await l.read();s+=a.decode(u,{stream:!d});const f=s.split(` `);if(s=f.pop()??"",f.forEach(c),d)break}if(c(s),!r)throw new Error("发布进度流提前结束,无法确认发布结果。请刷新技能中心确认状态。");return r}async function wJe(e){await Mh(await _u(`/tasks/${encodeURIComponent(e)}`,{method:"DELETE"}),"删除 Skill 会话失败")}async function SJe(e,t,n){var c;const i=new URLSearchParams;i.set("expected_revision",String(t)),i.set("expected_sha256",n);const r=await _u(`/tasks/${encodeURIComponent(e)}/download?${i.toString()}`,{},Nr);if(!r.ok)throw await Z$(r,"下载 Skill 失败");const a=((c=(r.headers.get("content-disposition")??"").match(/filename="([^"]+)"/))==null?void 0:c[1])??"skill.zip",l=URL.createObjectURL(await r.blob());try{const u=document.createElement("a");u.href=l,u.download=a,u.click()}finally{URL.revokeObjectURL(l)}}const EJe={formatDate(e){const t=e.value??e.date??e.timestamp;if(t==null)return"";const n=new Date(t);return isNaN(n.getTime())?String(t):n.toLocaleString()}};function kJe(e,t){if(!t||t==="/")return e;const n=t.replace(/^\//,"").split("/").map(r=>r.replace(/~1/g,"/").replace(/~0/g,"~"));let i=e;for(const r of n){if(i==null||typeof i!="object")return;i=i[r]}return i}function TJe(e){return typeof e=="object"&&e!==null&&typeof e.path=="string"}function _Je(e){return typeof e=="object"&&e!==null&&typeof e.call=="string"}function K$(e,t){if(TJe(e))return kJe(t,e.path);if(_Je(e)){const n=EJe[e.call],i={};for(const[r,s]of Object.entries(e.args??{}))i[r]=K$(s,t);return n?n(i):`[unknown fn: ${e.call}]`}return e}function AJe(e,t){const n=K$(e,t);return n==null?"":typeof n=="string"?n:String(n)}const Bde=new Map;function Km(e,t){Bde.set(e,t)}function CJe(e){return Bde.get(e)}function NJe(e,t,n){const i=t.replace(/^\//,"").split("/").map(s=>s.replace(/~1/g,"/").replace(/~0/g,"~"));let r=e;for(let s=0;sK$(i,e.dataModel),resolveString:i=>AJe(i,e.dataModel),dispatchAction:t,render:i=>{if(!i)return null;const r=e.components[i];if(!r)return null;const s=CJe(r.component)??jJe;return o.jsx(s,{node:r,ctx:n},i)}};return o.jsx("div",{className:"a2ui-surface","data-a2ui-surface":e.surfaceId,children:n.render(e.rootId)})}function Fde(e){const t=m.useRef(null),n=m.useRef(!0),i=28,r=m.useCallback(()=>{const s=t.current;s&&(n.current=s.scrollHeight-s.scrollTop-s.clientHeight{const s=t.current;s&&n.current&&(s.scrollTop=s.scrollHeight)},[e]),{ref:t,onScroll:r}}function cC({value:e,skillPrefix:t="/",onRemoveSkill:n,onRemoveAgent:i}){return e.skills.length===0&&!e.targetAgent?null:o.jsxs("div",{className:"invocation-chips","aria-label":"本轮调用上下文",children:[e.skills.map(r=>o.jsxs("span",{className:"invocation-chip invocation-chip--skill",title:r.description,children:[o.jsx(Ex,{"aria-hidden":!0}),o.jsxs("span",{children:[t,r.name]}),n?o.jsx("button",{type:"button",onClick:()=>n(r.name),"aria-label":`移除技能 ${r.name}`,children:o.jsx(Ga,{})}):null]},r.name)),e.targetAgent?o.jsxs("span",{className:"invocation-chip invocation-chip--agent",title:e.targetAgent.description,children:[o.jsx(vne,{"aria-hidden":!0}),o.jsx("span",{children:e.targetAgent.name}),i?o.jsx("button",{type:"button",onClick:i,"aria-label":`移除 Agent ${e.targetAgent.name}`,children:o.jsx(Ga,{})}):null]}):null]})}function J$(e=""){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e==="application/pdf"?"pdf":e==="text/markdown"?"markdown":"text"}function Ude(e){var n,i,r,s;const t=J$(e.mimeType);return t==="pdf"?"PDF":t==="markdown"?"MD":t==="video"?((i=(n=e.mimeType)==null?void 0:n.split("/")[1])==null?void 0:i.toUpperCase())??"VIDEO":t==="image"?((s=(r=e.mimeType)==null?void 0:r.split("/")[1])==null?void 0:s.toUpperCase())??"IMAGE":"TXT"}function zde(e){return e?e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`:""}function Vde(e,t){return e.previewUrl?e.previewUrl:e.data?`data:${e.mimeType??"application/octet-stream"};base64,${e.data}`:e.uri?rie(t,e.uri):""}function IJe({kind:e}){return e==="image"?o.jsx(Y4,{}):e==="video"?o.jsx(kne,{}):e==="pdf"?o.jsx(L2e,{}):o.jsx(X4,{})}function uC({appName:e,items:t,compact:n=!1,onRemove:i}){const[r,s]=m.useState(null);return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`media-grid${n?" media-grid--compact":""}`,children:t.map(a=>{const l=J$(a.mimeType),c=Vde(a,e),u=a.status==="uploading"||a.status==="error"||!c,d=o.jsxs("button",{type:"button",className:"media-card-main",disabled:u,onClick:l==="image"?void 0:()=>s(a),"aria-label":`预览 ${a.name??"附件"}`,children:[l==="image"&&c?o.jsx("img",{className:"media-card-image",src:c,alt:a.name??"图片",loading:"lazy"}):l==="video"&&c?o.jsxs("div",{className:"media-card-video-container",children:[o.jsx("video",{className:"media-card-video",src:c,muted:!0,playsInline:!0,preload:"metadata","aria-hidden":"true"}),o.jsx("span",{className:"media-card-video-play",children:o.jsx(G2e,{})})]}):o.jsx("span",{className:"media-card-icon",children:o.jsx(IJe,{kind:l})}),o.jsxs("span",{className:"media-card-copy",children:[o.jsx("span",{className:"media-card-name",children:a.name??"附件"}),o.jsxs("span",{className:"media-card-meta",children:[o.jsx("span",{className:"media-card-type",children:Ude(a)}),a.status==="uploading"?o.jsxs(o.Fragment,{children:[o.jsx(ri,{className:"media-card-spinner"})," 上传中"]}):a.status==="error"?a.error??"上传失败":zde(a.sizeBytes)]})]}),!n&&a.status!=="uploading"&&a.status!=="error"?o.jsx(P0,{className:"media-card-open"}):null]});return o.jsxs(Gr.div,{className:`media-card media-card--${l}${a.status==="error"?" media-card--error":""}`,layout:!0,initial:{opacity:0,scale:.985,y:4},animate:{opacity:1,scale:1,y:0},children:[l==="image"&&!u?o.jsx(fne,{src:c,children:d}):d,i?o.jsx("button",{type:"button",className:"media-card-remove","aria-label":`移除 ${a.name??"附件"}`,onClick:()=>i(a.id),children:o.jsx(Ga,{})}):null]},a.id)})}),o.jsx(mh,{children:r?o.jsx(DJe,{appName:e,item:r,onClose:()=>s(null)}):null})]})}function DJe({appName:e,item:t,onClose:n}){const i=m.useMemo(()=>Vde(t,e),[e,t]),r=J$(t.mimeType),[s,a]=m.useState(""),[l,c]=m.useState(r==="text"||r==="markdown"),[u,d]=m.useState("");return m.useEffect(()=>{const f=h=>{h.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[n]),m.useEffect(()=>{if(r!=="text"&&r!=="markdown")return;const f=new AbortController;return c(!0),d(""),fetch(i,{signal:f.signal}).then(h=>{if(!h.ok)throw new Error(`HTTP ${h.status}`);return h.text()}).then(a).catch(h=>{f.signal.aborted||d(h instanceof Error?h.message:String(h))}).finally(()=>{f.signal.aborted||c(!1)}),()=>f.abort()},[r,i]),o.jsx(Gr.div,{className:"media-viewer-backdrop",role:"dialog","aria-modal":"true","aria-label":t.name??"附件预览",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onMouseDown:f=>{f.target===f.currentTarget&&n()},children:o.jsxs(Gr.div,{className:"media-viewer",initial:{opacity:0,y:18,scale:.985},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:10,scale:.99},transition:{type:"spring",stiffness:420,damping:30},children:[o.jsxs("header",{className:"media-viewer-header",children:[o.jsxs("div",{children:[o.jsx("strong",{children:t.name??"附件"}),o.jsxs("span",{children:[Ude(t),t.sizeBytes?` · ${zde(t.sizeBytes)}`:""]})]}),o.jsxs("nav",{children:[o.jsx("a",{href:i,download:t.name,"aria-label":"下载",children:o.jsx(sA,{})}),o.jsx("button",{type:"button",onClick:n,"aria-label":"关闭",children:o.jsx(Ga,{})})]})]}),o.jsxs("div",{className:`media-viewer-body media-viewer-body--${r}`,children:[r==="image"?o.jsx("img",{src:i,alt:t.name??"图片"}):null,r==="video"?o.jsx("div",{className:"media-viewer-video-wrapper",children:o.jsx("video",{src:i,controls:!0,autoPlay:!0,playsInline:!0,preload:"auto",className:"media-viewer-video"})}):null,r==="pdf"?o.jsx("iframe",{src:i,title:t.name??"PDF"}):null,l?o.jsxs("div",{className:"media-viewer-loading",children:[o.jsx(ri,{})," 正在读取文档…"]}):null,!l&&u?o.jsxs("div",{className:"media-viewer-loading",children:["文档加载失败:",u]}):null,!l&&r==="markdown"?o.jsx("div",{className:"media-document",children:o.jsx(Tu,{text:s})}):null,!l&&r==="text"?o.jsx("pre",{className:"media-document media-document--plain",children:s}):null]})]})})}function PJe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"10.25",cy:"10.25",r:"6.25"}),o.jsx("path",{d:"M4.15 10.25h12.2M10.25 4c1.65 1.72 2.5 3.8 2.5 6.25s-.85 4.53-2.5 6.25M10.25 4c-1.65 1.72-2.5 3.8-2.5 6.25s.85 4.53 2.5 6.25M14.8 14.8 20 20"})]})}function MJe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.25",y:"5.25",width:"15.5",height:"13.5",rx:"2.25"}),o.jsx("circle",{cx:"8.1",cy:"9.3",r:"1.35"}),o.jsx("path",{d:"m4.7 16.5 3.65-3.7 2.45 2.25 2.2-2.2 4.35 4.1"}),o.jsx("path",{d:"m19.4 2.75.48 1.37 1.37.48-1.37.48-.48 1.37-.48-1.37-1.37-.48 1.37-.48.48-1.37Z",fill:"currentColor",stroke:"none"})]})}function e8(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{className:"video-generate-icon__body",d:"M3.25 9h17.5v7.35a2.4 2.4 0 0 1-2.4 2.4H5.65a2.4 2.4 0 0 1-2.4-2.4V9Z"}),o.jsxs("g",{className:"video-generate-icon__clapper",children:[o.jsx("path",{d:"M3.25 9V7.65a2.4 2.4 0 0 1 2.4-2.4h12.7a2.4 2.4 0 0 1 2.4 2.4V9H3.25Z"}),o.jsx("path",{d:"M6.75 5.25 9.3 9M12 5.25 14.55 9M17.25 5.25 19.8 9"})]}),o.jsx("path",{d:"m10.25 11.45 4 2.55-4 2.55v-5.1Z"})]})}function LJe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M4.25 5.25h15.5v10.5H4.25zM8.25 19.75h7.5M12 15.75v4"}),o.jsx("path",{d:"m7.25 12.75 2.35-2.4 2.15 1.65 3.4-3.6 1.6 1.55"}),o.jsx("circle",{cx:"7.25",cy:"8.4",r:".7",fill:"currentColor",stroke:"none"})]})}function $Je(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M5 7.4c0-1.55 3.13-2.8 7-2.8s7 1.25 7 2.8-3.13 2.8-7 2.8-7-1.25-7-2.8Z"}),o.jsx("path",{d:"M5 7.4v4.55c0 1.55 3.13 2.8 7 2.8s7-1.25 7-2.8V7.4M5 11.95v4.55c0 1.55 3.13 2.8 7 2.8s7-1.25 7-2.8v-4.55"}),o.jsx("path",{d:"M8.2 12.25h.01M8.2 16.8h.01"})]})}function BJe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M4.25 4.25h4.5v15.5h-4.5zM8.75 5.75h5v14h-5zM13.75 4.25h4.1v10.25h-4.1z"}),o.jsx("path",{d:"M5.75 7h1.5M10.25 8.25h2M10.25 11h2M15.15 7h1.3"}),o.jsx("circle",{cx:"17.45",cy:"17.35",r:"2.45"}),o.jsx("path",{d:"m19.25 19.15 1.55 1.55"})]})}function QJe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M4.25 6.25h6.25c1 0 1.5.55 1.5 1.45v11.05c0-.9-.5-1.45-1.5-1.45H4.25V6.25Z"}),o.jsx("path",{d:"M19.75 9.1v8.2H13.5c-1 0-1.5.55-1.5 1.45V7.7c0-.9.5-1.45 1.5-1.45h2.15"}),o.jsx("path",{d:"m19 3.2.58 1.62 1.62.58-1.62.58L19 7.6l-.58-1.62-1.62-.58 1.62-.58L19 3.2Z",fill:"currentColor",stroke:"none"})]})}function FJe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"m4.2 8.4 1.15 10.2h13.3L19.8 8.4"}),o.jsx("path",{d:"M4.2 8.4h15.6L17.9 5H6.1L4.2 8.4Z"}),o.jsx("path",{d:"M7.2 12.2c1.1-1 2.25 1.25 3.4.25 1.05-.9 2.15 1.3 3.3.25"}),o.jsx("path",{d:"m8.2 15.1 1.45 1.35 1.45-1.35M13.55 16.45h2.35"})]})}function t8(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m6 3.25 4.5 4.75L6 12.75"})})}function UJe({definition:e,label:t,done:n,open:i,onToggle:r}){const s=e.icon,a=t??(n?e.doneLabel:e.runningLabel);return o.jsxs("button",{type:"button",className:`builtin-tool-head${n?" is-done":" is-running"}`,"data-tool-tone":e.tone,onClick:r,"aria-expanded":i,children:[o.jsx("span",{className:"builtin-tool-icon","aria-hidden":"true",children:o.jsx(s,{})}),n?o.jsx("span",{className:"builtin-tool-label",children:a}):o.jsx(Rn,{className:"builtin-tool-label",duration:2.4,spread:18,"aria-live":"polite",children:a}),o.jsx(t8,{className:`builtin-tool-chevron${i?" is-open":""}`})]})}const zJe={web_search:{name:"web_search",runningLabel:"正在进行网络搜索",doneLabel:"已完成网络搜索",tone:"search",icon:PJe},run_code:{name:"run_code",runningLabel:"正在 AgentKit 沙箱中执行代码",doneLabel:"已在 AgentKit 沙箱中完成代码执行",tone:"sandbox",icon:FJe},image_generate:{name:"image_generate",runningLabel:"正在生成图片",doneLabel:"已完成图片生成",tone:"image",icon:MJe},video_generate:{name:"video_generate",runningLabel:"正在生成视频",doneLabel:"已完成视频生成",tone:"video",icon:e8},ppt_generate:{name:"ppt_generate",runningLabel:"正在生成 PPT",doneLabel:"已完成 PPT 生成",tone:"presentation",icon:LJe},load_memory:{name:"load_memory",runningLabel:"正在检索长期记忆",doneLabel:"已完成记忆检索",tone:"memory",icon:$Je},load_knowledgebase:{name:"load_knowledgebase",runningLabel:"正在检索知识库",doneLabel:"已完成知识库检索",tone:"knowledge",icon:BJe},load_skill:{name:"load_skill",runningLabel:"正在加载技能",doneLabel:"已加载技能",tone:"skill",icon:QJe}};function VJe(e){return zJe[e]}function qde(e){return o.jsx("svg",{viewBox:"0 0 111 117",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"M0 5.6016C7.82288e-05 0.621244 6.02226 -1.87314 9.54395 1.64847L40.1289 32.2334L68.5732 3.7891C69.5834 2.77903 70.9533 2.21099 72.3818 2.21097H82.7031C82.7917 2.20658 82.8806 2.20414 82.9697 2.20414H104.775C109.574 2.20427 111.977 8.00691 108.584 11.4004L64.916 55.0664C64.3075 55.8528 63.9436 56.7647 63.8242 57.6993C63.7142 56.4884 63.1964 55.3069 62.2695 54.3799L45.4082 37.5186H45.4072L40.124 32.2354L17.832 54.5284C16.7671 55.5933 16.2416 56.993 16.2549 58.3887C16.2417 59.7843 16.7672 61.1842 17.832 62.2491L39.9287 84.3467L9.54395 114.733C6.0223 118.255 0.000223474 115.761 0 110.78V5.6016ZM63.8018 58.8702C63.8962 59.9086 64.2936 60.9229 64.9961 61.7735L108.591 105.368C111.984 108.762 109.58 114.564 104.781 114.564H94.4336C94.3543 114.568 94.274 114.569 94.1934 114.569H72.3877C70.9592 114.569 69.5892 114.002 68.5791 112.992L39.9336 84.3467L58.4531 65.8282L58.4453 65.8203L62.2695 61.9981C63.1476 61.12 63.6567 60.0136 63.8018 58.8702Z",fill:"currentColor"})})}function qJe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M6 3h8l4 4v14H6Z"}),o.jsx("path",{d:"M14 3v5h5"}),o.jsx("path",{d:"m10 12-2 2 2 2M14 12l2 2-2 2"})]})}function HJe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M12 3 19 6v5c0 4.6-2.8 7.8-7 10-4.2-2.2-7-5.4-7-10V6l7-3Z"}),o.jsx("path",{d:"m9 12 2 2 4-4"})]})}const XJe=m.lazy(()=>Id(()=>Promise.resolve().then(()=>T9),void 0));function GJe(e){const t={name:"",children:new Map};for(const n of e){const i=n.path.split("/").filter(Boolean);let r=t;i.forEach((s,a)=>{let l=r.children.get(s);l||(l={name:s,children:new Map},r.children.set(s,l)),a===i.length-1&&(l.path=n.path),r=l})}return t}function YJe(e,t=!1){return[...e.children.values()].sort((n,i)=>{const r=n.children.size>0&&n.path===void 0,s=i.children.size>0&&i.path===void 0;return r!==s?t?r?1:-1:r?-1:1:n.name.localeCompare(i.name)})}function n8({project:e,open:t,onClose:n,onChange:i,readOnly:r=!1}){var g;const[s,a]=m.useState(((g=e.files[0])==null?void 0:g.path)??null),[l,c]=m.useState(new Set),u=m.useRef(null),d=m.useMemo(()=>GJe(e.files),[e.files]),f=e.files.find(O=>O.path===s)??null;if(m.useEffect(()=>{var v;if(!t)return;const O=document.body.style.overflow;document.body.style.overflow="hidden",(v=u.current)==null||v.focus();const y=x=>{x.key==="Escape"&&n()};return window.addEventListener("keydown",y),()=>{document.body.style.overflow=O,window.removeEventListener("keydown",y)}},[n,t]),m.useEffect(()=>{f||e.files.length===0||a(e.files[0].path)},[e.files,f]),!t)return null;function h(O){c(y=>{const v=new Set(y);return v.has(O)?v.delete(O):v.add(O),v})}function p(O,y,v){return YJe(O,y===0).map(x=>{const w=v?`${v}/${x.name}`:x.name;if(!(x.children.size>0&&x.path===void 0)&&x.path)return o.jsxs("button",{type:"button",className:`code-browser-file${s===x.path?" is-active":""}`,style:{paddingLeft:`${12+y*16}px`},onClick:()=>a(x.path??null),title:x.path,children:[o.jsx(BF,{"aria-hidden":"true"}),o.jsx("span",{children:x.name})]},w);const E=l.has(w);return o.jsxs("div",{children:[o.jsxs("button",{type:"button",className:"code-browser-folder",style:{paddingLeft:`${10+y*16}px`},onClick:()=>h(w),"aria-expanded":!E,children:[o.jsx(sO,{className:E?"":"is-open","aria-hidden":"true"}),o.jsx(Tne,{"aria-hidden":"true"}),o.jsx("span",{children:x.name})]}),!E&&p(x,y+1,w)]},w)})}function b(O){f&&i({...e,files:e.files.map(y=>y.path===f.path?{...y,content:O}:y)})}return ir.createPortal(o.jsx("div",{className:"code-browser-backdrop",onMouseDown:O=>{O.target===O.currentTarget&&n()},children:o.jsxs("section",{className:"code-browser-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"code-browser-title",children:[o.jsxs("header",{className:"code-browser-head",children:[o.jsxs("div",{className:"code-browser-title-wrap",children:[o.jsx("span",{className:"code-browser-title-icon","aria-hidden":"true",children:o.jsx(Ene,{})}),o.jsxs("div",{children:[o.jsx("h2",{id:"code-browser-title",children:"项目代码"}),o.jsx("p",{children:e.name||"Agent 项目"})]})]}),o.jsx("button",{ref:u,type:"button",className:"code-browser-close",onClick:n,"aria-label":"关闭代码浏览器",children:o.jsx(Ga,{"aria-hidden":"true"})})]}),o.jsxs("div",{className:"code-browser-workspace",children:[o.jsxs("aside",{className:"code-browser-sidebar","aria-label":"项目文件",children:[o.jsxs("div",{className:"code-browser-sidebar-head",children:["文件 ",o.jsx("span",{children:e.files.length})]}),o.jsx("div",{className:"code-browser-tree",children:e.files.length>0?p(d,0,""):o.jsx("div",{className:"code-browser-empty",children:"暂无项目文件"})})]}),o.jsxs("main",{className:"code-browser-main",children:[o.jsxs("div",{className:"code-browser-path",children:[o.jsx(BF,{"aria-hidden":"true"}),o.jsx("span",{children:(f==null?void 0:f.path)??"未选择文件"})]}),o.jsx("div",{className:"code-browser-editor",children:f?o.jsx(m.Suspense,{fallback:o.jsx("div",{className:"code-browser-empty",children:"正在加载编辑器…"}),children:o.jsx(XJe,{value:f.content,path:f.path,onChange:b,readOnly:r})}):o.jsx("div",{className:"code-browser-empty",children:"从左侧选择文件以查看代码"})})]})]})]})}),document.body)}function WJe({project:e,onChange:t,className:n="",label:i="查看源码"}){const[r,s]=m.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs("button",{type:"button",className:`code-browser-trigger ${n}`.trim(),onClick:()=>s(!0),"aria-label":"查看和编辑项目源码",title:i,children:[o.jsx(Ene,{"aria-hidden":"true"}),o.jsx("span",{children:i})]}),o.jsx(n8,{project:e,open:r,onClose:()=>s(!1),onChange:t})]})}const Hde="send_a2ui_json_to_client",ZJe=28,KJe=3e3;function JJe(e,t,n){let i=t;for(let r=0;r65535?2:1}return i}function eet(e){return e<=4?1:Math.min(18,Math.max(2,Math.ceil(e/6)))}function Xde(e,t,n,i){const[r,s]=m.useState(()=>t?"":e),a=m.useRef(r),l=m.useRef(e),c=m.useRef(null),u=m.useRef(0),d=m.useRef(n);return l.current=e,d.current=n,m.useEffect(()=>{const f=a.current,h=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!t||h||!e.startsWith(f)){c.current!==null&&window.cancelAnimationFrame(c.current),c.current=null,f!==e&&(a.current=e,s(e));return}if(f===e||c.current!==null)return;const p=b=>{const g=l.current,O=a.current;if(!g.startsWith(O)){a.current=g,s(g),c.current=null;return}if(b-u.current{var f;(f=d.current)==null||f.call(d)},[r]),m.useEffect(()=>{r===e&&(i==null||i())},[r,i,e]),m.useEffect(()=>()=>{c.current!==null&&(window.cancelAnimationFrame(c.current),c.current=null)},[]),r}function tet(){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:o.jsx("path",{d:"M14.3 5.25a4.6 4.6 0 0 0-5.55 5.55L3.6 15.95a1.8 1.8 0 0 0 0 2.55l1.9 1.9a1.8 1.8 0 0 0 2.55 0l5.15-5.15a4.6 4.6 0 0 0 5.55-5.55l-2.9 2.9-2.45-.55-.55-2.45 2.9-2.9a4.6 4.6 0 0 0-1.45-1.45Z"})})}function net(){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"m4.5 7 1.8 1.8L9.5 5.5"}),o.jsx("path",{d:"M12 7h7.5"}),o.jsx("path",{d:"m4.5 13 1.8 1.8 3.2-3.3"}),o.jsx("path",{d:"M12 13h7.5"}),o.jsx("path",{d:"M5 19h4"}),o.jsx("path",{d:"M12 19h7.5"})]})}function iet(e,t){if(e!=="load_skill"||t==null||typeof t!="object"||Array.isArray(t))return;const n=t.skill_name;if(!(typeof n!="string"||!n.trim()))return`使用 ${n.trim()} 技能`}function Gde({text:e,done:t,answerStarted:n=!1,streaming:i=!1,onStreamFrame:r}){const[s,a]=m.useState(!(t||n)),l=m.useRef(!1);m.useEffect(()=>{l.current||a(!(t||n))},[n,t]);const c=()=>{l.current=!0,a(p=>!p)},u=e.replace(/^\s+/,""),d=Xde(u,!t||i,r),{ref:f,onScroll:h}=Fde(d);return o.jsxs("div",{className:"block-thinking",children:[o.jsxs("button",{className:"think-head",onClick:c,type:"button",children:[o.jsx("span",{className:"think-icon","aria-hidden":"true",children:o.jsx(qde,{className:`thinking-logo ${t?"":"is-active"}`})}),t?o.jsx("span",{className:"think-label think-label--done",children:"已完成思考"}):o.jsx(Rn,{className:"think-label",duration:2.4,spread:18,children:"思考中"}),o.jsx(sO,{className:`chev ${s?"open":""}`})]}),o.jsx("div",{className:`think-collapse ${s&&d?"open":""}`,children:o.jsx("div",{className:"think-collapse-inner",children:o.jsx("div",{className:"think-body scroll",ref:f,onScroll:h,children:d})})})]})}function ret({text:e}){return o.jsx("div",{className:"block-progress",role:"status","aria-live":"polite","aria-atomic":"true",children:o.jsxs("div",{className:"think-head progress-head",children:[o.jsx("span",{className:"think-icon","aria-hidden":"true",children:o.jsx(qde,{className:"thinking-logo is-active"})}),o.jsx(Rn,{className:"think-label",duration:2.4,spread:18,children:e})]})})}function set({value:e,onResolve:t,onDownload:n,onDeploy:i}){const[r,s]=m.useState(e.files?e:null),[a,l]=m.useState(!1),[c,u]=m.useState(null),[d,f]=m.useState(""),[h,p]=m.useState(null),b=new Date(e.validatedAt),g=e.validatedAt?Number.isNaN(b.getTime())?e.validatedAt:b.toLocaleString("zh-CN",{hour12:!1}):"刚刚";m.useEffect(()=>{if(!h)return;const w=window.setTimeout(()=>p(null),KJe);return()=>window.clearTimeout(w)},[h]);async function O(){if(r)return r;if(!t)throw new Error("暂时无法读取生成的源码,请稍后重试。");const w=await t(e);return s(w),w}async function y(){u("source"),f(""),p(null);try{await O(),l(!0)}catch(w){f(w instanceof Error?w.message:String(w))}finally{u(null)}}async function v(){if(n){u("download"),f(""),p(null);try{await n(e),p({message:"已开始下载"})}catch(w){f(w instanceof Error?w.message:String(w))}finally{u(null)}}}async function x(){u("deploy"),f(""),p(null);try{i==null||i(await O())}catch(w){f(w instanceof Error?w.message:String(w))}finally{u(null)}}return o.jsxs(o.Fragment,{children:[o.jsxs("section",{className:`delivery-card${e.verified?" is-verified":" is-unverified"}`,"aria-label":e.verified?"已验证交付物":"生成的 Agent 源码",children:[o.jsxs("header",{className:"delivery-card-header",children:[o.jsx("span",{className:"delivery-card-icon",children:e.verified?o.jsx(HJe,{}):o.jsx(qJe,{})}),o.jsxs("div",{children:[o.jsx("strong",{children:e.verified?"已验证交付物":"生成的 Agent 源码"}),o.jsx("span",{children:e.agentName})]})]}),o.jsxs("dl",{className:"delivery-card-grid",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"入口"}),o.jsx("dd",{children:o.jsx("code",{children:e.entryPoint})})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"文件数"}),o.jsx("dd",{children:e.fileCount})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"大小"}),o.jsxs("dd",{children:[(e.artifactSize/1024).toFixed(1)," KiB"]})]}),o.jsxs("div",{children:[o.jsx("dt",{children:e.verified?"验证时间":"生成时间"}),o.jsx("dd",{children:g})]})]}),o.jsxs("p",{className:"delivery-card-gates",children:[e.verified?`${e.gateSummary.length} 项检查通过`:"源码已准备好,可部署"," ·"," ",o.jsx("code",{children:e.artifactSha256.slice(0,12)})]}),e.verified?null:o.jsx("p",{className:"delivery-card-guidance",children:"源码已准备好,可查看、下载或部署;部署前请确认 Runtime 配置。"}),o.jsxs("div",{className:"delivery-card-actions",children:[o.jsxs("button",{type:"button",className:"delivery-card-secondary",onClick:()=>void y(),disabled:!t||c!==null,children:[c==="source"?o.jsx(ri,{className:"spin","aria-hidden":"true"}):null,"查看源码"]}),o.jsxs("button",{type:"button",className:"delivery-card-secondary",onClick:()=>void v(),disabled:!n||c!==null,"aria-busy":c==="download",children:[c==="download"?o.jsx(ri,{className:"spin","aria-hidden":"true"}):null,c==="download"?"正在准备…":"下载源码"]}),o.jsxs("button",{type:"button",onClick:()=>void x(),disabled:!e.deployable||!i||!t||c!==null,title:e.deployable?void 0:"源码尚未准备好",children:[c==="deploy"?o.jsx(ri,{className:"spin","aria-hidden":"true"}):null,"手动部署到 Runtime"]})]}),d?o.jsx("p",{className:"delivery-card-error",role:"alert",children:d}):null,h?o.jsx("p",{className:"delivery-card-status",role:"status","aria-live":"polite",children:h.message}):null]}),o.jsx(n8,{project:{name:e.agentName,files:(r==null?void 0:r.files)??[]},open:a,onClose:()=>l(!1),onChange:()=>{},readOnly:!0})]})}function Yde(){return o.jsx(Gde,{text:"",done:!1})}const aet=m.memo(function({text:t,streaming:n,onStreamFrame:i,onStreamComplete:r}){const s=Xde(t,n,i,r);return s?o.jsx("div",{className:"bubble",children:o.jsx(Tu,{text:s,streaming:n})}):null}),oet={pending:"待处理",in_progress:"进行中",completed:"已完成",failed:"未完成"};function cet({title:e,summary:t,items:n,done:i}){const[r,s]=m.useState(!i),a=m.useRef(!1);m.useEffect(()=>{a.current||s(!i)},[i]);const l=()=>{a.current=!0,s(c=>!c)};return o.jsxs("div",{className:"block-plan",children:[o.jsxs("button",{className:"plan-head",type:"button",onClick:l,"aria-expanded":n.length>0?r:void 0,disabled:n.length===0,children:[o.jsx("span",{className:"plan-icon","aria-hidden":"true",children:o.jsx(net,{})}),i?o.jsx("span",{className:"plan-title",children:e}):o.jsx(Rn,{className:"plan-title",duration:2.2,spread:15,children:e}),t?o.jsx("span",{className:"plan-summary",children:t}):null,n.length>0?o.jsx(t8,{className:`plan-chevron${r?" is-open":""}`}):null]}),o.jsx("div",{className:`think-collapse ${r&&n.length>0?"open":""}`,children:o.jsx("div",{className:"think-collapse-inner",children:n.length>0?o.jsx("ol",{className:"plan-items",children:n.map((c,u)=>o.jsxs("li",{"data-status":c.status,children:[o.jsx("span",{className:"plan-item-marker","aria-hidden":"true"}),o.jsx("span",{className:"plan-item-text",children:c.text}),o.jsx("small",{children:oet[c.status]})]},`${u}:${c.text}`))}):null})})]})}function uet(e){if(!e||typeof e!="object")return[];const t=e,n=t.result;let i=[];if(Array.isArray(t.studio_artifacts))i=t.studio_artifacts;else if(n&&typeof n=="object"){const r=n.studio_artifacts;Array.isArray(r)&&(i=r)}return i.flatMap(r=>{if(!r||typeof r!="object")return[];const s=r;return typeof s.name=="string"&&typeof s.contentUrl=="string"?[{name:s.name,contentUrl:s.contentUrl}]:[]})}function det({name:e,args:t,response:n,done:i,status:r}){const[s,a]=m.useState(!1),l=e===Hde?"渲染 UI":e,c=r??(i?"completed":"running"),u=c==="failed"?void 0:VJe(e),d=uet(n),f=n==null?null:typeof n=="string"?n:JSON.stringify(n,null,2),h=f&&f.length>2e3?f.slice(0,2e3)+` …(已截断)`:f;return o.jsxs(Gr.div,{className:`block-tool${u?" block-tool--builtin":""}`,"data-status":c,initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[u?o.jsx(UJe,{definition:u,label:iet(e,t),done:i,open:s,onToggle:()=>a(p=>!p)}):o.jsxs("button",{className:"tool-head tool-head--generic",onClick:()=>a(p=>!p),type:"button","aria-expanded":s,children:[o.jsx("span",{className:"tool-icon tool-icon--generic","aria-hidden":"true",children:o.jsx(tet,{})}),i?o.jsx("span",{className:"tool-name",children:l}):o.jsx(Rn,{className:"tool-name",duration:2.2,spread:15,children:l}),o.jsx(t8,{className:`tool-chevron${s?" is-open":""}`})]}),o.jsx("div",{className:`think-collapse ${s?"open":""}`,children:o.jsx("div",{className:"think-collapse-inner",children:o.jsxs("div",{className:"tool-detail",children:[t!=null&&o.jsxs("div",{className:"tool-section",children:[o.jsx("div",{className:"tool-section-label",children:"参数"}),o.jsx("pre",{className:"tool-args",children:JSON.stringify(t,null,2)})]}),h!=null&&o.jsxs("div",{className:"tool-section",children:[o.jsx("div",{className:"tool-section-label",children:"返回"}),o.jsx("pre",{className:"tool-args tool-result",children:h})]}),d.length>0&&o.jsxs("div",{className:"tool-section",children:[o.jsx("div",{className:"tool-section-label",children:"产物"}),o.jsx("div",{className:"studio-tool-artifacts",children:d.map(p=>o.jsxs("a",{href:p.contentUrl,download:p.name,children:["下载 ",p.name]},`${p.contentUrl}:${p.name}`))})]})]})})})]})}function fet({block:e,onDownload:t,onPreview:n}){const[i,r]=m.useState(""),[s,a]=m.useState(""),[l,c]=m.useState(null);m.useEffect(()=>()=>{l&&URL.revokeObjectURL(l.url)},[l]);const u=()=>c(null),d=async(p,b)=>{if(t){r(`download:${p}`),a("");try{await t(p,b)}catch(g){a(g instanceof Error?g.message:String(g))}finally{r("")}}},f=async(p,b,g)=>{if(n){r(`preview:${g}`),a("");try{const O=await n(p,b);c({name:g,url:O})}catch(O){a(O instanceof Error?O.message:String(O))}finally{r("")}}},h=e.files.filter(p=>!p.filename.endsWith(".preview.webp"));return o.jsxs("div",{className:"artifact-list",children:[h.map(p=>{const b=`${p.filename.replace(/\.pptx$/i,"")}.preview.webp`,g=e.files.find(O=>O.filename===b);return o.jsxs("div",{className:"artifact-card",children:[o.jsx("span",{className:"artifact-card__icon","aria-hidden":"true",children:o.jsx(X4,{})}),o.jsxs("span",{className:"artifact-card__copy",children:[o.jsx("span",{className:"artifact-card__name",children:p.filename}),o.jsx("span",{className:"artifact-card__hint",children:"PowerPoint 演示文稿"})]}),o.jsxs("span",{className:"artifact-card__actions",children:[g&&o.jsxs("button",{className:"artifact-card__action",type:"button",disabled:!n||i!=="",onClick:()=>void f(g.filename,g.version,p.filename),children:[i===`preview:${p.filename}`?o.jsx(ri,{className:"spin"}):o.jsx(D2e,{}),"预览"]}),o.jsxs("button",{className:"artifact-card__action artifact-card__action--primary",type:"button",disabled:!t||i!=="",onClick:()=>void d(p.filename,p.version),children:[i===`download:${p.filename}`?o.jsx(ri,{className:"spin"}):o.jsx(sA,{}),"下载"]})]})]},`${p.filename}:${p.version}`)}),s&&o.jsx("div",{className:"artifact-card__error",children:s}),l&&o.jsxs("div",{className:"artifact-preview",role:"dialog","aria-modal":"true","aria-label":`${l.name} 预览`,children:[o.jsx("button",{className:"artifact-preview__backdrop",type:"button","aria-label":"关闭预览",onClick:u}),o.jsxs("div",{className:"artifact-preview__panel",children:[o.jsxs("div",{className:"artifact-preview__header",children:[o.jsx("span",{children:l.name}),o.jsx("button",{type:"button","aria-label":"关闭预览",onClick:u,children:o.jsx(Ga,{})})]}),o.jsx("div",{className:"artifact-preview__canvas",children:o.jsx("img",{src:l.url,alt:`${l.name} 幻灯片预览`})})]})]})]})}function het({block:e,onAuth:t}){const[n,i]=m.useState(e.done?"done":"idle"),[r,s]=m.useState(""),a=e.label||"MCP 工具集",l=(()=>{try{return e.authUri?new URL(e.authUri).host:""}catch{return""}})(),c=async()=>{if(t){s(""),i("authorizing");try{await t(e),i("done")}catch(d){s(d instanceof Error?d.message:String(d)),i("idle")}}};return e.done||n==="done"?o.jsxs(Gr.div,{className:"auth-card-collapsed",initial:{opacity:0},animate:{opacity:1},transition:{duration:.2},children:[o.jsx(QF,{className:"auth-card-icon auth-card-icon--done"}),o.jsxs("span",{children:["已授权 · ",a]})]}):o.jsxs(Gr.div,{className:"auth-card",initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[o.jsxs("div",{className:"auth-card-head",children:[o.jsx(QF,{className:"auth-card-icon"}),o.jsxs("span",{className:"auth-card-title",children:[a," 需要授权"]})]}),o.jsxs("p",{className:"auth-card-desc",children:["工具集 ",o.jsx("code",{className:"auth-card-code",children:a})," 使用 OAuth 保护, 需登录授权后方可调用。",l&&o.jsxs(o.Fragment,{children:[" ","将跳转至 ",o.jsx("code",{className:"auth-card-code",children:l})," 完成登录,"]}),"授权完成后对话自动继续。"]}),o.jsx("button",{className:"auth-card-btn",onClick:c,disabled:n==="authorizing"||!e.authUri,children:n==="authorizing"?o.jsxs(o.Fragment,{children:[o.jsx(ri,{className:"cw-i spin"})," 等待授权…"]}):o.jsx(o.Fragment,{children:"去授权"})}),!e.authUri&&o.jsx("div",{className:"auth-card-err",children:"未在事件中找到授权地址。"}),r&&o.jsx("div",{className:"auth-card-err",children:r})]})}function dC({blocks:e,appName:t="",streaming:n=!1,onStreamFrame:i,onStreamComplete:r,onAction:s,onAuth:a,onArtifactDownload:l,onArtifactPreview:c,onResolveDelivery:u,onDownloadDelivery:d,onDeployDelivery:f}){const h=e.reduce((p,b,g)=>b.kind==="text"?g:p,-1);return o.jsx(o.Fragment,{children:e.map((p,b)=>{switch(p.kind){case"progress":return o.jsx(ret,{text:p.text},"build-progress");case"thinking":{const g=e.slice(b+1).some(O=>O.kind==="text"&&!!O.text.trim());return o.jsx(Gde,{text:p.text,done:p.done,answerStarted:g,streaming:n,onStreamFrame:i},b)}case"text":{const g=p.text.replace(/^\s+/,"");return g?o.jsx(aet,{text:g,streaming:n,onStreamFrame:i,onStreamComplete:b===h?r:void 0},b):null}case"plan":return o.jsx(cet,{title:p.title,summary:p.summary,items:p.items,done:p.done},b);case"attachment":return o.jsx(uC,{appName:t,items:p.files},b);case"artifact":return o.jsx(fet,{block:p,onDownload:l,onPreview:c},b);case"delivery":return o.jsx(set,{value:p.value,onResolve:u,onDownload:d,onDeploy:f},b);case"invocation":return o.jsx(cC,{value:p.value},b);case"tool":return p.name===Hde&&p.done?null:o.jsx(det,{name:p.name,args:p.args,response:p.response,done:p.done,status:p.status},b);case"agent-transfer":return null;case"auth":return o.jsx(het,{block:p,onAuth:a},b);case"a2ui":return Qde(p.messages).filter(g=>g.components[g.rootId]).map(g=>o.jsx(Gr.div,{initial:{opacity:0,y:8,scale:.985},animate:{opacity:1,y:0,scale:1},transition:{type:"spring",stiffness:380,damping:30},children:o.jsx(RJe,{surface:g,onAction:s})},`${b}-${g.surfaceId}`));default:return null}})})}const pet=()=>{};function met(e){if(e.kind==="message")return{kind:"text",text:e.text};if(e.kind==="thinking")return{kind:"thinking",text:e.text,done:e.status==="done"};if(e.kind==="tool")return{kind:"tool",name:e.name,args:e.args,response:e.response,done:e.status==="done"};throw new Error("不支持的 Skill 对话活动")}function get({activities:e}){const t=m.useMemo(()=>e.filter(n=>n.kind!=="status").map(met),[e]);return t.length===0?null:o.jsx("div",{className:"skill-conversation","aria-label":"Skill 生成对话","aria-live":"polite",children:o.jsx(dC,{blocks:t,onAction:pet})})}function Kq(){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"m7 9 5 5 5-5",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function Uk({label:e,value:t,options:n,onChange:i,disabled:r=!1,allowCustom:s=!1,required:a=!1,placeholder:l="请选择",error:c}){const u=m.useId(),d=m.useId(),f=m.useId(),h=m.useRef(null),p=m.useRef(null),b=m.useRef(null),g=m.useRef(null),O=m.useRef([]),y=n.findIndex(L=>L.value===t),v=t.trim().toLocaleLowerCase(),x=s&&v?n.filter(L=>L.value.toLocaleLowerCase().includes(v)||L.label.toLocaleLowerCase().includes(v)):n,[w,S]=m.useState(!1),[E,k]=m.useState(Math.max(0,y)),T=y>=0?n[y]:void 0,_=r||!s&&n.length===0,N=(L=!1)=>{S(!1),L&&window.requestAnimationFrame(()=>{var D,$;return s?(D=b.current)==null?void 0:D.focus():($=p.current)==null?void 0:$.focus()})},C=L=>{_||x.length!==0&&(k(Math.min(Math.max(L,0),x.length-1)),S(!0))};m.useEffect(()=>{if(!w)return;const L=g.current,D=s?void 0:window.requestAnimationFrame(()=>{var M;(M=O.current[E])==null||M.focus()}),$=M=>{if(!L)return;const U=L.scrollTop<=0,F=L.scrollTop+L.clientHeight>=L.scrollHeight-1;(L.scrollHeight<=L.clientHeight||M.deltaY<0&&U||M.deltaY>0&&F)&&M.preventDefault(),M.stopPropagation()},j=M=>{var U;M.target instanceof Node&&!((U=h.current)!=null&&U.contains(M.target))&&N()},P=M=>{M.key==="Escape"&&N(!0)};return L==null||L.addEventListener("wheel",$,{passive:!1}),window.addEventListener("pointerdown",j),window.addEventListener("keydown",P),()=>{D!==void 0&&window.cancelAnimationFrame(D),L==null||L.removeEventListener("wheel",$),window.removeEventListener("pointerdown",j),window.removeEventListener("keydown",P)}},[E,s,w]);const R=L=>{var $;if(x.length===0)return;const D=(L+x.length)%x.length;k(D),($=O.current[D])==null||$.focus()};return o.jsxs("div",{ref:h,className:`skill-config-select${w?" is-open":""}`,onBlur:L=>{var D;(!L.relatedTarget||!((D=h.current)!=null&&D.contains(L.relatedTarget)))&&N()},children:[o.jsxs("span",{id:d,className:"skill-config-select__label",children:[e,a?o.jsx("span",{className:"skill-required-mark","aria-hidden":"true",children:"*"}):null]}),s?o.jsxs("div",{className:`skill-config-select__trigger is-editable${r?" is-disabled":""}`,"aria-expanded":w,children:[o.jsx("input",{ref:b,value:t,disabled:r,role:"combobox","aria-autocomplete":"list","aria-expanded":w,"aria-controls":w?u:void 0,"aria-labelledby":d,"aria-required":a,"aria-invalid":!!c,"aria-describedby":c?f:void 0,placeholder:l,onChange:L=>{i(L.target.value),k(0),n.length>0&&S(!0)},onClick:()=>{!w&&x.length>0&&C(0)},onKeyDown:L=>{var D,$;if(!(L.nativeEvent.isComposing||L.keyCode===229))if(L.key==="ArrowDown")L.preventDefault(),w?(D=O.current[E])==null||D.focus():C(0);else if(L.key==="ArrowUp")L.preventDefault(),w?($=O.current[x.length-1])==null||$.focus():C(x.length-1);else if(L.key==="Enter"&&w){L.preventDefault();const j=x[E];j&&i(j.value),N()}else L.key==="Escape"&&(L.preventDefault(),N())}}),o.jsx("button",{type:"button",className:"skill-config-select__toggle",disabled:r||n.length===0,"aria-label":w?"收起模型选项":"展开模型选项",onClick:()=>{w?N():C(0)},children:o.jsx(Kq,{})})]}):o.jsxs("button",{ref:p,type:"button",className:"skill-config-select__trigger",disabled:_,"aria-haspopup":"listbox","aria-expanded":w,"aria-controls":w?u:void 0,"aria-labelledby":d,"aria-required":a,onClick:()=>{w?N():C(y>=0?y:0)},onKeyDown:L=>{L.key==="ArrowDown"?(L.preventDefault(),C(y>=0?y:0)):L.key==="ArrowUp"&&(L.preventDefault(),C(y>=0?y:n.length-1))},children:[o.jsx("span",{className:T?void 0:"is-placeholder",title:T==null?void 0:T.label,children:(T==null?void 0:T.label)||(n.length===0?"暂无可用选项":l)}),o.jsx(Kq,{})]}),w?o.jsxs("div",{ref:g,id:u,className:"skill-config-select__menu",role:"listbox","aria-labelledby":d,children:[x.length===0?o.jsx("div",{className:"skill-config-select__empty",role:"status",children:"没有匹配项,可直接使用当前模型 ID"}):null,x.map((L,D)=>{const $=L.value===t;return o.jsx("button",{ref:j=>{O.current[D]=j},type:"button",role:"option","aria-selected":$,tabIndex:D===E?0:-1,className:`skill-config-select__option${$?" is-selected":""}`,title:L.label,onFocus:()=>k(D),onClick:()=>{i(L.value),N(!0)},onKeyDown:j=>{j.key==="Enter"||j.key===" "?(j.preventDefault(),i(L.value),N(!0)):j.key==="ArrowDown"?(j.preventDefault(),R(D+1)):j.key==="ArrowUp"?(j.preventDefault(),R(D-1)):j.key==="Home"?(j.preventDefault(),R(0)):j.key==="End"&&(j.preventDefault(),R(n.length-1))},children:L.label},L.value)})]}):null,c?o.jsx("span",{id:f,className:"skill-config-select__error",role:"alert",children:c}):null]})}function $s(e,t){return e instanceof Error?e:typeof e=="string"&&e.trim()?new Error(e.trim()):new Error(t)}function Xo({error:e}){var r,s,a,l,c;const t=e,n=(s=(r=t.originalError)==null?void 0:r.message)==null?void 0:s.trim(),i=[typeof t.status=="number"?`HTTP ${t.status}${t.statusText?` ${t.statusText}`:""}`:"",t.code?`错误码:${t.code}`:"",(a=t.originalError)!=null&&a.type?`错误类型:${t.originalError.type}`:"",(l=t.originalError)!=null&&l.repr&&t.originalError.repr!==n?`异常表示:${t.originalError.repr}`:"",(c=t.rawResponse)!=null&&c.trim()?`服务端原始响应: ${t.rawResponse.trim()}`:""].filter(Boolean);return o.jsxs("div",{className:"skill-error-details",children:[o.jsx("div",{className:"skill-error-details__summary",children:e.message}),n?o.jsxs("div",{className:"skill-error-details__original",children:["原始错误:",n]}):null,i.length>0?o.jsxs("details",{children:[o.jsx("summary",{children:"详细信息"}),o.jsx("pre",{children:i.join(` @@ -695,7 +695,7 @@ ${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.pus `?"":n;else{let r=n.indexOf(` `);i=r<0?n:n.slice(0,r)}return t+i.length>this.to?i.slice(0,this.to-t):i}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(t,n,i=0){this.block=l_.create(t,i,this.lineStart+n,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(t,n,i=0){this.startContext(this.parser.getNodeType(t),n,i)}addNode(t,n,i){typeof t=="number"&&(t=new Mn(this.parser.nodeSet.types[t],Ub,Ub,(i??this.prevLineEnd())-n)),this.block.addChild(t,n-this.block.from)}addElement(t){this.block.addChild(t.toTree(this.parser.nodeSet),t.from-this.block.from)}addLeafElement(t,n){this.addNode(this.buffer.writeElements(k3(n.children,t.marks),-n.from).finish(n.type,n.to-n.from),n.from)}finishContext(){let t=this.stack.pop(),n=this.stack[this.stack.length-1];n.addChild(t.toTree(this.parser.nodeSet),t.from-n.from),this.block=n}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(t){return this.ranges.length>1?gme(this.ranges,0,t.topNode,this.ranges[0].from,this.reusePlaceholders):t}finishLeaf(t){for(let i of t.parsers)if(i.finish(this,t))return;let n=k3(this.parser.parseInline(t.content,t.start),t.marks);this.addNode(this.buffer.writeElements(n,-t.start).finish(ut.Paragraph,t.content.length),t.start)}elt(t,n,i,r){return typeof t=="string"?ci(this.parser.getNodeType(t),n,i,r):new yme(t,n)}get buffer(){return new Ome(this.parser.nodeSet)}}function gme(e,t,n,i,r){let s=e[t].to,a=[],l=[],c=n.from+i;function u(d,f){for(;f?d>=s:d>s;){let h=e[t+1].from-s;i+=h,d+=h,t++,s=e[t].to}}for(let d=n.firstChild;d;d=d.nextSibling){u(d.from+i,!0);let f=d.from+i,h,p=r.get(d.tree);p?h=p:d.to+i>s?(h=gme(e,t,d,i,r),u(d.to+i,!1)):h=d.toTree(),a.push(h),l.push(f-c)}return u(n.to+i,!1),new Mn(n.type,a,l,n.to+i-c,n.tree?n.tree.propValues:void 0)}class IC extends xC{constructor(t,n,i,r,s,a,l,c,u){super(),this.nodeSet=t,this.blockParsers=n,this.leafBlockParsers=i,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=a,this.inlineParsers=l,this.inlineNames=c,this.wrappers=u,this.nodeTypes=Object.create(null);for(let d of t.types)this.nodeTypes[d.name]=d.id}createParse(t,n,i){let r=new Yot(this,t,n,i);for(let s of this.wrappers)r=s(r,t,n,i);return r}configure(t){let n=E3(t);if(!n)return this;let{nodeSet:i,skipContextMarkup:r}=this,s=this.blockParsers.slice(),a=this.leafBlockParsers.slice(),l=this.blockNames.slice(),c=this.inlineParsers.slice(),u=this.inlineNames.slice(),d=this.endLeafBlock.slice(),f=this.wrappers;if(Ay(n.defineNodes)){r=Object.assign({},r);let h=i.types.slice(),p;for(let b of n.defineNodes){let{name:g,block:O,composite:y,style:v}=typeof b=="string"?{name:b}:b;if(h.some(S=>S.name==g))continue;y&&(r[h.length]=(S,E,k)=>y(E,k,S.value));let x=h.length,w=y?["Block","BlockContext"]:O?x>=ut.ATXHeading1&&x<=ut.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;h.push(vs.define({id:x,name:g,props:w&&[[dn.group,w]]})),v&&(p||(p={}),Array.isArray(v)||v instanceof iu?p[g]=v:Object.assign(p,v))}i=new RO(h),p&&(i=i.extend(df(p)))}if(Ay(n.props)&&(i=i.extend(...n.props)),Ay(n.remove))for(let h of n.remove){let p=this.blockNames.indexOf(h),b=this.inlineNames.indexOf(h);p>-1&&(s[p]=a[p]=void 0),b>-1&&(c[b]=void 0)}if(Ay(n.parseBlock))for(let h of n.parseBlock){let p=l.indexOf(h.name);if(p>-1)s[p]=h.parse,a[p]=h.leaf;else{let b=h.before?UE(l,h.before):h.after?UE(l,h.after)+1:l.length-1;s.splice(b,0,h.parse),a.splice(b,0,h.leaf),l.splice(b,0,h.name)}h.endLeaf&&d.push(h.endLeaf)}if(Ay(n.parseInline))for(let h of n.parseInline){let p=u.indexOf(h.name);if(p>-1)c[p]=h.parse;else{let b=h.before?UE(u,h.before):h.after?UE(u,h.after)+1:u.length-1;c.splice(b,0,h.parse),u.splice(b,0,h.name)}}return n.wrap&&(f=f.concat(n.wrap)),new IC(i,s,a,l,d,r,c,u,f)}getNodeType(t){let n=this.nodeTypes[t];if(n==null)throw new RangeError(`Unknown node type '${t}'`);return n}parseInline(t,n){let i=new s9(this,t,n);e:for(let r=n;r=0){r=l;continue e}}r++}return i.resolveMarkers(0)}}function Ay(e){return e!=null&&e.length>0}function E3(e){if(!Array.isArray(e))return e;if(e.length==0)return null;let t=E3(e[0]);if(e.length==1)return t;let n=E3(e.slice(1));if(!n||!t)return t||n;let i=(a,l)=>(a||Ub).concat(l||Ub),r=t.wrap,s=n.wrap;return{props:i(t.props,n.props),defineNodes:i(t.defineNodes,n.defineNodes),parseBlock:i(t.parseBlock,n.parseBlock),parseInline:i(t.parseInline,n.parseInline),remove:i(t.remove,n.remove),wrap:r?s?(a,l,c,u)=>r(s(a,l,c,u),l,c,u):r:s}}function UE(e,t){let n=e.indexOf(t);if(n<0)throw new RangeError(`Position specified relative to unknown parser ${t}`);return n}let bme=[vs.none];for(let e=1,t;t=ut[e];e++)bme[e]=vs.define({id:e,name:t,props:e>=ut.Escape?[]:[[dn.group,e in ame?["Block","BlockContext"]:["Block","LeafBlock"]]],top:t=="Document"});const Ub=[];class Ome{constructor(t){this.nodeSet=t,this.content=[],this.nodes=[]}write(t,n,i,r=0){return this.content.push(t,n,i,4+r*4),this}writeElements(t,n=0){for(let i of t)i.writeTo(this,n);return this}finish(t,n){return Mn.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:t,length:n})}}let gv=class{constructor(t,n,i,r=Ub){this.type=t,this.from=n,this.to=i,this.children=r}writeTo(t,n){let i=t.content.length;t.writeElements(this.children,n),t.content.push(this.type,this.from+n,this.to+n,t.content.length+4-i)}toTree(t){return new Ome(t).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}};class yme{constructor(t,n){this.tree=t,this.from=n}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Ub}writeTo(t,n){t.nodes.push(this.tree),t.content.push(t.nodes.length-1,this.from+n,this.to+n,-1)}toTree(){return this.tree}}function ci(e,t,n,i){return new gv(e,t,n,i)}const xme={resolve:"Emphasis",mark:"EmphasisMark"},vme={resolve:"Emphasis",mark:"EmphasisMark"},Lp={},c_={};class Fo{constructor(t,n,i,r){this.type=t,this.from=n,this.to=i,this.side=r}}const JX="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let bv=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{bv=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}const kI={Escape(e,t,n){if(t!=92||n==e.end-1)return-1;let i=e.char(n+1);for(let r=0;r]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(i);if(r)return e.append(ci(ut.Autolink,n,n+1+r[0].length,[ci(ut.LinkMark,n,n+1),ci(ut.URL,n+1,n+r[0].length),ci(ut.LinkMark,n+r[0].length,n+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(i);if(s)return e.append(ci(ut.Comment,n,n+1+s[0].length));let a=/^\?[^]*?\?>/.exec(i);if(a)return e.append(ci(ut.ProcessingInstruction,n,n+1+a[0].length));let l=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(i);return l?e.append(ci(ut.HTMLTag,n,n+1+l[0].length)):-1},Emphasis(e,t,n){if(t!=95&&t!=42)return-1;let i=n+1;for(;e.char(i)==t;)i++;let r=e.slice(n-1,n),s=e.slice(i,i+1),a=bv.test(r),l=bv.test(s),c=/\s|^$/.test(r),u=/\s|^$/.test(s),d=!u&&(!l||c||a),f=!c&&(!a||u||l),h=d&&(t==42||!f||a),p=f&&(t==42||!d||l);return e.append(new Fo(t==95?xme:vme,n,i,(h?1:0)|(p?2:0)))},HardBreak(e,t,n){if(t==92&&e.char(n+1)==10)return e.append(ci(ut.HardBreak,n,n+2));if(t==32){let i=n+1;for(;e.char(i)==32;)i++;if(e.char(i)==10&&i>=n+2)return e.append(ci(ut.HardBreak,n,i+1))}return-1},Link(e,t,n){return t==91?e.append(new Fo(Lp,n,n+1,1)):-1},Image(e,t,n){return t==33&&e.char(n+1)==91?e.append(new Fo(c_,n,n+2,1)):-1},LinkEnd(e,t,n){if(t!=93)return-1;for(let i=e.parts.length-1;i>=0;i--){let r=e.parts[i];if(r instanceof Fo&&(r.type==Lp||r.type==c_)){if(!r.side||e.skipSpace(r.to)==n&&!/[(\[]/.test(e.slice(n+1,n+2)))return e.parts[i]=null,-1;let s=e.takeContent(i),a=e.parts[i]=Wot(e,s,r.type==Lp?ut.Link:ut.Image,r.from,n+1);if(r.type==Lp)for(let l=0;lt?ci(ut.URL,t+n,s+n):s==e.length?null:!1}}function Sme(e,t,n){let i=e.charCodeAt(t);if(i!=39&&i!=34&&i!=40)return!1;let r=i==40?41:i;for(let s=t+1,a=!1;s=this.end?-1:this.text.charCodeAt(t-this.offset)}get end(){return this.offset+this.text.length}slice(t,n){return this.text.slice(t-this.offset,n-this.offset)}append(t){return this.parts.push(t),t.to}addDelimiter(t,n,i,r,s){return this.append(new Fo(t,n,i,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let t=this.parts.length-1;t>=0;t--){let n=this.parts[t];if(n instanceof Fo&&(n.type==Lp||n.type==c_))return!0}return!1}addElement(t){return this.append(t)}resolveMarkers(t){for(let i=t;i=t;c--){let g=this.parts[c];if(g instanceof Fo&&g.side&1&&g.type==r.type&&!(s&&(r.side&1||g.side&2)&&(g.to-g.from+a)%3==0&&((g.to-g.from)%3||a%3))){l=g;break}}if(!l)continue;let u=r.type.resolve,d=[],f=l.from,h=r.to;if(s){let g=Math.min(2,l.to-l.from,a);f=l.to-g,h=r.from+g,u=g==1?"Emphasis":"StrongEmphasis"}l.type.mark&&d.push(this.elt(l.type.mark,f,l.to));for(let g=c+1;g=0;n--){let i=this.parts[n];if(i instanceof Fo&&i.type==t&&i.side&1)return n}return null}takeContent(t){let n=this.resolveMarkers(t);return this.parts.length=t,n}getDelimiterAt(t){let n=this.parts[t];return n instanceof Fo?n:null}skipSpace(t){return K1(this.text,t-this.offset)+this.offset}elt(t,n,i,r){return typeof t=="string"?ci(this.parser.getNodeType(t),n,i,r):new yme(t,n)}}s9.linkStart=Lp;s9.imageStart=c_;function k3(e,t){if(!t.length)return e;if(!e.length)return t;let n=e.slice(),i=0;for(let r of t){for(;i(t?t-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` `;)s--;this.fragmentEnd=s?s-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let r=t+this.fragment.offset;for(;i.to<=r;)if(!i.parent())return!1;for(;;){if(i.from>=r)return this.fragment.from<=n;if(!i.childAfter(r))return!1}}matches(t){let n=this.cursor.tree;return n&&n.prop(dn.contextHash)==t}takeNodes(t){let n=this.cursor,i=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=t.absoluteLineStart,a=s,l=t.block.children.length,c=a,u=l;for(;;){if(n.to-i>r){if(n.type.isAnonymous&&n.firstChild())continue;break}let d=kme(n.from-i,t.ranges);if(n.to-i<=t.ranges[t.rangeI].to)t.addNode(n.tree,d);else{let f=new Mn(t.parser.nodeSet.types[ut.Paragraph],[],[],0,t.block.hashProp);t.reusePlaceholders.set(f,n.tree),t.addNode(f,d)}if(n.type.is("Block")&&(Zot.indexOf(n.type.id)<0?(a=n.to-i,l=t.block.children.length):(a=c,l=u),c=n.to-i,u=t.block.children.length),!n.nextSibling())break}for(;t.block.children.length>l;)t.block.children.pop(),t.block.positions.pop();return a-s}}function kme(e,t){let n=e;for(let i=1;iFE[e]),Object.keys(FE).map(e=>mme[e]),Object.keys(FE),Xot,ame,Object.keys(kI).map(e=>kI[e]),Object.keys(kI),[]);function tlt(e,t,n){let i=[];for(let r=e.firstChild,s=t;;r=r.nextSibling){let a=r?r.from:n;if(a>s&&i.push({from:s,to:a}),!r)break;s=r.to}return i}function nlt(e){let{codeParser:t,htmlParser:n}=e;return{wrap:Ffe((r,s)=>{let a=r.type.id;if(t&&(a==ut.CodeBlock||a==ut.FencedCode)){let l="";if(a==ut.FencedCode){let u=r.node.getChild(ut.CodeInfo);u&&(l=s.read(u.from,u.to))}let c=t(l);if(c)return{parser:c,overlay:u=>u.type.id==ut.CodeText,bracketed:a==ut.FencedCode}}else if(n&&(a==ut.HTMLBlock||a==ut.HTMLTag||a==ut.CommentBlock))return{parser:n,overlay:tlt(r.node,r.from,r.to)};return null})}}const ilt={resolve:"Strikethrough",mark:"StrikethroughMark"},rlt={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":Y.strikethrough}},{name:"StrikethroughMark",style:Y.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,n){if(t!=126||e.char(n+1)!=126||e.char(n+2)==126)return-1;let i=e.slice(n-1,n),r=e.slice(n+2,n+3),s=/\s|^$/.test(i),a=/\s|^$/.test(r),l=bv.test(i),c=bv.test(r);return e.addDelimiter(ilt,n,n+2,!a&&(!c||s||l),!s&&(!l||a||c))},after:"Emphasis"}]};function J1(e,t,n=0,i,r=0){let s=0,a=!0,l=-1,c=-1,u=!1,d=()=>{i.push(e.elt("TableCell",r+l,r+c,e.parser.parseInline(t.slice(l,c),r+l)))};for(let f=n;f-1)&&s++,a=!1,i&&(l>-1&&d(),i.push(e.elt("TableDelimiter",f+r,f+r+1))),l=c=-1):(u||h!=32&&h!=9)&&(l<0&&(l=f),c=f+1),u=!u&&h==92}return l>-1&&(s++,i&&d()),s}function eG(e,t){for(let n=t;n\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class tG{constructor(){this.rows=null}nextLine(t,n,i){if(this.rows==null){this.rows=!1;let r;if((n.next==45||n.next==58||n.next==124)&&Tme.test(r=n.text.slice(n.pos))){let s=[];J1(t,i.content,0,s,i.start)==J1(t,r,0)&&(this.rows=[t.elt("TableHeader",i.start,i.start+i.content.length,s),t.elt("TableDelimiter",t.lineStart+n.pos,t.lineStart+n.text.length)])}}else if(this.rows){let r=[];J1(t,n.text,n.pos,r,t.lineStart),this.rows.push(t.elt("TableRow",t.lineStart+n.pos,t.lineStart+n.text.length,r))}return!1}finish(t,n){return this.rows?(t.addLeafElement(n,t.elt("Table",n.start,n.start+n.content.length,this.rows)),!0):!1}}const slt={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":Y.heading}},"TableRow",{name:"TableCell",style:Y.content},{name:"TableDelimiter",style:Y.processingInstruction}],parseBlock:[{name:"Table",leaf(e,t){return eG(t.content,0)?new tG:null},endLeaf(e,t,n){if(n.parsers.some(r=>r instanceof tG)||!eG(t.text,t.basePos))return!1;let i=e.peekLine();return Tme.test(i)&&J1(e,t.text,t.basePos)==J1(e,i,t.basePos)},before:"SetextHeading"}]};class alt{nextLine(){return!1}finish(t,n){return t.addLeafElement(n,t.elt("Task",n.start,n.start+n.content.length,[t.elt("TaskMarker",n.start,n.start+3),...t.parser.parseInline(n.content.slice(3),n.start+3)])),!0}}const olt={defineNodes:[{name:"Task",block:!0,style:Y.list},{name:"TaskMarker",style:Y.atom}],parseBlock:[{name:"TaskList",leaf(e,t){return/^\[[ xX]\][ \t]/.test(t.content)&&e.parentType().name=="ListItem"?new alt:null},after:"SetextHeading"}]},nG=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,iG=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,llt=/[\w-]+\.[\w-]+($|[/:])/,rG=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,sG=/\/[a-zA-Z\d@.]+/gy;function aG(e,t,n,i){let r=0;for(let s=t;s-1)return-1;let i=t+n[0].length;for(;;){let r=e[i-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&aG(e,t,i,")")>aG(e,t,i,"("))i--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,i))))i=t+s.index;else break}return i}function oG(e,t){rG.lastIndex=t;let n=rG.exec(e);if(!n)return-1;let i=n[0][n[0].length-1];return i=="_"||i=="-"?-1:t+n[0].length-(i=="."?1:0)}const ult={parseInline:[{name:"Autolink",parse(e,t,n){let i=n-e.offset;if(i&&/\w/.test(e.text[i-1]))return-1;nG.lastIndex=i;let r=nG.exec(e.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=clt(e.text,i+r[0].length),s>-1&&e.hasOpenLink){let a=/([^\[\]]|\[[^\]]*\])*/.exec(e.text.slice(i,s));s=i+a[0].length}}else r[3]?s=oG(e.text,i):(s=oG(e.text,i+r[0].length),s>-1&&r[0]=="xmpp:"&&(sG.lastIndex=s,r=sG.exec(e.text),r&&(s=r.index+r[0].length)));return s<0?-1:(e.addElement(e.elt("URL",n,s+e.offset)),s+e.offset)}}]},dlt=[slt,olt,rlt,ult];function _me(e,t,n){return(i,r,s)=>{if(r!=e||i.char(s+1)==e)return-1;let a=[i.elt(n,s,s+1)];for(let l=s+1;l=65&&e<=90||e==95||e>=97&&e<=122||e>=161}let dG=null,fG=null,hG=0;function _3(e,t){let n=e.pos+t;if(hG==n&&fG==e)return dG;let i=e.peek(t),r="";for(;$lt(i);)r+=String.fromCharCode(i),i=e.peek(++t);return fG=e,hG=n,dG=r?r.toLowerCase():i==Blt||i==Qlt?void 0:null}const Pme=60,u_=62,o9=47,Blt=63,Qlt=33,Flt=45;function pG(e,t){this.name=e,this.parent=t}const Ult=[a9,jme,Ame,Cme,Nme],zlt=new jC({start:null,shift(e,t,n,i){return Ult.indexOf(t)>-1?new pG(_3(i,1)||"",e):e},reduce(e,t){return t==Rme&&e?e.parent:e},reuse(e,t,n,i){let r=t.type.id;return r==a9||r==Rlt?new pG(_3(i,1)||"",e):e},strict:!1}),Vlt=new us((e,t)=>{if(e.next!=Pme){e.next<0&&t.context&&e.acceptToken(TI);return}e.advance();let n=e.next==o9;n&&e.advance();let i=_3(e,0);if(i===void 0)return;if(!i)return e.acceptToken(n?Tlt:klt);let r=t.context?t.context.name:null;if(n){if(i==r)return e.acceptToken(wlt);if(r&&Llt[r])return e.acceptToken(TI,-2);if(t.dialectEnabled(Dlt))return e.acceptToken(Slt);for(let s=t.context;s;s=s.parent)if(s.name==i)return;e.acceptToken(Elt)}else{if(i=="script")return e.acceptToken(Ame);if(i=="style")return e.acceptToken(Cme);if(i=="textarea")return e.acceptToken(Nme);if(Mlt.hasOwnProperty(i))return e.acceptToken(jme);r&&uG[r]&&uG[r][i]?e.acceptToken(TI,-1):e.acceptToken(a9)}},{contextual:!0}),qlt=new us(e=>{for(let t=0,n=0;;n++){if(e.next<0){n&&e.acceptToken(cG);break}if(e.next==Flt)t++;else if(e.next==u_&&t>=2){n>=3&&e.acceptToken(cG,-2);break}else t=0;e.advance()}});function Hlt(e){for(;e;e=e.parent)if(e.name=="svg"||e.name=="math")return!0;return!1}const Xlt=new us((e,t)=>{if(e.next==o9&&e.peek(1)==u_){let n=t.dialectEnabled(Plt)||Hlt(t.context);e.acceptToken(n?vlt:lG,2)}else e.next==u_&&e.acceptToken(lG,1)});function l9(e,t,n){let i=2+e.length;return new us(r=>{for(let s=0,a=0,l=0;;l++){if(r.next<0){l&&r.acceptToken(t);break}if(s==0&&r.next==Pme||s==1&&r.next==o9||s>=2&&sa?r.acceptToken(t,-a):r.acceptToken(n,-(a-2));break}else if((r.next==10||r.next==13)&&l){r.acceptToken(t,1);break}else s=a=0;r.advance()}})}const Glt=l9("script",mlt,glt),Ylt=l9("style",blt,Olt),Wlt=l9("textarea",ylt,xlt),Zlt=df({"Text RawText IncompleteTag IncompleteCloseTag":Y.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":Y.angleBracket,TagName:Y.tagName,"MismatchedCloseTag/TagName":[Y.tagName,Y.invalid],AttributeName:Y.attributeName,"AttributeValue UnquotedAttributeValue":Y.attributeValue,Is:Y.definitionOperator,"EntityReference CharacterReference":Y.character,Comment:Y.blockComment,ProcessingInst:Y.processingInstruction,DoctypeDecl:Y.documentMeta}),Klt=Kd.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:zlt,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Zlt],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let u=l.type.id;if(u==Clt)return _I(l,c,n);if(u==Nlt)return _I(l,c,i);if(u==jlt)return _I(l,c,r);if(u==Rme&&s.length){let d=l.node,f=d.firstChild,h=f&&mG(f,c),p;if(h){for(let b of s)if(b.tag==h&&(!b.attrs||b.attrs(p||(p=Mme(f,c))))){let g=d.lastChild,O=g.type.id==Ilt?g.from:d.to;if(O>f.to)return{parser:b.parser,overlay:[{from:f.to,to:O}]}}}}if(a&&u==Ime){let d=l.node,f;if(f=d.firstChild){let h=a[c.read(f.from,f.to)];if(h)for(let p of h){if(p.tagName&&p.tagName!=mG(d.parent,c))continue;let b=d.lastChild;if(b.type.id==T3){let g=b.from+1,O=b.lastChild,y=b.to-(O&&O.isError?0:1);if(y>g)return{parser:p.parser,overlay:[{from:g,to:y}],bracketed:!0}}else if(b.type.id==Dme)return{parser:p.parser,overlay:[{from:b.from,to:b.to}]}}}}return null})}const Jlt=145,gG=1,ect=146,tct=147,$me=2,nct=148,ict=3,rct=4,Bme=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],sct=58,act=40,Qme=95,oct=91,eT=45,lct=46,cct=35,uct=37,dct=38,fct=92,hct=10,pct=42;function Ov(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function c9(e){return e>=48&&e<=57}function bG(e){return c9(e)||e>=97&&e<=102||e>=65&&e<=70}const Fme=(e,t,n)=>(i,r)=>{for(let s=!1,a=0,l=0;;l++){let{next:c}=i;if(Ov(c)||c==eT||c==Qme||s&&c9(c))!s&&(c!=eT||l>0)&&(s=!0),a===l&&c==eT&&a++,i.advance();else if(c==fct&&i.peek(1)!=hct){if(i.advance(),bG(i.next)){do i.advance();while(bG(i.next));i.next==32&&i.advance()}else i.next>-1&&i.advance();s=!0}else{s&&i.acceptToken(a==2&&r.canShift($me)?t:c==act?n:e);break}}},mct=new us(Fme(ect,$me,tct),{contextual:!0}),gct=new us(Fme(nct,ict,rct),{contextual:!0}),bct=new us(e=>{if(Bme.includes(e.peek(-1))){let{next:t}=e;(Ov(t)||t==Qme||t==cct||t==lct||t==pct||t==oct||t==sct&&Ov(e.peek(1))||t==eT||t==dct)&&e.acceptToken(Jlt)}}),Oct=new us(e=>{if(!Bme.includes(e.peek(-1))){let{next:t}=e;if(t==uct&&(e.advance(),e.acceptToken(gG)),Ov(t)){do e.advance();while(Ov(e.next)||c9(e.next));e.acceptToken(gG)}}}),yct=df({"AtKeyword import charset namespace keyframes media supports font-feature-values":Y.definitionKeyword,"from to selector scope MatchFlag":Y.keyword,NamespaceName:Y.namespace,KeyframeName:Y.labelName,KeyframeRangeName:Y.operatorKeyword,TagName:Y.tagName,ClassName:Y.className,PseudoClassName:Y.constant(Y.className),IdName:Y.labelName,"FeatureName PropertyName":Y.propertyName,AttributeName:Y.attributeName,NumberLiteral:Y.number,KeywordQuery:Y.keyword,UnaryQueryOp:Y.operatorKeyword,"CallTag ValueName FontName":Y.atom,VariableName:Y.variableName,Callee:Y.operatorKeyword,Unit:Y.unit,"UniversalSelector NestingSelector":Y.definitionOperator,"MatchOp CompareOp":Y.compareOperator,"ChildOp SiblingOp, LogicOp":Y.logicOperator,BinOp:Y.arithmeticOperator,Important:Y.modifier,Comment:Y.blockComment,ColorLiteral:Y.color,"ParenthesizedContent StringLiteral":Y.string,":":Y.punctuation,"PseudoOp #":Y.derefOperator,"; , |":Y.separator,"( )":Y.paren,"[ ]":Y.squareBracket,"{ }":Y.brace}),xct={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},vct={__proto__:null,or:104,and:104,not:112,only:112,layer:206},wct={__proto__:null,selector:118,style:124,layer:202},Sct={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},Ect={__proto__:null,to:243},kct=Kd.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[bct,Oct,mct,gct,1,2,3,4,new s_("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:e=>xct[e]||-1},{term:148,get:e=>vct[e]||-1},{term:4,get:e=>wct[e]||-1},{term:28,get:e=>Sct[e]||-1},{term:146,get:e=>Ect[e]||-1}],tokenPrec:2405});let AI=null;function CI(){if(!AI&&typeof document=="object"&&document.body){let{style:e}=document.body,t=[],n=new Set;for(let i in e)i!="cssText"&&i!="cssFloat"&&typeof e[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),n.has(i)||(t.push(i),n.add(i)));AI=t.sort().map(i=>({type:"property",label:i,apply:i+": "}))}return AI||[]}const OG=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(e=>({type:"class",label:e})),yG=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(e=>({type:"keyword",label:e})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(e=>({type:"constant",label:e}))),Tct=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(e=>({type:"type",label:e})),_ct=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(e=>({type:"keyword",label:e})),Ju=/^(\w[\w-]*|-\w[\w-]*|)$/,Act=/^-(-[\w-]*)?$/;function Cct(e,t){var n;if((e.name=="("||e.type.isError)&&(e=e.parent||e),e.name!="ArgList")return!1;let i=(n=e.parent)===null||n===void 0?void 0:n.firstChild;return(i==null?void 0:i.name)!="Callee"?!1:t.sliceString(i.from,i.to)=="var"}const xG=new x8,Nct=["Declaration"];function jct(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function Ume(e,t,n){if(t.to-t.from>4096){let i=xG.get(t);if(i)return i;let r=[],s=new Set,a=t.cursor(Ti.IncludeAnonymous);if(a.firstChild())do for(let l of Ume(e,a.node,n))s.has(l.label)||(s.add(l.label),r.push(l));while(a.nextSibling());return xG.set(t,r),r}else{let i=[],r=new Set;return t.cursor().iterate(s=>{var a;if(n(s)&&s.matchContext(Nct)&&((a=s.node.nextSibling)===null||a===void 0?void 0:a.name)==":"){let l=e.sliceString(s.from,s.to);r.has(l)||(r.add(l),i.push({label:l,type:"variable"}))}}),i}}const Rct=e=>t=>{let{state:n,pos:i}=t,r=Gi(n).resolveInner(i,-1),s=r.type.isError&&r.from==r.to-1&&n.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:CI(),validFor:Ju};if(r.name=="ValueName")return{from:r.from,options:yG,validFor:Ju};if(r.name=="PseudoClassName")return{from:r.from,options:OG,validFor:Ju};if(e(r)||(t.explicit||s)&&Cct(r,n.doc))return{from:e(r)||s?r.from:i,options:Ume(n.doc,jct(r),e),validFor:Act};if(r.name=="TagName"){for(let{parent:c}=r;c;c=c.parent)if(c.name=="Block")return{from:r.from,options:CI(),validFor:Ju};return{from:r.from,options:Tct,validFor:Ju}}if(r.name=="AtKeyword")return{from:r.from,options:_ct,validFor:Ju};if(!t.explicit)return null;let a=r.resolve(i),l=a.childBefore(i);return l&&l.name==":"&&a.name=="PseudoClassSelector"?{from:i,options:OG,validFor:Ju}:l&&l.name==":"&&a.name=="Declaration"||a.name=="ArgList"?{from:i,options:yG,validFor:Ju}:a.name=="Block"||a.name=="Styles"?{from:i,options:CI(),validFor:Ju}:null},Ict=Rct(e=>e.name=="VariableName"),d_=Zd.define({name:"css",parser:kct.configure({props:[ff.add({Declaration:W0()}),hf.add({"Block KeyframeList":_w})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function Dct(){return new zh(d_,d_.data.of({autocomplete:Ict}))}const Cy=["_blank","_self","_top","_parent"],NI=["ascii","utf-8","utf-16","latin1","latin1"],jI=["get","post","put","delete"],RI=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Io=["true","false"],zt={},Pct={a:{attrs:{href:null,ping:null,type:null,media:null,target:Cy,hreflang:null}},abbr:zt,address:zt,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:zt,aside:zt,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:zt,base:{attrs:{href:null,target:Cy}},bdi:zt,bdo:zt,blockquote:{attrs:{cite:null}},body:zt,br:zt,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:RI,formmethod:jI,formnovalidate:["novalidate"],formtarget:Cy,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:zt,center:zt,cite:zt,code:zt,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:zt,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:zt,div:zt,dl:zt,dt:zt,em:zt,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:zt,figure:zt,footer:zt,form:{attrs:{action:null,name:null,"accept-charset":NI,autocomplete:["on","off"],enctype:RI,method:jI,novalidate:["novalidate"],target:Cy}},h1:zt,h2:zt,h3:zt,h4:zt,h5:zt,h6:zt,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:zt,hgroup:zt,hr:zt,html:{attrs:{manifest:null}},i:zt,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:RI,formmethod:jI,formnovalidate:["novalidate"],formtarget:Cy,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:zt,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:zt,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:zt,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:NI,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:zt,noscript:zt,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:zt,param:{attrs:{name:null,value:null}},pre:zt,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:zt,rt:zt,ruby:zt,samp:zt,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:NI}},section:zt,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:zt,source:{attrs:{src:null,type:null,media:null}},span:zt,strong:zt,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:zt,summary:zt,sup:zt,table:zt,tbody:zt,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:zt,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:zt,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:zt,time:{attrs:{datetime:null}},title:zt,tr:zt,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:zt,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:zt},zme={accesskey:null,class:null,contenteditable:Io,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Io,autocorrect:Io,autocapitalize:Io,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Io,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Io,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Io,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Io,"aria-hidden":Io,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Io,"aria-multiselectable":Io,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Io,"aria-relevant":null,"aria-required":Io,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Vme="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of Vme)zme[e]=null;class yv{constructor(t,n){this.tags={...Pct,...t},this.globalAttrs={...zme,...n},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}yv.default=new yv;function zb(e,t,n=e.length){if(!t)return"";let i=t.firstChild,r=i&&i.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,n)):""}function Vb(e,t=!1){for(;e;e=e.parent)if(e.name=="Element")if(t)t=!1;else return e;return null}function qme(e,t,n){let i=n.tags[zb(e,Vb(t))];return(i==null?void 0:i.children)||n.allTags}function u9(e,t){let n=[];for(let i=Vb(t);i&&!i.type.isTop;i=Vb(i.parent)){let r=zb(e,i);if(r&&i.lastChild.name=="CloseTag")break;r&&n.indexOf(r)<0&&(t.name=="EndTag"||t.from>=i.firstChild.to)&&n.push(r)}return n}const Hme=/^[:\-\.\w\u00b7-\uffff]*$/;function vG(e,t,n,i,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">",a=Vb(n,n.name=="StartTag"||n.name=="TagName");return{from:i,to:r,options:qme(e.doc,a,t).map(l=>({label:l,type:"type"})).concat(u9(e.doc,n).map((l,c)=>({label:"/"+l,apply:"/"+l+s,type:"type",boost:99-c}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function wG(e,t,n,i){let r=/\s*>/.test(e.sliceDoc(i,i+5))?"":">";return{from:n,to:i,options:u9(e.doc,t).map((s,a)=>({label:s,apply:s+r,type:"type",boost:99-a})),validFor:Hme}}function Mct(e,t,n,i){let r=[],s=0;for(let a of qme(e.doc,n,t))r.push({label:"<"+a,type:"type"});for(let a of u9(e.doc,n))r.push({label:"",type:"type",boost:99-s++});return{from:i,to:i,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function Lct(e,t,n,i,r){let s=Vb(n),a=s?t.tags[zb(e.doc,s)]:null,l=a&&a.attrs?Object.keys(a.attrs):[],c=a&&a.globalAttrs===!1?l:l.length?l.concat(t.globalAttrNames):t.globalAttrNames;return{from:i,to:r,options:c.map(u=>({label:u,type:"property"})),validFor:Hme}}function $ct(e,t,n,i,r){var s;let a=(s=n.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),l=[],c;if(a){let u=e.sliceDoc(a.from,a.to),d=t.globalAttrs[u];if(!d){let f=Vb(n),h=f?t.tags[zb(e.doc,f)]:null;d=(h==null?void 0:h.attrs)&&h.attrs[u]}if(d){let f=e.sliceDoc(i,r).toLowerCase(),h='"',p='"';/^['"]/.test(f)?(c=f[0]=='"'?/^[^"]*$/:/^[^']*$/,h="",p=e.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),i++):c=/^[^\s<>='"]*$/;for(let b of d)l.push({label:b,apply:h+b+p,type:"constant"})}}return{from:i,to:r,options:l,validFor:c}}function Xme(e,t){let{state:n,pos:i}=t,r=Gi(n).resolveInner(i,-1),s=r.resolve(i);for(let a=i,l;s==r&&(l=r.childBefore(a));){let c=l.lastChild;if(!c||!c.type.isError||c.fromXme(i,r)}const Fct=Su.parser.configure({top:"SingleExpression"}),Gme=[{tag:"script",attrs:e=>e.type=="text/typescript"||e.lang=="ts",parser:tme.parser},{tag:"script",attrs:e=>e.type=="text/babel"||e.type=="text/jsx",parser:nme.parser},{tag:"script",attrs:e=>e.type=="text/typescript-jsx",parser:ime.parser},{tag:"script",attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:Fct},{tag:"script",attrs(e){return!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:Su.parser},{tag:"style",attrs(e){return(!e.lang||e.lang=="css")&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:d_.parser}],Yme=[{name:"style",parser:d_.parser.configure({top:"Styles"})}].concat(Vme.map(e=>({name:e,parser:Su.parser}))),Wme=Zd.define({name:"html",parser:Klt.configure({props:[ff.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit},Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].lengthe.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),tT=Wme.configure({wrap:Lme(Gme,Yme)});function Uct(e={}){let t="",n;e.matchClosingTags===!1&&(t="noMatch"),e.selfClosingTags===!0&&(t=(t?t+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(n=Lme((e.nestedLanguages||[]).concat(Gme),(e.nestedAttributes||[]).concat(Yme)));let i=n?Wme.configure({wrap:n,dialect:t}):t?tT.configure({dialect:t}):tT;return new zh(i,[tT.data.of({autocomplete:Qct(e)}),e.autoCloseTags!==!1?zct:[],v3().support,Dct().support])}const SG=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),zct=ht.inputHandler.of((e,t,n,i,r)=>{if(e.composing||e.state.readOnly||t!=n||i!=">"&&i!="/"||!tT.isActiveAt(e.state,t,-1))return!1;let s=r(),{state:a}=s,l=a.changeByRange(c=>{var u,d,f;let h=a.doc.sliceString(c.from-1,c.to)==i,{head:p}=c,b=Gi(a).resolveInner(p,-1),g;if(h&&i==">"&&b.name=="EndTag"){let O=b.parent;if(((d=(u=O.parent)===null||u===void 0?void 0:u.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(g=zb(a.doc,O.parent,p))&&!SG.has(g)){let y=p+(a.doc.sliceString(p,p+1)===">"?1:0),v=``;return{range:c,changes:{from:p,to:y,insert:v}}}}else if(h&&i=="/"&&b.name=="IncompleteCloseTag"){let O=b.parent;if(b.from==p-2&&((f=O.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(g=zb(a.doc,O,p))&&!SG.has(g)){let y=p+(a.doc.sliceString(p,p+1)===">"?1:0),v=`${g}>`;return{range:Be.cursor(p+v.length,-1),changes:{from:p,to:y,insert:v}}}}return{range:c}});return l.changes.empty?!1:(e.dispatch([s,a.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Zme=AC({commentTokens:{block:{open:""}}}),Kme=new dn,Jme=elt.configure({props:[hf.add(e=>!e.is("Block")||e.is("Document")||A3(e)!=null||Vct(e)?void 0:(t,n)=>({from:n.doc.lineAt(t.from).to,to:t.to})),Kme.add(A3),ff.add({Document:()=>null}),sh.add({Document:Zme})]});function A3(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function Vct(e){return e.name=="OrderedList"||e.name=="BulletList"}function qct(e,t){let n=e;for(;;){let i=n.nextSibling,r;if(!i||(r=A3(i.type))!=null&&r<=t)break;n=i}return n.to}const Hct=Ope.of((e,t,n)=>{for(let i=Gi(e).resolveInner(n,-1);i&&!(i.fromn)return{from:n,to:s}}return null});function d9(e){return new Yo(Zme,e,[],"markdown")}const Xct=d9(Jme),Gct=Jme.configure([dlt,hlt,flt,plt,{props:[hf.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),f_=d9(Gct);function Yct(e,t){return n=>{if(n&&e){let i=null;if(n=/\S*/.exec(n)[0],typeof e=="function"?i=e(n):i=e_.matchLanguageName(e,n,!0),i instanceof e_)return i.support?i.support.language.parser:Rm.getSkippingParser(i.load());if(i)return i.parser}return t?t.parser:null}}let II=class{constructor(t,n,i,r,s,a,l){this.node=t,this.from=n,this.to=i,this.spaceBefore=r,this.spaceAfter=s,this.type=a,this.item=l}blank(t,n=!0){let i=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(t!=null){for(;i.length0;r--)i+=" ";return i+(n?this.spaceAfter:"")}}marker(t,n){let i=this.node.name=="OrderedList"?String(+tge(this.item,t)[2]+n):"";return this.spaceBefore+i+this.type+this.spaceAfter}};function ege(e,t){let n=[],i=[];for(let r=e;r;r=r.parent){if(r.name=="FencedCode")return i;(r.name=="ListItem"||r.name=="Blockquote")&&n.push(r)}for(let r=n.length-1;r>=0;r--){let s=n[r],a,l=t.lineAt(s.from),c=s.from-l.from;if(s.name=="Blockquote"&&(a=/^ *>( ?)/.exec(l.text.slice(c))))i.push(new II(s,c,c+a[0].length,"",a[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(a=/^( *)\d+([.)])( *)/.exec(l.text.slice(c)))){let u=a[3],d=a[0].length;u.length>=4&&(u=u.slice(0,u.length-4),d-=4),i.push(new II(s.parent,c,c+d,a[1],u,a[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(a=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(l.text.slice(c)))){let u=a[4],d=a[0].length;u.length>4&&(u=u.slice(0,u.length-4),d-=4);let f=a[2];a[3]&&(f+=a[3].replace(/[xX]/," ")),i.push(new II(s.parent,c,c+d,a[1],u,f,s))}}return i}function tge(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function DI(e,t,n,i=0){for(let r=-1,s=e;;){if(s.name=="ListItem"){let l=tge(s,t),c=+l[2];if(r>=0){if(c!=r+1)return;n.push({from:s.from+l[1].length,to:s.from+l[0].length,insert:String(r+2+i)})}r=c}let a=s.nextSibling;if(!a)break;s=a}}function f9(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(DO)!=" ")return e;let i=Tc(e,4,n),r="";for(let s=i;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+e.slice(n)}const Wct=(e={})=>({state:t,dispatch:n})=>{let i=Gi(t),{doc:r}=t,s=null,a=t.changeByRange(l=>{if(!l.empty||!f_.isActiveAt(t,l.from,-1)&&!f_.isActiveAt(t,l.from,1))return s={range:l};let c=l.from,u=r.lineAt(c),d=ege(i.resolveInner(c,-1),r);for(;d.length&&d[d.length-1].from>c-u.from;)d.pop();if(!d.length)return s={range:l};let f=d[d.length-1];if(f.to-f.spaceAfter.length>c-u.from)return s={range:l};let h=c>=f.to-f.spaceAfter.length&&!/\S/.test(u.text.slice(f.to));if(f.item&&h){let y=f.node.firstChild,v=f.node.getChild("ListItem","ListItem");if(y.to>=c||v&&v.to0&&!/[^\s>]/.test(r.lineAt(u.from-1).text)||e.nonTightLists===!1){let x=d.length>1?d[d.length-2]:null,w,S="";x&&x.item?(w=u.from+x.from,S=x.marker(r,1)):w=u.from+(x?x.to:0);let E=[{from:w,to:c,insert:S}];return f.node.name=="OrderedList"&&DI(f.item,r,E,-2),x&&x.node.name=="OrderedList"&&DI(x.item,r,E),{range:Be.cursor(w+S.length),changes:E}}else{let x=kG(d,t,u);return{range:Be.cursor(c+x.length+1),changes:{from:u.from,insert:x+t.lineBreak}}}}if(f.node.name=="Blockquote"&&h&&u.from){let y=r.lineAt(u.from-1),v=/>\s*$/.exec(y.text);if(v&&v.index==f.from){let x=t.changes([{from:y.from+v.index,to:y.to},{from:u.from+f.from,to:u.to}]);return{range:l.map(x),changes:x}}}let p=[];f.node.name=="OrderedList"&&DI(f.item,r,p);let b=f.item&&f.item.from]*/.exec(u.text)[0].length>=f.to)for(let y=0,v=d.length-1;y<=v;y++)g+=y==v&&!b?d[y].marker(r,1):d[y].blank(yu.from&&/\s/.test(u.text.charAt(O-u.from-1));)O--;return g=f9(g,t),Kct(f.node,t.doc)&&(g=kG(d,t,u)+t.lineBreak+g),p.push({from:O,to:c,insert:t.lineBreak+g}),{range:Be.cursor(O+g.length+1),changes:p}});return s?!1:(n(t.update(a,{scrollIntoView:!0,userEvent:"input"})),!0)},Zct=Wct();function EG(e){return e.name=="QuoteMark"||e.name=="ListMark"}function Kct(e,t){if(e.name!="OrderedList"&&e.name!="BulletList")return!1;let n=e.firstChild,i=e.getChild("ListItem","ListItem");if(!i)return!1;let r=t.lineAt(n.to),s=t.lineAt(i.from),a=/^[\s>]*$/.test(r.text);return r.number+(a?0:1){let n=Gi(e),i=null,r=e.changeByRange(s=>{let a=s.from,{doc:l}=e;if(s.empty&&f_.isActiveAt(e,s.from)){let c=l.lineAt(a),u=ege(Jct(n,a),l);if(u.length){let d=u[u.length-1],f=d.to-d.spaceAfter.length+(d.spaceAfter?1:0);if(a-c.from>f&&!/\S/.test(c.text.slice(f,a-c.from)))return{range:Be.cursor(c.from+f),changes:{from:c.from+f,to:a}};if(a-c.from==f&&(d.item&&c.from<=d.item.from||/^[\s>]*$/.test(c.text.slice(0,d.to)))){let h=c.from+d.from;if(d.item&&d.node.from{var n;let{main:i}=t.state.selection;if(i.empty)return!1;let r=(n=e.clipboardData)===null||n===void 0?void 0:n.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!f_.isActiveAt(t.state,i.from,1)))return!1;let s=Gi(t.state),a=!1;return s.iterate({from:i.from,to:i.to,enter:l=>{(l.from>i.from||sut.test(l.name))&&(a=!0)},leave:l=>{l.to=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}const adt=new us((e,t)=>{let n;if(e.next<0)e.acceptToken(uut);else if(t.context.flags&nT)MI(e.next)&&e.acceptToken(cut,1);else if(((n=e.peek(-1))<0||MI(n))&&t.canShift(TG)){let i=0;for(;e.next==h9||e.next==DC;)e.advance(),i++;(e.next==Pm||e.next==xv||e.next==p9)&&e.acceptToken(TG,-i)}else MI(e.next)&&e.acceptToken(lut,1)},{contextual:!0}),odt=new us((e,t)=>{let n=t.context;if(n.flags)return;let i=e.peek(-1);if(i==Pm||i==xv){let r=0,s=0;for(;;){if(e.next==h9)r++;else if(e.next==DC)r+=8-r%8;else break;e.advance(),s++}r!=n.indent&&e.next!=Pm&&e.next!=xv&&e.next!=p9&&(r[e,t|cge])),udt=new jC({start:ldt,reduce(e,t,n,i){return e.flags&nT&&sdt.has(t)||(t==_ut||t==age)&&e.flags&cge?e.parent:e},shift(e,t,n,i){return t==ige?new iT(e,cdt(i.read(i.pos,n.pos)),0):t==rge?e.parent:t==hut||t==but||t==xut||t==sge?new iT(e,0,nT):NG.has(t)?new iT(e,0,NG.get(t)|e.flags&nT):e},hash(e){return e.hash}}),ddt=new us(e=>{for(let t=0;t<5;t++){if(e.next!="print".charCodeAt(t))return;e.advance()}if(!/\w/.test(String.fromCharCode(e.next)))for(let t=0;;t++){let n=e.peek(t);if(!(n==h9||n==DC)){n!=Kut&&n!=Jut&&n!=Pm&&n!=xv&&n!=p9&&e.acceptToken(out);return}}}),fdt=new us((e,t)=>{let{flags:n}=t.context,i=n&sd?lge:oge,r=(n&ad)>0,s=!(n&od),a=(n&ld)>0,l=e.pos;for(;!(e.next<0);)if(a&&e.next==C3)if(e.peek(1)==C3)e.advance(2);else{if(e.pos==l){e.acceptToken(sge,1);return}break}else if(s&&e.next==CG){if(e.pos==l){e.advance();let c=e.next;c>=0&&(e.advance(),hdt(e,c)),e.acceptToken(fut);return}break}else if(e.next==CG&&!s&&e.peek(1)>-1)e.advance(2);else if(e.next==i&&(!r||e.peek(1)==i&&e.peek(2)==i)){if(e.pos==l){e.acceptToken(_G,r?3:1);return}break}else if(e.next==Pm){if(r)e.advance();else if(e.pos==l){e.acceptToken(_G);return}break}else e.advance();e.pos>l&&e.acceptToken(dut)});function hdt(e,t){if(t==edt)for(let n=0;n<2&&e.next>=48&&e.next<=55;n++)e.advance();else if(t==tdt)for(let n=0;n<2&&LI(e.next);n++)e.advance();else if(t==idt)for(let n=0;n<4&&LI(e.next);n++)e.advance();else if(t==rdt)for(let n=0;n<8&&LI(e.next);n++)e.advance();else if(t==ndt&&e.next==C3){for(e.advance();e.next>=0&&e.next!=AG&&e.next!=oge&&e.next!=lge&&e.next!=Pm;)e.advance();e.next==AG&&e.advance()}}const pdt=df({'async "*" "**" FormatConversion FormatSpec':Y.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":Y.controlKeyword,"in not and or is del":Y.operatorKeyword,"from def class global nonlocal lambda":Y.definitionKeyword,import:Y.moduleKeyword,"with as print":Y.keyword,Boolean:Y.bool,None:Y.null,VariableName:Y.variableName,"CallExpression/VariableName":Y.function(Y.variableName),"FunctionDefinition/VariableName":Y.function(Y.definition(Y.variableName)),"ClassDefinition/VariableName":Y.definition(Y.className),PropertyName:Y.propertyName,"CallExpression/MemberExpression/PropertyName":Y.function(Y.propertyName),Comment:Y.lineComment,Number:Y.number,String:Y.string,FormatString:Y.special(Y.string),Escape:Y.escape,UpdateOp:Y.updateOperator,"ArithOp!":Y.arithmeticOperator,BitOp:Y.bitwiseOperator,CompareOp:Y.compareOperator,AssignOp:Y.definitionOperator,Ellipsis:Y.punctuation,At:Y.meta,"( )":Y.paren,"[ ]":Y.squareBracket,"{ }":Y.brace,".":Y.derefOperator,", ;":Y.separator}),mdt={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},gdt=Kd.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[ddt,odt,adt,fdt,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:e=>mdt[e]||-1}],tokenPrec:7668}),jG=new x8,uge=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function zE(e){return(t,n,i)=>{if(i)return!1;let r=t.node.getChild("VariableName");return r&&n(r,e),!0}}const bdt={FunctionDefinition:zE("function"),ClassDefinition:zE("class"),ForStatement(e,t,n){if(n){for(let i=e.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")t(i,"variable");else if(i.name=="in")break}},ImportStatement(e,t){var n,i;let{node:r}=e,s=((n=r.firstChild)===null||n===void 0?void 0:n.name)=="from";for(let a=r.getChild("import");a;a=a.nextSibling)a.name=="VariableName"&&((i=a.nextSibling)===null||i===void 0?void 0:i.name)!="as"&&t(a,s?"variable":"namespace")},AssignStatement(e,t){for(let n=e.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")t(n,"variable");else if(n.name==":"||n.name=="AssignOp")break},ParamList(e,t){for(let n=null,i=e.node.firstChild;i;i=i.nextSibling)i.name=="VariableName"&&(!n||!/\*|AssignOp/.test(n.name))&&t(i,"variable"),n=i},CapturePattern:zE("variable"),AsPattern:zE("variable"),__proto__:null};function dge(e,t){let n=jG.get(t);if(n)return n;let i=[],r=!0;function s(a,l){let c=e.sliceString(a.from,a.to);i.push({label:c,type:l})}return t.cursor(Ti.IncludeAnonymous).iterate(a=>{if(a.name){let l=bdt[a.name];if(l&&l(a,s,r)||!r&&uge.has(a.name))return!1;r=!1}else if(a.to-a.from>8192){for(let l of dge(e,a.node))i.push(l);return!1}}),jG.set(t,i),i}const RG=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,fge=["String","FormatString","Comment","PropertyName"];function Odt(e){let t=Gi(e.state).resolveInner(e.pos,-1);if(fge.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&RG.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let i=[];for(let r=t;r;r=r.parent)uge.has(r.name)&&(i=i.concat(dge(e.state.doc,r)));return{options:i,from:n?t.from:e.pos,validFor:RG}}const ydt=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(e=>({label:e,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(e=>({label:e,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(e=>({label:e,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(e=>({label:e,type:"function"}))),xdt=[Lr("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),Lr("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),Lr("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),Lr("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),Lr(`if \${}: - + `,{label:"if",detail:"block",type:"keyword"}),Lr("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),Lr("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),Lr("import ${module}",{label:"import",detail:"statement",type:"keyword"}),Lr("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],vdt=Qpe(fge,X8(ydt.concat(xdt)));function $I(e){let{node:t,pos:n}=e,i=e.lineIndent(n,-1),r=null;for(;;){let s=t.childBefore(n);if(s)if(s.name=="Comment")n=s.from;else if(s.name=="Body"||s.name=="MatchBody")e.baseIndentFor(s)+e.unit<=i&&(r=s),t=s;else if(s.name=="MatchClause")t=s;else if(s.type.is("Statement"))t=s;else break;else break}return r}function BI(e,t){let n=e.baseIndentFor(t),i=e.lineAt(e.pos,-1),r=i.from+i.text.length;return/^\s*($|#)/.test(i.text)&&e.node.ton?null:n+e.unit}const QI=Zd.define({name:"python",parser:gdt.configure({props:[ff.add({Body:e=>{var t;let n=/^\s*(#|$)/.test(e.textAfter)&&$I(e)||e.node;return(t=BI(e,n))!==null&&t!==void 0?t:e.continue()},MatchBody:e=>{var t;let n=$I(e);return(t=BI(e,n||e.node))!==null&&t!==void 0?t:e.continue()},IfStatement:e=>/^\s*(else:|elif )/.test(e.textAfter)?e.baseIndent:e.continue(),"ForStatement WhileStatement":e=>/^\s*else:/.test(e.textAfter)?e.baseIndent:e.continue(),TryStatement:e=>/^\s*(except[ :]|finally:|else:)/.test(e.textAfter)?e.baseIndent:e.continue(),MatchStatement:e=>/^\s*case /.test(e.textAfter)?e.baseIndent+e.unit:e.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":Y0({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":Y0({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":Y0({closing:"]"}),MemberExpression:e=>e.baseIndent+e.unit,"String FormatString":()=>null,Script:e=>{var t;let n=$I(e);return(t=n&&BI(e,n))!==null&&t!==void 0?t:e.continue()}}),hf.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":_w,Body:(e,t)=>({from:e.from+1,to:e.to-(e.to==t.doc.length?0:1)}),"String FormatString":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function wdt(){return new zh(QI,[QI.data.of({autocomplete:Odt}),QI.data.of({autocomplete:vdt})])}const Xg=63,IG=64,Sdt=1,Edt=2,hge=3,kdt=4,pge=5,Tdt=6,_dt=7,mge=65,Adt=66,Cdt=8,Ndt=9,jdt=10,Rdt=11,Idt=12,gge=13,Ddt=19,Pdt=20,Mdt=29,Ldt=33,$dt=34,Bdt=47,Qdt=0,m9=1,N3=2,vv=3,j3=4;class $p{constructor(t,n,i){this.parent=t,this.depth=n,this.type=i,this.hash=(t?t.hash+t.hash<<8:0)+n+(n<<4)+i}}$p.top=new $p(null,-1,Qdt);function ex(e,t){for(let n=0,i=t-e.pos-1;;i--,n++){let r=e.peek(i);if(Jd(r)||r==-1)return n}}function R3(e){return e==32||e==9}function Jd(e){return e==10||e==13}function bge(e){return R3(e)||Jd(e)}function Wp(e){return e<0||bge(e)}const Fdt=new jC({start:$p.top,reduce(e,t){return e.type==vv&&(t==Pdt||t==$dt)?e.parent:e},shift(e,t,n,i){if(t==hge)return new $p(e,ex(i,i.pos),m9);if(t==mge||t==pge)return new $p(e,ex(i,i.pos),N3);if(t==Xg)return e.parent;if(t==Ddt||t==Ldt)return new $p(e,0,vv);if(t==gge&&e.type==j3)return e.parent;if(t==Bdt){let r=/[1-9]/.exec(i.read(i.pos,n.pos));if(r)return new $p(e,e.depth+ +r[0],j3)}return e},hash(e){return e.hash}});function qb(e,t,n=0){return e.peek(n)==t&&e.peek(n+1)==t&&e.peek(n+2)==t&&Wp(e.peek(n+3))}const Udt=new us((e,t)=>{if(e.next==-1&&t.canShift(IG))return e.acceptToken(IG);let n=e.peek(-1);if((Jd(n)||n<0)&&t.context.type!=vv){if(qb(e,45))if(t.canShift(Xg))e.acceptToken(Xg);else return e.acceptToken(Sdt,3);if(qb(e,46))if(t.canShift(Xg))e.acceptToken(Xg);else return e.acceptToken(Edt,3);let i=0;for(;e.next==32;)i++,e.advance();(i{if(t.context.type==vv){e.next==63&&(e.advance(),Wp(e.next)&&e.acceptToken(_dt));return}if(e.next==45)e.advance(),Wp(e.next)&&e.acceptToken(t.context.type==m9&&t.context.depth==ex(e,e.pos-1)?kdt:hge);else if(e.next==63)e.advance(),Wp(e.next)&&e.acceptToken(t.context.type==N3&&t.context.depth==ex(e,e.pos-1)?Tdt:pge);else{let n=e.pos;for(;;)if(R3(e.next)){if(e.pos==n)return;e.advance()}else if(e.next==33)Oge(e);else if(e.next==38)I3(e);else if(e.next==42){I3(e);break}else if(e.next==39||e.next==34){if(g9(e,!0))break;return}else if(e.next==91||e.next==123){if(!qdt(e))return;break}else{yge(e,!0,!1,0);break}for(;R3(e.next);)e.advance();if(e.next==58){if(e.pos==n&&t.canShift(Mdt))return;let i=e.peek(1);Wp(i)&&e.acceptTokenTo(t.context.type==N3&&t.context.depth==ex(e,n)?Adt:mge,n)}}},{contextual:!0});function Vdt(e){return e>32&&e<127&&e!=34&&e!=37&&e!=44&&e!=60&&e!=62&&e!=92&&e!=94&&e!=96&&e!=123&&e!=124&&e!=125}function DG(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function PG(e,t){return e.next==37?(e.advance(),DG(e.next)&&e.advance(),DG(e.next)&&e.advance(),!0):Vdt(e.next)||t&&e.next==44?(e.advance(),!0):!1}function Oge(e){if(e.advance(),e.next==60){for(e.advance();;)if(!PG(e,!0)){e.next==62&&e.advance();break}}else for(;PG(e,!1););}function I3(e){for(e.advance();!Wp(e.next)&&h_(e.next)!="f";)e.advance()}function g9(e,t){let n=e.next,i=!1,r=e.pos;for(e.advance();;){let s=e.next;if(s<0)break;if(e.advance(),s==n)if(s==39)if(e.next==39)e.advance();else break;else break;else if(s==92&&n==34)e.next>=0&&e.advance();else if(Jd(s)){if(t)return!1;i=!0}else if(t&&e.pos>=r+1024)return!1}return!i}function qdt(e){for(let t=[],n=e.pos+1024;;)if(e.next==91||e.next==123)t.push(e.next),e.advance();else if(e.next==39||e.next==34){if(!g9(e,!0))return!1}else if(e.next==93||e.next==125){if(t[t.length-1]!=e.next-2)return!1;if(t.pop(),e.advance(),!t.length)return!0}else{if(e.next<0||e.pos>n||Jd(e.next))return!1;e.advance()}}const Hdt="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function h_(e){return e<33?"u":e>125?"s":Hdt[e-33]}function FI(e,t){let n=h_(e);return n!="u"&&!(t&&n=="f")}function yge(e,t,n,i){if(h_(e.next)=="s"||(e.next==63||e.next==58||e.next==45)&&FI(e.peek(1),n))e.advance();else return!1;let r=e.pos;for(;;){let s=e.next,a=0,l=i+1;for(;bge(s);){if(Jd(s)){if(t)return!1;l=0}else l++;s=e.peek(++a)}if(!(s>=0&&(s==58?FI(e.peek(a+1),n):s==35?e.peek(a-1)!=32:FI(s,n)))||!n&&l<=i||l==0&&!n&&(qb(e,45,a)||qb(e,46,a)))break;if(t&&h_(s)=="f")return!1;for(let u=a;u>=0;u--)e.advance();if(t&&e.pos>r+1024)return!1}return!0}const Xdt=new us((e,t)=>{if(e.next==33)Oge(e),e.acceptToken(Idt);else if(e.next==38||e.next==42){let n=e.next==38?jdt:Rdt;I3(e),e.acceptToken(n)}else e.next==39||e.next==34?(g9(e,!1),e.acceptToken(Ndt)):yge(e,!1,t.context.type==vv,t.context.depth)&&e.acceptToken(Cdt)}),Gdt=new us((e,t)=>{let n=t.context.type==j3?t.context.depth:-1,i=e.pos;e:for(;;){let r=0,s=e.next;for(;s==32;)s=e.peek(++r);if(!r&&(qb(e,45,r)||qb(e,46,r))||!Jd(s)&&(n<0&&(n=Math.max(t.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:Fdt,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[Ydt],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[Udt,zdt,Xdt,Gdt,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),Zdt=Zd.define({name:"yaml",parser:Wdt.configure({props:[ff.add({Stream:e=>{for(let t=e.node.resolve(e.pos,-1);t&&t.to>=e.pos;t=t.parent){if(t.name=="BlockLiteralContent"&&t.frome.pos)return null}}return null},FlowMapping:Y0({closing:"}"}),FlowSequence:Y0({closing:"]"})}),hf.add({"FlowMapping FlowSequence":_w,"Item Pair BlockLiteral":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function Kdt(){return new zh(Zdt)}function Jdt(e){xge(e,"start");var t={},n=e.languageData||{},i=!1;for(var r in e)if(r!=n&&e.hasOwnProperty(r))for(var s=t[r]=[],a=e[r],l=0;l2&&a.token&&typeof a.token!="string"){n.pending=[];for(var u=2;u-1)return null;var r=n.indent.length-1,s=e[n.state];e:for(;;){for(var a=0;a{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),i=O9(e.state,n.from);return i.line?mft(e):i.block?bft(e):!1};function b9(e,t){return({state:n,dispatch:i})=>{if(n.readOnly)return!1;let r=e(t,n);return r?(i(n.update(r)),!0):!1}}const mft=b9(xft,0),gft=b9(kge,0),bft=b9((e,t)=>kge(e,t,yft(t)),0);function O9(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const Ny=50;function Oft(e,{open:t,close:n},i,r){let s=e.sliceDoc(i-Ny,i),a=e.sliceDoc(r,r+Ny),l=/\s*$/.exec(s)[0].length,c=/^\s*/.exec(a)[0].length,u=s.length-l;if(s.slice(u-t.length,u)==t&&a.slice(c,c+n.length)==n)return{open:{pos:i-l,margin:l&&1},close:{pos:r+c,margin:c&&1}};let d,f;r-i<=2*Ny?d=f=e.sliceDoc(i,r):(d=e.sliceDoc(i,i+Ny),f=e.sliceDoc(r-Ny,r));let h=/^\s*/.exec(d)[0].length,p=/\s*$/.exec(f)[0].length,b=f.length-p-n.length;return d.slice(h,h+t.length)==t&&f.slice(b,b+n.length)==n?{open:{pos:i+h+t.length,margin:/\s/.test(d.charAt(h+t.length))?1:0},close:{pos:r-p-n.length,margin:/\s/.test(f.charAt(b-1))?1:0}}:null}function yft(e){let t=[];for(let n of e.selection.ranges){let i=e.doc.lineAt(n.from),r=n.to<=i.to?i:e.doc.lineAt(n.to);r.from>i.from&&r.from==n.to&&(r=n.to==i.to+1?i:e.doc.lineAt(n.to-1));let s=t.length-1;s>=0&&t[s].to>i.from?t[s].to=r.to:t.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return t}function kge(e,t,n=t.selection.ranges){let i=n.map(s=>O9(t,s.from).block);if(!i.every(s=>s))return null;let r=n.map((s,a)=>Oft(t,i[a],s.from,s.to));if(e!=2&&!r.every(s=>s))return{changes:t.changes(n.map((s,a)=>r[a]?[]:[{from:s.from,insert:i[a].open+" "},{from:s.to,insert:" "+i[a].close}]))};if(e!=1&&r.some(s=>s)){let s=[];for(let a=0,l;ar&&(s==a||a>f.from)){r=f.from;let h=/^\s*/.exec(f.text)[0].length,p=h==f.length,b=f.text.slice(h,h+u.length)==u?h:-1;hs.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:l,token:c,indent:u,empty:d,single:f}of i)(f||!d)&&s.push({from:l.from+u,insert:c+" "});let a=t.changes(s);return{changes:a,selection:t.selection.map(a,1)}}else if(e!=1&&i.some(s=>s.comment>=0)){let s=[];for(let{line:a,comment:l,token:c}of i)if(l>=0){let u=a.from+l,d=u+c.length;a.text[d-a.from]==" "&&d++,s.push({from:u,to:d})}return{changes:s}}return null}const P3=Mu.define(),vft=Mu.define(),wft=Et.define(),Tge=Et.define({combine(e){return Lu(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(i,r)=>t(i,r)||n(i,r)})}}),_ge=fa.define({create(){return gu.empty},update(e,t){let n=t.state.facet(Tge),i=t.annotation(P3);if(i){let c=po.fromTransaction(t,i.selection),u=i.side,d=u==0?e.undone:e.done;return c?d=p_(d,d.length,n.minDepth,c):d=Nge(d,t.startState.selection),new gu(u==0?i.rest:d,u==0?d:i.rest)}let r=t.annotation(vft);if((r=="full"||r=="before")&&(e=e.isolate()),t.annotation(xs.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let s=po.fromTransaction(t),a=t.annotation(xs.time),l=t.annotation(xs.userEvent);return s?e=e.addChanges(s,a,l,n,t):t.selection&&(e=e.addSelection(t.startState.selection,a,l,n.newGroupDelay)),(r=="full"||r=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new gu(e.done.map(po.fromJSON),e.undone.map(po.fromJSON))}});function Sft(e={}){return[_ge,Tge.of(e),ht.domEventHandlers({beforeinput(t,n){let i=t.inputType=="historyUndo"?Age:t.inputType=="historyRedo"?M3:null;return i?(t.preventDefault(),i(n)):!1}})]}function PC(e,t){return function({state:n,dispatch:i}){if(!t&&n.readOnly)return!1;let r=n.field(_ge,!1);if(!r)return!1;let s=r.pop(e,n,t);return s?(i(s),!0):!1}}const Age=PC(0,!1),M3=PC(1,!1),Eft=PC(0,!0),kft=PC(1,!0);class po{constructor(t,n,i,r,s){this.changes=t,this.effects=n,this.mapped=i,this.startSelection=r,this.selectionsAfter=s}setSelAfter(t){return new po(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,i;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(t){return new po(t.changes&&As.fromJSON(t.changes),[],t.mapped&&wu.fromJSON(t.mapped),t.startSelection&&Be.fromJSON(t.startSelection),t.selectionsAfter.map(Be.fromJSON))}static fromTransaction(t,n){let i=Ml;for(let r of t.startState.facet(wft)){let s=r(t);s.length&&(i=i.concat(s))}return!i.length&&t.changes.empty?null:new po(t.changes.invert(t.startState.doc),i,void 0,n||t.startState.selection,Ml)}static selection(t){return new po(void 0,Ml,void 0,void 0,t)}}function p_(e,t,n,i){let r=t+1>n+20?t-n-1:0,s=e.slice(r,t);return s.push(i),s}function Tft(e,t){let n=[],i=!1;return e.iterChangedRanges((r,s)=>n.push(r,s)),t.iterChangedRanges((r,s,a,l)=>{for(let c=0;c=u&&a<=d&&(i=!0)}}),i}function _ft(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,i)=>n.empty!=t.ranges[i].empty).length===0}function Cge(e,t){return e.length?t.length?e.concat(t):e:t}const Ml=[],Aft=200;function Nge(e,t){if(e.length){let n=e[e.length-1],i=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-Aft));return i.length&&i[i.length-1].eq(t)?e:(i.push(t),p_(e,e.length-1,1e9,n.setSelAfter(i)))}else return[po.selection([t])]}function Cft(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function UI(e,t){if(!e.length)return e;let n=e.length,i=Ml;for(;n;){let r=Nft(e[n-1],t,i);if(r.changes&&!r.changes.empty||r.effects.length){let s=e.slice(0,n);return s[n-1]=r,s}else t=r.mapped,n--,i=r.selectionsAfter}return i.length?[po.selection(i)]:Ml}function Nft(e,t,n){let i=Cge(e.selectionsAfter.length?e.selectionsAfter.map(l=>l.map(t)):Ml,n);if(!e.changes)return po.selection(i);let r=e.changes.map(t),s=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(s):s;return new po(r,fn.mapEffects(e.effects,t),a,e.startSelection.map(s),i)}const jft=/^(input\.type|delete)($|\.)/;class gu{constructor(t,n,i=0,r=void 0){this.done=t,this.undone=n,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new gu(this.done,this.undone):this}addChanges(t,n,i,r,s){let a=this.done,l=a[a.length-1];return l&&l.changes&&!l.changes.empty&&t.changes&&(!i||jft.test(i))&&(!l.selectionsAfter.length&&n-this.prevTime0&&n-this.prevTimen.empty?e.moveByChar(n,t):MC(n,t))}function ja(e){return e.textDirectionAt(e.state.selection.main.head)==er.LTR}const Rge=e=>jge(e,!ja(e)),Ige=e=>jge(e,ja(e));function Dge(e,t){return Mc(e,n=>n.empty?e.moveByGroup(n,t):MC(n,t))}const Ift=e=>Dge(e,!ja(e)),Dft=e=>Dge(e,ja(e));function Pft(e,t,n){if(t.type.prop(n))return!0;let i=t.to-t.from;return i&&(i>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function LC(e,t,n){let i=Gi(e).resolveInner(t.head),r=n?dn.closedBy:dn.openedBy;for(let c=t.head;;){let u=n?i.childAfter(c):i.childBefore(c);if(!u)break;Pft(e,u,r)?i=u:c=n?u.to:u.from}let s=i.type.prop(r),a,l;return s&&(a=n?mu(e,i.from,1):mu(e,i.to,-1))&&a.matched?l=n?a.end.to:a.end.from:l=n?i.to:i.from,Be.cursor(l,n?-1:1)}const Mft=e=>Mc(e,t=>LC(e.state,t,!ja(e))),Lft=e=>Mc(e,t=>LC(e.state,t,ja(e)));function Pge(e,t){return Mc(e,n=>{if(!n.empty)return MC(n,t);let i=e.moveVertically(n,t);return i.head!=n.head?i:e.moveToLineBoundary(n,t)})}const Mge=e=>Pge(e,!1),Lge=e=>Pge(e,!0);function $ge(e){let t=e.scrollDOM.clientHeighta.empty?e.moveVertically(a,t,n.height):MC(a,t));if(r.eq(i.selection))return!1;let s;if(n.selfScroll){let a=e.coordsAtPos(i.selection.main.head),l=e.scrollDOM.getBoundingClientRect(),c=l.top+n.marginTop,u=l.bottom-n.marginBottom;a&&a.top>c&&a.bottomBge(e,!1),L3=e=>Bge(e,!0);function Jh(e,t,n){let i=e.lineBlockAt(t.head),r=e.moveToLineBoundary(t,n);if(r.head==t.head&&r.head!=(n?i.to:i.from)&&(r=e.moveToLineBoundary(t,n,!1)),!n&&r.head==i.from&&i.length){let s=/^\s*/.exec(e.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;s&&t.head!=i.from+s&&(r=Be.cursor(i.from+s))}return r}const $ft=e=>Mc(e,t=>Jh(e,t,!0)),Bft=e=>Mc(e,t=>Jh(e,t,!1)),Qft=e=>Mc(e,t=>Jh(e,t,!ja(e))),Fft=e=>Mc(e,t=>Jh(e,t,ja(e))),Uft=e=>Mc(e,t=>Be.cursor(e.lineBlockAt(t.head).from,1)),zft=e=>Mc(e,t=>Be.cursor(e.lineBlockAt(t.head).to,-1));function Vft(e,t,n){let i=!1,r=MO(e.selection,s=>{let a=mu(e,s.head,-1)||mu(e,s.head,1)||s.head>0&&mu(e,s.head-1,1)||s.headVft(e,t);function Yl(e,t,n){let i=MO(e.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=t&&(r=Be.range(r.head,r.anchor));let s=n(r);return Be.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return i.eq(e.state.selection)?!1:(e.dispatch(Pc(e.state,i)),!0)}function Qge(e,t){return Yl(e,t,n=>e.moveByChar(n,t))}const Fge=e=>Qge(e,!ja(e)),Uge=e=>Qge(e,ja(e));function zge(e,t){return Yl(e,t,n=>e.moveByGroup(n,t))}const Hft=e=>zge(e,!ja(e)),Xft=e=>zge(e,ja(e)),Gft=e=>{let t=!ja(e);return Yl(e,t,n=>LC(e.state,n,t))},Yft=e=>{let t=ja(e);return Yl(e,t,n=>LC(e.state,n,t))};function Vge(e,t){return Yl(e,t,n=>e.moveVertically(n,t))}const qge=e=>Vge(e,!1),Hge=e=>Vge(e,!0);function Xge(e,t){return Yl(e,t,n=>e.moveVertically(n,t,$ge(e).height))}const LG=e=>Xge(e,!1),$G=e=>Xge(e,!0),Wft=e=>Yl(e,!0,t=>Jh(e,t,!0)),Zft=e=>Yl(e,!1,t=>Jh(e,t,!1)),Kft=e=>{let t=!ja(e);return Yl(e,t,n=>Jh(e,n,t))},Jft=e=>{let t=ja(e);return Yl(e,t,n=>Jh(e,n,t))},eht=e=>Yl(e,!1,t=>Be.cursor(e.lineBlockAt(t.head).from)),tht=e=>Yl(e,!0,t=>Be.cursor(e.lineBlockAt(t.head).to)),BG=({state:e,dispatch:t})=>(t(Pc(e,{anchor:0})),!0),QG=({state:e,dispatch:t})=>(t(Pc(e,{anchor:e.doc.length})),!0),FG=({state:e,dispatch:t})=>(t(Pc(e,{anchor:e.selection.main.anchor,head:0})),!0),UG=({state:e,dispatch:t})=>(t(Pc(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),nht=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),iht=({state:e,dispatch:t})=>{let n=$C(e).map(({from:i,to:r})=>Be.range(i,Math.min(r+1,e.doc.length)));return t(e.update({selection:Be.create(n),userEvent:"select"})),!0},rht=({state:e,dispatch:t})=>{let n=MO(e.selection,i=>{let r=Gi(e),s=r.resolveStack(i.from,1);if(i.empty){let a=r.resolveStack(i.from,-1);a.node.from>=s.node.from&&a.node.to<=s.node.to&&(s=a)}for(let a=s;a;a=a.next){let{node:l}=a;if((l.from=i.to||l.to>i.to&&l.from<=i.from)&&a.next)return Be.range(l.to,l.from)}return i});return n.eq(e.selection)?!1:(t(Pc(e,n)),!0)};function Gge(e,t){let{state:n}=e,i=n.selection,r=n.selection.ranges.slice();for(let s of n.selection.ranges){let a=n.doc.lineAt(s.head);if(t?a.to0)for(let l=s;;){let c=e.moveVertically(l,t);if(c.heada.to){r.some(u=>u.head==c.head)||r.push(c);break}else{if(c.head==l.head)break;l=c}}}return r.length==i.ranges.length?!1:(e.dispatch(Pc(n,Be.create(r,r.length-1))),!0)}const sht=e=>Gge(e,!1),aht=e=>Gge(e,!0),oht=({state:e,dispatch:t})=>{let n=e.selection,i=null;return n.ranges.length>1?i=Be.create([n.main]):n.main.empty||(i=Be.create([Be.cursor(n.main.head)])),i?(t(Pc(e,i)),!0):!1};function jw(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:i}=e,r=i.changeByRange(s=>{let{from:a,to:l}=s;if(a==l){let c=t(s);ca&&(n="delete.forward",c=VE(e,c,!0)),a=Math.min(a,c),l=Math.max(l,c)}else a=VE(e,a,!1),l=VE(e,l,!0);return a==l?{range:s}:{changes:{from:a,to:l},range:Be.cursor(a,ar(e)))i.between(t,t,(r,s)=>{rt&&(t=n?s:r)});return t}const Yge=(e,t,n)=>jw(e,i=>{let r=i.from,{state:s}=e,a=s.doc.lineAt(r),l,c;if(n&&!t&&r>a.from&&rYge(e,!1,!0),Wge=e=>Yge(e,!0,!1),Zge=(e,t)=>jw(e,n=>{let i=n.head,{state:r}=e,s=r.doc.lineAt(i),a=r.charCategorizer(i);for(let l=null;;){if(i==(t?s.to:s.from)){i==n.head&&s.number!=(t?r.doc.lines:1)&&(i+=t?1:-1);break}let c=qs(s.text,i-s.from,t)+s.from,u=s.text.slice(Math.min(i,c)-s.from,Math.max(i,c)-s.from),d=a(u);if(l!=null&&d!=l)break;(u!=" "||i!=n.head)&&(l=d),i=c}return i}),Kge=e=>Zge(e,!1),lht=e=>Zge(e,!0),cht=e=>jw(e,t=>{let n=e.lineBlockAt(t.head).to;return t.headjw(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),dht=e=>jw(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head{if(e.readOnly)return!1;let n=e.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:xi.of(["",""])},range:Be.cursor(i.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},hht=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(i=>{if(!i.empty||i.from==0||i.from==e.doc.length)return{range:i};let r=i.from,s=e.doc.lineAt(r),a=r==s.from?r-1:qs(s.text,r-s.from,!1)+s.from,l=r==s.to?r+1:qs(s.text,r-s.from,!0)+s.from;return{changes:{from:a,to:l,insert:e.doc.slice(r,l).append(e.doc.slice(a,r))},range:Be.cursor(l)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function $C(e){let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.from),s=e.doc.lineAt(i.to);if(!i.empty&&i.to==s.from&&(s=e.doc.lineAt(i.to-1)),n>=r.number){let a=t[t.length-1];a.to=s.to,a.ranges.push(i)}else t.push({from:r.from,to:s.to,ranges:[i]});n=s.number+1}return t}function Jge(e,t,n){if(e.readOnly)return!1;let i=[],r=[];for(let s of $C(e)){if(n?s.to==e.doc.length:s.from==0)continue;let a=e.doc.lineAt(n?s.to+1:s.from-1),l=a.length+1;if(n){i.push({from:s.to,to:a.to},{from:s.from,insert:a.text+e.lineBreak});for(let c of s.ranges)r.push(Be.range(Math.min(e.doc.length,c.anchor+l),Math.min(e.doc.length,c.head+l)))}else{i.push({from:a.from,to:s.from},{from:s.to,insert:e.lineBreak+a.text});for(let c of s.ranges)r.push(Be.range(c.anchor-l,c.head-l))}}return i.length?(t(e.update({changes:i,scrollIntoView:!0,selection:Be.create(r,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const pht=({state:e,dispatch:t})=>Jge(e,t,!1),mht=({state:e,dispatch:t})=>Jge(e,t,!0);function e0e(e,t,n){if(e.readOnly)return!1;let i=[];for(let s of $C(e))n?i.push({from:s.from,insert:e.doc.slice(s.from,s.to)+e.lineBreak}):i.push({from:s.to,insert:e.lineBreak+e.doc.slice(s.from,s.to)});let r=e.changes(i);return t(e.update({changes:r,selection:e.selection.map(r,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const ght=({state:e,dispatch:t})=>e0e(e,t,!1),bht=({state:e,dispatch:t})=>e0e(e,t,!0),Oht=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes($C(t).map(({from:r,to:s})=>(r>0?r--:s{let s;if(e.lineWrapping){let a=e.lineBlockAt(r.head),l=e.coordsAtPos(r.head,r.assoc||1);l&&(s=a.bottom+e.documentTop-l.bottom+e.defaultLineHeight/2)}return e.moveVertically(r,!0,s)}).map(n);return e.dispatch({changes:n,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function yht(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=Gi(e).resolveInner(t),i=n.childBefore(t),r=n.childAfter(t),s;return i&&r&&i.to<=t&&r.from>=t&&(s=i.type.prop(dn.closedBy))&&s.indexOf(r.name)>-1&&e.doc.lineAt(i.to).from==e.doc.lineAt(r.from).from&&!/\S/.test(e.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}const zG=t0e(!1),xht=t0e(!0);function t0e(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=t.changeByRange(r=>{let{from:s,to:a}=r,l=t.doc.lineAt(s),c=!e&&s==a&&yht(t,s);e&&(s=a=(a<=l.to?l:t.doc.lineAt(a)).to);let u=new CC(t,{simulateBreak:s,simulateDoubleBreak:!!c}),d=F8(u,s);for(d==null&&(d=Tc(/^\s*/.exec(t.doc.lineAt(s).text)[0],t.tabSize));al.from&&s{let r=[];for(let a=i.from;a<=i.to;){let l=e.doc.lineAt(a);l.number>n&&(i.empty||i.to>l.from)&&(t(l,r,i),n=l.number),a=l.to+1}let s=e.changes(r);return{changes:r,range:Be.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}const vht=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),i=new CC(e,{overrideIndentation:s=>{let a=n[s];return a??-1}}),r=y9(e,(s,a,l)=>{let c=F8(i,s.from);if(c==null)return;/\S/.test(s.text)||(c=0);let u=/^\s*/.exec(s.text)[0],d=dv(e,c);(u!=d||l.frome.readOnly?!1:(t(e.update(y9(e,(n,i)=>{i.push({from:n.from,insert:e.facet(DO)})}),{userEvent:"input.indent"})),!0),i0e=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(y9(e,(n,i)=>{let r=/^\s*/.exec(n.text)[0];if(!r)return;let s=Tc(r,e.tabSize),a=0,l=dv(e,Math.max(0,s-Im(e)));for(;a(e.setTabFocusMode(),!0),Sht=[{key:"Ctrl-b",run:Rge,shift:Fge,preventDefault:!0},{key:"Ctrl-f",run:Ige,shift:Uge},{key:"Ctrl-p",run:Mge,shift:qge},{key:"Ctrl-n",run:Lge,shift:Hge},{key:"Ctrl-a",run:Uft,shift:eht},{key:"Ctrl-e",run:zft,shift:tht},{key:"Ctrl-d",run:Wge},{key:"Ctrl-h",run:$3},{key:"Ctrl-k",run:cht},{key:"Ctrl-Alt-h",run:Kge},{key:"Ctrl-o",run:fht},{key:"Ctrl-t",run:hht},{key:"Ctrl-v",run:L3}],Eht=[{key:"ArrowLeft",run:Rge,shift:Fge,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Ift,shift:Hft,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Qft,shift:Kft,preventDefault:!0},{key:"ArrowRight",run:Ige,shift:Uge,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Dft,shift:Xft,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Fft,shift:Jft,preventDefault:!0},{key:"ArrowUp",run:Mge,shift:qge,preventDefault:!0},{mac:"Cmd-ArrowUp",run:BG,shift:FG},{mac:"Ctrl-ArrowUp",run:MG,shift:LG},{key:"ArrowDown",run:Lge,shift:Hge,preventDefault:!0},{mac:"Cmd-ArrowDown",run:QG,shift:UG},{mac:"Ctrl-ArrowDown",run:L3,shift:$G},{key:"PageUp",run:MG,shift:LG},{key:"PageDown",run:L3,shift:$G},{key:"Home",run:Bft,shift:Zft,preventDefault:!0},{key:"Mod-Home",run:BG,shift:FG},{key:"End",run:$ft,shift:Wft,preventDefault:!0},{key:"Mod-End",run:QG,shift:UG},{key:"Enter",run:zG,shift:zG},{key:"Mod-a",run:nht},{key:"Backspace",run:$3,shift:$3,preventDefault:!0},{key:"Delete",run:Wge,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Kge,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:lht,preventDefault:!0},{mac:"Mod-Backspace",run:uht,preventDefault:!0},{mac:"Mod-Delete",run:dht,preventDefault:!0}].concat(Sht.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),kht=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Mft,shift:Gft},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Lft,shift:Yft},{key:"Alt-ArrowUp",run:pht},{key:"Shift-Alt-ArrowUp",run:ght},{key:"Alt-ArrowDown",run:mht},{key:"Shift-Alt-ArrowDown",run:bht},{key:"Mod-Alt-ArrowUp",run:sht},{key:"Mod-Alt-ArrowDown",run:aht},{key:"Escape",run:oht},{key:"Mod-Enter",run:xht},{key:"Alt-l",mac:"Ctrl-l",run:iht},{key:"Mod-i",run:rht,preventDefault:!0},{key:"Mod-[",run:i0e},{key:"Mod-]",run:n0e},{key:"Mod-Alt-\\",run:vht},{key:"Shift-Mod-k",run:Oht},{key:"Shift-Mod-\\",run:qft},{key:"Mod-/",run:pft},{key:"Alt-A",run:gft},{key:"Ctrl-m",mac:"Shift-Alt-m",run:wht}].concat(Eht),Tht={key:"Tab",run:n0e,shift:i0e},VG=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class Hb{constructor(t,n,i=0,r=t.length,s,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(i,r),this.bufferStart=i,this.normalize=s?l=>s(VG(l)):VG,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return oo(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let n=v8(t),i=this.bufferStart+this.bufferPos;this.bufferPos+=au(t);let r=this.normalize(n);if(r.length)for(let s=0,a=i,l=!0;;s++){let c=r.charCodeAt(s),u=this.match(c,a,l,this.bufferPos+this.bufferStart,s==r.length-1);if(u)return this.value=u,this;if(s==r.length-1)break;l&&sthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let i=this.curLineStart+n.index,r=i+n[0].length;if(this.matchPos=m_(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,r,n)))return this.value={from:i,to:r,precise:!0,match:n},this;t=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||r.to<=n){let l=new J0(n,t.sliceString(n,i));return zI.set(t,l),l}if(r.from==n&&r.to==i)return r;let{text:s,from:a}=r;return a>n&&(s=t.sliceString(n,a)+s,a=n),r.to=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==t&&(this.re.lastIndex=t+1,n=this.re.exec(this.flat.text)),n){let i=this.flat.from+n.index,r=i+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,n)))return this.value={from:i,to:r,precise:!0,match:n},this.matchPos=m_(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=J0.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(s0e.prototype[Symbol.iterator]=a0e.prototype[Symbol.iterator]=function(){return this});function _ht(e){try{return new RegExp(e,x9),!0}catch{return!1}}function m_(e,t){if(t>=e.length)return t;let n=e.lineAt(t),i;for(;t=56320&&i<57344;)t++;return t}const Aht=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:i,result:r}=$rt(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:t.phrase("go")});return r.then(s=>{let a=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!a){e.dispatch({effects:i});return}let l=t.doc.lineAt(t.selection.main.head),[,c,u,d,f]=a,h=d?+d.slice(1):0,p=u?+u:l.number;if(u&&f){let O=p/100;c&&(O=O*(c=="-"?-1:1)+l.number/t.doc.lines),p=Math.round(t.doc.lines*O)}else u&&c&&(p=p*(c=="-"?-1:1)+l.number);let b=t.doc.line(Math.max(1,Math.min(t.doc.lines,p))),g=Be.cursor(b.from+Math.max(0,Math.min(h,b.length)));e.dispatch({effects:[i,ht.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},Cht={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Nht=Et.define({combine(e){return Lu(e,Cht,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function jht(e){return[Mht,Pht]}const Rht=Xt.mark({class:"cm-selectionMatch"}),Iht=Xt.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function qG(e,t,n,i){return(n==0||e(t.sliceDoc(n-1,n))!=Ar.Word)&&(i==t.doc.length||e(t.sliceDoc(i,i+1))!=Ar.Word)}function Dht(e,t,n,i){return e(t.sliceDoc(n,n+1))==Ar.Word&&e(t.sliceDoc(i-1,i))==Ar.Word}const Pht=Wr.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Nht),{state:n}=e,i=n.selection;if(i.ranges.length>1)return Xt.none;let r=i.main,s,a=null;if(r.empty){if(!t.highlightWordAroundCursor)return Xt.none;let c=n.wordAt(r.head);if(!c)return Xt.none;a=n.charCategorizer(r.head),s=n.sliceDoc(c.from,c.to)}else{let c=r.to-r.from;if(c200)return Xt.none;if(t.wholeWords){if(s=n.sliceDoc(r.from,r.to),a=n.charCategorizer(r.head),!(qG(a,n,r.from,r.to)&&Dht(a,n,r.from,r.to)))return Xt.none}else if(s=n.sliceDoc(r.from,r.to),!s)return Xt.none}let l=[];for(let c of e.visibleRanges){let u=new Hb(n.doc,s,c.from,c.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!a||qG(a,n,d,f))&&(r.empty&&d<=r.from&&f>=r.to?l.push(Iht.range(d,f)):(d>=r.to||f<=r.from)&&l.push(Rht.range(d,f)),l.length>t.maxMatches))return Xt.none}}return Xt.set(l)}},{decorations:e=>e.decorations}),Mht=ht.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Lht=({state:e,dispatch:t})=>{let{selection:n}=e,i=Be.create(n.ranges.map(r=>e.wordAt(r.head)||Be.cursor(r.head)),n.mainIndex);return i.eq(n)?!1:(t(e.update({selection:i})),!0)};function $ht(e,t){let{main:n,ranges:i}=e.selection,r=e.wordAt(n.head),s=r&&r.from==n.from&&r.to==n.to;for(let a=!1,l=new Hb(e.doc,t,i[i.length-1].to);;)if(l.next(),l.done){if(a)return null;l=new Hb(e.doc,t,0,Math.max(0,i[i.length-1].from-1)),a=!0}else{if(a&&i.some(c=>c.from==l.value.from))continue;if(s){let c=e.wordAt(l.value.from);if(!c||c.from!=l.value.from||c.to!=l.value.to)continue}return l.value}}const Bht=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(s=>s.from===s.to))return Lht({state:e,dispatch:t});let i=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(s=>e.sliceDoc(s.from,s.to)!=i))return!1;let r=$ht(e,i);return r?(t(e.update({selection:e.selection.addRange(Be.range(r.from,r.to),!1),effects:ht.scrollIntoView(r.to)})),!0):!1},LO=Et.define({combine(e){return Lu(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new Jht(t),scrollToMatch:t=>ht.scrollIntoView(t)})}});class o0e{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||_ht(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord,this.test=t.test}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,(n,i)=>i=="n"?` `:i=="r"?"\r":i=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new qht(this):new Uht(this)}getCursor(t,n=0,i){let r=t.doc?t:Zn.create({doc:t});return i==null&&(i=r.doc.length),this.regexp?Yg(this,r,n,i):Gg(this,r,n,i)}}class l0e{constructor(t){this.spec=t}}function Qht(e,t,n){return(i,r,s,a)=>{if(n&&!n(i,r,s,a))return!1;let l=i>=a&&r<=a+s.length?s.slice(i-a,r-a):t.doc.sliceString(i,r);return e(l,t,i,r)}}function Gg(e,t,n,i){let r;return e.wholeWord&&(r=Fht(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(r=Qht(e.test,t,r)),new Hb(t.doc,e.unquoted,n,i,e.caseSensitive?void 0:s=>s.toLowerCase(),r)}function Fht(e,t){return(n,i,r,s)=>((s>n||s+r.length=n)return null;r.push(i.value)}return r}highlight(t,n,i,r){let s=Gg(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,t.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}function zht(e,t,n){return(i,r,s)=>(!n||n(i,r,s))&&e(s[0],t,i,r)}function Yg(e,t,n,i){let r;return e.wholeWord&&(r=Vht(t.charCategorizer(t.selection.main.head))),e.test&&(r=zht(e.test,t,r)),new s0e(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:r},n,i)}function g_(e,t){return e.slice(qs(e,t,!1),t)}function b_(e,t){return e.slice(t,qs(e,t))}function Vht(e){return(t,n,i)=>!i[0].length||(e(g_(i.input,i.index))!=Ar.Word||e(b_(i.input,i.index))!=Ar.Word)&&(e(b_(i.input,i.index+i[0].length))!=Ar.Word||e(g_(i.input,i.index+i[0].length))!=Ar.Word)}class qht extends l0e{nextMatch(t,n,i){let r=Yg(this.spec,t,i,t.doc.length).next();return r.done&&(r=Yg(this.spec,t,0,n).next()),r.done?null:r.value}prevMatchInRange(t,n,i){for(let r=1;;r++){let s=Math.max(n,i-r*1e4),a=Yg(this.spec,t,s,i),l=null;for(;!a.next().done;)l=a.value;if(l&&(s==n||l.from>s+10))return l;if(s==n)return null}}prevMatch(t,n,i){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,i,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,i)=>{if(i=="&")return t.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let s=+i.slice(0,r);if(s>0&&s=n)return null;r.push(i.value)}return r}highlight(t,n,i,r){let s=Yg(this.spec,t,Math.max(0,n-250),Math.min(i+250,t.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}const wv=fn.define(),v9=fn.define(),xh=fa.define({create(e){return new VI(B3(e).create(),null)},update(e,t){for(let n of t.effects)n.is(wv)?e=new VI(n.value.create(),e.panel):n.is(v9)&&(e=new VI(e.query,n.value?w9:null));return e},provide:e=>cv.from(e,t=>t.panel)});class VI{constructor(t,n){this.query=t,this.panel=n}}const Hht=Xt.mark({class:"cm-searchMatch"}),Xht=Xt.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Ght=Wr.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(xh))}update(e){let t=e.state.field(xh);(t!=e.startState.field(xh)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return Xt.none;let{view:n}=this,i=new Gd;for(let r=0,s=n.visibleRanges,a=s.length;rs[r+1].from-2*250;)c=s[++r].to;e.highlight(n.state,l,c,(u,d)=>{let f=n.state.selection.ranges.some(h=>h.from==u&&h.to==d);i.add(u,d,f?Xht:Hht)})}return i.finish()}},{decorations:e=>e.decorations});function Rw(e){return t=>{let n=t.state.field(xh,!1);return n&&n.query.spec.valid?e(t,n):d0e(t)}}const O_=Rw((e,{query:t})=>{let{to:n}=e.state.selection.main,i=t.nextMatch(e.state,n,n);if(!i)return!1;let r=Be.single(i.from,i.to),s=e.state.facet(LO);return e.dispatch({selection:r,effects:[S9(e,i),s.scrollToMatch(r.main,e)],userEvent:"select.search"}),u0e(e),!0}),y_=Rw((e,{query:t})=>{let{state:n}=e,{from:i}=n.selection.main,r=t.prevMatch(n,i,i);if(!r)return!1;let s=Be.single(r.from,r.to),a=e.state.facet(LO);return e.dispatch({selection:s,effects:[S9(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),u0e(e),!0}),Yht=Rw((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:Be.create(n.map(i=>Be.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),Wht=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:i,to:r}=n.main,s=[],a=0;for(let l=new Hb(e.doc,e.sliceDoc(i,r));!l.next().done;){if(s.length>1e3)return!1;l.value.from==i&&(a=s.length),s.push(Be.range(l.value.from,l.value.to))}return t(e.update({selection:Be.create(s,a),userEvent:"select.search.matches"})),!0},HG=Rw((e,{query:t})=>{let{state:n}=e,{from:i,to:r}=n.selection.main;if(n.readOnly)return!1;let s=t.nextMatch(n,i,i);if(!s)return!1;let a=s,l=[],c,u,d=[];a.precise?a.from==i&&a.to==r&&(u=n.toText(t.getReplacement(a)),l.push({from:a.from,to:a.to,insert:u}),a=t.nextMatch(n,a.from,a.to),d.push(ht.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(i).number)+"."))):a=t.nextMatch(n,a.from,a.to);let f=e.state.changes(l);return a&&(c=Be.single(a.from,a.to).map(f),d.push(S9(e,a)),d.push(n.facet(LO).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),Zht=Rw((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let r of t.matchAll(e.state,1e9)){let{from:s,to:a,precise:l}=r;l&&n.push({from:s,to:a,insert:t.getReplacement(r)})}if(!n.length)return!1;let i=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:ht.announce.of(i),userEvent:"input.replace.all"}),!0});function w9(e){return e.state.facet(LO).createPanel(e)}function B3(e,t){var n,i,r,s,a;let l=e.selection.main,c=l.empty||l.to>l.from+100?"":e.sliceDoc(l.from,l.to);if(t&&!c)return t;let u=e.facet(LO);return new o0e({search:((n=t==null?void 0:t.literal)!==null&&n!==void 0?n:u.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(i=t==null?void 0:t.caseSensitive)!==null&&i!==void 0?i:u.caseSensitive,literal:(r=t==null?void 0:t.literal)!==null&&r!==void 0?r:u.literal,regexp:(s=t==null?void 0:t.regexp)!==null&&s!==void 0?s:u.regexp,wholeWord:(a=t==null?void 0:t.wholeWord)!==null&&a!==void 0?a:u.wholeWord})}function c0e(e){let t=B8(e,w9);return t&&t.dom.querySelector("[main-field]")}function u0e(e){let t=c0e(e);t&&t==e.root.activeElement&&t.select()}const d0e=e=>{let t=e.state.field(xh,!1);if(t&&t.panel){let n=c0e(e);if(n&&n!=e.root.activeElement){let i=B3(e.state,t.query.spec);i.valid&&e.dispatch({effects:wv.of(i)}),n.focus(),n.select()}}else e.dispatch({effects:[v9.of(!0),t?wv.of(B3(e.state,t.query.spec)):fn.appendConfig.of(tpt)]});return!0},f0e=e=>{let t=e.state.field(xh,!1);if(!t||!t.panel)return!1;let n=B8(e,w9);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:v9.of(!1)}),!0},Kht=[{key:"Mod-f",run:d0e,scope:"editor search-panel"},{key:"F3",run:O_,shift:y_,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:O_,shift:y_,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:f0e,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Wht},{key:"Mod-Alt-g",run:Aht},{key:"Mod-d",run:Bht,preventDefault:!0}];class Jht{constructor(t){this.view=t;let n=this.query=t.state.field(xh).query.spec;this.commit=this.commit.bind(this),this.searchField=Hi("input",{value:n.search,placeholder:Do(t,"Find"),"aria-label":Do(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Hi("input",{value:n.replace,placeholder:Do(t,"Replace"),"aria-label":Do(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Hi("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=Hi("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=Hi("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function i(r,s,a){return Hi("button",{class:"cm-button",name:r,onclick:s,type:"button"},a)}this.dom=Hi("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>O_(t),[Do(t,"next")]),i("prev",()=>y_(t),[Do(t,"previous")]),i("select",()=>Yht(t),[Do(t,"all")]),Hi("label",null,[this.caseField,Do(t,"match case")]),Hi("label",null,[this.reField,Do(t,"regexp")]),Hi("label",null,[this.wordField,Do(t,"by word")]),...t.state.readOnly?[]:[Hi("br"),this.replaceField,i("replace",()=>HG(t),[Do(t,"replace")]),i("replaceAll",()=>Zht(t),[Do(t,"replace all")])],Hi("button",{name:"close",onclick:()=>f0e(t),"aria-label":Do(t,"close"),type:"button"},["×"])])}commit(){let t=new o0e({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:wv.of(t)}))}keydown(t){Xit(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?y_:O_)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),HG(this.view))}update(t){for(let n of t.transactions)for(let i of n.effects)i.is(wv)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(LO).top}}function Do(e,t){return e.state.phrase(t)}const qE=30,HE=/[\s\.,:;?!]/;function S9(e,{from:t,to:n}){let i=e.state.doc.lineAt(t),r=e.state.doc.lineAt(n).to,s=Math.max(i.from,t-qE),a=Math.min(r,n+qE),l=e.state.sliceDoc(s,a);if(s!=i.from){for(let c=0;cl.length-qE;c--)if(!HE.test(l[c-1])&&HE.test(l[c])){l=l.slice(0,c);break}}return ht.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${i.number}.`)}const ept=ht.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),tpt=[xh,uf.low(Ght),ept];class XG{constructor(t,n,i){this.from=t,this.to=n,this.diagnostic=i}}class Bp{constructor(t,n,i){this.diagnostics=t,this.panel=n,this.selected=i}static init(t,n,i){let r=i.facet(Sv).markerFilter;r&&(t=r(t,i));let s=t.slice().sort((p,b)=>p.from-b.from||p.to-b.to),a=new Gd,l=[],c=0,u=i.doc.iter(),d=0,f=i.doc.length;for(let p=0;;){let b=p==s.length?null:s[p];if(!b&&!l.length)break;let g,O;if(l.length)g=c,O=l.reduce((x,w)=>Math.min(x,w.to),b&&b.from>g?b.from:1e8);else{if(g=b.from,g>f)break;O=b.to,l.push(b),p++}for(;px.from||x.to==g))l.push(x),p++,O=Math.min(x.to,O);else{O=Math.min(x.from,O);break}}O=Math.min(O,f);let y=!1;if(l.some(x=>x.from==g&&(x.to==O||O==f))&&(y=g==O,!y&&O-g<10)){let x=g-(d+u.value.length);x>0&&(u.next(x),d=g);for(let w=g;;){if(w>=O){y=!0;break}if(!u.lineBreak&&d+u.value.length>w)break;w=d+u.value.length,d+=u.value.length,u.next()}}let v=ppt(l);if(y)a.add(g,g,Xt.widget({widget:new upt(v),diagnostics:l.slice()}));else{let x=l.reduce((w,S)=>S.markClass?w+" "+S.markClass:w,"");a.add(g,O,Xt.mark({class:"cm-lintRange cm-lintRange-"+v+x,diagnostics:l.slice(),inclusiveEnd:l.some(w=>w.to>O)}))}if(c=O,c==f)break;for(let x=0;x{if(!(t&&a.diagnostics.indexOf(t)<0))if(!i)i=new XG(r,s,t||a.diagnostics[0]);else{if(a.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new XG(i.from,s,i.diagnostic)}}),i}function npt(e,t){let n=t.pos,i=t.end||n,r=e.state.facet(Sv).hideOn(e,n,i);if(r!=null)return r;let s=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(a=>a.is(h0e))||e.changes.touchesRange(s.from,Math.max(s.to,i)))}function ipt(e,t){return e.field(Wo,!1)?t:t.concat(fn.appendConfig.of(mpt))}const h0e=fn.define(),E9=fn.define(),p0e=fn.define(),Wo=fa.define({create(){return new Bp(Xt.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),i=null,r=e.panel;if(e.selected){let s=t.changes.mapPos(e.selected.from,1);i=Vh(n,e.selected.diagnostic,s)||Vh(n,null,s)}!n.size&&r&&t.state.facet(Sv).autoPanel&&(r=null),e=new Bp(n,r,i)}for(let n of t.effects)if(n.is(h0e)){let i=t.state.facet(Sv).autoPanel?n.value.length?Ev.open:null:e.panel;e=Bp.init(n.value,i,t.state)}else n.is(E9)?e=new Bp(e.diagnostics,n.value?Ev.open:null,e.selected):n.is(p0e)&&(e=new Bp(e.diagnostics,e.panel,n.value));return e},provide:e=>[cv.from(e,t=>t.panel),ht.decorations.from(e,t=>t.diagnostics)]}),rpt=Xt.mark({class:"cm-lintRange cm-lintRange-active"});function spt(e,t,n){let{diagnostics:i}=e.state.field(Wo),r,s=-1,a=-1;i.between(t-(n<0?1:0),t+(n>0?1:0),(c,u,{spec:d})=>{if(t>=c&&t<=u&&(c==u||(t>c||n>0)&&(tg0e(e,n,!1)))}const opt=e=>{let t=e.state.field(Wo,!1);(!t||!t.panel)&&e.dispatch({effects:ipt(e.state,[E9.of(!0)])});let n=B8(e,Ev.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},GG=e=>{let t=e.state.field(Wo,!1);return!t||!t.panel?!1:(e.dispatch({effects:E9.of(!1)}),!0)},lpt=e=>{let t=e.state.field(Wo,!1);if(!t)return!1;let n=e.state.selection.main,i=Vh(t.diagnostics,null,n.to+1);return!i&&(i=Vh(t.diagnostics,null,0),!i||i.from==n.from&&i.to==n.to)?!1:(e.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),Mrt(e,i.from,1,{tooltip:b0e,until:r=>r.docChanged||r.newSelection.main.headi.to}),!0)},cpt=[{key:"Mod-Shift-m",run:opt,preventDefault:!0},{key:"F8",run:lpt}],Sv=Et.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Lu(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:YG,tooltipFilter:YG,needsRefresh:(t,n)=>t?n?i=>t(i)||n(i):t:n,hideOn:(t,n)=>t?n?(i,r,s)=>t(i,r,s)||n(i,r,s):t:n,autoPanel:(t,n)=>t||n})}}});function YG(e,t){return e?t?(n,i)=>t(e(n,i),i):e:t}function m0e(e){let t=[];if(e)e:for(let{name:n}of e){for(let i=0;is.toLowerCase()==r.toLowerCase())){t.push(r);continue e}}t.push("")}return t}function g0e(e,t,n){var i;let r=n?m0e(t.actions):[];return Hi("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},Hi("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(i=t.actions)===null||i===void 0?void 0:i.map((s,a)=>{let l=!1,c=p=>{if(p.preventDefault(),l)return;l=!0;let b=Vh(e.state.field(Wo).diagnostics,t);b&&s.apply(e,b.from,b.to)},{name:u}=s,d=r[a]?u.indexOf(r[a]):-1,f=d<0?u:[u.slice(0,d),Hi("u",u.slice(d,d+1)),u.slice(d+1)],h=s.markClass?" "+s.markClass:"";return Hi("button",{type:"button",class:"cm-diagnosticAction"+h,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${r[a]})"`}.`},f)}),t.source&&Hi("div",{class:"cm-diagnosticSource"},t.source))}class upt extends Dc{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return Hi("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class WG{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=g0e(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Ev{constructor(t){this.view=t,this.items=[];let n=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)GG(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],a=m0e(s.actions);for(let l=0;l{for(let s=0;sGG(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(Wo).selected;if(!t)return-1;for(let n=0;n{for(let d of u.diagnostics){if(a.has(d))continue;a.add(d);let f=-1,h;for(let p=i;pi&&(this.items.splice(i,f-i),r=!0)),n&&h.diagnostic==n.diagnostic?h.dom.hasAttribute("aria-selected")||(h.dom.setAttribute("aria-selected","true"),s=h):h.dom.hasAttribute("aria-selected")&&h.dom.removeAttribute("aria-selected"),i++}});i({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:c})=>{let u=c.height/this.list.offsetHeight;l.topc.bottom&&(this.list.scrollTop+=(l.bottom-c.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let t=this.list.firstChild;function n(){let i=t;t=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;t!=i.dom;)n();t=i.dom.nextSibling}else this.list.insertBefore(i.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(Wo),i=Vh(n.diagnostics,this.items[t].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:p0e.of(i)})}static open(t){return new Ev(t)}}function dpt(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}function XE(e){return dpt(``,'width="6" height="3"')}const fpt=ht.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:XE("#f11")},".cm-lintRange-warning":{backgroundImage:XE("orange")},".cm-lintRange-info":{backgroundImage:XE("#999")},".cm-lintRange-hint":{backgroundImage:XE("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function hpt(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function ppt(e){let t="hint",n=1;for(let i of e){let r=hpt(i.severity);r>n&&(n=r,t=i.severity)}return t}const b0e=Prt(spt,{hideOn:npt}),mpt=[Wo,ht.decorations.compute([Wo],e=>{let{selected:t,panel:n}=e.field(Wo);return!t||!n||t.from==t.to?Xt.none:Xt.set([rpt.range(t.from,t.to)])}),b0e,fpt];var ZG=function(t){t===void 0&&(t={});var n=t,i=n.crosshairCursor,r=i===void 0?!1:i,s=[];t.closeBracketsKeymap!==!1&&(s=s.concat(wot)),t.defaultKeymap!==!1&&(s=s.concat(kht)),t.searchKeymap!==!1&&(s=s.concat(Kht)),t.historyKeymap!==!1&&(s=s.concat(Rft)),t.foldKeymap!==!1&&(s=s.concat(Tst)),t.completionKeymap!==!1&&(s=s.concat(Ype)),t.lintKeymap!==!1&&(s=s.concat(cpt));var a=[];return t.lineNumbers!==!1&&a.push(Yrt()),t.highlightActiveLineGutter!==!1&&a.push(Krt()),t.highlightSpecialChars!==!1&&a.push(urt()),t.history!==!1&&a.push(Sft()),t.foldGutter!==!1&&a.push(Nst()),t.drawSelection!==!1&&a.push(Jit()),t.dropCursor!==!1&&a.push(rrt()),t.allowMultipleSelections!==!1&&a.push(Zn.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&a.push(Ost()),t.syntaxHighlighting!==!1&&a.push(_pe(Dst,{fallback:!0})),t.bracketMatching!==!1&&a.push(Fst()),t.closeBrackets!==!1&&a.push(Oot()),t.autocompletion!==!1&&a.push(Cot()),t.rectangularSelection!==!1&&a.push(Ert()),r!==!1&&a.push(_rt()),t.highlightActiveLine!==!1&&a.push(grt()),t.highlightSelectionMatches!==!1&&a.push(jht()),t.tabSize&&typeof t.tabSize=="number"&&a.push(DO.of(" ".repeat(t.tabSize))),a.concat([IO.of(s.flat())]).filter(Boolean)};const gpt="#e5c07b",KG="#e06c75",bpt="#56b6c2",Opt="#ffffff",rT="#abb2bf",Q3="#7d8799",ypt="#61afef",xpt="#98c379",JG="#d19a66",vpt="#c678dd",wpt="#21252b",eY="#2c313a",tY="#282c34",qI="#353a42",Spt="#3E4451",nY="#528bff",Ept=ht.theme({"&":{color:rT,backgroundColor:tY},".cm-content":{caretColor:nY},".cm-cursor, .cm-dropCursor":{borderLeftColor:nY},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Spt},".cm-panels":{backgroundColor:wpt,color:rT},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:tY,color:Q3,border:"none"},".cm-activeLineGutter":{backgroundColor:eY},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:qI},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:qI,borderBottomColor:qI},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:eY,color:rT}}},{dark:!0}),kpt=Cw.define([{tag:Y.keyword,color:vpt},{tag:[Y.name,Y.deleted,Y.character,Y.propertyName,Y.macroName],color:KG},{tag:[Y.function(Y.variableName),Y.labelName],color:ypt},{tag:[Y.color,Y.constant(Y.name),Y.standard(Y.name)],color:JG},{tag:[Y.definition(Y.name),Y.separator],color:rT},{tag:[Y.typeName,Y.className,Y.number,Y.changed,Y.annotation,Y.modifier,Y.self,Y.namespace],color:gpt},{tag:[Y.operator,Y.operatorKeyword,Y.url,Y.escape,Y.regexp,Y.link,Y.special(Y.string)],color:bpt},{tag:[Y.meta,Y.comment],color:Q3},{tag:Y.strong,fontWeight:"bold"},{tag:Y.emphasis,fontStyle:"italic"},{tag:Y.strikethrough,textDecoration:"line-through"},{tag:Y.link,color:Q3,textDecoration:"underline"},{tag:Y.heading,fontWeight:"bold",color:KG},{tag:[Y.atom,Y.bool,Y.special(Y.variableName)],color:JG},{tag:[Y.processingInstruction,Y.string,Y.inserted],color:xpt},{tag:Y.invalid,color:Opt}]),Tpt=[Ept,_pe(kpt)];var _pt=ht.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),Apt=function(t){t===void 0&&(t={});var n=t,i=n.indentWithTab,r=i===void 0?!0:i,s=n.editable,a=s===void 0?!0:s,l=n.readOnly,c=l===void 0?!1:l,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,h=f===void 0?"":f,p=n.basicSetup,b=p===void 0?!0:p,g=[];switch(r&&g.unshift(IO.of([Tht])),b&&(typeof b=="boolean"?g.unshift(ZG()):g.unshift(ZG(b))),h&&g.unshift(xrt(h)),d){case"light":g.push(_pt);break;case"dark":g.push(Tpt);break;case"none":break;default:g.push(d);break}return a===!1&&g.push(ht.editable.of(!1)),c&&g.push(Zn.readOnly.of(!0)),[...g]},Cpt=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class Npt{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(i){console.error("TimeoutLatch callback error:",i)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class iY{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var HI=null,jpt=()=>typeof window>"u"?new iY:(HI||(HI=new iY),HI),Rpt=ht.theme({"& .cm-scroller":{height:"100% !important"}}),rY=null,XI=null;function Ipt(e,t,n,i,r,s){if(!e&&!t&&!n&&!i&&!r&&!s)return null;var a=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:i,minWidth:r,maxWidth:s});return a===rY||(rY=a,XI=ht.theme({"&":{height:e,minHeight:t,maxHeight:n,width:i,minWidth:r,maxWidth:s}})),XI}var sY=Mu.define(),Dpt=200,Ppt=[];function Mpt(e){var t=e.value,n=e.selection,i=e.onChange,r=e.onStatistics,s=e.onCreateEditor,a=e.onUpdate,l=e.extensions,c=l===void 0?Ppt:l,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,h=e.height,p=h===void 0?null:h,b=e.minHeight,g=b===void 0?null:b,O=e.maxHeight,y=O===void 0?null:O,v=e.width,x=v===void 0?null:v,w=e.minWidth,S=w===void 0?null:w,E=e.maxWidth,k=E===void 0?null:E,T=e.placeholder,_=T===void 0?"":T,N=e.editable,C=N===void 0?!0:N,R=e.readOnly,L=R===void 0?!1:R,D=e.indentWithTab,$=D===void 0?!0:D,j=e.basicSetup,P=j===void 0?!0:j,M=e.root,U=e.initialState,F=m.useState(),H=F[0],z=F[1],Q=m.useState(),q=Q[0],le=Q[1],ge=m.useState(),be=ge[0],ce=ge[1],Z=m.useState(()=>({current:null}))[0],J=m.useState(()=>({current:null}))[0],ue=Ipt(p,g,y,x,S,k),Oe=ht.updateListener.of(Pe=>{if(Pe.docChanged&&typeof i=="function"&&!Pe.transactions.some(ye=>ye.annotation(sY))){Z.current?Z.current.reset():(Z.current=new Npt(()=>{if(J.current){var ye=J.current;J.current=null,ye()}Z.current=null},Dpt),jpt().add(Z.current));var pe=Pe.state.doc,Ee=pe.toString();i(Ee,Pe)}r&&r(Cpt(Pe))}),Ne=Apt({theme:f,editable:C,readOnly:L,placeholder:_,indentWithTab:$,basicSetup:P}),De=[Oe,...ue?[ue]:[],Rpt,...Ne];return a&&typeof a=="function"&&De.push(ht.updateListener.of(a)),De=De.concat(c),m.useLayoutEffect(()=>{if(H&&!be){var Pe={doc:t,selection:n,extensions:De},pe=U?Zn.fromJSON(U.json,Pe,U.fields):Zn.create(Pe);if(ce(pe),!q){var Ee=new ht({state:pe,parent:H,root:M});le(Ee),s&&s(Ee,pe)}}return()=>{q&&(ce(void 0),le(void 0))}},[H,be]),m.useEffect(()=>{e.container&&z(e.container)},[e.container]),m.useEffect(()=>()=>{q&&(q.destroy(),le(void 0)),Z.current&&(Z.current.cancel(),Z.current=null)},[q]),m.useEffect(()=>{u&&q&&q.focus()},[u,q]),m.useEffect(()=>{q&&q.dispatch({effects:fn.reconfigure.of(De)})},[f,c,p,g,y,x,S,k,_,C,L,$,P,i,a]),m.useEffect(()=>{if(t!==void 0){var Pe=q?q.state.doc.toString():"";if(q&&t!==Pe){var pe=Z.current&&!Z.current.isDone,Ee=()=>{q&&t!==q.state.doc.toString()&&q.dispatch({changes:{from:0,to:q.state.doc.toString().length,insert:t||""},annotations:[sY.of(!0)]})};pe?J.current=Ee:Ee()}}},[t,q]),{state:be,setState:ce,view:q,setView:le,container:H,setContainer:z}}var Lpt=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],O0e=m.forwardRef((e,t)=>{var n=e.className,i=e.value,r=i===void 0?"":i,s=e.selection,a=e.extensions,l=a===void 0?[]:a,c=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,h=e.autoFocus,p=e.theme,b=p===void 0?"light":p,g=e.height,O=e.minHeight,y=e.maxHeight,v=e.width,x=e.minWidth,w=e.maxWidth,S=e.basicSetup,E=e.placeholder,k=e.indentWithTab,T=e.editable,_=e.readOnly,N=e.root,C=e.initialState,R=hft(e,Lpt),L=m.useRef(null),D=Mpt({root:N,value:r,autoFocus:h,theme:b,height:g,minHeight:O,maxHeight:y,width:v,minWidth:x,maxWidth:w,basicSetup:S,placeholder:E,indentWithTab:k,editable:T,readOnly:_,selection:s,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:C}),$=D.state,j=D.view,P=D.container,M=D.setContainer;m.useImperativeHandle(t,()=>({editor:L.current,state:$,view:j}),[L,P,$,j]);var U=m.useCallback(H=>{L.current=H,M(H)},[M]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var F=typeof b=="string"?"cm-theme-"+b:"cm-theme";return o.jsx("div",D3({ref:U,className:""+F+(n?" "+n:"")},R))});O0e.displayName="CodeMirror";function $pt(e){const t=e.toLowerCase(),n=t.split("/").pop()??t,i=n.includes(".")?n.split(".").pop():"";return n==="dockerfile"||n.startsWith("dockerfile.")||n.endsWith(".dockerfile")?[z8.define(fft)]:i==="py"||i==="pyi"?[wdt()]:["ts","tsx","mts","cts"].includes(i??"")?[v3({typescript:!0,jsx:i==="tsx"})]:["js","jsx","mjs","cjs"].includes(i??"")?[v3({jsx:i==="jsx"})]:i==="json"||i==="jsonc"?[Uot()]:i==="yaml"||i==="yml"?[Kdt()]:["md","markdown"].includes(i??"")?[nut()]:[]}function k9({value:e,path:t,onChange:n,readOnly:i=!1}){const r=m.useMemo(()=>$pt(t),[t]);return o.jsx(O0e,{value:e,height:"100%",theme:"light",extensions:r,editable:!i,onChange:n,basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:!0,highlightActiveLineGutter:!0,autocompletion:!1}})}const T9=Object.freeze(Object.defineProperty({__proto__:null,default:k9},Symbol.toStringTag,{value:"Module"}));function Bpt(e){var s;const t=e.split(/\r?\n/);if(((s=t[0])==null?void 0:s.trim())!=="---")return{body:e,frontmatter:[]};const n=t.findIndex((a,l)=>l>0&&a.trim()==="---");if(n<0)return{body:e,frontmatter:[]};const i=Pfe(t.slice(1,n).join(` `));if(i.errors.length>0)return{body:e,frontmatter:[]};const r=i.toJS();return!r||typeof r!="object"||Array.isArray(r)?{body:e,frontmatter:[]}:{body:t.slice(n+1).join(` @@ -706,7 +706,7 @@ ${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.pus `);if(!t.startsWith(`--- `))return e;const n=t.indexOf(` --- -`,4);return n>=0?t.slice(n+5).trimStart():e}function S0e(e){const t=(e||"").trim();return!t||[">",">-","|","|-"].includes(t)?"暂无描述":t}function omt(){return o.jsx("svg",{className:"icon",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:"m7.5 7.5 9 9m0-9-9 9",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function pY(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),o.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function mY(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"M12 5.5v13M5.5 12h13",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round"})})}function lmt(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function gY({direction:e}){return o.jsx("svg",{className:"icon",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:e==="left"?"m11.7 5.5-4.2 4.5 4.2 4.5":"m8.3 5.5 4.2 4.5-4.2 4.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function E0e(){return o.jsx("span",{className:"skillcenter-loading-mark","aria-hidden":!0})}function cmt({page:e,total:t,pageSize:n,onPage:i}){const r=Math.max(1,Math.ceil(t/n));return o.jsxs("footer",{className:"skillcenter-pager",children:[o.jsxs("span",{children:["共 ",t," 项"]}),o.jsxs("div",{className:"skillcenter-pager-actions",children:[o.jsx("button",{type:"button",onClick:()=>i(e-1),disabled:e<=1,"aria-label":"上一页",children:o.jsx(gY,{direction:"left"})}),o.jsxs("span",{children:[e," / ",r]}),o.jsx("button",{type:"button",onClick:()=>i(e+1),disabled:e>=r,"aria-label":"下一页",children:o.jsx(gY,{direction:"right"})})]})]})}function umt({children:e}){return o.jsx("div",{className:"skillcenter-empty",children:e})}function WI({kind:e,title:t,description:n,error:i,action:r}){return o.jsx("div",{className:`skillcenter-page-state is-${e}`,role:e==="error"?"alert":"status",children:o.jsxs(on,{fill:"none",children:[o.jsx(on.Title,{children:t}),n?o.jsx(on.Description,{children:n}):null,i?o.jsx(Xo,{error:i}):null,r?o.jsx(on.ActionRow,{children:o.jsx(_n,{color:"secondary",size:"lg",onClick:r.onClick,children:r.label})}):null]})})}function bY({errors:e,cloudProvider:t,fullPage:n=!1,onRetry:i}){return o.jsxs("div",{className:`skillcenter-space-errors${n?" is-full-page":""}`,role:"alert",children:[o.jsxs("div",{className:"skillcenter-space-errors__content",children:[o.jsx("strong",{children:n?"无法加载技能空间":"部分技能空间加载失败"}),e.map(({region:r,error:s})=>o.jsxs("section",{children:[o.jsx("span",{children:Sc(r,t)}),o.jsx(Xo,{error:s})]},r))]}),o.jsx("button",{type:"button",onClick:i,children:"重新加载"})]})}function dmt({skill:e,space:t,region:n,cloudProvider:i,detail:r,files:s,loading:a,error:l,canOptimize:c,onOptimize:u,onDownload:d,onClose:f}){return m.useEffect(()=>{const h=p=>{p.key==="Escape"&&f()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[f]),o.jsx("div",{className:"skill-detail-backdrop",role:"presentation",onMouseDown:f,children:o.jsxs("section",{className:"skill-detail-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-detail-title",onMouseDown:h=>h.stopPropagation(),children:[o.jsxs("header",{className:"skill-detail-head",children:[o.jsx("div",{className:"skill-detail-heading",children:o.jsxs("div",{children:[o.jsx("h2",{id:"skill-detail-title",children:(r==null?void 0:r.name)||e.skillName}),o.jsx("p",{children:S0e((r==null?void 0:r.description)||e.skillDescription)})]})}),o.jsxs("div",{className:"skill-detail-actions",children:[o.jsx("button",{type:"button",onClick:d,disabled:s.length===0,children:"下载 ZIP"}),o.jsx(x_,{disabled:!c,placement:"bottom",children:o.jsx("button",{type:"button",onClick:u,disabled:!c,children:"优化"})}),o.jsx("button",{type:"button",className:"skill-detail-close",onClick:f,"aria-label":"关闭技能详情",children:o.jsx(omt,{})})]})]}),o.jsxs("dl",{className:"skill-detail-meta",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"技能 ID"}),o.jsx("dd",{title:e.skillId,children:e.skillId})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"版本"}),o.jsx("dd",{children:(r==null?void 0:r.version)||e.version||"—"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"状态"}),o.jsx("dd",{children:F3(e.skillStatus)})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"技能空间"}),o.jsx("dd",{title:t.name,children:t.name})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"地域"}),o.jsx("dd",{children:Sc(n,i)})]})]}),o.jsxs("div",{className:"skill-detail-content skill-detail-content--files",children:[o.jsx("div",{className:"skill-detail-content-title",children:"完整文件"}),a?o.jsxs("div",{className:"skillcenter-loading",children:[o.jsx(E0e,{}),"正在读取技能内容…"]}):l?o.jsx("div",{className:"skillcenter-error",children:o.jsx(Xo,{error:l})}):s.length>0?o.jsx(x0e,{files:s.map(h=>h.path.endsWith("SKILL.md")&&h.content?{...h,content:amt(h.content)}:h)}):o.jsx(umt,{children:"该技能暂无 SKILL.md 内容"})]})]})})}function fmt({space:e,canUseSandbox:t,onUpload:n,onSandbox:i,onClose:r}){return m.useEffect(()=>{const s=a=>{a.key==="Escape"&&r()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[r]),o.jsx("div",{className:"skill-dialog-backdrop",role:"presentation",onMouseDown:r,children:o.jsxs("section",{className:"skill-dialog skill-add-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-add-dialog-title",onMouseDown:s=>s.stopPropagation(),children:[o.jsxs("header",{children:[o.jsxs("div",{children:[o.jsx("h2",{id:"skill-add-dialog-title",children:"添加技能"}),o.jsx("p",{title:e.name,children:e.name})]}),o.jsx("button",{type:"button",onClick:r,children:"取消"})]}),o.jsxs("div",{className:"skill-add-dialog__options",children:[o.jsxs("button",{type:"button",onClick:n,children:[o.jsx("strong",{children:"本地上传"}),o.jsx("span",{children:"选择 ZIP 文件,校验通过后上传到技能空间"})]}),o.jsx(x_,{disabled:!t,placement:"inside",children:o.jsxs("button",{type:"button",disabled:!t,onClick:i,children:[o.jsx("strong",{children:"自动创建"}),o.jsx("span",{children:"选择模型和风格,通过对话生成技能"})]})})]})]})})}function hmt({cloudProvider:e="volcengine",active:t=!0,activationRevision:n=0,initialWorkspace:i=null,onInitialWorkspaceConsumed:r,onPageTitleChange:s}){var Ut;const a=m.useMemo(()=>yb(e).map(Ce=>Ce.value),[e]),[l,c]=m.useState([]),[u,d]=m.useState({}),[f,h]=m.useState(!1),[p,b]=m.useState(""),[g,O]=m.useState((i==null?void 0:i.space)??null),[y,v]=m.useState([]),[x,w]=m.useState(1),[S,E]=m.useState(0),[k,T]=m.useState(!1),[_,N]=m.useState(null),[C,R]=m.useState(""),[L,D]=m.useState(null),[$,j]=m.useState(null),[P,M]=m.useState([]),[U,F]=m.useState(!1),[H,z]=m.useState(null),[Q,q]=m.useState(null),[le,ge]=m.useState(!1),[be,ce]=m.useState(null),[Z,J]=m.useState(null),[ue,Oe]=m.useState(null),[Ne,De]=m.useState(0),[Pe,pe]=m.useState(0),[Ee,ye]=m.useState(""),[$e,Ue]=m.useState(""),[_e,ze]=m.useState(null),[lt,Lt]=m.useState(i),We=m.useRef(0),W=m.useRef(0),ne=m.useRef(!1),de=m.useRef(null),xe=m.useRef(null),V=m.useRef(null),Re=m.useDeferredValue(p),Ze=m.useDeferredValue(C),Jt=(lt&&(g||lt.selectPublishSpace)?lt.operation==="create"?"创建技能":`优化 ${((Ut=lt.source)==null?void 0:Ut.name)||"技能"}`:"")||(g==null?void 0:g.name)||"技能库";m.useEffect(()=>{t&&(s==null||s(Jt))},[t,s,Jt]),m.useEffect(()=>{i&&(r==null||r())},[i,r]);const Ht=m.useMemo(()=>{const Ce=Re.trim().toLocaleLowerCase();return Ce?l.filter(Ye=>`${Ye.name} ${Ye.description||""} ${Ye.projectName||""}`.toLocaleLowerCase().includes(Ce)):l},[Re,l]),At=m.useMemo(()=>{const Ce=Ze.trim().toLocaleLowerCase();return Ce?y.filter(Ye=>`${Ye.skillName} ${Ye.skillDescription||""}`.toLocaleLowerCase().includes(Ce)):y},[Ze,y]),vt=(g==null?void 0:g.region)||qi(e),ve=m.useMemo(()=>a.flatMap(Ce=>{var $t;const Ye=($t=u[Ce])==null?void 0:$t.error;return Ye?[{region:Ce,error:Ye}]:[]}),[u,a]),Ve=a.some(Ce=>{const Ye=u[Ce];return!!(Ye&&!Ye.done&&!Ye.error)}),Fe=ve.length===a.length;m.useEffect(()=>{const Ce=new AbortController;return lC(Ce.signal).then(q).catch(()=>q({enabled:!1,reason:"管理员未配置",operations:["create","optimize"],models:[],styles:{}})),()=>Ce.abort()},[]);const yt=m.useCallback(async(Ce,Ye)=>{var at;if(ne.current||Ce.length===0)return;ne.current=!0,h(!0),Ye&&((at=de.current)==null||at.abort(),c([]),d(Object.fromEntries(Ce.map(({region:Dt})=>[Dt,{nextPage:1,loadedCount:0,done:!1,error:null}]))));const $t=new AbortController;de.current=$t;const mn=++W.current,tn=await Promise.allSettled(Ce.map(async({region:Dt,page:Yt})=>({region:Dt,page:Yt,result:await tJe({region:Dt,page:Yt,pageSize:imt,signal:$t.signal})})));if(W.current!==mn)return;const mi=tn.map((Dt,Yt)=>{const cn=Ce[Yt];return Dt.status==="rejected"?{request:cn,error:$s(Dt.reason,"读取技能空间失败,请稍后重试"),items:[],totalCount:0}:{request:cn,error:null,items:(Dt.value.result.items||[]).map(Zt=>({...Zt,region:Zt.region||Dt.value.region})),totalCount:Dt.value.result.totalCount||0}}),Ie=mi.flatMap(Dt=>Dt.items);d(Dt=>{const Yt={...Dt};return mi.forEach(({request:cn,error:Zt,items:si,totalCount:di})=>{const Yi=Yt[cn.region]||{nextPage:cn.page,loadedCount:0,done:!1,error:null};if(Zt){Yt[cn.region]={...Yi,error:Zt};return}const oe=Yi.loadedCount+si.length;Yt[cn.region]={nextPage:cn.page+1,loadedCount:oe,done:si.length===0||oe>=di,error:null}}),Yt}),c(Dt=>smt(Ye?[]:Dt,Ie)),O(Dt=>Dt&&(Ie.find(Yt=>lc(Yt)===lc(Dt))||Dt)),ne.current=!1,h(!1)},[]),bt=m.useCallback(()=>{if(ne.current)return;const Ce=a.flatMap(Ye=>{const $t=u[Ye];return $t&&!$t.done&&!$t.error?[{region:Ye,page:$t.nextPage}]:[]});yt(Ce,!1)},[yt,u,a]);m.useEffect(()=>{Rt(),O(null),v([]),w(1)},[e]),m.useEffect(()=>{if(t)return yt(a.map(Ce=>({region:Ce,page:1})),!0),()=>{var Ce;W.current+=1,(Ce=de.current)==null||Ce.abort(),ne.current=!1}},[t,n,yt,a,Ne]),m.useEffect(()=>{const Ce=V.current,Ye=xe.current;if(!Ce||!Ye||!Ve||f)return;const $t=new IntersectionObserver(([mn])=>{mn.isIntersecting&&bt()},{root:Ye,rootMargin:"240px 0px",threshold:.01});return $t.observe(Ce),()=>$t.disconnect()},[Ve,bt,f]);const jt=()=>{const Ce=xe.current;!Ce||!Ve||f||Ce.scrollHeight-Ce.scrollTop-Ce.clientHeight<=240&&bt()};m.useEffect(()=>{if(!g){v([]),E(0);return}let Ce=!0;return T(!0),N(null),uJe(g.id,{region:vt,page:x,pageSize:uY,project:g.projectName}).then(Ye=>{Ce&&(v(Ye.items||[]),E(Ye.totalCount||0))}).catch(Ye=>{Ce&&(v([]),E(0),N($s(Ye,"读取技能失败,请稍后重试")))}).finally(()=>{Ce&&T(!1)}),()=>{Ce=!1}},[vt,g,x,Pe]);const Ae=Ce=>{Rt(),O(Ce),w(1),R("")},Ke=()=>{Rt(),O(null),v([]),E(0),w(1),R(""),ze(null)},Rt=()=>{We.current+=1,D(null),j(null),M([]),z(null),F(!1)},sn=async Ce=>{if(!g)return;const Ye=We.current+1;We.current=Ye,D(Ce),j(null),z(null),F(!0);try{const[$t,mn]=await Promise.all([dJe(g.id,Ce.skillId,Ce.version,vt,g.projectName),lJe({spaceId:g.id,skillId:Ce.skillId,version:Ce.version,region:vt})]);We.current===Ye&&(j($t),M(mn))}catch($t){We.current===Ye&&z($s($t,"读取技能详情失败,请稍后重试"))}finally{We.current===Ye&&F(!1)}},nt=Ce=>{if(g)return{kind:"skill-center",skillId:Ce.skillId,version:Ce.version,region:vt,projectName:g.projectName,skillSpaceId:g.id,skillSpaceName:g.name,name:Ce.skillName,description:Ce.skillDescription}},pn=Ce=>{const Ye=nt(Ce);!Ye||!(Q!=null&&Q.enabled)||(Rt(),Lt({operation:"optimize",source:Ye}))},ei=async Ce=>{if(!(!g||!window.confirm(`确定删除整个 Skill“${Ce.skillName}”吗?此操作会影响所有引用它的空间。`))){ye(Ce.skillId),ze(null);try{await oJe({spaceId:g.id,skillId:Ce.skillId,region:vt}),pe(Ye=>Ye+1),De(Ye=>Ye+1)}catch(Ye){ze($s(Ye,"删除 Skill 失败"))}finally{ye("")}}},Ft=async Ce=>{if(!window.confirm(`确定删除 Skill 空间“${Ce.name}”吗?请先确认空间中的技能已删除。`))return;const Ye=lc(Ce);Ue(Ye),ze(null);try{await rJe({spaceId:Ce.id,region:Ce.region||qi(e)}),g&&lc(g)===Ye&&Ke(),De($t=>$t+1)}catch($t){ze($s($t,"删除 Skill 空间失败"))}finally{Ue("")}};return lt&&(g||lt.selectPublishSpace)?o.jsx(Jpt,{operation:lt.operation,cloudProvider:e,space:g??void 0,availableSpaces:l,spacesLoading:f,initialIntent:lt.initialIntent,source:lt.source,onBack:()=>Lt(null),onPublished:()=>{pe(Ce=>Ce+1),De(Ce=>Ce+1)}}):o.jsxs("section",{className:`skillcenter${g?" is-space":" my-agents-page"}`,children:[g?o.jsxs(o.Fragment,{children:[o.jsxs("header",{className:"skillcenter-page-header",children:[o.jsxs("div",{className:"skillcenter-page-heading skillcenter-page-heading--back",children:[o.jsx("button",{type:"button",className:"skillcenter-back",onClick:Ke,"aria-label":"返回技能空间",children:o.jsx(lmt,{})}),o.jsxs("div",{children:[o.jsx("h1",{title:g.name,children:g.name}),o.jsx("p",{children:g.description||"管理空间中的技能并创建新的版本"})]})]}),o.jsxs("label",{className:"skillcenter-search",children:[o.jsx(pY,{}),o.jsx("input",{type:"search","aria-label":"搜索技能",value:C,onChange:Ce=>R(Ce.target.value),placeholder:"搜索技能"})]})]}),o.jsxs("div",{className:"skillcenter-toolbar",children:[o.jsxs("div",{className:"skillcenter-detail-facts",children:[o.jsxs("div",{children:[o.jsx("span",{children:"技能数量"}),o.jsx("strong",{children:S})]}),o.jsxs("div",{children:[o.jsx("span",{children:"更新时间"}),o.jsx("strong",{children:g.updatedAt?fY(g.updatedAt):"—"})]})]}),o.jsxs("div",{className:"skillcenter-toolbar-actions",children:[o.jsx("button",{type:"button",className:"skillcenter-secondary-action",onClick:()=>Oe(g),children:"本地上传"}),o.jsx(x_,{disabled:!(Q!=null&&Q.enabled),children:o.jsxs("button",{type:"button",className:"skillcenter-primary-action",disabled:!(Q!=null&&Q.enabled),onClick:()=>Lt({operation:"create"}),children:[o.jsx(mY,{}),o.jsx("span",{children:"创建技能"})]})})]})]}),_e?o.jsx("div",{className:"skillcenter-inline-error",role:"alert",children:o.jsx(Xo,{error:_e})}):null,o.jsxs("section",{className:"skillcenter-results","aria-label":`${g.name}中的技能`,children:[k&&y.length===0?o.jsxs("div",{className:"skillcenter-loading",children:[o.jsx(E0e,{}),"正在加载技能"]}):_&&y.length===0?o.jsx(WI,{kind:"error",title:"无法加载技能",error:_,action:{label:"重新加载",onClick:()=>pe(Ce=>Ce+1)}}):At.length===0?o.jsx(WI,{kind:"empty",title:C.trim()?"没有匹配的技能":"暂无技能",description:C.trim()?"请尝试搜索其他名称":"本地上传 Skill,或自动创建",action:C.trim()?void 0:{label:"本地上传",onClick:()=>Oe(g)}}):o.jsx("div",{className:"skillcenter-table-wrap",children:o.jsxs("table",{className:"skillcenter-table",children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{scope:"col",children:"技能"}),o.jsx("th",{scope:"col",children:"状态"}),o.jsx("th",{scope:"col",className:"skillcenter-table__actions-heading",children:"操作"})]})}),o.jsx("tbody",{children:At.map(Ce=>o.jsxs("tr",{children:[o.jsx("td",{className:"skillcenter-table__skill",children:o.jsxs("button",{type:"button",onClick:()=>void sn(Ce),children:[o.jsxs("span",{className:"skillcenter-table__title-row",children:[o.jsx("strong",{title:Ce.skillName,children:Ce.skillName}),Ce.version?o.jsx("span",{className:"skillcenter-table__version-badge",children:Ce.version}):null]}),o.jsx("span",{className:"skillcenter-table__description",children:S0e(Ce.skillDescription)})]})}),o.jsx("td",{children:o.jsx("span",{className:`skillcenter-status ${dY(Ce.skillStatus)}`,children:F3(Ce.skillStatus)})}),o.jsx("td",{children:o.jsxs("div",{className:"skillcenter-table__actions",children:[o.jsx("button",{type:"button",onClick:()=>void sn(Ce),children:"查看"}),o.jsx(x_,{disabled:!(Q!=null&&Q.enabled),children:o.jsx("button",{type:"button",disabled:!(Q!=null&&Q.enabled),onClick:()=>pn(Ce),children:"优化"})}),o.jsx("button",{type:"button",className:"is-danger",disabled:Ee===Ce.skillId,onClick:()=>void ei(Ce),children:Ee===Ce.skillId?"删除中…":"删除"})]})})]},`${Ce.skillId}:${Ce.version}`))})]})}),!C.trim()&&!k&&!_&&S>0?o.jsx(cmt,{page:x,total:S,pageSize:uY,onPage:w}):null]})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"my-agent-type-bar skillcenter-list-toolbar library-resource-toolbar",children:[o.jsxs("button",{type:"button",className:"my-agent-create-primary",onClick:()=>ge(!0),children:[o.jsx(mY,{}),o.jsx("span",{children:"新建空间"})]}),o.jsxs("label",{className:"my-agent-search",children:[o.jsx(pY,{}),o.jsx("input",{type:"search","aria-label":"搜索技能空间",value:p,onChange:Ce=>b(Ce.target.value),placeholder:"搜索技能空间"})]})]}),_e?o.jsx("div",{className:"skillcenter-inline-error",role:"alert",children:o.jsx(Xo,{error:_e})}):null,o.jsxs("section",{className:"my-agent-results",ref:xe,"aria-label":"技能空间列表",onScroll:jt,children:[ve.length>0&&!Fe?o.jsx(bY,{errors:ve,cloudProvider:e,onRetry:()=>De(Ce=>Ce+1)}):null,f&&l.length===0?o.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载技能空间"})]}):Fe&&l.length===0?o.jsx(bY,{errors:ve,cloudProvider:e,fullPage:!0,onRetry:()=>De(Ce=>Ce+1)}):Ht.length===0?o.jsx(WI,{kind:"empty",title:p.trim()?"没有匹配的技能空间":"暂无技能空间",description:p.trim()?"请尝试搜索其他名称":"新建一个空间,开始管理和创建技能",action:p.trim()?void 0:{label:"新建空间",onClick:()=>ge(!0)}}):o.jsx(o.Fragment,{children:o.jsx("div",{className:"my-agent-grid",children:Ht.map(Ce=>{const Ye=lc(Ce);return o.jsx(qle,{className:"skillcenter-space-card",title:Ce.name,status:o.jsx("span",{className:`skillcenter-status ${dY(Ce.status)}`,children:F3(Ce.status)}),description:Ce.description||"暂无描述",metadata:[{label:"地域",value:Sc(Ce.region||qi(e),e)},{label:"技能数量",value:Ce.skillCount??0},{label:"更新时间",value:Ce.updatedAt?fY(Ce.updatedAt):"—"}],secondaryAction:{label:"添加技能",onClick:()=>J(Ce)},primaryAction:{label:"查看详情",onClick:()=>Ae(Ce)},menuLabel:`更多空间操作:${Ce.name}`,menuAriaLabel:`${Ce.name}空间操作`,menuActions:[{label:"编辑空间",onClick:()=>ce(Ce)},{label:"删除空间",danger:!0,disabled:$e===Ye,onClick:()=>void Ft(Ce)}]},Ye)})})}),!Fe&&l.length>0?o.jsx("div",{className:"my-agent-load-more",ref:V,"aria-live":"polite",children:f?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载更多技能空间"})]}):Ve?o.jsx("span",{children:"继续下滑加载更多"}):ve.length>0?o.jsx("span",{children:"部分技能空间加载失败"}):o.jsx("span",{children:"已加载全部技能空间"})}):null]})]}),L&&g&&o.jsx(dmt,{skill:L,space:g,region:vt,cloudProvider:e,detail:$,files:P,loading:U,error:H,canOptimize:(Q==null?void 0:Q.enabled)===!0,onOptimize:()=>pn(L),onDownload:()=>void cJe({spaceId:g.id,skillId:L.skillId,version:L.version,region:vt,fallbackName:L.skillName}).catch(Ce=>z($s(Ce,"下载 Skill 失败"))),onClose:Rt}),le?o.jsx(emt,{region:qi(e),regionOptions:yb(e),onClose:()=>ge(!1),onCreated:Ce=>{ge(!1),De(Ye=>Ye+1),O({...Ce,region:Ce.region||qi(e)})}}):null,be?o.jsx(tmt,{space:be,region:be.region||qi(e),onClose:()=>ce(null),onUpdated:Ce=>{const Ye={...Ce,region:Ce.region||be.region||qi(e)};ce(null),O($t=>$t&&lc($t)===lc(Ye)?Ye:$t),c($t=>$t.map(mn=>lc(mn)===lc(Ye)?Ye:mn)),De($t=>$t+1)}}):null,Z?o.jsx(fmt,{space:Z,canUseSandbox:(Q==null?void 0:Q.enabled)===!0,onClose:()=>J(null),onUpload:()=>{Oe(Z),J(null)},onSandbox:()=>{const Ce=Z;J(null),Ae(Ce),Lt({operation:"create"})}}):null,ue?o.jsx(nmt,{space:ue,region:ue.region||qi(e),onClose:()=>Oe(null),onUploaded:()=>{Oe(null),pe(Ce=>Ce+1),De(Ce=>Ce+1)}}):null]})}const bp=[{id:"skills",label:"技能库"},{id:"knowledge",label:"知识库"},{id:"artifacts",label:"产物"}];function pmt({cloudProvider:e,activeTab:t,onTabChange:n,onPageTitleChange:i,skillInitialWorkspace:r=null,onSkillInitialWorkspaceConsumed:s,artifactSources:a=[],artifactUserId:l="",onArtifactActivate:c,onArtifactSourceOpen:u}){const[d,f]=m.useState("技能库"),[h,p]=m.useState(()=>new Set(["skills",t])),[b,g]=m.useState({skills:0,knowledge:0,artifacts:0}),O=m.useRef(c),[y,v]=m.useState([]),[x,w]=m.useState(!1),[S,E]=m.useState(""),k=m.useMemo(()=>{const L=B4e(a);return{key:JSON.stringify(L),candidates:L}},[a]),T=m.useRef(k);T.current.key!==k.key&&(T.current=k);const _=T.current.candidates;m.useEffect(()=>{O.current=c},[c]),m.useEffect(()=>{p(L=>{if(L.has(t))return L;const D=new Set(L);return D.add(t),D})},[t]),m.useEffect(()=>{var D;const L=t==="skills"?d:((D=bp.find($=>$.id===t))==null?void 0:D.label)||"资源库";i==null||i(L)},[t,i,d]),m.useEffect(()=>{var L;t==="artifacts"&&((L=O.current)==null||L.call(O))},[t,b.artifacts]);const N=m.useCallback(async()=>{w(!0),E("");try{v(await G4e(_))}catch(L){E(L instanceof Error?L.message:String(L))}finally{w(!1)}},[_]);m.useEffect(()=>{t==="artifacts"&&N()},[t,b.artifacts,N]);const C=L=>{p(D=>{if(D.has(L))return D;const $=new Set(D);return $.add(L),$}),g(D=>({...D,[L]:D[L]+1})),n(L)},R=(L,D)=>{var M;if(!["ArrowLeft","ArrowRight","Home","End"].includes(L.key))return;L.preventDefault();const $=bp.findIndex(U=>U.id===D),j=L.key==="Home"?0:L.key==="End"?bp.length-1:($+(L.key==="ArrowRight"?1:-1)+bp.length)%bp.length,P=bp[j];C(P.id),(M=document.getElementById(`library-${P.id}-tab`))==null||M.focus()};return o.jsxs("section",{className:"library-view","aria-label":"资源库",children:[o.jsxs("header",{className:"library-view__header",children:[o.jsx("h1",{children:"资源库"}),o.jsx("p",{children:"管理您的资源和产物"})]}),o.jsx("nav",{className:"aw-agent-tabs library-tabs","aria-label":"资源库分类",role:"tablist",children:bp.map(L=>o.jsx("button",{type:"button",id:`library-${L.id}-tab`,className:t===L.id?"is-active":"",role:"tab","aria-selected":t===L.id,"aria-controls":`library-${L.id}-panel`,tabIndex:t===L.id?0:-1,onClick:()=>C(L.id),onKeyDown:D=>R(D,L.id),children:L.label},L.id))}),o.jsxs("div",{className:"library-panels",children:[h.has("skills")?o.jsx("div",{id:"library-skills-panel",className:"library-panel",role:"tabpanel","aria-labelledby":"library-skills-tab",hidden:t!=="skills",children:o.jsx(hmt,{cloudProvider:e,active:t==="skills",activationRevision:b.skills,onPageTitleChange:f,initialWorkspace:r,onInitialWorkspaceConsumed:s})}):null,h.has("knowledge")?o.jsx("div",{id:"library-knowledge-panel",className:"library-panel",role:"tabpanel","aria-labelledby":"library-knowledge-tab",hidden:t!=="knowledge",children:o.jsx(zKe,{cloudProvider:e,active:t==="knowledge",activationRevision:b.knowledge})}):null,h.has("artifacts")?o.jsx("div",{id:"library-artifacts-panel",className:"library-panel",role:"tabpanel","aria-labelledby":"library-artifacts-tab",hidden:t!=="artifacts",children:o.jsx(q4e,{items:y,userId:l,active:t==="artifacts",activationRevision:b.artifacts,loading:x,error:S,onRetry:()=>void N(),onEdit:Y4e,onDelete:W4e,onDownload:Z4e,onOpenSource:u?L=>u(L.appName,L.sessionId):void 0})}):null]})]})}const k0e="veadk_agentkit_connections",mmt=3e3,OY=6e4;function hc(){try{const e=localStorage.getItem(k0e);return(e?JSON.parse(e):[]).filter(n=>!n.runtimeId||!!n.region)}catch{return[]}}function BC(e){try{localStorage.setItem(k0e,JSON.stringify(e))}catch{}}function wc(e,t){return`agentkit:${e}:${t}`}function T0e(e){try{return new URL(e).host}catch{return e}}function $O(e){Lne();for(const t of e)if(!(t.runtimeId&&!t.region))for(const n of t.apps)Mne(wc(t.id,n),t.runtimeId?{app:n,runtimeId:t.runtimeId,region:t.region}:{app:n,base:t.base,apiKey:t.apiKey})}function _0e(e,t,n,i,r,s){const a={id:`rt_${e}`,name:t||e,runtimeId:e,region:n,apps:i,appLabels:r,currentVersion:s},l=hc(),c=l.findIndex(u=>u.runtimeId===e);return c===-1?l.push(a):l[c]=a,BC(l),$O(l),a}async function gmt(e,t,n,i,r){let s=null,a=n||"cn-beijing",l=null;for(const f of Hv(n))try{const h=await fA(e,f,{retryProbe:!0});if(h&&h.length>0){await Die(e,f),s=h,a=f;break}}catch(h){if(h instanceof aO)throw v_(e),h;if(h instanceof ca&&h.unsupported){l=h;continue}throw h}if(!s||s.length===0)throw v_(e),l||new ca("该 Runtime 暂不支持连接,请确认服务已正常运行。",!0,!0);const c=(r==null?void 0:r.trim())||s[0],u=Object.fromEntries(s.map(f=>[f,f===s[0]?c:f])),d=_0e(e,t,a,s,u,i);return wc(d.id,s[0])}function bmt(e){return new Promise(t=>window.setTimeout(t,e))}async function sT(e,t,n,i,r={}){const s=Date.now();for(;;)try{return await gmt(e,t,n,i,r.agentName)}catch(a){const l=Date.now()-s;if(!r.waitForReady||!(a instanceof ca)||!a.retryable||l>=OY)throw a;const c=Math.min(mmt,OY-l);await bmt(c)}}async function A0e(e,t,n,i){const r=t.trim().replace(/\/+$/,""),s=await Xv(r,n.trim()),a={id:Date.now().toString(36),name:e.trim()||T0e(r),base:r,apiKey:n.trim(),apps:s,appLabels:i&&s.length>0?{[s[0]]:i}:void 0},l=[...hc().filter(c=>c.base!==r),a];return BC(l),$O(l),a}function Omt(e){const t=hc().filter(n=>n.id!==e);return BC(t),$O(t),t}function v_(e){const t=hc().filter(n=>n.runtimeId!==e);return BC(t),$O(t),t}function C0e(e,t){const n=e.map(r=>({id:r,label:r,app:r,remote:!1})),i=t.flatMap(r=>r.apps.map(s=>{var l;const a=((l=r.appLabels)==null?void 0:l[s])??s;return{id:wc(r.id,s),label:a,app:s,remote:!0,host:r.runtimeId?r.name:T0e(r.base??""),runtimeId:r.runtimeId,region:r.region,currentVersion:r.currentVersion}}));return[...n,...i]}const yY=Object.freeze(Object.defineProperty({__proto__:null,addConnection:A0e,addRuntimeConnection:_0e,buildAgentEntries:C0e,connectRuntime:sT,loadConnections:hc,registerConnections:$O,remoteAppId:wc,removeConnection:Omt,removeRuntimeConnection:v_},Symbol.toStringTag,{value:"Module"}));function ymt({onAdded:e,onCancel:t}){const[n,i]=m.useState(""),[r,s]=m.useState(""),[a,l]=m.useState(""),[c,u]=m.useState(!1),[d,f]=m.useState(""),h=n.trim().length>0&&r.trim().length>0&&!c;async function p(){if(h){u(!0),f("");try{const b=await A0e(a,n,r,a);if(b.apps.length===0){f("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。"),u(!1);return}e(wc(b.id,b.apps[0]))}catch(b){f(`连接失败:${String(b)}。请检查 URL、API Key,以及该网关是否允许跨域。`),u(!1)}}}return o.jsx("div",{className:"addagent",children:o.jsxs("div",{className:"addagent-card",children:[o.jsx("h2",{className:"addagent-title",children:"添加 AgentKit 智能体"}),o.jsx("p",{className:"addagent-sub",children:"填入 AgentKit 部署的访问地址与 API Key,将通过 ADK 协议连接,连接成功后其 Agent 会出现在左上角的下拉中。"}),o.jsxs("label",{className:"addagent-field",children:[o.jsx("span",{className:"addagent-label",children:"访问地址 URL"}),o.jsx("input",{className:"addagent-input",value:n,onChange:b=>i(b.target.value),placeholder:"https://xxxxx.apigateway-cn-beijing.volceapi.com",autoFocus:!0})]}),o.jsxs("label",{className:"addagent-field",children:[o.jsx("span",{className:"addagent-label",children:"API Key"}),o.jsx("input",{className:"addagent-input",type:"password",value:r,onChange:b=>s(b.target.value),placeholder:"以 Authorization: Bearer 方式连接"})]}),o.jsxs("label",{className:"addagent-field",children:[o.jsx("span",{className:"addagent-label",children:"显示名称(可选)"}),o.jsx("input",{className:"addagent-input",value:a,onChange:b=>l(b.target.value),placeholder:"默认取 URL 的主机名"})]}),d&&o.jsx("div",{className:"addagent-error",children:d}),o.jsxs("div",{className:"addagent-actions",children:[o.jsx("button",{className:"addagent-btn addagent-btn--ghost",onClick:t,disabled:c,children:"取消"}),o.jsxs("button",{className:"addagent-btn addagent-btn--primary",onClick:p,disabled:!h,children:[c?o.jsx(ri,{className:"icon spin"}):null,c?"连接中…":"连接并添加"]})]})]})})}const A9=[{id:"context_engine",displayName:"上下文治理",description:"治理上下文组装、任务锚定和上下文预算。"},{id:"compressor",displayName:"上下文与结果压缩",description:"压缩长上下文和大型工具结果,降低 Token 成本。"},{id:"verifier",displayName:"回答校验与修复",description:"校验证据和回答,在失败时执行修复或告警。"},{id:"long_run_control",displayName:"Goal任务控制",description:"管理 Goal 任务的进度、续跑和结束条件。"},{id:"mcp_resilience",displayName:"MCP 稳定性治理",description:"治理连接、超时、空结果、大返回和调用预算;默认包含 SQL 只读保护。"}],xmt=[{id:"quality",displayName:"提升回答质量",componentIds:["context_engine","verifier"]},{id:"cost",displayName:"降低运行成本",componentIds:["compressor"]},{id:"stability",displayName:"增强运行稳定性",componentIds:["long_run_control","mcp_resilience"]}],QC=A9.map(e=>e.id),vmt="BytePlus 账号暂不支持 Harness Sidecar 优化项。请保持优化项为空后继续部署,普通 BytePlus 智能体不受影响。";function wmt(e){return e==="byteplus"?vmt:null}const N0e=["context_engine","compressor","verifier","long_run_control"],Smt=new Set(["1","true","yes","on"]),C9=[{id:"default",displayName:"自定义",description:"按需选择组件,不勾选时不启动 Sidecar。",defaultComponents:[],autoAddedComponents:[]},{id:"ops",displayName:"运维场景",description:"适用于运维诊断、数据库、日志和监控 MCP。",defaultComponents:["context_engine","verifier","long_run_control","mcp_resilience"],autoAddedComponents:["sql_readonly"]}];function tx(e){var t;return((t=A9.find(n=>n.id===e))==null?void 0:t.displayName)??e}function j0e(e){var t;return((t=C9.find(n=>n.id===e))==null?void 0:t.displayName)??e}function R0e(e){const t=C9.find(n=>n.id===e);return t?[...t.defaultComponents]:[]}function E0(e,t="default"){const n=new Set(e);return{enabled:n.size>0,profile:t,componentOverrides:Object.fromEntries(QC.map(r=>[r,n.has(r)]))}}function ZI(e){return Smt.has((e==null?void 0:e.trim().toLowerCase())??"")}function Emt(e){if(!e)return null;try{const t=JSON.parse(e);return t&&typeof t=="object"&&!Array.isArray(t)?t:null}catch{return null}}function kmt(e){var a;const t=new Map((e==null?void 0:e.map(({key:l,value:c})=>[l,c]))??[]),n=t.get("HARNESS_SIDECAR_ENABLED");if(n===void 0)return null;const i=((a=t.get("HARNESS_PROFILE"))==null?void 0:a.trim())==="ops"?"ops":"default";if(!ZI(n))return E0([],i);const r=Emt(t.get("HARNESS_SIDECAR_COMPONENT_OVERRIDES"));if(r)return{...E0(QC.filter(l=>r[l]===!0),i),enabled:!0};if(i==="ops")return E0(R0e(i),i);const s=[...ZI(t.get("HARNESS_MODEL_PROXY_ENABLED"))?N0e:[],...ZI(t.get("HARNESS_MCP_GATEWAY_ENABLED"))?["mcp_resilience"]:[]];return{...E0(s,i),enabled:!0}}function Tmt(e,t){return{...e,modelName:t.modelName||e.modelName,description:t.description,instruction:t.instruction}}function _mt(e){var t;return((t=e.harnessSidecar)==null?void 0:t.profile)??"default"}function N9(e){var n;const t=(n=e.harnessSidecar)==null?void 0:n.componentOverrides;return t?QC.filter(i=>t[i]):[]}function Amt(e){const t=new Set(N9(e));return N0e.filter(n=>t.has(n))}function j9({label:e,onClick:t}){return o.jsx("button",{type:"button",className:"page-back-button","aria-label":e,title:e,onClick:t,children:o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"m14.5 6-6 6 6 6"})})})}const Cmt=[{id:"case-1",itemKey:"case-1",kind:"good",input:"总结本周客户反馈,并按优先级归类。",output:"覆盖主要问题,给出清晰的优先级与下一步动作。",referenceOutput:"覆盖主要问题,给出清晰的优先级与下一步动作。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T09:12:00+08:00",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"总结",source:"auto",score:.92,reason:"任务完整覆盖了用户目标,输出结构清晰,并给出了可执行的下一步动作。"},{id:"case-2",itemKey:"case-2",kind:"good",input:"查询最新公开资料并附上来源。",output:"调用搜索工具,结论与引用一一对应。",referenceOutput:"调用搜索工具,结论与引用一一对应。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T08:47:00+08:00",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"工具调用",source:"user"},{id:"case-3",itemKey:"case-3",kind:"bad",input:"在信息不足时直接给出确定结论。",output:"应明确说明未知,并主动询问缺失信息。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T07:35:00+08:00",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"幻觉",source:"auto",score:.28,reason:"信息不足时仍给出了确定结论,缺少必要的澄清步骤与不确定性说明。"},{id:"case-4",itemKey:"case-4",kind:"bad",input:"连续重复调用相同工具获取同一结果。",output:"复用已有结果,避免无意义的重复调用。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T06:58:00+08:00",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"效率",source:"user"}],Nmt=[{id:"eval-regression",name:"核心能力回归",agentIds:[],caseSet:"核心回归集",evaluator:"综合质量评估器",metrics:["回答质量","工具调用"],concurrency:"4",history:[{id:"run-1",createdAt:"今天 10:32",score:88,status:"completed"},{id:"run-2",createdAt:"昨天 16:08",score:84,status:"completed"}]},{id:"eval-safety",name:"安全与幻觉检查",agentIds:[],caseSet:"安全边界集",evaluator:"事实一致性评估器",metrics:["事实准确性","拒答合理性"],concurrency:"2",history:[{id:"run-3",createdAt:"7 月 25 日 14:20",score:91,status:"completed"}]}],xY=[{id:"basic",label:"基本信息"},{id:"usage",label:"用量统计"},{id:"evaluations",label:"评测集"},{id:"optimizations",label:"优化项"},{id:"integrations",label:"接入方法"},{id:"versions",label:"版本"}],jmt=20,Rmt=new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1});function Imt(e){const t=Date.parse(e);return Number.isNaN(t)?"暂未提供":Rmt.format(t)}const jy=[{id:"api-server",label:"API Server"},{id:"a2a",label:"A2A"}];function KI(e,t){return e?`${e.replace(/\/+$/,"")}${t}`:""}function Dmt(e,t){const n=e.trim();if(!n||!t)return n;try{const i=new URL(n),r=i.hostname.replace(/^\[|\]$/g,"").toLowerCase();if(!["localhost","127.0.0.1","::1"].includes(r))return n;const s=new URL(t);return i.protocol=s.protocol,i.hostname=s.hostname,i.port=s.port,i.toString()}catch{return n}}function vY(e){return e==="key_auth"?"API Key":e==="custom_jwt"?"OAuth / JWT":e==="none"?"无需鉴权":"暂无"}function wY(e){return e==="published"?"已发布":e==="publishing"?"发布中":e==="failed"?"发布失败":e==="pending"?"等待发布":"未知"}function Pmt(e){return e.changeType==="rollback"?"回退事件":e.version}function U3(e){return JSON.stringify(e)}function I0e(e){return e==="key_auth"?`API_KEY = "" +`,4);return n>=0?t.slice(n+5).trimStart():e}function S0e(e){const t=(e||"").trim();return!t||[">",">-","|","|-"].includes(t)?"暂无描述":t}function omt(){return o.jsx("svg",{className:"icon",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:"m7.5 7.5 9 9m0-9-9 9",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function pY(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),o.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function mY(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"M12 5.5v13M5.5 12h13",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round"})})}function lmt(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function gY({direction:e}){return o.jsx("svg",{className:"icon",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:e==="left"?"m11.7 5.5-4.2 4.5 4.2 4.5":"m8.3 5.5 4.2 4.5-4.2 4.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function E0e(){return o.jsx("span",{className:"skillcenter-loading-mark","aria-hidden":!0})}function cmt({page:e,total:t,pageSize:n,onPage:i}){const r=Math.max(1,Math.ceil(t/n));return o.jsxs("footer",{className:"skillcenter-pager",children:[o.jsxs("span",{children:["共 ",t," 项"]}),o.jsxs("div",{className:"skillcenter-pager-actions",children:[o.jsx("button",{type:"button",onClick:()=>i(e-1),disabled:e<=1,"aria-label":"上一页",children:o.jsx(gY,{direction:"left"})}),o.jsxs("span",{children:[e," / ",r]}),o.jsx("button",{type:"button",onClick:()=>i(e+1),disabled:e>=r,"aria-label":"下一页",children:o.jsx(gY,{direction:"right"})})]})]})}function umt({children:e}){return o.jsx("div",{className:"skillcenter-empty",children:e})}function WI({kind:e,title:t,description:n,error:i,action:r}){return o.jsx("div",{className:`skillcenter-page-state is-${e}`,role:e==="error"?"alert":"status",children:o.jsxs(on,{fill:"none",children:[o.jsx(on.Title,{children:t}),n?o.jsx(on.Description,{children:n}):null,i?o.jsx(Xo,{error:i}):null,r?o.jsx(on.ActionRow,{children:o.jsx(_n,{color:"secondary",size:"lg",onClick:r.onClick,children:r.label})}):null]})})}function bY({errors:e,cloudProvider:t,fullPage:n=!1,onRetry:i}){return o.jsxs("div",{className:`skillcenter-space-errors${n?" is-full-page":""}`,role:"alert",children:[o.jsxs("div",{className:"skillcenter-space-errors__content",children:[o.jsx("strong",{children:n?"无法加载技能空间":"部分技能空间加载失败"}),e.map(({region:r,error:s})=>o.jsxs("section",{children:[o.jsx("span",{children:Sc(r,t)}),o.jsx(Xo,{error:s})]},r))]}),o.jsx("button",{type:"button",onClick:i,children:"重新加载"})]})}function dmt({skill:e,space:t,region:n,cloudProvider:i,detail:r,files:s,loading:a,error:l,canOptimize:c,onOptimize:u,onDownload:d,onClose:f}){return m.useEffect(()=>{const h=p=>{p.key==="Escape"&&f()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[f]),o.jsx("div",{className:"skill-detail-backdrop",role:"presentation",onMouseDown:f,children:o.jsxs("section",{className:"skill-detail-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-detail-title",onMouseDown:h=>h.stopPropagation(),children:[o.jsxs("header",{className:"skill-detail-head",children:[o.jsx("div",{className:"skill-detail-heading",children:o.jsxs("div",{children:[o.jsx("h2",{id:"skill-detail-title",children:(r==null?void 0:r.name)||e.skillName}),o.jsx("p",{children:S0e((r==null?void 0:r.description)||e.skillDescription)})]})}),o.jsxs("div",{className:"skill-detail-actions",children:[o.jsx("button",{type:"button",onClick:d,disabled:s.length===0,children:"下载 ZIP"}),o.jsx(x_,{disabled:!c,placement:"bottom",children:o.jsx("button",{type:"button",onClick:u,disabled:!c,children:"优化"})}),o.jsx("button",{type:"button",className:"skill-detail-close",onClick:f,"aria-label":"关闭技能详情",children:o.jsx(omt,{})})]})]}),o.jsxs("dl",{className:"skill-detail-meta",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"技能 ID"}),o.jsx("dd",{title:e.skillId,children:e.skillId})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"版本"}),o.jsx("dd",{children:(r==null?void 0:r.version)||e.version||"—"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"状态"}),o.jsx("dd",{children:F3(e.skillStatus)})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"技能空间"}),o.jsx("dd",{title:t.name,children:t.name})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"地域"}),o.jsx("dd",{children:Sc(n,i)})]})]}),o.jsxs("div",{className:"skill-detail-content skill-detail-content--files",children:[o.jsx("div",{className:"skill-detail-content-title",children:"完整文件"}),a?o.jsxs("div",{className:"skillcenter-loading",children:[o.jsx(E0e,{}),"正在读取技能内容…"]}):l?o.jsx("div",{className:"skillcenter-error",children:o.jsx(Xo,{error:l})}):s.length>0?o.jsx(x0e,{files:s.map(h=>h.path.endsWith("SKILL.md")&&h.content?{...h,content:amt(h.content)}:h)}):o.jsx(umt,{children:"该技能暂无 SKILL.md 内容"})]})]})})}function fmt({space:e,canUseSandbox:t,onUpload:n,onSandbox:i,onClose:r}){return m.useEffect(()=>{const s=a=>{a.key==="Escape"&&r()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[r]),o.jsx("div",{className:"skill-dialog-backdrop",role:"presentation",onMouseDown:r,children:o.jsxs("section",{className:"skill-dialog skill-add-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-add-dialog-title",onMouseDown:s=>s.stopPropagation(),children:[o.jsxs("header",{children:[o.jsxs("div",{children:[o.jsx("h2",{id:"skill-add-dialog-title",children:"添加技能"}),o.jsx("p",{title:e.name,children:e.name})]}),o.jsx("button",{type:"button",onClick:r,children:"取消"})]}),o.jsxs("div",{className:"skill-add-dialog__options",children:[o.jsxs("button",{type:"button",onClick:n,children:[o.jsx("strong",{children:"本地上传"}),o.jsx("span",{children:"选择 ZIP 文件,校验通过后上传到技能空间"})]}),o.jsx(x_,{disabled:!t,placement:"inside",children:o.jsxs("button",{type:"button",disabled:!t,onClick:i,children:[o.jsx("strong",{children:"自动创建"}),o.jsx("span",{children:"选择模型和风格,通过对话生成技能"})]})})]})]})})}function hmt({cloudProvider:e="volcengine",active:t=!0,activationRevision:n=0,initialWorkspace:i=null,onInitialWorkspaceConsumed:r,onPageTitleChange:s}){var Ut;const a=m.useMemo(()=>yb(e).map(Ce=>Ce.value),[e]),[l,c]=m.useState([]),[u,d]=m.useState({}),[f,h]=m.useState(!1),[p,b]=m.useState(""),[g,O]=m.useState((i==null?void 0:i.space)??null),[y,v]=m.useState([]),[x,w]=m.useState(1),[S,E]=m.useState(0),[k,T]=m.useState(!1),[_,N]=m.useState(null),[C,R]=m.useState(""),[L,D]=m.useState(null),[$,j]=m.useState(null),[P,M]=m.useState([]),[U,F]=m.useState(!1),[H,z]=m.useState(null),[Q,q]=m.useState(null),[le,ge]=m.useState(!1),[be,ce]=m.useState(null),[Z,J]=m.useState(null),[ue,Oe]=m.useState(null),[Ne,De]=m.useState(0),[Pe,pe]=m.useState(0),[Ee,ye]=m.useState(""),[$e,Ue]=m.useState(""),[_e,ze]=m.useState(null),[lt,Lt]=m.useState(i),We=m.useRef(0),W=m.useRef(0),ne=m.useRef(!1),de=m.useRef(null),xe=m.useRef(null),V=m.useRef(null),Re=m.useDeferredValue(p),Ze=m.useDeferredValue(C),Jt=(lt&&(g||lt.selectPublishSpace)?lt.operation==="create"?"创建技能":`优化 ${((Ut=lt.source)==null?void 0:Ut.name)||"技能"}`:"")||(g==null?void 0:g.name)||"技能库";m.useEffect(()=>{t&&(s==null||s(Jt))},[t,s,Jt]),m.useEffect(()=>{i&&(r==null||r())},[i,r]);const Ht=m.useMemo(()=>{const Ce=Re.trim().toLocaleLowerCase();return Ce?l.filter(Ye=>`${Ye.name} ${Ye.description||""} ${Ye.projectName||""}`.toLocaleLowerCase().includes(Ce)):l},[Re,l]),At=m.useMemo(()=>{const Ce=Ze.trim().toLocaleLowerCase();return Ce?y.filter(Ye=>`${Ye.skillName} ${Ye.skillDescription||""}`.toLocaleLowerCase().includes(Ce)):y},[Ze,y]),vt=(g==null?void 0:g.region)||qi(e),ve=m.useMemo(()=>a.flatMap(Ce=>{var $t;const Ye=($t=u[Ce])==null?void 0:$t.error;return Ye?[{region:Ce,error:Ye}]:[]}),[u,a]),Ve=a.some(Ce=>{const Ye=u[Ce];return!!(Ye&&!Ye.done&&!Ye.error)}),Fe=ve.length===a.length;m.useEffect(()=>{const Ce=new AbortController;return lC(Ce.signal).then(q).catch(()=>q({enabled:!1,reason:"管理员未配置",operations:["create","optimize"],models:[],styles:{}})),()=>Ce.abort()},[]);const yt=m.useCallback(async(Ce,Ye)=>{var at;if(ne.current||Ce.length===0)return;ne.current=!0,h(!0),Ye&&((at=de.current)==null||at.abort(),c([]),d(Object.fromEntries(Ce.map(({region:Dt})=>[Dt,{nextPage:1,loadedCount:0,done:!1,error:null}]))));const $t=new AbortController;de.current=$t;const mn=++W.current,tn=await Promise.allSettled(Ce.map(async({region:Dt,page:Yt})=>({region:Dt,page:Yt,result:await tJe({region:Dt,page:Yt,pageSize:imt,signal:$t.signal})})));if(W.current!==mn)return;const mi=tn.map((Dt,Yt)=>{const cn=Ce[Yt];return Dt.status==="rejected"?{request:cn,error:$s(Dt.reason,"读取技能空间失败,请稍后重试"),items:[],totalCount:0}:{request:cn,error:null,items:(Dt.value.result.items||[]).map(Zt=>({...Zt,region:Zt.region||Dt.value.region})),totalCount:Dt.value.result.totalCount||0}}),Ie=mi.flatMap(Dt=>Dt.items);d(Dt=>{const Yt={...Dt};return mi.forEach(({request:cn,error:Zt,items:si,totalCount:di})=>{const Yi=Yt[cn.region]||{nextPage:cn.page,loadedCount:0,done:!1,error:null};if(Zt){Yt[cn.region]={...Yi,error:Zt};return}const oe=Yi.loadedCount+si.length;Yt[cn.region]={nextPage:cn.page+1,loadedCount:oe,done:si.length===0||oe>=di,error:null}}),Yt}),c(Dt=>smt(Ye?[]:Dt,Ie)),O(Dt=>Dt&&(Ie.find(Yt=>lc(Yt)===lc(Dt))||Dt)),ne.current=!1,h(!1)},[]),bt=m.useCallback(()=>{if(ne.current)return;const Ce=a.flatMap(Ye=>{const $t=u[Ye];return $t&&!$t.done&&!$t.error?[{region:Ye,page:$t.nextPage}]:[]});yt(Ce,!1)},[yt,u,a]);m.useEffect(()=>{Rt(),O(null),v([]),w(1)},[e]),m.useEffect(()=>{if(t)return yt(a.map(Ce=>({region:Ce,page:1})),!0),()=>{var Ce;W.current+=1,(Ce=de.current)==null||Ce.abort(),ne.current=!1}},[t,n,yt,a,Ne]),m.useEffect(()=>{const Ce=V.current,Ye=xe.current;if(!Ce||!Ye||!Ve||f)return;const $t=new IntersectionObserver(([mn])=>{mn.isIntersecting&&bt()},{root:Ye,rootMargin:"240px 0px",threshold:.01});return $t.observe(Ce),()=>$t.disconnect()},[Ve,bt,f]);const jt=()=>{const Ce=xe.current;!Ce||!Ve||f||Ce.scrollHeight-Ce.scrollTop-Ce.clientHeight<=240&&bt()};m.useEffect(()=>{if(!g){v([]),E(0);return}let Ce=!0;return T(!0),N(null),uJe(g.id,{region:vt,page:x,pageSize:uY,project:g.projectName}).then(Ye=>{Ce&&(v(Ye.items||[]),E(Ye.totalCount||0))}).catch(Ye=>{Ce&&(v([]),E(0),N($s(Ye,"读取技能失败,请稍后重试")))}).finally(()=>{Ce&&T(!1)}),()=>{Ce=!1}},[vt,g,x,Pe]);const Ae=Ce=>{Rt(),O(Ce),w(1),R("")},Ke=()=>{Rt(),O(null),v([]),E(0),w(1),R(""),ze(null)},Rt=()=>{We.current+=1,D(null),j(null),M([]),z(null),F(!1)},sn=async Ce=>{if(!g)return;const Ye=We.current+1;We.current=Ye,D(Ce),j(null),z(null),F(!0);try{const[$t,mn]=await Promise.all([dJe(g.id,Ce.skillId,Ce.version,vt,g.projectName,Ce.skillName,g.name),lJe({spaceId:g.id,skillId:Ce.skillId,version:Ce.version,region:vt,skillSpaceName:g.name,skillName:Ce.skillName})]);We.current===Ye&&(j($t),M(mn))}catch($t){We.current===Ye&&z($s($t,"读取技能详情失败,请稍后重试"))}finally{We.current===Ye&&F(!1)}},nt=Ce=>{if(g)return{kind:"skill-center",skillId:Ce.skillId,version:Ce.version,region:vt,projectName:g.projectName,skillSpaceId:g.id,skillSpaceName:g.name,name:Ce.skillName,description:Ce.skillDescription}},pn=Ce=>{const Ye=nt(Ce);!Ye||!(Q!=null&&Q.enabled)||(Rt(),Lt({operation:"optimize",source:Ye}))},ei=async Ce=>{if(!(!g||!window.confirm(`确定删除整个 Skill“${Ce.skillName}”吗?此操作会影响所有引用它的空间。`))){ye(Ce.skillId),ze(null);try{await oJe({spaceId:g.id,skillId:Ce.skillId,region:vt}),pe(Ye=>Ye+1),De(Ye=>Ye+1)}catch(Ye){ze($s(Ye,"删除 Skill 失败"))}finally{ye("")}}},Ft=async Ce=>{if(!window.confirm(`确定删除 Skill 空间“${Ce.name}”吗?请先确认空间中的技能已删除。`))return;const Ye=lc(Ce);Ue(Ye),ze(null);try{await rJe({spaceId:Ce.id,region:Ce.region||qi(e)}),g&&lc(g)===Ye&&Ke(),De($t=>$t+1)}catch($t){ze($s($t,"删除 Skill 空间失败"))}finally{Ue("")}};return lt&&(g||lt.selectPublishSpace)?o.jsx(Jpt,{operation:lt.operation,cloudProvider:e,space:g??void 0,availableSpaces:l,spacesLoading:f,initialIntent:lt.initialIntent,source:lt.source,onBack:()=>Lt(null),onPublished:()=>{pe(Ce=>Ce+1),De(Ce=>Ce+1)}}):o.jsxs("section",{className:`skillcenter${g?" is-space":" my-agents-page"}`,children:[g?o.jsxs(o.Fragment,{children:[o.jsxs("header",{className:"skillcenter-page-header",children:[o.jsxs("div",{className:"skillcenter-page-heading skillcenter-page-heading--back",children:[o.jsx("button",{type:"button",className:"skillcenter-back",onClick:Ke,"aria-label":"返回技能空间",children:o.jsx(lmt,{})}),o.jsxs("div",{children:[o.jsx("h1",{title:g.name,children:g.name}),o.jsx("p",{children:g.description||"管理空间中的技能并创建新的版本"})]})]}),o.jsxs("label",{className:"skillcenter-search",children:[o.jsx(pY,{}),o.jsx("input",{type:"search","aria-label":"搜索技能",value:C,onChange:Ce=>R(Ce.target.value),placeholder:"搜索技能"})]})]}),o.jsxs("div",{className:"skillcenter-toolbar",children:[o.jsxs("div",{className:"skillcenter-detail-facts",children:[o.jsxs("div",{children:[o.jsx("span",{children:"技能数量"}),o.jsx("strong",{children:S})]}),o.jsxs("div",{children:[o.jsx("span",{children:"更新时间"}),o.jsx("strong",{children:g.updatedAt?fY(g.updatedAt):"—"})]})]}),o.jsxs("div",{className:"skillcenter-toolbar-actions",children:[o.jsx("button",{type:"button",className:"skillcenter-secondary-action",onClick:()=>Oe(g),children:"本地上传"}),o.jsx(x_,{disabled:!(Q!=null&&Q.enabled),children:o.jsxs("button",{type:"button",className:"skillcenter-primary-action",disabled:!(Q!=null&&Q.enabled),onClick:()=>Lt({operation:"create"}),children:[o.jsx(mY,{}),o.jsx("span",{children:"创建技能"})]})})]})]}),_e?o.jsx("div",{className:"skillcenter-inline-error",role:"alert",children:o.jsx(Xo,{error:_e})}):null,o.jsxs("section",{className:"skillcenter-results","aria-label":`${g.name}中的技能`,children:[k&&y.length===0?o.jsxs("div",{className:"skillcenter-loading",children:[o.jsx(E0e,{}),"正在加载技能"]}):_&&y.length===0?o.jsx(WI,{kind:"error",title:"无法加载技能",error:_,action:{label:"重新加载",onClick:()=>pe(Ce=>Ce+1)}}):At.length===0?o.jsx(WI,{kind:"empty",title:C.trim()?"没有匹配的技能":"暂无技能",description:C.trim()?"请尝试搜索其他名称":"本地上传 Skill,或自动创建",action:C.trim()?void 0:{label:"本地上传",onClick:()=>Oe(g)}}):o.jsx("div",{className:"skillcenter-table-wrap",children:o.jsxs("table",{className:"skillcenter-table",children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{scope:"col",children:"技能"}),o.jsx("th",{scope:"col",children:"状态"}),o.jsx("th",{scope:"col",className:"skillcenter-table__actions-heading",children:"操作"})]})}),o.jsx("tbody",{children:At.map(Ce=>o.jsxs("tr",{children:[o.jsx("td",{className:"skillcenter-table__skill",children:o.jsxs("button",{type:"button",onClick:()=>void sn(Ce),children:[o.jsxs("span",{className:"skillcenter-table__title-row",children:[o.jsx("strong",{title:Ce.skillName,children:Ce.skillName}),Ce.version?o.jsx("span",{className:"skillcenter-table__version-badge",children:Ce.version}):null]}),o.jsx("span",{className:"skillcenter-table__description",children:S0e(Ce.skillDescription)})]})}),o.jsx("td",{children:o.jsx("span",{className:`skillcenter-status ${dY(Ce.skillStatus)}`,children:F3(Ce.skillStatus)})}),o.jsx("td",{children:o.jsxs("div",{className:"skillcenter-table__actions",children:[o.jsx("button",{type:"button",onClick:()=>void sn(Ce),children:"查看"}),o.jsx(x_,{disabled:!(Q!=null&&Q.enabled),children:o.jsx("button",{type:"button",disabled:!(Q!=null&&Q.enabled),onClick:()=>pn(Ce),children:"优化"})}),o.jsx("button",{type:"button",className:"is-danger",disabled:Ee===Ce.skillId,onClick:()=>void ei(Ce),children:Ee===Ce.skillId?"删除中…":"删除"})]})})]},`${Ce.skillId}:${Ce.version}`))})]})}),!C.trim()&&!k&&!_&&S>0?o.jsx(cmt,{page:x,total:S,pageSize:uY,onPage:w}):null]})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"my-agent-type-bar skillcenter-list-toolbar library-resource-toolbar",children:[o.jsxs("button",{type:"button",className:"my-agent-create-primary",onClick:()=>ge(!0),children:[o.jsx(mY,{}),o.jsx("span",{children:"新建空间"})]}),o.jsxs("label",{className:"my-agent-search",children:[o.jsx(pY,{}),o.jsx("input",{type:"search","aria-label":"搜索技能空间",value:p,onChange:Ce=>b(Ce.target.value),placeholder:"搜索技能空间"})]})]}),_e?o.jsx("div",{className:"skillcenter-inline-error",role:"alert",children:o.jsx(Xo,{error:_e})}):null,o.jsxs("section",{className:"my-agent-results",ref:xe,"aria-label":"技能空间列表",onScroll:jt,children:[ve.length>0&&!Fe?o.jsx(bY,{errors:ve,cloudProvider:e,onRetry:()=>De(Ce=>Ce+1)}):null,f&&l.length===0?o.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载技能空间"})]}):Fe&&l.length===0?o.jsx(bY,{errors:ve,cloudProvider:e,fullPage:!0,onRetry:()=>De(Ce=>Ce+1)}):Ht.length===0?o.jsx(WI,{kind:"empty",title:p.trim()?"没有匹配的技能空间":"暂无技能空间",description:p.trim()?"请尝试搜索其他名称":"新建一个空间,开始管理和创建技能",action:p.trim()?void 0:{label:"新建空间",onClick:()=>ge(!0)}}):o.jsx(o.Fragment,{children:o.jsx("div",{className:"my-agent-grid",children:Ht.map(Ce=>{const Ye=lc(Ce);return o.jsx(qle,{className:"skillcenter-space-card",title:Ce.name,status:o.jsx("span",{className:`skillcenter-status ${dY(Ce.status)}`,children:F3(Ce.status)}),description:Ce.description||"暂无描述",metadata:[{label:"地域",value:Sc(Ce.region||qi(e),e)},{label:"技能数量",value:Ce.skillCount??0},{label:"更新时间",value:Ce.updatedAt?fY(Ce.updatedAt):"—"}],secondaryAction:{label:"添加技能",onClick:()=>J(Ce)},primaryAction:{label:"查看详情",onClick:()=>Ae(Ce)},menuLabel:`更多空间操作:${Ce.name}`,menuAriaLabel:`${Ce.name}空间操作`,menuActions:[{label:"编辑空间",onClick:()=>ce(Ce)},{label:"删除空间",danger:!0,disabled:$e===Ye,onClick:()=>void Ft(Ce)}]},Ye)})})}),!Fe&&l.length>0?o.jsx("div",{className:"my-agent-load-more",ref:V,"aria-live":"polite",children:f?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载更多技能空间"})]}):Ve?o.jsx("span",{children:"继续下滑加载更多"}):ve.length>0?o.jsx("span",{children:"部分技能空间加载失败"}):o.jsx("span",{children:"已加载全部技能空间"})}):null]})]}),L&&g&&o.jsx(dmt,{skill:L,space:g,region:vt,cloudProvider:e,detail:$,files:P,loading:U,error:H,canOptimize:(Q==null?void 0:Q.enabled)===!0,onOptimize:()=>pn(L),onDownload:()=>void cJe({spaceId:g.id,skillId:L.skillId,version:L.version,region:vt,fallbackName:L.skillName,skillSpaceName:g.name,skillName:L.skillName}).catch(Ce=>z($s(Ce,"下载 Skill 失败"))),onClose:Rt}),le?o.jsx(emt,{region:qi(e),regionOptions:yb(e),onClose:()=>ge(!1),onCreated:Ce=>{ge(!1),De(Ye=>Ye+1),O({...Ce,region:Ce.region||qi(e)})}}):null,be?o.jsx(tmt,{space:be,region:be.region||qi(e),onClose:()=>ce(null),onUpdated:Ce=>{const Ye={...Ce,region:Ce.region||be.region||qi(e)};ce(null),O($t=>$t&&lc($t)===lc(Ye)?Ye:$t),c($t=>$t.map(mn=>lc(mn)===lc(Ye)?Ye:mn)),De($t=>$t+1)}}):null,Z?o.jsx(fmt,{space:Z,canUseSandbox:(Q==null?void 0:Q.enabled)===!0,onClose:()=>J(null),onUpload:()=>{Oe(Z),J(null)},onSandbox:()=>{const Ce=Z;J(null),Ae(Ce),Lt({operation:"create"})}}):null,ue?o.jsx(nmt,{space:ue,region:ue.region||qi(e),onClose:()=>Oe(null),onUploaded:()=>{Oe(null),pe(Ce=>Ce+1),De(Ce=>Ce+1)}}):null]})}const bp=[{id:"skills",label:"技能库"},{id:"knowledge",label:"知识库"},{id:"artifacts",label:"产物"}];function pmt({cloudProvider:e,activeTab:t,onTabChange:n,onPageTitleChange:i,skillInitialWorkspace:r=null,onSkillInitialWorkspaceConsumed:s,artifactSources:a=[],artifactUserId:l="",onArtifactActivate:c,onArtifactSourceOpen:u}){const[d,f]=m.useState("技能库"),[h,p]=m.useState(()=>new Set(["skills",t])),[b,g]=m.useState({skills:0,knowledge:0,artifacts:0}),O=m.useRef(c),[y,v]=m.useState([]),[x,w]=m.useState(!1),[S,E]=m.useState(""),k=m.useMemo(()=>{const L=B4e(a);return{key:JSON.stringify(L),candidates:L}},[a]),T=m.useRef(k);T.current.key!==k.key&&(T.current=k);const _=T.current.candidates;m.useEffect(()=>{O.current=c},[c]),m.useEffect(()=>{p(L=>{if(L.has(t))return L;const D=new Set(L);return D.add(t),D})},[t]),m.useEffect(()=>{var D;const L=t==="skills"?d:((D=bp.find($=>$.id===t))==null?void 0:D.label)||"资源库";i==null||i(L)},[t,i,d]),m.useEffect(()=>{var L;t==="artifacts"&&((L=O.current)==null||L.call(O))},[t,b.artifacts]);const N=m.useCallback(async()=>{w(!0),E("");try{v(await G4e(_))}catch(L){E(L instanceof Error?L.message:String(L))}finally{w(!1)}},[_]);m.useEffect(()=>{t==="artifacts"&&N()},[t,b.artifacts,N]);const C=L=>{p(D=>{if(D.has(L))return D;const $=new Set(D);return $.add(L),$}),g(D=>({...D,[L]:D[L]+1})),n(L)},R=(L,D)=>{var M;if(!["ArrowLeft","ArrowRight","Home","End"].includes(L.key))return;L.preventDefault();const $=bp.findIndex(U=>U.id===D),j=L.key==="Home"?0:L.key==="End"?bp.length-1:($+(L.key==="ArrowRight"?1:-1)+bp.length)%bp.length,P=bp[j];C(P.id),(M=document.getElementById(`library-${P.id}-tab`))==null||M.focus()};return o.jsxs("section",{className:"library-view","aria-label":"资源库",children:[o.jsxs("header",{className:"library-view__header",children:[o.jsx("h1",{children:"资源库"}),o.jsx("p",{children:"管理您的资源和产物"})]}),o.jsx("nav",{className:"aw-agent-tabs library-tabs","aria-label":"资源库分类",role:"tablist",children:bp.map(L=>o.jsx("button",{type:"button",id:`library-${L.id}-tab`,className:t===L.id?"is-active":"",role:"tab","aria-selected":t===L.id,"aria-controls":`library-${L.id}-panel`,tabIndex:t===L.id?0:-1,onClick:()=>C(L.id),onKeyDown:D=>R(D,L.id),children:L.label},L.id))}),o.jsxs("div",{className:"library-panels",children:[h.has("skills")?o.jsx("div",{id:"library-skills-panel",className:"library-panel",role:"tabpanel","aria-labelledby":"library-skills-tab",hidden:t!=="skills",children:o.jsx(hmt,{cloudProvider:e,active:t==="skills",activationRevision:b.skills,onPageTitleChange:f,initialWorkspace:r,onInitialWorkspaceConsumed:s})}):null,h.has("knowledge")?o.jsx("div",{id:"library-knowledge-panel",className:"library-panel",role:"tabpanel","aria-labelledby":"library-knowledge-tab",hidden:t!=="knowledge",children:o.jsx(zKe,{cloudProvider:e,active:t==="knowledge",activationRevision:b.knowledge})}):null,h.has("artifacts")?o.jsx("div",{id:"library-artifacts-panel",className:"library-panel",role:"tabpanel","aria-labelledby":"library-artifacts-tab",hidden:t!=="artifacts",children:o.jsx(q4e,{items:y,userId:l,active:t==="artifacts",activationRevision:b.artifacts,loading:x,error:S,onRetry:()=>void N(),onEdit:Y4e,onDelete:W4e,onDownload:Z4e,onOpenSource:u?L=>u(L.appName,L.sessionId):void 0})}):null]})]})}const k0e="veadk_agentkit_connections",mmt=3e3,OY=6e4;function hc(){try{const e=localStorage.getItem(k0e);return(e?JSON.parse(e):[]).filter(n=>!n.runtimeId||!!n.region)}catch{return[]}}function BC(e){try{localStorage.setItem(k0e,JSON.stringify(e))}catch{}}function wc(e,t){return`agentkit:${e}:${t}`}function T0e(e){try{return new URL(e).host}catch{return e}}function $O(e){Lne();for(const t of e)if(!(t.runtimeId&&!t.region))for(const n of t.apps)Mne(wc(t.id,n),t.runtimeId?{app:n,runtimeId:t.runtimeId,region:t.region}:{app:n,base:t.base,apiKey:t.apiKey})}function _0e(e,t,n,i,r,s){const a={id:`rt_${e}`,name:t||e,runtimeId:e,region:n,apps:i,appLabels:r,currentVersion:s},l=hc(),c=l.findIndex(u=>u.runtimeId===e);return c===-1?l.push(a):l[c]=a,BC(l),$O(l),a}async function gmt(e,t,n,i,r){let s=null,a=n||"cn-beijing",l=null;for(const f of Hv(n))try{const h=await fA(e,f,{retryProbe:!0});if(h&&h.length>0){await Die(e,f),s=h,a=f;break}}catch(h){if(h instanceof aO)throw v_(e),h;if(h instanceof ca&&h.unsupported){l=h;continue}throw h}if(!s||s.length===0)throw v_(e),l||new ca("该 Runtime 暂不支持连接,请确认服务已正常运行。",!0,!0);const c=(r==null?void 0:r.trim())||s[0],u=Object.fromEntries(s.map(f=>[f,f===s[0]?c:f])),d=_0e(e,t,a,s,u,i);return wc(d.id,s[0])}function bmt(e){return new Promise(t=>window.setTimeout(t,e))}async function sT(e,t,n,i,r={}){const s=Date.now();for(;;)try{return await gmt(e,t,n,i,r.agentName)}catch(a){const l=Date.now()-s;if(!r.waitForReady||!(a instanceof ca)||!a.retryable||l>=OY)throw a;const c=Math.min(mmt,OY-l);await bmt(c)}}async function A0e(e,t,n,i){const r=t.trim().replace(/\/+$/,""),s=await Xv(r,n.trim()),a={id:Date.now().toString(36),name:e.trim()||T0e(r),base:r,apiKey:n.trim(),apps:s,appLabels:i&&s.length>0?{[s[0]]:i}:void 0},l=[...hc().filter(c=>c.base!==r),a];return BC(l),$O(l),a}function Omt(e){const t=hc().filter(n=>n.id!==e);return BC(t),$O(t),t}function v_(e){const t=hc().filter(n=>n.runtimeId!==e);return BC(t),$O(t),t}function C0e(e,t){const n=e.map(r=>({id:r,label:r,app:r,remote:!1})),i=t.flatMap(r=>r.apps.map(s=>{var l;const a=((l=r.appLabels)==null?void 0:l[s])??s;return{id:wc(r.id,s),label:a,app:s,remote:!0,host:r.runtimeId?r.name:T0e(r.base??""),runtimeId:r.runtimeId,region:r.region,currentVersion:r.currentVersion}}));return[...n,...i]}const yY=Object.freeze(Object.defineProperty({__proto__:null,addConnection:A0e,addRuntimeConnection:_0e,buildAgentEntries:C0e,connectRuntime:sT,loadConnections:hc,registerConnections:$O,remoteAppId:wc,removeConnection:Omt,removeRuntimeConnection:v_},Symbol.toStringTag,{value:"Module"}));function ymt({onAdded:e,onCancel:t}){const[n,i]=m.useState(""),[r,s]=m.useState(""),[a,l]=m.useState(""),[c,u]=m.useState(!1),[d,f]=m.useState(""),h=n.trim().length>0&&r.trim().length>0&&!c;async function p(){if(h){u(!0),f("");try{const b=await A0e(a,n,r,a);if(b.apps.length===0){f("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。"),u(!1);return}e(wc(b.id,b.apps[0]))}catch(b){f(`连接失败:${String(b)}。请检查 URL、API Key,以及该网关是否允许跨域。`),u(!1)}}}return o.jsx("div",{className:"addagent",children:o.jsxs("div",{className:"addagent-card",children:[o.jsx("h2",{className:"addagent-title",children:"添加 AgentKit 智能体"}),o.jsx("p",{className:"addagent-sub",children:"填入 AgentKit 部署的访问地址与 API Key,将通过 ADK 协议连接,连接成功后其 Agent 会出现在左上角的下拉中。"}),o.jsxs("label",{className:"addagent-field",children:[o.jsx("span",{className:"addagent-label",children:"访问地址 URL"}),o.jsx("input",{className:"addagent-input",value:n,onChange:b=>i(b.target.value),placeholder:"https://xxxxx.apigateway-cn-beijing.volceapi.com",autoFocus:!0})]}),o.jsxs("label",{className:"addagent-field",children:[o.jsx("span",{className:"addagent-label",children:"API Key"}),o.jsx("input",{className:"addagent-input",type:"password",value:r,onChange:b=>s(b.target.value),placeholder:"以 Authorization: Bearer 方式连接"})]}),o.jsxs("label",{className:"addagent-field",children:[o.jsx("span",{className:"addagent-label",children:"显示名称(可选)"}),o.jsx("input",{className:"addagent-input",value:a,onChange:b=>l(b.target.value),placeholder:"默认取 URL 的主机名"})]}),d&&o.jsx("div",{className:"addagent-error",children:d}),o.jsxs("div",{className:"addagent-actions",children:[o.jsx("button",{className:"addagent-btn addagent-btn--ghost",onClick:t,disabled:c,children:"取消"}),o.jsxs("button",{className:"addagent-btn addagent-btn--primary",onClick:p,disabled:!h,children:[c?o.jsx(ri,{className:"icon spin"}):null,c?"连接中…":"连接并添加"]})]})]})})}const A9=[{id:"context_engine",displayName:"上下文治理",description:"治理上下文组装、任务锚定和上下文预算。"},{id:"compressor",displayName:"上下文与结果压缩",description:"压缩长上下文和大型工具结果,降低 Token 成本。"},{id:"verifier",displayName:"回答校验与修复",description:"校验证据和回答,在失败时执行修复或告警。"},{id:"long_run_control",displayName:"Goal任务控制",description:"管理 Goal 任务的进度、续跑和结束条件。"},{id:"mcp_resilience",displayName:"MCP 稳定性治理",description:"治理连接、超时、空结果、大返回和调用预算;默认包含 SQL 只读保护。"}],xmt=[{id:"quality",displayName:"提升回答质量",componentIds:["context_engine","verifier"]},{id:"cost",displayName:"降低运行成本",componentIds:["compressor"]},{id:"stability",displayName:"增强运行稳定性",componentIds:["long_run_control","mcp_resilience"]}],QC=A9.map(e=>e.id),vmt="BytePlus 账号暂不支持 Harness Sidecar 优化项。请保持优化项为空后继续部署,普通 BytePlus 智能体不受影响。";function wmt(e){return e==="byteplus"?vmt:null}const N0e=["context_engine","compressor","verifier","long_run_control"],Smt=new Set(["1","true","yes","on"]),C9=[{id:"default",displayName:"自定义",description:"按需选择组件,不勾选时不启动 Sidecar。",defaultComponents:[],autoAddedComponents:[]},{id:"ops",displayName:"运维场景",description:"适用于运维诊断、数据库、日志和监控 MCP。",defaultComponents:["context_engine","verifier","long_run_control","mcp_resilience"],autoAddedComponents:["sql_readonly"]}];function tx(e){var t;return((t=A9.find(n=>n.id===e))==null?void 0:t.displayName)??e}function j0e(e){var t;return((t=C9.find(n=>n.id===e))==null?void 0:t.displayName)??e}function R0e(e){const t=C9.find(n=>n.id===e);return t?[...t.defaultComponents]:[]}function E0(e,t="default"){const n=new Set(e);return{enabled:n.size>0,profile:t,componentOverrides:Object.fromEntries(QC.map(r=>[r,n.has(r)]))}}function ZI(e){return Smt.has((e==null?void 0:e.trim().toLowerCase())??"")}function Emt(e){if(!e)return null;try{const t=JSON.parse(e);return t&&typeof t=="object"&&!Array.isArray(t)?t:null}catch{return null}}function kmt(e){var a;const t=new Map((e==null?void 0:e.map(({key:l,value:c})=>[l,c]))??[]),n=t.get("HARNESS_SIDECAR_ENABLED");if(n===void 0)return null;const i=((a=t.get("HARNESS_PROFILE"))==null?void 0:a.trim())==="ops"?"ops":"default";if(!ZI(n))return E0([],i);const r=Emt(t.get("HARNESS_SIDECAR_COMPONENT_OVERRIDES"));if(r)return{...E0(QC.filter(l=>r[l]===!0),i),enabled:!0};if(i==="ops")return E0(R0e(i),i);const s=[...ZI(t.get("HARNESS_MODEL_PROXY_ENABLED"))?N0e:[],...ZI(t.get("HARNESS_MCP_GATEWAY_ENABLED"))?["mcp_resilience"]:[]];return{...E0(s,i),enabled:!0}}function Tmt(e,t){return{...e,modelName:t.modelName||e.modelName,description:t.description,instruction:t.instruction}}function _mt(e){var t;return((t=e.harnessSidecar)==null?void 0:t.profile)??"default"}function N9(e){var n;const t=(n=e.harnessSidecar)==null?void 0:n.componentOverrides;return t?QC.filter(i=>t[i]):[]}function Amt(e){const t=new Set(N9(e));return N0e.filter(n=>t.has(n))}function j9({label:e,onClick:t}){return o.jsx("button",{type:"button",className:"page-back-button","aria-label":e,title:e,onClick:t,children:o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"m14.5 6-6 6 6 6"})})})}const Cmt=[{id:"case-1",itemKey:"case-1",kind:"good",input:"总结本周客户反馈,并按优先级归类。",output:"覆盖主要问题,给出清晰的优先级与下一步动作。",referenceOutput:"覆盖主要问题,给出清晰的优先级与下一步动作。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T09:12:00+08:00",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"总结",source:"auto",score:.92,reason:"任务完整覆盖了用户目标,输出结构清晰,并给出了可执行的下一步动作。"},{id:"case-2",itemKey:"case-2",kind:"good",input:"查询最新公开资料并附上来源。",output:"调用搜索工具,结论与引用一一对应。",referenceOutput:"调用搜索工具,结论与引用一一对应。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T08:47:00+08:00",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"工具调用",source:"user"},{id:"case-3",itemKey:"case-3",kind:"bad",input:"在信息不足时直接给出确定结论。",output:"应明确说明未知,并主动询问缺失信息。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T07:35:00+08:00",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"幻觉",source:"auto",score:.28,reason:"信息不足时仍给出了确定结论,缺少必要的澄清步骤与不确定性说明。"},{id:"case-4",itemKey:"case-4",kind:"bad",input:"连续重复调用相同工具获取同一结果。",output:"复用已有结果,避免无意义的重复调用。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T06:58:00+08:00",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"效率",source:"user"}],Nmt=[{id:"eval-regression",name:"核心能力回归",agentIds:[],caseSet:"核心回归集",evaluator:"综合质量评估器",metrics:["回答质量","工具调用"],concurrency:"4",history:[{id:"run-1",createdAt:"今天 10:32",score:88,status:"completed"},{id:"run-2",createdAt:"昨天 16:08",score:84,status:"completed"}]},{id:"eval-safety",name:"安全与幻觉检查",agentIds:[],caseSet:"安全边界集",evaluator:"事实一致性评估器",metrics:["事实准确性","拒答合理性"],concurrency:"2",history:[{id:"run-3",createdAt:"7 月 25 日 14:20",score:91,status:"completed"}]}],xY=[{id:"basic",label:"基本信息"},{id:"usage",label:"用量统计"},{id:"evaluations",label:"评测集"},{id:"optimizations",label:"优化项"},{id:"integrations",label:"接入方法"},{id:"versions",label:"版本"}],jmt=20,Rmt=new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1});function Imt(e){const t=Date.parse(e);return Number.isNaN(t)?"暂未提供":Rmt.format(t)}const jy=[{id:"api-server",label:"API Server"},{id:"a2a",label:"A2A"}];function KI(e,t){return e?`${e.replace(/\/+$/,"")}${t}`:""}function Dmt(e,t){const n=e.trim();if(!n||!t)return n;try{const i=new URL(n),r=i.hostname.replace(/^\[|\]$/g,"").toLowerCase();if(!["localhost","127.0.0.1","::1"].includes(r))return n;const s=new URL(t);return i.protocol=s.protocol,i.hostname=s.hostname,i.port=s.port,i.toString()}catch{return n}}function vY(e){return e==="key_auth"?"API Key":e==="custom_jwt"?"OAuth / JWT":e==="none"?"无需鉴权":"暂无"}function wY(e){return e==="published"?"已发布":e==="publishing"?"发布中":e==="failed"?"发布失败":e==="pending"?"等待发布":"未知"}function Pmt(e){return e.changeType==="rollback"?"回退事件":e.version}function U3(e){return JSON.stringify(e)}function I0e(e){return e==="key_auth"?`API_KEY = "" HEADERS = {"Authorization": f"Bearer {API_KEY}"}`:e==="custom_jwt"?`ACCESS_TOKEN = "" HEADERS = {"Authorization": f"Bearer {ACCESS_TOKEN}"}`:e==="none"?"HEADERS = {}":`AUTH_TOKEN = "" HEADERS = {"Authorization": f"Bearer {AUTH_TOKEN}"}`}function Mmt(e,t,n){const i=e.replace(/\/+$/,"");return`\`\`\`python @@ -1088,8 +1088,8 @@ ${t}`}function Kyt(e,t){if(e.length<=t)return{text:e,omitted:!1};let n=e.slice(- `);if(!t.length||t[0].trim()!=="---")return{name:"",description:""};let n=-1;for(let r=1;r=2&&(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))}function rxt(...e){var t;for(const n of e){const i=(t=n.trim().replace(/\\/g,"/").split("/").filter(Boolean).pop())==null?void 0:t.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"");if(i)return i.slice(0,64)}return"local-skill"}function sxt(e,t){return t.trim()||e}function Ybe(e){const t=e.map(i=>({path:i.path.replace(/\\/g,"/").replace(/^\.\//,""),text:i.text})).filter(i=>i.path.length>0&&!i.path.endsWith("/")),n=new Set(t.map(i=>i.path.split("/")[0]));if(n.size===1&&t.every(i=>i.path.includes("/"))){const i=[...n][0]+"/";return t.map(r=>({path:r.path.slice(i.length),text:r.text}))}return t}function axt(e){const t=new Map,n=new Set;for(const i of e)if(Y3.test("/"+i.path)){const r=i.path.split("/");n.add(r.slice(0,-1).join("/"))}for(const i of e){const r=i.path.split("/");let s="";for(let u=r.length-1;u>=0;u--){const d=r.slice(0,u).join("/");if(n.has(d)){s=d;break}}const a=Y3.test("/"+i.path);if(!s&&!a&&!n.has("")||!n.has(s)&&!a)continue;const l=s?i.path.slice(s.length+1):i.path,c=t.get(s)||[];c.push({path:l,text:i.text}),t.set(s,c)}return t}function oxt(e,t,n){const i=`${n}${e?"/"+e:""}`,r=t.find(c=>Y3.test("/"+c.path));if(!r)return{hit:null,error:`${i} 缺少 SKILL.md`};const s=nxt(r.text),a=rxt(s.name,e,n.replace(/\.[^.]+$/,"")),l=[];for(const c of t){if(c.path.split("/").some(f=>f===".."))return{hit:null,error:`${i} 包含非法路径(..):${c.path}`};const d=`skills/${a}/${c.path}`;if(!d.startsWith(`skills/${a}/`))return{hit:null,error:`${i} 包含非法路径:${c.path}`};l.push({path:d,content:c.text})}return{hit:{source:"local",id:`local:${a}:${t.length}`,name:sxt(a,s.name),description:s.description||"本地 Skill",folder:a,localFiles:l},error:null}}async function lxt(e){const t=new Uint8Array(await e.arrayBuffer()),i=(await Gbe(t)).map(r=>({path:r.name,text:r.text}));return Wbe(Ybe(i),e.name)}async function cxt(e,t=new Map){const n=[];for(let i=0;ie.file(t,n))}async function dxt(e){const t=e.createReader(),n=[];for(;;){const i=await new Promise((r,s)=>t.readEntries(r,s));if(i.length===0)return n;n.push(...i)}}async function Zbe(e,t=""){const n=t?`${t}/${e.name}`:e.name;if(e.isFile)return[{file:await uxt(e),path:n}];if(!e.isDirectory)return[];const i=await dxt(e);return(await Promise.all(i.map(r=>Zbe(r,n)))).flat()}function fxt({selected:e,onChange:t}){const[n,i]=m.useState([]),[r,s]=m.useState([]),[a,l]=m.useState(!1),[c,u]=m.useState(!1),d=m.useRef(0),f=x=>e.some(w=>w.source==="local"&&w.folder===x),h=x=>{x.localFiles&&(f(x.folder||x.name)?t(e.filter(w=>!(w.source==="local"&&w.folder===(x.folder||x.name)))):t([...e,{source:"local",folder:x.folder||x.name,name:x.name,description:x.description,localFiles:x.localFiles}]))},p=m.useRef([]),b=m.useRef(e);m.useEffect(()=>{p.current=r},[r]),m.useEffect(()=>{b.current=e},[e]);const g=x=>{const w=new Set([...p.current.map(T=>T.folder||T.name),...b.current.filter(T=>T.source==="local").map(T=>T.folder)]),S=[],E=[];for(const T of x.hits){const _=T.folder||T.name;if(w.has(_)){S.push(T.name);continue}w.add(_),E.push(T)}s(T=>[...T,...E]);const k=[...x.errors];if(S.length>0&&k.push(`已跳过重复技能:${S.join("、")}`),i(k),E.length===1&&x.errors.length===0&&S.length===0){const T=E[0];T.localFiles&&t([...b.current,{source:"local",folder:T.folder||T.name,name:T.name,description:T.description,localFiles:T.localFiles}])}},O=x=>{x.preventDefault(),d.current+=1,u(!0)},y=x=>{x.preventDefault(),d.current=Math.max(0,d.current-1),d.current===0&&u(!1)},v=async x=>{if(x.preventDefault(),d.current=0,u(!1),a)return;const w=Array.from(x.dataTransfer.items).map(S=>{var E;return(E=S.webkitGetAsEntry)==null?void 0:E.call(S)}).filter(S=>S!==null);if(w.length===0){i(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}l(!0);try{const S=(await Promise.all(w.map(T=>Zbe(T)))).flat(),E=w.some(T=>T.isDirectory);if(!E&&S.length===1&&S[0].file.name.toLowerCase().endsWith(".zip")){g(await lxt(S[0].file));return}if(!E){i(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}const k=new Map(S.map(({file:T,path:_})=>[T,_]));g(await cxt(S.map(({file:T})=>T),k))}catch(S){i([`读取失败:${S instanceof Error?S.message:String(S)}`])}finally{l(!1)}};return o.jsxs("div",{className:"cw-local",children:[o.jsxs("div",{className:`cw-local-dropzone ${c?"is-dragging":""}`,role:"group","aria-label":"拖入文件夹或 ZIP,自动识别 Skill",onDragEnter:O,onDragOver:x=>x.preventDefault(),onDragLeave:y,onDrop:x=>void v(x),children:[o.jsx(G4,{className:"cw-local-drop-icon","aria-hidden":!0}),o.jsx("p",{className:"cw-local-drop-hint",children:"拖入文件夹或 ZIP,自动识别 Skill"})]}),o.jsx("p",{className:"cw-local-hint",children:"每个技能需包含 SKILL.md。支持包含多个技能的目录。"}),a&&o.jsx("p",{className:"cw-empty-line",children:"正在读取文件…"}),n.length>0&&o.jsxs("div",{className:"cw-banner",children:[o.jsx(ju,{className:"cw-i"}),o.jsx("span",{children:n.join(";")})]}),r.length>0&&o.jsx("div",{className:"cw-skill-results",children:r.map(x=>{var S;const w=f(x.folder||x.name);return o.jsxs("button",{type:"button",className:`cw-skill-result ${w?"is-on":""}`,onClick:()=>h(x),"aria-pressed":w,children:[o.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:w?o.jsx(tf,{className:"cw-i cw-i-sm"}):o.jsx(Va,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:"cw-skill-result-meta",children:[o.jsx("span",{className:"cw-skill-result-name",children:x.name}),x.description&&o.jsx("span",{className:"cw-skill-result-desc",children:Cv(x.description)}),o.jsxs("span",{className:"cw-skill-result-repo",children:["本地 · ",((S=x.localFiles)==null?void 0:S.length)??0," 个文件"]})]})]},x.id)})})]})}function hxt({selected:e,onChange:t,cloudProvider:n="volcengine"}){const[i,r]=m.useState([]),[s,a]=m.useState([]),[l,c]=m.useState(""),[u,d]=m.useState(!0),[f,h]=m.useState(!1),[p,b]=m.useState(null);m.useEffect(()=>{let x=!1;return(async()=>{d(!0),b(null);try{const w=await Lde();x||(r(w),w.length>0&&c(w[0].id))}catch(w){x||b(w instanceof Error?w.message:"加载失败")}finally{x||d(!1)}})(),()=>{x=!0}},[]),m.useEffect(()=>{if(!l){a([]);return}const x=i.find(S=>S.id===l);let w=!1;return(async()=>{h(!0),b(null);try{const S=await $de(l,x==null?void 0:x.region);w||a(S)}catch(S){w||b(S instanceof Error?S.message:"加载失败")}finally{w||h(!1)}})(),()=>{w=!0}},[l,i]);const g=i.find(x=>x.id===l),O=g?hJe(g.id,g.region,n):"",y=(x,w)=>e.some(S=>S.source==="skillspace"&&S.skillId===x&&(S.version||"")===w),v=x=>{if(g)if(y(x.skillId,x.version))t(e.filter(w=>!(w.source==="skillspace"&&w.skillId===x.skillId&&(w.version||"")===x.version)));else{const w=fJe(g,x);t([...e,{source:"skillspace",folder:w.folder||x.skillName,name:w.name,description:w.description,skillSpaceId:w.skillSpaceId,skillSpaceName:w.skillSpaceName,skillSpaceRegion:w.skillSpaceRegion,skillId:w.skillId,version:w.version}])}};return o.jsx("div",{className:"cw-skillspace",children:u?o.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[o.jsx(ri,{className:"cw-i cw-spin"})," 正在加载 AgentKit Skills 中心…"]}):p?o.jsxs("div",{className:"cw-banner",children:[o.jsx(ju,{className:"cw-i"}),o.jsx("span",{children:p})]}):i.length===0?o.jsx("p",{className:"cw-empty-line",children:"此账号下没有 AgentKit Skills 中心。"}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"cw-skillspace-header",children:[o.jsx("select",{className:"cw-input cw-skillspace-select",value:l,onChange:x=>c(x.target.value),"aria-label":"选择 AgentKit Skills 中心",children:i.map(x=>o.jsxs("option",{value:x.id,children:[x.name||x.id,x.description?` — ${Cv(x.description)}`:""]},x.id))}),g&&o.jsxs(o.Fragment,{children:[g.region&&o.jsx("span",{className:"cw-skillspace-region-label",title:g.region,children:Sc(g.region,n)}),O&&o.jsx("a",{href:O,target:"_blank",rel:"noopener noreferrer",className:"cw-button cw-button-secondary cw-skillspace-console-link",title:"在火山引擎控制台打开","aria-label":"在火山引擎控制台打开",children:o.jsx(Ob,{className:"cw-i cw-i-sm"})})]})]}),f?o.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[o.jsx(ri,{className:"cw-i cw-spin"})," 正在加载技能列表…"]}):s.length===0?o.jsx("p",{className:"cw-empty-line",children:"此 AgentKit Skills 中心暂无技能。"}):o.jsx("div",{className:"cw-skill-results",children:s.map(x=>{const w=y(x.skillId,x.version);return o.jsxs("button",{type:"button",className:`cw-skill-result ${w?"is-on":""}`,onClick:()=>v(x),"aria-pressed":w,children:[o.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:w?o.jsx(tf,{className:"cw-i cw-i-sm"}):o.jsx(Va,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:"cw-skill-result-meta",children:[o.jsxs("span",{className:"cw-skill-result-name",children:[x.skillName,x.version&&o.jsxs("span",{className:"cw-skill-result-version",children:[" ","v",x.version]})]}),x.skillDescription&&o.jsx("span",{className:"cw-skill-result-desc",children:Cv(x.skillDescription)}),o.jsxs("span",{className:"cw-skill-result-repo",children:[o.jsx(j2e,{className:"cw-i cw-i-sm"})," ",(g==null?void 0:g.name)||l]})]})]},`${x.skillId}/${x.version}`)})})]})})}const pxt="data:image/svg+xml,%3c?xml%20version='1.0'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20100%20100'%3e%3ctitle%3ePandoc%20Icon%3c/title%3e%3cdesc%20property='dc:creator'%3eAlbert%20Krewinkel%3c/desc%3e%3cmetadata%20id='license'%20xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23'%20xmlns:dc='http://purl.org/dc/elements/1.1/'%20xmlns:cc='http://creativecommons.org/ns%23'%3e%3crdf:RDF%3e%3ccc:Work%20rdf:about=''%3e%3cdc:format%3eimage/svg+xml%3c/dc:format%3e%3cdc:type%20rdf:resource='http://purl.org/dc/dcmitype/StillImage'%20/%3e%3ccc:license%20rdf:resource='http://creativecommons.org/licenses/by-sa/4.0/'%20/%3e%3c/cc:Work%3e%3ccc:License%20rdf:about='http://creativecommons.org/licenses/by-sa/4.0/'%3e%3ccc:permits%20rdf:resource='http://creativecommons.org/ns%23Reproduction'%20/%3e%3ccc:permits%20rdf:resource='http://creativecommons.org/ns%23Distribution'%20/%3e%3ccc:requires%20rdf:resource='http://creativecommons.org/ns%23Notice'%20/%3e%3ccc:requires%20rdf:resource='http://creativecommons.org/ns%23Attribution'%20/%3e%3ccc:permits%20rdf:resource='http://creativecommons.org/ns%23DerivativeWorks'%20/%3e%3ccc:requires%20rdf:resource='http://creativecommons.org/ns%23ShareAlike'%20/%3e%3c/cc:License%3e%3c/rdf:RDF%3e%3c/metadata%3e%3crect%20fill='%23fed'%20stroke='%23fed'%20width='100'%20height='100'/%3e%3cg%20fill='none'%20stroke='%234093da'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='8'%20transform='skewX(-6)%20translate(8%201)'%3e%3cpath%20d='M%2030,10%20l%200,80%20M%2045,10%20l%200,80%20M%2020,10%20l%2040,0%20l%2018,18%20l%200,25%20l%20-33,0'%20/%3e%3cpath%20fill='%234093da'%20stroke-width='6'%20d='M%2061,10%20l%2017,17%20l%20-17,0%20l%200,-17'%20/%3e%3c/g%3e%3c/svg%3e",mxt={volcengine:"agentkit-prod-public-cn-beijing.cr.volces.com/base/py-simple:python3.12-bookworm-slim-latest",byteplus:"agentkit-prod-public-ap-southeast-1.cr.bytepluses.com/base/py-simple:python3.12-bookworm-slim-latest"},TW="1.0.87",gxt={amd64:"6027b1ddc12440400581bbdf9554850d8e119c7dd400439b1220e7a87b9673c5",arm64:"fade9a22d363172a9c18a8287c99c80d6d106a2900f3fce4015e4e156c5fc776"},Dy="2.97.0",bxt={amd64:"a2c9b8497e1f85b1ad0dfcb78b5a622e098801b8e461e459e88e1ee12f018112",arm64:"73ea440ecad9c9e284429997ee6f93577bc6f7bc6fba357ef62c53ad8fb641a5"};function _W(e){const t=e.downloadUrls.map(n=>`"${n}"`).join(" ");return["RUN set -eux; \\",' arch="${TARGETARCH:-$(dpkg --print-architecture)}"; \\',' case "$arch" in \\',` amd64) checksum="${e.checksums.amd64}" ;; \\`,` arm64) checksum="${e.checksums.arm64}" ;; \\`,' *) echo "Unsupported architecture: $arch" >&2; exit 1 ;; \\'," esac; \\",` asset="${e.assetName}"; \\`," downloaded=0; \\",` for base_url in ${t}; do \\`,` if curl -fLSs --connect-timeout 10 --max-time 180 --retry 1 --retry-delay 1 -o "/tmp/\${asset}" "\${base_url}/v${e.version}/\${asset}"; then downloaded=1; break; fi; \\`," done; \\",' test "$downloaded" = 1; \\',' echo "${checksum} /tmp/${asset}" | sha256sum -c -; \\',` tar -xzf "/tmp/\${asset}" -C /tmp "${e.archiveMember}"; \\`,` install -m 0755 "${e.installSource}" "/usr/local/bin/${e.binaryName}"; \\`,` rm -rf "/tmp/\${asset}" "${e.cleanupSource}"`].join(` `)}function AW(e,t){const n=`https://github.com/${t}/releases/download`,i=`https://ghfast.top/${n}`;return e==="volcengine"?[i,n]:[n,i]}function Oxt(e,t){const n=new Set(t),i=["ca-certificates","curl"];n.has("github-cli")&&i.push("git"),n.has("pandoc")&&i.push("pandoc");const r=[`FROM ${mxt[e]}`,"","# Configure AgentKit runtime defaults.","ENV UV_SYSTEM_PYTHON=1 UV_COMPILE_BYTECODE=1 PYTHONUNBUFFERED=1 DOCKER_CONTAINER=1","ARG TARGETARCH","","# Install system dependencies required by the selected tools.",`RUN apt-get update && apt-get install -y --no-install-recommends ${i.join(" ")} && rm -rf /var/lib/apt/lists/*`];return n.has("lark-cli")&&r.push("","# Install Lark CLI from the official release archive.",_W({assetName:`lark-cli-${TW}-linux-\${arch}.tar.gz`,version:TW,checksums:gxt,downloadUrls:AW(e,"larksuite/cli"),archiveMember:"lark-cli",installSource:"/tmp/lark-cli",cleanupSource:"/tmp/lark-cli",binaryName:"lark-cli"})),n.has("github-cli")&&r.push("","# Install GitHub CLI (gh) from the official release archive.",_W({assetName:`gh_${Dy}_linux_\${arch}.tar.gz`,version:Dy,checksums:bxt,downloadUrls:AW(e,"cli/cli"),archiveMember:`gh_${Dy}_linux_\${arch}/bin/gh`,installSource:`/tmp/gh_${Dy}_linux_\${arch}/bin/gh`,cleanupSource:`/tmp/gh_${Dy}_linux_\${arch}`,binaryName:"gh"})),r.push("","# Install Python dependencies before copying the source for better layer caching.","COPY requirements.txt requirements.txt","RUN uv pip install -r requirements.txt","","# Copy the Agent application and configure its runtime entrypoint.","EXPOSE 8000","","WORKDIR /app","COPY . .","",'CMD ["python", "-m", "app"]',""),r.join(` `)}const Kbe={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};function CW(e){return o.jsxs("svg",{...Kbe,...e,children:[o.jsx("path",{d:"M5 19h3.2L18.6 8.6a1.7 1.7 0 0 0 0-2.4l-.8-.8a1.7 1.7 0 0 0-2.4 0L5 15.8V19Z"}),o.jsx("path",{d:"m13.9 6.9 3.2 3.2M5 15.8 8.2 19"})]})}function yxt(e){return o.jsx("svg",{...Kbe,...e,children:o.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}const xxt=m.lazy(()=>Id(()=>Promise.resolve().then(()=>T9),void 0)),NW=[{id:"lark-cli",category:"productivity",name:"Lark CLI",description:"在云端调用飞书开放平台开发与管理命令。"},{id:"github-cli",category:"development",name:"GitHub CLI",description:"在云端使用 GitHub 仓库、Issue 与 Pull Request 命令。"},{id:"pandoc",category:"productivity",name:"Pandoc",description:"转换 Markdown、HTML、Word 等文档格式。"}],vxt=[{id:"productivity",label:"效率"},{id:"development",label:"研发"}];function wxt({customized:e,disabled:t=!1,onClick:n}){return o.jsxs("button",{type:"button",className:"cloud-env-footer-trigger",disabled:t,onClick:n,children:[o.jsx("span",{className:"cloud-env-footer-trigger-icon","aria-hidden":"true",children:o.jsx(CW,{})}),o.jsxs("span",{className:"cloud-env-footer-trigger-copy",children:[o.jsx("span",{children:"高阶配置"}),o.jsx("small",{children:"编辑云端构建使用的 Dockerfile"})]}),o.jsx(dO,{className:"cloud-env-footer-trigger-badge",color:e?"info":"secondary",variant:"soft",size:"sm",children:e?"已自定义":"自动生成"}),o.jsx(CW,{className:"cloud-env-footer-trigger-action"})]})}function Sxt({cloudProvider:e,value:t,onChange:n,editorOpen:i,onEditorOpenChange:r,disabled:s=!1}){const a=e==="byteplus"?"BytePlus":"火山引擎",l=m.useId(),c=m.useId(),u=m.useId(),[d,f]=m.useState(!1),h=m.useRef(null),p=m.useMemo(()=>Oxt(e,t.cliTools),[e,t.cliTools]),b=t.dockerfile,g=b??p,O=b!==void 0&&!b.trim()?"Dockerfile 不能为空。请输入有效内容,或恢复自动生成。":b!==void 0&&b.length>Oae?"Dockerfile 不能超过 64 KiB。请精简内容后重试。":"",y=(w,S)=>{const E=new Set(t.cliTools);S?E.add(w):E.delete(w),n({...t,cliTools:NW.map(k=>k.id).filter(k=>E.has(k))})},v=w=>{n({...t,...w===p?{dockerfile:void 0}:{dockerfile:w}})},x=()=>{n({...t,dockerfile:void 0}),f(!1)};return m.useEffect(()=>{var k;if(!i)return;const w=document.body.style.overflow,S=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(k=h.current)==null||k.focus();const E=T=>{T.key==="Escape"&&!d&&r(!1)};return window.addEventListener("keydown",E),()=>{document.body.style.overflow=w,window.removeEventListener("keydown",E),S!=null&&S.isConnected&&S.focus()}},[i,r,d]),o.jsxs(o.Fragment,{children:[o.jsx("section",{className:"cloud-env-config","aria-label":"云上环境工具配置",children:o.jsx("div",{className:"cloud-env-categories",children:vxt.map(w=>o.jsxs("section",{className:"cloud-env-category","aria-labelledby":`cloud-env-category-${w.id}`,children:[o.jsx("h2",{id:`cloud-env-category-${w.id}`,children:w.label}),o.jsx("div",{className:"cloud-env-tool-list",children:NW.filter(S=>S.category===w.id).map(S=>{const E=t.cliTools.includes(S.id);return o.jsxs("div",{className:`cloud-env-tool${E?" is-selected":""}`,children:[o.jsx("span",{className:"cloud-env-tool-icon",children:S.id==="lark-cli"?o.jsx("img",{src:VC,alt:"","aria-hidden":"true"}):S.id==="github-cli"?o.jsx(B9,{}):o.jsx("img",{src:pxt,alt:"","aria-hidden":"true"})}),o.jsxs("span",{className:"cloud-env-tool-content",children:[o.jsx("strong",{children:S.name}),o.jsx("span",{className:"cloud-env-tool-description",children:S.description})]}),o.jsx(_n,{type:"button",className:"cloud-env-tool-action",color:"secondary",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":E?`移除 ${S.name}`:`安装 ${S.name}`,"aria-pressed":E,disabled:s,onClick:()=>y(S.id,!E),children:E?o.jsx(O2e,{}):o.jsx(y2e,{})})]},S.id)})})]},w.id))})}),i&&ir.createPortal(o.jsx("div",{className:"cloud-env-dialog-backdrop",onMouseDown:w=>{w.target===w.currentTarget&&!d&&r(!1)},children:o.jsxs("section",{className:"cloud-env-dialog",role:"dialog","aria-modal":"true","aria-labelledby":l,"aria-describedby":c,children:[o.jsxs("header",{className:"cloud-env-dialog-header",children:[o.jsxs("div",{children:[o.jsx("h2",{id:l,children:"编辑 Dockerfile"}),o.jsxs("p",{id:c,children:[a," AgentKit Runtime 云端构建配置"]})]}),o.jsxs("div",{className:"cloud-env-dialog-header-actions",children:[o.jsx(dO,{color:b===void 0?"secondary":"info",variant:"soft",size:"sm",children:b===void 0?"自动生成":"已自定义"}),o.jsx("button",{ref:h,type:"button",className:"cloud-env-dialog-close","aria-label":"关闭 Dockerfile 编辑器",onClick:()=>r(!1),children:o.jsx(yxt,{})})]})]}),o.jsxs("div",{className:"cloud-env-dialog-body",children:[o.jsxs("div",{className:"cloud-env-dialog-toolbar",children:[o.jsx("p",{children:"请勿在 Dockerfile 中写入访问密钥或其他凭据。"}),b!==void 0&&o.jsx(_n,{type:"button",color:"secondary",variant:"ghost",size:"sm",pill:!1,disabled:s,onClick:()=>f(!0),children:"恢复自动生成"})]}),b!==void 0&&o.jsx("p",{className:"cloud-env-custom-notice",role:"status",children:"当前使用自定义内容。工具选择变化不会覆盖您的修改。"}),o.jsx("div",{className:`cloud-env-editor${O?" is-invalid":""}`,role:"group","aria-label":"Dockerfile 编辑器","aria-invalid":!!O||void 0,"aria-describedby":O?u:void 0,children:o.jsx(m.Suspense,{fallback:o.jsx("div",{className:"cloud-env-editor-loading",children:"正在加载编辑器..."}),children:o.jsx(xxt,{value:g,path:"Dockerfile",readOnly:s,onChange:v})})}),O&&o.jsx("p",{id:u,className:"cloud-env-editor-error",role:"alert",children:O})]}),o.jsx("footer",{className:"cloud-env-dialog-footer",children:o.jsx(_n,{type:"button",color:"primary",variant:"solid",size:"sm",onClick:()=>r(!1),children:"完成"})})]})}),document.body),d&&o.jsx(Bl,{title:"恢复自动生成?",description:"当前自定义内容将被替换为根据云厂商和工具选择生成的 Dockerfile。",confirmLabel:"恢复自动生成",closeLabel:"关闭恢复 Dockerfile 确认",onCancel:()=>f(!1),onConfirm:x})]})}async function Ext(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:So(void 0,wo)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 AgentKit 智能体中心");if(t.status===401)throw new Error("请先登录以访问 AgentKit 智能体中心");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function kxt(e={}){const t=new URLSearchParams({page_size:String(e.pageSize??100),project:e.project||"default"});return e.region&&t.set("region",e.region),(await Ext(`/web/a2a-spaces?${t.toString()}`)).items||[]}async function Txt(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:So(void 0,wo)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 VikingDB 知识库");if(t.status===401)throw new Error("请先登录以访问 VikingDB 知识库");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function _xt(e={}){const t=new URLSearchParams;e.project&&t.set("project",e.project),e.region&&t.set("region",e.region);const n=t.toString();return(await Txt(`/web/viking-knowledgebases${n?`?${n}`:""}`)).items||[]}async function Axt(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:So(void 0,wo)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 VikingDB 记忆库");if(t.status===401)throw new Error("请先登录以访问 VikingDB 记忆库");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function Cxt(e={}){const t=new URLSearchParams;e.project&&t.set("project",e.project),e.region&&t.set("region",e.region);const n=t.toString();return(await Axt(`/web/viking-memories${n?`?${n}`:""}`)).items||[]}const jW=["#6366f1","#0ea5e9","#10b981","#f59e0b","#f43f5e","#a855f7","#14b8a6","#f472b6"];function bD(e){let t=0;for(let n=0;n>>0;return jW[t%jW.length]}function Nxt(e){const t=new Map;e.forEach(u=>t.set(u.span_id,u));const n=new Map,i=[];for(const u of e)u.parent_span_id!=null&&t.has(u.parent_span_id)?(n.get(u.parent_span_id)??n.set(u.parent_span_id,[]).get(u.parent_span_id)).push(u):i.push(u);const r=(u,d)=>u.start_time-d.start_time,s=(u,d)=>({span:u,depth:d,children:(n.get(u.span_id)??[]).sort(r).map(f=>s(f,d+1))}),a=i.sort(r).map(u=>s(u,0)),l=e.length?Math.min(...e.map(u=>u.start_time)):0,c=e.length?Math.max(...e.map(u=>u.end_time)):1;return{rootNodes:a,min:l,total:c-l||1}}function jxt(e,t){const n=[],i=r=>{n.push(r),t.has(r.span.span_id)||r.children.forEach(i)};return e.forEach(i),n}function RW(e){const t=e/1e6;return t>=1e3?`${(t/1e3).toFixed(2)} s`:`${t.toFixed(t<10?2:1)} ms`}const Rxt=e=>e.replace(/^(gen_ai|a2ui|adk)\./,"");function IW(e){return Object.entries(e.attributes).filter(([,t])=>t!=null&&typeof t!="object").map(([t,n])=>{const i=String(n);return{key:Rxt(t),value:i,long:i.length>80||i.includes(` -`)}}).sort((t,n)=>Number(t.long)-Number(n.long))}function Jbe({appName:e,testRunId:t,sessionId:n,endTimeMs:i,onClose:r,title:s="调用链路观测"}){const[a,l]=m.useState(null),[c,u]=m.useState(""),[d,f]=m.useState(new Set),[h,p]=m.useState(null);m.useEffect(()=>{l(null),u("");let S;if(t)S=Vie(t,n);else if(e)S=t2(e,n,i);else{u("缺少调用链路来源");return}S.then(E=>{l(E),p(E.length?E.reduce((k,T)=>k.start_time<=T.start_time?k:T).span_id:null)}).catch(E=>u(E instanceof Error?E.message:String(E)))},[e,i,n,t]);const{rootNodes:b,min:g,total:O}=m.useMemo(()=>Nxt(a??[]),[a]),y=m.useMemo(()=>jxt(b,d),[b,d]),v=(a==null?void 0:a.find(S=>S.span_id===h))??null,x=O/1e6,w=S=>f(E=>{const k=new Set(E);return k.has(S)?k.delete(S):k.add(S),k});return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"drawer-scrim",onClick:r}),o.jsxs("aside",{className:"drawer drawer--trace",children:[o.jsxs("header",{className:"drawer-head",children:[o.jsxs("div",{children:[o.jsx("div",{className:"drawer-title",children:s}),o.jsx("div",{className:"drawer-sub",children:a?`${a.length} 个调用 · ${x.toFixed(1)} ms`:"加载中"})]}),o.jsx("button",{className:"drawer-close",onClick:r,"aria-label":"关闭",children:o.jsx(Ga,{className:"icon"})})]}),a==null&&!c&&o.jsxs("div",{className:"drawer-loading",children:[o.jsx(ri,{className:"icon spin"})," 加载调用链路…"]}),c&&o.jsx("div",{className:"error",children:c}),a&&a.length===0&&o.jsx("div",{className:"drawer-empty",children:"该会话暂无调用链路(可能尚未产生调用)。"}),y.length>0&&o.jsxs("div",{className:"trace-split",children:[o.jsx("div",{className:"trace-tree scroll",children:y.map(S=>{const E=S.span,k=(E.start_time-g)/O*100,T=Math.max((E.end_time-E.start_time)/O*100,.6),_=S.children.length>0;return o.jsxs("button",{className:`trace-row ${h===E.span_id?"active":""}`,onClick:()=>p(E.span_id),children:[o.jsxs("span",{className:"trace-label",style:{paddingLeft:S.depth*14},children:[o.jsx("span",{className:`trace-caret ${_?"":"hidden"} ${d.has(E.span_id)?"":"open"}`,onClick:N=>{N.stopPropagation(),_&&w(E.span_id)},children:o.jsx(sO,{className:"chev"})}),o.jsx("span",{className:"trace-dot",style:{background:bD(E.name)}}),o.jsx("span",{className:"trace-name",title:E.name,children:E.name})]}),o.jsx("span",{className:"trace-dur",children:RW(E.end_time-E.start_time)}),o.jsx("span",{className:"trace-track",children:o.jsx("span",{className:"trace-bar",style:{left:`${k}%`,width:`${T}%`,background:bD(E.name)}})})]},E.span_id)})}),o.jsx("div",{className:"trace-detail scroll",children:v?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"td-title",children:v.name}),o.jsxs("div",{className:"td-dur",children:[o.jsx("span",{className:"td-dot",style:{background:bD(v.name)}}),RW(v.end_time-v.start_time)]}),o.jsx("div",{className:"td-section",children:"属性"}),o.jsx("div",{className:"td-props",children:IW(v).filter(S=>!S.long).map(S=>o.jsxs("div",{className:"td-prop",children:[o.jsx("span",{className:"td-key",children:S.key}),o.jsx("span",{className:"td-val",children:S.value})]},S.key))}),IW(v).filter(S=>S.long).map(S=>o.jsxs("div",{className:"td-block",children:[o.jsx("div",{className:"td-section",children:S.key}),o.jsx("pre",{className:"td-pre",children:S.value})]},S.key))]}):o.jsx("div",{className:"drawer-empty",children:"选择左侧的一个调用查看详情"})})]})]})]})}const Ixt=m.lazy(()=>Id(()=>import("../chunks/MarkdownPromptEditor-EeSyPVCy.js"),__vite__mapDeps([0,1]))),W3="veadk.generatedAgentTestRuns",DW=4;function X9(){if(typeof window>"u")return[];try{const e=JSON.parse(window.sessionStorage.getItem(W3)??"[]");return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}catch{return[]}}function eOe(e){if(typeof window>"u")return;const t=Array.from(new Set(e)).slice(-20);try{t.length?window.sessionStorage.setItem(W3,JSON.stringify(t)):window.sessionStorage.removeItem(W3)}catch{}}function Dxt(e){eOe([...X9(),e])}function Py(e){eOe(X9().filter(t=>t!==e))}function Pxt(e,t,n="text/plain"){const i=URL.createObjectURL(new Blob([t],{type:`${n};charset=utf-8`})),r=document.createElement("a");r.href=i,r.download=e,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(i)}const Mxt=[{id:"type",label:"Agent 类型",hint:"选择 Agent 类型",icon:W2e,required:!0},{id:"basic",label:"基本信息",hint:"名称、描述与系统提示词",icon:ju,required:!0},{id:"model",label:"模型配置",hint:"模型与服务(可选)",icon:I2e},{id:"tools",label:"工具",hint:"可调用的能力",icon:J2e},{id:"skills",label:"技能",hint:"声明式技能",icon:Ex},{id:"knowledge",label:"知识库",hint:"外部知识检索",icon:xk},{id:"memory",label:"记忆",hint:"短期与长期记忆",icon:_ne},{id:"subagents",label:"子 Agent",hint:"嵌套协作",icon:A2e},{id:"review",label:"完成",hint:"预览并创建",icon:Y2e}];function Lxt({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"M9 7.15v9.7a1.15 1.15 0 0 0 1.78.96l7.2-4.85a1.15 1.15 0 0 0 0-1.92l-7.2-4.85A1.15 1.15 0 0 0 9 7.15Z"}),o.jsx("path",{d:"M5.75 8.25v7.5",opacity:"0.8"}),o.jsx("path",{d:"M3 10v4",opacity:"0.45"}),o.jsx("path",{d:"M17.9 5.25v2.2M19 6.35h-2.2",strokeWidth:"1.55"})]})}function PW({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"M4.75 7.25h14.5"}),o.jsx("path",{d:"M9.1 4.75h5.8l.75 2.5h-7.3l.75-2.5Z"}),o.jsx("path",{d:"m6.75 7.25.75 12h9l.75-12"}),o.jsx("path",{d:"M10 10.25v5.75M14 10.25v5.75"})]})}function G9({className:e}){return o.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:o.jsx("path",{d:"m7 9 5 5 5-5"})})}function Y9({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"M18.25 8.2A7.1 7.1 0 0 0 6.1 6.65L4.5 8.25"}),o.jsx("path",{d:"M4.5 4.75v3.5H8"}),o.jsx("path",{d:"M5.75 15.8A7.1 7.1 0 0 0 17.9 17.35l1.6-1.6"}),o.jsx("path",{d:"M19.5 19.25v-3.5H16"})]})}const $xt={llm:"智能体",sequential:"分步协作",parallel:"同时处理",loop:"循环执行",a2a:"远程智能体"},MW={REGISTRY_SPACE_ID:"registrySpaceId",REGISTRY_TOP_K:"registryTopK",REGISTRY_REGION:"registryRegion",REGISTRY_ENDPOINT:"registryEndpoint"},tOe="REGISTRY_SPACE_ID",Bxt=gae.filter(e=>e.key!==tOe);function nOe(e,t){var i,r,s;if(!(e!=null&&e.enabled))return{};const n={REGISTRY_SPACE_ID:e.registrySpaceId??""};return t.includeDefaults?(n.REGISTRY_TOP_K=((i=e.registryTopK)==null?void 0:i.trim())||yc.topK,n.REGISTRY_REGION=((r=e.registryRegion)==null?void 0:r.trim())||yc.region,n.REGISTRY_ENDPOINT=((s=e.registryEndpoint)==null?void 0:s.trim())||yc.endpoint):(n.REGISTRY_TOP_K=e.registryTopK??"",n.REGISTRY_REGION=e.registryRegion??"",n.REGISTRY_ENDPOINT=e.registryEndpoint??""),n}function KE(e,t){return t!=="byteplus"?e:e.map(n=>n.key==="MODEL_EMBEDDING_NAME"?{...n,placeholder:U_e(t)}:n.key==="MODEL_EMBEDDING_API_BASE"?{...n,placeholder:Ec(t)}:n.key==="MODEL_IMAGE_NAME"?{...n,placeholder:V_e(t)}:n.key==="MODEL_EDIT_NAME"?{...n,placeholder:q_e(t)}:n.key==="MODEL_VIDEO_NAME"?{...n,placeholder:H_e(t)}:n.key==="MODEL_IMAGE_API_BASE"||n.key==="MODEL_EDIT_API_BASE"||n.key==="MODEL_VIDEO_API_BASE"?{...n,placeholder:Ec(t)}:n)}function Qxt({items:e,selected:t,onToggle:n,scrollRows:i}){return o.jsx("div",{className:`cw-checklist ${i?"cw-checklist-tools":""}`,style:i?{"--cw-checklist-max-height":`${i*40+(i-1)*8}px`}:void 0,children:e.map(r=>{const s=t.includes(r.id);return o.jsx(q9,{id:`cw-check-${r.id}`,className:`cw-check ${s?"is-on":""}`,checked:s,onCheckedChange:a=>{a!==s&&n(r.id)},label:o.jsx("span",{className:"cw-check-text",children:o.jsx("span",{className:"cw-check-title",children:r.label})})},r.id)})})}function OD({options:e,value:t,onChange:n}){return o.jsx("div",{className:"cw-segmented",children:e.map(i=>{var s;const r=(t??((s=e[0])==null?void 0:s.id))===i.id;return o.jsx("button",{type:"button",className:`cw-seg ${r?"is-on":""}`,onClick:()=>n(i.id),"aria-pressed":r,children:o.jsx("span",{className:"cw-seg-title",children:i.label})},i.id)})})}function Fxt(e){return/(SECRET|PASSWORD|KEY|TOKEN)$/.test(e)}function My({env:e,values:t,onChange:n,renderAfterField:i}){const r=e.filter(s=>!s.hidden);return r.length===0?o.jsx("p",{className:"cw-env-empty",children:"此后端无需额外运行参数。"}):o.jsx("div",{className:"cw-env-fields",children:r.map(s=>{const a=t[s.key]??s.defaultValue??"",l=V9(s,t),c=`cw-env-${s.key}`;return o.jsxs(m.Fragment,{children:[o.jsxs("label",{className:"cw-env-field",htmlFor:c,children:[o.jsxs("span",{className:"cw-env-field-head",children:[o.jsxs("span",{className:"cw-env-field-title",children:[o.jsxs("span",{className:"cw-env-field-label",children:[s.comment||s.key,s.required&&o.jsx("span",{className:"cw-req",children:"*"})]}),s.help&&o.jsxs("span",{className:"cw-env-help",tabIndex:0,"data-help":s.help,"aria-label":`${s.comment||s.key}说明:${s.help}`,children:["?",o.jsx("span",{className:"cw-env-help-popover",role:"tooltip",children:s.help})]}),s.link&&o.jsx("a",{className:"cw-env-link",href:s.link.url,target:"_blank",rel:"noopener noreferrer",title:`打开 OpenViking ${s.link.label}`,"aria-label":`打开 OpenViking ${s.link.label}`,onClick:u=>u.stopPropagation(),children:o.jsx(Ob,{"aria-hidden":"true"})})]}),s.comment&&o.jsx("code",{title:s.key,children:s.key})]}),s.multiline||s.format==="json"?o.jsx("textarea",{id:c,className:"cw-input cw-env-textarea",value:a,placeholder:s.placeholder||"请输入参数值",autoComplete:"off",spellCheck:!1,"aria-invalid":!!l,onChange:u=>n(s.key,u.currentTarget.value)}):o.jsx("input",{id:c,className:"cw-input",type:Fxt(s.key)?"password":"text",value:a,placeholder:s.placeholder||"请输入参数值",autoComplete:"off","aria-invalid":!!l,onChange:u=>n(s.key,u.currentTarget.value)}),l&&o.jsx("span",{className:"cw-env-error",children:l})]}),i==null?void 0:i(s)]},s.key)})})}const yD="默认值:留空;生成项目时使用 Agent 名自动生成,例如 my_agent_kb。未配置 DATABASE_OPENVIKING_TARGET_URI 时,默认 URI 拼接为 viking://user/{知识库归属 ID,未填则 default}/resources/{资源索引}/;如果填写了 DATABASE_OPENVIKING_TARGET_URI,则直接使用该完整 URI。";function Uxt({value:e,onChange:t}){const n="cw-openviking-knowledge-index";return o.jsxs("label",{className:"cw-env-field",htmlFor:n,children:[o.jsx("span",{className:"cw-env-field-head",children:o.jsxs("span",{className:"cw-env-field-title",children:[o.jsx("span",{className:"cw-env-field-label",children:"OpenViking 资源索引"}),o.jsxs("span",{className:"cw-env-help",tabIndex:0,"data-help":yD,"aria-label":`OpenViking 资源索引说明:${yD}`,children:["?",o.jsx("span",{className:"cw-env-help-popover",role:"tooltip",children:yD})]})]})}),o.jsx("input",{id:n,className:"cw-input",value:e,placeholder:"",autoComplete:"off",onChange:i=>t(i.currentTarget.value)})]})}function xD(e){return e.name.trim()||"未命名智能体中心"}function LW(e){const t=e.name.trim()||e.id||"未命名知识库",n=[e.sourceLabel,e.projectName].filter(Boolean);return n.length?`${t} · ${n.join(" · ")}`:t}function $W(e){return e.name.trim()||e.id||"未命名记忆库"}function zxt(e){return e.available?"已开通":e.lifecycleStatus==="Retiring"?"即将下线":e.activationState&&e.activationState!=="Available"?"未开通":"暂不可用"}function Vxt(e){return e.available||e.lifecycleStatus==="Retiring"}function BW({selectedLabel:e,placeholder:t,disabled:n,triggerAriaLabel:i,menuAriaLabel:r,searchAriaLabel:s,searchValue:a,searchPlaceholder:l,onSearchChange:c,empty:u,emptyLabel:d,triggerClassName:f="",optionsClassName:h="",renderOptions:p}){const[b,g]=m.useState(!1),O=m.useRef(null),y=m.useRef(null),v=m.useRef(null),x=m.useId(),[w,S]=m.useState(null);m.useEffect(()=>{if(!b)return;const T=N=>{var R;const C=N.target;C instanceof Node&&O.current&&!O.current.contains(C)&&!((R=v.current)!=null&&R.contains(C))&&g(!1)},_=N=>{var C;N.key==="Escape"&&(g(!1),(C=y.current)==null||C.focus())};return window.addEventListener("pointerdown",T),window.addEventListener("keydown",_),()=>{window.removeEventListener("pointerdown",T),window.removeEventListener("keydown",_)}},[b]),m.useEffect(()=>{if(!b){S(null);return}const T=()=>{const _=y.current;if(!_)return;const N=_.getBoundingClientRect(),C=12,R=6,L=window.innerHeight-N.bottom-C-R,D=N.top-C-R,$=L<300&&D>L,j=Math.max(96,$?D:L),P=Math.min(N.width,window.innerWidth-C*2),M=Math.min(Math.max(C,N.left),window.innerWidth-C-P);S({...$?{bottom:window.innerHeight-N.top+R}:{top:N.bottom+R},left:M,width:P,maxHeight:j,opensUp:$})};return T(),window.addEventListener("resize",T),window.addEventListener("scroll",T,!0),()=>{window.removeEventListener("resize",T),window.removeEventListener("scroll",T,!0)}},[b]);const E=()=>g(!1),k=T=>{var R,L;if(!["ArrowDown","ArrowUp","Home","End"].includes(T.key))return;const _=Array.from(((R=v.current)==null?void 0:R.querySelectorAll('[role="option"]:not(:disabled)'))??[]);if(!_.length)return;T.preventDefault();const N=_.findIndex(D=>D===document.activeElement),C=T.key==="Home"?0:T.key==="End"?_.length-1:T.key==="ArrowUp"?N<=0?_.length-1:N-1:N<0||N===_.length-1?0:N+1;(L=_[C])==null||L.focus()};return o.jsxs("div",{className:`cw-a2a-space-select-wrap cw-catalog-select${b?" is-open":""}`,ref:O,children:[o.jsxs("button",{ref:y,type:"button",className:`cw-a2a-space-trigger ${f}`.trim(),disabled:n,"aria-haspopup":"listbox","aria-controls":b?x:void 0,"aria-expanded":b,"aria-label":i,title:e,onClick:()=>{b||c(""),g(T=>!T)},children:[o.jsx("span",{className:t?"is-placeholder":void 0,children:e}),o.jsx(G9,{className:"cw-a2a-space-trigger-icon"})]}),b&&w&&ir.createPortal(o.jsxs("div",{ref:v,className:`cw-a2a-space-menu cw-catalog-menu cw-catalog-menu-portal${w.opensUp?" is-up":""}`,style:{top:w.top??"auto",bottom:w.bottom??"auto",left:w.left,width:w.width,maxHeight:w.maxHeight},onKeyDown:k,children:[o.jsx("div",{className:"cw-picker-search",children:o.jsx("input",{className:"cw-picker-search-input",type:"search",value:a,autoFocus:!0,autoComplete:"off","aria-label":s,placeholder:l,onChange:T=>c(T.currentTarget.value)})}),o.jsxs("div",{id:x,className:`cw-picker-options cw-catalog-options ${h}`.trim(),role:"listbox","aria-label":r,children:[p(E),u&&o.jsx("div",{className:"cw-picker-empty",children:d})]})]}),document.body)]})}function qxt({value:e,cloudProvider:t,apiKeyId:n,apiKeyName:i,onApiKeyChange:r,onChange:s}){const[a,l]=m.useState([]),[c,u]=m.useState(!1),[d,f]=m.useState([]),[h,p]=m.useState(null),[b,g]=m.useState(!1),[O,y]=m.useState(null),[v,x]=m.useState(0),[w,S]=m.useState(0),[E,k]=m.useState(""),[T,_]=m.useState("");m.useEffect(()=>{const Q=new AbortController;return u(!0),y(null),$ne(Q.signal,v>0).then(q=>{if(Q.signal.aborted)return;l(q.keys);const le=q.keys.find(ge=>ge.id===n)??q.keys.find(ge=>ge.name===i)??q.keys.find(ge=>ge.id===q.defaultKeyId)??q.keys[0];le&&r(le)}).catch(q=>{Q.signal.aborted||y(q instanceof Error?q.message:"加载 Ark API Key 失败")}).finally(()=>{Q.signal.aborted||u(!1)}),()=>Q.abort()},[t,v]),m.useEffect(()=>{if(!n){f([]);return}const Q=new AbortController;return g(!0),y(null),p(null),r6({signal:Q.signal,apiKeyId:n,refresh:v>0||w>0}).then(q=>{Q.signal.aborted||(f(q.models),p(n))}).catch(q=>{Q.signal.aborted||y(q instanceof Error?q.message:"加载模型列表失败")}).finally(()=>{Q.signal.aborted||g(!1)}),()=>Q.abort()},[n,t,w,v]);const N=e.trim(),C=h===n,R=C?d:[],L=a.find(Q=>Q.id===n),D=L?L.name:n?"当前 API Key":c?"正在加载 API Key…":a.length===0?"暂无可用 API Key":"请选择 API Key",$=m.useMemo(()=>a.filter(Q=>hm(E,[Q.name])),[E,a]),j=R.find(Q=>Q.id===N),P=b&&!C?"正在刷新模型列表…":j?`${j.displayName} (${j.id})`:N||"请选择模型",M=m.useMemo(()=>R.filter(Q=>hm(T,[Q.displayName,Q.id,Q.name,Q.vendorName,Q.activationState,Q.lifecycleStatus])),[T,R]),U=!!(N&&!j&&hm(T,[N])),F=R.filter(Q=>Q.available).length,H=t==="byteplus"?"BytePlus ModelArk":"火山方舟",z=F_e(t);return o.jsxs("div",{className:"cw-a2a-space-picker cw-model-picker",children:[o.jsxs("div",{className:"cw-model-picker-stack",children:[o.jsxs("div",{className:"cw-model-picker-field",children:[o.jsx("span",{className:"cw-model-picker-label",children:"API Key"}),o.jsx(BW,{selectedLabel:D,placeholder:!n,disabled:c,triggerAriaLabel:"选择 API Key",menuAriaLabel:"API Key 列表",searchAriaLabel:"搜索 API Key",searchValue:E,searchPlaceholder:"搜索 API Key 名称",onSearchChange:k,empty:$.length===0,emptyLabel:"未找到匹配的 API Key",optionsClassName:"cw-model-key-options",renderOptions:Q=>$.map(q=>{const le=q.id===n;return o.jsx("button",{type:"button",role:"option","aria-selected":le,className:`cw-a2a-space-option cw-model-key-option ${le?"is-selected":""}`,title:q.name,onClick:()=>{S(ge=>ge+1),r(q),Q()},children:o.jsx("span",{children:q.name})},q.id)})})]}),o.jsxs("div",{className:"cw-model-picker-field",children:[o.jsx("span",{className:"cw-model-picker-label",children:"模型"}),o.jsxs("div",{className:"cw-a2a-space-row",children:[o.jsx(BW,{selectedLabel:P,placeholder:!N,disabled:b,triggerAriaLabel:`选择${H}模型`,menuAriaLabel:`${H}模型`,searchAriaLabel:"搜索模型",searchValue:T,searchPlaceholder:"搜索名称、Model ID 或服务商",onSearchChange:_,empty:!U&&M.length===0,emptyLabel:"未找到匹配的模型",triggerClassName:"cw-model-trigger",optionsClassName:"cw-model-options",renderOptions:Q=>o.jsxs(o.Fragment,{children:[U&&o.jsxs("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option cw-model-option is-selected",onClick:()=>{s(N),Q()},children:[o.jsxs("span",{className:"cw-model-option-copy",children:[o.jsx("strong",{children:"当前配置"}),o.jsx("small",{children:N})]}),o.jsx("span",{className:"cw-model-status is-unknown",children:"状态未知"})]}),M.map(q=>{const le=q.id===N,ge=Vxt(q);return!ge&&q.activationState!=="Available"?o.jsxs("button",{type:"button",role:"option","aria-selected":!1,className:"cw-a2a-space-option cw-model-option is-activation-link",title:`前往${H}开通 ${q.displayName}`,onClick:()=>{window.open(z,"_blank","noopener,noreferrer"),Q()},children:[o.jsxs("span",{className:"cw-model-option-copy",children:[o.jsx("strong",{children:q.displayName}),o.jsxs("small",{children:[q.id,q.vendorName?` · ${q.vendorName}`:""]})]}),o.jsx("span",{className:"cw-model-status is-unavailable",children:"未开通,去开通"})]},q.id):o.jsxs("button",{type:"button",role:"option","aria-selected":le,disabled:!ge,className:`cw-a2a-space-option cw-model-option ${le?"is-selected":""}`,title:`${q.displayName} (${q.id})`,onClick:()=>{s(q.id),Q()},children:[o.jsxs("span",{className:"cw-model-option-copy",children:[o.jsx("strong",{children:q.displayName}),o.jsxs("small",{children:[q.id,q.vendorName?` · ${q.vendorName}`:""]})]}),o.jsx("span",{className:`cw-model-status ${q.available?"is-available":q.lifecycleStatus==="Retiring"?"is-retiring":"is-unavailable"}`,children:zxt(q)})]},q.id)})]})}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新 API Key 和模型列表","aria-label":"刷新 API Key 和模型列表",disabled:b||c,onClick:()=>x(Q=>Q+1),children:b||c?o.jsx(ri,{className:"cw-i cw-i-sm cw-spin"}):o.jsx(Y9,{className:"cw-i cw-i-sm"})})]})]})]}),O?o.jsxs("div",{className:"cw-banner cw-a2a-space-error",role:"alert",children:[o.jsx(ju,{className:"cw-i"}),o.jsx("span",{children:O})]}):b?o.jsxs("span",{className:"cw-help cw-a2a-space-status","aria-live":"polite",children:[o.jsx(ri,{className:"cw-i cw-i-sm cw-spin"}),"正在加载模型列表…"]}):R.length===0?o.jsx("span",{className:"cw-help",children:"当前账号下暂无可配置模型。"}):o.jsxs("span",{className:"cw-help",children:["已加载 ",R.length," 个模型,其中 ",F," 个已开通。"]})]})}function Hxt({value:e,region:t,invalid:n,onChange:i}){const r=t.trim()||yc.region,[s,a]=m.useState([]),[l,c]=m.useState(!1),[u,d]=m.useState(null),[f,h]=m.useState(0),[p,b]=m.useState(!1),[g,O]=m.useState(""),y=m.useRef(null);m.useEffect(()=>{let _=!1;return c(!0),d(null),kxt({region:r}).then(N=>{_||a(N)}).catch(N=>{_||(a([]),d(N instanceof Error?N.message:"加载失败"))}).finally(()=>{_||c(!1)}),()=>{_=!0}},[r,f]);const v=!e||s.some(_=>_.id===e.trim()),x=s.find(_=>_.id===e.trim()),w=x?xD(x):e&&!v?"已选择的智能体中心":"请选择智能体中心",S=l&&s.length===0,E=m.useMemo(()=>s.filter(_=>hm(g,[xD(_),_.id,_.projectName])),[g,s]),k=!!(e&&!v&&hm(g,["已选择的智能体中心",e]));m.useEffect(()=>{if(!p)return;const _=C=>{const R=C.target;R instanceof Node&&y.current&&!y.current.contains(R)&&b(!1)},N=C=>{C.key==="Escape"&&b(!1)};return window.addEventListener("pointerdown",_),window.addEventListener("keydown",N),()=>{window.removeEventListener("pointerdown",_),window.removeEventListener("keydown",N)}},[p]);const T=_=>{i(_),b(!1)};return o.jsxs("div",{className:`cw-a2a-space-picker${p?" is-open":""}`,ref:y,children:[o.jsxs("div",{className:"cw-a2a-space-row",children:[o.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[o.jsxs("button",{type:"button",className:`cw-a2a-space-trigger ${n?"is-error":""}`,disabled:S,"aria-haspopup":"listbox","aria-expanded":p,"aria-label":"选择 AgentKit 智能体中心",onClick:()=>{O(""),b(_=>!_)},children:[o.jsx("span",{className:e?void 0:"is-placeholder",children:w}),o.jsx(G9,{className:"cw-a2a-space-trigger-icon"})]}),p&&o.jsxs("div",{className:"cw-a2a-space-menu",children:[o.jsx("div",{className:"cw-picker-search",children:o.jsx("input",{className:"cw-picker-search-input",type:"search",value:g,autoFocus:!0,autoComplete:"off","aria-label":"搜索 AgentKit 智能体中心",placeholder:"搜索名称或 ID",onChange:_=>O(_.currentTarget.value)})}),o.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":"AgentKit 智能体中心",children:[k&&o.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>T(e),children:"已选择的智能体中心"}),E.map(_=>{const N=xD(_),C=_.id===e;return o.jsx("button",{type:"button",role:"option","aria-selected":C,className:`cw-a2a-space-option ${C?"is-selected":""}`,title:`${N} (${_.id})`,onClick:()=>T(_.id),children:N},_.id)}),!k&&E.length===0&&o.jsx("div",{className:"cw-picker-empty",children:"未找到匹配的智能体中心"})]})]})]}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新智能体中心列表","aria-label":"刷新智能体中心列表",disabled:l,onClick:()=>h(_=>_+1),children:l?o.jsx(ri,{className:"cw-i cw-i-sm cw-spin"}):o.jsx(Y9,{className:"cw-i cw-i-sm"})})]}),u?o.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[o.jsx(ju,{className:"cw-i"}),o.jsx("span",{children:u})]}):l?o.jsxs("span",{className:"cw-help cw-a2a-space-status",children:[o.jsx(ri,{className:"cw-i cw-i-sm cw-spin"}),"正在加载 AgentKit 智能体中心…"]}):s.length===0?o.jsx("span",{className:"cw-help",children:"此账号下暂无 AgentKit 智能体中心。"}):o.jsxs("span",{className:"cw-help",children:["已加载 ",s.length," 个智能体中心,列表仅展示中心名称。"]})]})}function iOe({value:e,items:t,loading:n,error:i,pickerClassName:r,selectLabel:s,searchLabel:a,listLabel:l,placeholder:c,emptyMessage:u,loadedMessage:d,refreshLabel:f,noMatchesMessage:h,getLabel:p,getSearchFields:b,getKey:g,getOptionIds:O,makeUnknownItem:y,onChange:v,onRefresh:x}){const[w,S]=m.useState(!1),[E,k]=m.useState(""),T=m.useRef(null),_=!e||t.some(j=>j.id===e.trim()),N=t.find(j=>j.id===e.trim()),C=N?p(N):e&&!_?e:c,R=n&&t.length===0,L=m.useMemo(()=>t.filter(j=>hm(E,b(j))),[b,t,E]),D=!!(e&&!_&&hm(E,[e]));m.useEffect(()=>{if(!w)return;const j=M=>{const U=M.target;U instanceof Node&&T.current&&!T.current.contains(U)&&S(!1)},P=M=>{M.key==="Escape"&&S(!1)};return window.addEventListener("pointerdown",j),window.addEventListener("keydown",P),()=>{window.removeEventListener("pointerdown",j),window.removeEventListener("keydown",P)}},[w]);const $=j=>{v(j),S(!1)};return n&&t.length===0?o.jsxs("span",{className:"cw-viking-kb-inline-status",role:"status",children:[o.jsx(ri,{className:"cw-i cw-i-sm cw-spin"}),"正在加载…"]}):o.jsxs("div",{className:`cw-a2a-space-picker ${r}${w?" is-open":""}`,ref:T,children:[o.jsxs("div",{className:"cw-a2a-space-row",children:[o.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[o.jsxs("button",{type:"button",className:"cw-a2a-space-trigger",disabled:R,"aria-haspopup":"listbox","aria-expanded":w,"aria-label":s,onClick:()=>{k(""),S(j=>!j)},children:[o.jsx("span",{className:e?void 0:"is-placeholder",children:C}),o.jsx(G9,{className:"cw-a2a-space-trigger-icon"})]}),w&&o.jsxs("div",{className:"cw-a2a-space-menu cw-viking-kb-menu",children:[o.jsx("div",{className:"cw-picker-search",children:o.jsx("input",{className:"cw-picker-search-input",type:"search",value:E,autoFocus:!0,autoComplete:"off","aria-label":a,placeholder:"搜索名称或 ID",onChange:j=>k(j.currentTarget.value)})}),o.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":l,children:[D&&o.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>$(y(e)),children:e}),L.map(j=>{const P=p(j),M=j.id===e,U=O(j).filter(Boolean).join(" / ");return o.jsx("button",{type:"button",role:"option","aria-selected":M,className:`cw-a2a-space-option ${M?"is-selected":""}`,title:U?`${P} (${U})`:P,onClick:()=>$(j),children:P},g(j))}),!D&&L.length===0&&o.jsx("div",{className:"cw-picker-empty",children:h})]})]})]}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh cw-viking-kb-refresh",title:f,"aria-label":f,disabled:n,onClick:x,children:n?o.jsx(ri,{className:"cw-i cw-i-sm cw-spin"}):o.jsx(Y9,{className:"cw-i cw-i-sm"})})]}),i?o.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[o.jsx(ju,{className:"cw-i"}),o.jsx("span",{children:i})]}):t.length===0?o.jsx("span",{className:"cw-help",children:u}):o.jsx("span",{className:"cw-help",children:d(t.length)})]})}function Xxt({value:e,onChange:t}){const[n,i]=m.useState([]),[r,s]=m.useState(!1),[a,l]=m.useState(null),[c,u]=m.useState(0);return m.useEffect(()=>{let d=!1;return s(!0),l(null),_xt().then(f=>{d||i(f)}).catch(f=>{d||(i([]),l(f instanceof Error?f.message:"加载失败"))}).finally(()=>{d||s(!1)}),()=>{d=!0}},[c]),o.jsx(iOe,{value:e,items:n,loading:r,error:a,pickerClassName:"cw-viking-kb-picker",selectLabel:"选择 VikingDB 知识库",searchLabel:"搜索 VikingDB 知识库",listLabel:"VikingDB 知识库",placeholder:"请选择 VikingDB 知识库",emptyMessage:"此账号下暂无 VikingDB 知识库。",loadedMessage:d=>`已加载 ${d} 个知识库,选择的知识库会用于当前 Agent。`,refreshLabel:"刷新知识库列表",noMatchesMessage:"未找到匹配的知识库",getLabel:LW,getSearchFields:d=>[LW(d),d.id,d.description,d.projectName,d.resourceId,d.agentkitKnowledgeId,d.providerKnowledgeId,d.sourceLabel],getKey:d=>d.id,getOptionIds:d=>[d.id,d.resourceId,d.agentkitKnowledgeId,d.providerKnowledgeId],makeUnknownItem:d=>({id:d,name:d,description:"",projectName:"",region:"",sourceKind:"knowledge",sourceLabel:"Knowledge Engine",resourceId:""}),onChange:t,onRefresh:()=>u(d=>d+1)})}function Gxt({value:e,onChange:t}){const[n,i]=m.useState([]),[r,s]=m.useState(!1),[a,l]=m.useState(null),[c,u]=m.useState(0);return m.useEffect(()=>{let d=!1;return s(!0),l(null),Cxt().then(f=>{d||i(f)}).catch(f=>{d||(i([]),l(f instanceof Error?f.message:"加载失败"))}).finally(()=>{d||s(!1)}),()=>{d=!0}},[c]),o.jsx(iOe,{value:e,items:n,loading:r,error:a,pickerClassName:"cw-viking-memory-picker",selectLabel:"选择 VikingDB 记忆库",searchLabel:"搜索 VikingDB 记忆库",listLabel:"VikingDB 记忆库",placeholder:"请选择 VikingDB 记忆库,不选择则自动创建",emptyMessage:"此账号下暂无 VikingDB 记忆库,未选择时会自动创建。",loadedMessage:d=>`已加载 ${d} 个记忆库;不选择时会自动创建。`,refreshLabel:"刷新记忆库列表",noMatchesMessage:"未找到匹配的记忆库",getLabel:$W,getSearchFields:d=>[$W(d),d.id,d.description,d.projectName,d.region,d.resourceId,...d.memoryTypes??[]],getKey:d=>`${d.projectName}:${d.region}:${d.id}`,getOptionIds:d=>[d.id,d.resourceId],makeUnknownItem:d=>({id:d,name:d,description:"",projectName:"",region:"",resourceId:"",memoryTypes:[]}),onChange:t,onRefresh:()=>u(d=>d+1)})}function Yxt({tools:e,onChange:t}){const n=(s,a)=>t(e.map((l,c)=>c===s?{...l,...a}:l)),i=s=>t(e.filter((a,l)=>l!==s)),r=()=>t([...e,{name:"",transport:"http",url:""}]);return o.jsxs("div",{className:"cw-mcp",children:[e.length>0&&o.jsx("div",{className:"cw-mcp-list",children:o.jsx(mh,{initial:!1,children:e.map((s,a)=>o.jsxs(Gr.div,{className:"cw-mcp-row",layout:!0,initial:{opacity:0,y:6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.16},children:[o.jsxs("div",{className:"cw-mcp-rowhead",children:[o.jsxs("div",{className:"cw-mcp-transport",children:[o.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${s.transport==="http"?"is-on":""}`,onClick:()=>n(a,{transport:"http"}),"aria-pressed":s.transport==="http",children:o.jsx("span",{className:"cw-seg-title",children:"HTTP"})}),o.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${s.transport==="stdio"?"is-on":""}`,onClick:()=>n(a,{transport:"stdio"}),"aria-pressed":s.transport==="stdio",children:o.jsx("span",{className:"cw-seg-title",children:"stdio"})})]}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger",onClick:()=>i(a),"aria-label":"移除 MCP 工具",children:o.jsx(Ah,{className:"cw-i cw-i-sm"})})]}),o.jsx("input",{className:"cw-input",value:s.name,placeholder:"名称(用于命名,可留空)",onChange:l=>n(a,{name:l.target.value})}),s.transport==="http"?o.jsxs(o.Fragment,{children:[o.jsx("input",{className:"cw-input",value:s.url??"",placeholder:"MCP 服务地址(StreamableHTTP)",onChange:l=>n(a,{url:l.target.value})}),W1t(s.url??"")&&o.jsxs("p",{className:"cw-mcp-warning",children:[o.jsx(ju,{"aria-hidden":"true"}),o.jsx("span",{children:"当前地址不是以 /mcp 结尾,请确认它是实际的 MCP Endpoint。Studio 会保留该地址,不会自动补充路径。"})]}),o.jsx("input",{className:"cw-input",value:G1t(s),placeholder:"Bearer Token(可选)",onChange:l=>t(e.map((c,u)=>u===a?Y1t(c,l.target.value):c))})]}):o.jsxs(o.Fragment,{children:[o.jsx("input",{className:"cw-input",value:s.command??"",placeholder:"启动命令,例如 npx",onChange:l=>n(a,{command:l.target.value})}),o.jsx("input",{className:"cw-input",value:(s.args??[]).join(" "),placeholder:"参数(用空格分隔),例如 -y @playwright/mcp@latest",onChange:l=>n(a,{args:l.target.value.split(/\s+/).filter(Boolean)})}),o.jsx("p",{className:"cw-mcp-note",children:"stdio MCP 暂不参与调试运行;点击“去部署”时会完整保留这项配置并生成对应代码。"})]})]},a))})}),o.jsxs("button",{type:"button",className:"cw-add-sub",onClick:r,children:[o.jsx(Va,{className:"cw-i"}),"添加 MCP 工具"]})]})}function rOe({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M5.5 7.5h10.75a2 2 0 0 1 2 2v7.75a2 2 0 0 1-2 2H5.5a2 2 0 0 1-2-2V9.5a2 2 0 0 1 2-2Z"}),o.jsx("path",{d:"M7 4.75h9.5a2 2 0 0 1 2 2",opacity:".58"}),o.jsx("path",{d:"m11 10.25.72 1.48 1.63.24-1.18 1.15.28 1.62-1.45-.77-1.45.77.28-1.62-1.18-1.15 1.63-.24.72-1.48Z"}),o.jsx("path",{d:"M19.25 11.25h1.5M20 10.5V12",opacity:".72"})]})}function Wxt({s:e,onRemove:t}){let n=Ex,i="火山 Find Skill 技能广场";return e.source==="local"?(n=G4,i="本地"):e.source==="skillspace"&&(n=rOe,i="AgentKit Skills 中心"),o.jsxs(Gr.div,{className:"cw-selected-skill-row",layout:!0,initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.16},children:[o.jsx("span",{className:"cw-selected-skill-icon","aria-hidden":!0,children:o.jsx(n,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:"cw-selected-skill-meta",children:[o.jsx("span",{className:"cw-selected-skill-name",children:e.name}),o.jsxs("span",{className:"cw-selected-skill-detail",children:[i,e.description?` · ${Cv(e.description)}`:""]})]}),o.jsx("button",{type:"button",className:"cw-selected-skill-remove",onClick:t,"aria-label":`移除 ${e.name}`,title:`移除 ${e.name}`,children:o.jsx(Ga,{className:"cw-i cw-i-sm"})})]},`${e.source}:${e.folder}:${e.skillId||e.slug||""}:${e.version||""}`)}const vD=[{id:"local",label:"本地文件",icon:G4},{id:"skillspace",label:"AgentKit Skills 中心",icon:rOe},{id:"skillhub",label:"火山 Find Skill 技能广场",icon:aA}];function Zxt({selected:e,onChange:t,cloudProvider:n}){const[i,r]=m.useState("local"),[s,a]=m.useState(!1),l=vD.findIndex(u=>u.id===i),c=u=>t(e.filter(d=>wD(d)!==u));return m.useEffect(()=>{if(!s)return;const u=d=>{d.key==="Escape"&&a(!1)};return window.addEventListener("keydown",u),()=>window.removeEventListener("keydown",u)},[s]),o.jsxs("div",{className:"cw-skillspane",children:[o.jsxs("button",{type:"button",className:"cw-skill-add","aria-haspopup":"dialog",onClick:()=>a(!0),children:[o.jsx("span",{className:"cw-skill-add-icon","aria-hidden":!0,children:o.jsx(Va,{className:"cw-i"})}),o.jsx("span",{children:"添加 Skill"})]}),e.length>0&&o.jsxs("div",{className:"cw-skill-selected",children:[o.jsxs("span",{className:"cw-skill-selected-label",children:["已加入技能 · ",e.length]}),o.jsx("div",{className:"cw-selected-skill-list",children:o.jsx(mh,{initial:!1,children:e.map(u=>o.jsx(Wxt,{s:u,onRemove:()=>c(wD(u))},wD(u)))})})]}),o.jsx(mh,{children:s&&o.jsx(Gr.div,{className:"cw-skill-dialog-backdrop",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.16},onMouseDown:u=>{u.target===u.currentTarget&&a(!1)},children:o.jsxs(Gr.div,{className:"cw-skill-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"cw-skill-dialog-title",initial:{opacity:0,y:10,scale:.985},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:6,scale:.99},transition:{duration:.18,ease:"easeOut"},children:[o.jsxs("div",{className:"cw-skill-dialog-head",children:[o.jsx("h3",{id:"cw-skill-dialog-title",children:"添加 Skill"}),o.jsx("button",{type:"button",className:"cw-skill-dialog-close","aria-label":"关闭添加 Skill",onClick:()=>a(!1),children:o.jsx(Ga,{className:"cw-i"})})]}),o.jsxs("div",{className:"cw-skill-dialog-body",children:[o.jsxs("div",{className:"cw-skill-sourcetabs",role:"tablist",style:{"--cw-skill-tab-slider-width":`calc((100% - 16px) / ${vD.length})`,"--cw-active-skill-tab-offset":`calc(${l*100}% + ${l*4}px)`},children:[o.jsx("span",{className:"cw-skill-tab-slider","aria-hidden":!0}),vD.map(({id:u,label:d,icon:f})=>o.jsxs("button",{type:"button",role:"tab",id:`cw-skill-tab-${u}`,"aria-controls":"cw-skill-tabpanel","aria-selected":i===u,className:`cw-skill-pickertab ${i===u?"is-on":""}`,onClick:()=>r(u),children:[o.jsx(f,{className:"cw-i cw-i-sm"}),d]},u))]}),o.jsxs("div",{id:"cw-skill-tabpanel",className:"cw-skill-tabbody",role:"tabpanel","aria-labelledby":`cw-skill-tab-${i}`,children:[i==="skillhub"&&o.jsx(txt,{selected:e,onChange:t}),i==="local"&&o.jsx(fxt,{selected:e,onChange:t}),i==="skillspace"&&o.jsx(hxt,{selected:e,onChange:t,cloudProvider:n})]})]})]})})})]})}function wD(e){return e.source==="skillhub"?`hub:${e.namespace}/${e.slug}`:e.source==="local"?`local:${e.folder}`:`ss:${e.skillSpaceId}/${e.skillId}/${e.version||""}`}function JE({checked:e,onChange:t,title:n,desc:i,showDescription:r=!1}){return o.jsxs("button",{type:"button",className:`cw-toggle ${e?"is-on":""}`,onClick:()=>t(!e),"aria-pressed":e,children:[o.jsxs("span",{className:"cw-toggle-text",children:[o.jsx("span",{className:"cw-toggle-title",children:n}),r&&o.jsx("span",{className:"cw-toggle-help",children:i})]}),o.jsx("span",{className:"cw-switch","aria-hidden":!0,children:o.jsx(Gr.span,{className:"cw-switch-knob",layout:!0,transition:{type:"spring",stiffness:520,damping:34}})})]})}function Kxt(e,t){var i;let n=e;for(const r of t)if(n=(i=n.subAgents)==null?void 0:i[r],!n)return!1;return!0}function ek(e,t){let n=e;for(const i of t)n=n.subAgents[i];return n}function Pw(e,t,n){if(t.length===0)return n(e);const[i,...r]=t,s=e.subAgents.slice();return s[i]=Pw(s[i],r,n),{...e,subAgents:s}}function Jxt(e,t,n="volcengine"){return Pw(e,t,i=>({...i,subAgents:[...i.subAgents,nl(n)]}))}function evt(e,t,n,i="volcengine"){return Pw(e,t,r=>{const s=r.subAgents.slice();return s.splice(n,0,nl(i)),{...r,subAgents:s}})}function tvt(e,t){if(t.length===0)return e;const n=t.slice(0,-1),i=t[t.length-1];return Pw(e,n,r=>({...r,subAgents:r.subAgents.filter((s,a)=>a!==i)}))}const Z3=e=>!YC(e.agentType),QW=3;function nvt(e,t,n=!1){var r;if(YC(e.agentType))return n?"远程 Agent 只能作为子 Agent":(r=e.a2aRegistry)!=null&&r.registrySpaceId.trim()?null:"缺少 AgentKit 智能体中心";const i=Av(e.name);return i||(t.has(e.name)?"Agent 名称在当前结构中必须唯一":e.description.trim().length===0?"缺少描述":Rbe(e.agentType)?e.subAgents.length===0?"缺少子 Agent":null:e.instruction.trim().length===0?"缺少系统提示词":null)}function sOe(e,t,n=[]){const i=[],r=YC(e.agentType),s=nvt(e,t,n.length===0);return s&&i.push({path:n,name:r?"远程 Agent":e.name.trim()||"未命名",typeLabel:jbe(e.agentType).label,problem:s}),Z3(e)&&e.subAgents.forEach((a,l)=>i.push(...sOe(a,t,[...n,l]))),i}function ivt(e){return`${e.typeLabel}至少需要添加一个子 Agent 后才能调试或发布。`}function aOe(e){return 1+e.subAgents.reduce((t,n)=>t+aOe(n),0)}function oOe(e){const t=WC(e),n=[],i={...t.envValues},r=t.draft.cloudProvider??"volcengine",s=Amt(t.draft).map(tx);let a=!1,l="";for(const d of xbe(t.draft,Ec(r))){const f=[{key:d.apiKeyKey,required:!0,comment:d.label}];d.providerKey&&(f.push({key:d.providerKey,required:!0}),i[d.providerKey]=d.provider),d.apiBaseKey&&(f.push({key:d.apiBaseKey,required:!0}),i[d.apiBaseKey]=d.apiBase),n.push({env:f})}const c=d=>{var f,h,p,b;d.agentType==="llm"&&FO(d,r)==="ark"&&(a=!0,l||(l=(d.modelName??"").trim()));for(const g of d.builtinTools??[]){const O=pO.find(y=>y.id===g);O&&n.push({env:KE(O.env,r)})}for(const g of d.mcpTools??[])g.authTokenEnv&&n.push({env:[{key:g.authTokenEnv,required:!1,comment:`${g.name.trim()||"MCP"} Bearer Token`}]});if((f=d.a2aRegistry)!=null&&f.enabled&&(n.push({env:gae}),Object.assign(i,nOe(d.a2aRegistry,{includeDefaults:!0}))),d.memory.shortTerm&&n.push({env:KE(((h=IP.find(g=>g.id===(d.shortTermBackend??"local")))==null?void 0:h.env)??[],r)}),d.memory.longTerm&&n.push({env:KE(((p=DP.find(g=>g.id===(d.longTermBackend??"local")))==null?void 0:p.env)??[],r)}),d.knowledgebase&&n.push({env:KE(((b=PP.find(g=>g.id===(d.knowledgebaseBackend??bh)))==null?void 0:b.env)??[],r)}),d.tracing)for(const g of d.tracingExporters??[]){const O=SLe.find(y=>y.id===g);O&&n.push({env:O.env,enableFlag:O.enableFlag})}d.subAgents.forEach(c)};if(c(t.draft),a){n.push({env:[{key:"MODEL_AGENT_PROVIDER",required:!0},{key:"MODEL_AGENT_API_BASE",required:!0},{key:"MODEL_AGENT_API_KEY",required:!0,comment:"Ark API Key",placeholder:"由所选 API Key 注入",secret:!0,readOnly:!0,serverManaged:!0,requiredBy:s}]}),i.MODEL_AGENT_PROVIDER="openai",i.MODEL_AGENT_API_BASE=Ec(r);const d=l||ym(r);i.MODEL_AGENT_NAME=d,i.MODEL_NAME=d}N9(t.draft).includes("mcp_resilience")&&n.push({env:[{key:"MCP_URLS",required:!0,comment:"MCP 统一网关地址",placeholder:"https://example.com/mcp",requiredBy:[tx("mcp_resilience")]},{key:"MCP_API_KEY",required:!0,comment:"MCP 统一网关 API Key",secret:!0,requiredBy:[tx("mcp_resilience")]}]});const u=kbe(n);return{specs:u.specs,fixedValues:{...u.fixedValues,...i}}}function rvt(e,t){const n=i=>(i??"").trim().replace(/\/+$/,"");return n(e)===n(t)}function svt(e,t,n){const i=(e??"").trim();return!i||i===ym(t)?!0:i===ym(n)?!1:n==="byteplus"&&i.includes("doubao-")}function Up(e,t){const n=e.cloudProvider??"volcengine",i=FO(e,n),r=e.subAgents.map(u=>Up(u,t)),s=i==="ark"&&svt(e.modelName,n,t)?ym(t):e.modelName,l=rvt(e.modelApiBase,Ec(n))||t==="byteplus"&&(e.modelApiBase??"").includes("volces.com")?Ec(t):e.modelApiBase;return e.cloudProvider!==t||s!==e.modelName||l!==e.modelApiBase||r.some((u,d)=>u!==e.subAgents[d])?{...e,cloudProvider:t,modelName:s,modelApiBase:l,subAgents:r}:e}function avt(e,t){var l;const n=Up(e,t),i=vbe(n,Ec(t)),r=new Set(i.map(({key:c})=>c)),s=((l=n.deployment)==null?void 0:l.envValues)??{},a=Object.fromEntries(Object.entries(s).filter(([c,u])=>r.has(c)&&!!u.trim()));return Object.keys(a).length===0?{draft:n,customModelSecretValues:a}:{draft:{...n,deployment:{...n.deployment??{feishuEnabled:!1},envValues:Object.fromEntries(Object.entries(s).filter(([c])=>!r.has(c)))}},customModelSecretValues:a}}function lOe(e){var i,r,s;const t=WC(e).draft;return{...Ebe(t,t.cloudProvider??"volcengine"),deployment:{feishuEnabled:!!((i=e.deployment)!=null&&i.feishuEnabled),modelApiKeyId:((r=e.deployment)==null?void 0:r.modelApiKeyId)??"",modelApiKeyName:((s=e.deployment)==null?void 0:s.modelApiKeyName)??""}}}function K3(e){var n;const t=(n=e.modelName)==null?void 0:n.trim();if(t)return t;for(const i of e.subAgents){const r=K3(i);if(r)return r}return""}function cOe(e,t={}){var r,s,a,l;const n=oOe(e),i={...((r=e.deployment)==null?void 0:r.envValues)??{},...t,...n.fixedValues};return{...lOe(e),deployment:{feishuEnabled:!!((s=e.deployment)!=null&&s.feishuEnabled),modelApiKeyId:((a=e.deployment)==null?void 0:a.modelApiKeyId)??"",modelApiKeyName:((l=e.deployment)==null?void 0:l.modelApiKeyName)??"",envValues:Object.fromEntries(Tbe(n.specs,i).map(({key:c,value:u})=>[c,u]))}}}function ovt(e,t={}){return JSON.stringify(cOe(e,t))}function T_(e,t){return JSON.stringify({draftSnapshot:e,modelName:t.modelName,description:t.description,instruction:t.instruction})}function _0(e){return JSON.stringify({modelName:e.modelName.trim(),description:e.description.trim(),instruction:e.instruction.trim()})}function lvt({enabled:e,disabledReason:t,variants:n,draftSnapshot:i,input:r,onInput:s,onSend:a,onStartVariant:l,onUseVariant:c,onAddVariant:u,onRemoveVariant:d,onToggleConfig:f,onCompleteConfig:h,onConfigChange:p,onOpenTrace:b}){const g=n.filter(v=>v.phase!=="ready"?!1:v.runtimeSnapshot===T_(i,v)),O=n.some(v=>v.phase==="sending"),y=g.length>0&&!O;return o.jsxs("section",{className:"cw-ab-workspace","aria-label":"A/B 调试工作台",children:[o.jsx("div",{className:"cw-ab-stage",children:e?o.jsx("div",{className:"cw-ab-grid",style:{"--cw-ab-column-count":n.length},children:n.map((v,x)=>{const w=v.modelName.trim(),S=v.description.trim(),E=v.instruction.trim(),k=_0(v),T=!!(w&&S&&E&&n.findIndex(M=>_0(M)===k)!==x),_=!w||!S||!E||T,N=!!(v.runtimeSnapshot&&v.runtimeSnapshot!==T_(i,v)),C=v.phase==="starting",R=v.phase==="ready"&&!N,L=C||v.phase==="sending",D=R&&v.phase!=="sending"&&v.messages.some(M=>M.role==="assistant"),$=L||v.configOpen||_,j=w?S?E?T?"该配置与已有测试组相同":"":"请填写系统提示词":"请填写描述":"请先选择模型",P=C?"正在启动":N?"应用配置并重启":R||v.phase==="error"?"重新启动环境":"启动环境";return o.jsx("article",{className:"cw-ab-card",children:o.jsxs("div",{className:`cw-ab-card-inner${v.configOpen?" is-flipped":""}`,children:[o.jsxs("section",{className:"cw-ab-card-face cw-ab-card-front","aria-hidden":v.configOpen,children:[o.jsxs("header",{className:"cw-ab-card-head",children:[o.jsxs("div",{className:"cw-ab-card-title",children:[o.jsx("strong",{children:v.name}),o.jsx("span",{children:v.modelName||"默认模型"})]}),o.jsxs("div",{className:"cw-ab-card-actions",children:[o.jsx("button",{type:"button",className:"cw-ab-config-trigger",disabled:v.configOpen||L,onClick:()=>f(v.id),children:"测试配置"}),v.id!=="baseline"&&o.jsx("button",{type:"button",className:"cw-ab-remove","aria-label":`删除${v.name}`,disabled:v.configOpen||L,onClick:()=>d(v.id),children:o.jsx(PW,{className:"cw-i"})})]})]}),o.jsx("div",{className:"cw-ab-conversation",children:v.error?o.jsx(Tv,{message:v.error,className:"cw-debug-error-detail",defaultExpanded:!0}):C?o.jsxs("div",{className:"cw-ab-empty cw-ab-starting",children:[o.jsx(ri,{className:"cw-i cw-spin"}),o.jsx("span",{children:"正在创建独立测试环境"})]}):N?o.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:o.jsx("span",{children:"配置已变更,请重新启动此环境"})}):v.messages.length===0?o.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:R?o.jsxs(o.Fragment,{children:[o.jsx("strong",{className:"cw-ab-ready-title",children:"已就绪"}),o.jsx("span",{className:"cw-ab-launch-hint",children:"可在下方输入测试消息"})]}):o.jsx("span",{className:"cw-ab-launch-hint",children:j||"启动环境后即可加入本轮测试"})}):v.messages.map((M,U)=>o.jsx("div",{className:`cw-debug-msg cw-debug-msg-${M.role}`,children:o.jsx("div",{className:"cw-debug-content",children:M.role==="user"?M.content:M.error?o.jsx(Tv,{message:M.error,className:"cw-debug-msg-error",defaultExpanded:!0}):M.blocks&&M.blocks.length>0?o.jsx(dC,{blocks:M.blocks,onAction:()=>{}}):M.content?M.content:U===v.messages.length-1&&v.phase==="sending"?o.jsx(Yde,{}):null})},U))}),o.jsxs("footer",{className:"cw-ab-deploy-footer",children:[o.jsx("button",{type:"button",className:"cw-ab-trace",disabled:!D,title:D?`查看${v.name}调用链路`:"完成一次调试后可查看调用链路",onClick:()=>b(v.id),children:"调用链路"}),o.jsxs("button",{type:"button",className:"cw-ab-start cw-ab-footer-start",disabled:$,title:j||void 0,onClick:()=>l(v.id),children:[R||N||v.phase==="error"?o.jsx(Cne,{className:"cw-i"}):o.jsx(Lxt,{className:"cw-i cw-debug-run-icon"}),P]}),o.jsx("button",{type:"button",className:"cw-ab-deploy",disabled:L||!w,onClick:()=>c(v.id),children:"使用该配置"})]})]}),o.jsxs("section",{className:"cw-ab-card-face cw-ab-card-back","aria-hidden":!v.configOpen,children:[o.jsxs("header",{className:"cw-ab-config-head",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"测试配置"}),o.jsx("span",{children:v.name})]}),o.jsxs("div",{className:"cw-ab-config-head-actions",children:[v.id!=="baseline"&&o.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger cw-ab-config-remove","aria-label":`删除${v.name}`,title:"删除配置组",disabled:L,onClick:()=>d(v.id),children:o.jsx(PW,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:`cw-ab-config-done-wrap${j?" is-disabled":""}`,tabIndex:j?0:void 0,children:[o.jsx("button",{type:"button",className:"cw-ab-config-done",disabled:!v.configOpen||_,onClick:()=>h(v.id),children:v.id==="baseline"?"完成配置":"完成并启动"}),j&&o.jsx("span",{className:"cw-ab-config-done-tip",role:"tooltip",children:j})]})]})]}),o.jsxs("div",{className:"cw-ab-config",children:[o.jsxs("label",{children:[o.jsx("span",{children:"模型"}),o.jsx("input",{value:v.modelName,placeholder:"使用 Agent 当前模型",disabled:!v.configOpen,onChange:M=>p(v.id,"modelName",M.target.value)})]}),o.jsxs("label",{children:[o.jsx("span",{children:"描述"}),o.jsx("textarea",{rows:2,value:v.description,disabled:!v.configOpen,onChange:M=>p(v.id,"description",M.target.value)})]}),o.jsxs("label",{children:[o.jsx("span",{children:"系统提示词"}),o.jsx("textarea",{rows:5,value:v.instruction,disabled:!v.configOpen,onChange:M=>p(v.id,"instruction",M.target.value)})]}),o.jsx("p",{children:"设置完成后返回正面,再启动当前测试环境。"})]})]})]})},v.id)})}):o.jsx("div",{className:"cw-debug-empty",children:t})}),o.jsxs("div",{className:"cw-ab-composer",children:[o.jsxs("div",{className:"cw-debug-composerbox",children:[o.jsx("textarea",{className:"cw-debug-input",rows:1,value:r,placeholder:y?"输入测试消息,将发送到所有已启动测试组...":"请先启动至少一个测试组",disabled:!y,onChange:v=>s(v.target.value),onKeyDown:v=>{qC(v.nativeEvent)||v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),a())}}),o.jsx("button",{type:"button",className:"cw-debug-send",title:"发送",disabled:!y||!r.trim(),onClick:a,children:O?o.jsx(ri,{className:"cw-i cw-spin"}):o.jsx(_2e,{className:"cw-i"})})]}),e&&n.length<3&&o.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft cw-ab-add",onClick:u,children:[o.jsx(Va,{className:"cw-i"}),"添加对照组"]})]})]})}function cvt({profile:e,optimizations:t,unavailableMessage:n,onProfileChange:i,onOptimizationChange:r}){return o.jsx("section",{className:"cw-optimize-workspace","aria-label":"智能体优化选项",children:o.jsxs("div",{className:"cw-optimize-panel",children:[n?o.jsxs("div",{className:"cw-banner",role:"alert",children:[o.jsx(ju,{className:"cw-i"}),o.jsx("span",{children:n})]}):null,o.jsxs("fieldset",{className:"cw-optimize-section",children:[o.jsx("legend",{children:"优化场景"}),o.jsx(Zp,{className:"cw-optimize-profile-options","aria-label":"优化场景",value:e,onChange:i,children:C9.map(s=>o.jsx("div",{className:`cw-optimize-profile-option${e===s.id?" is-on":""}`,children:o.jsx(Zp.Item,{value:s.id,block:!0,className:"cw-optimize-profile-control",children:o.jsxs("span",{className:"cw-optimize-profile-copy",children:[o.jsx("strong",{children:s.displayName}),o.jsx("small",{children:s.description})]})})},s.id))})]}),o.jsxs("fieldset",{className:"cw-optimize-section",children:[o.jsx("legend",{children:"优化组件"}),o.jsx("div",{className:"cw-optimize-option-list",children:xmt.map(s=>o.jsxs("section",{className:"cw-optimize-option-group","aria-labelledby":`cw-optimize-group-${s.id}`,children:[o.jsx("h3",{id:`cw-optimize-group-${s.id}`,className:"cw-optimize-option-group-title",children:s.displayName}),o.jsx("div",{className:"cw-optimize-option-group-items",children:s.componentIds.map(a=>{const l=A9.find(u=>u.id===a);if(!l)return null;const c=t.includes(l.id);return o.jsx(q9,{checked:c,onCheckedChange:u=>{const d=!!u;d!==c&&r(l.id,d)},label:o.jsxs("span",{className:"cw-optimize-option-copy",children:[o.jsx("strong",{children:l.displayName}),o.jsx("small",{children:l.description})]}),className:"cw-optimize-option"},l.id)})})]},s.id))})]})]})})}const tk=[{id:"build",label:"架构"},{id:"validate",label:"调试"},{id:"optimize",label:"优化"},{id:"environment",label:"环境"},{id:"publish",label:"发布"}],uvt={build:"个性化您的智能体架构",validate:"调试您的智能体",optimize:"为您的智能体选择优化项",environment:"配置云上环境",publish:"准备好部署您的智能体"};function dvt({mode:e}){return o.jsx("header",{className:"cw-workspace-header",children:o.jsx("h1",{children:uvt[e]})})}function fvt({mode:e,busy:t,onChange:n,assistant:i,accessory:r}){const s=tk.findIndex(c=>c.id===e),a=tk[s-1],l=tk[s+1];return o.jsxs("footer",{className:"cw-workspace-footer",children:[r?o.jsx("div",{className:"cw-workspace-footer-accessory",children:r}):null,o.jsxs("div",{className:`cw-workspace-nav-actions${i?" has-assistant":""}`,children:[o.jsx("button",{type:"button",className:`cw-workspace-nav-button${e==="build"?" is-placeholder":""}`,"aria-hidden":e==="build"||void 0,tabIndex:e==="build"?-1:0,disabled:!a||t,onClick:()=>a&&n(a.id),children:"上一步"}),o.jsx("span",{"aria-hidden":"true"}),i?o.jsx("div",{className:"cw-workspace-ai-slot",children:i}):null,e==="publish"?o.jsx("div",{id:"cw-publish-primary-action",className:"cw-publish-action-slot"}):o.jsx("button",{type:"button",className:"cw-workspace-nav-button is-primary",disabled:!l||t,onClick:()=>l&&n(l.id),children:"下一步"})]}),o.jsx("nav",{className:"cw-workspace-progress","aria-label":"Agent 创建进度",children:tk.map((c,u)=>{const d=c.id===e;return o.jsx("button",{type:"button",className:`${d?"is-active":""}${un(c.id),children:o.jsx("span",{"aria-hidden":"true"})},c.id)})})]})}function hvt({onBack:e,onCreate:t,onAgentAdded:n,initialDraft:i,features:r,onDeploymentTaskChange:s,createMode:a="custom",deploymentTarget:l,cloudProvider:c="volcengine",initialDeployRegion:u=qi(c),onDeploymentComplete:d,onDeploymentStarted:f,onDraftChange:h,onDiscard:p}){var Es,ul,Ja,Kl,Zs,Fu,Cn,se,In,oi,ba,bn,Gn,Ks,$c,ds,_o,Jl,Pi,Sr;const[b]=m.useState(()=>avt(i??nl(c),c)),[g,O]=m.useState(b.draft),[y,v]=m.useState(b.customModelSecretValues),x=((Es=g.deployment)==null?void 0:Es.runtimeName)??"",w=l?l.name:Ggt(g.name,x,(ul=g.deployment)==null?void 0:ul.runtimeNameCustomized),S=y;m.useEffect(()=>{O(ee=>Up(ee,c))},[c]);const[E,k]=m.useState(""),[T,_]=m.useState(!1),[N,C]=m.useState(!1),[R,L]=m.useState(!1),[D,$]=m.useState(null),j=E.trim(),P=j.length>0&&j.length{z.current=h},[h]),m.useEffect(()=>{var ee;F!==U.current&&(U.current=F,(ee=z.current)==null||ee.call(z,Up(g,c),H))},[c,g,H,F]);const[Q,q]=m.useState("build"),[le,ge]=m.useState(!1),[be,ce]=m.useState(0),[Z,J]=m.useState(null),[ue,Oe]=m.useState(!1),[Ne,De]=m.useState(!1),[Pe,pe]=m.useState((l==null?void 0:l.region)??u),Ee=(r==null?void 0:r.generatedAgentTestRun)===!0,ye=(r==null?void 0:r.generatedAgentTestRunDisabledReason)||"当前后端暂不支持生成 Agent 调试运行。",[$e,Ue]=m.useState(()=>{const ee=Up(i??nl(c),c);return[{id:"baseline",name:"基准组",modelName:K3(ee),description:ee.description,instruction:ee.instruction,configOpen:!1,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]}),[_e,ze]=m.useState("baseline"),lt=m.useRef(1),Lt=m.useRef(!1),We=m.useRef(new Map),[W,ne]=m.useState(0),[de,xe]=m.useState(""),[V,Re]=m.useState(null),[Ze,et]=m.useState(!1),[Jt,Ht]=m.useState(!1),At=m.useRef(null),[vt,ve]=m.useState(""),[Ve,Fe]=m.useState(!1),[yt,bt]=m.useState([]),jt=m.useRef(null),Ae=m.useRef({});async function Ke(){const ee=new Set([...We.current.values()].map(({run:it})=>it.runId)),Me=X9().filter(it=>!ee.has(it));Me.length&&await Promise.all(Me.map(async it=>{try{await Fg(it),Py(it)}catch(Pt){console.warn("清理遗留调试运行失败",Pt)}}))}m.useEffect(()=>(Ke(),()=>{for(const{run:ee}of We.current.values())Fg(ee.runId).then(()=>Py(ee.runId)).catch(Me=>console.warn("清理调试运行失败",Me));We.current.clear()}),[]),m.useEffect(()=>()=>{var ee;(ee=At.current)==null||ee.call(At,!1),At.current=null},[]);const Rt=m.useRef(null);Rt.current||(Rt.current=({meta:ee,children:Me})=>o.jsxs("section",{ref:it=>{Ae.current[ee.id]=it},id:`cw-sec-${ee.id}`,"data-step-id":ee.id,className:"cw-section",children:[o.jsx("header",{className:"cw-sec-head",children:o.jsx("h2",{className:"cw-sec-title",children:ee.label})}),o.jsx("div",{className:"cw-sec-body",children:Me})]}));const sn=Kxt(g,yt)?yt:[],nt=ek(g,sn),pn=sn.length===0,ei=`cw-a2a-registry-advanced-${sn.join("-")||"root"}`,Ft=ee=>O(Me=>Pw(Me,sn,it=>({...it,...ee}))),Ut=(ee,Me)=>O(it=>{var Pt;return{...it,deployment:{...it.deployment??{feishuEnabled:!1},envValues:{...((Pt=it.deployment)==null?void 0:Pt.envValues)??{},[ee]:Me}}}}),Ce=ee=>Ft({a2aRegistry:{...nt.a2aRegistry??{enabled:!1,registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},...ee}}),Ye=(ee,Me)=>{if(!(ee in MW))return;const it=MW[ee];Ce({[it]:Me}),Ut(ee,Me)},$t=ee=>{if(!(pn&&ee==="a2a")){if(ee==="a2a"){Ft({agentType:ee,a2aRegistry:{...nt.a2aRegistry??{registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},enabled:!0}});return}Ft({agentType:ee,a2aRegistry:nt.a2aRegistry?{...nt.a2aRegistry,enabled:!1}:void 0})}},mn=(ee,Me)=>{O(ee),Me&&bt(Me)},tn=async()=>{const ee=E.trim();if(!(!ee||T)&&!(ee.length{const Me=ek(g,ee);if(!Z3(Me)||ee.length>=QW)return;const it=Jxt(g,ee,c),Pt=ek(it,ee).subAgents.length-1;mn(it,[...ee,Pt])},Ie=(ee,Me)=>{const it=ek(g,ee);if(!Z3(it)||ee.length>=QW)return;const Pt=Math.max(0,Math.min(Me,it.subAgents.length)),$n=evt(g,ee,Pt,c);mn($n,[...ee,Pt])},at=()=>{window.confirm("清空根 Agent 的全部配置和子 Agent?此操作无法撤销。")&&(O(nl(c)),bt([]),ge(!1))},Dt=ee=>{if(ee.length===0){at();return}mn(tvt(g,ee),ee.slice(0,-1))},Yt=nt.builtinTools??[],cn=m.useMemo(()=>bae(c),[c]),Zt=m.useMemo(()=>new Set(cn.map(ee=>ee.id)),[cn]),si=nt.mcpTools??[],di=nt.selectedSkills??[],Yi=ee=>{Zt.has(ee)&&Ft({builtinTools:Yt.includes(ee)?Yt.filter(Me=>Me!==ee):[...Yt,ee]})},oe=Rbe(nt.agentType),Qe=YC(nt.agentType),ct=FO(nt,c),wt=ee=>{var it;const Me=ee==="custom"&&ct==="ark"?"":ee==="ark"&&!((it=nt.modelName)!=null&&it.trim())?ym(c):nt.modelName;Ft({modelSource:ee,modelName:Me})},En=m.useMemo(()=>Wbt(g),[g]),fi=Qe?null:Av(nt.name)??(En.has(nt.name)?"Agent 名称在当前结构中必须唯一":null),ti=fi!==null,gi=!Qe&&nt.description.trim().length===0,Ln=nt.instruction.trim().length===0,bi=Qe&&!((Ja=nt.a2aRegistry)!=null&&Ja.registrySpaceId.trim()),rr=ee=>le&&ee?`is-error cw-error-shake-${be%2}`:"",sr=m.useMemo(()=>sOe(g,En),[g,En]),vr=sr.length===0,wn=m.useMemo(()=>Up(g,c),[c,g]),ar=_mt(g),Fi=N9(g),Di=wmt(c),Wi=m.useMemo(()=>ovt(wn,S),[wn,S]),Zr=$e.find(ee=>ee.id===_e)??$e[0],ha=m.useMemo(()=>oOe(wn),[wn]),Qr=m.useMemo(()=>vbe(wn,Ec(c)),[c,wn]),Ss=Qr.find(ee=>ee.label===`${nt.name.trim()||"自定义模型"} 模型 API Key`);function Ir(ee){const Me=ee.problem==="缺少子 Agent"?"type":"basic",it=Ae.current[Me];it==null||it.scrollIntoView({behavior:"smooth",block:"start"});const Pt=ee.problem==="缺少描述"?"description":ee.problem==="缺少系统提示词"?"instruction":ee.problem==="缺少 AgentKit 智能体中心"?"a2a-registry":ee.problem==="缺少子 Agent"||ee.problem==="远程 Agent 只能作为子 Agent"?null:"name",$n=Pt?it==null?void 0:it.querySelector(`[data-validation-field="${Pt}"]`):it,gn=$n!=null&&$n.matches('input, textarea, button:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])')?$n:$n==null?void 0:$n.querySelector('input, textarea, button:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])');gn==null||gn.focus({preventScroll:!0})}const js=()=>vr?!0:(ge(!0),ce(ee=>ee+1),sr[0]&&(bt(sr[0].path),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>Ir(sr[0]))})),!1),ai=async()=>{Re(null);const ee=[...We.current.values()];We.current.clear(),ne(0),Ue(Me=>Me.map(it=>({...it,phase:"idle",runtimeSnapshot:"",messages:[],error:null}))),await Promise.all(ee.map(async({run:Me})=>{try{await Fg(Me.runId),Py(Me.runId)}catch(it){console.warn("清理调试运行失败",it)}}))},Xs=async ee=>{const Me=We.current.get(ee);if(Me){We.current.delete(ee),ne(We.current.size);try{await Fg(Me.run.runId),Py(Me.run.runId)}catch(it){console.warn("清理调试运行失败",it)}}},Lc=ee=>{const Me=We.current.get(ee),it=$e.find(Pt=>Pt.id===ee);!Me||!it||Re({runId:Me.run.runId,sessionId:Me.sessionId,variantName:it.name})},Za=ee=>{const Me=At.current;At.current=null,Me==null||Me(ee)},or=()=>{Jt||(et(!1),Za(!1))},Zl=async()=>{if(!Jt){Ht(!0);try{await ai(),et(!1),Za(!0)}finally{Ht(!1)}}},ko=async()=>Q!=="validate"||W===0?!0:At.current?!1:new Promise(ee=>{At.current=ee,et(!0)}),pa=async ee=>{if(await ko()){if(!js()){q("build");return}ee&&ze(ee),q("environment")}},Ka=async ee=>{var it,Pt,$n,gn,re;if(ve(""),!js()){q("build");return}if((it=wn.harnessSidecar)!=null&&it.enabled&&Di){ve(Di),q("optimize");return}if(((Pt=wn.cloudEnvironment)==null?void 0:Pt.dockerfile)!==void 0&&!wn.cloudEnvironment.dockerfile.trim()){ve("Dockerfile 不能为空。请输入有效内容,或恢复自动生成。"),q("environment");return}if((((gn=($n=wn.cloudEnvironment)==null?void 0:$n.dockerfile)==null?void 0:gn.length)??0)>Oae){ve("Dockerfile 不能超过 64 KiB。请精简内容后重试。"),q("environment");return}const Me=Cbe(ha.specs,((re=wn.deployment)==null?void 0:re.envValues)??{});if(Me){ve(`${Me.spec.comment||Me.spec.key}:${Me.error}`),q("build");return}Oe(!0);try{const je=ee?$e.find(Se=>Se.id===ee):Zr;je&&ze(je.id);const qe=je?Tmt(wn,je):wn,Nt=await p6(lOe(qe));O(qe),J(Nt),q("publish")}catch(je){ve(je instanceof Error?je.message:String(je))}finally{Oe(!1)}},Ra=async()=>{if(await ko()){if(!js()){q("build");return}q("optimize")}},Kr=async ee=>{if(!Ee||ue||!js())return;const Me=$e.find(ft=>ft.id===ee);if(!Me||Me.phase==="starting"||Me.phase==="sending")return;const it=Me.modelName.trim(),Pt=Me.description.trim(),$n=Me.instruction.trim(),gn=_0(Me),re=$e.findIndex(ft=>ft.id===ee),je=$e.findIndex(ft=>_0(ft)===gn);if(!it||!Pt||!$n||je!==re)return;const qe=T_(Wi,Me);Ue(ft=>ft.map(Mt=>Mt.id===ee?{...Mt,configOpen:!1,phase:"starting",messages:[],error:null}:Mt)),xe("");let Nt=null,Se="unknown";const kt=ee==="baseline"?"baseline":"comparison",Gt=Gbt({agentId:String(wn.name||"unknown"),variantType:kt});try{await Xs(ee),await Ke();const ft={...wn,modelName:Me.modelName||wn.modelName,description:Me.description,instruction:Me.instruction};Se="create_test_run",Nt=await Uie(cOe(ft,S),l?{runtimeId:l.runtimeId,region:l.region}:void 0),Dxt(Nt.runId),Se="create_test_session";const Mt=await zie(Nt.runId,"test_user");We.current.set(ee,{run:Nt,sessionId:Mt}),ne(We.current.size),Ue(un=>un.map(Ui=>Ui.id===ee?{...Ui,phase:"ready",runtimeSnapshot:qe}:Ui)),Gt.succeed({debugRunId:String(Nt.runId)})}catch(ft){if(Nt)try{await Fg(Nt.runId),Py(Nt.runId)}catch(Mt){console.warn("清理调试运行失败",Mt)}Ue(Mt=>Mt.map(un=>un.id===ee?{...un,phase:"error",runtimeSnapshot:"",error:ft instanceof Error?ft.message:String(ft)}:un)),Gt.fail({failedPhase:Se,...$a(ft,{phase:Se})})}},Gs=async()=>{const ee=de.trim(),Me=$e.filter(Pt=>Pt.phase==="ready"&&Pt.runtimeSnapshot===T_(Wi,Pt)&&We.current.has(Pt.id));if(!ee||Me.length===0)return;xe("");const it=new Set(Me.map(Pt=>Pt.id));Ue(Pt=>Pt.map($n=>it.has($n.id)?{...$n,phase:"sending",messages:[...$n.messages,{role:"user",content:ee},{role:"assistant",content:"",blocks:[]}]}:$n)),await Promise.all(Me.map(async Pt=>{const $n=We.current.get(Pt.id);if($n)try{let gn=wd();for await(const re of qie({runId:$n.run.runId,userId:"test_user",sessionId:$n.sessionId,text:ee})){const je=re.error||re.errorMessage||re.error_message;if(je||(gn=n2(gn,re)),Ue(qe=>qe.map(Nt=>{if(Nt.id!==Pt.id)return Nt;const Se=[...Nt.messages],kt={...Se[Se.length-1]};return je?kt.error=String(je):(kt.content=gn.blocks.filter(Gt=>Gt.kind==="text").map(Gt=>Gt.text).join(""),kt.blocks=gn.blocks),Se[Se.length-1]=kt,{...Nt,messages:Se}})),je)break}}catch(gn){Ue(re=>re.map(je=>{if(je.id!==Pt.id)return je;const qe=[...je.messages],Nt={...qe[qe.length-1]};return Nt.error=gn instanceof Error?gn.message:String(gn),qe[qe.length-1]=Nt,{...je,messages:qe}}))}finally{Ue(gn=>gn.map(re=>re.id===Pt.id?{...re,phase:"ready"}:re))}}))},Dr=()=>{Ue(ee=>{if(ee.length>=3)return ee;const Me=lt.current++,it=`variant-${Me}`;return[...ee,{id:it,name:`对照组 ${Me}`,modelName:g.modelName??"",description:g.description,instruction:g.instruction,configOpen:!0,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]})},Ys=async ee=>{await Xs(ee),Ue(Me=>Me.filter(it=>it.id!==ee)),_e===ee&&ze("baseline")},Oi=(ee,Me)=>Ue(it=>it.map(Pt=>Pt.id===ee?{...Pt,...Me}:Pt)),Rs=(ee,Me)=>{if(Me&&Di){ve(Di);return}const it=Me?[...new Set([...Fi,ee])]:Fi.filter(Pt=>Pt!==ee);O(Pt=>({...Pt,harnessSidecar:E0(it,ar)})),ve(""),J(null)},Fr=ee=>{const Me=R0e(ee);if(Me.length>0&&Di){ve(Di);return}O(it=>({...it,harnessSidecar:E0(Me,ee)})),ve(""),J(null)},wr=(ee,Me,it)=>{ee==="baseline"&&Me==="modelName"&&(Lt.current=!0),Oi(ee,{[Me]:it}),!(_e!==ee||ee==="baseline")&&ze("baseline")},ma=ee=>{const Me=$e.find(qe=>qe.id===ee);if(!Me)return;const it=Me.modelName.trim(),Pt=Me.description.trim(),$n=Me.instruction.trim(),gn=_0(Me),re=$e.findIndex(qe=>qe.id===ee),je=$e.findIndex(qe=>_0(qe)===gn);if(!(!it||!Pt||!$n||je!==re)){if(ee==="baseline"){Oi(ee,{configOpen:!1});return}Kr(ee)}},Jr=async(ee,Me,it)=>{var gn;const Pt=(gn=g.deployment)==null?void 0:gn.network,$n=Pt&&Pt.mode&&Pt.mode!=="public"?{mode:Pt.mode,vpc_id:Pt.vpcId,subnet_ids:Pt.subnetIds,enable_shared_internet_access:Pt.enableSharedInternetAccess}:void 0;return cO(ee.name,ee.files,{region:(l==null?void 0:l.region)??Pe,projectName:"default",network:$n},{...it,onStage:Me,runtimeId:l==null?void 0:l.runtimeId,runtimeName:(it==null?void 0:it.runtimeName)??w,appName:l==null?void 0:l.appName,description:g.description,harnessSidecar:g.harnessSidecar})},Xn=()=>{js()&&(Ue(ee=>ee.map(Me=>Me.id==="baseline"&&!We.current.has(Me.id)?{...Me,modelName:Lt.current?Me.modelName:K3(wn),description:wn.description,instruction:wn.instruction}:Me)),q("validate"))},ga=async ee=>{if(ee==="publish"){if(!await ko())return;await Ka();return}if(ee==="validate"){Xn();return}if(ee==="optimize"){await Ra();return}if(ee==="environment"){pa();return}await ko()&&q(ee)},To=ee=>{O(Me=>({...Me,cloudEnvironment:ee})),ve(""),J(null)},Ws=Rt.current,Is=ee=>Mxt.find(Me=>Me.id===ee),Qu=o.jsx("section",{className:`cw-ai-compose${T?" is-generating":""}${N?" is-success":""}`,"aria-label":"AI 自动填写 Agent 配置",children:o.jsx(mh,{initial:!1,mode:"wait",children:N?o.jsxs(Gr.div,{className:"cw-ai-compose-success",role:"status",initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.98},transition:{duration:.22,ease:[.22,1,.36,1]},children:[o.jsx("span",{className:"cw-ai-success-check","aria-hidden":!0}),o.jsx("strong",{children:"生成成功"}),o.jsx("button",{type:"button",className:"cw-ai-regenerate",onClick:()=>C(!1),children:"重新生成"})]},"success"):o.jsxs(Gr.div,{className:"cw-ai-compose-entry",initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.98},transition:{duration:.2,ease:[.22,1,.36,1]},children:[o.jsxs("form",{className:"cw-ai-compose-form",onSubmit:ee=>{ee.preventDefault(),tn()},children:[o.jsx("input",{type:"text",value:E,maxLength:8e3,disabled:T,placeholder:`描述目标,使用 ${z_e(c)} 模型一键生成配置`,"aria-invalid":!!P,"aria-describedby":P?"ai-requirement-error":void 0,onChange:ee=>k(ee.target.value),onKeyDown:ee=>{ee.key==="Enter"&&(ee.preventDefault(),tn())}}),o.jsx("button",{type:"submit",disabled:T||!j||!!P,"aria-label":T?"正在智能生成":"智能生成",children:T?o.jsx("span",{className:"cw-ai-orb","aria-hidden":!0,children:o.jsx("span",{})}):"智能生成"})]}),P&&o.jsx("p",{className:"cw-ai-requirement-error",id:"ai-requirement-error",role:"alert",children:P})]},"compose")})});return o.jsxs("div",{className:`cw-root is-${Q}`,children:[o.jsx(dvt,{mode:Q}),vt&&o.jsx(Tv,{className:"cw-workspace-alert",message:vt}),o.jsxs("main",{className:"cw-workspace-main",id:"cw-workspace-main",children:[Q==="build"&&o.jsx("div",{className:"cw-build-workspace",children:o.jsxs("div",{className:"cw-editor",children:[o.jsx(Lx,{draft:g,direction:"horizontal",selectedPath:sn,onSelect:bt,onAdd:mi,onInsert:Ie,onDelete:Dt}),o.jsx("div",{className:"cw-detail",children:o.jsx("div",{className:"cw-detail-scroll",ref:jt,children:o.jsx("div",{className:"cw-detail-inner",children:o.jsx("div",{className:"cw-lower",children:o.jsxs("div",{className:"cw-form-col",children:[o.jsxs(Ws,{meta:Is("type"),children:[o.jsx(Zp,{className:"cw-agent-type-options","aria-label":"Agent 类型",value:nt.agentType??"llm",onChange:$t,children:M1t.map(ee=>{const Me=(nt.agentType??"llm")===ee.id,it=pn&&ee.id==="a2a",Pt=it?"cw-remote-agent-disabled-hint":void 0;return o.jsxs("div",{"data-agent-type":ee.id,className:`cw-agent-type-option ${Me?"is-on":""} ${it?"is-disabled":""}`,tabIndex:it?0:void 0,"aria-describedby":Pt,children:[o.jsx(Zp.Item,{value:ee.id,disabled:it,block:!0,className:"cw-agent-type-control",children:o.jsx("span",{className:"cw-agent-type-copy",children:o.jsx("strong",{children:$xt[ee.id]})})}),it&&o.jsx("span",{id:Pt,className:"cw-agent-type-disabled-hint",role:"tooltip",children:"远程智能体只能作为子步骤使用"})]},ee.id)})}),le&&oe&&nt.subAgents.length===0&&o.jsx("span",{className:"cw-error-text",children:ivt({name:nt.name.trim()||"未命名",typeLabel:jbe(nt.agentType).label})})]}),o.jsx(Ws,{meta:Is("basic"),children:o.jsxs("div",{className:"cw-form",children:[!Qe&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"cw-field",children:[o.jsxs("label",{className:"cw-label",children:[pn?"Agent 名称":"名称",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx("input",{className:`cw-input ${rr(ti)}`,"data-validation-field":"name",value:nt.name,placeholder:"assistant","aria-invalid":le&&ti,"aria-describedby":le&&fi?"cw-agent-name-error":void 0,onChange:ee=>Ft({name:ee.target.value})}),le&&fi?o.jsx("span",{id:"cw-agent-name-error",role:"alert",className:"cw-error-text",children:fi}):o.jsx("span",{className:"cw-help",children:"遵循 Google ADK 命名规则,且在执行流程中保持唯一。"})]}),o.jsxs("div",{className:"cw-field",children:[o.jsxs("label",{className:"cw-label",children:[pn?"描述":"智能体描述",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx("textarea",{className:`cw-textarea cw-textarea-sm ${rr(gi)}`,"data-validation-field":"description",value:nt.description,placeholder:"简要描述这个 Agent 的用途,便于团队识别…","aria-invalid":le&&gi,"aria-describedby":le&&gi?"cw-agent-description-error":void 0,onChange:ee=>Ft({description:ee.target.value})}),le&&gi?o.jsx("span",{id:"cw-agent-description-error",role:"alert",className:"cw-error-text",children:"描述为必填项"}):o.jsx("span",{className:"cw-help",children:pn?"完整描述会保留;部署时会自动整理为符合 Runtime 规范的单行描述。":"描述会显示在 Agent 列表与选择器中。"})]})]}),oe?o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"cw-section-desc cw-dependency-hint",children:"这是一个协作容器,本身不生成回答。请在左侧画布中 添加任务步骤,并通过拖拽调整它们的位置。"}),nt.agentType==="loop"&&o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"最大轮次"}),o.jsx("input",{className:"cw-input",type:"number",min:1,value:nt.maxIterations??3,onChange:ee=>Ft({maxIterations:Math.max(1,Number(ee.target.value)||1)})}),o.jsx("span",{className:"cw-help",children:"循环编排反复执行子 Agent,直到满足条件或达到该轮次上限。"})]})]}):Qe?o.jsxs("div",{className:"cw-field cw-remote-center-fields","data-validation-field":"a2a-registry",children:[o.jsxs("div",{className:"cw-remote-center-head",children:[o.jsxs("div",{className:"cw-label",children:["AgentKit 智能体中心",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx("p",{className:"cw-help cw-remote-center-description",children:"远程 Agent 的名称、描述和能力来自中心返回的 Agent Card。 系统会根据每轮任务动态发现并挂载匹配的 Agent。"})]}),o.jsx(Hxt,{value:((Kl=nt.a2aRegistry)==null?void 0:Kl.registrySpaceId)??"",region:((Zs=nt.a2aRegistry)==null?void 0:Zs.registryRegion)||yc.region,invalid:le&&bi,onChange:ee=>Ye(tOe,ee)}),o.jsxs("button",{type:"button",className:"cw-more-options","aria-expanded":Ve,"aria-controls":ei,onClick:()=>Fe(ee=>!ee),children:[o.jsx("span",{children:"更多选项"}),o.jsx(sO,{className:`cw-more-options-chevron ${Ve?"is-open":""}`,"aria-hidden":!0})]}),o.jsx(mh,{initial:!1,children:Ve&&o.jsx(Gr.div,{id:ei,className:"cw-model-advanced",initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.18,ease:"easeOut"},children:o.jsx(My,{env:Bxt,values:nOe(nt.a2aRegistry,{includeDefaults:!1}),onChange:Ye})})}),le&&bi&&o.jsx("span",{className:"cw-error-text",role:"alert",children:"请选择 AgentKit 智能体中心"})]}):o.jsxs("div",{className:"cw-field","data-validation-field":"instruction",children:[o.jsxs("label",{className:"cw-label",children:["系统提示词",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx(m.Suspense,{fallback:o.jsx("div",{className:"cw-markdown-loading",role:"status",children:"正在加载 Markdown 编辑器…"}),children:o.jsx(Ixt,{value:nt.instruction,invalid:Ln,onChange:ee=>Ft({instruction:ee})})}),le&&Ln?o.jsx("span",{className:"cw-error-text",role:"alert",children:"系统提示词为必填项"}):o.jsx("span",{className:"cw-help",children:"支持 Markdown 快捷输入,例如键入 ## 加空格创建二级标题。"})]})]})}),!oe&&!Qe&&o.jsxs(o.Fragment,{children:[o.jsx(Ws,{meta:Is("model"),children:o.jsxs("div",{className:"cw-form",children:[o.jsxs("div",{className:"cw-field cw-model-source-field",children:[o.jsx("label",{className:"cw-label",children:"模型来源"}),o.jsx(Zp,{className:"cw-model-source-options","aria-label":"模型来源",value:ct,onChange:ee=>{ee!=="gateway"&&wt(ee)},children:[{value:"ark",label:c==="byteplus"?"BytePlus ModelArk":"火山方舟"},{value:"custom",label:"自定义"},{value:"gateway",label:"模型网关",disabled:!0}].map(ee=>o.jsx("div",{className:`cw-model-source-option ${ct===ee.value?"is-on":""}${ee.disabled?" is-disabled":""}`,children:o.jsxs(Zp.Item,{value:ee.value,disabled:ee.disabled,block:!0,className:"cw-model-source-control",children:[o.jsx("span",{children:ee.label}),ee.disabled&&o.jsx("span",{className:"cw-model-source-coming-soon",children:"待上线"})]})},ee.value))})]}),ct==="ark"?o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"模型配置"}),o.jsx(qxt,{value:nt.modelName??"",cloudProvider:c,apiKeyId:(Fu=g.deployment)==null?void 0:Fu.modelApiKeyId,apiKeyName:(Cn=g.deployment)==null?void 0:Cn.modelApiKeyName,onApiKeyChange:ee=>O(Me=>({...Me,deployment:{...Me.deployment??{feishuEnabled:!1},modelApiKeyId:ee.id,modelApiKeyName:ee.name}})),onChange:ee=>Ft({modelName:ee})})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"模型名称"}),o.jsx("input",{className:"cw-input",value:nt.modelName??"",onChange:ee=>Ft({modelName:ee.target.value})})]}),o.jsxs("div",{className:"cw-field",children:[o.jsxs("label",{className:"cw-label cw-label-with-link",children:[o.jsx("span",{children:"服务商 Provider"}),o.jsxs("a",{href:"https://docs.litellm.ai/docs/providers",target:"_blank",rel:"noopener noreferrer",onClick:ee=>ee.stopPropagation(),children:["LiteLLM 支持列表",o.jsx(Ob,{"aria-hidden":"true"})]})]}),o.jsx("input",{className:"cw-input",value:nt.modelProvider??"",placeholder:"openai",onChange:ee=>Ft({modelProvider:ee.target.value})})]}),o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"API Base"}),o.jsx("input",{className:"cw-input",value:nt.modelApiBase??"",placeholder:Ec(c),onChange:ee=>Ft({modelApiBase:ee.target.value})})]}),o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"API Key"}),o.jsx("input",{className:"cw-input",type:"password",value:Ss?y[Ss.key]??"":"",placeholder:"请输入模型 API Key",autoComplete:"new-password",onChange:ee=>{if(!Ss)return;const Me=ee.currentTarget.value;v(it=>({...it,[Ss.key]:Me}))}})]})]})]})}),o.jsx(Ws,{meta:Is("tools"),children:o.jsxs("div",{className:"cw-form",children:[o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"内置工具"}),o.jsx("span",{className:"cw-help",children:"勾选 VeADK 提供的内置能力,生成时会自动补全 import 与所需环境变量。"}),o.jsx("div",{className:"cw-tools-list-shell",children:o.jsx(Qxt,{items:cn,selected:Yt,onToggle:Yi,scrollRows:6})}),o.jsx(mh,{initial:!1,children:Yt.includes("run_code")&&o.jsxs(Gr.div,{className:"cw-tool-config",initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.16,ease:"easeOut"},children:[o.jsxs("div",{className:"cw-tool-config-head",children:[o.jsx("span",{className:"cw-label",children:"代码执行配置"}),o.jsx("span",{className:"cw-help",children:"指定 AgentKit 代码执行沙箱。"})]}),o.jsx(My,{env:((se=pO.find(ee=>ee.id==="run_code"))==null?void 0:se.env)??[],values:((In=g.deployment)==null?void 0:In.envValues)??{},onChange:Ut})]})})]}),o.jsxs("div",{className:"cw-field cw-mcp-field",children:[o.jsx("label",{className:"cw-label",children:"MCP 工具"}),o.jsx(Yxt,{tools:si,onChange:ee=>Ft({mcpTools:ee})})]})]})}),o.jsx(Ws,{meta:Is("skills"),children:o.jsx("div",{className:"cw-form",children:o.jsx(Zxt,{selected:di,onChange:ee=>Ft({selectedSkills:ee}),cloudProvider:c})})}),o.jsx(Ws,{meta:Is("knowledge"),children:o.jsxs("div",{className:"cw-form cw-toggle-stack",children:[o.jsx(JE,{checked:nt.knowledgebase,onChange:ee=>Ft({knowledgebase:ee}),title:"知识库",desc:"启用外部知识检索(RAG),让 Agent 基于你的资料作答。",icon:xk}),nt.knowledgebase&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"知识库后端"}),o.jsx(OD,{options:PP,value:nt.knowledgebaseBackend,onChange:ee=>Ft({knowledgebaseBackend:ee,knowledgebaseIndex:ee==="viking"||ee==="openviking"?nt.knowledgebaseIndex:""})}),(nt.knowledgebaseBackend??bh)==="viking"&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"VikingDB 知识库"}),o.jsx(Xxt,{value:nt.knowledgebaseIndex??"",onChange:ee=>{Ft({knowledgebaseIndex:ee.id}),ee.projectName&&Ut("DATABASE_VIKING_PROJECT",ee.projectName),ee.region&&Ut("DATABASE_VIKING_REGION",ee.region),ee.sourceKind&&Ut("DATABASE_VIKING_COLLECTION_KIND",ee.sourceKind),Ut("DATABASE_VIKING_RESOURCE_ID",ee.resourceId??"")}})]}),o.jsx(My,{env:((oi=PP.find(ee=>ee.id===(nt.knowledgebaseBackend??bh)))==null?void 0:oi.env)??[],values:((ba=g.deployment)==null?void 0:ba.envValues)??{},onChange:Ut,renderAfterField:(nt.knowledgebaseBackend??bh)==="openviking"?ee=>ee.key==="DATABASE_OPENVIKING_USER_ID"?o.jsx(Uxt,{value:nt.knowledgebaseIndex??"",onChange:Me=>Ft({knowledgebaseIndex:Me})}):null:void 0})]})]})}),pn&&o.jsx(Ws,{meta:Is("memory"),children:o.jsxs("div",{className:"cw-form cw-toggle-stack",children:[o.jsx(JE,{checked:nt.memory.shortTerm,onChange:ee=>Ft({memory:{...nt.memory,shortTerm:ee}}),title:"短期记忆",desc:"存储单会话上下文",showDescription:!0,icon:_ne}),nt.memory.shortTerm&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"短期记忆后端"}),o.jsx(OD,{options:IP,value:nt.shortTermBackend,onChange:ee=>Ft({shortTermBackend:ee})}),o.jsx(My,{env:((bn=IP.find(ee=>ee.id===(nt.shortTermBackend??"local")))==null?void 0:bn.env)??[],values:((Gn=g.deployment)==null?void 0:Gn.envValues)??{},onChange:Ut})]}),o.jsx(JE,{checked:nt.memory.longTerm,onChange:ee=>Ft({memory:{...nt.memory,longTerm:ee}}),title:"长期记忆",desc:"存储跨会话上下文,通常使用向量化检索",showDescription:!0,icon:xk}),nt.memory.longTerm&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"长期记忆后端"}),o.jsx(OD,{options:DP,value:nt.longTermBackend,onChange:ee=>Ft({longTermBackend:ee,longTermMemoryIndex:ee==="viking"?nt.longTermMemoryIndex:""})}),(nt.longTermBackend??"local")==="viking"&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"VikingDB 记忆库"}),o.jsx(Gxt,{value:nt.longTermMemoryIndex??"",onChange:ee=>{Ft({longTermMemoryIndex:ee.id}),Ut("DATABASE_VIKINGMEM_PROJECT",ee.projectName),Ut("DATABASE_VIKING_REGION",ee.region),Ut("DATABASE_VIKINGMEM_MEMORY_TYPE",(ee.memoryTypes??[]).join(","))}})]}),o.jsx(My,{env:((Ks=DP.find(ee=>ee.id===(nt.longTermBackend??"local")))==null?void 0:Ks.env)??[],values:(($c=g.deployment)==null?void 0:$c.envValues)??{},onChange:Ut}),o.jsx(JE,{checked:!!nt.autoSaveSession,onChange:ee=>Ft({autoSaveSession:ee}),title:"自动保存会话到长期记忆",desc:"会话结束时自动把内容写入长期记忆,无需手动调用。",icon:xk})]})]})})]})]})})})})})]})}),Q==="validate"&&o.jsx("div",{className:"cw-validation-workspace",children:o.jsx("div",{className:"cw-validation-content",children:o.jsx(lvt,{enabled:Ee,disabledReason:ye,variants:$e,draftSnapshot:Wi,input:de,onInput:xe,onSend:Gs,onStartVariant:Kr,onUseVariant:ee=>void pa(ee),onAddVariant:Dr,onRemoveVariant:Ys,onToggleConfig:ee=>{const Me=$e.find(it=>it.id===ee);Me&&Oi(ee,{configOpen:!Me.configOpen})},onCompleteConfig:ma,onConfigChange:wr,onOpenTrace:Lc})})}),Q==="optimize"&&o.jsx(cvt,{profile:ar,optimizations:Fi,unavailableMessage:Di,onProfileChange:Fr,onOptimizationChange:Rs}),Q==="environment"&&o.jsx("div",{className:"cw-environment-workspace",children:o.jsx(Sxt,{cloudProvider:c,value:g.cloudEnvironment??{cliTools:[]},onChange:To,editorOpen:Ne,onEditorOpenChange:De,disabled:ue})}),Q==="publish"&&o.jsx("div",{className:"cw-preview-body",children:Z?o.jsx(GC,{embedded:!0,cloudProvider:c,project:Z,agentDraft:g,agentName:g.name||"未命名 Agent",agentCount:aOe(g),releaseConfiguration:Zr?{modelName:Zr.modelName||g.modelName||"默认模型",description:Zr.description,instruction:Zr.instruction,optimizations:[`优化场景:${j0e(ar)}`,...Fi.map(tx)]}:void 0,onChange:J,onDeploy:Jr,onAgentAdded:n,onDeploymentTaskChange:s,deploymentActionLabel:l?"更新并发布":"部署",deploymentActionTargetId:"cw-publish-primary-action",deploymentRuntimeId:l==null?void 0:l.runtimeId,deploymentRuntimeName:w,deploymentRuntimeNameCustomized:!!l||!!((ds=g.deployment)!=null&&ds.runtimeNameCustomized),onDeploymentRuntimeNameChange:ee=>O(Me=>({...Me,deployment:{...Me.deployment??{feishuEnabled:!1},runtimeName:ee,runtimeNameCustomized:!0}})),onDeploymentStarted:f,onDeploymentComplete:d,feishuEnabled:!!((_o=g.deployment)!=null&&_o.feishuEnabled),onFeishuEnabledChange:ee=>{const Me={...g,deployment:{...g.deployment??{feishuEnabled:!1},feishuEnabled:ee}};O(Me)},deploymentEnv:ha.specs,requiredSecretEnv:Qr,requiredSecretEnvValues:y,onRequiredSecretEnvChange:(ee,Me)=>v(it=>({...it,[ee]:Me})),deploymentEnvValues:{...(Jl=wn.deployment)==null?void 0:Jl.envValues,...y,...ha.fixedValues},onDeploymentEnvChange:Ut,network:(Pi=g.deployment)==null?void 0:Pi.network,onNetworkChange:ee=>O(Me=>({...Me,deployment:{...Me.deployment??{feishuEnabled:!1},network:ee}})),deployRegion:Pe,onDeployRegionChange:pe,deploymentTelemetry:{source:"scratch",createMode:a,aiAssisted:R},onExportYaml:()=>Pxt(`${wn.name||"agent"}.yaml`,Z1t(wn),"text/yaml")}):o.jsxs("div",{className:"cw-publish-loading",role:"status",children:[o.jsx(ri,{className:"cw-i cw-spin"}),o.jsx("strong",{children:"正在生成发布配置"}),o.jsx("span",{children:"校验 Agent 结构并准备部署快照…"})]})})]}),o.jsx(fvt,{mode:Q,busy:ue,onChange:ga,assistant:Q==="build"?Qu:void 0,accessory:Q==="environment"?o.jsx(wxt,{customized:((Sr=g.cloudEnvironment)==null?void 0:Sr.dockerfile)!==void 0,disabled:ue,onClick:()=>De(!0)}):void 0}),V&&o.jsx(Jbe,{testRunId:V.runId,sessionId:V.sessionId,title:`调用链路 · ${V.variantName}`,onClose:()=>Re(null)}),Ze&&o.jsx(Bl,{variant:"warning",title:"离开调试?",description:"离开调试页面后,当前环境将被清理。您可以通过重新启动环境进行新的测试。",confirmLabel:Jt?"清理中...":"确定离开",closeLabel:"关闭离开调试确认",busy:Jt,onCancel:or,onConfirm:()=>void Zl()}),D&&o.jsx("div",{className:"confirm-scrim",onClick:()=>$(null),children:o.jsxs("div",{className:"confirm-box cw-ai-error-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":"ai-generate-error-title","aria-describedby":"ai-generate-error-message",onClick:ee=>ee.stopPropagation(),children:[o.jsx("div",{className:"confirm-title",id:"ai-generate-error-title",children:"智能生成失败"}),o.jsx("div",{className:"cw-ai-error-message",id:"ai-generate-error-message",children:D}),o.jsx("div",{className:"confirm-actions",children:o.jsx("button",{type:"button",className:"confirm-btn cw-ai-error-close",onClick:()=>$(null),children:"关闭"})})]})})]})}const FW=50*1024*1024,J3=800,pvt={name:"code_package",files:[]};function mvt(e){let n=e.replace(/\.zip$/i,"").trim().replace(/[^A-Za-z0-9_]+/g,"_").replace(/^_+|_+$/g,"");return n||(n="uploaded_agent"),/^[A-Za-z_]/.test(n)||(n=`agent_${n}`),n==="user"&&(n="uploaded_agent"),n.slice(0,64)}function uOe(e){const t=e.replace(/\\/g,"/").replace(/^\.\//,"");if(!t||t.endsWith("/"))return null;if(t.startsWith("/")||t.includes("\0"))throw new Error(`压缩包包含非法路径:${e}`);const n=t.split("/");if(n.some(i=>!i||i==="."||i===".."))throw new Error(`压缩包包含非法路径:${e}`);return n[0]==="__MACOSX"||n[n.length-1]===".DS_Store"?null:n.join("/")}function gvt(e){const t=e.flatMap(a=>{const l=uOe(a.name);return l?[{path:l,content:a.text}]:[]});if(t.length===0)throw new Error("压缩包中没有可部署的文件。");if(t.length>J3)throw new Error(`代码包文件数不能超过 ${J3} 个。`);const r=new Set(t.map(a=>a.path.split("/")[0])).size===1&&t.every(a=>a.path.includes("/"))?t.map(a=>({...a,path:a.path.split("/").slice(1).join("/")})):t,s=new Set;for(const a of r){if(s.has(a.path))throw new Error(`代码包包含重复文件:${a.path}`);s.add(a.path)}return bvt(r),r}function bvt(e){const t=new Set(e.map(r=>r.path)),n=e.find(r=>r.path==="agentkit.yaml");let i="app.py";if(n){let r;try{r=_tt(n.content)}catch(l){throw new Error(`agentkit.yaml 无法解析:${l instanceof Error?l.message:String(l)}`)}if(r!==null&&(typeof r!="object"||Array.isArray(r)))throw new Error("agentkit.yaml 根节点必须是对象。");const s=r&&typeof r=="object"&&!Array.isArray(r)?r.common:void 0;if(s!==void 0&&(s===null||typeof s!="object"||Array.isArray(s)))throw new Error("agentkit.yaml 的 common 必须是对象。");const a=s&&typeof s=="object"&&!Array.isArray(s)?s.entry_point:void 0;if(a!==void 0){if(typeof a!="string")throw new Error("agentkit.yaml 的 common.entry_point 必须是文件路径。");const l=uOe(a);if(!l)throw new Error("agentkit.yaml 的 common.entry_point 不是有效文件路径。");i=l}}if(!t.has(i))throw n&&i!=="app.py"?new Error(`代码包中不存在 agentkit.yaml 声明的启动入口:${i}`):new Error("代码包根目录必须包含 app.py,或在 agentkit.yaml 的 common.entry_point 中声明已有入口。");return i}function Ovt({onBack:e,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:i,onDeploymentComplete:r,cloudProvider:s="volcengine",initialDeployRegion:a=qi(s)}){const l=m.useRef(null),c=m.useRef(0),[u,d]=m.useState(null),[f,h]=m.useState(""),[p,b]=m.useState(!1),[g,O]=m.useState(!1),[y,v]=m.useState(!1),[x,w]=m.useState(""),[S,E]=m.useState(a),[k,T]=m.useState();m.useEffect(()=>()=>{c.current+=1},[]);async function _(L){const D=++c.current;if(w(""),!L.name.toLowerCase().endsWith(".zip")){w("请选择 .zip 格式的代码包。");return}if(L.size>FW){w("代码包不能超过 50 MB。");return}O(!0);try{const $=await Gbe(new Uint8Array(await L.arrayBuffer()),{maxEntries:J3,maxUncompressedBytes:FW}),j=gvt($);if(D!==c.current)return;h(L.name),d({name:mvt(L.name),files:j})}catch($){if(D!==c.current)return;h(""),d(null),w($ instanceof Error?$.message:String($))}finally{D===c.current&&O(!1)}}function N(L){var $;const D=($=L.currentTarget.files)==null?void 0:$[0];L.currentTarget.value="",D&&_(D)}function C(L){var $;L.preventDefault(),v(!1);const D=($=L.dataTransfer.files)==null?void 0:$[0];D&&_(D)}async function R(L,D,$){const j=k&&k.mode!=="public"?{mode:k.mode,vpc_id:k.vpcId,subnet_ids:k.subnetIds,enable_shared_internet_access:k.enableSharedInternetAccess}:void 0;return cO(L.name,L.files,{region:S,projectName:"default",network:j},{...$,onStage:D})}return o.jsxs("div",{className:"package-create package-create-preview",children:[o.jsx(GC,{cloudProvider:s,project:u??pvt,agentName:(u==null?void 0:u.name)||"代码包",onChange:u?d:void 0,onDeploy:R,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:i,onDeploymentComplete:r,network:k,onNetworkChange:T,deployRegion:S,onDeployRegionChange:E,deploymentTelemetry:{source:"code_package",createMode:"code_package",aiAssisted:!1},onBack:e,backLabel:"返回创建方式",deployDisabled:!u||g,deployDisabledReason:g?"正在读取代码包":u?void 0:"请先上传代码包",deploymentPrimaryPane:o.jsxs("section",{className:"package-source-pane","aria-label":"代码包上传",children:[o.jsx("div",{className:"package-source-label",children:"代码包"}),o.jsxs("div",{className:`package-dropzone${y?" is-dragging":""}${u?" is-ready":""}`,onDragEnter:L=>{L.preventDefault(),v(!0)},onDragOver:L=>L.preventDefault(),onDragLeave:L=>{L.currentTarget.contains(L.relatedTarget)||v(!1)},onDrop:C,onClick:()=>{var L;g||(L=l.current)==null||L.click()},onKeyDown:L=>{var D;!g&&(L.key==="Enter"||L.key===" ")&&(L.preventDefault(),(D=l.current)==null||D.click())},role:"button",tabIndex:g?-1:0,"aria-label":u?"重新上传代码包":"上传代码包","aria-disabled":g,children:[o.jsx("strong",{children:g?"正在读取代码包…":u?f:"请上传代码包"}),o.jsx("span",{children:u?`已识别 ${u.files.length} 个文件,点击区域可重新上传`:"点击或拖拽上传,支持 .zip 格式,最大 50 MB;可使用 app.py,或由 agentkit.yaml 声明入口"}),o.jsx("div",{className:"package-upload-actions",children:u&&o.jsx("button",{type:"button",className:"package-upload-secondary",onClick:L=>{L.stopPropagation(),b(!0)},onKeyDown:L=>L.stopPropagation(),children:"查看文件"})}),o.jsx("input",{ref:l,type:"file",accept:".zip,application/zip","aria-label":"选择代码包",onChange:N})]}),x&&o.jsx("div",{className:"package-create-error",role:"alert",children:x})]})}),u&&o.jsx(n8,{project:u,open:p,onClose:()=>b(!1),onChange:d})]})}const yvt="/web/agent-migrations",ZC=39e4;class ao extends Error{constructor(t,n,i="MIGRATION_ERROR",r=!1,s="",a=""){super(t),this.status=n,this.code=i,this.retryable=r,this.statusText=s,this.rawResponse=a,this.name="MigrationApiError"}}const xvt=new Set(["langchain","langgraph","adk","strands","agentcore","dify","any"]),vvt=new Set(["awaiting_upload","analyzing","needs_input","analysis_ready","migrating","validating","packaging","succeeded","succeeded_with_warnings","partial","failed","cancelled","expired"]),wvt=new Set(["reasoning","message","plan","command","status"]),Svt=new Set(["running","completed","failed"]),Evt=new Set(["pending","in_progress","completed","failed"]);function ki(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`${t}格式错误。`);return e}function Kp(e,t){if(!Array.isArray(e)||!e.every(n=>typeof n=="string"))throw new Error(`${t}格式错误。`);return e}function nx(e,t){if(typeof e!="string"||!xvt.has(e))throw new Error(`${t}格式错误。`);return e}function kvt(e){const t=ki(e,"迁移分析结果"),n=t.recommended===null?null:ki(t.recommended,"迁移建议"),i=ki(t.boundary,"迁移边界");if(t.schema_version!==1||!["needs_input","recommendation_ready","unsupported"].includes(String(t.status))||typeof t.attempt!="number"||typeof t.input_sha256!="string"||typeof t.summary!="string"||!Array.isArray(t.frameworks)||!Array.isArray(t.entries)||!Array.isArray(t.questions))throw new Error("迁移分析结果格式错误。");return{schema_version:1,status:t.status,attempt:t.attempt,input_sha256:t.input_sha256,summary:t.summary,frameworks:t.frameworks.map(r=>{const s=ki(r,"框架候选");if(!["high","medium","low"].includes(String(s.confidence))||!Array.isArray(s.evidence))throw new Error("框架候选格式错误。");return{id:nx(s.id,"框架候选"),confidence:s.confidence,evidence:s.evidence.map(a=>{const l=ki(a,"分析证据");if(typeof l.path!="string"||typeof l.line!="number"||typeof l.reason!="string")throw new Error("分析证据格式错误。");return{path:l.path,line:l.line,reason:l.reason}})}}),recommended:n===null?null:{framework:nx(n.framework,"推荐框架"),entry:n.entry===null||typeof n.entry=="string"?n.entry:null,reason:typeof n.reason=="string"?n.reason:""},entries:t.entries.map(r=>{const s=ki(r,"入口候选");if(typeof s.value!="string"||typeof s.evidence!="string")throw new Error("入口候选格式错误。");return{value:s.value,framework:nx(s.framework,"入口框架"),evidence:s.evidence}}),boundary:{include:Kp(i.include,"迁移包含范围"),exclude:Kp(i.exclude,"迁移排除范围")},assumptions:Kp(t.assumptions,"分析假设"),questions:t.questions.map(r=>{const s=ki(r,"待确认问题");if(typeof s.id!="string"||typeof s.prompt!="string"||typeof s.required!="boolean")throw new Error("待确认问题格式错误。");return{id:s.id,prompt:s.prompt,required:s.required}}),warnings:Kp(t.warnings,"迁移警告")}}function Jm(e){const t=ki(e,"迁移会话"),n=ki(t.artifact,"迁移产物状态");if(typeof t.id!="string"||typeof t.state!="string"||!vvt.has(t.state)||typeof t.message!="string"||typeof t.sourceFileName!="string"||typeof t.instruction!="string"||typeof t.createdAt!="string"&&typeof t.createdAt!="number"||typeof t.expiresAt!="string"||typeof t.sessionTtlSeconds!="number"||typeof t.canModify!="boolean"||typeof t.canUpload!="boolean"||typeof t.canAnswer!="boolean"||typeof t.canConfirm!="boolean"||typeof t.canStop!="boolean")throw new Error("迁移会话格式错误。");const i={id:t.id,state:t.state,message:t.message,sourceFileName:t.sourceFileName,instruction:t.instruction,createdAt:t.createdAt,expiresAt:t.expiresAt,sessionTtlSeconds:t.sessionTtlSeconds,canModify:t.canModify,canUpload:t.canUpload,canAnswer:t.canAnswer,canConfirm:t.canConfirm,canStop:t.canStop,artifact:{state:typeof n.state=="string"?n.state:"none",previewReady:n.previewReady===!0,downloadReady:n.downloadReady===!0,deployReady:n.deployReady===!0}};if(t.analysis!==void 0&&(i.analysis=kvt(t.analysis)),t.analysisRef!==void 0){const r=ki(t.analysisRef,"分析结果引用");if(typeof r.attempt!="number"||typeof r.sha256!="string"||typeof r.inputSha256!="string")throw new Error("分析结果引用格式错误。");i.analysisRef={attempt:r.attempt,sha256:r.sha256,inputSha256:r.inputSha256}}if(t.confirmation!==void 0){const r=ki(t.confirmation,"迁移确认");i.confirmation={...r.framework!==void 0?{framework:nx(r.framework,"确认框架")}:{},...r.entry===null||typeof r.entry=="string"?{entry:r.entry}:{},...typeof r.app_name=="string"?{app_name:r.app_name}:{}}}if(t.error!==void 0){const r=ki(t.error,"迁移错误");i.error={code:typeof r.code=="string"?r.code:"MIGRATION_ERROR",message:typeof r.message=="string"?r.message:t.message,retryable:r.retryable===!0}}return i}function Tvt(e){const t=ki(e,"迁移执行动态");if(typeof t.available!="boolean"||typeof t.complete!="boolean"||!Array.isArray(t.items))throw new Error("迁移执行动态格式错误。");return{available:t.available,complete:t.complete,items:t.items.map(n=>{const i=ki(n,"迁移执行动态项");if(typeof i.id!="string"||typeof i.kind!="string"||!wvt.has(i.kind)||typeof i.status!="string"||!Svt.has(i.status)||typeof i.title!="string"||i.detail!==void 0&&typeof i.detail!="string")throw new Error("迁移执行动态项格式错误。");let r;if(i.tool!==void 0){const a=ki(i.tool,"迁移执行工具项");if(typeof a.name!="string"||a.error!==void 0&&typeof a.error!="string"||a.exitCode!==void 0&&!Number.isInteger(a.exitCode))throw new Error("迁移执行工具项格式错误。");r={name:a.name,...Object.prototype.hasOwnProperty.call(a,"input")?{input:a.input}:{},...Object.prototype.hasOwnProperty.call(a,"output")?{output:a.output}:{},...typeof a.error=="string"?{error:a.error}:{},...typeof a.exitCode=="number"?{exitCode:a.exitCode}:{}}}let s;if(i.plan!==void 0){if(!Array.isArray(i.plan))throw new Error("迁移执行计划格式错误。");s=i.plan.map(a=>{const l=ki(a,"迁移执行计划项");if(typeof l.text!="string"||typeof l.status!="string"||!Evt.has(l.status))throw new Error("迁移执行计划项格式错误。");return{text:l.text,status:l.status}})}return{id:i.id,kind:i.kind,status:i.status,title:i.title,...typeof i.detail=="string"?{detail:i.detail}:{},...r?{tool:r}:{},...s?{plan:s}:{}}})}}function _vt(e){const t=ki(e,"迁移产物"),n=ki(t.cli,"CLI 信息"),i=ki(t.migration,"迁移信息"),r=ki(t.startup,"启动信息"),s=ki(t.environment,"环境变量信息"),a=ki(t.verification,"校验信息"),l=ki(t.report,"迁移报告"),c=ki(t.artifact,"产物归档"),u=s.defaults===void 0?{}:ki(s.defaults,"环境变量默认值");if(t.schema_version!==1||!["succeeded","succeeded_with_warnings","partial"].includes(String(t.status))||typeof n.name!="string"||typeof n.version!="string"||!["structured","agentic"].includes(String(i.engine))||typeof i.framework!="string"||!Array.isArray(t.files)||typeof r.module!="string"||typeof r.object!="string"||!["passed","failed","degraded"].includes(String(a.status))||!Array.isArray(a.checks)||typeof l.path!="string"||c.path!=="migration-result.zip"||typeof c.size!="number"||typeof c.sha256!="string"||typeof t.created_at!="string")throw new Error("迁移产物格式错误。");const d=Kp(s.required,"必需环境变量"),f=Kp(s.optional,"可选环境变量"),h=new Set([...d,...f]),p=Object.fromEntries(Object.entries(u).map(([b,g])=>{if(!h.has(b)||typeof g!="string")throw new Error("环境变量默认值格式错误。");return[b,g]}));return{schema_version:1,...typeof t.run_id=="string"?{run_id:t.run_id}:{},cli:{name:n.name,version:n.version},migration:{engine:i.engine,framework:i.framework,...typeof i.entry=="string"?{entry:i.entry}:{},...typeof i.source_sha256=="string"?{source_sha256:i.source_sha256}:{},...typeof i.provenance_sha256=="string"?{provenance_sha256:i.provenance_sha256}:{}},status:t.status,files:t.files.map(b=>{const g=ki(b,"迁移产物文件");if(typeof g.path!="string"||typeof g.size!="number"||typeof g.sha256!="string"||typeof g.mode!="string")throw new Error("迁移产物文件格式错误。");return{path:g.path,size:g.size,sha256:g.sha256,mode:g.mode}}),startup:{module:r.module,object:r.object,...Array.isArray(r.command)&&r.command.every(b=>typeof b=="string")?{command:r.command}:{}},environment:{required:d,optional:f,defaults:p},verification:{status:a.status,checks:a.checks.map(b=>{const g=ki(b,"迁移校验项");if(typeof g.name!="string"||!["passed","failed"].includes(String(g.status)))throw new Error("迁移校验项格式错误。");return{name:g.name,status:g.status,...typeof g.detail=="string"?{detail:g.detail}:{}}})},warnings:Kp(t.warnings,"迁移产物警告"),report:{path:l.path},artifact:{path:"migration-result.zip",size:c.size,sha256:c.sha256},created_at:t.created_at}}async function Wl(e,t={},n=wo){return fetch(go(`${yvt}${e}`),{...t,headers:Gh(t.headers),signal:So(t.signal,n)})}function Avt(e){return Array.isArray(e)?e.map(t=>{if(!t||typeof t!="object"||Array.isArray(t))return"";const n=t,i=Array.isArray(n.loc)?n.loc.filter(s=>typeof s=="string"||typeof s=="number").join("."):"",r=typeof n.msg=="string"?n.msg:"";return r?i?`${i}: ${r}`:r:""}).filter(Boolean).join(";"):""}async function W9(e,t){var i;const n=await e.text().catch(()=>"");try{const r=ki(JSON.parse(n),"错误响应");if(Array.isArray(r.detail)){const a=Avt(r.detail);return new ao(a?`请求参数校验失败:${a}`:t,e.status,"MIGRATION_REQUEST_INVALID",!1,e.statusText,n)}if(typeof r.detail=="string")return new ao(r.detail,e.status,typeof r.code=="string"?r.code:"MIGRATION_ERROR",r.retryable===!0,e.statusText,n);const s=r.detail&&typeof r.detail=="object"?ki(r.detail,"错误详情"):r;return new ao(typeof s.message=="string"?s.message:t,e.status,typeof s.code=="string"?s.code:"MIGRATION_ERROR",s.retryable===!0,e.statusText,n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失";return new ao(`${t}(HTTP ${e.status},Content-Type: ${r})。请检查代理或网关配置。`,e.status,"MIGRATION_ERROR",!1,e.statusText,n)}}async function Bu(e,t){if(!e.ok)throw await W9(e,t);if(!(e.headers.get("content-type")??"").includes("application/json"))throw new ao(`${t}:服务端返回非 JSON 响应(HTTP ${e.status})。请检查代理或网关配置。`,e.status,"MIGRATION_RESPONSE_INVALID",!1,e.statusText);return e.json()}async function Cvt(e){const t=ki(await Bu(await Wl("/capabilities",{signal:e}),"读取迁移能力失败"),"迁移能力");if(typeof t.enabled!="boolean"||typeof t.reason!="string"||typeof t.maxUploadBytes!="number"||typeof t.sessionTtlSeconds!="number"||!Array.isArray(t.frameworks))throw new Error("迁移能力格式错误。");return{enabled:t.enabled,reason:t.reason,maxUploadBytes:t.maxUploadBytes,sessionTtlSeconds:t.sessionTtlSeconds,frameworks:t.frameworks.map(n=>nx(n,"迁移框架"))}}async function SD(e){const t=ki(await Bu(await Wl("/tasks",{signal:e}),"读取迁移会话失败"),"迁移会话列表");if(!Array.isArray(t.items))throw new Error("迁移会话列表格式错误。");return t.items.map(Jm)}async function Nvt(e){return Jm(await Bu(await Wl("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e.taskId,sourceFileName:e.sourceFileName,instruction:e.instruction}),signal:e.signal},ZC),"创建迁移会话失败"))}async function UW(e,t,n){return Jm(await Bu(await Wl(`/tasks/${encodeURIComponent(e)}/source`,{method:"PUT",headers:{"Content-Type":"application/zip"},body:t,signal:n},ZC),"上传迁移项目失败"))}async function ED(e,t){return Jm(await Bu(await Wl(`/tasks/${encodeURIComponent(e)}`,{signal:t}),"读取迁移会话失败"))}async function jvt(e,t){return Tvt(await Bu(await Wl(`/tasks/${encodeURIComponent(e)}/activity`,{signal:t,cache:"no-store"}),"读取迁移执行动态失败"))}async function Rvt(e){return Jm(await Bu(await Wl(`/tasks/${encodeURIComponent(e.taskId)}/confirm`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({framework:e.framework,entry:e.entry||null,appName:e.appName,instruction:e.instruction,analysisAttempt:e.analysisAttempt,analysisSha256:e.analysisSha256,inputSha256:e.inputSha256,boundaryConfirmed:!0}),signal:e.signal},ZC),"启动迁移失败"))}async function Ivt(e){return Jm(await Bu(await Wl(`/tasks/${encodeURIComponent(e.taskId)}/answers`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({analysisAttempt:e.analysisAttempt,analysisSha256:e.analysisSha256,inputSha256:e.inputSha256,answers:e.answers}),signal:e.signal},ZC),"提交分析补充信息失败"))}async function Dvt(e,t){return Jm(await Bu(await Wl(`/tasks/${encodeURIComponent(e)}/stop`,{method:"POST",signal:t}),"终止迁移失败"))}async function Pvt(e,t){return _vt(await Bu(await Wl(`/tasks/${encodeURIComponent(e)}/artifact`,{signal:t}),"读取迁移产物失败"))}async function Mvt(e,t,n){var s;const i=new URLSearchParams({path:t}),r=await Wl(`/tasks/${encodeURIComponent(e)}/artifact/file?${i}`,{signal:n},Nr);if(!r.ok)throw await W9(r,"读取迁移产物文件失败");return{blob:await r.blob(),mimeType:((s=r.headers.get("content-type"))==null?void 0:s.split(";",1)[0])||"application/octet-stream"}}function Lvt(e,t){var i;return((i=(e.headers.get("content-disposition")||"").match(/filename="([^"]+)"/))==null?void 0:i[1])||t}async function $vt(e,t,n){const i=await Wl(`/tasks/${encodeURIComponent(e)}/download`,{signal:n},Nr);if(!i.ok)throw await W9(i,"下载迁移产物失败");const r=URL.createObjectURL(await i.blob()),s=document.createElement("a");s.href=r,s.download=Lvt(i,`${t}-migrated.zip`),s.click(),window.setTimeout(()=>URL.revokeObjectURL(r),1e3)}function eg({children:e,...t}){return o.jsx("svg",{...t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.65",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:e})}function Bvt(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"m10 6-6 6 6 6M4 12h16"})})}function Qvt(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"M12 3v12m-4-4 4 4 4-4M5 20h14"})})}function lT(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"M6 3.5h8l4 4V20H6zM14 3.5v4h4M9 12h6M9 15.5h6"})})}function Fvt(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"M12 5v14M5 12h14"})})}function Uvt(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"M14.5 4.5c2.3-.9 4.2-.8 5-.6.2.8.3 2.7-.6 5l-5.1 5.1-3.8-3.8zM15.4 8.6h.1M10.3 10.5l-3.8.7-2.1 2.1 5.3.2M13.5 13.7l-.7 3.8-2.1 2.1-.2-5.3M7.2 16.8l-2.8 2.8"})})}function zvt(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"M12 16V4m-4 4 4-4 4 4M5 20h14"})})}function zW(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"m6 6 12 12M18 6 6 18"})})}const Vvt=new Set(["MODEL_AGENT_API_KEY"]),qvt=new Set(["MODEL_AGENT_NAME","MODEL_NAME"]),Hvt=new Set(["VOLCENGINE_ACCESS_KEY","VOLCENGINE_SECRET_KEY","VOLCENGINE_SESSION_TOKEN","BYTEPLUS_ACCESS_KEY","BYTEPLUS_SECRET_KEY","BYTEPLUS_SESSION_TOKEN","VEADK_DISABLE_EXPIRE_AT"]);function cT(e){return!Hvt.has(e)}function eL(e){return Vvt.has(e)||/(?:API_KEY|ACCESS_KEY|SECRET_KEY|PRIVATE_KEY|TOKEN|SECRET|PASSWORD|PASSWD|PWD|CREDENTIAL)$/.test(e)}function Xvt(e,t){const n={},i=new Set([...e.environment.required,...e.environment.optional]);for(const r of i){if(!cT(r)||eL(r))continue;const s=r==="MODEL_AGENT_API_BASE"?Ec(t):qvt.has(r)?ym(t):e.environment.defaults[r];s!=null&&s.trim()&&(n[r]=s)}return n}function Gvt(e){return e.flatMap(t=>{if(t.kind==="reasoning"&&t.detail)return[{kind:"thinking",text:t.detail,done:t.status!=="running"}];if(t.kind==="message"&&t.detail)return[{kind:"text",text:t.detail}];if(t.kind==="plan")return[{kind:"plan",title:t.title,summary:t.detail,items:t.plan??[],done:t.status!=="running"}];if(t.kind==="command"){const n=t.tool,i=n!=null&&n.error||typeof(n==null?void 0:n.exitCode)=="number"?{...n.output!==void 0?{output:n.output}:{},...n.error?{error:n.error}:{},...typeof n.exitCode=="number"?{exitCode:n.exitCode}:{}}:n==null?void 0:n.output;return[{kind:"tool",name:(n==null?void 0:n.name)??t.title,args:n==null?void 0:n.input,response:i,done:t.status!=="running",status:t.status}]}return t.kind==="status"&&t.status!=="completed"?[{kind:"tool",name:t.title,response:t.detail,done:t.status!=="running",status:t.status}]:[]})}const Yvt=50*1024*1024,kD=1200,VW=3e3,Wvt=5e3,qW=500,Zvt=()=>{},dOe={langchain:"LangChain",langgraph:"LangGraph",adk:"Google ADK",strands:"Strands",agentcore:"AgentCore",dify:"Dify",any:"Any(通用迁移)"},TD=new Set(["langchain","langgraph","adk","strands","agentcore"]);function Kvt(e){switch(e){case"awaiting_upload":return"待上传";case"analyzing":return"分析中";case"needs_input":return"待补充";case"analysis_ready":return"待确认";case"migrating":return"迁移中";case"validating":return"校验中";case"packaging":return"打包中";case"succeeded":return"已完成";case"succeeded_with_warnings":return"已完成,有提示";case"partial":return"部分完成";case"failed":return"失败";case"cancelled":return"已终止";case"expired":return"已过期"}}function _D(e){return e.state==="partial"&&e.artifact.previewReady?"迁移产物已生成,但交付不完整,请查看迁移提示。":["succeeded","succeeded_with_warnings"].includes(e.state)&&e.artifact.previewReady?e.state==="succeeded_with_warnings"?"迁移产物已生成,请查看迁移提示。":"迁移产物已生成。":e.message}function Jvt(e){switch(e){case"passed":return"产物校验通过";case"failed":return"产物校验未通过";case"degraded":return"产物校验未完成"}}function AD({stage:e}){const t=[{id:"session",label:"创建迁移环境"},{id:"upload",label:"上传项目"},{id:"analysis",label:"分析项目"}],n=t.findIndex(i=>i.id===e);return o.jsx("div",{className:"migration-transfer-progress",role:"status",children:t.map((i,r)=>o.jsxs("div",{className:r=n)return{title:"迁移环境已过期",detail:"会话和产物已无法访问"};const i=Math.max(0,n-t),r=Math.floor(i/6e4),s=Math.floor(i%6e4/1e3);return{title:`迁移环境将在 ${r} 分 ${s} 秒后过期`,detail:"过期后无法查看会话,也无法预览、下载或部署产物"}}function swt(e,t){let n=!1;const i=e.map(r=>{if(r.state==="expired")return r;const s=new Date(r.expiresAt).getTime();return!Number.isFinite(s)||ti.id!==t.id);return[t,...n].sort((i,r)=>{const s=typeof i.createdAt=="number"?i.createdAt*1e3:new Date(i.createdAt).getTime();return(typeof r.createdAt=="number"?r.createdAt*1e3:new Date(r.createdAt).getTime())-s})}function awt(e,t){return e.find(n=>n.id===t)??null}function owt(e,t){return e.startsWith("text/")||/(?:json|javascript|xml|yaml)/i.test(e)||/\.(?:py|ts|tsx|js|jsx|json|ya?ml|md|txt|toml|ini|cfg|env|sh|dockerfile)$/i.test(t)}function lwt({analysis:e}){var t;return o.jsxs("div",{className:"migration-analysis",children:[o.jsx(Tu,{text:e.summary,allowRawHtml:!1}),o.jsxs("div",{className:"migration-analysis__facts",children:[e.recommended?o.jsxs("section",{children:[o.jsx("h3",{children:"建议迁移方式"}),o.jsx("strong",{children:dOe[e.recommended.framework]}),o.jsx("p",{children:e.recommended.reason})]}):null,o.jsxs("section",{children:[o.jsx("h3",{children:"迁移范围"}),o.jsx("ul",{children:e.boundary.include.map(n=>o.jsx("li",{children:n},n))})]}),e.boundary.exclude.length>0?o.jsxs("section",{children:[o.jsx("h3",{children:"不在本次范围"}),o.jsx("ul",{children:e.boundary.exclude.map(n=>o.jsx("li",{children:n},n))})]}):null]}),(t=e.frameworks[0])!=null&&t.evidence.length?o.jsxs("details",{className:"migration-analysis__evidence",children:[o.jsx("summary",{children:"查看分析证据"}),o.jsx("ul",{children:e.frameworks.flatMap(n=>n.evidence.map(i=>o.jsxs("li",{children:[o.jsxs("code",{children:[i.path,":",i.line]}),o.jsx("span",{children:i.reason})]},`${n.id}:${i.path}:${i.line}`)))})]}):null,e.warnings.length>0?o.jsx("div",{className:"migration-analysis__warnings",children:e.warnings.map(n=>o.jsx("p",{children:n},n))}):null,e.assumptions.length>0?o.jsxs("details",{className:"migration-analysis__evidence",children:[o.jsx("summary",{children:"查看关键假设"}),o.jsx("ul",{children:e.assumptions.map(n=>o.jsx("li",{children:n},n))})]}):null]})}function cwt({activity:e,loading:t,error:n,analyzing:i}){const r=(e==null?void 0:e.items)??[],s=Gvt(r);return o.jsxs("section",{className:"migration-activity","aria-label":"Codex 执行动态",children:[o.jsxs("div",{className:"migration-activity__heading",children:[o.jsx("span",{className:`migration-activity__marker${e!=null&&e.complete?" is-complete":""}`,"aria-hidden":"true"}),o.jsx("strong",{children:"Codex 执行动态"})]}),s.length>0?o.jsx("div",{className:"migration-activity__stream",children:o.jsx(dC,{blocks:s,onAction:Zvt})}):t||!(e!=null&&e.complete)?o.jsx(Rn,{children:i?"Codex 正在开始分析…":"Codex 正在开始迁移…"}):null,n?o.jsx("p",{className:"migration-activity__error",role:"status",children:n}):null]})}function uwt({task:e,artifact:t}){var d;const[n,i]=m.useState(""),[r,s]=m.useState(((d=t.files[0])==null?void 0:d.path)??""),[a,l]=m.useState(null),c=t.files.find(f=>f.path===r)??t.files[0],u=m.useMemo(()=>{const f=n.trim().toLocaleLowerCase();return(f?t.files.filter(p=>p.path.toLocaleLowerCase().includes(f)):t.files).slice(0,qW)},[t.files,n]);return m.useEffect(()=>{if(!c)return;if(c.size>2*1024*1024){l({path:c.path,loading:!1,error:"该文件超过 2 MiB,请下载完整产物后查看。"});return}const f=new AbortController;let h="";return l({path:c.path,loading:!0}),Mvt(e.id,c.path,f.signal).then(async({blob:p,mimeType:b})=>{if(!f.signal.aborted){if(b.startsWith("image/")){h=URL.createObjectURL(p),l({path:c.path,loading:!1,imageUrl:h});return}if(owt(b,c.path)){const g=await p.text();if(f.signal.aborted)return;l({path:c.path,loading:!1,text:g});return}l({path:c.path,loading:!1,error:"该文件不支持在线预览,请下载完整产物后查看。"})}}).catch(p=>{f.signal.aborted||l({path:c.path,loading:!1,error:p instanceof Error?p.message:String(p)})}),()=>{f.abort(),h&&URL.revokeObjectURL(h)}},[c,e.id]),o.jsxs("div",{className:"migration-artifact-browser",children:[o.jsxs("aside",{"aria-label":"迁移产物文件",children:[o.jsxs("label",{className:"migration-artifact-browser__search",children:[o.jsx("span",{className:"sr-only",children:"搜索产物文件"}),o.jsx("input",{value:n,onChange:f=>i(f.currentTarget.value),placeholder:"搜索文件"})]}),o.jsx("div",{className:"migration-artifact-browser__files",children:u.map(f=>o.jsxs("button",{type:"button",className:f.path===(c==null?void 0:c.path)?"is-active":"",onClick:()=>s(f.path),title:f.path,children:[o.jsx(lT,{}),o.jsx("span",{children:f.path}),o.jsx("small",{children:tL(f.size)})]},f.path))}),t.files.length>u.length?o.jsxs("p",{className:"migration-artifact-browser__limit",children:["仅展示前 ",qW," 项,请搜索具体文件。"]}):null]}),o.jsxs("section",{children:[o.jsxs("header",{children:[o.jsx("span",{title:c==null?void 0:c.path,children:(c==null?void 0:c.path)||"未选择文件"}),c?o.jsx("small",{children:tL(c.size)}):null]}),o.jsx("div",{className:"migration-artifact-browser__preview",children:c?(a==null?void 0:a.path)!==c.path||a.loading?o.jsx(Rn,{children:"正在读取产物文件…"}):a.error?o.jsx("p",{role:"status",children:a.error}):a.imageUrl?o.jsx("img",{src:a.imageUrl,alt:c.path}):o.jsx(k9,{value:a.text??"",path:c.path,readOnly:!0,onChange:()=>{}}):o.jsx("p",{children:"暂无可预览文件。"})})]})]})}function dwt({cloudProvider:e,onBack:t,onAgentAdded:n,onDeploymentTaskChange:i,onDeploymentStarted:r,onDeploymentComplete:s,initialDeployRegion:a=qi(e)}){var at,Dt,Yt,cn,Zt,si,di,Yi;const l=m.useRef(null),c=m.useRef(""),u=m.useRef(null),[d,f]=m.useState(null),[h,p]=m.useState([]),[b,g]=m.useState(""),[O,y]=m.useState(null),[v,x]=m.useState(!1),[w,S]=m.useState(!0),[E,k]=m.useState(""),[T,_]=m.useState(""),[N,C]=m.useState(""),[R,L]=m.useState(!1),[D,$]=m.useState(Date.now()),[j,P]=m.useState(null),[M,U]=m.useState("langchain"),[F,H]=m.useState(""),[z,Q]=m.useState(""),[q,le]=m.useState({}),[ge,be]=m.useState(null),[ce,Z]=m.useState(""),[J,ue]=m.useState(!1),[Oe,Ne]=m.useState(0),[De,Pe]=m.useState(null),[pe,Ee]=m.useState(!1),[ye,$e]=m.useState(""),[Ue,_e]=m.useState(!1),[ze,lt]=m.useState(!1),[Lt,We]=m.useState(a),[W,ne]=m.useState(),[de,xe]=m.useState({}),V=awt(h,b),Re=j?Math.max(0,Math.floor((D-j)/1e3)):0,Ze=De==null?void 0:De.items[De.items.length-1],et=[(De==null?void 0:De.items.length)??0,(Ze==null?void 0:Ze.id)??"",(Ze==null?void 0:Ze.status)??"",((at=Ze==null?void 0:Ze.detail)==null?void 0:at.length)??0].join(":"),{ref:Jt,onScroll:Ht}=Fde(`${(V==null?void 0:V.id)??"new"}:${(V==null?void 0:V.state)??"new"}:${et}`);async function At(oe,Qe=!0,ct){try{const wt=await ED(oe,ct);return ct!=null&&ct.aborted?null:(p(En=>td(En,wt)),C(""),L(!1),wt)}catch(wt){return ct!=null&&ct.aborted||Qe&&(C(wt instanceof Error?wt.message:String(wt)),L(wt instanceof ao&&wt.retryable)),null}}async function vt(oe){try{const Qe=await SD(oe);if(oe!=null&&oe.aborted)return;p(Qe),C(""),L(!1)}catch(Qe){if(oe!=null&&oe.aborted)return;C(Qe instanceof Error?Qe.message:String(Qe)),L(Qe instanceof ao&&Qe.retryable)}}m.useEffect(()=>{const oe=new AbortController;return S(!0),_(""),Promise.all([Cvt(oe.signal),SD(oe.signal)]).then(([Qe,ct])=>{oe.signal.aborted||(f(Qe),p(ct))}).catch(Qe=>{oe.signal.aborted||_(Qe instanceof Error?Qe.message:String(Qe))}).finally(()=>{oe.signal.aborted||S(!1)}),()=>oe.abort()},[]),m.useEffect(()=>()=>{var oe;(oe=u.current)==null||oe.abort(),u.current=null},[]),m.useEffect(()=>{const oe=window.setInterval(()=>{const Qe=Date.now();$(Qe),p(ct=>swt(ct,Qe))},1e3);return()=>window.clearInterval(oe)},[]),m.useEffect(()=>{if(!h.some(ct=>vp(ct.state)))return;const oe=new AbortController,Qe=window.setInterval(()=>{SD(oe.signal).then(ct=>{oe.signal.aborted||p(ct),C(""),L(!1)}).catch(ct=>{oe.signal.aborted||(C(ct instanceof Error?ct.message:String(ct)),L(ct instanceof ao&&ct.retryable),ct instanceof ao&&ct.retryable||window.clearInterval(Qe))})},Wvt);return()=>{oe.abort(),window.clearInterval(Qe)}},[h.some(oe=>vp(oe.state))]),m.useEffect(()=>{if(!V||!vp(V.state))return;const oe=new AbortController;let Qe;const ct=async()=>{try{const wt=await ED(V.id,oe.signal);if(oe.signal.aborted)return;p(En=>td(En,wt)),C(""),L(!1),vp(wt.state)&&(Qe=window.setTimeout(()=>void ct(),kD))}catch(wt){if(oe.signal.aborted)return;C(wt instanceof Error?wt.message:String(wt)),L(wt instanceof ao&&wt.retryable),wt instanceof ao&&wt.retryable&&(Qe=window.setTimeout(()=>void ct(),kD))}};return Qe=window.setTimeout(()=>void ct(),kD),()=>{oe.abort(),Qe!==void 0&&window.clearTimeout(Qe)}},[V==null?void 0:V.id,V==null?void 0:V.state]),m.useEffect(()=>{const oe=Jt.current;oe&&(oe.scrollTop=oe.scrollHeight,Ht())},[b,Jt,Ht]),m.useEffect(()=>{if(Pe(null),$e(""),Ee(!1),!V||!HW(V))return;const oe=new AbortController;let Qe;const ct=async()=>{Ee(!0);try{const wt=await jvt(V.id,oe.signal);if(oe.signal.aborted)return;Pe(wt),$e(""),!wt.complete&&vp(V.state)&&(Qe=window.setTimeout(()=>void ct(),VW))}catch(wt){if(oe.signal.aborted)return;$e("暂时无法读取 Codex 执行动态,不影响当前任务。"),vp(V.state)&&wt instanceof ao&&wt.retryable&&(Qe=window.setTimeout(()=>void ct(),VW))}finally{oe.signal.aborted||Ee(!1)}};return ct(),()=>{oe.abort(),Qe!==void 0&&window.clearTimeout(Qe)}},[V==null?void 0:V.id,V==null?void 0:V.state,(Dt=V==null?void 0:V.analysisRef)==null?void 0:Dt.sha256,(Yt=V==null?void 0:V.confirmation)==null?void 0:Yt.framework]),m.useEffect(()=>{if(!(V!=null&&V.analysis)||!V.analysisRef||!["needs_input","analysis_ready"].includes(V.state))return;const oe=`${V.id}:${V.analysisRef.attempt}:${V.analysisRef.sha256}`;if(c.current===oe||(c.current=oe,le({}),V.state!=="analysis_ready"))return;const Qe=V.analysis.recommended;Qe&&(U(Qe.framework),H(Qe.entry||""),Q(XW(V.sourceFileName)))},[V]),m.useEffect(()=>{if(be(null),Z(""),ue(!1),lt(!1),xe({}),!(V!=null&&V.artifact.previewReady))return;const oe=new AbortController;return Pvt(V.id,oe.signal).then(Qe=>{oe.signal.aborted||be(Qe)}).catch(Qe=>{oe.signal.aborted||(Z(Qe instanceof Error?Qe.message:String(Qe)),ue(Qe instanceof ao&&Qe.retryable))}),()=>oe.abort()},[V==null?void 0:V.id,V==null?void 0:V.artifact.previewReady,Oe]),m.useEffect(()=>{if(!ge)return;const oe=Xvt(ge,e);xe(Qe=>{var wt;const ct={...Qe};for(const[En,fi]of Object.entries(oe))(wt=ct[En])!=null&&wt.trim()||(ct[En]=fi);return ct})},[ge,e]);function ve(oe){if(!u.current&&(_(""),!!oe)){if(!oe.name.toLowerCase().endsWith(".zip")){y(null),_("请选择 .zip 格式的本地项目文件。");return}if(oe.name.length>255||/[/\\\u0000-\u001f]/.test(oe.name)){y(null),_("ZIP 文件名无效,请重命名后重新选择。");return}if(oe.size>Yvt){y(null),_("项目 ZIP 不能超过 50 MiB。");return}if(oe.size===0){y(null),_("项目 ZIP 不能为空。");return}y(oe)}}function Ve(oe){var ct;const Qe=(ct=oe.currentTarget.files)==null?void 0:ct[0];oe.currentTarget.value="",ve(Qe)}async function Fe(){if(!O||E||u.current)return;const oe=new AbortController;u.current=oe;const Qe=()=>u.current===oe&&!oe.signal.aborted,ct=`migration-v1-${crypto.randomUUID().replace(/-/g,"")}`;k("create"),P(Date.now()),_("");try{const wt=await Nvt({taskId:ct,sourceFileName:O.name,instruction:"",signal:oe.signal});if(!Qe())return;p(fi=>td(fi,wt)),g(wt.id),k("upload"),P(null);const En=await UW(wt.id,O,oe.signal);if(!Qe())return;p(fi=>td(fi,En)),y(null)}catch(wt){if(!Qe())return;const En=await At(ct,!1,oe.signal);if(!Qe())return;if(En){if(g(En.id),En.state!=="awaiting_upload"){y(null);return}}else if(await vt(oe.signal),!Qe())return;_(wt instanceof Error?wt.message:String(wt))}finally{u.current===oe&&(u.current=null,P(null),k(""))}}async function yt(){if(!(V!=null&&V.canUpload)||!O||E||u.current)return;const oe=new AbortController;u.current=oe;const Qe=()=>u.current===oe&&!oe.signal.aborted;k("upload"),_("");try{const ct=await UW(V.id,O,oe.signal);if(!Qe())return;p(wt=>td(wt,ct)),y(null)}catch(ct){if(!Qe())return;const wt=await At(V.id,!0,oe.signal);if(!Qe())return;if(wt&&wt.state!=="awaiting_upload"){y(null);return}_(ct instanceof Error?ct.message:String(ct))}finally{u.current===oe&&(u.current=null,k(""))}}const bt=m.useMemo(()=>{var oe;return(((oe=V==null?void 0:V.analysis)==null?void 0:oe.entries)??[]).filter(Qe=>Qe.framework===M).map(Qe=>({value:Qe.value,label:Qe.value,description:Qe.evidence}))},[M,(cn=V==null?void 0:V.analysis)==null?void 0:cn.entries]),jt=(((Zt=V==null?void 0:V.analysis)==null?void 0:Zt.questions)??[]).every(oe=>{var Qe;return!oe.required||!!((Qe=q[oe.id])!=null&&Qe.trim())}),Ae=twt(z),Ke=!!(V!=null&&V.canConfirm&&V.analysisRef&&!E&&!Ae&&(!TD.has(M)||F.trim())),Rt=!!(V!=null&&V.canAnswer&&V.analysisRef&&!E&&jt);async function sn(){if(!(!(V!=null&&V.analysisRef)||!Rt)){k("answer"),_("");try{const oe=await Ivt({taskId:V.id,analysisAttempt:V.analysisRef.attempt,analysisSha256:V.analysisRef.sha256,inputSha256:V.analysisRef.inputSha256,answers:q});p(Qe=>td(Qe,oe))}catch(oe){const Qe=await At(V.id);if(Qe&&Qe.state!=="needs_input")return;_(oe instanceof Error?oe.message:String(oe))}finally{k("")}}}async function nt(){if(!(!(V!=null&&V.analysisRef)||!Ke)){k("confirm"),_("");try{const oe=await Rvt({taskId:V.id,framework:M,entry:TD.has(M)?F.trim():void 0,appName:z.trim(),instruction:"",analysisAttempt:V.analysisRef.attempt,analysisSha256:V.analysisRef.sha256,inputSha256:V.analysisRef.inputSha256});p(Qe=>td(Qe,oe))}catch(oe){const Qe=await At(V.id);if(Qe&&Qe.state!=="analysis_ready")return;_(oe instanceof Error?oe.message:String(oe))}finally{k("")}}}async function pn(){if(!(!(V!=null&&V.canStop)||E)){k("stop"),_("");try{const oe=await Dvt(V.id);p(Qe=>td(Qe,oe)),_e(!1)}catch(oe){const Qe=await At(V.id);if(Qe&&!Qe.canStop){_e(!1);return}_(oe instanceof Error?oe.message:String(oe))}finally{k("")}}}async function ei(){if(!(!(V!=null&&V.artifact.downloadReady)||E)){k("download"),_("");try{await $vt(V.id,uT(V.sourceFileName))}catch(oe){_(oe instanceof Error?oe.message:String(oe))}finally{k("")}}}function Ft(){g(""),y(null),_(""),C(""),L(!1),be(null),Z(""),ue(!1),lt(!1),_e(!1)}const Ut=ge?{name:((si=V==null?void 0:V.confirmation)==null?void 0:si.app_name)||XW((V==null?void 0:V.sourceFileName)||"migration.zip"),files:[{path:"migration-result.json",content:`${JSON.stringify(ge,null,2)} -`}]}:null,Ce=ge?ge.environment.required.filter(cT).filter(eL).map(oe=>({key:oe,label:oe})):[],Ye=ge?[...ge.environment.required.filter(cT).filter(oe=>!eL(oe)).map(oe=>({key:oe,required:!0,comment:oe,placeholder:`请输入 ${oe}`})),...ge.environment.optional.filter(cT).map(oe=>({key:oe,required:!1,comment:oe,placeholder:`可选:${oe}`}))]:[];async function $t(oe,Qe,ct){if(!V||!ge)throw new Error("迁移产物尚未准备完成。");const wt=W&&W.mode!=="public"?{mode:W.mode,vpc_id:W.vpcId,subnet_ids:W.subnetIds,enable_shared_internet_access:W.enableSharedInternetAccess}:void 0;return cO(oe.name,oe.files,{region:Lt,projectName:"default",network:wt},{...ct,migrationTaskId:V.id,onStage:Qe})}if(ze&&Ut&&V&&ge)return o.jsx("div",{className:"migration-deployment",children:o.jsx(GC,{cloudProvider:e,project:Ut,agentName:Ut.name,onDeploy:$t,onAgentAdded:n,onDeploymentTaskChange:i,onDeploymentStarted:r,onDeploymentComplete:s,network:W,onNetworkChange:ne,deployRegion:Lt,onDeployRegionChange:We,deploymentEnv:Ye,requiredSecretEnv:Ce,deploymentEnvValues:de,onDeploymentEnvChange:(oe,Qe)=>xe(ct=>({...ct,[oe]:Qe})),deploymentTelemetry:{source:"migration",createMode:"migration",aiAssisted:!0},onBack:()=>lt(!1),backLabel:"返回迁移结果",deploymentPrimaryPane:o.jsxs("section",{className:"migration-deployment-summary",children:[o.jsx("strong",{children:"迁移产物"}),o.jsx("span",{children:V.sourceFileName}),o.jsxs("dl",{children:[o.jsxs("div",{children:[o.jsx("dt",{children:"迁移方式"}),o.jsx("dd",{children:ge.migration.framework})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"启动文件"}),o.jsx("dd",{children:ge.startup.module})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"文件数"}),o.jsx("dd",{children:ge.files.length})]})]})]})})});const mn=O,tn=E==="create"||E==="upload",mi=!V||V.canUpload,Ie=V?rwt(V,D):null;return o.jsxs(o.Fragment,{children:[o.jsxs("section",{className:"migration-workspace",children:[o.jsxs("aside",{className:"migration-history",children:[o.jsxs("header",{children:[o.jsx("button",{type:"button",className:"migration-icon-button",onClick:t,"aria-label":"返回添加 Agent",title:"返回",children:o.jsx(Bvt,{})}),o.jsx("h1",{children:"从存量迁移"})]}),o.jsxs("button",{type:"button",className:"migration-new-button",onClick:Ft,disabled:tn,children:[o.jsx(Fvt,{}),o.jsx("span",{children:"新建迁移"})]}),o.jsx("nav",{"aria-label":"迁移会话",children:w?o.jsx(Rn,{children:"正在读取迁移会话…"}):h.length===0?o.jsx("p",{className:"migration-history__empty",children:"暂无迁移会话"}):h.map(oe=>o.jsxs("button",{type:"button",className:oe.id===b?"is-active":"",disabled:tn,onClick:()=>{g(oe.id),_(""),C(""),L(!1)},children:[o.jsx("span",{children:uT(oe.sourceFileName)}),o.jsxs("small",{children:[o.jsx("span",{"data-state":oe.state,children:Kvt(oe.state)}),o.jsx("time",{children:iwt(oe.createdAt)})]})]},oe.id))})]}),o.jsxs("main",{className:"migration-main",children:[o.jsxs("header",{className:"migration-main__header",children:[o.jsxs("div",{children:[o.jsx("h2",{children:V?uT(V.sourceFileName):"迁移存量 Agent 项目"}),o.jsx("p",{children:V?_D(V):"上传本地项目 ZIP,Codex 将先进行只读分析,再由你确认迁移方式。"})]}),V?o.jsxs("div",{className:"migration-main__header-actions",children:[V!=null&&V.canStop?o.jsx("button",{type:"button",className:"migration-stop-button",onClick:()=>_e(!0),disabled:!!E,children:E==="stop"?"正在终止…":"终止迁移"}):null,Ie?o.jsxs("div",{className:"migration-ttl","aria-live":"off",children:[o.jsx("strong",{children:Ie.title}),o.jsx("small",{children:Ie.detail})]}):null]}):null]}),o.jsxs("div",{className:"migration-conversation",role:"log","aria-live":"polite",ref:Jt,onScroll:Ht,children:[!(d!=null&&d.enabled)&&!w?o.jsxs("div",{className:"migration-system-state is-error",role:"alert",children:[o.jsx("strong",{children:"迁移能力暂不可用"}),o.jsx("p",{children:(d==null?void 0:d.reason)||"Dev Sandbox 暂不可用,请联系管理员检查配置。"})]}):null,V?o.jsxs(o.Fragment,{children:[o.jsx("article",{className:"migration-turn is-user",children:o.jsxs("div",{className:"migration-user-message",children:[o.jsxs("span",{className:"migration-file-chip",children:[o.jsx(lT,{}),o.jsx("span",{title:V.sourceFileName,children:V.sourceFileName})]}),V.instruction?o.jsx("p",{children:V.instruction}):null]})}),o.jsxs("article",{className:"migration-turn is-assistant",children:[o.jsx("div",{className:"migration-assistant-mark",children:"AI"}),o.jsxs("div",{className:"migration-assistant-content",children:[E==="upload"?o.jsxs(o.Fragment,{children:[o.jsx(AD,{stage:"upload"}),o.jsx("p",{className:"migration-running-note",children:"ZIP 上传完成后将自动开始只读分析。"})]}):V.state==="analyzing"?o.jsxs(o.Fragment,{children:[o.jsx(AD,{stage:"analysis"}),o.jsx("p",{className:"migration-running-note",children:"Codex 正在识别框架、入口和迁移边界,不会执行实际迁移。"})]}):vp(V.state)?o.jsxs(o.Fragment,{children:[o.jsx(Rn,{children:_D(V)}),o.jsx("p",{className:"migration-running-note",children:"迁移执行中不能修改附件或迁移方式。你可以等待当前任务结束,或主动终止。"})]}):V.state==="needs_input"&&V.analysis?o.jsxs(o.Fragment,{children:[o.jsx("p",{children:V.analysis.summary}),o.jsx("p",{children:"只读分析已暂停。请仅回答下面列出的问题,提交后会在同一 迁移环境中重新分析,不会开始实际迁移。"}),(di=V.analysis.frameworks[0])!=null&&di.evidence.length?o.jsxs("details",{className:"migration-analysis__evidence",children:[o.jsx("summary",{children:"查看源码证据"}),o.jsx("ul",{children:V.analysis.frameworks.flatMap(oe=>oe.evidence.map(Qe=>o.jsxs("li",{children:[o.jsxs("code",{children:[Qe.path,":",Qe.line]}),o.jsx("span",{children:Qe.reason})]},`${oe.id}:${Qe.path}:${Qe.line}`)))})]}):null]}):V.state==="analysis_ready"&&V.analysis?o.jsxs(o.Fragment,{children:[o.jsx("p",{children:"只读分析已完成。请检查建议,并确认最终迁移方式。"}),o.jsx(lwt,{analysis:V.analysis})]}):V.state==="awaiting_upload"?o.jsx("p",{children:"迁移环境已创建,请重新选择本地 ZIP 继续上传。"}):V.state==="expired"?o.jsxs("div",{className:"migration-expired",children:[o.jsx("strong",{children:"迁移环境已过期"}),o.jsx("p",{children:"迁移内容和产物已无法预览、下载或部署。如已完成 Runtime 部署,可返回智能体页面继续使用。"})]}):V.state==="failed"?((Yi=V.error)==null?void 0:Yi.code)==="MIGRATION_ANALYSIS_UNSUPPORTED"&&V.analysis?o.jsxs("div",{className:"migration-system-state is-error",children:[o.jsx("strong",{children:"当前 ZIP 暂时无法迁移"}),o.jsx(Tu,{text:V.analysis.summary,allowRawHtml:!1}),V.analysis.warnings.length>0?o.jsx("ul",{children:V.analysis.warnings.map(oe=>o.jsx("li",{children:oe},oe))}):null,o.jsx("p",{children:"请按提示整理项目后,新建迁移并重新上传。"})]}):o.jsxs("div",{className:"migration-system-state is-error",children:[o.jsx("strong",{children:"迁移未完成"}),o.jsx("p",{children:V.message})]}):V.state==="cancelled"?o.jsx("p",{children:"当前迁移已终止。你可以新建迁移并重新上传项目。"}):o.jsx("p",{children:_D(V)}),HW(V)&&(pe||De!=null&&De.available||ye)?o.jsx(cwt,{activity:De,loading:pe,error:ye,analyzing:V.state==="analyzing"}):null]})]})]}):o.jsxs(o.Fragment,{children:[o.jsxs("article",{className:"migration-turn is-assistant",children:[o.jsx("div",{className:"migration-assistant-mark",children:"AI"}),o.jsxs("div",{children:[o.jsx("p",{children:"请提供本地项目 ZIP。上传后我会识别框架、入口和迁移边界, 并在执行实际迁移前请你确认迁移方式。"}),o.jsx("small",{children:"仅支持本地 ZIP,最大 50 MiB;迁移环境从创建起保留 1 小时。"})]})]}),E==="create"&&O?o.jsxs(o.Fragment,{children:[o.jsx("article",{className:"migration-turn is-user",children:o.jsx("div",{className:"migration-user-message",children:o.jsxs("span",{className:"migration-file-chip",children:[o.jsx(lT,{}),o.jsx("span",{title:O.name,children:O.name})]})})}),o.jsxs("article",{className:"migration-turn is-assistant",children:[o.jsx("div",{className:"migration-assistant-mark",children:"AI"}),o.jsxs("div",{className:"migration-assistant-content",children:[o.jsx(AD,{stage:"session"}),o.jsx(Rn,{as:"strong",children:"正在创建 Dev Sandbox"}),o.jsx("p",{className:"migration-running-note",children:"正在初始化迁移工作目录,并检查 AgentKit CLI、Codex 和迁移能力。环境就绪后将自动上传项目。"}),o.jsxs("small",{children:["已等待 ",nwt(Re)]})]})]})]}):null]}),(V==null?void 0:V.state)==="needs_input"&&V.analysis?o.jsxs("section",{className:"migration-confirmation","aria-label":"补充项目分析信息",children:[o.jsxs("div",{className:"migration-confirmation__heading",children:[o.jsx("strong",{children:"补充分析所需信息"}),o.jsx("span",{children:"附件保持锁定,提交后仅继续只读分析"})]}),V.analysis.questions.map(oe=>o.jsxs("label",{className:"migration-field",children:[o.jsxs("span",{children:[oe.prompt,oe.required?o.jsx("b",{"aria-hidden":"true",children:"*"}):null]}),o.jsx("textarea",{value:q[oe.id]||"",maxLength:4e3,required:oe.required,"aria-required":oe.required,onChange:Qe=>{const ct=Qe.currentTarget.value;le(wt=>({...wt,[oe.id]:ct}))},disabled:!!E})]},oe.id)),o.jsx("div",{className:"migration-confirmation__actions",children:o.jsx("button",{type:"button",className:"migration-primary-button",onClick:()=>void sn(),disabled:!Rt,children:E==="answer"?"正在继续分析…":"提交并继续分析"})})]}):null,(V==null?void 0:V.state)==="analysis_ready"&&V.analysis?o.jsxs("section",{className:"migration-confirmation","aria-label":"确认迁移方式",children:[o.jsxs("div",{className:"migration-confirmation__heading",children:[o.jsx("strong",{children:"确认迁移方式"}),o.jsx("span",{children:"确认后才会执行实际迁移"})]}),o.jsxs("div",{className:"migration-confirmation__grid",children:[o.jsx(Lm,{label:"迁移方式",value:M,options:((d==null?void 0:d.frameworks)??[]).map(oe=>({value:oe,label:dOe[oe]})),onChange:oe=>{var wt;const Qe=oe;U(Qe);const ct=(wt=V.analysis)==null?void 0:wt.entries.find(En=>En.framework===Qe);H((ct==null?void 0:ct.value)||"")},placeholder:"选择迁移方式",disabled:!!E}),o.jsxs("label",{className:"migration-field",children:[o.jsxs("span",{children:["Agent 名称",o.jsx("b",{"aria-hidden":"true",children:"*"})]}),o.jsx("input",{value:z,onChange:oe=>Q(oe.currentTarget.value),maxLength:63,required:!0,disabled:!!E,"aria-invalid":!!Ae,"aria-required":"true"}),Ae?o.jsx("small",{role:"alert",children:Ae}):null]}),TD.has(M)?bt.length>0?o.jsx(Lm,{label:"项目入口",value:F,options:bt,onChange:H,placeholder:"选择项目入口",disabled:!!E}):o.jsxs("label",{className:"migration-field",children:[o.jsxs("span",{children:["项目入口",o.jsx("b",{"aria-hidden":"true",children:"*"})]}),o.jsx("input",{value:F,onChange:oe=>H(oe.currentTarget.value),placeholder:"例如 agent.py:agent",maxLength:512,required:!0,disabled:!!E,"aria-required":"true"})]}):null]}),o.jsx("p",{className:"migration-running-note",children:"点击“确认并开始迁移”即确认上述迁移范围、排除项和关键假设。"}),o.jsx("div",{className:"migration-confirmation__actions",children:o.jsx("button",{type:"button",className:"migration-primary-button",onClick:()=>void nt(),disabled:!Ke,children:E==="confirm"?"正在启动迁移…":"确认并开始迁移"})})]}):null,V&&ewt(V.state)&&V.artifact.previewReady?o.jsxs("section",{className:"migration-result",children:[o.jsxs("header",{children:[o.jsxs("div",{children:[o.jsx("strong",{children:"迁移产物"}),o.jsx("span",{children:V.artifact.deployReady?"产物可预览、下载和部署。运行效果取决于源项目和部署环境变量;迁移环境过期后产物将无法访问。":"产物可预览和下载,但当前交付状态不支持部署;迁移环境过期后产物将无法访问。"})]}),o.jsxs("div",{className:"migration-result__actions",children:[o.jsxs("button",{type:"button",onClick:()=>void ei(),disabled:!V.artifact.downloadReady||!!E,children:[o.jsx(Qvt,{}),o.jsx("span",{children:E==="download"?"下载中…":"下载 ZIP"})]}),o.jsxs("button",{type:"button",className:"is-primary",onClick:()=>lt(!0),disabled:!V.artifact.deployReady||!ge,title:V.artifact.deployReady?"部署迁移产物":"当前交付状态不支持部署",children:[o.jsx(Uvt,{}),o.jsx("span",{children:"部署到 Runtime"})]})]})]}),ce?o.jsxs("div",{className:"migration-system-state is-error",role:"alert",children:[o.jsx("p",{children:ce}),J?o.jsx("button",{type:"button",className:"migration-retry-button",onClick:()=>{Z(""),ue(!1),Ne(oe=>oe+1)},children:"重新读取"}):null]}):ge?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"migration-result__summary",children:[o.jsxs("span",{children:[ge.files.length," 个文件"]}),o.jsxs("span",{children:["CLI ",ge.cli.version]}),o.jsxs("span",{children:["启动文件 ",ge.startup.module]}),o.jsx("span",{children:Jvt(ge.verification.status)})]}),o.jsx(uwt,{task:V,artifact:ge})]}):o.jsx(Rn,{children:"正在读取迁移产物…"})]}):null,N?o.jsxs("div",{className:"migration-inline-error",role:"alert",children:[o.jsx("span",{children:N}),R?o.jsx("button",{type:"button",onClick:()=>{V&&(C(""),L(!1),ED(V.id).then(oe=>p(Qe=>td(Qe,oe))).catch(oe=>{C(oe instanceof Error?oe.message:String(oe)),L(oe instanceof ao&&oe.retryable)}))},children:"刷新状态"}):null]}):null,T?o.jsxs("div",{className:"migration-inline-error",role:"alert",children:[o.jsx("span",{children:T}),o.jsx("button",{type:"button",onClick:()=>_(""),"aria-label":"关闭错误提示",children:o.jsx(zW,{})})]}):null]}),mi&&(d!=null&&d.enabled)?o.jsxs("div",{className:"migration-composer",children:[o.jsxs("div",{className:`migration-composer__box${v?" is-dragging":""}`,onDragEnter:oe=>{oe.preventDefault(),!tn&&x(!0)},onDragOver:oe=>{oe.preventDefault(),oe.dataTransfer.dropEffect=tn?"none":"copy"},onDragLeave:oe=>{oe.currentTarget.contains(oe.relatedTarget)||x(!1)},onDrop:oe=>{var Qe;oe.preventDefault(),x(!1),!tn&&ve((Qe=oe.dataTransfer.files)==null?void 0:Qe[0])},children:[o.jsx("div",{className:"migration-composer__content",children:mn?o.jsxs("div",{className:"migration-composer__file",children:[o.jsx(lT,{}),o.jsx("span",{children:mn.name}),o.jsx("small",{children:tL(mn.size)}),o.jsx("button",{type:"button",onClick:()=>y(null),"aria-label":"移除项目 ZIP",disabled:tn,children:o.jsx(zW,{})})]}):o.jsx("p",{children:V?"重新选择项目 ZIP":"选择或拖入本地项目 ZIP"})}),o.jsxs("div",{className:"migration-composer__actions",children:[o.jsxs("button",{type:"button",className:"migration-attach-button",onClick:()=>{var oe;return(oe=l.current)==null?void 0:oe.click()},disabled:tn,children:[o.jsx(zvt,{}),o.jsx("span",{children:O?"重新选择":"选择 ZIP"})]}),o.jsx("button",{type:"button",className:"migration-confirm-upload-button",onClick:()=>void(V?yt():Fe()),disabled:!O||tn,children:V?"继续上传":"开始迁移"})]}),o.jsx("input",{ref:l,type:"file",accept:".zip,application/zip",onChange:Ve,"aria-label":"选择本地项目 ZIP",disabled:tn})]}),o.jsx("p",{children:"迁移环境从创建完成起保留 1 小时,过期后产物无法预览、下载或部署。"})]}):null]})]}),Ue&&V?o.jsx(Bl,{title:"终止当前迁移?",description:"终止后,当前分析或迁移进程将停止,已执行的步骤不会继续。",confirmLabel:E==="stop"?"正在终止…":"终止迁移",variant:"danger",busy:E==="stop",onCancel:()=>_e(!1),onConfirm:()=>void pn()}):null]})}const fOe=1,fwt="MODEL_AGENT_API_KEY";function __(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function hwt(e){return __(e)&&typeof e.id=="string"&&typeof e.updatedAt=="number"&&__(e.draft)}function KC(e){return`veadk.agentDrafts.${encodeURIComponent(e)}`}function A_(e){const t=e.deployment,n=t==null?void 0:t.envValues,i=t?{...t,...n?{envValues:Object.fromEntries(Object.entries(n).filter(([r])=>r!==fwt))}:{}}:void 0;return{...e,...i?{deployment:i}:{},subAgents:e.subAgents.map(A_),...e.workflow?{workflow:{...e.workflow,nodes:e.workflow.nodes.map(r=>({...r,agent:A_(r.agent)}))}}:{}}}function pwt(e){var i;const t=WC(e),n={...((i=t.draft.deployment)==null?void 0:i.envValues)??{},...t.envValues};return!t.draft.deployment&&Object.keys(n).length===0?A_(t.draft):A_({...t.draft,deployment:{...t.draft.deployment??{feishuEnabled:!1},envValues:n}})}function hOe(e){return{...e,draft:pwt(e.draft)}}function mwt(e){const t=Array.isArray(e)?e:__(e)&&e.version===fOe?e.drafts:void 0;if(!Array.isArray(t)||!t.every(hwt))throw __(e)&&typeof e.version=="number"?new Error("本机草稿版本暂不受支持,请升级 Studio 后重试。"):new Error("本机草稿数据格式无效。");return t.map(hOe)}function gwt(e,t){if(!t)return[];const n=e.getItem(KC(t));if(!n)return[];try{return mwt(JSON.parse(n))}catch(i){throw i instanceof Error&&i.message.startsWith("本机草稿")?i:new Error("无法读取本机草稿,浏览器中的草稿数据可能已损坏。")}}function GW(e,t,n){if(!t)return;const i={version:fOe,drafts:n.map(hOe)};try{e.setItem(KC(t),JSON.stringify(i))}catch(r){throw r instanceof DOMException&&(r.name==="QuotaExceededError"||r.name==="NS_ERROR_DOM_QUOTA_REACHED")?new Error("浏览器存储空间不足,草稿未保存。请删除不需要的草稿或清理此站点的浏览器存储后重试。"):new Error("浏览器拒绝保存草稿,请检查站点存储权限后重试。")}}const bwt=/[;;]/;function Owt(e){const t=new Set;for(const n of e)for(const i of n.split(bwt)){const r=i.trim();r&&t.add(r)}return[...t]}function ywt(e){return[]}const xwt=3*60*1e3,vwt=3e3,wwt=10*60*1e3,Swt=45e3,C_="veadk.studio.pending-update",Z9="veadk.studio.update-handoff",YW=[{id:"permissions",label:"预检 OTA 所需权限"},{id:"resolving",label:"读取目标版本信息"},{id:"downloading",label:"下载并校验完整更新包"},{id:"preparing",label:"准备 VeFaaS Function 代码"},{id:"provisioning",label:"检查并补齐 Studio 云资源"},{id:"submitting",label:"提交 Function 更新"},{id:"publishing",label:"发布新 Revision 并重启服务"}],Ewt={permissions:"预检 OTA 权限",resolving:"读取版本信息",downloading:"下载更新包",preparing:"准备 Function 代码",provisioning:"补齐 Studio 云资源",submitting:"提交 Function 更新",publishing:"发布 Revision",checking:"检查更新",unknown:"未知阶段"};function kwt(e){return e<60?`${e} 秒`:`${Math.floor(e/60)} 分 ${e%60} 秒`}function Twt(e,t){return e===t?!0:/^\d{14}$/.test(e)&&/^\d{14}$/.test(t)&&e>t}function _wt(e){return!!(e!=null&&e.some(t=>t.includes("部署应用成功")||t.toLowerCase().includes("application deployed successfully")))}function Awt(){if(typeof window>"u")return null;const e=window.localStorage.getItem(C_);if(!e)return null;try{const t=JSON.parse(e);if(typeof t.targetVersion=="string"&&typeof t.startedAt=="number")return{targetVersion:t.targetVersion,startedAt:t.startedAt}}catch{}return window.localStorage.removeItem(C_),null}function CD(e,t){window.localStorage.setItem(C_,JSON.stringify({targetVersion:e,startedAt:t}))}function Ly(){window.localStorage.removeItem(C_)}function Cwt(){return typeof window>"u"?"":window.sessionStorage.getItem(Z9)??""}function Nwt(e){window.sessionStorage.setItem(Z9,e)}function WW(){window.sessionStorage.removeItem(Z9)}function ZW({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M19.2 8.3A8 8 0 1 0 20 13"}),o.jsx("path",{d:"M19.2 4.8v3.5h-3.5"}),o.jsx("path",{d:"M12 7.8v7.7"}),o.jsx("path",{d:"m9.2 12.7 2.8 2.8 2.8-2.8"})]})}function jwt(){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:"m4 6 4 4 4-4"})})}function Rwt(){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})})}function nL(){return o.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[o.jsx("path",{d:"M6.25 3.75H3.5v8.75h8.75V9.75"}),o.jsx("path",{d:"M8.5 3.5h4v4"}),o.jsx("path",{d:"m7.25 8.75 5-5"})]})}function KW({href:e}){return o.jsxs("div",{className:"studio-update-permission-notice",role:"status",children:[o.jsxs("p",{children:["无法读取 VeFaaS 发布日志。Function 角色缺少",o.jsx("code",{children:"vefaas:GetApplicationRevisionLog"})," 权限,更新会继续。"]}),o.jsxs("a",{href:e,target:"_blank",rel:"noreferrer",children:["前往 IAM 控制台配置权限",o.jsx(nL,{})]})]})}function JW({lines:e,phase:t,copyState:n,onCopy:i}){const r=m.useRef(null),s=m.useRef(!0),[a,l]=m.useState(e);return m.useEffect(()=>{e.length&&l(e)},[e]),m.useEffect(()=>{const c=r.current;c&&s.current&&(c.scrollTop=c.scrollHeight)},[a]),o.jsxs("section",{className:"studio-update-live-log","aria-label":"部署进度",children:[o.jsxs("div",{className:"studio-update-log-header",children:[o.jsxs("span",{children:[o.jsx("i",{className:`is-${t}`,"aria-hidden":!0}),"部署进度",o.jsx("small",{children:t==="active"?"实时":t==="complete"?"已完成":"已停止"})]}),o.jsx("button",{type:"button",onClick:()=>i(a),disabled:!a.length,children:n==="copied"?"已复制":n==="error"?"复制失败":"复制日志"})]}),o.jsx("div",{ref:r,className:"studio-update-log-lines",role:"log","aria-live":"off","aria-busy":t==="active",tabIndex:0,onScroll:c=>{const u=c.currentTarget;s.current=u.scrollHeight-u.scrollTop-u.clientHeight<24},children:a.length?a.map((c,u)=>o.jsx("div",{children:c},`${u}-${c}`)):o.jsx("p",{children:t==="active"?"等待 VeFaaS 返回更新日志…":"本次更新未返回发布日志"})})]})}function Iwt({variant:e="default"}){var U,F;const[t]=m.useState(Awt),[n,i]=m.useState(null),[r,s]=m.useState(t?"submitting":"idle"),[a,l]=m.useState(!!t),[c,u]=m.useState(""),[d,f]=m.useState(null),[h,p]=m.useState((t==null?void 0:t.targetVersion)??""),[b,g]=m.useState(!1),[O,y]=m.useState("idle"),[v,x]=m.useState(0),w=m.useRef(null),S=m.useRef((t==null?void 0:t.targetVersion)??""),E=m.useRef((t==null?void 0:t.startedAt)??0),k=m.useRef(Cwt()),T=m.useRef(0);m.useEffect(()=>{if(!b)return;const H=Q=>{var q;Q.target instanceof Node&&!((q=w.current)!=null&&q.contains(Q.target))&&g(!1)},z=Q=>{Q.key==="Escape"&&g(!1)};return window.addEventListener("pointerdown",H),window.addEventListener("keydown",z),()=>{window.removeEventListener("pointerdown",H),window.removeEventListener("keydown",z)}},[b]);const _=m.useCallback(async()=>{const H=await Sie(S.current||void 0,E.current||void 0);return i(H),H},[]);if(m.useEffect(()=>{let H=!0;const z=()=>{_().catch(()=>{H&&i(q=>q)})};z();const Q=window.setInterval(z,xwt);return()=>{H=!1,window.clearInterval(Q)}},[_]),m.useEffect(()=>{if(r!=="submitting")return;const H=window.setInterval(()=>{_().then(z=>{const Q=S.current;if(Q&&Twt(z.currentVersion,Q)||!Q&&!z.available&&z.latestVersion){const q=Date.now();if(T.current||(T.current=q),z.updateLogsVisible!==!1&&!_wt(z.updateLogs)&&q-T.currentwwt&&(window.clearInterval(H),Ly(),s("error"),u("等待 VeFaaS 发布超时,请稍后重新检查版本"))}).catch(()=>{})},vwt);return()=>window.clearInterval(H)},[r,_]),m.useEffect(()=>{r!=="idle"||(n==null?void 0:n.state)!=="updating"||(S.current=n.targetVersion,E.current=n.startedAt||Date.now(),CD(n.targetVersion,E.current),p(n.targetVersion),s("submitting"))},[r,n]),m.useEffect(()=>{if(r!=="submitting"){x(0);return}const H=()=>{const Q=E.current||Date.now();x(Math.max(0,Math.floor((Date.now()-Q)/1e3)))};H();const z=window.setInterval(H,1e3);return()=>window.clearInterval(z)},[r]),!(n!=null&&n.enabled)||!(n.available||n.state==="updating"||r!=="idle"))return null;const C=n.releases??[],R=h||((U=C[0])==null?void 0:U.version)||n.latestVersion,L=C.find(H=>H.version===R),D=Owt((L==null?void 0:L.changelog)??[]),$=async()=>{WW(),k.current="",S.current=R,E.current=Date.now(),s("checking-permissions"),u(""),y("idle");try{const H=await Eie();if(f(H),!H.ready){Ly(),s("permission");return}f(null),CD(R,E.current),s("submitting");const z=await kie(R);S.current=z.version,CD(z.version,E.current),u("更新已提交,正在等待 VeFaaS 发布新版本")}catch(H){if(H instanceof TypeError){u("连接已切换,正在确认新版本状态");return}Ly(),s("error");const z=H instanceof Error?H.message:"Studio 更新失败";try{const Q=await _();u(Q.message||z)}catch{u(z)}}},j=(F=n.updateLogs)!=null&&F.length?n.updateLogs:(n.errorLog||n.progressMessage||c).split(` +`)}}).sort((t,n)=>Number(t.long)-Number(n.long))}function Jbe({appName:e,testRunId:t,sessionId:n,endTimeMs:i,onClose:r,title:s="调用链路观测"}){const[a,l]=m.useState(null),[c,u]=m.useState(""),[d,f]=m.useState(new Set),[h,p]=m.useState(null);m.useEffect(()=>{l(null),u("");let S;if(t)S=Vie(t,n);else if(e)S=t2(e,n,i);else{u("缺少调用链路来源");return}S.then(E=>{l(E),p(E.length?E.reduce((k,T)=>k.start_time<=T.start_time?k:T).span_id:null)}).catch(E=>u(E instanceof Error?E.message:String(E)))},[e,i,n,t]);const{rootNodes:b,min:g,total:O}=m.useMemo(()=>Nxt(a??[]),[a]),y=m.useMemo(()=>jxt(b,d),[b,d]),v=(a==null?void 0:a.find(S=>S.span_id===h))??null,x=O/1e6,w=S=>f(E=>{const k=new Set(E);return k.has(S)?k.delete(S):k.add(S),k});return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"drawer-scrim",onClick:r}),o.jsxs("aside",{className:"drawer drawer--trace",children:[o.jsxs("header",{className:"drawer-head",children:[o.jsxs("div",{children:[o.jsx("div",{className:"drawer-title",children:s}),o.jsx("div",{className:"drawer-sub",children:a?`${a.length} 个调用 · ${x.toFixed(1)} ms`:"加载中"})]}),o.jsx("button",{className:"drawer-close",onClick:r,"aria-label":"关闭",children:o.jsx(Ga,{className:"icon"})})]}),a==null&&!c&&o.jsxs("div",{className:"drawer-loading",children:[o.jsx(ri,{className:"icon spin"})," 加载调用链路…"]}),c&&o.jsx("div",{className:"error",children:c}),a&&a.length===0&&o.jsx("div",{className:"drawer-empty",children:"该会话暂无调用链路(可能尚未产生调用)。"}),y.length>0&&o.jsxs("div",{className:"trace-split",children:[o.jsx("div",{className:"trace-tree scroll",children:y.map(S=>{const E=S.span,k=(E.start_time-g)/O*100,T=Math.max((E.end_time-E.start_time)/O*100,.6),_=S.children.length>0;return o.jsxs("button",{className:`trace-row ${h===E.span_id?"active":""}`,onClick:()=>p(E.span_id),children:[o.jsxs("span",{className:"trace-label",style:{paddingLeft:S.depth*14},children:[o.jsx("span",{className:`trace-caret ${_?"":"hidden"} ${d.has(E.span_id)?"":"open"}`,onClick:N=>{N.stopPropagation(),_&&w(E.span_id)},children:o.jsx(sO,{className:"chev"})}),o.jsx("span",{className:"trace-dot",style:{background:bD(E.name)}}),o.jsx("span",{className:"trace-name",title:E.name,children:E.name})]}),o.jsx("span",{className:"trace-dur",children:RW(E.end_time-E.start_time)}),o.jsx("span",{className:"trace-track",children:o.jsx("span",{className:"trace-bar",style:{left:`${k}%`,width:`${T}%`,background:bD(E.name)}})})]},E.span_id)})}),o.jsx("div",{className:"trace-detail scroll",children:v?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"td-title",children:v.name}),o.jsxs("div",{className:"td-dur",children:[o.jsx("span",{className:"td-dot",style:{background:bD(v.name)}}),RW(v.end_time-v.start_time)]}),o.jsx("div",{className:"td-section",children:"属性"}),o.jsx("div",{className:"td-props",children:IW(v).filter(S=>!S.long).map(S=>o.jsxs("div",{className:"td-prop",children:[o.jsx("span",{className:"td-key",children:S.key}),o.jsx("span",{className:"td-val",children:S.value})]},S.key))}),IW(v).filter(S=>S.long).map(S=>o.jsxs("div",{className:"td-block",children:[o.jsx("div",{className:"td-section",children:S.key}),o.jsx("pre",{className:"td-pre",children:S.value})]},S.key))]}):o.jsx("div",{className:"drawer-empty",children:"选择左侧的一个调用查看详情"})})]})]})]})}const Ixt=m.lazy(()=>Id(()=>import("../chunks/MarkdownPromptEditor-CnKbw7U5.js"),__vite__mapDeps([0,1]))),W3="veadk.generatedAgentTestRuns",DW=4;function X9(){if(typeof window>"u")return[];try{const e=JSON.parse(window.sessionStorage.getItem(W3)??"[]");return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}catch{return[]}}function eOe(e){if(typeof window>"u")return;const t=Array.from(new Set(e)).slice(-20);try{t.length?window.sessionStorage.setItem(W3,JSON.stringify(t)):window.sessionStorage.removeItem(W3)}catch{}}function Dxt(e){eOe([...X9(),e])}function Py(e){eOe(X9().filter(t=>t!==e))}function Pxt(e,t,n="text/plain"){const i=URL.createObjectURL(new Blob([t],{type:`${n};charset=utf-8`})),r=document.createElement("a");r.href=i,r.download=e,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(i)}const Mxt=[{id:"type",label:"Agent 类型",hint:"选择 Agent 类型",icon:W2e,required:!0},{id:"basic",label:"基本信息",hint:"名称、描述与系统提示词",icon:ju,required:!0},{id:"model",label:"模型配置",hint:"模型与服务(可选)",icon:I2e},{id:"tools",label:"工具",hint:"可调用的能力",icon:J2e},{id:"skills",label:"技能",hint:"声明式技能",icon:Ex},{id:"knowledge",label:"知识库",hint:"外部知识检索",icon:xk},{id:"memory",label:"记忆",hint:"短期与长期记忆",icon:_ne},{id:"subagents",label:"子 Agent",hint:"嵌套协作",icon:A2e},{id:"review",label:"完成",hint:"预览并创建",icon:Y2e}];function Lxt({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"M9 7.15v9.7a1.15 1.15 0 0 0 1.78.96l7.2-4.85a1.15 1.15 0 0 0 0-1.92l-7.2-4.85A1.15 1.15 0 0 0 9 7.15Z"}),o.jsx("path",{d:"M5.75 8.25v7.5",opacity:"0.8"}),o.jsx("path",{d:"M3 10v4",opacity:"0.45"}),o.jsx("path",{d:"M17.9 5.25v2.2M19 6.35h-2.2",strokeWidth:"1.55"})]})}function PW({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"M4.75 7.25h14.5"}),o.jsx("path",{d:"M9.1 4.75h5.8l.75 2.5h-7.3l.75-2.5Z"}),o.jsx("path",{d:"m6.75 7.25.75 12h9l.75-12"}),o.jsx("path",{d:"M10 10.25v5.75M14 10.25v5.75"})]})}function G9({className:e}){return o.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:o.jsx("path",{d:"m7 9 5 5 5-5"})})}function Y9({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"M18.25 8.2A7.1 7.1 0 0 0 6.1 6.65L4.5 8.25"}),o.jsx("path",{d:"M4.5 4.75v3.5H8"}),o.jsx("path",{d:"M5.75 15.8A7.1 7.1 0 0 0 17.9 17.35l1.6-1.6"}),o.jsx("path",{d:"M19.5 19.25v-3.5H16"})]})}const $xt={llm:"智能体",sequential:"分步协作",parallel:"同时处理",loop:"循环执行",a2a:"远程智能体"},MW={REGISTRY_SPACE_ID:"registrySpaceId",REGISTRY_TOP_K:"registryTopK",REGISTRY_REGION:"registryRegion",REGISTRY_ENDPOINT:"registryEndpoint"},tOe="REGISTRY_SPACE_ID",Bxt=gae.filter(e=>e.key!==tOe);function nOe(e,t){var i,r,s;if(!(e!=null&&e.enabled))return{};const n={REGISTRY_SPACE_ID:e.registrySpaceId??""};return t.includeDefaults?(n.REGISTRY_TOP_K=((i=e.registryTopK)==null?void 0:i.trim())||yc.topK,n.REGISTRY_REGION=((r=e.registryRegion)==null?void 0:r.trim())||yc.region,n.REGISTRY_ENDPOINT=((s=e.registryEndpoint)==null?void 0:s.trim())||yc.endpoint):(n.REGISTRY_TOP_K=e.registryTopK??"",n.REGISTRY_REGION=e.registryRegion??"",n.REGISTRY_ENDPOINT=e.registryEndpoint??""),n}function KE(e,t){return t!=="byteplus"?e:e.map(n=>n.key==="MODEL_EMBEDDING_NAME"?{...n,placeholder:U_e(t)}:n.key==="MODEL_EMBEDDING_API_BASE"?{...n,placeholder:Ec(t)}:n.key==="MODEL_IMAGE_NAME"?{...n,placeholder:V_e(t)}:n.key==="MODEL_EDIT_NAME"?{...n,placeholder:q_e(t)}:n.key==="MODEL_VIDEO_NAME"?{...n,placeholder:H_e(t)}:n.key==="MODEL_IMAGE_API_BASE"||n.key==="MODEL_EDIT_API_BASE"||n.key==="MODEL_VIDEO_API_BASE"?{...n,placeholder:Ec(t)}:n)}function Qxt({items:e,selected:t,onToggle:n,scrollRows:i}){return o.jsx("div",{className:`cw-checklist ${i?"cw-checklist-tools":""}`,style:i?{"--cw-checklist-max-height":`${i*40+(i-1)*8}px`}:void 0,children:e.map(r=>{const s=t.includes(r.id);return o.jsx(q9,{id:`cw-check-${r.id}`,className:`cw-check ${s?"is-on":""}`,checked:s,onCheckedChange:a=>{a!==s&&n(r.id)},label:o.jsx("span",{className:"cw-check-text",children:o.jsx("span",{className:"cw-check-title",children:r.label})})},r.id)})})}function OD({options:e,value:t,onChange:n}){return o.jsx("div",{className:"cw-segmented",children:e.map(i=>{var s;const r=(t??((s=e[0])==null?void 0:s.id))===i.id;return o.jsx("button",{type:"button",className:`cw-seg ${r?"is-on":""}`,onClick:()=>n(i.id),"aria-pressed":r,children:o.jsx("span",{className:"cw-seg-title",children:i.label})},i.id)})})}function Fxt(e){return/(SECRET|PASSWORD|KEY|TOKEN)$/.test(e)}function My({env:e,values:t,onChange:n,renderAfterField:i}){const r=e.filter(s=>!s.hidden);return r.length===0?o.jsx("p",{className:"cw-env-empty",children:"此后端无需额外运行参数。"}):o.jsx("div",{className:"cw-env-fields",children:r.map(s=>{const a=t[s.key]??s.defaultValue??"",l=V9(s,t),c=`cw-env-${s.key}`;return o.jsxs(m.Fragment,{children:[o.jsxs("label",{className:"cw-env-field",htmlFor:c,children:[o.jsxs("span",{className:"cw-env-field-head",children:[o.jsxs("span",{className:"cw-env-field-title",children:[o.jsxs("span",{className:"cw-env-field-label",children:[s.comment||s.key,s.required&&o.jsx("span",{className:"cw-req",children:"*"})]}),s.help&&o.jsxs("span",{className:"cw-env-help",tabIndex:0,"data-help":s.help,"aria-label":`${s.comment||s.key}说明:${s.help}`,children:["?",o.jsx("span",{className:"cw-env-help-popover",role:"tooltip",children:s.help})]}),s.link&&o.jsx("a",{className:"cw-env-link",href:s.link.url,target:"_blank",rel:"noopener noreferrer",title:`打开 OpenViking ${s.link.label}`,"aria-label":`打开 OpenViking ${s.link.label}`,onClick:u=>u.stopPropagation(),children:o.jsx(Ob,{"aria-hidden":"true"})})]}),s.comment&&o.jsx("code",{title:s.key,children:s.key})]}),s.multiline||s.format==="json"?o.jsx("textarea",{id:c,className:"cw-input cw-env-textarea",value:a,placeholder:s.placeholder||"请输入参数值",autoComplete:"off",spellCheck:!1,"aria-invalid":!!l,onChange:u=>n(s.key,u.currentTarget.value)}):o.jsx("input",{id:c,className:"cw-input",type:Fxt(s.key)?"password":"text",value:a,placeholder:s.placeholder||"请输入参数值",autoComplete:"off","aria-invalid":!!l,onChange:u=>n(s.key,u.currentTarget.value)}),l&&o.jsx("span",{className:"cw-env-error",children:l})]}),i==null?void 0:i(s)]},s.key)})})}const yD="默认值:留空;生成项目时使用 Agent 名自动生成,例如 my_agent_kb。未配置 DATABASE_OPENVIKING_TARGET_URI 时,默认 URI 拼接为 viking://user/{知识库归属 ID,未填则 default}/resources/{资源索引}/;如果填写了 DATABASE_OPENVIKING_TARGET_URI,则直接使用该完整 URI。";function Uxt({value:e,onChange:t}){const n="cw-openviking-knowledge-index";return o.jsxs("label",{className:"cw-env-field",htmlFor:n,children:[o.jsx("span",{className:"cw-env-field-head",children:o.jsxs("span",{className:"cw-env-field-title",children:[o.jsx("span",{className:"cw-env-field-label",children:"OpenViking 资源索引"}),o.jsxs("span",{className:"cw-env-help",tabIndex:0,"data-help":yD,"aria-label":`OpenViking 资源索引说明:${yD}`,children:["?",o.jsx("span",{className:"cw-env-help-popover",role:"tooltip",children:yD})]})]})}),o.jsx("input",{id:n,className:"cw-input",value:e,placeholder:"",autoComplete:"off",onChange:i=>t(i.currentTarget.value)})]})}function xD(e){return e.name.trim()||"未命名智能体中心"}function LW(e){const t=e.name.trim()||e.id||"未命名知识库",n=[e.sourceLabel,e.projectName].filter(Boolean);return n.length?`${t} · ${n.join(" · ")}`:t}function $W(e){return e.name.trim()||e.id||"未命名记忆库"}function zxt(e){return e.available?"已开通":e.lifecycleStatus==="Retiring"?"即将下线":e.activationState&&e.activationState!=="Available"?"未开通":"暂不可用"}function Vxt(e){return e.available||e.lifecycleStatus==="Retiring"}function BW({selectedLabel:e,placeholder:t,disabled:n,triggerAriaLabel:i,menuAriaLabel:r,searchAriaLabel:s,searchValue:a,searchPlaceholder:l,onSearchChange:c,empty:u,emptyLabel:d,triggerClassName:f="",optionsClassName:h="",renderOptions:p}){const[b,g]=m.useState(!1),O=m.useRef(null),y=m.useRef(null),v=m.useRef(null),x=m.useId(),[w,S]=m.useState(null);m.useEffect(()=>{if(!b)return;const T=N=>{var R;const C=N.target;C instanceof Node&&O.current&&!O.current.contains(C)&&!((R=v.current)!=null&&R.contains(C))&&g(!1)},_=N=>{var C;N.key==="Escape"&&(g(!1),(C=y.current)==null||C.focus())};return window.addEventListener("pointerdown",T),window.addEventListener("keydown",_),()=>{window.removeEventListener("pointerdown",T),window.removeEventListener("keydown",_)}},[b]),m.useEffect(()=>{if(!b){S(null);return}const T=()=>{const _=y.current;if(!_)return;const N=_.getBoundingClientRect(),C=12,R=6,L=window.innerHeight-N.bottom-C-R,D=N.top-C-R,$=L<300&&D>L,j=Math.max(96,$?D:L),P=Math.min(N.width,window.innerWidth-C*2),M=Math.min(Math.max(C,N.left),window.innerWidth-C-P);S({...$?{bottom:window.innerHeight-N.top+R}:{top:N.bottom+R},left:M,width:P,maxHeight:j,opensUp:$})};return T(),window.addEventListener("resize",T),window.addEventListener("scroll",T,!0),()=>{window.removeEventListener("resize",T),window.removeEventListener("scroll",T,!0)}},[b]);const E=()=>g(!1),k=T=>{var R,L;if(!["ArrowDown","ArrowUp","Home","End"].includes(T.key))return;const _=Array.from(((R=v.current)==null?void 0:R.querySelectorAll('[role="option"]:not(:disabled)'))??[]);if(!_.length)return;T.preventDefault();const N=_.findIndex(D=>D===document.activeElement),C=T.key==="Home"?0:T.key==="End"?_.length-1:T.key==="ArrowUp"?N<=0?_.length-1:N-1:N<0||N===_.length-1?0:N+1;(L=_[C])==null||L.focus()};return o.jsxs("div",{className:`cw-a2a-space-select-wrap cw-catalog-select${b?" is-open":""}`,ref:O,children:[o.jsxs("button",{ref:y,type:"button",className:`cw-a2a-space-trigger ${f}`.trim(),disabled:n,"aria-haspopup":"listbox","aria-controls":b?x:void 0,"aria-expanded":b,"aria-label":i,title:e,onClick:()=>{b||c(""),g(T=>!T)},children:[o.jsx("span",{className:t?"is-placeholder":void 0,children:e}),o.jsx(G9,{className:"cw-a2a-space-trigger-icon"})]}),b&&w&&ir.createPortal(o.jsxs("div",{ref:v,className:`cw-a2a-space-menu cw-catalog-menu cw-catalog-menu-portal${w.opensUp?" is-up":""}`,style:{top:w.top??"auto",bottom:w.bottom??"auto",left:w.left,width:w.width,maxHeight:w.maxHeight},onKeyDown:k,children:[o.jsx("div",{className:"cw-picker-search",children:o.jsx("input",{className:"cw-picker-search-input",type:"search",value:a,autoFocus:!0,autoComplete:"off","aria-label":s,placeholder:l,onChange:T=>c(T.currentTarget.value)})}),o.jsxs("div",{id:x,className:`cw-picker-options cw-catalog-options ${h}`.trim(),role:"listbox","aria-label":r,children:[p(E),u&&o.jsx("div",{className:"cw-picker-empty",children:d})]})]}),document.body)]})}function qxt({value:e,cloudProvider:t,apiKeyId:n,apiKeyName:i,onApiKeyChange:r,onChange:s}){const[a,l]=m.useState([]),[c,u]=m.useState(!1),[d,f]=m.useState([]),[h,p]=m.useState(null),[b,g]=m.useState(!1),[O,y]=m.useState(null),[v,x]=m.useState(0),[w,S]=m.useState(0),[E,k]=m.useState(""),[T,_]=m.useState("");m.useEffect(()=>{const Q=new AbortController;return u(!0),y(null),$ne(Q.signal,v>0).then(q=>{if(Q.signal.aborted)return;l(q.keys);const le=q.keys.find(ge=>ge.id===n)??q.keys.find(ge=>ge.name===i)??q.keys.find(ge=>ge.id===q.defaultKeyId)??q.keys[0];le&&r(le)}).catch(q=>{Q.signal.aborted||y(q instanceof Error?q.message:"加载 Ark API Key 失败")}).finally(()=>{Q.signal.aborted||u(!1)}),()=>Q.abort()},[t,v]),m.useEffect(()=>{if(!n){f([]);return}const Q=new AbortController;return g(!0),y(null),p(null),r6({signal:Q.signal,apiKeyId:n,refresh:v>0||w>0}).then(q=>{Q.signal.aborted||(f(q.models),p(n))}).catch(q=>{Q.signal.aborted||y(q instanceof Error?q.message:"加载模型列表失败")}).finally(()=>{Q.signal.aborted||g(!1)}),()=>Q.abort()},[n,t,w,v]);const N=e.trim(),C=h===n,R=C?d:[],L=a.find(Q=>Q.id===n),D=L?L.name:n?"当前 API Key":c?"正在加载 API Key…":a.length===0?"暂无可用 API Key":"请选择 API Key",$=m.useMemo(()=>a.filter(Q=>hm(E,[Q.name])),[E,a]),j=R.find(Q=>Q.id===N),P=b&&!C?"正在刷新模型列表…":j?`${j.displayName} (${j.id})`:N||"请选择模型",M=m.useMemo(()=>R.filter(Q=>hm(T,[Q.displayName,Q.id,Q.name,Q.vendorName,Q.activationState,Q.lifecycleStatus])),[T,R]),U=!!(N&&!j&&hm(T,[N])),F=R.filter(Q=>Q.available).length,H=t==="byteplus"?"BytePlus ModelArk":"火山方舟",z=F_e(t);return o.jsxs("div",{className:"cw-a2a-space-picker cw-model-picker",children:[o.jsxs("div",{className:"cw-model-picker-stack",children:[o.jsxs("div",{className:"cw-model-picker-field",children:[o.jsx("span",{className:"cw-model-picker-label",children:"API Key"}),o.jsx(BW,{selectedLabel:D,placeholder:!n,disabled:c,triggerAriaLabel:"选择 API Key",menuAriaLabel:"API Key 列表",searchAriaLabel:"搜索 API Key",searchValue:E,searchPlaceholder:"搜索 API Key 名称",onSearchChange:k,empty:$.length===0,emptyLabel:"未找到匹配的 API Key",optionsClassName:"cw-model-key-options",renderOptions:Q=>$.map(q=>{const le=q.id===n;return o.jsx("button",{type:"button",role:"option","aria-selected":le,className:`cw-a2a-space-option cw-model-key-option ${le?"is-selected":""}`,title:q.name,onClick:()=>{S(ge=>ge+1),r(q),Q()},children:o.jsx("span",{children:q.name})},q.id)})})]}),o.jsxs("div",{className:"cw-model-picker-field",children:[o.jsx("span",{className:"cw-model-picker-label",children:"模型"}),o.jsxs("div",{className:"cw-a2a-space-row",children:[o.jsx(BW,{selectedLabel:P,placeholder:!N,disabled:b,triggerAriaLabel:`选择${H}模型`,menuAriaLabel:`${H}模型`,searchAriaLabel:"搜索模型",searchValue:T,searchPlaceholder:"搜索名称、Model ID 或服务商",onSearchChange:_,empty:!U&&M.length===0,emptyLabel:"未找到匹配的模型",triggerClassName:"cw-model-trigger",optionsClassName:"cw-model-options",renderOptions:Q=>o.jsxs(o.Fragment,{children:[U&&o.jsxs("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option cw-model-option is-selected",onClick:()=>{s(N),Q()},children:[o.jsxs("span",{className:"cw-model-option-copy",children:[o.jsx("strong",{children:"当前配置"}),o.jsx("small",{children:N})]}),o.jsx("span",{className:"cw-model-status is-unknown",children:"状态未知"})]}),M.map(q=>{const le=q.id===N,ge=Vxt(q);return!ge&&q.activationState!=="Available"?o.jsxs("button",{type:"button",role:"option","aria-selected":!1,className:"cw-a2a-space-option cw-model-option is-activation-link",title:`前往${H}开通 ${q.displayName}`,onClick:()=>{window.open(z,"_blank","noopener,noreferrer"),Q()},children:[o.jsxs("span",{className:"cw-model-option-copy",children:[o.jsx("strong",{children:q.displayName}),o.jsxs("small",{children:[q.id,q.vendorName?` · ${q.vendorName}`:""]})]}),o.jsx("span",{className:"cw-model-status is-unavailable",children:"未开通,去开通"})]},q.id):o.jsxs("button",{type:"button",role:"option","aria-selected":le,disabled:!ge,className:`cw-a2a-space-option cw-model-option ${le?"is-selected":""}`,title:`${q.displayName} (${q.id})`,onClick:()=>{s(q.id),Q()},children:[o.jsxs("span",{className:"cw-model-option-copy",children:[o.jsx("strong",{children:q.displayName}),o.jsxs("small",{children:[q.id,q.vendorName?` · ${q.vendorName}`:""]})]}),o.jsx("span",{className:`cw-model-status ${q.available?"is-available":q.lifecycleStatus==="Retiring"?"is-retiring":"is-unavailable"}`,children:zxt(q)})]},q.id)})]})}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新 API Key 和模型列表","aria-label":"刷新 API Key 和模型列表",disabled:b||c,onClick:()=>x(Q=>Q+1),children:b||c?o.jsx(ri,{className:"cw-i cw-i-sm cw-spin"}):o.jsx(Y9,{className:"cw-i cw-i-sm"})})]})]})]}),O?o.jsxs("div",{className:"cw-banner cw-a2a-space-error",role:"alert",children:[o.jsx(ju,{className:"cw-i"}),o.jsx("span",{children:O})]}):b?o.jsxs("span",{className:"cw-help cw-a2a-space-status","aria-live":"polite",children:[o.jsx(ri,{className:"cw-i cw-i-sm cw-spin"}),"正在加载模型列表…"]}):R.length===0?o.jsx("span",{className:"cw-help",children:"当前账号下暂无可配置模型。"}):o.jsxs("span",{className:"cw-help",children:["已加载 ",R.length," 个模型,其中 ",F," 个已开通。"]})]})}function Hxt({value:e,region:t,invalid:n,onChange:i}){const r=t.trim()||yc.region,[s,a]=m.useState([]),[l,c]=m.useState(!1),[u,d]=m.useState(null),[f,h]=m.useState(0),[p,b]=m.useState(!1),[g,O]=m.useState(""),y=m.useRef(null);m.useEffect(()=>{let _=!1;return c(!0),d(null),kxt({region:r}).then(N=>{_||a(N)}).catch(N=>{_||(a([]),d(N instanceof Error?N.message:"加载失败"))}).finally(()=>{_||c(!1)}),()=>{_=!0}},[r,f]);const v=!e||s.some(_=>_.id===e.trim()),x=s.find(_=>_.id===e.trim()),w=x?xD(x):e&&!v?"已选择的智能体中心":"请选择智能体中心",S=l&&s.length===0,E=m.useMemo(()=>s.filter(_=>hm(g,[xD(_),_.id,_.projectName])),[g,s]),k=!!(e&&!v&&hm(g,["已选择的智能体中心",e]));m.useEffect(()=>{if(!p)return;const _=C=>{const R=C.target;R instanceof Node&&y.current&&!y.current.contains(R)&&b(!1)},N=C=>{C.key==="Escape"&&b(!1)};return window.addEventListener("pointerdown",_),window.addEventListener("keydown",N),()=>{window.removeEventListener("pointerdown",_),window.removeEventListener("keydown",N)}},[p]);const T=_=>{i(_),b(!1)};return o.jsxs("div",{className:`cw-a2a-space-picker${p?" is-open":""}`,ref:y,children:[o.jsxs("div",{className:"cw-a2a-space-row",children:[o.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[o.jsxs("button",{type:"button",className:`cw-a2a-space-trigger ${n?"is-error":""}`,disabled:S,"aria-haspopup":"listbox","aria-expanded":p,"aria-label":"选择 AgentKit 智能体中心",onClick:()=>{O(""),b(_=>!_)},children:[o.jsx("span",{className:e?void 0:"is-placeholder",children:w}),o.jsx(G9,{className:"cw-a2a-space-trigger-icon"})]}),p&&o.jsxs("div",{className:"cw-a2a-space-menu",children:[o.jsx("div",{className:"cw-picker-search",children:o.jsx("input",{className:"cw-picker-search-input",type:"search",value:g,autoFocus:!0,autoComplete:"off","aria-label":"搜索 AgentKit 智能体中心",placeholder:"搜索名称或 ID",onChange:_=>O(_.currentTarget.value)})}),o.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":"AgentKit 智能体中心",children:[k&&o.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>T(e),children:"已选择的智能体中心"}),E.map(_=>{const N=xD(_),C=_.id===e;return o.jsx("button",{type:"button",role:"option","aria-selected":C,className:`cw-a2a-space-option ${C?"is-selected":""}`,title:`${N} (${_.id})`,onClick:()=>T(_.id),children:N},_.id)}),!k&&E.length===0&&o.jsx("div",{className:"cw-picker-empty",children:"未找到匹配的智能体中心"})]})]})]}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新智能体中心列表","aria-label":"刷新智能体中心列表",disabled:l,onClick:()=>h(_=>_+1),children:l?o.jsx(ri,{className:"cw-i cw-i-sm cw-spin"}):o.jsx(Y9,{className:"cw-i cw-i-sm"})})]}),u?o.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[o.jsx(ju,{className:"cw-i"}),o.jsx("span",{children:u})]}):l?o.jsxs("span",{className:"cw-help cw-a2a-space-status",children:[o.jsx(ri,{className:"cw-i cw-i-sm cw-spin"}),"正在加载 AgentKit 智能体中心…"]}):s.length===0?o.jsx("span",{className:"cw-help",children:"此账号下暂无 AgentKit 智能体中心。"}):o.jsxs("span",{className:"cw-help",children:["已加载 ",s.length," 个智能体中心,列表仅展示中心名称。"]})]})}function iOe({value:e,items:t,loading:n,error:i,pickerClassName:r,selectLabel:s,searchLabel:a,listLabel:l,placeholder:c,emptyMessage:u,loadedMessage:d,refreshLabel:f,noMatchesMessage:h,getLabel:p,getSearchFields:b,getKey:g,getOptionIds:O,makeUnknownItem:y,onChange:v,onRefresh:x}){const[w,S]=m.useState(!1),[E,k]=m.useState(""),T=m.useRef(null),_=!e||t.some(j=>j.id===e.trim()),N=t.find(j=>j.id===e.trim()),C=N?p(N):e&&!_?e:c,R=n&&t.length===0,L=m.useMemo(()=>t.filter(j=>hm(E,b(j))),[b,t,E]),D=!!(e&&!_&&hm(E,[e]));m.useEffect(()=>{if(!w)return;const j=M=>{const U=M.target;U instanceof Node&&T.current&&!T.current.contains(U)&&S(!1)},P=M=>{M.key==="Escape"&&S(!1)};return window.addEventListener("pointerdown",j),window.addEventListener("keydown",P),()=>{window.removeEventListener("pointerdown",j),window.removeEventListener("keydown",P)}},[w]);const $=j=>{v(j),S(!1)};return n&&t.length===0?o.jsxs("span",{className:"cw-viking-kb-inline-status",role:"status",children:[o.jsx(ri,{className:"cw-i cw-i-sm cw-spin"}),"正在加载…"]}):o.jsxs("div",{className:`cw-a2a-space-picker ${r}${w?" is-open":""}`,ref:T,children:[o.jsxs("div",{className:"cw-a2a-space-row",children:[o.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[o.jsxs("button",{type:"button",className:"cw-a2a-space-trigger",disabled:R,"aria-haspopup":"listbox","aria-expanded":w,"aria-label":s,onClick:()=>{k(""),S(j=>!j)},children:[o.jsx("span",{className:e?void 0:"is-placeholder",children:C}),o.jsx(G9,{className:"cw-a2a-space-trigger-icon"})]}),w&&o.jsxs("div",{className:"cw-a2a-space-menu cw-viking-kb-menu",children:[o.jsx("div",{className:"cw-picker-search",children:o.jsx("input",{className:"cw-picker-search-input",type:"search",value:E,autoFocus:!0,autoComplete:"off","aria-label":a,placeholder:"搜索名称或 ID",onChange:j=>k(j.currentTarget.value)})}),o.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":l,children:[D&&o.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>$(y(e)),children:e}),L.map(j=>{const P=p(j),M=j.id===e,U=O(j).filter(Boolean).join(" / ");return o.jsx("button",{type:"button",role:"option","aria-selected":M,className:`cw-a2a-space-option ${M?"is-selected":""}`,title:U?`${P} (${U})`:P,onClick:()=>$(j),children:P},g(j))}),!D&&L.length===0&&o.jsx("div",{className:"cw-picker-empty",children:h})]})]})]}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh cw-viking-kb-refresh",title:f,"aria-label":f,disabled:n,onClick:x,children:n?o.jsx(ri,{className:"cw-i cw-i-sm cw-spin"}):o.jsx(Y9,{className:"cw-i cw-i-sm"})})]}),i?o.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[o.jsx(ju,{className:"cw-i"}),o.jsx("span",{children:i})]}):t.length===0?o.jsx("span",{className:"cw-help",children:u}):o.jsx("span",{className:"cw-help",children:d(t.length)})]})}function Xxt({value:e,onChange:t}){const[n,i]=m.useState([]),[r,s]=m.useState(!1),[a,l]=m.useState(null),[c,u]=m.useState(0);return m.useEffect(()=>{let d=!1;return s(!0),l(null),_xt().then(f=>{d||i(f)}).catch(f=>{d||(i([]),l(f instanceof Error?f.message:"加载失败"))}).finally(()=>{d||s(!1)}),()=>{d=!0}},[c]),o.jsx(iOe,{value:e,items:n,loading:r,error:a,pickerClassName:"cw-viking-kb-picker",selectLabel:"选择 VikingDB 知识库",searchLabel:"搜索 VikingDB 知识库",listLabel:"VikingDB 知识库",placeholder:"请选择 VikingDB 知识库",emptyMessage:"此账号下暂无 VikingDB 知识库。",loadedMessage:d=>`已加载 ${d} 个知识库,选择的知识库会用于当前 Agent。`,refreshLabel:"刷新知识库列表",noMatchesMessage:"未找到匹配的知识库",getLabel:LW,getSearchFields:d=>[LW(d),d.id,d.description,d.projectName,d.resourceId,d.agentkitKnowledgeId,d.providerKnowledgeId,d.sourceLabel],getKey:d=>d.id,getOptionIds:d=>[d.id,d.resourceId,d.agentkitKnowledgeId,d.providerKnowledgeId],makeUnknownItem:d=>({id:d,name:d,description:"",projectName:"",region:"",sourceKind:"knowledge",sourceLabel:"Knowledge Engine",resourceId:""}),onChange:t,onRefresh:()=>u(d=>d+1)})}function Gxt({value:e,onChange:t}){const[n,i]=m.useState([]),[r,s]=m.useState(!1),[a,l]=m.useState(null),[c,u]=m.useState(0);return m.useEffect(()=>{let d=!1;return s(!0),l(null),Cxt().then(f=>{d||i(f)}).catch(f=>{d||(i([]),l(f instanceof Error?f.message:"加载失败"))}).finally(()=>{d||s(!1)}),()=>{d=!0}},[c]),o.jsx(iOe,{value:e,items:n,loading:r,error:a,pickerClassName:"cw-viking-memory-picker",selectLabel:"选择 VikingDB 记忆库",searchLabel:"搜索 VikingDB 记忆库",listLabel:"VikingDB 记忆库",placeholder:"请选择 VikingDB 记忆库,不选择则自动创建",emptyMessage:"此账号下暂无 VikingDB 记忆库,未选择时会自动创建。",loadedMessage:d=>`已加载 ${d} 个记忆库;不选择时会自动创建。`,refreshLabel:"刷新记忆库列表",noMatchesMessage:"未找到匹配的记忆库",getLabel:$W,getSearchFields:d=>[$W(d),d.id,d.description,d.projectName,d.region,d.resourceId,...d.memoryTypes??[]],getKey:d=>`${d.projectName}:${d.region}:${d.id}`,getOptionIds:d=>[d.id,d.resourceId],makeUnknownItem:d=>({id:d,name:d,description:"",projectName:"",region:"",resourceId:"",memoryTypes:[]}),onChange:t,onRefresh:()=>u(d=>d+1)})}function Yxt({tools:e,onChange:t}){const n=(s,a)=>t(e.map((l,c)=>c===s?{...l,...a}:l)),i=s=>t(e.filter((a,l)=>l!==s)),r=()=>t([...e,{name:"",transport:"http",url:""}]);return o.jsxs("div",{className:"cw-mcp",children:[e.length>0&&o.jsx("div",{className:"cw-mcp-list",children:o.jsx(mh,{initial:!1,children:e.map((s,a)=>o.jsxs(Gr.div,{className:"cw-mcp-row",layout:!0,initial:{opacity:0,y:6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.16},children:[o.jsxs("div",{className:"cw-mcp-rowhead",children:[o.jsxs("div",{className:"cw-mcp-transport",children:[o.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${s.transport==="http"?"is-on":""}`,onClick:()=>n(a,{transport:"http"}),"aria-pressed":s.transport==="http",children:o.jsx("span",{className:"cw-seg-title",children:"HTTP"})}),o.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${s.transport==="stdio"?"is-on":""}`,onClick:()=>n(a,{transport:"stdio"}),"aria-pressed":s.transport==="stdio",children:o.jsx("span",{className:"cw-seg-title",children:"stdio"})})]}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger",onClick:()=>i(a),"aria-label":"移除 MCP 工具",children:o.jsx(Ah,{className:"cw-i cw-i-sm"})})]}),o.jsx("input",{className:"cw-input",value:s.name,placeholder:"名称(用于命名,可留空)",onChange:l=>n(a,{name:l.target.value})}),s.transport==="http"?o.jsxs(o.Fragment,{children:[o.jsx("input",{className:"cw-input",value:s.url??"",placeholder:"MCP 服务地址(StreamableHTTP)",onChange:l=>n(a,{url:l.target.value})}),W1t(s.url??"")&&o.jsxs("p",{className:"cw-mcp-warning",children:[o.jsx(ju,{"aria-hidden":"true"}),o.jsx("span",{children:"当前地址不是以 /mcp 结尾,请确认它是实际的 MCP Endpoint。Studio 会保留该地址,不会自动补充路径。"})]}),o.jsx("input",{className:"cw-input",value:G1t(s),placeholder:"Bearer Token(可选)",onChange:l=>t(e.map((c,u)=>u===a?Y1t(c,l.target.value):c))})]}):o.jsxs(o.Fragment,{children:[o.jsx("input",{className:"cw-input",value:s.command??"",placeholder:"启动命令,例如 npx",onChange:l=>n(a,{command:l.target.value})}),o.jsx("input",{className:"cw-input",value:(s.args??[]).join(" "),placeholder:"参数(用空格分隔),例如 -y @playwright/mcp@latest",onChange:l=>n(a,{args:l.target.value.split(/\s+/).filter(Boolean)})}),o.jsx("p",{className:"cw-mcp-note",children:"stdio MCP 暂不参与调试运行;点击“去部署”时会完整保留这项配置并生成对应代码。"})]})]},a))})}),o.jsxs("button",{type:"button",className:"cw-add-sub",onClick:r,children:[o.jsx(Va,{className:"cw-i"}),"添加 MCP 工具"]})]})}function rOe({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M5.5 7.5h10.75a2 2 0 0 1 2 2v7.75a2 2 0 0 1-2 2H5.5a2 2 0 0 1-2-2V9.5a2 2 0 0 1 2-2Z"}),o.jsx("path",{d:"M7 4.75h9.5a2 2 0 0 1 2 2",opacity:".58"}),o.jsx("path",{d:"m11 10.25.72 1.48 1.63.24-1.18 1.15.28 1.62-1.45-.77-1.45.77.28-1.62-1.18-1.15 1.63-.24.72-1.48Z"}),o.jsx("path",{d:"M19.25 11.25h1.5M20 10.5V12",opacity:".72"})]})}function Wxt({s:e,onRemove:t}){let n=Ex,i="火山 Find Skill 技能广场";return e.source==="local"?(n=G4,i="本地"):e.source==="skillspace"&&(n=rOe,i="AgentKit Skills 中心"),o.jsxs(Gr.div,{className:"cw-selected-skill-row",layout:!0,initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.16},children:[o.jsx("span",{className:"cw-selected-skill-icon","aria-hidden":!0,children:o.jsx(n,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:"cw-selected-skill-meta",children:[o.jsx("span",{className:"cw-selected-skill-name",children:e.name}),o.jsxs("span",{className:"cw-selected-skill-detail",children:[i,e.description?` · ${Cv(e.description)}`:""]})]}),o.jsx("button",{type:"button",className:"cw-selected-skill-remove",onClick:t,"aria-label":`移除 ${e.name}`,title:`移除 ${e.name}`,children:o.jsx(Ga,{className:"cw-i cw-i-sm"})})]},`${e.source}:${e.folder}:${e.skillId||e.slug||""}:${e.version||""}`)}const vD=[{id:"local",label:"本地文件",icon:G4},{id:"skillspace",label:"AgentKit Skills 中心",icon:rOe},{id:"skillhub",label:"火山 Find Skill 技能广场",icon:aA}];function Zxt({selected:e,onChange:t,cloudProvider:n}){const[i,r]=m.useState("local"),[s,a]=m.useState(!1),l=vD.findIndex(u=>u.id===i),c=u=>t(e.filter(d=>wD(d)!==u));return m.useEffect(()=>{if(!s)return;const u=d=>{d.key==="Escape"&&a(!1)};return window.addEventListener("keydown",u),()=>window.removeEventListener("keydown",u)},[s]),o.jsxs("div",{className:"cw-skillspane",children:[o.jsxs("button",{type:"button",className:"cw-skill-add","aria-haspopup":"dialog",onClick:()=>a(!0),children:[o.jsx("span",{className:"cw-skill-add-icon","aria-hidden":!0,children:o.jsx(Va,{className:"cw-i"})}),o.jsx("span",{children:"添加 Skill"})]}),e.length>0&&o.jsxs("div",{className:"cw-skill-selected",children:[o.jsxs("span",{className:"cw-skill-selected-label",children:["已加入技能 · ",e.length]}),o.jsx("div",{className:"cw-selected-skill-list",children:o.jsx(mh,{initial:!1,children:e.map(u=>o.jsx(Wxt,{s:u,onRemove:()=>c(wD(u))},wD(u)))})})]}),o.jsx(mh,{children:s&&o.jsx(Gr.div,{className:"cw-skill-dialog-backdrop",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.16},onMouseDown:u=>{u.target===u.currentTarget&&a(!1)},children:o.jsxs(Gr.div,{className:"cw-skill-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"cw-skill-dialog-title",initial:{opacity:0,y:10,scale:.985},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:6,scale:.99},transition:{duration:.18,ease:"easeOut"},children:[o.jsxs("div",{className:"cw-skill-dialog-head",children:[o.jsx("h3",{id:"cw-skill-dialog-title",children:"添加 Skill"}),o.jsx("button",{type:"button",className:"cw-skill-dialog-close","aria-label":"关闭添加 Skill",onClick:()=>a(!1),children:o.jsx(Ga,{className:"cw-i"})})]}),o.jsxs("div",{className:"cw-skill-dialog-body",children:[o.jsxs("div",{className:"cw-skill-sourcetabs",role:"tablist",style:{"--cw-skill-tab-slider-width":`calc((100% - 16px) / ${vD.length})`,"--cw-active-skill-tab-offset":`calc(${l*100}% + ${l*4}px)`},children:[o.jsx("span",{className:"cw-skill-tab-slider","aria-hidden":!0}),vD.map(({id:u,label:d,icon:f})=>o.jsxs("button",{type:"button",role:"tab",id:`cw-skill-tab-${u}`,"aria-controls":"cw-skill-tabpanel","aria-selected":i===u,className:`cw-skill-pickertab ${i===u?"is-on":""}`,onClick:()=>r(u),children:[o.jsx(f,{className:"cw-i cw-i-sm"}),d]},u))]}),o.jsxs("div",{id:"cw-skill-tabpanel",className:"cw-skill-tabbody",role:"tabpanel","aria-labelledby":`cw-skill-tab-${i}`,children:[i==="skillhub"&&o.jsx(txt,{selected:e,onChange:t}),i==="local"&&o.jsx(fxt,{selected:e,onChange:t}),i==="skillspace"&&o.jsx(hxt,{selected:e,onChange:t,cloudProvider:n})]})]})]})})})]})}function wD(e){return e.source==="skillhub"?`hub:${e.namespace}/${e.slug}`:e.source==="local"?`local:${e.folder}`:`ss:${e.skillSpaceId}/${e.skillId}/${e.version||""}`}function JE({checked:e,onChange:t,title:n,desc:i,showDescription:r=!1}){return o.jsxs("button",{type:"button",className:`cw-toggle ${e?"is-on":""}`,onClick:()=>t(!e),"aria-pressed":e,children:[o.jsxs("span",{className:"cw-toggle-text",children:[o.jsx("span",{className:"cw-toggle-title",children:n}),r&&o.jsx("span",{className:"cw-toggle-help",children:i})]}),o.jsx("span",{className:"cw-switch","aria-hidden":!0,children:o.jsx(Gr.span,{className:"cw-switch-knob",layout:!0,transition:{type:"spring",stiffness:520,damping:34}})})]})}function Kxt(e,t){var i;let n=e;for(const r of t)if(n=(i=n.subAgents)==null?void 0:i[r],!n)return!1;return!0}function ek(e,t){let n=e;for(const i of t)n=n.subAgents[i];return n}function Pw(e,t,n){if(t.length===0)return n(e);const[i,...r]=t,s=e.subAgents.slice();return s[i]=Pw(s[i],r,n),{...e,subAgents:s}}function Jxt(e,t,n="volcengine"){return Pw(e,t,i=>({...i,subAgents:[...i.subAgents,nl(n)]}))}function evt(e,t,n,i="volcengine"){return Pw(e,t,r=>{const s=r.subAgents.slice();return s.splice(n,0,nl(i)),{...r,subAgents:s}})}function tvt(e,t){if(t.length===0)return e;const n=t.slice(0,-1),i=t[t.length-1];return Pw(e,n,r=>({...r,subAgents:r.subAgents.filter((s,a)=>a!==i)}))}const Z3=e=>!YC(e.agentType),QW=3;function nvt(e,t,n=!1){var r;if(YC(e.agentType))return n?"远程 Agent 只能作为子 Agent":(r=e.a2aRegistry)!=null&&r.registrySpaceId.trim()?null:"缺少 AgentKit 智能体中心";const i=Av(e.name);return i||(t.has(e.name)?"Agent 名称在当前结构中必须唯一":e.description.trim().length===0?"缺少描述":Rbe(e.agentType)?e.subAgents.length===0?"缺少子 Agent":null:e.instruction.trim().length===0?"缺少系统提示词":null)}function sOe(e,t,n=[]){const i=[],r=YC(e.agentType),s=nvt(e,t,n.length===0);return s&&i.push({path:n,name:r?"远程 Agent":e.name.trim()||"未命名",typeLabel:jbe(e.agentType).label,problem:s}),Z3(e)&&e.subAgents.forEach((a,l)=>i.push(...sOe(a,t,[...n,l]))),i}function ivt(e){return`${e.typeLabel}至少需要添加一个子 Agent 后才能调试或发布。`}function aOe(e){return 1+e.subAgents.reduce((t,n)=>t+aOe(n),0)}function oOe(e){const t=WC(e),n=[],i={...t.envValues},r=t.draft.cloudProvider??"volcengine",s=Amt(t.draft).map(tx);let a=!1,l="";for(const d of xbe(t.draft,Ec(r))){const f=[{key:d.apiKeyKey,required:!0,comment:d.label}];d.providerKey&&(f.push({key:d.providerKey,required:!0}),i[d.providerKey]=d.provider),d.apiBaseKey&&(f.push({key:d.apiBaseKey,required:!0}),i[d.apiBaseKey]=d.apiBase),n.push({env:f})}const c=d=>{var f,h,p,b;d.agentType==="llm"&&FO(d,r)==="ark"&&(a=!0,l||(l=(d.modelName??"").trim()));for(const g of d.builtinTools??[]){const O=pO.find(y=>y.id===g);O&&n.push({env:KE(O.env,r)})}for(const g of d.mcpTools??[])g.authTokenEnv&&n.push({env:[{key:g.authTokenEnv,required:!1,comment:`${g.name.trim()||"MCP"} Bearer Token`}]});if((f=d.a2aRegistry)!=null&&f.enabled&&(n.push({env:gae}),Object.assign(i,nOe(d.a2aRegistry,{includeDefaults:!0}))),d.memory.shortTerm&&n.push({env:KE(((h=IP.find(g=>g.id===(d.shortTermBackend??"local")))==null?void 0:h.env)??[],r)}),d.memory.longTerm&&n.push({env:KE(((p=DP.find(g=>g.id===(d.longTermBackend??"local")))==null?void 0:p.env)??[],r)}),d.knowledgebase&&n.push({env:KE(((b=PP.find(g=>g.id===(d.knowledgebaseBackend??bh)))==null?void 0:b.env)??[],r)}),d.tracing)for(const g of d.tracingExporters??[]){const O=SLe.find(y=>y.id===g);O&&n.push({env:O.env,enableFlag:O.enableFlag})}d.subAgents.forEach(c)};if(c(t.draft),a){n.push({env:[{key:"MODEL_AGENT_PROVIDER",required:!0},{key:"MODEL_AGENT_API_BASE",required:!0},{key:"MODEL_AGENT_API_KEY",required:!0,comment:"Ark API Key",placeholder:"由所选 API Key 注入",secret:!0,readOnly:!0,serverManaged:!0,requiredBy:s}]}),i.MODEL_AGENT_PROVIDER="openai",i.MODEL_AGENT_API_BASE=Ec(r);const d=l||ym(r);i.MODEL_AGENT_NAME=d,i.MODEL_NAME=d}N9(t.draft).includes("mcp_resilience")&&n.push({env:[{key:"MCP_URLS",required:!0,comment:"MCP 统一网关地址",placeholder:"https://example.com/mcp",requiredBy:[tx("mcp_resilience")]},{key:"MCP_API_KEY",required:!0,comment:"MCP 统一网关 API Key",secret:!0,requiredBy:[tx("mcp_resilience")]}]});const u=kbe(n);return{specs:u.specs,fixedValues:{...u.fixedValues,...i}}}function rvt(e,t){const n=i=>(i??"").trim().replace(/\/+$/,"");return n(e)===n(t)}function svt(e,t,n){const i=(e??"").trim();return!i||i===ym(t)?!0:i===ym(n)?!1:n==="byteplus"&&i.includes("doubao-")}function Up(e,t){const n=e.cloudProvider??"volcengine",i=FO(e,n),r=e.subAgents.map(u=>Up(u,t)),s=i==="ark"&&svt(e.modelName,n,t)?ym(t):e.modelName,l=rvt(e.modelApiBase,Ec(n))||t==="byteplus"&&(e.modelApiBase??"").includes("volces.com")?Ec(t):e.modelApiBase;return e.cloudProvider!==t||s!==e.modelName||l!==e.modelApiBase||r.some((u,d)=>u!==e.subAgents[d])?{...e,cloudProvider:t,modelName:s,modelApiBase:l,subAgents:r}:e}function avt(e,t){var l;const n=Up(e,t),i=vbe(n,Ec(t)),r=new Set(i.map(({key:c})=>c)),s=((l=n.deployment)==null?void 0:l.envValues)??{},a=Object.fromEntries(Object.entries(s).filter(([c,u])=>r.has(c)&&!!u.trim()));return Object.keys(a).length===0?{draft:n,customModelSecretValues:a}:{draft:{...n,deployment:{...n.deployment??{feishuEnabled:!1},envValues:Object.fromEntries(Object.entries(s).filter(([c])=>!r.has(c)))}},customModelSecretValues:a}}function lOe(e){var i,r,s;const t=WC(e).draft;return{...Ebe(t,t.cloudProvider??"volcengine"),deployment:{feishuEnabled:!!((i=e.deployment)!=null&&i.feishuEnabled),modelApiKeyId:((r=e.deployment)==null?void 0:r.modelApiKeyId)??"",modelApiKeyName:((s=e.deployment)==null?void 0:s.modelApiKeyName)??""}}}function K3(e){var n;const t=(n=e.modelName)==null?void 0:n.trim();if(t)return t;for(const i of e.subAgents){const r=K3(i);if(r)return r}return""}function cOe(e,t={}){var r,s,a,l;const n=oOe(e),i={...((r=e.deployment)==null?void 0:r.envValues)??{},...t,...n.fixedValues};return{...lOe(e),deployment:{feishuEnabled:!!((s=e.deployment)!=null&&s.feishuEnabled),modelApiKeyId:((a=e.deployment)==null?void 0:a.modelApiKeyId)??"",modelApiKeyName:((l=e.deployment)==null?void 0:l.modelApiKeyName)??"",envValues:Object.fromEntries(Tbe(n.specs,i).map(({key:c,value:u})=>[c,u]))}}}function ovt(e,t={}){return JSON.stringify(cOe(e,t))}function T_(e,t){return JSON.stringify({draftSnapshot:e,modelName:t.modelName,description:t.description,instruction:t.instruction})}function _0(e){return JSON.stringify({modelName:e.modelName.trim(),description:e.description.trim(),instruction:e.instruction.trim()})}function lvt({enabled:e,disabledReason:t,variants:n,draftSnapshot:i,input:r,onInput:s,onSend:a,onStartVariant:l,onUseVariant:c,onAddVariant:u,onRemoveVariant:d,onToggleConfig:f,onCompleteConfig:h,onConfigChange:p,onOpenTrace:b}){const g=n.filter(v=>v.phase!=="ready"?!1:v.runtimeSnapshot===T_(i,v)),O=n.some(v=>v.phase==="sending"),y=g.length>0&&!O;return o.jsxs("section",{className:"cw-ab-workspace","aria-label":"A/B 调试工作台",children:[o.jsx("div",{className:"cw-ab-stage",children:e?o.jsx("div",{className:"cw-ab-grid",style:{"--cw-ab-column-count":n.length},children:n.map((v,x)=>{const w=v.modelName.trim(),S=v.description.trim(),E=v.instruction.trim(),k=_0(v),T=!!(w&&S&&E&&n.findIndex(M=>_0(M)===k)!==x),_=!w||!S||!E||T,N=!!(v.runtimeSnapshot&&v.runtimeSnapshot!==T_(i,v)),C=v.phase==="starting",R=v.phase==="ready"&&!N,L=C||v.phase==="sending",D=R&&v.phase!=="sending"&&v.messages.some(M=>M.role==="assistant"),$=L||v.configOpen||_,j=w?S?E?T?"该配置与已有测试组相同":"":"请填写系统提示词":"请填写描述":"请先选择模型",P=C?"正在启动":N?"应用配置并重启":R||v.phase==="error"?"重新启动环境":"启动环境";return o.jsx("article",{className:"cw-ab-card",children:o.jsxs("div",{className:`cw-ab-card-inner${v.configOpen?" is-flipped":""}`,children:[o.jsxs("section",{className:"cw-ab-card-face cw-ab-card-front","aria-hidden":v.configOpen,children:[o.jsxs("header",{className:"cw-ab-card-head",children:[o.jsxs("div",{className:"cw-ab-card-title",children:[o.jsx("strong",{children:v.name}),o.jsx("span",{children:v.modelName||"默认模型"})]}),o.jsxs("div",{className:"cw-ab-card-actions",children:[o.jsx("button",{type:"button",className:"cw-ab-config-trigger",disabled:v.configOpen||L,onClick:()=>f(v.id),children:"测试配置"}),v.id!=="baseline"&&o.jsx("button",{type:"button",className:"cw-ab-remove","aria-label":`删除${v.name}`,disabled:v.configOpen||L,onClick:()=>d(v.id),children:o.jsx(PW,{className:"cw-i"})})]})]}),o.jsx("div",{className:"cw-ab-conversation",children:v.error?o.jsx(Tv,{message:v.error,className:"cw-debug-error-detail",defaultExpanded:!0}):C?o.jsxs("div",{className:"cw-ab-empty cw-ab-starting",children:[o.jsx(ri,{className:"cw-i cw-spin"}),o.jsx("span",{children:"正在创建独立测试环境"})]}):N?o.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:o.jsx("span",{children:"配置已变更,请重新启动此环境"})}):v.messages.length===0?o.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:R?o.jsxs(o.Fragment,{children:[o.jsx("strong",{className:"cw-ab-ready-title",children:"已就绪"}),o.jsx("span",{className:"cw-ab-launch-hint",children:"可在下方输入测试消息"})]}):o.jsx("span",{className:"cw-ab-launch-hint",children:j||"启动环境后即可加入本轮测试"})}):v.messages.map((M,U)=>o.jsx("div",{className:`cw-debug-msg cw-debug-msg-${M.role}`,children:o.jsx("div",{className:"cw-debug-content",children:M.role==="user"?M.content:M.error?o.jsx(Tv,{message:M.error,className:"cw-debug-msg-error",defaultExpanded:!0}):M.blocks&&M.blocks.length>0?o.jsx(dC,{blocks:M.blocks,onAction:()=>{}}):M.content?M.content:U===v.messages.length-1&&v.phase==="sending"?o.jsx(Yde,{}):null})},U))}),o.jsxs("footer",{className:"cw-ab-deploy-footer",children:[o.jsx("button",{type:"button",className:"cw-ab-trace",disabled:!D,title:D?`查看${v.name}调用链路`:"完成一次调试后可查看调用链路",onClick:()=>b(v.id),children:"调用链路"}),o.jsxs("button",{type:"button",className:"cw-ab-start cw-ab-footer-start",disabled:$,title:j||void 0,onClick:()=>l(v.id),children:[R||N||v.phase==="error"?o.jsx(Cne,{className:"cw-i"}):o.jsx(Lxt,{className:"cw-i cw-debug-run-icon"}),P]}),o.jsx("button",{type:"button",className:"cw-ab-deploy",disabled:L||!w,onClick:()=>c(v.id),children:"使用该配置"})]})]}),o.jsxs("section",{className:"cw-ab-card-face cw-ab-card-back","aria-hidden":!v.configOpen,children:[o.jsxs("header",{className:"cw-ab-config-head",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"测试配置"}),o.jsx("span",{children:v.name})]}),o.jsxs("div",{className:"cw-ab-config-head-actions",children:[v.id!=="baseline"&&o.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger cw-ab-config-remove","aria-label":`删除${v.name}`,title:"删除配置组",disabled:L,onClick:()=>d(v.id),children:o.jsx(PW,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:`cw-ab-config-done-wrap${j?" is-disabled":""}`,tabIndex:j?0:void 0,children:[o.jsx("button",{type:"button",className:"cw-ab-config-done",disabled:!v.configOpen||_,onClick:()=>h(v.id),children:v.id==="baseline"?"完成配置":"完成并启动"}),j&&o.jsx("span",{className:"cw-ab-config-done-tip",role:"tooltip",children:j})]})]})]}),o.jsxs("div",{className:"cw-ab-config",children:[o.jsxs("label",{children:[o.jsx("span",{children:"模型"}),o.jsx("input",{value:v.modelName,placeholder:"使用 Agent 当前模型",disabled:!v.configOpen,onChange:M=>p(v.id,"modelName",M.target.value)})]}),o.jsxs("label",{children:[o.jsx("span",{children:"描述"}),o.jsx("textarea",{rows:2,value:v.description,disabled:!v.configOpen,onChange:M=>p(v.id,"description",M.target.value)})]}),o.jsxs("label",{children:[o.jsx("span",{children:"系统提示词"}),o.jsx("textarea",{rows:5,value:v.instruction,disabled:!v.configOpen,onChange:M=>p(v.id,"instruction",M.target.value)})]}),o.jsx("p",{children:"设置完成后返回正面,再启动当前测试环境。"})]})]})]})},v.id)})}):o.jsx("div",{className:"cw-debug-empty",children:t})}),o.jsxs("div",{className:"cw-ab-composer",children:[o.jsxs("div",{className:"cw-debug-composerbox",children:[o.jsx("textarea",{className:"cw-debug-input",rows:1,value:r,placeholder:y?"输入测试消息,将发送到所有已启动测试组...":"请先启动至少一个测试组",disabled:!y,onChange:v=>s(v.target.value),onKeyDown:v=>{qC(v.nativeEvent)||v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),a())}}),o.jsx("button",{type:"button",className:"cw-debug-send",title:"发送",disabled:!y||!r.trim(),onClick:a,children:O?o.jsx(ri,{className:"cw-i cw-spin"}):o.jsx(_2e,{className:"cw-i"})})]}),e&&n.length<3&&o.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft cw-ab-add",onClick:u,children:[o.jsx(Va,{className:"cw-i"}),"添加对照组"]})]})]})}function cvt({profile:e,optimizations:t,unavailableMessage:n,onProfileChange:i,onOptimizationChange:r}){return o.jsx("section",{className:"cw-optimize-workspace","aria-label":"智能体优化选项",children:o.jsxs("div",{className:"cw-optimize-panel",children:[n?o.jsxs("div",{className:"cw-banner",role:"alert",children:[o.jsx(ju,{className:"cw-i"}),o.jsx("span",{children:n})]}):null,o.jsxs("fieldset",{className:"cw-optimize-section",children:[o.jsx("legend",{children:"优化场景"}),o.jsx(Zp,{className:"cw-optimize-profile-options","aria-label":"优化场景",value:e,onChange:i,children:C9.map(s=>o.jsx("div",{className:`cw-optimize-profile-option${e===s.id?" is-on":""}`,children:o.jsx(Zp.Item,{value:s.id,block:!0,className:"cw-optimize-profile-control",children:o.jsxs("span",{className:"cw-optimize-profile-copy",children:[o.jsx("strong",{children:s.displayName}),o.jsx("small",{children:s.description})]})})},s.id))})]}),o.jsxs("fieldset",{className:"cw-optimize-section",children:[o.jsx("legend",{children:"优化组件"}),o.jsx("div",{className:"cw-optimize-option-list",children:xmt.map(s=>o.jsxs("section",{className:"cw-optimize-option-group","aria-labelledby":`cw-optimize-group-${s.id}`,children:[o.jsx("h3",{id:`cw-optimize-group-${s.id}`,className:"cw-optimize-option-group-title",children:s.displayName}),o.jsx("div",{className:"cw-optimize-option-group-items",children:s.componentIds.map(a=>{const l=A9.find(u=>u.id===a);if(!l)return null;const c=t.includes(l.id);return o.jsx(q9,{checked:c,onCheckedChange:u=>{const d=!!u;d!==c&&r(l.id,d)},label:o.jsxs("span",{className:"cw-optimize-option-copy",children:[o.jsx("strong",{children:l.displayName}),o.jsx("small",{children:l.description})]}),className:"cw-optimize-option"},l.id)})})]},s.id))})]})]})})}const tk=[{id:"build",label:"架构"},{id:"validate",label:"调试"},{id:"optimize",label:"优化"},{id:"environment",label:"环境"},{id:"publish",label:"发布"}],uvt={build:"个性化您的智能体架构",validate:"调试您的智能体",optimize:"为您的智能体选择优化项",environment:"配置云上环境",publish:"准备好部署您的智能体"};function dvt({mode:e}){return o.jsx("header",{className:"cw-workspace-header",children:o.jsx("h1",{children:uvt[e]})})}function fvt({mode:e,busy:t,onChange:n,assistant:i,accessory:r}){const s=tk.findIndex(c=>c.id===e),a=tk[s-1],l=tk[s+1];return o.jsxs("footer",{className:"cw-workspace-footer",children:[r?o.jsx("div",{className:"cw-workspace-footer-accessory",children:r}):null,o.jsxs("div",{className:`cw-workspace-nav-actions${i?" has-assistant":""}`,children:[o.jsx("button",{type:"button",className:`cw-workspace-nav-button${e==="build"?" is-placeholder":""}`,"aria-hidden":e==="build"||void 0,tabIndex:e==="build"?-1:0,disabled:!a||t,onClick:()=>a&&n(a.id),children:"上一步"}),o.jsx("span",{"aria-hidden":"true"}),i?o.jsx("div",{className:"cw-workspace-ai-slot",children:i}):null,e==="publish"?o.jsx("div",{id:"cw-publish-primary-action",className:"cw-publish-action-slot"}):o.jsx("button",{type:"button",className:"cw-workspace-nav-button is-primary",disabled:!l||t,onClick:()=>l&&n(l.id),children:"下一步"})]}),o.jsx("nav",{className:"cw-workspace-progress","aria-label":"Agent 创建进度",children:tk.map((c,u)=>{const d=c.id===e;return o.jsx("button",{type:"button",className:`${d?"is-active":""}${un(c.id),children:o.jsx("span",{"aria-hidden":"true"})},c.id)})})]})}function hvt({onBack:e,onCreate:t,onAgentAdded:n,initialDraft:i,features:r,onDeploymentTaskChange:s,createMode:a="custom",deploymentTarget:l,cloudProvider:c="volcengine",initialDeployRegion:u=qi(c),onDeploymentComplete:d,onDeploymentStarted:f,onDraftChange:h,onDiscard:p}){var Es,ul,Ja,Kl,Zs,Fu,Cn,se,In,oi,ba,bn,Gn,Ks,$c,ds,_o,Jl,Pi,Sr;const[b]=m.useState(()=>avt(i??nl(c),c)),[g,O]=m.useState(b.draft),[y,v]=m.useState(b.customModelSecretValues),x=((Es=g.deployment)==null?void 0:Es.runtimeName)??"",w=l?l.name:Ggt(g.name,x,(ul=g.deployment)==null?void 0:ul.runtimeNameCustomized),S=y;m.useEffect(()=>{O(ee=>Up(ee,c))},[c]);const[E,k]=m.useState(""),[T,_]=m.useState(!1),[N,C]=m.useState(!1),[R,L]=m.useState(!1),[D,$]=m.useState(null),j=E.trim(),P=j.length>0&&j.length{z.current=h},[h]),m.useEffect(()=>{var ee;F!==U.current&&(U.current=F,(ee=z.current)==null||ee.call(z,Up(g,c),H))},[c,g,H,F]);const[Q,q]=m.useState("build"),[le,ge]=m.useState(!1),[be,ce]=m.useState(0),[Z,J]=m.useState(null),[ue,Oe]=m.useState(!1),[Ne,De]=m.useState(!1),[Pe,pe]=m.useState((l==null?void 0:l.region)??u),Ee=(r==null?void 0:r.generatedAgentTestRun)===!0,ye=(r==null?void 0:r.generatedAgentTestRunDisabledReason)||"当前后端暂不支持生成 Agent 调试运行。",[$e,Ue]=m.useState(()=>{const ee=Up(i??nl(c),c);return[{id:"baseline",name:"基准组",modelName:K3(ee),description:ee.description,instruction:ee.instruction,configOpen:!1,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]}),[_e,ze]=m.useState("baseline"),lt=m.useRef(1),Lt=m.useRef(!1),We=m.useRef(new Map),[W,ne]=m.useState(0),[de,xe]=m.useState(""),[V,Re]=m.useState(null),[Ze,et]=m.useState(!1),[Jt,Ht]=m.useState(!1),At=m.useRef(null),[vt,ve]=m.useState(""),[Ve,Fe]=m.useState(!1),[yt,bt]=m.useState([]),jt=m.useRef(null),Ae=m.useRef({});async function Ke(){const ee=new Set([...We.current.values()].map(({run:it})=>it.runId)),Me=X9().filter(it=>!ee.has(it));Me.length&&await Promise.all(Me.map(async it=>{try{await Fg(it),Py(it)}catch(Pt){console.warn("清理遗留调试运行失败",Pt)}}))}m.useEffect(()=>(Ke(),()=>{for(const{run:ee}of We.current.values())Fg(ee.runId).then(()=>Py(ee.runId)).catch(Me=>console.warn("清理调试运行失败",Me));We.current.clear()}),[]),m.useEffect(()=>()=>{var ee;(ee=At.current)==null||ee.call(At,!1),At.current=null},[]);const Rt=m.useRef(null);Rt.current||(Rt.current=({meta:ee,children:Me})=>o.jsxs("section",{ref:it=>{Ae.current[ee.id]=it},id:`cw-sec-${ee.id}`,"data-step-id":ee.id,className:"cw-section",children:[o.jsx("header",{className:"cw-sec-head",children:o.jsx("h2",{className:"cw-sec-title",children:ee.label})}),o.jsx("div",{className:"cw-sec-body",children:Me})]}));const sn=Kxt(g,yt)?yt:[],nt=ek(g,sn),pn=sn.length===0,ei=`cw-a2a-registry-advanced-${sn.join("-")||"root"}`,Ft=ee=>O(Me=>Pw(Me,sn,it=>({...it,...ee}))),Ut=(ee,Me)=>O(it=>{var Pt;return{...it,deployment:{...it.deployment??{feishuEnabled:!1},envValues:{...((Pt=it.deployment)==null?void 0:Pt.envValues)??{},[ee]:Me}}}}),Ce=ee=>Ft({a2aRegistry:{...nt.a2aRegistry??{enabled:!1,registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},...ee}}),Ye=(ee,Me)=>{if(!(ee in MW))return;const it=MW[ee];Ce({[it]:Me}),Ut(ee,Me)},$t=ee=>{if(!(pn&&ee==="a2a")){if(ee==="a2a"){Ft({agentType:ee,a2aRegistry:{...nt.a2aRegistry??{registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},enabled:!0}});return}Ft({agentType:ee,a2aRegistry:nt.a2aRegistry?{...nt.a2aRegistry,enabled:!1}:void 0})}},mn=(ee,Me)=>{O(ee),Me&&bt(Me)},tn=async()=>{const ee=E.trim();if(!(!ee||T)&&!(ee.length{const Me=ek(g,ee);if(!Z3(Me)||ee.length>=QW)return;const it=Jxt(g,ee,c),Pt=ek(it,ee).subAgents.length-1;mn(it,[...ee,Pt])},Ie=(ee,Me)=>{const it=ek(g,ee);if(!Z3(it)||ee.length>=QW)return;const Pt=Math.max(0,Math.min(Me,it.subAgents.length)),$n=evt(g,ee,Pt,c);mn($n,[...ee,Pt])},at=()=>{window.confirm("清空根 Agent 的全部配置和子 Agent?此操作无法撤销。")&&(O(nl(c)),bt([]),ge(!1))},Dt=ee=>{if(ee.length===0){at();return}mn(tvt(g,ee),ee.slice(0,-1))},Yt=nt.builtinTools??[],cn=m.useMemo(()=>bae(c),[c]),Zt=m.useMemo(()=>new Set(cn.map(ee=>ee.id)),[cn]),si=nt.mcpTools??[],di=nt.selectedSkills??[],Yi=ee=>{Zt.has(ee)&&Ft({builtinTools:Yt.includes(ee)?Yt.filter(Me=>Me!==ee):[...Yt,ee]})},oe=Rbe(nt.agentType),Qe=YC(nt.agentType),ct=FO(nt,c),wt=ee=>{var it;const Me=ee==="custom"&&ct==="ark"?"":ee==="ark"&&!((it=nt.modelName)!=null&&it.trim())?ym(c):nt.modelName;Ft({modelSource:ee,modelName:Me})},En=m.useMemo(()=>Wbt(g),[g]),fi=Qe?null:Av(nt.name)??(En.has(nt.name)?"Agent 名称在当前结构中必须唯一":null),ti=fi!==null,gi=!Qe&&nt.description.trim().length===0,Ln=nt.instruction.trim().length===0,bi=Qe&&!((Ja=nt.a2aRegistry)!=null&&Ja.registrySpaceId.trim()),rr=ee=>le&&ee?`is-error cw-error-shake-${be%2}`:"",sr=m.useMemo(()=>sOe(g,En),[g,En]),vr=sr.length===0,wn=m.useMemo(()=>Up(g,c),[c,g]),ar=_mt(g),Fi=N9(g),Di=wmt(c),Wi=m.useMemo(()=>ovt(wn,S),[wn,S]),Zr=$e.find(ee=>ee.id===_e)??$e[0],ha=m.useMemo(()=>oOe(wn),[wn]),Qr=m.useMemo(()=>vbe(wn,Ec(c)),[c,wn]),Ss=Qr.find(ee=>ee.label===`${nt.name.trim()||"自定义模型"} 模型 API Key`);function Ir(ee){const Me=ee.problem==="缺少子 Agent"?"type":"basic",it=Ae.current[Me];it==null||it.scrollIntoView({behavior:"smooth",block:"start"});const Pt=ee.problem==="缺少描述"?"description":ee.problem==="缺少系统提示词"?"instruction":ee.problem==="缺少 AgentKit 智能体中心"?"a2a-registry":ee.problem==="缺少子 Agent"||ee.problem==="远程 Agent 只能作为子 Agent"?null:"name",$n=Pt?it==null?void 0:it.querySelector(`[data-validation-field="${Pt}"]`):it,gn=$n!=null&&$n.matches('input, textarea, button:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])')?$n:$n==null?void 0:$n.querySelector('input, textarea, button:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])');gn==null||gn.focus({preventScroll:!0})}const js=()=>vr?!0:(ge(!0),ce(ee=>ee+1),sr[0]&&(bt(sr[0].path),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>Ir(sr[0]))})),!1),ai=async()=>{Re(null);const ee=[...We.current.values()];We.current.clear(),ne(0),Ue(Me=>Me.map(it=>({...it,phase:"idle",runtimeSnapshot:"",messages:[],error:null}))),await Promise.all(ee.map(async({run:Me})=>{try{await Fg(Me.runId),Py(Me.runId)}catch(it){console.warn("清理调试运行失败",it)}}))},Xs=async ee=>{const Me=We.current.get(ee);if(Me){We.current.delete(ee),ne(We.current.size);try{await Fg(Me.run.runId),Py(Me.run.runId)}catch(it){console.warn("清理调试运行失败",it)}}},Lc=ee=>{const Me=We.current.get(ee),it=$e.find(Pt=>Pt.id===ee);!Me||!it||Re({runId:Me.run.runId,sessionId:Me.sessionId,variantName:it.name})},Za=ee=>{const Me=At.current;At.current=null,Me==null||Me(ee)},or=()=>{Jt||(et(!1),Za(!1))},Zl=async()=>{if(!Jt){Ht(!0);try{await ai(),et(!1),Za(!0)}finally{Ht(!1)}}},ko=async()=>Q!=="validate"||W===0?!0:At.current?!1:new Promise(ee=>{At.current=ee,et(!0)}),pa=async ee=>{if(await ko()){if(!js()){q("build");return}ee&&ze(ee),q("environment")}},Ka=async ee=>{var it,Pt,$n,gn,re;if(ve(""),!js()){q("build");return}if((it=wn.harnessSidecar)!=null&&it.enabled&&Di){ve(Di),q("optimize");return}if(((Pt=wn.cloudEnvironment)==null?void 0:Pt.dockerfile)!==void 0&&!wn.cloudEnvironment.dockerfile.trim()){ve("Dockerfile 不能为空。请输入有效内容,或恢复自动生成。"),q("environment");return}if((((gn=($n=wn.cloudEnvironment)==null?void 0:$n.dockerfile)==null?void 0:gn.length)??0)>Oae){ve("Dockerfile 不能超过 64 KiB。请精简内容后重试。"),q("environment");return}const Me=Cbe(ha.specs,((re=wn.deployment)==null?void 0:re.envValues)??{});if(Me){ve(`${Me.spec.comment||Me.spec.key}:${Me.error}`),q("build");return}Oe(!0);try{const je=ee?$e.find(Se=>Se.id===ee):Zr;je&&ze(je.id);const qe=je?Tmt(wn,je):wn,Nt=await p6(lOe(qe));O(qe),J(Nt),q("publish")}catch(je){ve(je instanceof Error?je.message:String(je))}finally{Oe(!1)}},Ra=async()=>{if(await ko()){if(!js()){q("build");return}q("optimize")}},Kr=async ee=>{if(!Ee||ue||!js())return;const Me=$e.find(ft=>ft.id===ee);if(!Me||Me.phase==="starting"||Me.phase==="sending")return;const it=Me.modelName.trim(),Pt=Me.description.trim(),$n=Me.instruction.trim(),gn=_0(Me),re=$e.findIndex(ft=>ft.id===ee),je=$e.findIndex(ft=>_0(ft)===gn);if(!it||!Pt||!$n||je!==re)return;const qe=T_(Wi,Me);Ue(ft=>ft.map(Mt=>Mt.id===ee?{...Mt,configOpen:!1,phase:"starting",messages:[],error:null}:Mt)),xe("");let Nt=null,Se="unknown";const kt=ee==="baseline"?"baseline":"comparison",Gt=Gbt({agentId:String(wn.name||"unknown"),variantType:kt});try{await Xs(ee),await Ke();const ft={...wn,modelName:Me.modelName||wn.modelName,description:Me.description,instruction:Me.instruction};Se="create_test_run",Nt=await Uie(cOe(ft,S),l?{runtimeId:l.runtimeId,region:l.region}:void 0),Dxt(Nt.runId),Se="create_test_session";const Mt=await zie(Nt.runId,"test_user");We.current.set(ee,{run:Nt,sessionId:Mt}),ne(We.current.size),Ue(un=>un.map(Ui=>Ui.id===ee?{...Ui,phase:"ready",runtimeSnapshot:qe}:Ui)),Gt.succeed({debugRunId:String(Nt.runId)})}catch(ft){if(Nt)try{await Fg(Nt.runId),Py(Nt.runId)}catch(Mt){console.warn("清理调试运行失败",Mt)}Ue(Mt=>Mt.map(un=>un.id===ee?{...un,phase:"error",runtimeSnapshot:"",error:ft instanceof Error?ft.message:String(ft)}:un)),Gt.fail({failedPhase:Se,...$a(ft,{phase:Se})})}},Gs=async()=>{const ee=de.trim(),Me=$e.filter(Pt=>Pt.phase==="ready"&&Pt.runtimeSnapshot===T_(Wi,Pt)&&We.current.has(Pt.id));if(!ee||Me.length===0)return;xe("");const it=new Set(Me.map(Pt=>Pt.id));Ue(Pt=>Pt.map($n=>it.has($n.id)?{...$n,phase:"sending",messages:[...$n.messages,{role:"user",content:ee},{role:"assistant",content:"",blocks:[]}]}:$n)),await Promise.all(Me.map(async Pt=>{const $n=We.current.get(Pt.id);if($n)try{let gn=wd();for await(const re of qie({runId:$n.run.runId,userId:"test_user",sessionId:$n.sessionId,text:ee})){const je=re.error||re.errorMessage||re.error_message;if(je||(gn=n2(gn,re)),Ue(qe=>qe.map(Nt=>{if(Nt.id!==Pt.id)return Nt;const Se=[...Nt.messages],kt={...Se[Se.length-1]};return je?kt.error=String(je):(kt.content=gn.blocks.filter(Gt=>Gt.kind==="text").map(Gt=>Gt.text).join(""),kt.blocks=gn.blocks),Se[Se.length-1]=kt,{...Nt,messages:Se}})),je)break}}catch(gn){Ue(re=>re.map(je=>{if(je.id!==Pt.id)return je;const qe=[...je.messages],Nt={...qe[qe.length-1]};return Nt.error=gn instanceof Error?gn.message:String(gn),qe[qe.length-1]=Nt,{...je,messages:qe}}))}finally{Ue(gn=>gn.map(re=>re.id===Pt.id?{...re,phase:"ready"}:re))}}))},Dr=()=>{Ue(ee=>{if(ee.length>=3)return ee;const Me=lt.current++,it=`variant-${Me}`;return[...ee,{id:it,name:`对照组 ${Me}`,modelName:g.modelName??"",description:g.description,instruction:g.instruction,configOpen:!0,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]})},Ys=async ee=>{await Xs(ee),Ue(Me=>Me.filter(it=>it.id!==ee)),_e===ee&&ze("baseline")},Oi=(ee,Me)=>Ue(it=>it.map(Pt=>Pt.id===ee?{...Pt,...Me}:Pt)),Rs=(ee,Me)=>{if(Me&&Di){ve(Di);return}const it=Me?[...new Set([...Fi,ee])]:Fi.filter(Pt=>Pt!==ee);O(Pt=>({...Pt,harnessSidecar:E0(it,ar)})),ve(""),J(null)},Fr=ee=>{const Me=R0e(ee);if(Me.length>0&&Di){ve(Di);return}O(it=>({...it,harnessSidecar:E0(Me,ee)})),ve(""),J(null)},wr=(ee,Me,it)=>{ee==="baseline"&&Me==="modelName"&&(Lt.current=!0),Oi(ee,{[Me]:it}),!(_e!==ee||ee==="baseline")&&ze("baseline")},ma=ee=>{const Me=$e.find(qe=>qe.id===ee);if(!Me)return;const it=Me.modelName.trim(),Pt=Me.description.trim(),$n=Me.instruction.trim(),gn=_0(Me),re=$e.findIndex(qe=>qe.id===ee),je=$e.findIndex(qe=>_0(qe)===gn);if(!(!it||!Pt||!$n||je!==re)){if(ee==="baseline"){Oi(ee,{configOpen:!1});return}Kr(ee)}},Jr=async(ee,Me,it)=>{var gn;const Pt=(gn=g.deployment)==null?void 0:gn.network,$n=Pt&&Pt.mode&&Pt.mode!=="public"?{mode:Pt.mode,vpc_id:Pt.vpcId,subnet_ids:Pt.subnetIds,enable_shared_internet_access:Pt.enableSharedInternetAccess}:void 0;return cO(ee.name,ee.files,{region:(l==null?void 0:l.region)??Pe,projectName:"default",network:$n},{...it,onStage:Me,runtimeId:l==null?void 0:l.runtimeId,runtimeName:(it==null?void 0:it.runtimeName)??w,appName:l==null?void 0:l.appName,description:g.description,harnessSidecar:g.harnessSidecar})},Xn=()=>{js()&&(Ue(ee=>ee.map(Me=>Me.id==="baseline"&&!We.current.has(Me.id)?{...Me,modelName:Lt.current?Me.modelName:K3(wn),description:wn.description,instruction:wn.instruction}:Me)),q("validate"))},ga=async ee=>{if(ee==="publish"){if(!await ko())return;await Ka();return}if(ee==="validate"){Xn();return}if(ee==="optimize"){await Ra();return}if(ee==="environment"){pa();return}await ko()&&q(ee)},To=ee=>{O(Me=>({...Me,cloudEnvironment:ee})),ve(""),J(null)},Ws=Rt.current,Is=ee=>Mxt.find(Me=>Me.id===ee),Qu=o.jsx("section",{className:`cw-ai-compose${T?" is-generating":""}${N?" is-success":""}`,"aria-label":"AI 自动填写 Agent 配置",children:o.jsx(mh,{initial:!1,mode:"wait",children:N?o.jsxs(Gr.div,{className:"cw-ai-compose-success",role:"status",initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.98},transition:{duration:.22,ease:[.22,1,.36,1]},children:[o.jsx("span",{className:"cw-ai-success-check","aria-hidden":!0}),o.jsx("strong",{children:"生成成功"}),o.jsx("button",{type:"button",className:"cw-ai-regenerate",onClick:()=>C(!1),children:"重新生成"})]},"success"):o.jsxs(Gr.div,{className:"cw-ai-compose-entry",initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.98},transition:{duration:.2,ease:[.22,1,.36,1]},children:[o.jsxs("form",{className:"cw-ai-compose-form",onSubmit:ee=>{ee.preventDefault(),tn()},children:[o.jsx("input",{type:"text",value:E,maxLength:8e3,disabled:T,placeholder:`描述目标,使用 ${z_e(c)} 模型一键生成配置`,"aria-invalid":!!P,"aria-describedby":P?"ai-requirement-error":void 0,onChange:ee=>k(ee.target.value),onKeyDown:ee=>{ee.key==="Enter"&&(ee.preventDefault(),tn())}}),o.jsx("button",{type:"submit",disabled:T||!j||!!P,"aria-label":T?"正在智能生成":"智能生成",children:T?o.jsx("span",{className:"cw-ai-orb","aria-hidden":!0,children:o.jsx("span",{})}):"智能生成"})]}),P&&o.jsx("p",{className:"cw-ai-requirement-error",id:"ai-requirement-error",role:"alert",children:P})]},"compose")})});return o.jsxs("div",{className:`cw-root is-${Q}`,children:[o.jsx(dvt,{mode:Q}),vt&&o.jsx(Tv,{className:"cw-workspace-alert",message:vt}),o.jsxs("main",{className:"cw-workspace-main",id:"cw-workspace-main",children:[Q==="build"&&o.jsx("div",{className:"cw-build-workspace",children:o.jsxs("div",{className:"cw-editor",children:[o.jsx(Lx,{draft:g,direction:"horizontal",selectedPath:sn,onSelect:bt,onAdd:mi,onInsert:Ie,onDelete:Dt}),o.jsx("div",{className:"cw-detail",children:o.jsx("div",{className:"cw-detail-scroll",ref:jt,children:o.jsx("div",{className:"cw-detail-inner",children:o.jsx("div",{className:"cw-lower",children:o.jsxs("div",{className:"cw-form-col",children:[o.jsxs(Ws,{meta:Is("type"),children:[o.jsx(Zp,{className:"cw-agent-type-options","aria-label":"Agent 类型",value:nt.agentType??"llm",onChange:$t,children:M1t.map(ee=>{const Me=(nt.agentType??"llm")===ee.id,it=pn&&ee.id==="a2a",Pt=it?"cw-remote-agent-disabled-hint":void 0;return o.jsxs("div",{"data-agent-type":ee.id,className:`cw-agent-type-option ${Me?"is-on":""} ${it?"is-disabled":""}`,tabIndex:it?0:void 0,"aria-describedby":Pt,children:[o.jsx(Zp.Item,{value:ee.id,disabled:it,block:!0,className:"cw-agent-type-control",children:o.jsx("span",{className:"cw-agent-type-copy",children:o.jsx("strong",{children:$xt[ee.id]})})}),it&&o.jsx("span",{id:Pt,className:"cw-agent-type-disabled-hint",role:"tooltip",children:"远程智能体只能作为子步骤使用"})]},ee.id)})}),le&&oe&&nt.subAgents.length===0&&o.jsx("span",{className:"cw-error-text",children:ivt({name:nt.name.trim()||"未命名",typeLabel:jbe(nt.agentType).label})})]}),o.jsx(Ws,{meta:Is("basic"),children:o.jsxs("div",{className:"cw-form",children:[!Qe&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"cw-field",children:[o.jsxs("label",{className:"cw-label",children:[pn?"Agent 名称":"名称",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx("input",{className:`cw-input ${rr(ti)}`,"data-validation-field":"name",value:nt.name,placeholder:"assistant","aria-invalid":le&&ti,"aria-describedby":le&&fi?"cw-agent-name-error":void 0,onChange:ee=>Ft({name:ee.target.value})}),le&&fi?o.jsx("span",{id:"cw-agent-name-error",role:"alert",className:"cw-error-text",children:fi}):o.jsx("span",{className:"cw-help",children:"遵循 Google ADK 命名规则,且在执行流程中保持唯一。"})]}),o.jsxs("div",{className:"cw-field",children:[o.jsxs("label",{className:"cw-label",children:[pn?"描述":"智能体描述",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx("textarea",{className:`cw-textarea cw-textarea-sm ${rr(gi)}`,"data-validation-field":"description",value:nt.description,placeholder:"简要描述这个 Agent 的用途,便于团队识别…","aria-invalid":le&&gi,"aria-describedby":le&&gi?"cw-agent-description-error":void 0,onChange:ee=>Ft({description:ee.target.value})}),le&&gi?o.jsx("span",{id:"cw-agent-description-error",role:"alert",className:"cw-error-text",children:"描述为必填项"}):o.jsx("span",{className:"cw-help",children:pn?"完整描述会保留;部署时会自动整理为符合 Runtime 规范的单行描述。":"描述会显示在 Agent 列表与选择器中。"})]})]}),oe?o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"cw-section-desc cw-dependency-hint",children:"这是一个协作容器,本身不生成回答。请在左侧画布中 添加任务步骤,并通过拖拽调整它们的位置。"}),nt.agentType==="loop"&&o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"最大轮次"}),o.jsx("input",{className:"cw-input",type:"number",min:1,value:nt.maxIterations??3,onChange:ee=>Ft({maxIterations:Math.max(1,Number(ee.target.value)||1)})}),o.jsx("span",{className:"cw-help",children:"循环编排反复执行子 Agent,直到满足条件或达到该轮次上限。"})]})]}):Qe?o.jsxs("div",{className:"cw-field cw-remote-center-fields","data-validation-field":"a2a-registry",children:[o.jsxs("div",{className:"cw-remote-center-head",children:[o.jsxs("div",{className:"cw-label",children:["AgentKit 智能体中心",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx("p",{className:"cw-help cw-remote-center-description",children:"远程 Agent 的名称、描述和能力来自中心返回的 Agent Card。 系统会根据每轮任务动态发现并挂载匹配的 Agent。"})]}),o.jsx(Hxt,{value:((Kl=nt.a2aRegistry)==null?void 0:Kl.registrySpaceId)??"",region:((Zs=nt.a2aRegistry)==null?void 0:Zs.registryRegion)||yc.region,invalid:le&&bi,onChange:ee=>Ye(tOe,ee)}),o.jsxs("button",{type:"button",className:"cw-more-options","aria-expanded":Ve,"aria-controls":ei,onClick:()=>Fe(ee=>!ee),children:[o.jsx("span",{children:"更多选项"}),o.jsx(sO,{className:`cw-more-options-chevron ${Ve?"is-open":""}`,"aria-hidden":!0})]}),o.jsx(mh,{initial:!1,children:Ve&&o.jsx(Gr.div,{id:ei,className:"cw-model-advanced",initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.18,ease:"easeOut"},children:o.jsx(My,{env:Bxt,values:nOe(nt.a2aRegistry,{includeDefaults:!1}),onChange:Ye})})}),le&&bi&&o.jsx("span",{className:"cw-error-text",role:"alert",children:"请选择 AgentKit 智能体中心"})]}):o.jsxs("div",{className:"cw-field","data-validation-field":"instruction",children:[o.jsxs("label",{className:"cw-label",children:["系统提示词",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx(m.Suspense,{fallback:o.jsx("div",{className:"cw-markdown-loading",role:"status",children:"正在加载 Markdown 编辑器…"}),children:o.jsx(Ixt,{value:nt.instruction,invalid:Ln,onChange:ee=>Ft({instruction:ee})})}),le&&Ln?o.jsx("span",{className:"cw-error-text",role:"alert",children:"系统提示词为必填项"}):o.jsx("span",{className:"cw-help",children:"支持 Markdown 快捷输入,例如键入 ## 加空格创建二级标题。"})]})]})}),!oe&&!Qe&&o.jsxs(o.Fragment,{children:[o.jsx(Ws,{meta:Is("model"),children:o.jsxs("div",{className:"cw-form",children:[o.jsxs("div",{className:"cw-field cw-model-source-field",children:[o.jsx("label",{className:"cw-label",children:"模型来源"}),o.jsx(Zp,{className:"cw-model-source-options","aria-label":"模型来源",value:ct,onChange:ee=>{ee!=="gateway"&&wt(ee)},children:[{value:"ark",label:c==="byteplus"?"BytePlus ModelArk":"火山方舟"},{value:"custom",label:"自定义"},{value:"gateway",label:"模型网关",disabled:!0}].map(ee=>o.jsx("div",{className:`cw-model-source-option ${ct===ee.value?"is-on":""}${ee.disabled?" is-disabled":""}`,children:o.jsxs(Zp.Item,{value:ee.value,disabled:ee.disabled,block:!0,className:"cw-model-source-control",children:[o.jsx("span",{children:ee.label}),ee.disabled&&o.jsx("span",{className:"cw-model-source-coming-soon",children:"待上线"})]})},ee.value))})]}),ct==="ark"?o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"模型配置"}),o.jsx(qxt,{value:nt.modelName??"",cloudProvider:c,apiKeyId:(Fu=g.deployment)==null?void 0:Fu.modelApiKeyId,apiKeyName:(Cn=g.deployment)==null?void 0:Cn.modelApiKeyName,onApiKeyChange:ee=>O(Me=>({...Me,deployment:{...Me.deployment??{feishuEnabled:!1},modelApiKeyId:ee.id,modelApiKeyName:ee.name}})),onChange:ee=>Ft({modelName:ee})})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"模型名称"}),o.jsx("input",{className:"cw-input",value:nt.modelName??"",onChange:ee=>Ft({modelName:ee.target.value})})]}),o.jsxs("div",{className:"cw-field",children:[o.jsxs("label",{className:"cw-label cw-label-with-link",children:[o.jsx("span",{children:"服务商 Provider"}),o.jsxs("a",{href:"https://docs.litellm.ai/docs/providers",target:"_blank",rel:"noopener noreferrer",onClick:ee=>ee.stopPropagation(),children:["LiteLLM 支持列表",o.jsx(Ob,{"aria-hidden":"true"})]})]}),o.jsx("input",{className:"cw-input",value:nt.modelProvider??"",placeholder:"openai",onChange:ee=>Ft({modelProvider:ee.target.value})})]}),o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"API Base"}),o.jsx("input",{className:"cw-input",value:nt.modelApiBase??"",placeholder:Ec(c),onChange:ee=>Ft({modelApiBase:ee.target.value})})]}),o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"API Key"}),o.jsx("input",{className:"cw-input",type:"password",value:Ss?y[Ss.key]??"":"",placeholder:"请输入模型 API Key",autoComplete:"new-password",onChange:ee=>{if(!Ss)return;const Me=ee.currentTarget.value;v(it=>({...it,[Ss.key]:Me}))}})]})]})]})}),o.jsx(Ws,{meta:Is("tools"),children:o.jsxs("div",{className:"cw-form",children:[o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"内置工具"}),o.jsx("span",{className:"cw-help",children:"勾选 VeADK 提供的内置能力,生成时会自动补全 import 与所需环境变量。"}),o.jsx("div",{className:"cw-tools-list-shell",children:o.jsx(Qxt,{items:cn,selected:Yt,onToggle:Yi,scrollRows:6})}),o.jsx(mh,{initial:!1,children:Yt.includes("run_code")&&o.jsxs(Gr.div,{className:"cw-tool-config",initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.16,ease:"easeOut"},children:[o.jsxs("div",{className:"cw-tool-config-head",children:[o.jsx("span",{className:"cw-label",children:"代码执行配置"}),o.jsx("span",{className:"cw-help",children:"指定 AgentKit 代码执行沙箱。"})]}),o.jsx(My,{env:((se=pO.find(ee=>ee.id==="run_code"))==null?void 0:se.env)??[],values:((In=g.deployment)==null?void 0:In.envValues)??{},onChange:Ut})]})})]}),o.jsxs("div",{className:"cw-field cw-mcp-field",children:[o.jsx("label",{className:"cw-label",children:"MCP 工具"}),o.jsx(Yxt,{tools:si,onChange:ee=>Ft({mcpTools:ee})})]})]})}),o.jsx(Ws,{meta:Is("skills"),children:o.jsx("div",{className:"cw-form",children:o.jsx(Zxt,{selected:di,onChange:ee=>Ft({selectedSkills:ee}),cloudProvider:c})})}),o.jsx(Ws,{meta:Is("knowledge"),children:o.jsxs("div",{className:"cw-form cw-toggle-stack",children:[o.jsx(JE,{checked:nt.knowledgebase,onChange:ee=>Ft({knowledgebase:ee}),title:"知识库",desc:"启用外部知识检索(RAG),让 Agent 基于你的资料作答。",icon:xk}),nt.knowledgebase&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"知识库后端"}),o.jsx(OD,{options:PP,value:nt.knowledgebaseBackend,onChange:ee=>Ft({knowledgebaseBackend:ee,knowledgebaseIndex:ee==="viking"||ee==="openviking"?nt.knowledgebaseIndex:""})}),(nt.knowledgebaseBackend??bh)==="viking"&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"VikingDB 知识库"}),o.jsx(Xxt,{value:nt.knowledgebaseIndex??"",onChange:ee=>{Ft({knowledgebaseIndex:ee.id}),ee.projectName&&Ut("DATABASE_VIKING_PROJECT",ee.projectName),ee.region&&Ut("DATABASE_VIKING_REGION",ee.region),ee.sourceKind&&Ut("DATABASE_VIKING_COLLECTION_KIND",ee.sourceKind),Ut("DATABASE_VIKING_RESOURCE_ID",ee.resourceId??"")}})]}),o.jsx(My,{env:((oi=PP.find(ee=>ee.id===(nt.knowledgebaseBackend??bh)))==null?void 0:oi.env)??[],values:((ba=g.deployment)==null?void 0:ba.envValues)??{},onChange:Ut,renderAfterField:(nt.knowledgebaseBackend??bh)==="openviking"?ee=>ee.key==="DATABASE_OPENVIKING_USER_ID"?o.jsx(Uxt,{value:nt.knowledgebaseIndex??"",onChange:Me=>Ft({knowledgebaseIndex:Me})}):null:void 0})]})]})}),pn&&o.jsx(Ws,{meta:Is("memory"),children:o.jsxs("div",{className:"cw-form cw-toggle-stack",children:[o.jsx(JE,{checked:nt.memory.shortTerm,onChange:ee=>Ft({memory:{...nt.memory,shortTerm:ee}}),title:"短期记忆",desc:"存储单会话上下文",showDescription:!0,icon:_ne}),nt.memory.shortTerm&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"短期记忆后端"}),o.jsx(OD,{options:IP,value:nt.shortTermBackend,onChange:ee=>Ft({shortTermBackend:ee})}),o.jsx(My,{env:((bn=IP.find(ee=>ee.id===(nt.shortTermBackend??"local")))==null?void 0:bn.env)??[],values:((Gn=g.deployment)==null?void 0:Gn.envValues)??{},onChange:Ut})]}),o.jsx(JE,{checked:nt.memory.longTerm,onChange:ee=>Ft({memory:{...nt.memory,longTerm:ee}}),title:"长期记忆",desc:"存储跨会话上下文,通常使用向量化检索",showDescription:!0,icon:xk}),nt.memory.longTerm&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"长期记忆后端"}),o.jsx(OD,{options:DP,value:nt.longTermBackend,onChange:ee=>Ft({longTermBackend:ee,longTermMemoryIndex:ee==="viking"?nt.longTermMemoryIndex:""})}),(nt.longTermBackend??"local")==="viking"&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"VikingDB 记忆库"}),o.jsx(Gxt,{value:nt.longTermMemoryIndex??"",onChange:ee=>{Ft({longTermMemoryIndex:ee.id}),Ut("DATABASE_VIKINGMEM_PROJECT",ee.projectName),Ut("DATABASE_VIKING_REGION",ee.region),Ut("DATABASE_VIKINGMEM_MEMORY_TYPE",(ee.memoryTypes??[]).join(","))}})]}),o.jsx(My,{env:((Ks=DP.find(ee=>ee.id===(nt.longTermBackend??"local")))==null?void 0:Ks.env)??[],values:(($c=g.deployment)==null?void 0:$c.envValues)??{},onChange:Ut}),o.jsx(JE,{checked:!!nt.autoSaveSession,onChange:ee=>Ft({autoSaveSession:ee}),title:"自动保存会话到长期记忆",desc:"会话结束时自动把内容写入长期记忆,无需手动调用。",icon:xk})]})]})})]})]})})})})})]})}),Q==="validate"&&o.jsx("div",{className:"cw-validation-workspace",children:o.jsx("div",{className:"cw-validation-content",children:o.jsx(lvt,{enabled:Ee,disabledReason:ye,variants:$e,draftSnapshot:Wi,input:de,onInput:xe,onSend:Gs,onStartVariant:Kr,onUseVariant:ee=>void pa(ee),onAddVariant:Dr,onRemoveVariant:Ys,onToggleConfig:ee=>{const Me=$e.find(it=>it.id===ee);Me&&Oi(ee,{configOpen:!Me.configOpen})},onCompleteConfig:ma,onConfigChange:wr,onOpenTrace:Lc})})}),Q==="optimize"&&o.jsx(cvt,{profile:ar,optimizations:Fi,unavailableMessage:Di,onProfileChange:Fr,onOptimizationChange:Rs}),Q==="environment"&&o.jsx("div",{className:"cw-environment-workspace",children:o.jsx(Sxt,{cloudProvider:c,value:g.cloudEnvironment??{cliTools:[]},onChange:To,editorOpen:Ne,onEditorOpenChange:De,disabled:ue})}),Q==="publish"&&o.jsx("div",{className:"cw-preview-body",children:Z?o.jsx(GC,{embedded:!0,cloudProvider:c,project:Z,agentDraft:g,agentName:g.name||"未命名 Agent",agentCount:aOe(g),releaseConfiguration:Zr?{modelName:Zr.modelName||g.modelName||"默认模型",description:Zr.description,instruction:Zr.instruction,optimizations:[`优化场景:${j0e(ar)}`,...Fi.map(tx)]}:void 0,onChange:J,onDeploy:Jr,onAgentAdded:n,onDeploymentTaskChange:s,deploymentActionLabel:l?"更新并发布":"部署",deploymentActionTargetId:"cw-publish-primary-action",deploymentRuntimeId:l==null?void 0:l.runtimeId,deploymentRuntimeName:w,deploymentRuntimeNameCustomized:!!l||!!((ds=g.deployment)!=null&&ds.runtimeNameCustomized),onDeploymentRuntimeNameChange:ee=>O(Me=>({...Me,deployment:{...Me.deployment??{feishuEnabled:!1},runtimeName:ee,runtimeNameCustomized:!0}})),onDeploymentStarted:f,onDeploymentComplete:d,feishuEnabled:!!((_o=g.deployment)!=null&&_o.feishuEnabled),onFeishuEnabledChange:ee=>{const Me={...g,deployment:{...g.deployment??{feishuEnabled:!1},feishuEnabled:ee}};O(Me)},deploymentEnv:ha.specs,requiredSecretEnv:Qr,requiredSecretEnvValues:y,onRequiredSecretEnvChange:(ee,Me)=>v(it=>({...it,[ee]:Me})),deploymentEnvValues:{...(Jl=wn.deployment)==null?void 0:Jl.envValues,...y,...ha.fixedValues},onDeploymentEnvChange:Ut,network:(Pi=g.deployment)==null?void 0:Pi.network,onNetworkChange:ee=>O(Me=>({...Me,deployment:{...Me.deployment??{feishuEnabled:!1},network:ee}})),deployRegion:Pe,onDeployRegionChange:pe,deploymentTelemetry:{source:"scratch",createMode:a,aiAssisted:R},onExportYaml:()=>Pxt(`${wn.name||"agent"}.yaml`,Z1t(wn),"text/yaml")}):o.jsxs("div",{className:"cw-publish-loading",role:"status",children:[o.jsx(ri,{className:"cw-i cw-spin"}),o.jsx("strong",{children:"正在生成发布配置"}),o.jsx("span",{children:"校验 Agent 结构并准备部署快照…"})]})})]}),o.jsx(fvt,{mode:Q,busy:ue,onChange:ga,assistant:Q==="build"?Qu:void 0,accessory:Q==="environment"?o.jsx(wxt,{customized:((Sr=g.cloudEnvironment)==null?void 0:Sr.dockerfile)!==void 0,disabled:ue,onClick:()=>De(!0)}):void 0}),V&&o.jsx(Jbe,{testRunId:V.runId,sessionId:V.sessionId,title:`调用链路 · ${V.variantName}`,onClose:()=>Re(null)}),Ze&&o.jsx(Bl,{variant:"warning",title:"离开调试?",description:"离开调试页面后,当前环境将被清理。您可以通过重新启动环境进行新的测试。",confirmLabel:Jt?"清理中...":"确定离开",closeLabel:"关闭离开调试确认",busy:Jt,onCancel:or,onConfirm:()=>void Zl()}),D&&o.jsx("div",{className:"confirm-scrim",onClick:()=>$(null),children:o.jsxs("div",{className:"confirm-box cw-ai-error-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":"ai-generate-error-title","aria-describedby":"ai-generate-error-message",onClick:ee=>ee.stopPropagation(),children:[o.jsx("div",{className:"confirm-title",id:"ai-generate-error-title",children:"智能生成失败"}),o.jsx("div",{className:"cw-ai-error-message",id:"ai-generate-error-message",children:D}),o.jsx("div",{className:"confirm-actions",children:o.jsx("button",{type:"button",className:"confirm-btn cw-ai-error-close",onClick:()=>$(null),children:"关闭"})})]})})]})}const FW=50*1024*1024,J3=800,pvt={name:"code_package",files:[]};function mvt(e){let n=e.replace(/\.zip$/i,"").trim().replace(/[^A-Za-z0-9_]+/g,"_").replace(/^_+|_+$/g,"");return n||(n="uploaded_agent"),/^[A-Za-z_]/.test(n)||(n=`agent_${n}`),n==="user"&&(n="uploaded_agent"),n.slice(0,64)}function uOe(e){const t=e.replace(/\\/g,"/").replace(/^\.\//,"");if(!t||t.endsWith("/"))return null;if(t.startsWith("/")||t.includes("\0"))throw new Error(`压缩包包含非法路径:${e}`);const n=t.split("/");if(n.some(i=>!i||i==="."||i===".."))throw new Error(`压缩包包含非法路径:${e}`);return n[0]==="__MACOSX"||n[n.length-1]===".DS_Store"?null:n.join("/")}function gvt(e){const t=e.flatMap(a=>{const l=uOe(a.name);return l?[{path:l,content:a.text}]:[]});if(t.length===0)throw new Error("压缩包中没有可部署的文件。");if(t.length>J3)throw new Error(`代码包文件数不能超过 ${J3} 个。`);const r=new Set(t.map(a=>a.path.split("/")[0])).size===1&&t.every(a=>a.path.includes("/"))?t.map(a=>({...a,path:a.path.split("/").slice(1).join("/")})):t,s=new Set;for(const a of r){if(s.has(a.path))throw new Error(`代码包包含重复文件:${a.path}`);s.add(a.path)}return bvt(r),r}function bvt(e){const t=new Set(e.map(r=>r.path)),n=e.find(r=>r.path==="agentkit.yaml");let i="app.py";if(n){let r;try{r=_tt(n.content)}catch(l){throw new Error(`agentkit.yaml 无法解析:${l instanceof Error?l.message:String(l)}`)}if(r!==null&&(typeof r!="object"||Array.isArray(r)))throw new Error("agentkit.yaml 根节点必须是对象。");const s=r&&typeof r=="object"&&!Array.isArray(r)?r.common:void 0;if(s!==void 0&&(s===null||typeof s!="object"||Array.isArray(s)))throw new Error("agentkit.yaml 的 common 必须是对象。");const a=s&&typeof s=="object"&&!Array.isArray(s)?s.entry_point:void 0;if(a!==void 0){if(typeof a!="string")throw new Error("agentkit.yaml 的 common.entry_point 必须是文件路径。");const l=uOe(a);if(!l)throw new Error("agentkit.yaml 的 common.entry_point 不是有效文件路径。");i=l}}if(!t.has(i))throw n&&i!=="app.py"?new Error(`代码包中不存在 agentkit.yaml 声明的启动入口:${i}`):new Error("代码包根目录必须包含 app.py,或在 agentkit.yaml 的 common.entry_point 中声明已有入口。");return i}function Ovt({onBack:e,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:i,onDeploymentComplete:r,cloudProvider:s="volcengine",initialDeployRegion:a=qi(s)}){const l=m.useRef(null),c=m.useRef(0),[u,d]=m.useState(null),[f,h]=m.useState(""),[p,b]=m.useState(!1),[g,O]=m.useState(!1),[y,v]=m.useState(!1),[x,w]=m.useState(""),[S,E]=m.useState(a),[k,T]=m.useState();m.useEffect(()=>()=>{c.current+=1},[]);async function _(L){const D=++c.current;if(w(""),!L.name.toLowerCase().endsWith(".zip")){w("请选择 .zip 格式的代码包。");return}if(L.size>FW){w("代码包不能超过 50 MB。");return}O(!0);try{const $=await Gbe(new Uint8Array(await L.arrayBuffer()),{maxEntries:J3,maxUncompressedBytes:FW}),j=gvt($);if(D!==c.current)return;h(L.name),d({name:mvt(L.name),files:j})}catch($){if(D!==c.current)return;h(""),d(null),w($ instanceof Error?$.message:String($))}finally{D===c.current&&O(!1)}}function N(L){var $;const D=($=L.currentTarget.files)==null?void 0:$[0];L.currentTarget.value="",D&&_(D)}function C(L){var $;L.preventDefault(),v(!1);const D=($=L.dataTransfer.files)==null?void 0:$[0];D&&_(D)}async function R(L,D,$){const j=k&&k.mode!=="public"?{mode:k.mode,vpc_id:k.vpcId,subnet_ids:k.subnetIds,enable_shared_internet_access:k.enableSharedInternetAccess}:void 0;return cO(L.name,L.files,{region:S,projectName:"default",network:j},{...$,onStage:D})}return o.jsxs("div",{className:"package-create package-create-preview",children:[o.jsx(GC,{cloudProvider:s,project:u??pvt,agentName:(u==null?void 0:u.name)||"代码包",onChange:u?d:void 0,onDeploy:R,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:i,onDeploymentComplete:r,network:k,onNetworkChange:T,deployRegion:S,onDeployRegionChange:E,deploymentTelemetry:{source:"code_package",createMode:"code_package",aiAssisted:!1},onBack:e,backLabel:"返回创建方式",deployDisabled:!u||g,deployDisabledReason:g?"正在读取代码包":u?void 0:"请先上传代码包",deploymentPrimaryPane:o.jsxs("section",{className:"package-source-pane","aria-label":"代码包上传",children:[o.jsx("div",{className:"package-source-label",children:"代码包"}),o.jsxs("div",{className:`package-dropzone${y?" is-dragging":""}${u?" is-ready":""}`,onDragEnter:L=>{L.preventDefault(),v(!0)},onDragOver:L=>L.preventDefault(),onDragLeave:L=>{L.currentTarget.contains(L.relatedTarget)||v(!1)},onDrop:C,onClick:()=>{var L;g||(L=l.current)==null||L.click()},onKeyDown:L=>{var D;!g&&(L.key==="Enter"||L.key===" ")&&(L.preventDefault(),(D=l.current)==null||D.click())},role:"button",tabIndex:g?-1:0,"aria-label":u?"重新上传代码包":"上传代码包","aria-disabled":g,children:[o.jsx("strong",{children:g?"正在读取代码包…":u?f:"请上传代码包"}),o.jsx("span",{children:u?`已识别 ${u.files.length} 个文件,点击区域可重新上传`:"点击或拖拽上传,支持 .zip 格式,最大 50 MB;可使用 app.py,或由 agentkit.yaml 声明入口"}),o.jsx("div",{className:"package-upload-actions",children:u&&o.jsx("button",{type:"button",className:"package-upload-secondary",onClick:L=>{L.stopPropagation(),b(!0)},onKeyDown:L=>L.stopPropagation(),children:"查看文件"})}),o.jsx("input",{ref:l,type:"file",accept:".zip,application/zip","aria-label":"选择代码包",onChange:N})]}),x&&o.jsx("div",{className:"package-create-error",role:"alert",children:x})]})}),u&&o.jsx(n8,{project:u,open:p,onClose:()=>b(!1),onChange:d})]})}const yvt="/web/agent-migrations",ZC=39e4;class ao extends Error{constructor(t,n,i="MIGRATION_ERROR",r=!1,s="",a=""){super(t),this.status=n,this.code=i,this.retryable=r,this.statusText=s,this.rawResponse=a,this.name="MigrationApiError"}}const xvt=new Set(["langchain","langgraph","adk","strands","agentcore","dify","any"]),vvt=new Set(["awaiting_upload","analyzing","needs_input","analysis_ready","migrating","validating","packaging","succeeded","succeeded_with_warnings","partial","failed","cancelled","expired"]),wvt=new Set(["reasoning","message","plan","command","status"]),Svt=new Set(["running","completed","failed"]),Evt=new Set(["pending","in_progress","completed","failed"]);function ki(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`${t}格式错误。`);return e}function Kp(e,t){if(!Array.isArray(e)||!e.every(n=>typeof n=="string"))throw new Error(`${t}格式错误。`);return e}function nx(e,t){if(typeof e!="string"||!xvt.has(e))throw new Error(`${t}格式错误。`);return e}function kvt(e){const t=ki(e,"迁移分析结果"),n=t.recommended===null?null:ki(t.recommended,"迁移建议"),i=ki(t.boundary,"迁移边界");if(t.schema_version!==1||!["needs_input","recommendation_ready","unsupported"].includes(String(t.status))||typeof t.attempt!="number"||typeof t.input_sha256!="string"||typeof t.summary!="string"||!Array.isArray(t.frameworks)||!Array.isArray(t.entries)||!Array.isArray(t.questions))throw new Error("迁移分析结果格式错误。");return{schema_version:1,status:t.status,attempt:t.attempt,input_sha256:t.input_sha256,summary:t.summary,frameworks:t.frameworks.map(r=>{const s=ki(r,"框架候选");if(!["high","medium","low"].includes(String(s.confidence))||!Array.isArray(s.evidence))throw new Error("框架候选格式错误。");return{id:nx(s.id,"框架候选"),confidence:s.confidence,evidence:s.evidence.map(a=>{const l=ki(a,"分析证据");if(typeof l.path!="string"||typeof l.line!="number"||typeof l.reason!="string")throw new Error("分析证据格式错误。");return{path:l.path,line:l.line,reason:l.reason}})}}),recommended:n===null?null:{framework:nx(n.framework,"推荐框架"),entry:n.entry===null||typeof n.entry=="string"?n.entry:null,reason:typeof n.reason=="string"?n.reason:""},entries:t.entries.map(r=>{const s=ki(r,"入口候选");if(typeof s.value!="string"||typeof s.evidence!="string")throw new Error("入口候选格式错误。");return{value:s.value,framework:nx(s.framework,"入口框架"),evidence:s.evidence}}),boundary:{include:Kp(i.include,"迁移包含范围"),exclude:Kp(i.exclude,"迁移排除范围")},assumptions:Kp(t.assumptions,"分析假设"),questions:t.questions.map(r=>{const s=ki(r,"待确认问题");if(typeof s.id!="string"||typeof s.prompt!="string"||typeof s.required!="boolean")throw new Error("待确认问题格式错误。");return{id:s.id,prompt:s.prompt,required:s.required}}),warnings:Kp(t.warnings,"迁移警告")}}function Jm(e){const t=ki(e,"迁移会话"),n=ki(t.artifact,"迁移产物状态");if(typeof t.id!="string"||typeof t.state!="string"||!vvt.has(t.state)||typeof t.message!="string"||typeof t.sourceFileName!="string"||typeof t.instruction!="string"||typeof t.createdAt!="string"&&typeof t.createdAt!="number"||typeof t.expiresAt!="string"||typeof t.sessionTtlSeconds!="number"||typeof t.canModify!="boolean"||typeof t.canUpload!="boolean"||typeof t.canAnswer!="boolean"||typeof t.canConfirm!="boolean"||typeof t.canStop!="boolean")throw new Error("迁移会话格式错误。");const i={id:t.id,state:t.state,message:t.message,sourceFileName:t.sourceFileName,instruction:t.instruction,createdAt:t.createdAt,expiresAt:t.expiresAt,sessionTtlSeconds:t.sessionTtlSeconds,canModify:t.canModify,canUpload:t.canUpload,canAnswer:t.canAnswer,canConfirm:t.canConfirm,canStop:t.canStop,artifact:{state:typeof n.state=="string"?n.state:"none",previewReady:n.previewReady===!0,downloadReady:n.downloadReady===!0,deployReady:n.deployReady===!0}};if(t.analysis!==void 0&&(i.analysis=kvt(t.analysis)),t.analysisRef!==void 0){const r=ki(t.analysisRef,"分析结果引用");if(typeof r.attempt!="number"||typeof r.sha256!="string"||typeof r.inputSha256!="string")throw new Error("分析结果引用格式错误。");i.analysisRef={attempt:r.attempt,sha256:r.sha256,inputSha256:r.inputSha256}}if(t.confirmation!==void 0){const r=ki(t.confirmation,"迁移确认");i.confirmation={...r.framework!==void 0?{framework:nx(r.framework,"确认框架")}:{},...r.entry===null||typeof r.entry=="string"?{entry:r.entry}:{},...typeof r.app_name=="string"?{app_name:r.app_name}:{}}}if(t.error!==void 0){const r=ki(t.error,"迁移错误");i.error={code:typeof r.code=="string"?r.code:"MIGRATION_ERROR",message:typeof r.message=="string"?r.message:t.message,retryable:r.retryable===!0}}return i}function Tvt(e){const t=ki(e,"迁移执行动态");if(typeof t.available!="boolean"||typeof t.complete!="boolean"||!Array.isArray(t.items))throw new Error("迁移执行动态格式错误。");return{available:t.available,complete:t.complete,items:t.items.map(n=>{const i=ki(n,"迁移执行动态项");if(typeof i.id!="string"||typeof i.kind!="string"||!wvt.has(i.kind)||typeof i.status!="string"||!Svt.has(i.status)||typeof i.title!="string"||i.detail!==void 0&&typeof i.detail!="string")throw new Error("迁移执行动态项格式错误。");let r;if(i.tool!==void 0){const a=ki(i.tool,"迁移执行工具项");if(typeof a.name!="string"||a.error!==void 0&&typeof a.error!="string"||a.exitCode!==void 0&&!Number.isInteger(a.exitCode))throw new Error("迁移执行工具项格式错误。");r={name:a.name,...Object.prototype.hasOwnProperty.call(a,"input")?{input:a.input}:{},...Object.prototype.hasOwnProperty.call(a,"output")?{output:a.output}:{},...typeof a.error=="string"?{error:a.error}:{},...typeof a.exitCode=="number"?{exitCode:a.exitCode}:{}}}let s;if(i.plan!==void 0){if(!Array.isArray(i.plan))throw new Error("迁移执行计划格式错误。");s=i.plan.map(a=>{const l=ki(a,"迁移执行计划项");if(typeof l.text!="string"||typeof l.status!="string"||!Evt.has(l.status))throw new Error("迁移执行计划项格式错误。");return{text:l.text,status:l.status}})}return{id:i.id,kind:i.kind,status:i.status,title:i.title,...typeof i.detail=="string"?{detail:i.detail}:{},...r?{tool:r}:{},...s?{plan:s}:{}}})}}function _vt(e){const t=ki(e,"迁移产物"),n=ki(t.cli,"CLI 信息"),i=ki(t.migration,"迁移信息"),r=ki(t.startup,"启动信息"),s=ki(t.environment,"环境变量信息"),a=ki(t.verification,"校验信息"),l=ki(t.report,"迁移报告"),c=ki(t.artifact,"产物归档"),u=s.defaults===void 0?{}:ki(s.defaults,"环境变量默认值");if(t.schema_version!==1||!["succeeded","succeeded_with_warnings","partial"].includes(String(t.status))||typeof n.name!="string"||typeof n.version!="string"||!["structured","agentic"].includes(String(i.engine))||typeof i.framework!="string"||!Array.isArray(t.files)||typeof r.module!="string"||typeof r.object!="string"||!["passed","failed","degraded"].includes(String(a.status))||!Array.isArray(a.checks)||typeof l.path!="string"||c.path!=="migration-result.zip"||typeof c.size!="number"||typeof c.sha256!="string"||typeof t.created_at!="string")throw new Error("迁移产物格式错误。");const d=Kp(s.required,"必需环境变量"),f=Kp(s.optional,"可选环境变量"),h=new Set([...d,...f]),p=Object.fromEntries(Object.entries(u).map(([b,g])=>{if(!h.has(b)||typeof g!="string")throw new Error("环境变量默认值格式错误。");return[b,g]}));return{schema_version:1,...typeof t.run_id=="string"?{run_id:t.run_id}:{},cli:{name:n.name,version:n.version},migration:{engine:i.engine,framework:i.framework,...typeof i.entry=="string"?{entry:i.entry}:{},...typeof i.source_sha256=="string"?{source_sha256:i.source_sha256}:{},...typeof i.provenance_sha256=="string"?{provenance_sha256:i.provenance_sha256}:{}},status:t.status,files:t.files.map(b=>{const g=ki(b,"迁移产物文件");if(typeof g.path!="string"||typeof g.size!="number"||typeof g.sha256!="string"||typeof g.mode!="string")throw new Error("迁移产物文件格式错误。");return{path:g.path,size:g.size,sha256:g.sha256,mode:g.mode}}),startup:{module:r.module,object:r.object,...Array.isArray(r.command)&&r.command.every(b=>typeof b=="string")?{command:r.command}:{}},environment:{required:d,optional:f,defaults:p},verification:{status:a.status,checks:a.checks.map(b=>{const g=ki(b,"迁移校验项");if(typeof g.name!="string"||!["passed","failed"].includes(String(g.status)))throw new Error("迁移校验项格式错误。");return{name:g.name,status:g.status,...typeof g.detail=="string"?{detail:g.detail}:{}}})},warnings:Kp(t.warnings,"迁移产物警告"),report:{path:l.path},artifact:{path:"migration-result.zip",size:c.size,sha256:c.sha256},created_at:t.created_at}}async function Wl(e,t={},n=wo){return fetch(go(`${yvt}${e}`),{...t,headers:Gh(t.headers),signal:So(t.signal,n)})}function Avt(e){return Array.isArray(e)?e.map(t=>{if(!t||typeof t!="object"||Array.isArray(t))return"";const n=t,i=Array.isArray(n.loc)?n.loc.filter(s=>typeof s=="string"||typeof s=="number").join("."):"",r=typeof n.msg=="string"?n.msg:"";return r?i?`${i}: ${r}`:r:""}).filter(Boolean).join(";"):""}async function W9(e,t){var i;const n=await e.text().catch(()=>"");try{const r=ki(JSON.parse(n),"错误响应");if(Array.isArray(r.detail)){const a=Avt(r.detail);return new ao(a?`请求参数校验失败:${a}`:t,e.status,"MIGRATION_REQUEST_INVALID",!1,e.statusText,n)}if(typeof r.detail=="string")return new ao(r.detail,e.status,typeof r.code=="string"?r.code:"MIGRATION_ERROR",r.retryable===!0,e.statusText,n);const s=r.detail&&typeof r.detail=="object"?ki(r.detail,"错误详情"):r;return new ao(typeof s.message=="string"?s.message:t,e.status,typeof s.code=="string"?s.code:"MIGRATION_ERROR",s.retryable===!0,e.statusText,n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失";return new ao(`${t}(HTTP ${e.status},Content-Type: ${r})。请检查代理或网关配置。`,e.status,"MIGRATION_ERROR",!1,e.statusText,n)}}async function Bu(e,t){if(!e.ok)throw await W9(e,t);if(!(e.headers.get("content-type")??"").includes("application/json"))throw new ao(`${t}:服务端返回非 JSON 响应(HTTP ${e.status})。请检查代理或网关配置。`,e.status,"MIGRATION_RESPONSE_INVALID",!1,e.statusText);return e.json()}async function Cvt(e){const t=ki(await Bu(await Wl("/capabilities",{signal:e}),"读取迁移能力失败"),"迁移能力");if(typeof t.enabled!="boolean"||typeof t.reason!="string"||typeof t.maxUploadBytes!="number"||typeof t.sessionTtlSeconds!="number"||!Array.isArray(t.frameworks))throw new Error("迁移能力格式错误。");return{enabled:t.enabled,reason:t.reason,maxUploadBytes:t.maxUploadBytes,sessionTtlSeconds:t.sessionTtlSeconds,frameworks:t.frameworks.map(n=>nx(n,"迁移框架"))}}async function SD(e){const t=ki(await Bu(await Wl("/tasks",{signal:e}),"读取迁移会话失败"),"迁移会话列表");if(!Array.isArray(t.items))throw new Error("迁移会话列表格式错误。");return t.items.map(Jm)}async function Nvt(e){return Jm(await Bu(await Wl("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e.taskId,sourceFileName:e.sourceFileName,instruction:e.instruction}),signal:e.signal},ZC),"创建迁移会话失败"))}async function UW(e,t,n){return Jm(await Bu(await Wl(`/tasks/${encodeURIComponent(e)}/source`,{method:"PUT",headers:{"Content-Type":"application/zip"},body:t,signal:n},ZC),"上传迁移项目失败"))}async function ED(e,t){return Jm(await Bu(await Wl(`/tasks/${encodeURIComponent(e)}`,{signal:t}),"读取迁移会话失败"))}async function jvt(e,t){return Tvt(await Bu(await Wl(`/tasks/${encodeURIComponent(e)}/activity`,{signal:t,cache:"no-store"}),"读取迁移执行动态失败"))}async function Rvt(e){return Jm(await Bu(await Wl(`/tasks/${encodeURIComponent(e.taskId)}/confirm`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({framework:e.framework,entry:e.entry||null,appName:e.appName,instruction:e.instruction,analysisAttempt:e.analysisAttempt,analysisSha256:e.analysisSha256,inputSha256:e.inputSha256,boundaryConfirmed:!0}),signal:e.signal},ZC),"启动迁移失败"))}async function Ivt(e){return Jm(await Bu(await Wl(`/tasks/${encodeURIComponent(e.taskId)}/answers`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({analysisAttempt:e.analysisAttempt,analysisSha256:e.analysisSha256,inputSha256:e.inputSha256,answers:e.answers}),signal:e.signal},ZC),"提交分析补充信息失败"))}async function Dvt(e,t){return Jm(await Bu(await Wl(`/tasks/${encodeURIComponent(e)}/stop`,{method:"POST",signal:t}),"终止迁移失败"))}async function Pvt(e,t){return _vt(await Bu(await Wl(`/tasks/${encodeURIComponent(e)}/artifact`,{signal:t}),"读取迁移产物失败"))}async function Mvt(e,t,n){var s;const i=new URLSearchParams({path:t}),r=await Wl(`/tasks/${encodeURIComponent(e)}/artifact/file?${i}`,{signal:n},Nr);if(!r.ok)throw await W9(r,"读取迁移产物文件失败");return{blob:await r.blob(),mimeType:((s=r.headers.get("content-type"))==null?void 0:s.split(";",1)[0])||"application/octet-stream"}}function Lvt(e,t){var i;return((i=(e.headers.get("content-disposition")||"").match(/filename="([^"]+)"/))==null?void 0:i[1])||t}async function $vt(e,t,n){const i=await Wl(`/tasks/${encodeURIComponent(e)}/download`,{signal:n},Nr);if(!i.ok)throw await W9(i,"下载迁移产物失败");const r=URL.createObjectURL(await i.blob()),s=document.createElement("a");s.href=r,s.download=Lvt(i,`${t}-migrated.zip`),s.click(),window.setTimeout(()=>URL.revokeObjectURL(r),1e3)}function eg({children:e,...t}){return o.jsx("svg",{...t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.65",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:e})}function Bvt(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"m10 6-6 6 6 6M4 12h16"})})}function Qvt(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"M12 3v12m-4-4 4 4 4-4M5 20h14"})})}function lT(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"M6 3.5h8l4 4V20H6zM14 3.5v4h4M9 12h6M9 15.5h6"})})}function Fvt(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"M12 5v14M5 12h14"})})}function Uvt(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"M14.5 4.5c2.3-.9 4.2-.8 5-.6.2.8.3 2.7-.6 5l-5.1 5.1-3.8-3.8zM15.4 8.6h.1M10.3 10.5l-3.8.7-2.1 2.1 5.3.2M13.5 13.7l-.7 3.8-2.1 2.1-.2-5.3M7.2 16.8l-2.8 2.8"})})}function zvt(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"M12 16V4m-4 4 4-4 4 4M5 20h14"})})}function zW(e){return o.jsx(eg,{...e,children:o.jsx("path",{d:"m6 6 12 12M18 6 6 18"})})}const Vvt=new Set(["MODEL_AGENT_API_KEY"]),qvt=new Set(["MODEL_AGENT_NAME","MODEL_NAME"]),Hvt=new Set(["VOLCENGINE_ACCESS_KEY","VOLCENGINE_SECRET_KEY","VOLCENGINE_SESSION_TOKEN","BYTEPLUS_ACCESS_KEY","BYTEPLUS_SECRET_KEY","BYTEPLUS_SESSION_TOKEN","VEADK_DISABLE_EXPIRE_AT"]);function cT(e){return!Hvt.has(e)}function eL(e){return Vvt.has(e)||/(?:API_KEY|ACCESS_KEY|SECRET_KEY|PRIVATE_KEY|TOKEN|SECRET|PASSWORD|PASSWD|PWD|CREDENTIAL)$/.test(e)}function Xvt(e,t){const n={},i=new Set([...e.environment.required,...e.environment.optional]);for(const r of i){if(!cT(r)||eL(r))continue;const s=r==="MODEL_AGENT_API_BASE"?Ec(t):qvt.has(r)?ym(t):e.environment.defaults[r];s!=null&&s.trim()&&(n[r]=s)}return n}function Gvt(e){return e.flatMap(t=>{if(t.kind==="reasoning"&&t.detail)return[{kind:"thinking",text:t.detail,done:t.status!=="running"}];if(t.kind==="message"&&t.detail)return[{kind:"text",text:t.detail}];if(t.kind==="plan")return[{kind:"plan",title:t.title,summary:t.detail,items:t.plan??[],done:t.status!=="running"}];if(t.kind==="command"){const n=t.tool,i=n!=null&&n.error||typeof(n==null?void 0:n.exitCode)=="number"?{...n.output!==void 0?{output:n.output}:{},...n.error?{error:n.error}:{},...typeof n.exitCode=="number"?{exitCode:n.exitCode}:{}}:n==null?void 0:n.output;return[{kind:"tool",name:(n==null?void 0:n.name)??t.title,args:n==null?void 0:n.input,response:i,done:t.status!=="running",status:t.status}]}return t.kind==="status"&&t.status!=="completed"?[{kind:"tool",name:t.title,response:t.detail,done:t.status!=="running",status:t.status}]:[]})}const Yvt=50*1024*1024,kD=1200,VW=3e3,Wvt=5e3,qW=500,Zvt=()=>{},dOe={langchain:"LangChain",langgraph:"LangGraph",adk:"Google ADK",strands:"Strands",agentcore:"AgentCore",dify:"Dify",any:"Any(通用迁移)"},TD=new Set(["langchain","langgraph","adk","strands","agentcore"]);function Kvt(e){switch(e){case"awaiting_upload":return"待上传";case"analyzing":return"分析中";case"needs_input":return"待补充";case"analysis_ready":return"待确认";case"migrating":return"迁移中";case"validating":return"校验中";case"packaging":return"打包中";case"succeeded":return"已完成";case"succeeded_with_warnings":return"已完成,有提示";case"partial":return"部分完成";case"failed":return"失败";case"cancelled":return"已终止";case"expired":return"已过期"}}function _D(e){return e.state==="partial"&&e.artifact.previewReady?"迁移产物已生成,但交付不完整,请查看迁移提示。":["succeeded","succeeded_with_warnings"].includes(e.state)&&e.artifact.previewReady?e.state==="succeeded_with_warnings"?"迁移产物已生成,请查看迁移提示。":"迁移产物已生成。":e.message}function Jvt(e){switch(e){case"passed":return"产物校验通过";case"failed":return"产物校验未通过";case"degraded":return"产物校验未完成"}}function AD({stage:e}){const t=[{id:"session",label:"创建迁移环境"},{id:"upload",label:"上传项目"},{id:"analysis",label:"分析项目"}],n=t.findIndex(i=>i.id===e);return o.jsx("div",{className:"migration-transfer-progress",role:"status",children:t.map((i,r)=>o.jsxs("div",{className:r=n)return{title:"迁移环境已过期",detail:"会话和产物已无法访问"};const i=Math.max(0,n-t),r=Math.floor(i/6e4),s=Math.floor(i%6e4/1e3);return{title:`迁移环境将在 ${r} 分 ${s} 秒后过期`,detail:"过期后无法查看会话,也无法预览、下载或部署产物"}}function swt(e,t){let n=!1;const i=e.map(r=>{if(r.state==="expired")return r;const s=new Date(r.expiresAt).getTime();return!Number.isFinite(s)||ti.id!==t.id);return[t,...n].sort((i,r)=>{const s=typeof i.createdAt=="number"?i.createdAt*1e3:new Date(i.createdAt).getTime();return(typeof r.createdAt=="number"?r.createdAt*1e3:new Date(r.createdAt).getTime())-s})}function awt(e,t){return e.find(n=>n.id===t)??null}function owt(e,t){return e.startsWith("text/")||/(?:json|javascript|xml|yaml)/i.test(e)||/\.(?:py|ts|tsx|js|jsx|json|ya?ml|md|txt|toml|ini|cfg|env|sh|dockerfile)$/i.test(t)}function lwt({analysis:e}){var t;return o.jsxs("div",{className:"migration-analysis",children:[o.jsx(Tu,{text:e.summary,allowRawHtml:!1}),o.jsxs("div",{className:"migration-analysis__facts",children:[e.recommended?o.jsxs("section",{children:[o.jsx("h3",{children:"建议迁移方式"}),o.jsx("strong",{children:dOe[e.recommended.framework]}),o.jsx("p",{children:e.recommended.reason})]}):null,o.jsxs("section",{children:[o.jsx("h3",{children:"迁移范围"}),o.jsx("ul",{children:e.boundary.include.map(n=>o.jsx("li",{children:n},n))})]}),e.boundary.exclude.length>0?o.jsxs("section",{children:[o.jsx("h3",{children:"不在本次范围"}),o.jsx("ul",{children:e.boundary.exclude.map(n=>o.jsx("li",{children:n},n))})]}):null]}),(t=e.frameworks[0])!=null&&t.evidence.length?o.jsxs("details",{className:"migration-analysis__evidence",children:[o.jsx("summary",{children:"查看分析证据"}),o.jsx("ul",{children:e.frameworks.flatMap(n=>n.evidence.map(i=>o.jsxs("li",{children:[o.jsxs("code",{children:[i.path,":",i.line]}),o.jsx("span",{children:i.reason})]},`${n.id}:${i.path}:${i.line}`)))})]}):null,e.warnings.length>0?o.jsx("div",{className:"migration-analysis__warnings",children:e.warnings.map(n=>o.jsx("p",{children:n},n))}):null,e.assumptions.length>0?o.jsxs("details",{className:"migration-analysis__evidence",children:[o.jsx("summary",{children:"查看关键假设"}),o.jsx("ul",{children:e.assumptions.map(n=>o.jsx("li",{children:n},n))})]}):null]})}function cwt({activity:e,loading:t,error:n,analyzing:i}){const r=(e==null?void 0:e.items)??[],s=Gvt(r);return o.jsxs("section",{className:"migration-activity","aria-label":"Codex 执行动态",children:[o.jsxs("div",{className:"migration-activity__heading",children:[o.jsx("span",{className:`migration-activity__marker${e!=null&&e.complete?" is-complete":""}`,"aria-hidden":"true"}),o.jsx("strong",{children:"Codex 执行动态"})]}),s.length>0?o.jsx("div",{className:"migration-activity__stream",children:o.jsx(dC,{blocks:s,onAction:Zvt})}):t||!(e!=null&&e.complete)?o.jsx(Rn,{children:i?"Codex 正在开始分析…":"Codex 正在开始迁移…"}):null,n?o.jsx("p",{className:"migration-activity__error",role:"status",children:n}):null]})}function uwt({task:e,artifact:t}){var d;const[n,i]=m.useState(""),[r,s]=m.useState(((d=t.files[0])==null?void 0:d.path)??""),[a,l]=m.useState(null),c=t.files.find(f=>f.path===r)??t.files[0],u=m.useMemo(()=>{const f=n.trim().toLocaleLowerCase();return(f?t.files.filter(p=>p.path.toLocaleLowerCase().includes(f)):t.files).slice(0,qW)},[t.files,n]);return m.useEffect(()=>{if(!c)return;if(c.size>2*1024*1024){l({path:c.path,loading:!1,error:"该文件超过 2 MiB,请下载完整产物后查看。"});return}const f=new AbortController;let h="";return l({path:c.path,loading:!0}),Mvt(e.id,c.path,f.signal).then(async({blob:p,mimeType:b})=>{if(!f.signal.aborted){if(b.startsWith("image/")){h=URL.createObjectURL(p),l({path:c.path,loading:!1,imageUrl:h});return}if(owt(b,c.path)){const g=await p.text();if(f.signal.aborted)return;l({path:c.path,loading:!1,text:g});return}l({path:c.path,loading:!1,error:"该文件不支持在线预览,请下载完整产物后查看。"})}}).catch(p=>{f.signal.aborted||l({path:c.path,loading:!1,error:p instanceof Error?p.message:String(p)})}),()=>{f.abort(),h&&URL.revokeObjectURL(h)}},[c,e.id]),o.jsxs("div",{className:"migration-artifact-browser",children:[o.jsxs("aside",{"aria-label":"迁移产物文件",children:[o.jsxs("label",{className:"migration-artifact-browser__search",children:[o.jsx("span",{className:"sr-only",children:"搜索产物文件"}),o.jsx("input",{value:n,onChange:f=>i(f.currentTarget.value),placeholder:"搜索文件"})]}),o.jsx("div",{className:"migration-artifact-browser__files",children:u.map(f=>o.jsxs("button",{type:"button",className:f.path===(c==null?void 0:c.path)?"is-active":"",onClick:()=>s(f.path),title:f.path,children:[o.jsx(lT,{}),o.jsx("span",{children:f.path}),o.jsx("small",{children:tL(f.size)})]},f.path))}),t.files.length>u.length?o.jsxs("p",{className:"migration-artifact-browser__limit",children:["仅展示前 ",qW," 项,请搜索具体文件。"]}):null]}),o.jsxs("section",{children:[o.jsxs("header",{children:[o.jsx("span",{title:c==null?void 0:c.path,children:(c==null?void 0:c.path)||"未选择文件"}),c?o.jsx("small",{children:tL(c.size)}):null]}),o.jsx("div",{className:"migration-artifact-browser__preview",children:c?(a==null?void 0:a.path)!==c.path||a.loading?o.jsx(Rn,{children:"正在读取产物文件…"}):a.error?o.jsx("p",{role:"status",children:a.error}):a.imageUrl?o.jsx("img",{src:a.imageUrl,alt:c.path}):o.jsx(k9,{value:a.text??"",path:c.path,readOnly:!0,onChange:()=>{}}):o.jsx("p",{children:"暂无可预览文件。"})})]})]})}function dwt({cloudProvider:e,onBack:t,onAgentAdded:n,onDeploymentTaskChange:i,onDeploymentStarted:r,onDeploymentComplete:s,initialDeployRegion:a=qi(e)}){var at,Dt,Yt,cn,Zt,si,di,Yi;const l=m.useRef(null),c=m.useRef(""),u=m.useRef(null),[d,f]=m.useState(null),[h,p]=m.useState([]),[b,g]=m.useState(""),[O,y]=m.useState(null),[v,x]=m.useState(!1),[w,S]=m.useState(!0),[E,k]=m.useState(""),[T,_]=m.useState(""),[N,C]=m.useState(""),[R,L]=m.useState(!1),[D,$]=m.useState(Date.now()),[j,P]=m.useState(null),[M,U]=m.useState("langchain"),[F,H]=m.useState(""),[z,Q]=m.useState(""),[q,le]=m.useState({}),[ge,be]=m.useState(null),[ce,Z]=m.useState(""),[J,ue]=m.useState(!1),[Oe,Ne]=m.useState(0),[De,Pe]=m.useState(null),[pe,Ee]=m.useState(!1),[ye,$e]=m.useState(""),[Ue,_e]=m.useState(!1),[ze,lt]=m.useState(!1),[Lt,We]=m.useState(a),[W,ne]=m.useState(),[de,xe]=m.useState({}),V=awt(h,b),Re=j?Math.max(0,Math.floor((D-j)/1e3)):0,Ze=De==null?void 0:De.items[De.items.length-1],et=[(De==null?void 0:De.items.length)??0,(Ze==null?void 0:Ze.id)??"",(Ze==null?void 0:Ze.status)??"",((at=Ze==null?void 0:Ze.detail)==null?void 0:at.length)??0].join(":"),{ref:Jt,onScroll:Ht}=Fde(`${(V==null?void 0:V.id)??"new"}:${(V==null?void 0:V.state)??"new"}:${et}`);async function At(oe,Qe=!0,ct){try{const wt=await ED(oe,ct);return ct!=null&&ct.aborted?null:(p(En=>td(En,wt)),C(""),L(!1),wt)}catch(wt){return ct!=null&&ct.aborted||Qe&&(C(wt instanceof Error?wt.message:String(wt)),L(wt instanceof ao&&wt.retryable)),null}}async function vt(oe){try{const Qe=await SD(oe);if(oe!=null&&oe.aborted)return;p(Qe),C(""),L(!1)}catch(Qe){if(oe!=null&&oe.aborted)return;C(Qe instanceof Error?Qe.message:String(Qe)),L(Qe instanceof ao&&Qe.retryable)}}m.useEffect(()=>{const oe=new AbortController;return S(!0),_(""),Promise.all([Cvt(oe.signal),SD(oe.signal)]).then(([Qe,ct])=>{oe.signal.aborted||(f(Qe),p(ct))}).catch(Qe=>{oe.signal.aborted||_(Qe instanceof Error?Qe.message:String(Qe))}).finally(()=>{oe.signal.aborted||S(!1)}),()=>oe.abort()},[]),m.useEffect(()=>()=>{var oe;(oe=u.current)==null||oe.abort(),u.current=null},[]),m.useEffect(()=>{const oe=window.setInterval(()=>{const Qe=Date.now();$(Qe),p(ct=>swt(ct,Qe))},1e3);return()=>window.clearInterval(oe)},[]),m.useEffect(()=>{if(!h.some(ct=>vp(ct.state)))return;const oe=new AbortController,Qe=window.setInterval(()=>{SD(oe.signal).then(ct=>{oe.signal.aborted||p(ct),C(""),L(!1)}).catch(ct=>{oe.signal.aborted||(C(ct instanceof Error?ct.message:String(ct)),L(ct instanceof ao&&ct.retryable),ct instanceof ao&&ct.retryable||window.clearInterval(Qe))})},Wvt);return()=>{oe.abort(),window.clearInterval(Qe)}},[h.some(oe=>vp(oe.state))]),m.useEffect(()=>{if(!V||!vp(V.state))return;const oe=new AbortController;let Qe;const ct=async()=>{try{const wt=await ED(V.id,oe.signal);if(oe.signal.aborted)return;p(En=>td(En,wt)),C(""),L(!1),vp(wt.state)&&(Qe=window.setTimeout(()=>void ct(),kD))}catch(wt){if(oe.signal.aborted)return;C(wt instanceof Error?wt.message:String(wt)),L(wt instanceof ao&&wt.retryable),wt instanceof ao&&wt.retryable&&(Qe=window.setTimeout(()=>void ct(),kD))}};return Qe=window.setTimeout(()=>void ct(),kD),()=>{oe.abort(),Qe!==void 0&&window.clearTimeout(Qe)}},[V==null?void 0:V.id,V==null?void 0:V.state]),m.useEffect(()=>{const oe=Jt.current;oe&&(oe.scrollTop=oe.scrollHeight,Ht())},[b,Jt,Ht]),m.useEffect(()=>{if(Pe(null),$e(""),Ee(!1),!V||!HW(V))return;const oe=new AbortController;let Qe;const ct=async()=>{Ee(!0);try{const wt=await jvt(V.id,oe.signal);if(oe.signal.aborted)return;Pe(wt),$e(""),!wt.complete&&vp(V.state)&&(Qe=window.setTimeout(()=>void ct(),VW))}catch(wt){if(oe.signal.aborted)return;$e("暂时无法读取 Codex 执行动态,不影响当前任务。"),vp(V.state)&&wt instanceof ao&&wt.retryable&&(Qe=window.setTimeout(()=>void ct(),VW))}finally{oe.signal.aborted||Ee(!1)}};return ct(),()=>{oe.abort(),Qe!==void 0&&window.clearTimeout(Qe)}},[V==null?void 0:V.id,V==null?void 0:V.state,(Dt=V==null?void 0:V.analysisRef)==null?void 0:Dt.sha256,(Yt=V==null?void 0:V.confirmation)==null?void 0:Yt.framework]),m.useEffect(()=>{if(!(V!=null&&V.analysis)||!V.analysisRef||!["needs_input","analysis_ready"].includes(V.state))return;const oe=`${V.id}:${V.analysisRef.attempt}:${V.analysisRef.sha256}`;if(c.current===oe||(c.current=oe,le({}),V.state!=="analysis_ready"))return;const Qe=V.analysis.recommended;Qe&&(U(Qe.framework),H(Qe.entry||""),Q(XW(V.sourceFileName)))},[V]),m.useEffect(()=>{if(be(null),Z(""),ue(!1),lt(!1),xe({}),!(V!=null&&V.artifact.previewReady))return;const oe=new AbortController;return Pvt(V.id,oe.signal).then(Qe=>{oe.signal.aborted||be(Qe)}).catch(Qe=>{oe.signal.aborted||(Z(Qe instanceof Error?Qe.message:String(Qe)),ue(Qe instanceof ao&&Qe.retryable))}),()=>oe.abort()},[V==null?void 0:V.id,V==null?void 0:V.artifact.previewReady,Oe]),m.useEffect(()=>{if(!ge)return;const oe=Xvt(ge,e);xe(Qe=>{var wt;const ct={...Qe};for(const[En,fi]of Object.entries(oe))(wt=ct[En])!=null&&wt.trim()||(ct[En]=fi);return ct})},[ge,e]);function ve(oe){if(!u.current&&(_(""),!!oe)){if(!oe.name.toLowerCase().endsWith(".zip")){y(null),_("请选择 .zip 格式的本地项目文件。");return}if(oe.name.length>255||/[/\\\u0000-\u001f]/.test(oe.name)){y(null),_("ZIP 文件名无效,请重命名后重新选择。");return}if(oe.size>Yvt){y(null),_("项目 ZIP 不能超过 50 MiB。");return}if(oe.size===0){y(null),_("项目 ZIP 不能为空。");return}y(oe)}}function Ve(oe){var ct;const Qe=(ct=oe.currentTarget.files)==null?void 0:ct[0];oe.currentTarget.value="",ve(Qe)}async function Fe(){if(!O||E||u.current)return;const oe=new AbortController;u.current=oe;const Qe=()=>u.current===oe&&!oe.signal.aborted,ct=`migration-v1-${crypto.randomUUID().replace(/-/g,"")}`;k("create"),P(Date.now()),_("");try{const wt=await Nvt({taskId:ct,sourceFileName:O.name,instruction:"",signal:oe.signal});if(!Qe())return;p(fi=>td(fi,wt)),g(wt.id),k("upload"),P(null);const En=await UW(wt.id,O,oe.signal);if(!Qe())return;p(fi=>td(fi,En)),y(null)}catch(wt){if(!Qe())return;const En=await At(ct,!1,oe.signal);if(!Qe())return;if(En){if(g(En.id),En.state!=="awaiting_upload"){y(null);return}}else if(await vt(oe.signal),!Qe())return;_(wt instanceof Error?wt.message:String(wt))}finally{u.current===oe&&(u.current=null,P(null),k(""))}}async function yt(){if(!(V!=null&&V.canUpload)||!O||E||u.current)return;const oe=new AbortController;u.current=oe;const Qe=()=>u.current===oe&&!oe.signal.aborted;k("upload"),_("");try{const ct=await UW(V.id,O,oe.signal);if(!Qe())return;p(wt=>td(wt,ct)),y(null)}catch(ct){if(!Qe())return;const wt=await At(V.id,!0,oe.signal);if(!Qe())return;if(wt&&wt.state!=="awaiting_upload"){y(null);return}_(ct instanceof Error?ct.message:String(ct))}finally{u.current===oe&&(u.current=null,k(""))}}const bt=m.useMemo(()=>{var oe;return(((oe=V==null?void 0:V.analysis)==null?void 0:oe.entries)??[]).filter(Qe=>Qe.framework===M).map(Qe=>({value:Qe.value,label:Qe.value,description:Qe.evidence}))},[M,(cn=V==null?void 0:V.analysis)==null?void 0:cn.entries]),jt=(((Zt=V==null?void 0:V.analysis)==null?void 0:Zt.questions)??[]).every(oe=>{var Qe;return!oe.required||!!((Qe=q[oe.id])!=null&&Qe.trim())}),Ae=twt(z),Ke=!!(V!=null&&V.canConfirm&&V.analysisRef&&!E&&!Ae&&(!TD.has(M)||F.trim())),Rt=!!(V!=null&&V.canAnswer&&V.analysisRef&&!E&&jt);async function sn(){if(!(!(V!=null&&V.analysisRef)||!Rt)){k("answer"),_("");try{const oe=await Ivt({taskId:V.id,analysisAttempt:V.analysisRef.attempt,analysisSha256:V.analysisRef.sha256,inputSha256:V.analysisRef.inputSha256,answers:q});p(Qe=>td(Qe,oe))}catch(oe){const Qe=await At(V.id);if(Qe&&Qe.state!=="needs_input")return;_(oe instanceof Error?oe.message:String(oe))}finally{k("")}}}async function nt(){if(!(!(V!=null&&V.analysisRef)||!Ke)){k("confirm"),_("");try{const oe=await Rvt({taskId:V.id,framework:M,entry:TD.has(M)?F.trim():void 0,appName:z.trim(),instruction:"",analysisAttempt:V.analysisRef.attempt,analysisSha256:V.analysisRef.sha256,inputSha256:V.analysisRef.inputSha256});p(Qe=>td(Qe,oe))}catch(oe){const Qe=await At(V.id);if(Qe&&Qe.state!=="analysis_ready")return;_(oe instanceof Error?oe.message:String(oe))}finally{k("")}}}async function pn(){if(!(!(V!=null&&V.canStop)||E)){k("stop"),_("");try{const oe=await Dvt(V.id);p(Qe=>td(Qe,oe)),_e(!1)}catch(oe){const Qe=await At(V.id);if(Qe&&!Qe.canStop){_e(!1);return}_(oe instanceof Error?oe.message:String(oe))}finally{k("")}}}async function ei(){if(!(!(V!=null&&V.artifact.downloadReady)||E)){k("download"),_("");try{await $vt(V.id,uT(V.sourceFileName))}catch(oe){_(oe instanceof Error?oe.message:String(oe))}finally{k("")}}}function Ft(){g(""),y(null),_(""),C(""),L(!1),be(null),Z(""),ue(!1),lt(!1),_e(!1)}const Ut=ge?{name:((si=V==null?void 0:V.confirmation)==null?void 0:si.app_name)||XW((V==null?void 0:V.sourceFileName)||"migration.zip"),files:[{path:"migration-result.json",content:`${JSON.stringify(ge,null,2)} +`}]}:null,Ce=ge?ge.environment.required.filter(cT).filter(eL).map(oe=>({key:oe,label:oe})):[],Ye=ge?[...ge.environment.required.filter(cT).filter(oe=>!eL(oe)).map(oe=>({key:oe,required:!0,comment:oe,placeholder:`请输入 ${oe}`})),...ge.environment.optional.filter(cT).map(oe=>({key:oe,required:!1,comment:oe,placeholder:`可选:${oe}`}))]:[];async function $t(oe,Qe,ct){if(!V||!ge)throw new Error("迁移产物尚未准备完成。");const wt=W&&W.mode!=="public"?{mode:W.mode,vpc_id:W.vpcId,subnet_ids:W.subnetIds,enable_shared_internet_access:W.enableSharedInternetAccess}:void 0;return cO(oe.name,oe.files,{region:Lt,projectName:"default",network:wt},{...ct,migrationTaskId:V.id,onStage:Qe})}if(ze&&Ut&&V&&ge)return o.jsx("div",{className:"migration-deployment",children:o.jsx(GC,{cloudProvider:e,project:Ut,agentName:Ut.name,onDeploy:$t,onAgentAdded:n,onDeploymentTaskChange:i,onDeploymentStarted:r,onDeploymentComplete:s,network:W,onNetworkChange:ne,deployRegion:Lt,onDeployRegionChange:We,deploymentEnv:Ye,requiredSecretEnv:Ce,deploymentEnvValues:de,onDeploymentEnvChange:(oe,Qe)=>xe(ct=>({...ct,[oe]:Qe})),deploymentTelemetry:{source:"migration",createMode:"migration",aiAssisted:!0},onBack:()=>lt(!1),backLabel:"返回迁移结果",deploymentPrimaryPane:o.jsxs("section",{className:"migration-deployment-summary",children:[o.jsx("strong",{children:"迁移产物"}),o.jsx("span",{children:V.sourceFileName}),o.jsxs("dl",{children:[o.jsxs("div",{children:[o.jsx("dt",{children:"迁移方式"}),o.jsx("dd",{children:ge.migration.framework})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"启动文件"}),o.jsx("dd",{children:ge.startup.module})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"文件数"}),o.jsx("dd",{children:ge.files.length})]})]})]})})});const mn=O,tn=E==="create"||E==="upload",mi=!V||V.canUpload,Ie=V?rwt(V,D):null;return o.jsxs(o.Fragment,{children:[o.jsxs("section",{className:"migration-workspace",children:[o.jsxs("aside",{className:"migration-history",children:[o.jsxs("header",{children:[o.jsx("button",{type:"button",className:"migration-icon-button",onClick:t,"aria-label":"返回添加 Agent",title:"返回",children:o.jsx(Bvt,{})}),o.jsx("h1",{children:"从存量迁移"})]}),o.jsxs("button",{type:"button",className:"migration-new-button",onClick:Ft,disabled:tn,children:[o.jsx(Fvt,{}),o.jsx("span",{children:"新建迁移"})]}),o.jsx("nav",{"aria-label":"迁移会话",children:w?o.jsx(Rn,{children:"正在读取迁移会话…"}):h.length===0?o.jsx("p",{className:"migration-history__empty",children:"暂无迁移会话"}):h.map(oe=>o.jsxs("button",{type:"button",className:oe.id===b?"is-active":"",disabled:tn,onClick:()=>{g(oe.id),_(""),C(""),L(!1)},children:[o.jsx("span",{children:uT(oe.sourceFileName)}),o.jsxs("small",{children:[o.jsx("span",{"data-state":oe.state,children:Kvt(oe.state)}),o.jsx("time",{children:iwt(oe.createdAt)})]})]},oe.id))})]}),o.jsxs("main",{className:"migration-main",children:[o.jsxs("header",{className:"migration-main__header",children:[o.jsxs("div",{children:[o.jsx("h2",{children:V?uT(V.sourceFileName):"迁移存量 Agent 项目"}),o.jsx("p",{children:V?_D(V):"上传本地项目 ZIP,Codex 将先进行只读分析,再由你确认迁移方式。"})]}),V?o.jsxs("div",{className:"migration-main__header-actions",children:[V!=null&&V.canStop?o.jsx("button",{type:"button",className:"migration-stop-button",onClick:()=>_e(!0),disabled:!!E,children:E==="stop"?"正在终止…":"终止迁移"}):null,Ie?o.jsxs("div",{className:"migration-ttl","aria-live":"off",children:[o.jsx("strong",{children:Ie.title}),o.jsx("small",{children:Ie.detail})]}):null]}):null]}),o.jsxs("div",{className:"migration-conversation",role:"log","aria-live":"polite",ref:Jt,onScroll:Ht,children:[!(d!=null&&d.enabled)&&!w?o.jsxs("div",{className:"migration-system-state is-error",role:"alert",children:[o.jsx("strong",{children:"迁移能力暂不可用"}),o.jsx("p",{children:(d==null?void 0:d.reason)||"Dev Sandbox 暂不可用,请联系管理员检查配置。"})]}):null,V?o.jsxs(o.Fragment,{children:[o.jsx("article",{className:"migration-turn is-user",children:o.jsxs("div",{className:"migration-user-message",children:[o.jsxs("span",{className:"migration-file-chip",children:[o.jsx(lT,{}),o.jsx("span",{title:V.sourceFileName,children:V.sourceFileName})]}),V.instruction?o.jsx("p",{children:V.instruction}):null]})}),o.jsxs("article",{className:"migration-turn is-assistant",children:[o.jsx("div",{className:"migration-assistant-mark",children:"AI"}),o.jsxs("div",{className:"migration-assistant-content",children:[E==="upload"?o.jsxs(o.Fragment,{children:[o.jsx(AD,{stage:"upload"}),o.jsx("p",{className:"migration-running-note",children:"ZIP 上传完成后将自动开始只读分析。"})]}):V.state==="analyzing"?o.jsxs(o.Fragment,{children:[o.jsx(AD,{stage:"analysis"}),o.jsx("p",{className:"migration-running-note",children:"Codex 正在识别框架、入口和迁移边界,不会执行实际迁移。"})]}):vp(V.state)?o.jsxs(o.Fragment,{children:[o.jsx(Rn,{children:_D(V)}),o.jsx("p",{className:"migration-running-note",children:"迁移执行中不能修改附件或迁移方式。你可以等待当前任务结束,或主动终止。"})]}):V.state==="needs_input"&&V.analysis?o.jsxs(o.Fragment,{children:[o.jsx("p",{children:V.analysis.summary}),o.jsx("p",{children:"只读分析已暂停。请仅回答下面列出的问题,提交后会在同一 迁移环境中重新分析,不会开始实际迁移。"}),(di=V.analysis.frameworks[0])!=null&&di.evidence.length?o.jsxs("details",{className:"migration-analysis__evidence",children:[o.jsx("summary",{children:"查看源码证据"}),o.jsx("ul",{children:V.analysis.frameworks.flatMap(oe=>oe.evidence.map(Qe=>o.jsxs("li",{children:[o.jsxs("code",{children:[Qe.path,":",Qe.line]}),o.jsx("span",{children:Qe.reason})]},`${oe.id}:${Qe.path}:${Qe.line}`)))})]}):null]}):V.state==="analysis_ready"&&V.analysis?o.jsxs(o.Fragment,{children:[o.jsx("p",{children:"只读分析已完成。请检查建议,并确认最终迁移方式。"}),o.jsx(lwt,{analysis:V.analysis})]}):V.state==="awaiting_upload"?o.jsx("p",{children:"迁移环境已创建,请重新选择本地 ZIP 继续上传。"}):V.state==="expired"?o.jsxs("div",{className:"migration-expired",children:[o.jsx("strong",{children:"迁移环境已过期"}),o.jsx("p",{children:"迁移内容和产物已无法预览、下载或部署。如已完成 Runtime 部署,可返回智能体页面继续使用。"})]}):V.state==="failed"?((Yi=V.error)==null?void 0:Yi.code)==="MIGRATION_ANALYSIS_UNSUPPORTED"&&V.analysis?o.jsxs("div",{className:"migration-system-state is-error",children:[o.jsx("strong",{children:"当前 ZIP 暂时无法迁移"}),o.jsx(Tu,{text:V.analysis.summary,allowRawHtml:!1}),V.analysis.warnings.length>0?o.jsx("ul",{children:V.analysis.warnings.map(oe=>o.jsx("li",{children:oe},oe))}):null,o.jsx("p",{children:"请按提示整理项目后,新建迁移并重新上传。"})]}):o.jsxs("div",{className:"migration-system-state is-error",children:[o.jsx("strong",{children:"迁移未完成"}),o.jsx("p",{children:V.message})]}):V.state==="cancelled"?o.jsx("p",{children:"当前迁移已终止。你可以新建迁移并重新上传项目。"}):o.jsx("p",{children:_D(V)}),HW(V)&&(pe||De!=null&&De.available||ye)?o.jsx(cwt,{activity:De,loading:pe,error:ye,analyzing:V.state==="analyzing"}):null]})]})]}):o.jsxs(o.Fragment,{children:[o.jsxs("article",{className:"migration-turn is-assistant",children:[o.jsx("div",{className:"migration-assistant-mark",children:"AI"}),o.jsxs("div",{children:[o.jsx("p",{children:"请提供本地项目 ZIP。上传后我会识别框架、入口和迁移边界, 并在执行实际迁移前请你确认迁移方式。"}),o.jsx("small",{children:"仅支持本地 ZIP,最大 50 MiB;迁移环境从创建起保留 1 小时。"})]})]}),E==="create"&&O?o.jsxs(o.Fragment,{children:[o.jsx("article",{className:"migration-turn is-user",children:o.jsx("div",{className:"migration-user-message",children:o.jsxs("span",{className:"migration-file-chip",children:[o.jsx(lT,{}),o.jsx("span",{title:O.name,children:O.name})]})})}),o.jsxs("article",{className:"migration-turn is-assistant",children:[o.jsx("div",{className:"migration-assistant-mark",children:"AI"}),o.jsxs("div",{className:"migration-assistant-content",children:[o.jsx(AD,{stage:"session"}),o.jsx(Rn,{as:"strong",children:"正在创建 Dev Sandbox"}),o.jsx("p",{className:"migration-running-note",children:"正在初始化迁移工作目录,并检查 AgentKit CLI、Codex 和迁移能力。环境就绪后将自动上传项目。"}),o.jsxs("small",{children:["已等待 ",nwt(Re)]})]})]})]}):null]}),(V==null?void 0:V.state)==="needs_input"&&V.analysis?o.jsxs("section",{className:"migration-confirmation","aria-label":"补充项目分析信息",children:[o.jsxs("div",{className:"migration-confirmation__heading",children:[o.jsx("strong",{children:"补充分析所需信息"}),o.jsx("span",{children:"附件保持锁定,提交后仅继续只读分析"})]}),V.analysis.questions.map(oe=>o.jsxs("label",{className:"migration-field",children:[o.jsxs("span",{children:[oe.prompt,oe.required?o.jsx("b",{"aria-hidden":"true",children:"*"}):null]}),o.jsx("textarea",{value:q[oe.id]||"",maxLength:4e3,required:oe.required,"aria-required":oe.required,onChange:Qe=>{const ct=Qe.currentTarget.value;le(wt=>({...wt,[oe.id]:ct}))},disabled:!!E})]},oe.id)),o.jsx("div",{className:"migration-confirmation__actions",children:o.jsx("button",{type:"button",className:"migration-primary-button",onClick:()=>void sn(),disabled:!Rt,children:E==="answer"?"正在继续分析…":"提交并继续分析"})})]}):null,(V==null?void 0:V.state)==="analysis_ready"&&V.analysis?o.jsxs("section",{className:"migration-confirmation","aria-label":"确认迁移方式",children:[o.jsxs("div",{className:"migration-confirmation__heading",children:[o.jsx("strong",{children:"确认迁移方式"}),o.jsx("span",{children:"确认后才会执行实际迁移"})]}),o.jsxs("div",{className:"migration-confirmation__grid",children:[o.jsx(Lm,{label:"迁移方式",value:M,options:((d==null?void 0:d.frameworks)??[]).map(oe=>({value:oe,label:dOe[oe]})),onChange:oe=>{var wt;const Qe=oe;U(Qe);const ct=(wt=V.analysis)==null?void 0:wt.entries.find(En=>En.framework===Qe);H((ct==null?void 0:ct.value)||"")},placeholder:"选择迁移方式",disabled:!!E}),o.jsxs("label",{className:"migration-field",children:[o.jsxs("span",{children:["Agent 名称",o.jsx("b",{"aria-hidden":"true",children:"*"})]}),o.jsx("input",{value:z,onChange:oe=>Q(oe.currentTarget.value),maxLength:63,required:!0,disabled:!!E,"aria-invalid":!!Ae,"aria-required":"true"}),Ae?o.jsx("small",{role:"alert",children:Ae}):null]}),TD.has(M)?bt.length>0?o.jsx(Lm,{label:"项目入口",value:F,options:bt,onChange:H,placeholder:"选择项目入口",disabled:!!E}):o.jsxs("label",{className:"migration-field",children:[o.jsxs("span",{children:["项目入口",o.jsx("b",{"aria-hidden":"true",children:"*"})]}),o.jsx("input",{value:F,onChange:oe=>H(oe.currentTarget.value),placeholder:"例如 agent.py:agent",maxLength:512,required:!0,disabled:!!E,"aria-required":"true"})]}):null]}),o.jsx("p",{className:"migration-running-note",children:"点击“确认并开始迁移”即确认上述迁移范围、排除项和关键假设。"}),o.jsx("div",{className:"migration-confirmation__actions",children:o.jsx("button",{type:"button",className:"migration-primary-button",onClick:()=>void nt(),disabled:!Ke,children:E==="confirm"?"正在启动迁移…":"确认并开始迁移"})})]}):null,V&&ewt(V.state)&&V.artifact.previewReady?o.jsxs("section",{className:"migration-result",children:[o.jsxs("header",{children:[o.jsxs("div",{children:[o.jsx("strong",{children:"迁移产物"}),o.jsx("span",{children:V.artifact.deployReady?"产物可预览、下载和部署。运行效果取决于源项目和部署环境变量;迁移环境过期后产物将无法访问。":"产物可预览和下载,但当前交付状态不支持部署;迁移环境过期后产物将无法访问。"})]}),o.jsxs("div",{className:"migration-result__actions",children:[o.jsxs("button",{type:"button",onClick:()=>void ei(),disabled:!V.artifact.downloadReady||!!E,children:[o.jsx(Qvt,{}),o.jsx("span",{children:E==="download"?"下载中…":"下载 ZIP"})]}),o.jsxs("button",{type:"button",className:"is-primary",onClick:()=>lt(!0),disabled:!V.artifact.deployReady||!ge,title:V.artifact.deployReady?"部署迁移产物":"当前交付状态不支持部署",children:[o.jsx(Uvt,{}),o.jsx("span",{children:"部署到 Runtime"})]})]})]}),ce?o.jsxs("div",{className:"migration-system-state is-error",role:"alert",children:[o.jsx("p",{children:ce}),J?o.jsx("button",{type:"button",className:"migration-retry-button",onClick:()=>{Z(""),ue(!1),Ne(oe=>oe+1)},children:"重新读取"}):null]}):ge?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"migration-result__summary",children:[o.jsxs("span",{children:[ge.files.length," 个文件"]}),o.jsxs("span",{children:["CLI ",ge.cli.version]}),o.jsxs("span",{children:["启动文件 ",ge.startup.module]}),o.jsx("span",{children:Jvt(ge.verification.status)})]}),o.jsx(uwt,{task:V,artifact:ge})]}):o.jsx(Rn,{children:"正在读取迁移产物…"})]}):null,N?o.jsxs("div",{className:"migration-inline-error",role:"alert",children:[o.jsx("span",{children:N}),R?o.jsx("button",{type:"button",onClick:()=>{V&&(C(""),L(!1),ED(V.id).then(oe=>p(Qe=>td(Qe,oe))).catch(oe=>{C(oe instanceof Error?oe.message:String(oe)),L(oe instanceof ao&&oe.retryable)}))},children:"刷新状态"}):null]}):null,T?o.jsxs("div",{className:"migration-inline-error",role:"alert",children:[o.jsx("span",{children:T}),o.jsx("button",{type:"button",onClick:()=>_(""),"aria-label":"关闭错误提示",children:o.jsx(zW,{})})]}):null]}),mi&&(d!=null&&d.enabled)?o.jsxs("div",{className:"migration-composer",children:[o.jsxs("div",{className:`migration-composer__box${v?" is-dragging":""}`,onDragEnter:oe=>{oe.preventDefault(),!tn&&x(!0)},onDragOver:oe=>{oe.preventDefault(),oe.dataTransfer.dropEffect=tn?"none":"copy"},onDragLeave:oe=>{oe.currentTarget.contains(oe.relatedTarget)||x(!1)},onDrop:oe=>{var Qe;oe.preventDefault(),x(!1),!tn&&ve((Qe=oe.dataTransfer.files)==null?void 0:Qe[0])},children:[o.jsx("div",{className:"migration-composer__content",children:mn?o.jsxs("div",{className:"migration-composer__file",children:[o.jsx(lT,{}),o.jsx("span",{children:mn.name}),o.jsx("small",{children:tL(mn.size)}),o.jsx("button",{type:"button",onClick:()=>y(null),"aria-label":"移除项目 ZIP",disabled:tn,children:o.jsx(zW,{})})]}):o.jsx("p",{children:V?"重新选择项目 ZIP":"选择或拖入本地项目 ZIP"})}),o.jsxs("div",{className:"migration-composer__actions",children:[o.jsxs("button",{type:"button",className:"migration-attach-button",onClick:()=>{var oe;return(oe=l.current)==null?void 0:oe.click()},disabled:tn,children:[o.jsx(zvt,{}),o.jsx("span",{children:O?"重新选择":"选择 ZIP"})]}),o.jsx("button",{type:"button",className:"migration-confirm-upload-button",onClick:()=>void(V?yt():Fe()),disabled:!O||tn,children:V?"继续上传":"开始迁移"})]}),o.jsx("input",{ref:l,type:"file",accept:".zip,application/zip",onChange:Ve,"aria-label":"选择本地项目 ZIP",disabled:tn})]}),o.jsx("p",{children:"迁移环境从创建完成起保留 1 小时,过期后产物无法预览、下载或部署。"})]}):null]})]}),Ue&&V?o.jsx(Bl,{title:"终止当前迁移?",description:"终止后,当前分析或迁移进程将停止,已执行的步骤不会继续。",confirmLabel:E==="stop"?"正在终止…":"终止迁移",variant:"danger",busy:E==="stop",onCancel:()=>_e(!1),onConfirm:()=>void pn()}):null]})}const fOe=1,fwt="MODEL_AGENT_API_KEY";function __(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function hwt(e){return __(e)&&typeof e.id=="string"&&typeof e.updatedAt=="number"&&__(e.draft)}function KC(e){return`veadk.agentDrafts.${encodeURIComponent(e)}`}function A_(e){const t=e.deployment,n=t==null?void 0:t.envValues,i=t?{...t,...n?{envValues:Object.fromEntries(Object.entries(n).filter(([r])=>r!==fwt))}:{}}:void 0;return{...e,...i?{deployment:i}:{},subAgents:e.subAgents.map(A_),...e.workflow?{workflow:{...e.workflow,nodes:e.workflow.nodes.map(r=>({...r,agent:A_(r.agent)}))}}:{}}}function pwt(e){var i;const t=WC(e),n={...((i=t.draft.deployment)==null?void 0:i.envValues)??{},...t.envValues};return!t.draft.deployment&&Object.keys(n).length===0?A_(t.draft):A_({...t.draft,deployment:{...t.draft.deployment??{feishuEnabled:!1},envValues:n}})}function hOe(e){return{...e,draft:pwt(e.draft)}}function mwt(e){const t=Array.isArray(e)?e:__(e)&&e.version===fOe?e.drafts:void 0;if(!Array.isArray(t)||!t.every(hwt))throw __(e)&&typeof e.version=="number"?new Error("本机草稿版本暂不受支持,请升级 Studio 后重试。"):new Error("本机草稿数据格式无效。");return t.map(hOe)}function gwt(e,t){if(!t)return[];const n=e.getItem(KC(t));if(!n)return[];try{return mwt(JSON.parse(n))}catch(i){throw i instanceof Error&&i.message.startsWith("本机草稿")?i:new Error("无法读取本机草稿,浏览器中的草稿数据可能已损坏。")}}function GW(e,t,n){if(!t)return;const i={version:fOe,drafts:n.map(hOe)};try{e.setItem(KC(t),JSON.stringify(i))}catch(r){throw r instanceof DOMException&&(r.name==="QuotaExceededError"||r.name==="NS_ERROR_DOM_QUOTA_REACHED")?new Error("浏览器存储空间不足,草稿未保存。请删除不需要的草稿或清理此站点的浏览器存储后重试。"):new Error("浏览器拒绝保存草稿,请检查站点存储权限后重试。")}}const bwt=/[;;]/;function Owt(e){const t=new Set;for(const n of e)for(const i of n.split(bwt)){const r=i.trim();r&&t.add(r)}return[...t]}function ywt(e){return[]}const xwt=3*60*1e3,vwt=3e3,wwt=10*60*1e3,Swt=45e3,C_="veadk.studio.pending-update",Z9="veadk.studio.update-handoff",YW=[{id:"permissions",label:"预检 OTA 所需权限"},{id:"resolving",label:"读取目标版本信息"},{id:"downloading",label:"下载并校验完整更新包"},{id:"preparing",label:"准备 VeFaaS Function 代码"},{id:"provisioning",label:"检查并补齐 Studio 云资源"},{id:"submitting",label:"提交 Function 更新"},{id:"publishing",label:"发布新 Revision 并重启服务"}],Ewt={permissions:"预检 OTA 权限",resolving:"读取版本信息",downloading:"下载更新包",preparing:"准备 Function 代码",provisioning:"补齐 Studio 云资源",submitting:"提交 Function 更新",publishing:"发布 Revision",checking:"检查更新",unknown:"未知阶段"};function kwt(e){return e<60?`${e} 秒`:`${Math.floor(e/60)} 分 ${e%60} 秒`}function Twt(e,t){return e===t?!0:/^\d{14}$/.test(e)&&/^\d{14}$/.test(t)&&e>t}function _wt(e){return!!(e!=null&&e.some(t=>t.includes("部署应用成功")||t.toLowerCase().includes("application deployed successfully")))}function Awt(){if(typeof window>"u")return null;const e=window.localStorage.getItem(C_);if(!e)return null;try{const t=JSON.parse(e);if(typeof t.targetVersion=="string"&&typeof t.startedAt=="number")return{targetVersion:t.targetVersion,startedAt:t.startedAt}}catch{}return window.localStorage.removeItem(C_),null}function CD(e,t){window.localStorage.setItem(C_,JSON.stringify({targetVersion:e,startedAt:t}))}function Ly(){window.localStorage.removeItem(C_)}function Cwt(){return typeof window>"u"?"":window.sessionStorage.getItem(Z9)??""}function Nwt(e){window.sessionStorage.setItem(Z9,e)}function WW(){window.sessionStorage.removeItem(Z9)}function ZW({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M19.2 8.3A8 8 0 1 0 20 13"}),o.jsx("path",{d:"M19.2 4.8v3.5h-3.5"}),o.jsx("path",{d:"M12 7.8v7.7"}),o.jsx("path",{d:"m9.2 12.7 2.8 2.8 2.8-2.8"})]})}function jwt(){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:"m4 6 4 4 4-4"})})}function Rwt(){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})})}function nL(){return o.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[o.jsx("path",{d:"M6.25 3.75H3.5v8.75h8.75V9.75"}),o.jsx("path",{d:"M8.5 3.5h4v4"}),o.jsx("path",{d:"m7.25 8.75 5-5"})]})}function KW({href:e}){return o.jsxs("div",{className:"studio-update-permission-notice",role:"status",children:[o.jsxs("p",{children:["无法读取 VeFaaS 发布日志。Function 角色缺少",o.jsx("code",{children:"vefaas:GetApplicationRevisionLog"})," 权限,更新会继续。"]}),o.jsxs("a",{href:e,target:"_blank",rel:"noreferrer",children:["前往 IAM 控制台配置权限",o.jsx(nL,{})]})]})}function JW({lines:e,phase:t,copyState:n,onCopy:i}){const r=m.useRef(null),s=m.useRef(!0),[a,l]=m.useState(e);return m.useEffect(()=>{e.length&&l(e)},[e]),m.useEffect(()=>{const c=r.current;c&&s.current&&(c.scrollTop=c.scrollHeight)},[a]),o.jsxs("section",{className:"studio-update-live-log","aria-label":"部署进度",children:[o.jsxs("div",{className:"studio-update-log-header",children:[o.jsxs("span",{children:[o.jsx("i",{className:`is-${t}`,"aria-hidden":!0}),"部署进度",o.jsx("small",{children:t==="active"?"实时":t==="complete"?"已完成":"已停止"})]}),o.jsx("button",{type:"button",onClick:()=>i(a),disabled:!a.length,children:n==="copied"?"已复制":n==="error"?"复制失败":"复制日志"})]}),o.jsx("div",{ref:r,className:"studio-update-log-lines",role:"log","aria-live":"off","aria-busy":t==="active",tabIndex:0,onScroll:c=>{const u=c.currentTarget;s.current=u.scrollHeight-u.scrollTop-u.clientHeight<24},children:a.length?a.map((c,u)=>o.jsx("div",{children:c},`${u}-${c}`)):o.jsx("p",{children:t==="active"?"等待 VeFaaS 返回更新日志…":"本次更新未返回发布日志"})})]})}function Iwt({variant:e="default"}){var U,F;const[t]=m.useState(Awt),[n,i]=m.useState(null),[r,s]=m.useState(t?"submitting":"idle"),[a,l]=m.useState(!!t),[c,u]=m.useState(""),[d,f]=m.useState(null),[h,p]=m.useState((t==null?void 0:t.targetVersion)??""),[b,g]=m.useState(!1),[O,y]=m.useState("idle"),[v,x]=m.useState(0),w=m.useRef(null),S=m.useRef((t==null?void 0:t.targetVersion)??""),E=m.useRef((t==null?void 0:t.startedAt)??0),k=m.useRef(Cwt()),T=m.useRef(0);m.useEffect(()=>{if(!b)return;const H=Q=>{var q;Q.target instanceof Node&&!((q=w.current)!=null&&q.contains(Q.target))&&g(!1)},z=Q=>{Q.key==="Escape"&&g(!1)};return window.addEventListener("pointerdown",H),window.addEventListener("keydown",z),()=>{window.removeEventListener("pointerdown",H),window.removeEventListener("keydown",z)}},[b]);const _=m.useCallback(async()=>{const H=await Sie(S.current||void 0,E.current||void 0);return i(H),H},[]);if(m.useEffect(()=>{let H=!0;const z=()=>{_().catch(()=>{H&&i(q=>q)})};z();const Q=window.setInterval(z,xwt);return()=>{H=!1,window.clearInterval(Q)}},[_]),m.useEffect(()=>{if(r!=="submitting")return;const H=window.setInterval(()=>{_().then(z=>{const Q=S.current;if(Q&&Twt(z.currentVersion,Q)||!Q&&!z.available&&z.latestVersion){const q=Date.now();if(T.current||(T.current=q),z.updateLogsVisible!==!1&&!_wt(z.updateLogs)&&q-T.currentwwt&&(window.clearInterval(H),Ly(),s("error"),u("等待 VeFaaS 发布超时,请稍后重新检查版本"))}).catch(()=>{})},vwt);return()=>window.clearInterval(H)},[r,_]),m.useEffect(()=>{r!=="idle"||(n==null?void 0:n.state)!=="updating"||(S.current=n.targetVersion,E.current=n.startedAt||Date.now(),CD(n.targetVersion,E.current),p(n.targetVersion),s("submitting"))},[r,n]),m.useEffect(()=>{if(r!=="submitting"){x(0);return}const H=()=>{const Q=E.current||Date.now();x(Math.max(0,Math.floor((Date.now()-Q)/1e3)))};H();const z=window.setInterval(H,1e3);return()=>window.clearInterval(z)},[r]),!(n!=null&&n.enabled)||!(n.available||n.state==="updating"||r!=="idle"))return null;const C=n.releases??[],R=h||((U=C[0])==null?void 0:U.version)||n.latestVersion,L=C.find(H=>H.version===R),D=Owt((L==null?void 0:L.changelog)??[]),$=async()=>{WW(),k.current="",S.current=R,E.current=Date.now(),s("checking-permissions"),u(""),y("idle");try{const H=await Eie();if(f(H),!H.ready){Ly(),s("permission");return}f(null),CD(R,E.current),s("submitting");const z=await kie(R);S.current=z.version,CD(z.version,E.current),u("更新已提交,正在等待 VeFaaS 发布新版本")}catch(H){if(H instanceof TypeError||H instanceof Error&&(H.name==="TimeoutError"||H.name==="AbortError")){u("连接已切换,正在确认新版本状态");return}Ly(),s("error");const z=H instanceof Error?H.message:"Studio 更新失败";try{const Q=await _();u(Q.message||z)}catch{u(z)}}},j=(F=n.updateLogs)!=null&&F.length?n.updateLogs:(n.errorLog||n.progressMessage||c).split(` `).filter(Boolean),P=async H=>{try{await navigator.clipboard.writeText(H.join(` `)),y("copied")}catch{y("error")}},M=()=>{var H;g(!1),y("idle"),u(""),f(null),p(S.current||((H=C[0])==null?void 0:H.version)||""),s("confirm")};return o.jsxs(o.Fragment,{children:[o.jsxs("button",{type:"button",className:e==="feature-link"?"welcome-feature-link studio-update-trigger--feature":`studio-update-trigger is-${r}`,title:r==="checking-permissions"?"正在检查 OTA 权限":r==="permission"?"需要 IAM 授权":r==="submitting"?"正在更新 Studio":r==="published"?"Studio 已更新":`更新 Studio 至 ${n.latestVersion}`,onClick:()=>{var H;r==="published"?window.location.reload():(r==="checking-permissions"||r==="permission"||r==="submitting"||r==="error"||(p(((H=C[0])==null?void 0:H.version)||n.latestVersion),s("confirm")),l(!0))},children:[e!=="feature-link"&&o.jsx(ZW,{className:"studio-update-icon"}),r==="checking-permissions"?o.jsx(Rn,{as:"span",children:"检查更新权限"}):r==="permission"?o.jsx("span",{children:"需要授权"}):r==="submitting"?o.jsx(Rn,{as:"span",children:"正在更新"}):r==="published"?o.jsx("span",{children:"刷新使用新版"}):r==="error"?o.jsx("span",{children:"更新失败"}):e==="feature-link"?o.jsx("span",{children:"立即更新"}):o.jsx("span",{children:"有新版更新"})]}),a&&r!=="idle"&&ir.createPortal(o.jsx("div",{className:"confirm-scrim",role:"presentation",children:o.jsxs("section",{className:`confirm-box studio-update-dialog${r==="submitting"||r==="published"||r==="error"?" is-progress":""}`,role:"dialog","aria-modal":"true","aria-labelledby":"studio-update-title",children:[o.jsx("div",{className:"studio-update-dialog-mark",children:o.jsx(ZW,{})}),o.jsx("div",{id:"studio-update-title",className:"confirm-title",children:r==="error"?"Studio 更新失败":r==="checking-permissions"?"正在检查更新权限":r==="permission"?"需要 IAM 授权":r==="submitting"?"正在更新 Studio":r==="published"?"Studio 更新完成":"发现新版本"}),r==="checking-permissions"?o.jsxs("div",{className:"studio-update-permission-checking",role:"status",children:[o.jsx(Rn,{as:"p",children:"正在核对 OTA 与定时任务所需的全部 IAM 权限…"}),o.jsx("p",{children:"权限全部满足后才会开始下载、更新或发布云资源。"})]}):r==="permission"&&d?o.jsxs("div",{className:"studio-update-authorization-panel",children:[o.jsxs("p",{className:"confirm-text",children:["当前 Function 角色缺少 ",d.missingActions.length," 项 OTA 更新权限,尚未执行任何云资源变更。"]}),o.jsxs("dl",{className:"studio-update-authorization-principal",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"Function 角色"}),o.jsx("dd",{children:d.principalName||"当前运行角色"})]}),d.policyName&&o.jsxs("div",{children:[o.jsx("dt",{children:"将更新策略"}),o.jsx("dd",{children:d.policyName})]})]}),o.jsxs("ol",{className:"studio-update-authorization-steps",children:[o.jsx("li",{children:"打开授权页面,确认已预填的策略名称和完整策略内容。"}),o.jsx("li",{children:"点击页面中的“发起调试”,完成策略更新。"}),o.jsx("li",{children:"返回此窗口,点击“我已授权,重新检查”。"})]}),o.jsxs("div",{className:"studio-update-missing-actions",children:[o.jsx("span",{children:"缺少的权限"}),o.jsx("ul",{children:d.missingActions.map(H=>o.jsx("li",{children:o.jsx("code",{children:H})},H))})]}),o.jsxs("a",{className:"studio-update-authorization-link",href:d.authorizationUrl||d.iamConsoleUrl,target:"_blank",rel:"noreferrer",children:[d.authorizationUrl?"打开已预填的 IAM 授权页面":"前往 IAM 控制台手动配置",o.jsx(nL,{})]}),!d.authorizationUrl&&o.jsx("p",{className:"studio-update-authorization-note",children:"当前角色没有唯一可安全更新的自定义策略,请由管理员将上述权限加入该角色。"})]}):r==="error"?o.jsxs("div",{className:"studio-update-error-panel",children:[o.jsx("p",{className:"confirm-text studio-update-error",children:c}),o.jsxs("dl",{className:"studio-update-error-meta",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"失败阶段"}),o.jsx("dd",{children:Ewt[n.errorStage]||n.errorStage||"未知阶段"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"错误 ID"}),o.jsx("dd",{children:n.errorId||"未生成"})]})]}),n.updateLogsVisible!==!1&&o.jsx(JW,{lines:j,phase:"error",copyState:O,onCopy:H=>void P(H)}),n.updateLogsVisible===!1&&o.jsx(KW,{href:n.permissionConsoleUrl}),n.consoleUrl&&o.jsxs("a",{className:"studio-update-console-link",href:n.consoleUrl,target:"_blank",rel:"noreferrer",children:["前往 VeFaaS 控制台查看 Function 日志",o.jsx(nL,{})]})]}):r==="submitting"||r==="published"?o.jsxs("div",{className:"studio-update-progress-body",children:[o.jsxs("div",{className:"studio-update-progress-summary",children:[o.jsxs("div",{children:[o.jsx("span",{children:"目标版本"}),o.jsx("strong",{children:S.current||R})]}),o.jsxs("div",{children:[o.jsx("span",{children:r==="published"?"更新状态":"已用时"}),o.jsx("strong",{children:r==="published"?"已完成":kwt(v)})]})]}),o.jsx("ol",{className:"studio-update-progress","aria-label":"Studio 更新进度",children:YW.map((H,z)=>{const Q=YW.findIndex(ge=>ge.id===n.progressStage),q=r==="published"||zvoid P(H)}),n.updateLogsVisible===!1&&o.jsx(KW,{href:n.permissionConsoleUrl}),o.jsx("p",{className:"studio-update-progress-note",children:"发布阶段会短暂中断连接;关闭此窗口不会停止更新,可随时点击右上角按钮重新查看。"})]}):o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"confirm-text",children:"更新会重启 Studio 服务,预计约 3–5 分钟完成更新与发布。期间正在进行的对话、 流式响应或部署任务可能中断,登录态不会受到影响。"}),o.jsxs("div",{className:"studio-update-field",ref:w,children:[o.jsx("span",{children:"选择版本"}),o.jsxs("button",{type:"button",className:"studio-update-version-trigger","aria-label":"选择版本","aria-haspopup":"listbox","aria-expanded":b,onClick:()=>g(H=>!H),onKeyDown:H=>{(H.key==="ArrowDown"||H.key==="ArrowUp")&&(H.preventDefault(),g(!0))},children:[o.jsx("span",{children:R}),o.jsx(jwt,{})]}),b&&o.jsx("div",{className:"studio-update-version-menu",role:"listbox","aria-label":"选择版本",children:C.map(H=>{const z=H.version===R;return o.jsxs("button",{type:"button",role:"option","aria-selected":z,className:`studio-update-version-option${z?" is-selected":""}`,onClick:()=>{p(H.version),g(!1)},children:[o.jsx("span",{children:H.version}),z&&o.jsx(Rwt,{})]},H.version)})})]}),o.jsxs("dl",{className:"studio-update-versions",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"当前版本"}),o.jsx("dd",{children:n.currentVersion})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"目标版本"}),o.jsx("dd",{children:R})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"Commit"}),o.jsx("dd",{children:((L==null?void 0:L.gitSha)||n.latestGitSha).slice(0,8)})]})]}),o.jsxs("section",{className:"studio-update-changelog","aria-labelledby":"studio-update-changelog-title",children:[o.jsx("div",{id:"studio-update-changelog-title",children:"更新内容"}),D.length?o.jsx("ul",{children:D.map(H=>o.jsx("li",{children:H},H))}):o.jsx("p",{children:"暂无更新说明"})]})]}),o.jsxs("div",{className:"confirm-actions",children:[o.jsx("button",{type:"button",className:"confirm-btn",onClick:()=>{l(!1),g(!1),r==="confirm"&&(s("idle"),u(""))},children:r==="submitting"?"后台运行":r==="confirm"?"取消":"关闭"}),r==="confirm"&&o.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:()=>void $(),children:"立即更新"}),r==="permission"&&o.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:()=>void $(),children:"我已授权,重新检查"}),r==="error"&&o.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:M,children:"重新尝试"})]})]})}),document.body)]})}const Dwt=["多地域智能体:并行加载北京与上海 Runtime,列表下滑即可继续加载。","会话内切换:在输入框旁选择智能体,并直接开启一段新会话。","可视化执行画布:通过横向画布查看多智能体结构,并支持全屏浏览。"],eZ=ywt(),Pwt=eZ.length?eZ:Dwt;function Mwt({canUpdate:e=!1}){return o.jsxs("div",{className:"welcome-feature-pill",children:[o.jsx("span",{children:"焕然一新"}),o.jsx("span",{className:"welcome-feature-divider","aria-hidden":"true"}),o.jsx("button",{type:"button",className:"welcome-feature-link","aria-describedby":"welcome-feature-popover",children:"查看新特性"}),o.jsxs("section",{id:"welcome-feature-popover",className:"welcome-feature-popover",role:"tooltip",children:[o.jsx("strong",{children:"本次更新"}),o.jsx("ul",{children:Pwt.map(t=>o.jsx("li",{children:t},t))})]}),e&&o.jsx(Iwt,{variant:"feature-link"})]})}async function K9(e,t){const n=await e.text().catch(()=>"");try{const i=JSON.parse(n),r=i.detail??i.error;if(typeof r=="string"&&r.trim())return new Error(r.trim());if(r&&typeof r=="object"&&"message"in r&&typeof r.message=="string"&&r.message.trim())return new Error(r.message.trim())}catch{if(n.trim())return new Error(n.trim().slice(0,500))}return new Error(`${t}(HTTP ${e.status})`)}function Lwt(e,t){var i;return((i=(e.headers.get("content-disposition")??"").match(/filename="([^"]+)"/i))==null?void 0:i[1])??t}function pOe(e,t,n){if(e.sessionId!==t||n!==void 0&&(e.artifactSha256!==n.artifactSha256||e.validationReportSha256!==n.validationReportSha256)||typeof e.artifactSha256!="string"||typeof e.validationReportSha256!="string"||typeof e.agentName!="string"||typeof e.entryPoint!="string"||typeof e.fileCount!="number"||typeof e.artifactSize!="number"||typeof e.validatedAt!="string"||typeof e.deployable!="boolean"||typeof e.verified!="boolean"||typeof e.validationSummary!="string"||!Array.isArray(e.gateSummary)||!e.gateSummary.every(i=>typeof i=="string")||!Array.isArray(e.files)||!e.files.every(i=>i&&typeof i.path=="string"&&typeof i.content=="string"))throw new Error("源码快照的响应格式无效。");return e}async function tZ(e,t,n,i){const r=new URLSearchParams({sessionId:e,artifactSha256:t,validationReportSha256:n}),s=await Un(`/web/intelligent-development/releases/summary?${r}`,{headers:{Accept:"application/json"},signal:i});if(!s.ok)throw await K9(s,"无法读取源码快照");const a=await s.json();return pOe(a,e,{artifactSha256:t,validationReportSha256:n})}async function $wt(e,t){const n=new URLSearchParams({sessionId:e}),i=await Un(`/web/intelligent-development/releases/current?${n}`,{headers:{Accept:"application/json"},signal:t});if(i.status===204)return null;if(!i.ok)throw await K9(i,"无法恢复当前源码快照");const r=await i.json();return pOe(r,e)}async function Bwt(e,t){var l;const n=new URLSearchParams({sessionId:e.sessionId,artifactSha256:e.artifactSha256,validationReportSha256:e.validationReportSha256}),i=await Un(`/web/intelligent-development/releases/download?${n}`,{headers:{Accept:"application/zip"},signal:t},Nr);if(!i.ok)throw await K9(i,"下载源码失败");if(((l=i.headers.get("content-type"))==null?void 0:l.split(";",1)[0].trim().toLowerCase())!=="application/zip")throw new Error("源码下载响应不是 ZIP 文件。");const s=await i.blob();if(s.size!==e.artifactSize)throw new Error("源码压缩包大小与发布记录不一致,请重试。");const a=`${e.agentName}-source-${e.artifactSha256.slice(0,12)}.zip`;return{blob:s,filename:Lwt(i,a)}}const Qwt=1e4;async function mOe(e){const t=await fetch(go(e),{headers:Gh({Accept:"application/json"}),signal:So(void 0,Qwt)});if(!t.ok)throw new Error(`读取会话模式能力失败(HTTP ${t.status})`);const n=await t.json();if(typeof n.enabled!="boolean")throw new Error("会话模式能力响应格式错误");return{enabled:n.enabled,reason:typeof n.reason=="string"?n.reason:void 0,endpointExportEnabled:n.endpointExportEnabled===!0}}async function Fwt(){return mOe("/web/sandbox/capabilities")}async function Uwt(e){return mOe(`/web/${e}/capabilities`)}function zwt(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m7 7 10 10M17 7 7 17"})})}function Vwt(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M12 3.5v11m-4-4 4 4 4-4"}),o.jsx("path",{d:"M5 19.5h14"})]})}function nZ(e){return o.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"8",cy:"8",r:"5.5",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.22"}),o.jsx("path",{d:"M8 2.5A5.5 5.5 0 0 1 13.5 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function qwt({open:e,task:t,onClose:n,onRetry:i,onDownload:r}){const s=m.useId(),a=m.useRef(null),l=m.useRef(null),c=m.useRef(null),[u,d]=m.useState(()=>Date.now()),f=m.useRef(n);if(f.current=n,m.useEffect(()=>{if(!e||!t)return;c.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const S=document.body.style.overflow;document.body.style.overflow="hidden";const E=window.requestAnimationFrame(()=>{var T;return(T=l.current)==null?void 0:T.focus()}),k=T=>{var R;if(T.key==="Escape"){T.preventDefault(),f.current();return}if(T.key!=="Tab")return;const _=Array.from(((R=a.current)==null?void 0:R.querySelectorAll('button:not(:disabled), a[href], video[controls], [tabindex]:not([tabindex="-1"])'))??[]);if(_.length===0)return;const N=_[0],C=_[_.length-1];if(document.activeElement===l.current){T.preventDefault(),(T.shiftKey?C:N).focus();return}T.shiftKey&&document.activeElement===N?(T.preventDefault(),C.focus()):!T.shiftKey&&document.activeElement===C&&(T.preventDefault(),N.focus())};return window.addEventListener("keydown",k),()=>{var T;window.cancelAnimationFrame(E),document.body.style.overflow=S,window.removeEventListener("keydown",k),(T=c.current)!=null&&T.isConnected&&c.current.focus()}},[e,t==null?void 0:t.localId]),m.useEffect(()=>{if(!e||(t==null?void 0:t.status)!=="generating"||t.generationStartedAt===null)return;const S=()=>d(Date.now());S();const E=window.setInterval(S,1e3);return()=>window.clearInterval(E)},[e,t==null?void 0:t.localId,t==null?void 0:t.runId,t==null?void 0:t.status,t==null?void 0:t.generationStartedAt]),!e||!t)return null;const h=G3(t),p=t.status==="optimizing"||t.status==="generating",b=t.errorStage==="optimization"?"重试提示词优化":"重试视频生成",g=gbe(t.resolvedMode??t.requestedMode),O=t.error.includes("尚未开通"),y=vyt(t),v=t.generationStartedAt===null?"":xyt(u-t.generationStartedAt),x=t.providerStatus==="queued"?"等待模型调度":t.providerStatus==="running"?"模型生成中":"正在提交任务",w=t.providerStatus==="queued"?"任务已提交,模型开始处理后状态会自动更新":"这可能持续数分钟,完成后将在这里显示视频预览";return ir.createPortal(o.jsx("div",{className:"new-chat-video-task-backdrop",onMouseDown:S=>{S.target===S.currentTarget&&n()},children:o.jsxs("section",{ref:a,className:`new-chat-video-task-dialog is-${t.status}`,role:"dialog","aria-modal":"true","aria-labelledby":s,"aria-busy":p||void 0,children:[o.jsxs("header",{className:"new-chat-video-task-dialog__head",children:[o.jsxs("div",{children:[o.jsx("h2",{ref:l,id:s,tabIndex:-1,children:"视频生成任务"}),o.jsxs("p",{children:[g," · ",t.generationModel]})]}),o.jsx("button",{type:"button",className:"new-chat-video-task-dialog__close",onClick:n,"aria-label":"关闭视频生成任务弹窗",children:o.jsx(zwt,{})})]}),o.jsxs("div",{className:"new-chat-video-task-dialog__body",children:[o.jsx("ol",{className:"new-chat-video-task-steps","aria-label":"视频生成进度","aria-live":"polite","aria-atomic":"true",children:h.map(S=>o.jsx("li",{className:`is-${S.status}`,children:o.jsxs("span",{className:"new-chat-video-task-step__label",children:[S.status==="active"?o.jsx(nZ,{className:"new-chat-video-task-step__loading"}):null,o.jsx("span",{children:S.label})]})},S.id))}),t.error?o.jsx("div",{className:"new-chat-video-task-error",role:"alert",children:o.jsx("p",{children:t.error})}):null,t.optimizedPrompt?o.jsxs("section",{className:"new-chat-video-task-prompt","aria-labelledby":`${s}-prompt`,children:[o.jsx("h3",{id:`${s}-prompt`,children:"优化后的提示词"}),o.jsx("p",{children:t.optimizedPrompt})]}):null,t.status==="generating"?o.jsxs("div",{className:"new-chat-video-task-preview is-loading",children:[o.jsx(nZ,{className:"new-chat-video-task-preview__loading"}),o.jsx(Rn,{as:"strong",duration:2.2,spread:18,"aria-live":"polite",children:y}),o.jsx("div",{className:"new-chat-video-task-progress",role:"progressbar","aria-label":`${g}处理进度`,"aria-valuetext":`${y}${v?`,已等待${v}`:""}`,children:o.jsx("span",{"aria-hidden":"true"})}),o.jsxs("div",{className:"new-chat-video-task-progress__meta",children:[o.jsx("span",{children:x}),v?o.jsxs("span",{children:["已等待 ",v]}):null]}),o.jsx("span",{children:w})]}):t.output?o.jsx("div",{className:"new-chat-video-task-preview",children:o.jsx("video",{src:t.output.previewUrl,controls:!0,playsInline:!0,preload:"metadata","aria-label":"生成结果预览"})}):null]}),o.jsxs("footer",{className:"new-chat-video-task-dialog__actions",children:[o.jsx("p",{children:p?"可以关闭弹窗,任务会继续在后台运行":t.status==="success"?"视频已生成,可预览或下载":O?"请先在模型控制台开通服务,再重试生成":"修正问题后可重试当前步骤"}),o.jsxs("div",{children:[o.jsx("button",{type:"button",className:"new-chat-video-task-button",onClick:n,children:"关闭"}),t.status==="error"?o.jsx("button",{type:"button",className:"new-chat-video-task-button is-primary",onClick:i,children:b}):t.output?o.jsxs("button",{type:"button",className:"new-chat-video-task-button is-primary",onClick:r,children:[o.jsx(Vwt,{}),"下载视频"]}):null]})]})]})}),document.body)}const Hwt="我的智能体";function Xwt({open:e,state:t,agentKind:n="codex",error:i,onCancel:r,onConfirm:s}){const a=n==="codex"?"Codex":n==="deepseek-harness"?"DeepSeek Harness":n==="openclaw"?"OpenClaw":"Hermes",l=n==="codex"?Hwt:`我的 ${a}`,c=m.useRef(null),u=m.useRef(null),d=m.useRef(null),f=m.useRef(!1),h=m.useRef(r),[p,b]=m.useState(l),[g,O]=m.useState(!0);if(h.current=r,m.useEffect(()=>{if(!e)return;b(l),O(!0);const w=document.body.style.overflow;document.body.style.overflow="hidden";const S=window.requestAnimationFrame(()=>{var k,T;(k=u.current)==null||k.focus(),(T=u.current)==null||T.select()}),E=k=>{var C;if(k.key==="Escape"){k.preventDefault(),h.current();return}if(k.key!=="Tab")return;const T=(C=c.current)==null?void 0:C.querySelectorAll("input:not(:disabled), button:not(:disabled)");if(!(T!=null&&T.length))return;const _=T[0],N=T[T.length-1];k.shiftKey&&document.activeElement===_?(k.preventDefault(),N.focus()):!k.shiftKey&&document.activeElement===N&&(k.preventDefault(),_.focus())};return window.addEventListener("keydown",E),()=>{window.cancelAnimationFrame(S),document.body.style.overflow=w,window.removeEventListener("keydown",E)}},[l,e]),!e)return null;const y=t==="loading",v=p.trim(),x=y?`正在创建 ${a} 智能体`:t==="error"?"启动失败":`创建 ${a} 智能体`;return ir.createPortal(o.jsx("div",{className:"sandbox-dialog-backdrop",onMouseDown:w=>{w.target===w.currentTarget&&!y&&r()},children:o.jsxs("form",{ref:c,className:"sandbox-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"sandbox-dialog-title","aria-describedby":t==="confirm"?void 0:"sandbox-dialog-description",onSubmit:w=>{w.preventDefault(),!y&&!f.current&&v&&s(v,g)},children:[o.jsxs("div",{className:"sandbox-dialog-visual","aria-hidden":"true",children:[o.jsx("span",{className:"sandbox-dialog-orbit"}),o.jsx("span",{className:"sandbox-dialog-icon",children:y?o.jsx("span",{className:"sandbox-spinner"}):o.jsx(kv,{kind:n})})]}),o.jsxs("div",{className:"sandbox-dialog-copy",children:[o.jsx("h2",{id:"sandbox-dialog-title",children:x}),t==="error"?o.jsx("p",{id:"sandbox-dialog-description",className:"sandbox-dialog-error",role:"alert",children:i||"AgentKit 沙箱初始化失败,请稍后重新尝试。"}):y?o.jsxs("p",{id:"sandbox-dialog-description","aria-live":"polite",children:["正在创建并等待 ",a," 智能体就绪,这通常需要半分钟"]}):null,o.jsxs("label",{className:"sandbox-dialog-field",children:[o.jsxs("span",{className:"sandbox-dialog-field-label",children:[o.jsx("span",{children:"智能体名称"}),o.jsxs("span",{"aria-hidden":"true",children:[p.length,"/",CY]})]}),o.jsx("input",{ref:u,type:"text",required:!0,value:p,maxLength:CY,disabled:y,placeholder:l,autoComplete:"off",onChange:w=>b(w.target.value),onCompositionStart:()=>{f.current=!0},onCompositionEnd:()=>{f.current=!1},onKeyDown:w=>{const{nativeEvent:S}=w;w.key==="Enter"&&(f.current||S.isComposing||S.keyCode===229)&&w.preventDefault()}})]}),o.jsxs("div",{className:"sandbox-dialog-persistence",role:"group","aria-describedby":"sandbox-persistence-description",children:[o.jsx(q9,{id:"sandbox-persistence",className:"sandbox-dialog-persistence-control",checked:g,disabled:y,onCheckedChange:O,label:"持久化"}),o.jsx("p",{id:"sandbox-persistence-description",className:`sandbox-dialog-persistence-description${g?"":" is-warning"}`,role:g?void 0:"status",children:g?"保留智能体数据,后续可继续使用。":"智能体将在 8 小时后清空"})]})]}),o.jsxs("footer",{className:"sandbox-dialog-actions",children:[o.jsx("button",{ref:d,type:"button",onClick:r,children:y?"取消创建":"取消"}),!y&&o.jsx("button",{type:"submit",className:"is-primary",disabled:!v,children:t==="error"?"重新尝试":"确认创建"})]})]})}),document.body)}function Gwt({agentName:e,expireAt:t,exitLabel:n="退出当前智能体",onExit:i}){const[r,s]=m.useState(()=>Date.now());m.useEffect(()=>{if(!t)return;const d=window.setInterval(()=>s(Date.now()),6e4);return()=>window.clearInterval(d)},[t]);const a=t?Date.parse(t):Number.NaN,l=Number.isFinite(a)?Math.max(0,Math.ceil((a-r)/6e4)):null,c=l===null?"":l===0?"已到期":l>=60?`剩余 ${Math.floor(l/60)} 小时 ${l%60} 分钟`:`剩余 ${l} 分钟`,u=Number.isFinite(a)?new Date(a).toLocaleString("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}):"";return o.jsxs("div",{className:`sandbox-session-warning${t?" is-expiring":""}`,role:"status",children:[o.jsx("span",{className:"sandbox-session-warning-dot","aria-hidden":"true"}),o.jsx("span",{className:"sandbox-session-warning-copy",children:u?`远端开发环境最长保留 8 小时,将于 ${u} 到期(${c});到期后清除对话和文件。`:`当前您在使用 ${e} 智能体`}),o.jsx("button",{type:"button",onClick:i,children:n})]})}function Ywt({activity:e,time:t}){var n;return o.jsxs("aside",{className:"sandbox-activity-record",role:"status","aria-label":"Sandbox 操作记录",children:[o.jsxs("div",{className:"sandbox-activity-summary",children:[o.jsx("span",{className:"sandbox-activity-dot","aria-hidden":"true"}),o.jsx("span",{className:"sandbox-activity-label",children:"操作记录"}),o.jsx("strong",{children:e.title}),t?o.jsx("time",{children:t}):null]}),(n=e.details)!=null&&n.length?o.jsx("dl",{className:"sandbox-activity-details",children:e.details.map(i=>o.jsxs("div",{children:[o.jsx("dt",{children:i.label}),o.jsx("dd",{title:i.value,children:i.code?o.jsx("code",{children:i.value}):i.value})]},`${i.label}:${i.value}`))}):null]})}function Wwt(e){return e>=1e6?`${(e/1e6).toFixed(e>=1e7?0:1)}m`:e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}k`:String(e)}function Zwt({usage:e}){const t=[["Total",e.totalTokens],["Input",e.inputTokens],...e.cachedInputTokens>0?[["Cached input",e.cachedInputTokens]]:[],["Output",e.outputTokens],...e.reasoningOutputTokens>0?[["Reasoning output",e.reasoningOutputTokens]]:[]];return o.jsx("div",{className:"sandbox-token-usage","aria-label":"Codex Token 用量",children:t.map(([n,i])=>o.jsxs("span",{title:`${n}: ${i.toLocaleString()} tokens`,children:[o.jsx("small",{children:n}),o.jsx("strong",{children:Wwt(i)})]},n))})}function gOe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),o.jsx("path",{d:"m7.5 9 2.7 2.5L7.5 14M12.7 14h3.8"}),o.jsx("path",{d:"M3.8 7.5h16.4",opacity:".55"})]})}function bOe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),o.jsx("path",{d:"M3.8 8h16.4"}),o.jsx("circle",{cx:"6.5",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),o.jsx("circle",{cx:"8.8",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),o.jsx("path",{d:"m9 15 2.2-4 1.6 2.4 1.1-1.2L16 15H9Z"})]})}function J9(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M12 3.4 19 6v5.3c0 4.3-2.7 7.6-7 9.3-4.3-1.7-7-5-7-9.3V6l7-2.6Z"}),o.jsx("path",{d:"m8.8 12 2 2 4.4-4.4"})]})}function dT(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M3.5 7.7h6.1l1.7 2h9.2v7.5a2.3 2.3 0 0 1-2.3 2.3H5.8a2.3 2.3 0 0 1-2.3-2.3V7.7Z"}),o.jsx("path",{d:"M3.8 7.7V6.8a2.3 2.3 0 0 1 2.3-2.3h3l1.8 2h6.9a2.3 2.3 0 0 1 2.3 2.3v.9"}),o.jsx("path",{d:"M12 13v3M10.5 14.5h3"})]})}function Kwt(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"M12 5v14M5 12h14"})})}function Jwt(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m6.5 11.5 5.5-5.5 5.5 5.5M12 6v12"})})}function eSt(e){return o.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",...e,children:o.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"1.75",fill:"currentColor"})})}function tSt(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),o.jsx("circle",{cx:"8.5",cy:"9",r:"1.4"}),o.jsx("path",{d:"m5.5 17 4.2-4.2 2.6 2.4 2.1-2.1 4.1 3.9"})]})}function nSt(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M6 3.5h7l5 5v12H6z"}),o.jsx("path",{d:"M13 3.5v5h5M9 13h6M9 16h5"})]})}function iSt(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.5",y:"5",width:"13.5",height:"14",rx:"2.5"}),o.jsx("path",{d:"m17 10 3.5-2v8L17 14zM7 8.5h4.5"})]})}function rSt(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m12 3 1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM18.5 15.5l.7 2.1 2.1.7-2.1.7-.7 2.1-.7-2.1-2.1-.7 2.1-.7z"})})}function sSt(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}function iL(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m9 6 6 6-6 6"})})}function aSt(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M4.8 8.2A8 8 0 1 1 4 12M4.8 8.2V4.5M4.8 8.2h3.7"}),o.jsx("path",{d:"M12 8v4.5l3 1.8"})]})}function bu(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"M20 12a8 8 0 1 1-2.35-5.65"})})}function oSt(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"8",y:"8",width:"11",height:"11",rx:"2"}),o.jsx("path",{d:"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"})]})}function lSt(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m5 12.5 4.2 4.2L19 7"})})}function Mw({open:e,title:t,subtitle:n,icon:i,className:r="",onClose:s,children:a}){const l=m.useId(),c=m.useRef(null),u=m.useRef(null),d=m.useRef(s);return d.current=s,m.useEffect(()=>{var p;if(!e)return;u.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const f=document.body.style.overflow;document.body.style.overflow="hidden",(p=c.current)==null||p.focus();const h=b=>{var x;if(b.key==="Escape"){b.preventDefault(),d.current();return}if(b.key!=="Tab")return;const g=(x=c.current)==null?void 0:x.closest("[role=dialog]"),O=Array.from((g==null?void 0:g.querySelectorAll('button:not(:disabled), input:not(:disabled), iframe, [tabindex]:not([tabindex="-1"])'))??[]);if(O.length===0)return;const y=O[0],v=O[O.length-1];b.shiftKey&&document.activeElement===y?(b.preventDefault(),v.focus()):!b.shiftKey&&document.activeElement===v&&(b.preventDefault(),y.focus())};return window.addEventListener("keydown",h),()=>{var b;document.body.style.overflow=f,window.removeEventListener("keydown",h),(b=u.current)==null||b.focus()}},[e]),e?ir.createPortal(o.jsx("div",{className:"sandbox-control-backdrop",onMouseDown:f=>{f.target===f.currentTarget&&s()},children:o.jsxs("section",{className:`sandbox-control-dialog ${r}`.trim(),role:"dialog","aria-modal":"true","aria-labelledby":l,children:[o.jsxs("header",{className:"sandbox-control-head",children:[o.jsx("span",{className:"sandbox-control-head-icon","aria-hidden":"true",children:i}),o.jsxs("div",{children:[o.jsx("h2",{id:l,children:t}),o.jsx("p",{children:n})]}),o.jsx("button",{ref:c,type:"button",className:"sandbox-control-close","aria-label":`关闭${t}`,onClick:s,children:o.jsx(sSt,{})})]}),a]})}),document.body):null}function cSt({open:e,kind:t,launch:n,loading:i,error:r,onReload:s,onClose:a}){const l=t==="terminal",c=l?"Terminal":"Sandbox Browser";return o.jsxs(Mw,{open:e,title:c,subtitle:l?"连接当前 AgentKit Session 的交互式终端":"在当前 AgentKit Session 中查看与操作浏览器",icon:l?o.jsx(gOe,{}):o.jsx(bOe,{}),className:`sandbox-tool-dialog sandbox-tool-dialog--${t}`,onClose:a,children:[o.jsx("div",{className:"sandbox-tool-toolbar",children:o.jsxs("span",{children:[o.jsx("i",{className:i?"is-loading":n?"is-ready":""}),i?"正在连接…":n?"已连接":"尚未连接"]})}),o.jsx("div",{className:"sandbox-tool-surface",children:i?o.jsxs("div",{className:"sandbox-control-state",children:[o.jsx(bu,{className:"spin"}),o.jsxs("strong",{children:["正在打开 ",c]}),o.jsx("span",{children:"工具正在连接当前 AgentKit Session。"})]}):r?o.jsxs("div",{className:"sandbox-control-state is-error",children:[o.jsxs("strong",{children:[c," 打开失败"]}),o.jsx("span",{children:r}),o.jsx("button",{type:"button",onClick:s,children:"重试"})]}):n?o.jsx("iframe",{src:n.url,title:c,allow:"clipboard-read; clipboard-write",sandbox:"allow-downloads allow-forms allow-modals allow-popups allow-pointer-lock allow-same-origin allow-scripts"}):null})]})}function uSt({open:e,threads:t,currentThreadId:n,loading:i,error:r,onSelect:s,onClose:a}){return o.jsx(Mw,{open:e,title:"恢复 Codex 对话",subtitle:"选择当前 Sandbox Session 中最近更新的 Thread",icon:o.jsx(aSt,{}),className:"sandbox-threads-dialog",onClose:a,children:o.jsx("div",{className:"sandbox-thread-list",children:i?o.jsxs("div",{className:"sandbox-control-state",children:[o.jsx(bu,{className:"spin"}),o.jsx("strong",{children:"正在读取历史对话"})]}):r?o.jsxs("div",{className:"sandbox-control-state is-error",children:[o.jsx("strong",{children:"历史对话读取失败"}),o.jsx("span",{children:r})]}):t.length===0?o.jsx("div",{className:"sandbox-control-state",children:o.jsx("strong",{children:"暂无可恢复的对话"})}):t.map(l=>{const c=l.id===n,u=l.name||l.preview||`Thread ${l.id.slice(0,8)}`;return o.jsxs("button",{type:"button",className:c?"is-active":"",disabled:c,onClick:()=>s(l.id),children:[o.jsxs("span",{children:[o.jsx("strong",{children:u}),o.jsx("small",{children:l.preview||l.cwd||l.id})]}),o.jsx("time",{children:l.updatedAt?new Date(l.updatedAt*1e3).toLocaleString():""}),o.jsx(iL,{})]},l.id)})})})}const dSt=[{value:"read-only",label:"只读",detail:"允许读取文件,不允许写入工作空间。"},{value:"workspace-write",label:"工作区写入",detail:"允许在当前工作空间内读取与修改文件。"},{value:"danger-full-access",label:"完全访问",detail:"不启用沙箱隔离,适合明确可信的任务。",danger:!0}],fSt=[{value:"untrusted",label:"仅不可信命令",detail:"只对 Codex 判断为不可信的操作发起审批。"},{value:"on-request",label:"按需审批",detail:"Codex 可在必要时请求你确认命令或文件修改。"},{value:"never",label:"不审批",detail:"Codex 不会暂停并请求人工批准。",danger:!0}],hSt=[{value:"user",label:"由我审批",detail:"审批请求会显示在 Studio 中,由你决定。"},{value:"auto_review",label:"自动审查",detail:"使用 Codex 自动审查流程处理审批请求。"}];function pSt({open:e,value:t,busy:n,error:i,onSave:r,onClose:s}){const[a,l]=m.useState(t);return m.useEffect(()=>{e&&l(t)},[e,t]),o.jsxs(Mw,{open:e,title:"Codex 权限",subtitle:"设置会保存到当前 Sandbox Session,并同步到其中的所有 Thread",icon:o.jsx(J9,{}),className:"sandbox-settings-dialog",onClose:s,children:[o.jsxs("div",{className:"sandbox-control-body",children:[o.jsx(ND,{label:"沙箱模式",choices:dSt,value:a.sandboxMode,disabled:n,onChange:c=>l(u=>({...u,sandboxMode:c,networkAccess:c==="danger-full-access"?!0:u.networkAccess}))}),o.jsx(ND,{label:"审批策略",choices:fSt,value:a.approvalPolicy,disabled:n,onChange:c=>l(u=>({...u,approvalPolicy:c}))}),o.jsx(ND,{label:"审批方式",choices:hSt,value:a.approvalsReviewer,disabled:n,onChange:c=>l(u=>({...u,approvalsReviewer:c}))}),o.jsxs("label",{className:`sandbox-network-toggle${a.sandboxMode==="danger-full-access"?" is-disabled":""}`,children:[o.jsxs("span",{children:[o.jsx("strong",{children:"允许网络访问"}),o.jsx("small",{children:"控制 workspace-write 与只读模式中的外部网络访问。"})]}),o.jsx("input",{type:"checkbox",checked:a.networkAccess,disabled:n||a.sandboxMode==="danger-full-access",onChange:c=>l(u=>({...u,networkAccess:c.target.checked}))})]}),a.sandboxMode==="danger-full-access"?o.jsx("div",{className:"sandbox-control-note is-danger",children:"完全访问会关闭文件系统与网络隔离,请只在可信任务中使用。"}):null,i?o.jsx("div",{className:"sandbox-control-error",children:i}):null]}),o.jsxs("footer",{className:"sandbox-control-actions",children:[o.jsx("button",{type:"button",onClick:s,disabled:n,children:"取消"}),o.jsxs("button",{type:"button",className:"is-primary",disabled:n,onClick:()=>r(a),children:[n?o.jsx(bu,{className:"spin"}):null,"保存权限"]})]})]})}function ND({label:e,choices:t,value:n,disabled:i,onChange:r}){return o.jsxs("fieldset",{className:"sandbox-choice-group",disabled:i,role:"radiogroup","aria-label":e,children:[o.jsx("legend",{children:e}),o.jsx("div",{className:"sandbox-choice-list",children:t.map(s=>o.jsxs("button",{type:"button",role:"radio",className:`${n===s.value?"is-active":""}${s.danger?" is-danger":""}`.trim(),"aria-checked":n===s.value,onClick:()=>r(s.value),onKeyDown:a=>{var d,f;const l=t.findIndex(h=>h.value===s.value);let c=l;if(a.key==="ArrowRight"||a.key==="ArrowDown")c=(l+1)%t.length;else if(a.key==="ArrowLeft"||a.key==="ArrowUp")c=(l-1+t.length)%t.length;else if(a.key==="Home")c=0;else if(a.key==="End")c=t.length-1;else return;a.preventDefault(),r(t[c].value);const u=(d=a.currentTarget.parentElement)==null?void 0:d.querySelectorAll('[role="radio"]');(f=u==null?void 0:u[c])==null||f.focus()},children:[o.jsx("i",{}),o.jsxs("span",{children:[o.jsx("strong",{children:s.label}),o.jsx("small",{children:s.detail})]})]},s.value))})]})}function mSt({open:e,cwd:t,locked:n,busy:i,error:r,browse:s,onSave:a,onClose:l}){const[c,u]=m.useState(t||"/"),[d,f]=m.useState(null),[h,p]=m.useState(!1),[b,g]=m.useState("");m.useEffect(()=>{if(!e)return;const y=t||"/";u(y),O(y)},[t,e]);async function O(y){p(!0),g("");try{const v=await s(y);f(v),u(v.path)}catch(v){g(v instanceof Error?v.message:String(v))}finally{p(!1)}}return o.jsxs(Mw,{open:e,title:"工作空间",subtitle:"选择当前 Codex Thread 执行命令与修改文件的目录",icon:o.jsx(dT,{}),className:"sandbox-workspace-dialog",onClose:l,children:[o.jsxs("div",{className:"sandbox-control-body",children:[o.jsxs("label",{className:"sandbox-workspace-input",children:[o.jsx("span",{children:"绝对路径"}),o.jsxs("div",{children:[o.jsx("input",{value:c,disabled:i||n,spellCheck:!1,onChange:y=>u(y.target.value),onKeyDown:y=>{y.key==="Enter"&&c.startsWith("/")&&(y.preventDefault(),O(c))}}),o.jsx("button",{type:"button",disabled:i||h||!c.startsWith("/"),onClick:()=>void O(c),children:"浏览"})]})]}),o.jsxs("div",{className:"sandbox-directory-browser",children:[o.jsxs("div",{className:"sandbox-directory-head",children:[o.jsx("span",{title:d==null?void 0:d.path,children:(d==null?void 0:d.path)??c}),h?o.jsx(bu,{className:"spin"}):null]}),o.jsxs("div",{className:"sandbox-directory-list",children:[d!=null&&d.parent?o.jsxs("button",{type:"button",disabled:h,onClick:()=>void O(d.parent??"/"),children:[o.jsx(dT,{}),o.jsx("span",{children:"上一级"}),o.jsx("small",{children:d.parent}),o.jsx(iL,{})]}):null,d==null?void 0:d.directories.map(y=>o.jsxs("button",{type:"button",disabled:h,onClick:()=>void O(y.path),children:[o.jsx(dT,{}),o.jsx("span",{children:y.name}),o.jsx(iL,{})]},y.path)),!h&&(d==null?void 0:d.directories.length)===0?o.jsx("div",{className:"sandbox-directory-empty",children:"当前目录没有子目录"}):null]})]}),n?o.jsx("div",{className:"sandbox-control-note",children:"当前对话已经开始,工作空间已锁定。新建 Sandbox 会话后可重新选择。"}):null,b||r?o.jsx("div",{className:"sandbox-control-error",children:b||r}):null]}),o.jsxs("footer",{className:"sandbox-control-actions",children:[o.jsx("button",{type:"button",onClick:l,disabled:i,children:"取消"}),o.jsxs("button",{type:"button",className:"is-primary",disabled:i||n||!c.startsWith("/"),onClick:()=>a(c),children:[i?o.jsx(bu,{className:"spin"}):null,"使用此目录"]})]})]})}function gSt({approval:e,busy:t,error:n,onDecision:i}){var a;const r=(a=e==null?void 0:e.command)==null?void 0:a.trim(),s=(e==null?void 0:e.changes)===void 0?"":JSON.stringify(e.changes,null,2);return o.jsxs(Mw,{open:e!==null,title:(e==null?void 0:e.kind)==="file"?"允许修改文件?":"允许执行命令?",subtitle:"Codex 正在等待你的决定",icon:o.jsx(J9,{}),className:"sandbox-approval-dialog",onClose:()=>{t||i("cancel")},children:[o.jsxs("div",{className:"sandbox-control-body",children:[e!=null&&e.reason?o.jsx("div",{className:"sandbox-approval-reason",children:e.reason}):null,r?o.jsx("pre",{children:r}):null,s?o.jsx("pre",{children:s}):null,e!=null&&e.cwd?o.jsxs("div",{className:"sandbox-approval-meta",children:["执行目录 ",o.jsx("code",{children:e.cwd})]}):null,n?o.jsx("div",{className:"sandbox-control-error",children:n}):null]}),o.jsxs("footer",{className:"sandbox-control-actions sandbox-approval-actions",children:[o.jsx("button",{type:"button",disabled:t,onClick:()=>i("decline"),children:"拒绝"}),o.jsx("button",{type:"button",disabled:t,onClick:()=>i("accept"),children:"仅本次允许"}),o.jsxs("button",{type:"button",className:"is-primary",disabled:t,onClick:()=>i("acceptForSession"),children:[t?o.jsx(bu,{className:"spin"}):null,"本会话允许"]})]})]})}const bSt={codex:"Codex","deepseek-harness":"DeepSeek Harness",openclaw:"OpenClaw",hermes:"Hermes"};function iZ(e){if(!e)return"—";const t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format(t)}function OSt({session:e,onBack:t,onOpen:n,onDelete:i}){const[r,s]=m.useState(!1),[a,l]=m.useState(!1),[c,u]=m.useState(!1),[d,f]=m.useState(""),h=bSt[e.toolName],p=e.resourceType==="snapshot",b=p?e.sourceSessionId||e.snapshotId:e.id,g=async()=>{if(!(a||c)){l(!0),f("");try{await n()}catch(y){f(y instanceof Error?y.message:String(y))}finally{l(!1)}}},O=async()=>{if(!(c||a)){u(!0),f("");try{await i()}catch(y){f(y instanceof Error?y.message:String(y)),s(!1)}finally{u(!1)}}};return o.jsxs("section",{className:"sandbox-agent-details",children:[o.jsxs("header",{className:"sandbox-agent-details-header",children:[o.jsx(j9,{label:"返回智能体列表",onClick:t}),o.jsxs("div",{children:[o.jsx("h1",{children:e.displayName||`${h} 智能体`}),o.jsxs("p",{children:[h," AgentKit Session 详情"]})]})]}),d?o.jsx("div",{className:"sandbox-agent-detail-error",role:"alert",children:d}):null,o.jsxs("div",{className:"sandbox-agent-detail-panel",children:[o.jsxs("dl",{children:[o.jsxs("div",{children:[o.jsx("dt",{children:"智能体类型"}),o.jsx("dd",{children:h})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"状态"}),o.jsx("dd",{children:FC(e.status)})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"创建人"}),o.jsx("dd",{children:e.createdBy||"—"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:p?"快照状态":"工具类型"}),o.jsx("dd",{children:p?e.snapshotStatus||"—":e.toolType||"—"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"创建时间"}),o.jsx("dd",{children:iZ(e.createdAt)})]}),o.jsxs("div",{children:[o.jsx("dt",{children:p?"快照原因":"过期时间"}),o.jsx("dd",{children:p?e.reason||"—":iZ(e.expireAt)})]}),o.jsxs("div",{className:"is-wide",children:[o.jsx("dt",{children:p?"Snapshot ID":"Session ID"}),o.jsx("dd",{children:p?e.snapshotId:b})]}),p&&e.sourceSessionId?o.jsxs("div",{className:"is-wide",children:[o.jsx("dt",{children:"来源 Session ID"}),o.jsx("dd",{children:e.sourceSessionId})]}):null]}),o.jsxs("footer",{children:[o.jsx("button",{type:"button",className:"sandbox-agent-delete",disabled:a||c,onClick:()=>s(!0),children:"删除智能体"}),o.jsx("button",{type:"button",className:"sandbox-agent-open",disabled:a||c,"aria-busy":a||void 0,onClick:()=>void g(),children:a?p?"唤醒中…":"打开中…":p?"唤醒智能体":"打开智能体"})]})]}),r?o.jsx("div",{className:"confirm-scrim",onClick:()=>!c&&s(!1),children:o.jsxs("div",{className:"confirm-box",role:"alertdialog","aria-modal":"true","aria-labelledby":"sandbox-agent-delete-title",onClick:y=>y.stopPropagation(),children:[o.jsx("div",{className:"confirm-title",id:"sandbox-agent-delete-title",children:"删除智能体?"}),o.jsxs("div",{className:"confirm-text",children:["将删除“",e.displayName||`${h} 智能体`,"”及其 AgentKit ",p?"Snapshot":"Session",",此操作无法撤销。"]}),o.jsxs("div",{className:"confirm-actions",children:[o.jsx("button",{type:"button",className:"confirm-btn",disabled:c,onClick:()=>s(!1),children:"取消"}),o.jsx("button",{type:"button",className:"confirm-btn confirm-btn--danger",disabled:c,onClick:()=>void O(),children:c?"删除中…":"确认删除"})]})]})}):null]})}function ySt({workspace:e,onBack:t}){const[n,i]=m.useState("main"),[r,s]=m.useState(""),[a,l]=m.useState(!1),[c,u]=m.useState(""),d=e.kind==="deepseek-harness"?"DeepSeek Harness":e.kind==="openclaw"?"OpenClaw":"Hermes";m.useEffect(()=>{i("main"),s(""),u(""),l(!1)},[e.session.id]);const f=async()=>{if(i("terminal"),!(r||a)){l(!0),u("");try{const h=await Li.launchAgentTerminal(e.kind,e.session.id);s(h.url)}catch(h){u(h instanceof Error?h.message:String(h))}finally{l(!1)}}};return o.jsxs("section",{className:"sandbox-agent-workspace",children:[o.jsxs("header",{children:[o.jsxs("div",{className:"sandbox-agent-workspace-title",children:[o.jsx("button",{type:"button",onClick:t,"aria-label":"返回智能体列表",children:o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}),o.jsxs("div",{children:[o.jsx("h1",{children:e.session.displayName||`${d} 智能体`}),o.jsxs("p",{children:[o.jsxs("span",{children:["创建人 ",e.session.createdBy||"未知"]}),o.jsx("span",{className:"sandbox-agent-workspace-status","data-ready":e.session.status.toLowerCase()==="ready"||void 0,children:FC(e.session.status)})]})]})]}),o.jsxs(jl,{className:"sandbox-agent-workspace-tabs",value:n,size:"lg",gutterSize:"lg",block:!0,pill:!1,"aria-label":"智能体工作区",onChange:h=>{h==="terminal"?f():i("main")},children:[o.jsx(jl.Option,{value:"main",children:"主界面"}),o.jsx(jl.Option,{value:"terminal",children:"终端"})]})]}),o.jsx("div",{className:"sandbox-agent-workspace-surface",children:n==="main"?o.jsx("iframe",{src:e.webuiUrl,title:`${d} 主界面`,allow:"clipboard-read; clipboard-write"}):a?o.jsx("div",{className:"sandbox-agent-workspace-state",role:"status",children:"正在打开终端…"}):c?o.jsxs("div",{className:"sandbox-agent-workspace-state is-error",role:"alert",children:[o.jsx("p",{children:c}),o.jsx("button",{type:"button",onClick:()=>void f(),children:"重新尝试"})]}):r?o.jsx("iframe",{src:r,title:`${d} 终端`}):null})]})}const JC=[{name:"model",usage:"/model [model]",description:"显示或切换当前对话模型",keywords:["模型","switch"]},{name:"models",usage:"/models",description:"列出 app-server 可用模型",keywords:["模型列表","list"]},{name:"skill",usage:"/skill",description:"浏览并调用当前工作区可用的 Skill",keywords:["技能","workflow"]},{name:"skills",usage:"/skills",description:"浏览并调用当前工作区可用的 Skills",keywords:["技能列表","workflow","list"]},{name:"new",usage:"/new",description:"开始一个新对话",keywords:["新建","对话"]},{name:"resume",usage:"/resume [thread]",description:"打开历史会话或恢复指定 thread",keywords:["历史","恢复","session"]},{name:"fork",usage:"/fork",description:"从当前上下文分叉一个新对话",keywords:["分叉","branch"]},{name:"compact",usage:"/compact",description:"压缩当前对话上下文",keywords:["压缩","上下文"]},{name:"archive",usage:"/archive",description:"归档当前对话并新建对话",keywords:["归档","关闭"]},{name:"status",usage:"/status",description:"显示当前连接、thread、模型与 token 状态",keywords:["状态","连接","token"]},{name:"clear",usage:"/clear",description:"清空当前视图并开始新对话",keywords:["清空","重置"]},{name:"help",usage:"/help",description:"显示 Sandbox 支持的快捷命令",keywords:["帮助","命令"]}];function xSt(e){var n;const t=e.trim().match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(t)return{name:t[1].toLocaleLowerCase(),argument:((n=t[2])==null?void 0:n.trim())??""}}function vSt(e){const t=e.toLocaleLowerCase();return JC.filter(n=>!t||[n.name,n.description,...n.keywords].some(i=>i.toLocaleLowerCase().includes(t))).sort((n,i)=>rZ(n,t)-rZ(i,t)).slice(0,12)}function rZ(e,t){return t?e.name===t?0:e.name.startsWith(t)?1:e.name.includes(t)?2:3:JC.indexOf(e)}function wSt(e,t){const n=t.toLocaleLowerCase();return e.filter(i=>!n||`${i.id} ${i.displayName} ${i.description}`.toLocaleLowerCase().includes(n)).sort((i,r)=>{if(!n)return Number(r.isDefault)-Number(i.isDefault);const s=i.id.toLocaleLowerCase(),a=r.id.toLocaleLowerCase(),l=(c,u)=>c===n?0:c.startsWith(n)?1:u.toLocaleLowerCase().startsWith(n)?2:3;return l(s,i.displayName)-l(a,r.displayName)}).slice(0,12)}function SSt(){return JC.map(e=>({label:e.usage,value:e.description}))}function ESt(e,t){return e.map(n=>{const i=n.displayName.trim(),r=i&&i!==n.id?`${i} · ${n.id}`:n.id;return{label:n.id===t?"当前模型":"可用模型",value:n.description?`${r} — ${n.description}`:r,code:!1}})}function kSt(e){const t=[{label:"Thread",value:e.threadId,code:!0},{label:"工作空间",value:e.cwd||"未设置",code:!!e.cwd}];return e.model&&t.push({label:"模型",value:e.model,code:!0}),t.push({label:"状态",value:e.busy?"运行中":"空闲"}),e.threadTotal&&t.push({label:"累计 Token",value:e.threadTotal.totalTokens.toLocaleString()}),e.modelContextWindow!==void 0&&t.push({label:"上下文窗口",value:e.modelContextWindow.toLocaleString()}),t}function rL(e){return e.messages.map(t=>{var i,r;const n=[];return t.role==="user"&&((i=t.skillNames)!=null&&i.length)&&n.push({kind:"invocation",value:{skills:t.skillNames.map(s=>({name:s,description:""}))}}),t.role==="user"&&((r=t.images)!=null&&r.length)&&n.push({kind:"attachment",files:t.images.map((s,a)=>({id:`${t.id}-image-${a}`,mimeType:s.mimeType,data:s.data,name:s.alt||s.name||"图片"}))}),t.content&&n.push({kind:"text",text:t.content}),{role:t.role,blocks:n,meta:{localId:t.id,ts:t.timestamp/1e3}}})}function TSt({appName:e,value:t,onChange:n,onSubmit:i,onStop:r,disabled:s,busy:a,attachments:l,onAddFiles:c,onRemoveAttachment:u,actions:d,models:f,modelsLoading:h,modelsLoaded:p,currentModel:b,onRequestModels:g,skills:O,skillsLoading:y,skillsLoaded:v,selectedSkills:x,onRequestSkills:w,onSelectedSkillsChange:S,textOnly:E=!1}){const k=m.useRef(null),T=m.useRef(null),_=m.useRef(null),N=m.useRef(null),[C,R]=m.useState(!1),[L,D]=m.useState(0),[$,j]=m.useState(!1);m.useLayoutEffect(()=>{const Z=k.current;Z&&(Z.style.height="auto",Z.style.height=`${Math.min(Z.scrollHeight,200)}px`)},[t]);const P=m.useMemo(()=>{if(!t.startsWith("/")||t.includes(` `))return;const Z=t.slice(1),J=Z.search(/\s/),ue=(J<0?Z:Z.slice(0,J)).toLocaleLowerCase(),Oe=J<0?"":Z.slice(J).trim();if(!(J>=0&&ue!=="model"))return{command:ue,argument:Oe,modelMode:J>=0}},[t]),M=m.useMemo(()=>{const Z=/(^|\s)\$([^\s$]*)$/.exec(t);if(Z)return{query:Z[2],start:t.length-Z[2].length-1,end:t.length}},[t]),U=m.useMemo(()=>{if(M){const Z=M.query.toLocaleLowerCase();return O.filter(J=>!x.some(ue=>ue.id===J.id||ue.name===J.name)).filter(J=>`${J.name} ${J.description}`.toLocaleLowerCase().includes(Z)).slice(0,12).map(J=>({kind:"skill",skill:J}))}return P!=null&&P.modelMode?wSt(f,P.argument).map(Z=>({kind:"model",model:Z})):P?vSt(P.command).map(Z=>({kind:"command",command:Z})):[]},[M,f,x,O,P]),F=!E&&!$&&!!(M||P);m.useEffect(()=>{D(0)},[t]),m.useEffect(()=>{P!=null&&P.modelMode&&!p&&!h&&g()},[p,h,g,P==null?void 0:P.modelMode]),m.useEffect(()=>{M&&!v&&!y&&w()},[M,w,v,y]);const H=l.some(Z=>Z.status!=="ready"),z=a&&!!r,Q=!s&&!a&&!H&&(t.trim().length>0||l.length>0);function q(Z){j(!1),R(!1),n(Z)}function le(Z){if(Z.kind==="skill"){if(!M)return;const J=t.slice(0,M.start)+t.slice(M.end);S([...x,Z.skill]),q(J),j(!0),requestAnimationFrame(()=>{var ue,Oe;(ue=k.current)==null||ue.focus(),(Oe=k.current)==null||Oe.setSelectionRange(M.start,M.start)});return}if(Z.kind==="model"){q(`/model ${Z.model.id}`),j(!0),requestAnimationFrame(()=>{var J;return(J=k.current)==null?void 0:J.focus()});return}if(Z.command.name==="model"){q("/model "),g(),requestAnimationFrame(()=>{var J;return(J=k.current)==null?void 0:J.focus()});return}if(Z.command.name==="skill"||Z.command.name==="skills"){q(`/${Z.command.name}`),j(!0),requestAnimationFrame(()=>{var J;return(J=k.current)==null?void 0:J.focus()});return}q(`/${Z.command.name}`),j(!0),requestAnimationFrame(()=>{var J;return(J=k.current)==null?void 0:J.focus()})}function ge(Z){var J;R(!1),(J=Z.current)==null||J.click()}function be(Z){const J=Z.target.files?Array.from(Z.target.files):[];J.length&&c(J),Z.target.value=""}const ce=M?"可用 Skills":P!=null&&P.modelMode?"选择模型":"Codex 快捷命令";return o.jsxs("div",{className:"composer sandbox-codex-composer",children:[l.length>0?o.jsx(uC,{appName:e,compact:!0,items:l,onRemove:u}):null,o.jsxs("div",{className:"composer-box",children:[F?o.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":ce,children:[o.jsxs("div",{className:"composer-command-head",children:[o.jsx(rSt,{}),o.jsx("span",{children:ce}),P!=null&&P.modelMode&&b?o.jsxs("small",{children:["当前:",b]}):null,o.jsx("kbd",{children:M?"$":"/"})]}),M&&y?o.jsxs("div",{className:"composer-command-empty",children:[o.jsx(bu,{className:"spin"})," 正在发现当前工作区的 Skills…"]}):P!=null&&P.modelMode&&h?o.jsxs("div",{className:"composer-command-empty",children:[o.jsx(bu,{className:"spin"})," 正在读取模型…"]}):U.length===0?o.jsx("div",{className:"composer-command-empty",children:M?"当前工作区没有匹配的 Skill":P!=null&&P.modelMode?"没有匹配模型,也可以直接输入模型 ID":"没有匹配的快捷命令"}):o.jsx("div",{className:"composer-command-list",children:U.map((Z,J)=>{const ue=Z.kind==="command"?`command:${Z.command.name}`:Z.kind==="model"?`model:${Z.model.id}`:`skill:${Z.skill.id}`,Oe=Z.kind==="command"?Z.command.usage:Z.kind==="model"?Z.model.displayName:`$${Z.skill.name}`,Ne=Z.kind==="command"?Z.command.description:Z.kind==="model"?Z.model.description||Z.model.id:Z.skill.description||"加载并执行该 Skill";return o.jsxs("button",{type:"button",role:"option","aria-selected":J===L,className:`composer-command-item${J===L?" is-active":""}`,onMouseDown:De=>{De.preventDefault(),le(Z)},onMouseEnter:()=>D(J),children:[o.jsx("span",{className:`composer-command-icon composer-command-icon--${Z.kind}`,"aria-hidden":"true",children:Z.kind==="command"?"/":Z.kind==="model"?"◇":"$"}),o.jsxs("span",{className:"composer-command-copy",children:[o.jsx("strong",{children:Oe}),o.jsx("span",{children:Ne})]}),J===L?o.jsx("kbd",{children:"↵"}):null]},ue)})})]}):null,o.jsx("div",{className:"composer-left-controls",children:!E&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"composer-menu-wrap",children:[o.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:s,onClick:()=>R(Z=>!Z),children:o.jsx(Kwt,{className:"icon"})}),C?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>R(!1)}),o.jsxs("div",{className:"composer-menu",role:"menu",children:[o.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>ge(T),children:[o.jsx(tSt,{className:"icon"}),"上传图片"]}),o.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>ge(_),children:[o.jsx(nSt,{className:"icon"}),"上传文档或 PDF"]}),o.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>ge(N),children:[o.jsx(iSt,{className:"icon"}),"上传视频"]}),o.jsx("div",{className:"composer-menu-separator",role:"separator"}),o.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{R(!1),d.onOpenTerminal()},children:[o.jsx(gOe,{className:"icon"}),"进入终端"]}),o.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{R(!1),d.onOpenBrowser()},children:[o.jsx(bOe,{className:"icon"}),"查看浏览器"]})]})]}):null]}),o.jsx("button",{type:"button",className:"comp-icon sandbox-composer-control",title:"Codex 权限","aria-label":"Codex 权限",disabled:d.settingsBusy||a,onClick:d.onOpenPermissions,children:o.jsx(J9,{})}),o.jsx("button",{type:"button",className:`comp-icon sandbox-composer-control${d.workspaceLocked?" is-locked":""}`,title:d.workspaceLocked?"对话已开始,工作空间已锁定":"选择工作空间","aria-label":"Codex 工作空间",disabled:d.settingsBusy||a,onClick:d.onOpenWorkspace,children:o.jsx(dT,{})}),d.endpointCopyEnabled&&d.onCopyEndpoint?o.jsx("button",{type:"button",className:"comp-icon sandbox-composer-control",title:d.endpointCopyState==="copied"?"Endpoint 已复制":"复制 Sandbox Endpoint","aria-label":d.endpointCopyState==="copied"?"Endpoint 已复制":"复制 Sandbox Endpoint",disabled:d.endpointCopyState==="copying",onClick:d.onCopyEndpoint,children:d.endpointCopyState==="copying"?o.jsx(bu,{className:"spin"}):d.endpointCopyState==="copied"?o.jsx(lSt,{}):o.jsx(oSt,{})}):null]})}),o.jsxs("div",{className:"composer-input-stack sandbox-composer-input",children:[!E&&x.length>0?o.jsx(cC,{skillPrefix:"$",value:{skills:x.map(({name:Z,description:J})=>({name:Z,description:J}))},onRemoveSkill:Z=>S(x.filter(J=>J.name!==Z))}):null,o.jsx("textarea",{ref:k,className:"comp-input scroll",rows:1,value:t,disabled:s,placeholder:E?"继续说明你想实现或调整的内容":"向 AgentKit 沙箱发送消息,输入 / 查看命令,输入 $ 调用 Skill…","aria-expanded":F,onChange:Z=>q(Z.target.value),onBlur:()=>window.setTimeout(()=>j(!0),0),onKeyDown:Z=>{if(!qC(Z.nativeEvent)){if(F){if((Z.key==="ArrowDown"||Z.key==="Tab"&&!Z.shiftKey)&&U.length>0){Z.preventDefault(),D(J=>(J+1)%U.length);return}if((Z.key==="ArrowUp"||Z.key==="Tab"&&Z.shiftKey)&&U.length>0){Z.preventDefault(),D(J=>(J-1+U.length)%U.length);return}if(Z.key==="Enter"&&!Z.shiftKey&&U[L]){Z.preventDefault(),le(U[L]);return}if(Z.key==="Escape"){Z.preventDefault(),j(!0);return}}if(Z.key==="Backspace"&&!t&&Z.currentTarget.selectionStart===0&&x.length>0){Z.preventDefault(),S(x.slice(0,-1));return}Z.key==="Enter"&&!Z.shiftKey&&(Z.preventDefault(),Q&&i(t))}}})]}),o.jsx("button",{type:"button",className:"comp-send",disabled:z?!1:!Q,onClick:z?r:()=>i(t),"aria-label":z?"停止生成":"发送",title:z?"停止生成":void 0,children:z?o.jsx(eSt,{className:"icon"}):a?o.jsx(bu,{className:"icon spin"}):o.jsx(Jwt,{className:"icon"})})]}),o.jsx("input",{ref:T,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:be}),o.jsx("input",{ref:_,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:be}),o.jsx("input",{ref:N,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:be})]})}function _St(e){return e.trim().replace(/\/+$/,"")||window.location.origin}function ASt(e){return["使用 AgentKit Studio Plugin 端云接力当前会话、项目和任务。请直接执行,不要让我手动打开终端。",`Studio:${_St(e.studioUrl)}`,`配对码:${e.pairingCode}`].join(` diff --git a/veadk/webui/assets/chunks/MarkdownPromptEditor-EeSyPVCy.js b/veadk/webui/assets/chunks/MarkdownPromptEditor-CnKbw7U5.js similarity index 99% rename from veadk/webui/assets/chunks/MarkdownPromptEditor-EeSyPVCy.js rename to veadk/webui/assets/chunks/MarkdownPromptEditor-CnKbw7U5.js index 80094cf98..69b2be218 100644 --- a/veadk/webui/assets/chunks/MarkdownPromptEditor-EeSyPVCy.js +++ b/veadk/webui/assets/chunks/MarkdownPromptEditor-CnKbw7U5.js @@ -1,4 +1,4 @@ -var T0=Object.defineProperty;var E0=(n,e,t)=>e in n?T0(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var $=(n,e,t)=>E0(n,typeof e!="symbol"?e+"":e,t);import{aa as I,aj as Rn,a2 as F,A as k0,e as Kt,r as at,ao as jo,P as N0,d as M0,ai as hc,an as Fh,a9 as Uo,v as Rh,t as $0,Z as L0,am as O0,R as A0,F as I0,D as P0,u as Hh,x as D0,a as F0,n as R0,al as Vh,ak as Fu,j as H0,I as V0,l as B0,w as Bh,y as zh,i as z0,T as J0,K as Ru,L as K0,B as W0,G as aa,a8 as j0,ap as U0,Y as Z0,g as T,z as Hu,o as Vu,V as Qe,a7 as nn,ag as Di,ae as $l,ab as q0,p as Bu,a3 as jt,a5 as hs,J as gc,a4 as Wn,ah as En,af as Pt,s as So,M as G0,S as Y0,O as X0,Q as Q0,N as e5,X as t5,U as n5,W as r5,f as o5,k as i5,m as s5,c as l5,b as a5}from"../app/index-BSfA7-Qp.js";var c5=Object.defineProperty,u5=(n,e)=>c5(n,"name",{value:e,configurable:!0});function Jh(n){const e=I.useRef({value:n,previous:n});return I.useMemo(()=>(e.current.value!==n&&(e.current.previous=e.current.value,e.current.value=n),e.current.previous),[n])}u5(Jh,"usePrevious");var f5=Object.defineProperty,d5=(n,e)=>f5(n,"name",{value:e,configurable:!0});function ca(n,[e,t]){return Math.min(t,Math.max(e,n))}d5(ca,"clamp");var h5=Object.defineProperty,be=(n,e)=>h5(n,"name",{value:e,configurable:!0}),g5=[" ","Enter","ArrowUp","ArrowDown"],p5=[" ","Enter"],oo="Select",[Us,pc,m5]=$0(oo),[vr,gv]=Hh(oo,[m5,Rh]),mc=Rh(),[_5,Hn]=vr(oo),[x5,y5]=vr(oo);function Kh(n){const{__scopeSelect:e,children:t,open:r,defaultOpen:o,onOpenChange:i,value:s,defaultValue:l,onValueChange:a,dir:c,name:u,autoComplete:f,disabled:d,required:g,form:h,internal_do_not_use_render:_}=n,m=mc(e),[p,y]=I.useState(null),[C,x]=I.useState(null),[w,k]=I.useState(!1),b=Vh(c),[v,E]=Fu({prop:r,defaultProp:o??!1,onChange:i,caller:oo}),[M,L]=Fu({prop:s,defaultProp:l,onChange:a,caller:oo}),H=I.useRef(null),R=I.useRef(M);I.useEffect(()=>{const Te=h?p==null?void 0:p.ownerDocument.getElementById(h):p==null?void 0:p.form;if(Te instanceof HTMLFormElement){const Se=be(()=>L(R.current),"reset");return Te.addEventListener("reset",Se),()=>Te.removeEventListener("reset",Se)}},[h,p,L]);const V=p?!!h||!!p.closest("form"):!0,[Z,G]=I.useState(new Set),z=Fh(),re=Array.from(Z).map(Te=>Te.props.value).join(";"),ee=I.useCallback(Te=>{G(Se=>new Set(Se).add(Te))},[]),ne=I.useCallback(Te=>{G(Se=>{const Ke=new Set(Se);return Ke.delete(Te),Ke})},[]),ae={required:g,trigger:p,onTriggerChange:y,valueNode:C,onValueNodeChange:x,valueNodeHasChildren:w,onValueNodeHasChildrenChange:k,contentId:z,value:M,onValueChange:L,open:v,onOpenChange:E,dir:b,triggerPointerDownPosRef:H,disabled:d,name:u,autoComplete:f,form:h,nativeOptions:Z,nativeSelectKey:re,isFormControl:V};return F.jsx(H0,{...m,children:F.jsx(_5,{scope:e,...ae,children:F.jsx(Us.Provider,{scope:e,children:F.jsx(x5,{scope:e,onNativeOptionAdd:ee,onNativeOptionRemove:ne,children:jh(_)?_(ae):t})})})})}be(Kh,"SelectProvider");var C5=be(n=>{const{__scopeSelect:e,children:t,...r}=n;return F.jsx(Kh,{__scopeSelect:e,...r,internal_do_not_use_render:({isFormControl:o})=>F.jsxs(F.Fragment,{children:[t,o?F.jsx(W5,{__scopeSelect:e}):null]})})},"Select"),v5="SelectTrigger",b5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,disabled:o=!1,...i}=e,s=mc(r),l=Hn(v5,r),a=l.disabled||o,c=Rn(t,l.onTriggerChange),u=pc(r),f=I.useRef("touch"),[d,g,h]=_c(m=>{const p=u().filter(x=>!x.disabled),y=p.find(x=>x.value===l.value),C=xc(p,m,y);C!==void 0&&l.onValueChange(C.value)}),_=be(m=>{a||(l.onOpenChange(!0),h()),m&&(l.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})},"handleOpen");return F.jsx(k0,{asChild:!0,...s,children:F.jsx(Kt.button,{type:"button",role:"combobox","aria-controls":l.open?l.contentId:void 0,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:a,"data-disabled":a?"":void 0,"data-placeholder":yi(l.value)?"":void 0,...i,ref:c,onClick:at(i.onClick,m=>{m.currentTarget.focus(),f.current!=="mouse"&&_(m)}),onPointerDown:at(i.onPointerDown,m=>{f.current=m.pointerType;const p=m.target;p.hasPointerCapture(m.pointerId)&&p.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(_(m),m.preventDefault())}),onKeyDown:at(i.onKeyDown,m=>{const p=d.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&g(m.key),!(p&&m.key===" ")&&g5.includes(m.key)&&(_(),m.preventDefault())})})})},"SelectTrigger")),S5="SelectValue",w5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,className:o,style:i,children:s,placeholder:l="",...a}=e,c=Hn(S5,r),{onValueNodeHasChildrenChange:u}=c,f=s!==void 0,d=Rn(t,c.onValueNodeChange);jo(()=>{u(f)},[u,f]);const g=yi(c.value);return F.jsx(Kt.span,{...a,asChild:g?!1:a.asChild,ref:d,style:{pointerEvents:"none"},children:F.jsx(I.Fragment,{children:g?l:s},g?"placeholder":"value")})},"SelectValue")),T5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,children:o,...i}=e;return F.jsx(Kt.span,{"aria-hidden":!0,...i,ref:t,children:o||"▼"})},"SelectIcon")),E5="SelectPortal",[k5,N5]=vr(E5,{forceMount:void 0}),M5=be(n=>{const{__scopeSelect:e,forceMount:t,...r}=n;return F.jsx(k5,{scope:n.__scopeSelect,forceMount:t,children:F.jsx(N0,{asChild:!0,...r})})},"SelectPortal"),sr="SelectContent",$5=I.forwardRef(be(function(e,t){const r=N5(sr,e.__scopeSelect),{forceMount:o=r.forceMount,...i}=e,s=Hn(sr,e.__scopeSelect),[l,a]=I.useState();return jo(()=>{a(new DocumentFragment)},[]),F.jsx(M0,{present:o||s.open,children:({present:c})=>c?F.jsx(A5,{...i,ref:t}):F.jsx(L5,{...i,fragment:l})})},"SelectContent")),L5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,children:o,fragment:i}=e;return i?Uo.createPortal(F.jsx(Wh,{scope:r,children:F.jsx(Us.Slot,{scope:r,children:F.jsx("div",{ref:t,children:o})})}),i):null},"SelectContentFragment")),Ft=10,[Wh,Zs]=vr(sr),O5=D0("SelectContent.RemoveScroll"),A5=I.forwardRef(be(function(e,t){const{__scopeSelect:r}=e,{position:o="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:s,onPointerDownOutside:l,side:a,sideOffset:c,align:u,alignOffset:f,arrowPadding:d,collisionBoundary:g,collisionPadding:h,sticky:_,hideWhenDetached:m,avoidCollisions:p,...y}=e,C=Hn(sr,r),[x,w]=I.useState(null),[k,b]=I.useState(null),v=Rn(t,w),[E,M]=I.useState(null),[L,H]=I.useState(null),R=pc(r),[V,Z]=I.useState(!1),G=I.useRef(!1);I.useEffect(()=>{if(x)return L0(x)},[x]),O0();const z=I.useCallback(W=>{const[ce,...Ie]=R().map(xe=>xe.ref.current),[ue]=Ie.slice(-1),de=document.activeElement;for(const xe of W)if(xe===de||(xe==null||xe.scrollIntoView({block:"nearest"}),xe===ce&&k&&(k.scrollTop=0),xe===ue&&k&&(k.scrollTop=k.scrollHeight),xe==null||xe.focus(),document.activeElement!==de))return},[R,k]),re=I.useCallback(()=>z([E,x]),[z,E,x]);I.useEffect(()=>{V&&re()},[V,re]);const{onOpenChange:ee,triggerPointerDownPosRef:ne}=C;I.useEffect(()=>{if(x){let W={x:0,y:0};const ce=be(ue=>{var de,xe;W={x:Math.abs(Math.round(ue.pageX)-(((de=ne.current)==null?void 0:de.x)??0)),y:Math.abs(Math.round(ue.pageY)-(((xe=ne.current)==null?void 0:xe.y)??0))}},"handlePointerMove"),Ie=be(ue=>{W.x<=10&&W.y<=10?ue.preventDefault():ue.composedPath().includes(x)||ee(!1),document.removeEventListener("pointermove",ce),ne.current=null},"handlePointerUp");return ne.current!==null&&(document.addEventListener("pointermove",ce),document.addEventListener("pointerup",Ie,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ce),document.removeEventListener("pointerup",Ie,{capture:!0})}}},[x,ee,ne]),I.useEffect(()=>{const W=be(()=>ee(!1),"close");return window.addEventListener("blur",W),window.addEventListener("resize",W),()=>{window.removeEventListener("blur",W),window.removeEventListener("resize",W)}},[ee]);const[ae,Te]=_c(W=>{const ce=R().filter(de=>!de.disabled),Ie=ce.find(de=>de.ref.current===document.activeElement),ue=xc(ce,W,Ie);ue&&setTimeout(()=>{var de;return(de=ue.ref.current)==null?void 0:de.focus()})}),Se=I.useCallback((W,ce,Ie)=>{const ue=!G.current&&!Ie;(C.value!==void 0&&C.value===ce||ue)&&(M(W),ue&&(G.current=!0))},[C.value]),Ke=I.useCallback(()=>x==null?void 0:x.focus(),[x]),Ye=I.useCallback((W,ce,Ie)=>{const ue=!G.current&&!Ie;(C.value!==void 0&&C.value===ce||ue)&&H(W)},[C.value]),ie=o==="popper"?zu:I5,_e=ie===zu?{side:a,sideOffset:c,align:u,alignOffset:f,arrowPadding:d,collisionBoundary:g,collisionPadding:h,sticky:_,hideWhenDetached:m,avoidCollisions:p}:{};return F.jsx(Wh,{scope:r,content:x,viewport:k,onViewportChange:b,itemRefCallback:Se,selectedItem:E,onItemLeave:Ke,itemTextRefCallback:Ye,focusSelectedItem:re,selectedItemText:L,position:o,isPositioned:V,searchRef:ae,children:F.jsx(A0,{as:O5,allowPinchZoom:!0,children:F.jsx(I0,{asChild:!0,trapped:C.open,onMountAutoFocus:W=>{W.preventDefault()},onUnmountAutoFocus:at(i,W=>{var ce;(ce=C.trigger)==null||ce.focus({preventScroll:!0}),W.preventDefault()}),children:F.jsx(P0,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:W=>W.preventDefault(),onDismiss:()=>C.onOpenChange(!1),children:F.jsx(ie,{role:"listbox",id:C.contentId,"data-state":C.open?"open":"closed",dir:C.dir,onContextMenu:W=>W.preventDefault(),...y,..._e,onPlaced:()=>Z(!0),ref:v,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:at(y.onKeyDown,W=>{const ce=W.ctrlKey||W.altKey||W.metaKey;if(W.key==="Tab"&&W.preventDefault(),!ce&&W.key.length===1&&Te(W.key),["ArrowUp","ArrowDown","Home","End"].includes(W.key)){let ue=R().filter(de=>!de.disabled).map(de=>de.ref.current);if(["ArrowUp","End"].includes(W.key)&&(ue=ue.slice().reverse()),["ArrowUp","ArrowDown"].includes(W.key)){const de=W.target,xe=ue.indexOf(de);ue=ue.slice(xe+1)}setTimeout(()=>z(ue)),W.preventDefault()}})})})})})})},"SelectContentImpl")),I5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,onPlaced:o,...i}=e,s=Hn(sr,r),l=Zs(sr,r),[a,c]=I.useState(null),[u,f]=I.useState(null),d=Rn(t,f),g=pc(r),h=I.useRef(!1),_=I.useRef(!0),{viewport:m,selectedItem:p,selectedItemText:y,focusSelectedItem:C}=l,x=I.useCallback(()=>{if(s.trigger&&s.valueNode&&a&&u&&m&&p&&y){const v=s.trigger.getBoundingClientRect(),E=u.getBoundingClientRect(),M=s.valueNode.getBoundingClientRect(),L=y.getBoundingClientRect();if(s.dir!=="rtl"){const de=L.left-E.left,xe=M.left-de,en=v.left-xe,tn=v.width+en,Ir=Math.max(tn,E.width),bo=window.innerWidth-Ft,Pr=ca(xe,[Ft,Math.max(Ft,bo-Ir)]);a.style.minWidth=tn+"px",a.style.left=Pr+"px"}else{const de=E.right-L.right,xe=window.innerWidth-M.right-de,en=window.innerWidth-v.right-xe,tn=v.width+en,Ir=Math.max(tn,E.width),bo=window.innerWidth-Ft,Pr=ca(xe,[Ft,Math.max(Ft,bo-Ir)]);a.style.minWidth=tn+"px",a.style.right=Pr+"px"}const H=g(),R=window.innerHeight-Ft*2,V=m.scrollHeight,Z=window.getComputedStyle(u),G=parseInt(Z.borderTopWidth,10),z=parseInt(Z.paddingTop,10),re=parseInt(Z.borderBottomWidth,10),ee=parseInt(Z.paddingBottom,10),ne=G+z+V+ee+re,ae=Math.min(p.offsetHeight*5,ne),Te=window.getComputedStyle(m),Se=parseInt(Te.paddingTop,10),Ke=parseInt(Te.paddingBottom,10),Ye=v.top+v.height/2-Ft,ie=R-Ye,_e=p.offsetHeight/2,W=p.offsetTop+_e,ce=G+z+W,Ie=ne-ce;if(ce<=Ye){const de=H.length>0&&p===H[H.length-1].ref.current;a.style.bottom="0px";const xe=u.clientHeight-m.offsetTop-m.offsetHeight,en=Math.max(ie,_e+(de?Ke:0)+xe+re),tn=ce+en;a.style.height=tn+"px"}else{const de=H.length>0&&p===H[0].ref.current;a.style.top="0px";const en=Math.max(Ye,G+m.offsetTop+(de?Se:0)+_e)+Ie;a.style.height=en+"px",m.scrollTop=ce-Ye+m.offsetTop}a.style.margin=`${Ft}px 0`,a.style.minHeight=ae+"px",a.style.maxHeight=R+"px",o==null||o(),requestAnimationFrame(()=>h.current=!0)}},[g,s.trigger,s.valueNode,a,u,m,p,y,s.dir,o]);jo(()=>x(),[x]);const[w,k]=I.useState();jo(()=>{u&&k(window.getComputedStyle(u).zIndex)},[u]);const b=I.useCallback(v=>{v&&_.current===!0&&(x(),C==null||C(),_.current=!1)},[x,C]);return F.jsx(P5,{scope:r,contentWrapper:a,shouldExpandOnScrollRef:h,onScrollButtonChange:b,children:F.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:F.jsx(Kt.div,{...i,ref:d,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})},"SelectItemAlignedPosition")),zu=I.forwardRef(be(function(e,t){const{__scopeSelect:r,align:o="start",collisionPadding:i=Ft,...s}=e,l=mc(r);return F.jsx(F0,{...l,...s,ref:t,align:o,collisionPadding:i,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})},"SelectPopperPosition")),[P5,D5]=vr(sr,{}),Ju="SelectViewport",F5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,nonce:o,...i}=e,s=Zs(Ju,r),l=D5(Ju,r),a=Rn(t,s.onViewportChange),c=I.useRef(0);return F.jsxs(F.Fragment,{children:[F.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),F.jsx(Us.Slot,{scope:r,children:F.jsx(Kt.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:a,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:at(i.onScroll,u=>{const f=u.currentTarget,{contentWrapper:d,shouldExpandOnScrollRef:g}=l;if(g!=null&&g.current&&d){const h=Math.abs(c.current-f.scrollTop);if(h>0){const _=window.innerHeight-Ft*2,m=parseFloat(d.style.minHeight),p=parseFloat(d.style.height),y=Math.max(m,p);if(y<_){const C=y+h,x=Math.min(_,C),w=C-x;d.style.height=x+"px",d.style.bottom==="0px"&&(f.scrollTop=w>0?w:0,d.style.justifyContent="flex-end")}}}c.current=f.scrollTop})})})]})},"SelectViewport")),R5="SelectGroup",[pv,mv]=vr(R5),ua="SelectItem",[H5,V5]=vr(ua),B5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,value:o,disabled:i=!1,textValue:s,...l}=e,a=Hn(ua,r),c=Zs(ua,r),u=a.value===o,[f,d]=I.useState(s??""),[g,h]=I.useState(!1),_=hc(x=>{var w;return(w=c.itemRefCallback)==null?void 0:w.call(c,x,o,i)}),m=Rn(t,_),p=Fh(),y=I.useRef("touch"),C=be(()=>{i||(a.onValueChange(o),a.onOpenChange(!1))},"handleSelect");return F.jsx(H5,{scope:r,value:o,disabled:i,textId:p,isSelected:u,onItemTextChange:I.useCallback(x=>{d(w=>w||((x==null?void 0:x.textContent)??"").trim())},[]),children:F.jsx(Us.ItemSlot,{scope:r,value:o,disabled:i,textValue:f,children:F.jsx(Kt.div,{role:"option","aria-labelledby":p,"data-highlighted":g?"":void 0,"aria-selected":u&&g,"data-state":u?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...l,ref:m,onFocus:at(l.onFocus,()=>h(!0)),onBlur:at(l.onBlur,()=>h(!1)),onClick:at(l.onClick,()=>{y.current!=="mouse"&&C()}),onPointerUp:at(l.onPointerUp,()=>{y.current==="mouse"&&C()}),onPointerDown:at(l.onPointerDown,x=>{y.current=x.pointerType}),onPointerMove:at(l.onPointerMove,x=>{var w;y.current=x.pointerType,i?(w=c.onItemLeave)==null||w.call(c):y.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:at(l.onPointerLeave,x=>{var w;x.currentTarget===document.activeElement&&((w=c.onItemLeave)==null||w.call(c))}),onKeyDown:at(l.onKeyDown,x=>{var k;i||x.target!==x.currentTarget||((k=c.searchRef)==null?void 0:k.current)!==""&&x.key===" "||(p5.includes(x.key)&&C(),x.key===" "&&x.preventDefault())})})})})},"SelectItem")),Fi="SelectItemText",z5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,className:o,style:i,...s}=e,l=Hn(Fi,r),a=Zs(Fi,r),c=V5(Fi,r),u=y5(Fi,r),[f,d]=I.useState(null),g=hc(C=>{var x;return(x=a.itemTextRefCallback)==null?void 0:x.call(a,C,c.value,c.disabled)}),h=Rn(t,d,c.onItemTextChange,g),_=f==null?void 0:f.textContent,m=I.useMemo(()=>F.jsx("option",{value:c.value,disabled:c.disabled,children:_},c.value),[c.disabled,c.value,_]),{onNativeOptionAdd:p,onNativeOptionRemove:y}=u;return jo(()=>(p(m),()=>y(m)),[p,y,m]),F.jsxs(F.Fragment,{children:[F.jsx(Kt.span,{id:c.textId,...s,ref:h}),c.isSelected&&l.valueNode&&!l.valueNodeHasChildren&&!yi(l.value)?Uo.createPortal(s.children,l.valueNode):null]})},"SelectItemText")),J5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,...o}=e;return F.jsx(Kt.div,{"aria-hidden":!0,...o,ref:t})},"SelectSeparator")),K5="SelectBubbleInput",W5=I.forwardRef(be(function({__scopeSelect:e,...t},r){const o=Hn(K5,e),{value:i,onValueChange:s,required:l,disabled:a,name:c,autoComplete:u,form:f}=o,{nativeOptions:d,nativeSelectKey:g}=o,h=I.useRef(null),_=Rn(r,h),m=i??"",p=Jh(m),y=Array.from(d).some(C=>(C.props.value??"")==="");return I.useEffect(()=>{const C=h.current;if(!C)return;const x=window.HTMLSelectElement.prototype,k=Object.getOwnPropertyDescriptor(x,"value").set;if(p!==m&&k){const b=new Event("change",{bubbles:!0});k.call(C,m),C.dispatchEvent(b)}},[p,m]),F.jsxs(Kt.select,{"aria-hidden":!0,required:l,tabIndex:-1,name:c,autoComplete:u,disabled:a,form:f,onChange:C=>s(C.target.value),...t,style:{...R0,...t.style},ref:_,defaultValue:m,children:[yi(i)&&!y?F.jsx("option",{value:""}):null,Array.from(d)]},g)},"SelectBubbleInput"));function jh(n){return typeof n=="function"}be(jh,"isFunction");function yi(n){return n===""||n===void 0}be(yi,"shouldShowPlaceholder");function _c(n){const e=hc(n),t=I.useRef(""),r=I.useRef(0),o=I.useCallback(s=>{const l=t.current+s;e(l),be(function a(c){t.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>a(""),1e3))},"updateSearch")(l)},[e]),i=I.useCallback(()=>{t.current="",window.clearTimeout(r.current)},[]);return I.useEffect(()=>()=>window.clearTimeout(r.current),[]),[t,o,i]}be(_c,"useTypeaheadSearch");function xc(n,e,t){const o=e.length>1&&Array.from(e).every(c=>c===e[0])?e[0]:e,i=t?n.indexOf(t):-1;let s=Uh(n,Math.max(i,0));o.length===1&&(s=s.filter(c=>c!==t));const a=s.find(c=>c.textValue.toLowerCase().startsWith(o.toLowerCase()));return a!==t?a:void 0}be(xc,"findNextItem");function Uh(n,e){return n.map((t,r)=>n[(e+r)%n.length])}be(Uh,"wrapArray");var j5=Object.defineProperty,qs=(n,e)=>j5(n,"name",{value:e,configurable:!0}),Zh="Toolbar",[U5,_v]=Hh(Zh,[Bh,zh]),qh=Bh(),Gh=zh(),[Z5,q5]=U5(Zh),G5=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,orientation:o="horizontal",dir:i,loop:s=!0,...l}=e,a=qh(r),c=Vh(i);return F.jsx(Z5,{scope:r,orientation:o,dir:c,children:F.jsx(z0,{asChild:!0,...a,orientation:o,dir:c,loop:s,children:F.jsx(Kt.div,{role:"toolbar","aria-orientation":o,dir:c,...l,ref:t})})})},"Toolbar")),Yh=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,...o}=e,i=qh(r);return F.jsx(V0,{asChild:!0,...i,focusable:!e.disabled,children:F.jsx(Kt.button,{type:"button",...o,ref:t})})},"ToolbarButton")),Y5="ToolbarToggleGroup",X5=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,...o}=e,i=q5(Y5,r),s=Gh(r);return F.jsx(J0,{"data-orientation":i.orientation,dir:i.dir,...s,...o,ref:t,rovingFocus:!1})},"ToolbarToggleGroup")),Q5=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,...o}=e,i=Gh(r),s={__scopeToolbar:e.__scopeToolbar};return F.jsx(Yh,{asChild:!0,...s,children:F.jsx(B0,{...i,...o,ref:t})})},"ToolbarToggleItem")),e2=G5,t2=Yh,yc=X5,n2=Q5;const r2={}.hasOwnProperty;function Xh(n,e){let t=-1,r;if(e.extensions)for(;++te in n?T0(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var $=(n,e,t)=>E0(n,typeof e!="symbol"?e+"":e,t);import{aa as I,aj as Rn,a2 as F,A as k0,e as Kt,r as at,ao as jo,P as N0,d as M0,ai as hc,an as Fh,a9 as Uo,v as Rh,t as $0,Z as L0,am as O0,R as A0,F as I0,D as P0,u as Hh,x as D0,a as F0,n as R0,al as Vh,ak as Fu,j as H0,I as V0,l as B0,w as Bh,y as zh,i as z0,T as J0,K as Ru,L as K0,B as W0,G as aa,a8 as j0,ap as U0,Y as Z0,g as T,z as Hu,o as Vu,V as Qe,a7 as nn,ag as Di,ae as $l,ab as q0,p as Bu,a3 as jt,a5 as hs,J as gc,a4 as Wn,ah as En,af as Pt,s as So,M as G0,S as Y0,O as X0,Q as Q0,N as e5,X as t5,U as n5,W as r5,f as o5,k as i5,m as s5,c as l5,b as a5}from"../app/index-B0ly_D9Z.js";var c5=Object.defineProperty,u5=(n,e)=>c5(n,"name",{value:e,configurable:!0});function Jh(n){const e=I.useRef({value:n,previous:n});return I.useMemo(()=>(e.current.value!==n&&(e.current.previous=e.current.value,e.current.value=n),e.current.previous),[n])}u5(Jh,"usePrevious");var f5=Object.defineProperty,d5=(n,e)=>f5(n,"name",{value:e,configurable:!0});function ca(n,[e,t]){return Math.min(t,Math.max(e,n))}d5(ca,"clamp");var h5=Object.defineProperty,be=(n,e)=>h5(n,"name",{value:e,configurable:!0}),g5=[" ","Enter","ArrowUp","ArrowDown"],p5=[" ","Enter"],oo="Select",[Us,pc,m5]=$0(oo),[vr,gv]=Hh(oo,[m5,Rh]),mc=Rh(),[_5,Hn]=vr(oo),[x5,y5]=vr(oo);function Kh(n){const{__scopeSelect:e,children:t,open:r,defaultOpen:o,onOpenChange:i,value:s,defaultValue:l,onValueChange:a,dir:c,name:u,autoComplete:f,disabled:d,required:g,form:h,internal_do_not_use_render:_}=n,m=mc(e),[p,y]=I.useState(null),[C,x]=I.useState(null),[w,k]=I.useState(!1),b=Vh(c),[v,E]=Fu({prop:r,defaultProp:o??!1,onChange:i,caller:oo}),[M,L]=Fu({prop:s,defaultProp:l,onChange:a,caller:oo}),H=I.useRef(null),R=I.useRef(M);I.useEffect(()=>{const Te=h?p==null?void 0:p.ownerDocument.getElementById(h):p==null?void 0:p.form;if(Te instanceof HTMLFormElement){const Se=be(()=>L(R.current),"reset");return Te.addEventListener("reset",Se),()=>Te.removeEventListener("reset",Se)}},[h,p,L]);const V=p?!!h||!!p.closest("form"):!0,[Z,G]=I.useState(new Set),z=Fh(),re=Array.from(Z).map(Te=>Te.props.value).join(";"),ee=I.useCallback(Te=>{G(Se=>new Set(Se).add(Te))},[]),ne=I.useCallback(Te=>{G(Se=>{const Ke=new Set(Se);return Ke.delete(Te),Ke})},[]),ae={required:g,trigger:p,onTriggerChange:y,valueNode:C,onValueNodeChange:x,valueNodeHasChildren:w,onValueNodeHasChildrenChange:k,contentId:z,value:M,onValueChange:L,open:v,onOpenChange:E,dir:b,triggerPointerDownPosRef:H,disabled:d,name:u,autoComplete:f,form:h,nativeOptions:Z,nativeSelectKey:re,isFormControl:V};return F.jsx(H0,{...m,children:F.jsx(_5,{scope:e,...ae,children:F.jsx(Us.Provider,{scope:e,children:F.jsx(x5,{scope:e,onNativeOptionAdd:ee,onNativeOptionRemove:ne,children:jh(_)?_(ae):t})})})})}be(Kh,"SelectProvider");var C5=be(n=>{const{__scopeSelect:e,children:t,...r}=n;return F.jsx(Kh,{__scopeSelect:e,...r,internal_do_not_use_render:({isFormControl:o})=>F.jsxs(F.Fragment,{children:[t,o?F.jsx(W5,{__scopeSelect:e}):null]})})},"Select"),v5="SelectTrigger",b5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,disabled:o=!1,...i}=e,s=mc(r),l=Hn(v5,r),a=l.disabled||o,c=Rn(t,l.onTriggerChange),u=pc(r),f=I.useRef("touch"),[d,g,h]=_c(m=>{const p=u().filter(x=>!x.disabled),y=p.find(x=>x.value===l.value),C=xc(p,m,y);C!==void 0&&l.onValueChange(C.value)}),_=be(m=>{a||(l.onOpenChange(!0),h()),m&&(l.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})},"handleOpen");return F.jsx(k0,{asChild:!0,...s,children:F.jsx(Kt.button,{type:"button",role:"combobox","aria-controls":l.open?l.contentId:void 0,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:a,"data-disabled":a?"":void 0,"data-placeholder":yi(l.value)?"":void 0,...i,ref:c,onClick:at(i.onClick,m=>{m.currentTarget.focus(),f.current!=="mouse"&&_(m)}),onPointerDown:at(i.onPointerDown,m=>{f.current=m.pointerType;const p=m.target;p.hasPointerCapture(m.pointerId)&&p.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(_(m),m.preventDefault())}),onKeyDown:at(i.onKeyDown,m=>{const p=d.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&g(m.key),!(p&&m.key===" ")&&g5.includes(m.key)&&(_(),m.preventDefault())})})})},"SelectTrigger")),S5="SelectValue",w5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,className:o,style:i,children:s,placeholder:l="",...a}=e,c=Hn(S5,r),{onValueNodeHasChildrenChange:u}=c,f=s!==void 0,d=Rn(t,c.onValueNodeChange);jo(()=>{u(f)},[u,f]);const g=yi(c.value);return F.jsx(Kt.span,{...a,asChild:g?!1:a.asChild,ref:d,style:{pointerEvents:"none"},children:F.jsx(I.Fragment,{children:g?l:s},g?"placeholder":"value")})},"SelectValue")),T5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,children:o,...i}=e;return F.jsx(Kt.span,{"aria-hidden":!0,...i,ref:t,children:o||"▼"})},"SelectIcon")),E5="SelectPortal",[k5,N5]=vr(E5,{forceMount:void 0}),M5=be(n=>{const{__scopeSelect:e,forceMount:t,...r}=n;return F.jsx(k5,{scope:n.__scopeSelect,forceMount:t,children:F.jsx(N0,{asChild:!0,...r})})},"SelectPortal"),sr="SelectContent",$5=I.forwardRef(be(function(e,t){const r=N5(sr,e.__scopeSelect),{forceMount:o=r.forceMount,...i}=e,s=Hn(sr,e.__scopeSelect),[l,a]=I.useState();return jo(()=>{a(new DocumentFragment)},[]),F.jsx(M0,{present:o||s.open,children:({present:c})=>c?F.jsx(A5,{...i,ref:t}):F.jsx(L5,{...i,fragment:l})})},"SelectContent")),L5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,children:o,fragment:i}=e;return i?Uo.createPortal(F.jsx(Wh,{scope:r,children:F.jsx(Us.Slot,{scope:r,children:F.jsx("div",{ref:t,children:o})})}),i):null},"SelectContentFragment")),Ft=10,[Wh,Zs]=vr(sr),O5=D0("SelectContent.RemoveScroll"),A5=I.forwardRef(be(function(e,t){const{__scopeSelect:r}=e,{position:o="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:s,onPointerDownOutside:l,side:a,sideOffset:c,align:u,alignOffset:f,arrowPadding:d,collisionBoundary:g,collisionPadding:h,sticky:_,hideWhenDetached:m,avoidCollisions:p,...y}=e,C=Hn(sr,r),[x,w]=I.useState(null),[k,b]=I.useState(null),v=Rn(t,w),[E,M]=I.useState(null),[L,H]=I.useState(null),R=pc(r),[V,Z]=I.useState(!1),G=I.useRef(!1);I.useEffect(()=>{if(x)return L0(x)},[x]),O0();const z=I.useCallback(W=>{const[ce,...Ie]=R().map(xe=>xe.ref.current),[ue]=Ie.slice(-1),de=document.activeElement;for(const xe of W)if(xe===de||(xe==null||xe.scrollIntoView({block:"nearest"}),xe===ce&&k&&(k.scrollTop=0),xe===ue&&k&&(k.scrollTop=k.scrollHeight),xe==null||xe.focus(),document.activeElement!==de))return},[R,k]),re=I.useCallback(()=>z([E,x]),[z,E,x]);I.useEffect(()=>{V&&re()},[V,re]);const{onOpenChange:ee,triggerPointerDownPosRef:ne}=C;I.useEffect(()=>{if(x){let W={x:0,y:0};const ce=be(ue=>{var de,xe;W={x:Math.abs(Math.round(ue.pageX)-(((de=ne.current)==null?void 0:de.x)??0)),y:Math.abs(Math.round(ue.pageY)-(((xe=ne.current)==null?void 0:xe.y)??0))}},"handlePointerMove"),Ie=be(ue=>{W.x<=10&&W.y<=10?ue.preventDefault():ue.composedPath().includes(x)||ee(!1),document.removeEventListener("pointermove",ce),ne.current=null},"handlePointerUp");return ne.current!==null&&(document.addEventListener("pointermove",ce),document.addEventListener("pointerup",Ie,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ce),document.removeEventListener("pointerup",Ie,{capture:!0})}}},[x,ee,ne]),I.useEffect(()=>{const W=be(()=>ee(!1),"close");return window.addEventListener("blur",W),window.addEventListener("resize",W),()=>{window.removeEventListener("blur",W),window.removeEventListener("resize",W)}},[ee]);const[ae,Te]=_c(W=>{const ce=R().filter(de=>!de.disabled),Ie=ce.find(de=>de.ref.current===document.activeElement),ue=xc(ce,W,Ie);ue&&setTimeout(()=>{var de;return(de=ue.ref.current)==null?void 0:de.focus()})}),Se=I.useCallback((W,ce,Ie)=>{const ue=!G.current&&!Ie;(C.value!==void 0&&C.value===ce||ue)&&(M(W),ue&&(G.current=!0))},[C.value]),Ke=I.useCallback(()=>x==null?void 0:x.focus(),[x]),Ye=I.useCallback((W,ce,Ie)=>{const ue=!G.current&&!Ie;(C.value!==void 0&&C.value===ce||ue)&&H(W)},[C.value]),ie=o==="popper"?zu:I5,_e=ie===zu?{side:a,sideOffset:c,align:u,alignOffset:f,arrowPadding:d,collisionBoundary:g,collisionPadding:h,sticky:_,hideWhenDetached:m,avoidCollisions:p}:{};return F.jsx(Wh,{scope:r,content:x,viewport:k,onViewportChange:b,itemRefCallback:Se,selectedItem:E,onItemLeave:Ke,itemTextRefCallback:Ye,focusSelectedItem:re,selectedItemText:L,position:o,isPositioned:V,searchRef:ae,children:F.jsx(A0,{as:O5,allowPinchZoom:!0,children:F.jsx(I0,{asChild:!0,trapped:C.open,onMountAutoFocus:W=>{W.preventDefault()},onUnmountAutoFocus:at(i,W=>{var ce;(ce=C.trigger)==null||ce.focus({preventScroll:!0}),W.preventDefault()}),children:F.jsx(P0,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:W=>W.preventDefault(),onDismiss:()=>C.onOpenChange(!1),children:F.jsx(ie,{role:"listbox",id:C.contentId,"data-state":C.open?"open":"closed",dir:C.dir,onContextMenu:W=>W.preventDefault(),...y,..._e,onPlaced:()=>Z(!0),ref:v,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:at(y.onKeyDown,W=>{const ce=W.ctrlKey||W.altKey||W.metaKey;if(W.key==="Tab"&&W.preventDefault(),!ce&&W.key.length===1&&Te(W.key),["ArrowUp","ArrowDown","Home","End"].includes(W.key)){let ue=R().filter(de=>!de.disabled).map(de=>de.ref.current);if(["ArrowUp","End"].includes(W.key)&&(ue=ue.slice().reverse()),["ArrowUp","ArrowDown"].includes(W.key)){const de=W.target,xe=ue.indexOf(de);ue=ue.slice(xe+1)}setTimeout(()=>z(ue)),W.preventDefault()}})})})})})})},"SelectContentImpl")),I5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,onPlaced:o,...i}=e,s=Hn(sr,r),l=Zs(sr,r),[a,c]=I.useState(null),[u,f]=I.useState(null),d=Rn(t,f),g=pc(r),h=I.useRef(!1),_=I.useRef(!0),{viewport:m,selectedItem:p,selectedItemText:y,focusSelectedItem:C}=l,x=I.useCallback(()=>{if(s.trigger&&s.valueNode&&a&&u&&m&&p&&y){const v=s.trigger.getBoundingClientRect(),E=u.getBoundingClientRect(),M=s.valueNode.getBoundingClientRect(),L=y.getBoundingClientRect();if(s.dir!=="rtl"){const de=L.left-E.left,xe=M.left-de,en=v.left-xe,tn=v.width+en,Ir=Math.max(tn,E.width),bo=window.innerWidth-Ft,Pr=ca(xe,[Ft,Math.max(Ft,bo-Ir)]);a.style.minWidth=tn+"px",a.style.left=Pr+"px"}else{const de=E.right-L.right,xe=window.innerWidth-M.right-de,en=window.innerWidth-v.right-xe,tn=v.width+en,Ir=Math.max(tn,E.width),bo=window.innerWidth-Ft,Pr=ca(xe,[Ft,Math.max(Ft,bo-Ir)]);a.style.minWidth=tn+"px",a.style.right=Pr+"px"}const H=g(),R=window.innerHeight-Ft*2,V=m.scrollHeight,Z=window.getComputedStyle(u),G=parseInt(Z.borderTopWidth,10),z=parseInt(Z.paddingTop,10),re=parseInt(Z.borderBottomWidth,10),ee=parseInt(Z.paddingBottom,10),ne=G+z+V+ee+re,ae=Math.min(p.offsetHeight*5,ne),Te=window.getComputedStyle(m),Se=parseInt(Te.paddingTop,10),Ke=parseInt(Te.paddingBottom,10),Ye=v.top+v.height/2-Ft,ie=R-Ye,_e=p.offsetHeight/2,W=p.offsetTop+_e,ce=G+z+W,Ie=ne-ce;if(ce<=Ye){const de=H.length>0&&p===H[H.length-1].ref.current;a.style.bottom="0px";const xe=u.clientHeight-m.offsetTop-m.offsetHeight,en=Math.max(ie,_e+(de?Ke:0)+xe+re),tn=ce+en;a.style.height=tn+"px"}else{const de=H.length>0&&p===H[0].ref.current;a.style.top="0px";const en=Math.max(Ye,G+m.offsetTop+(de?Se:0)+_e)+Ie;a.style.height=en+"px",m.scrollTop=ce-Ye+m.offsetTop}a.style.margin=`${Ft}px 0`,a.style.minHeight=ae+"px",a.style.maxHeight=R+"px",o==null||o(),requestAnimationFrame(()=>h.current=!0)}},[g,s.trigger,s.valueNode,a,u,m,p,y,s.dir,o]);jo(()=>x(),[x]);const[w,k]=I.useState();jo(()=>{u&&k(window.getComputedStyle(u).zIndex)},[u]);const b=I.useCallback(v=>{v&&_.current===!0&&(x(),C==null||C(),_.current=!1)},[x,C]);return F.jsx(P5,{scope:r,contentWrapper:a,shouldExpandOnScrollRef:h,onScrollButtonChange:b,children:F.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:F.jsx(Kt.div,{...i,ref:d,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})},"SelectItemAlignedPosition")),zu=I.forwardRef(be(function(e,t){const{__scopeSelect:r,align:o="start",collisionPadding:i=Ft,...s}=e,l=mc(r);return F.jsx(F0,{...l,...s,ref:t,align:o,collisionPadding:i,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})},"SelectPopperPosition")),[P5,D5]=vr(sr,{}),Ju="SelectViewport",F5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,nonce:o,...i}=e,s=Zs(Ju,r),l=D5(Ju,r),a=Rn(t,s.onViewportChange),c=I.useRef(0);return F.jsxs(F.Fragment,{children:[F.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),F.jsx(Us.Slot,{scope:r,children:F.jsx(Kt.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:a,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:at(i.onScroll,u=>{const f=u.currentTarget,{contentWrapper:d,shouldExpandOnScrollRef:g}=l;if(g!=null&&g.current&&d){const h=Math.abs(c.current-f.scrollTop);if(h>0){const _=window.innerHeight-Ft*2,m=parseFloat(d.style.minHeight),p=parseFloat(d.style.height),y=Math.max(m,p);if(y<_){const C=y+h,x=Math.min(_,C),w=C-x;d.style.height=x+"px",d.style.bottom==="0px"&&(f.scrollTop=w>0?w:0,d.style.justifyContent="flex-end")}}}c.current=f.scrollTop})})})]})},"SelectViewport")),R5="SelectGroup",[pv,mv]=vr(R5),ua="SelectItem",[H5,V5]=vr(ua),B5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,value:o,disabled:i=!1,textValue:s,...l}=e,a=Hn(ua,r),c=Zs(ua,r),u=a.value===o,[f,d]=I.useState(s??""),[g,h]=I.useState(!1),_=hc(x=>{var w;return(w=c.itemRefCallback)==null?void 0:w.call(c,x,o,i)}),m=Rn(t,_),p=Fh(),y=I.useRef("touch"),C=be(()=>{i||(a.onValueChange(o),a.onOpenChange(!1))},"handleSelect");return F.jsx(H5,{scope:r,value:o,disabled:i,textId:p,isSelected:u,onItemTextChange:I.useCallback(x=>{d(w=>w||((x==null?void 0:x.textContent)??"").trim())},[]),children:F.jsx(Us.ItemSlot,{scope:r,value:o,disabled:i,textValue:f,children:F.jsx(Kt.div,{role:"option","aria-labelledby":p,"data-highlighted":g?"":void 0,"aria-selected":u&&g,"data-state":u?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...l,ref:m,onFocus:at(l.onFocus,()=>h(!0)),onBlur:at(l.onBlur,()=>h(!1)),onClick:at(l.onClick,()=>{y.current!=="mouse"&&C()}),onPointerUp:at(l.onPointerUp,()=>{y.current==="mouse"&&C()}),onPointerDown:at(l.onPointerDown,x=>{y.current=x.pointerType}),onPointerMove:at(l.onPointerMove,x=>{var w;y.current=x.pointerType,i?(w=c.onItemLeave)==null||w.call(c):y.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:at(l.onPointerLeave,x=>{var w;x.currentTarget===document.activeElement&&((w=c.onItemLeave)==null||w.call(c))}),onKeyDown:at(l.onKeyDown,x=>{var k;i||x.target!==x.currentTarget||((k=c.searchRef)==null?void 0:k.current)!==""&&x.key===" "||(p5.includes(x.key)&&C(),x.key===" "&&x.preventDefault())})})})})},"SelectItem")),Fi="SelectItemText",z5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,className:o,style:i,...s}=e,l=Hn(Fi,r),a=Zs(Fi,r),c=V5(Fi,r),u=y5(Fi,r),[f,d]=I.useState(null),g=hc(C=>{var x;return(x=a.itemTextRefCallback)==null?void 0:x.call(a,C,c.value,c.disabled)}),h=Rn(t,d,c.onItemTextChange,g),_=f==null?void 0:f.textContent,m=I.useMemo(()=>F.jsx("option",{value:c.value,disabled:c.disabled,children:_},c.value),[c.disabled,c.value,_]),{onNativeOptionAdd:p,onNativeOptionRemove:y}=u;return jo(()=>(p(m),()=>y(m)),[p,y,m]),F.jsxs(F.Fragment,{children:[F.jsx(Kt.span,{id:c.textId,...s,ref:h}),c.isSelected&&l.valueNode&&!l.valueNodeHasChildren&&!yi(l.value)?Uo.createPortal(s.children,l.valueNode):null]})},"SelectItemText")),J5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,...o}=e;return F.jsx(Kt.div,{"aria-hidden":!0,...o,ref:t})},"SelectSeparator")),K5="SelectBubbleInput",W5=I.forwardRef(be(function({__scopeSelect:e,...t},r){const o=Hn(K5,e),{value:i,onValueChange:s,required:l,disabled:a,name:c,autoComplete:u,form:f}=o,{nativeOptions:d,nativeSelectKey:g}=o,h=I.useRef(null),_=Rn(r,h),m=i??"",p=Jh(m),y=Array.from(d).some(C=>(C.props.value??"")==="");return I.useEffect(()=>{const C=h.current;if(!C)return;const x=window.HTMLSelectElement.prototype,k=Object.getOwnPropertyDescriptor(x,"value").set;if(p!==m&&k){const b=new Event("change",{bubbles:!0});k.call(C,m),C.dispatchEvent(b)}},[p,m]),F.jsxs(Kt.select,{"aria-hidden":!0,required:l,tabIndex:-1,name:c,autoComplete:u,disabled:a,form:f,onChange:C=>s(C.target.value),...t,style:{...R0,...t.style},ref:_,defaultValue:m,children:[yi(i)&&!y?F.jsx("option",{value:""}):null,Array.from(d)]},g)},"SelectBubbleInput"));function jh(n){return typeof n=="function"}be(jh,"isFunction");function yi(n){return n===""||n===void 0}be(yi,"shouldShowPlaceholder");function _c(n){const e=hc(n),t=I.useRef(""),r=I.useRef(0),o=I.useCallback(s=>{const l=t.current+s;e(l),be(function a(c){t.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>a(""),1e3))},"updateSearch")(l)},[e]),i=I.useCallback(()=>{t.current="",window.clearTimeout(r.current)},[]);return I.useEffect(()=>()=>window.clearTimeout(r.current),[]),[t,o,i]}be(_c,"useTypeaheadSearch");function xc(n,e,t){const o=e.length>1&&Array.from(e).every(c=>c===e[0])?e[0]:e,i=t?n.indexOf(t):-1;let s=Uh(n,Math.max(i,0));o.length===1&&(s=s.filter(c=>c!==t));const a=s.find(c=>c.textValue.toLowerCase().startsWith(o.toLowerCase()));return a!==t?a:void 0}be(xc,"findNextItem");function Uh(n,e){return n.map((t,r)=>n[(e+r)%n.length])}be(Uh,"wrapArray");var j5=Object.defineProperty,qs=(n,e)=>j5(n,"name",{value:e,configurable:!0}),Zh="Toolbar",[U5,_v]=Hh(Zh,[Bh,zh]),qh=Bh(),Gh=zh(),[Z5,q5]=U5(Zh),G5=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,orientation:o="horizontal",dir:i,loop:s=!0,...l}=e,a=qh(r),c=Vh(i);return F.jsx(Z5,{scope:r,orientation:o,dir:c,children:F.jsx(z0,{asChild:!0,...a,orientation:o,dir:c,loop:s,children:F.jsx(Kt.div,{role:"toolbar","aria-orientation":o,dir:c,...l,ref:t})})})},"Toolbar")),Yh=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,...o}=e,i=qh(r);return F.jsx(V0,{asChild:!0,...i,focusable:!e.disabled,children:F.jsx(Kt.button,{type:"button",...o,ref:t})})},"ToolbarButton")),Y5="ToolbarToggleGroup",X5=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,...o}=e,i=q5(Y5,r),s=Gh(r);return F.jsx(J0,{"data-orientation":i.orientation,dir:i.dir,...s,...o,ref:t,rovingFocus:!1})},"ToolbarToggleGroup")),Q5=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,...o}=e,i=Gh(r),s={__scopeToolbar:e.__scopeToolbar};return F.jsx(Yh,{asChild:!0,...s,children:F.jsx(B0,{...i,...o,ref:t})})},"ToolbarToggleItem")),e2=G5,t2=Yh,yc=X5,n2=Q5;const r2={}.hasOwnProperty;function Xh(n,e){let t=-1,r;if(e.extensions)for(;++tr*r+B*B&&(O=b,Q=p),{cx:O,cy:Q,x01:-n,y01:-d,x11:O*(v/T-1),y11:Q*(v/T-1)}}function hn(){var l=cn,h=yn,q=S(0),w=null,v=gn,A=dn,Z=mn,a=null,z=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,j=rn(c-f),t=c>f;if(a||(a=n=z()),sy))a.moveTo(0,0);else if(j>tn-y)a.moveTo(s*C(f),s*E(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*C(c),u*E(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=j,I=j,O=Z.apply(this,arguments)/2,Q=O>y&&(w?+w.apply(this,arguments):H(u*u+s*s)),b=_(rn(s-u)/2,+q.apply(this,arguments)),p=b,x=b,e,r;if(Q>y){var B=sn(Q/u*E(O)),J=sn(Q/s*E(O));(P-=B*2)>y?(B*=t?1:-1,R+=B,T-=B):(P=0,R=T=(f+c)/2),(I-=J*2)>y?(J*=t?1:-1,m+=J,g-=J):(I=0,m=g=(f+c)/2)}var F=s*C(m),G=s*E(m),K=u*C(T),L=u*E(T);if(b>y){var M=s*C(g),N=s*E(g),V=u*C(R),W=u*E(R),D;if(jy?x>y?(e=U(V,W,F,G,s,x,t),r=U(M,N,K,L,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(K,L):p>y?(e=U(K,L,M,N,u,-p,t),r=U(F,G,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),pr*r+B*B&&(O=b,Q=p),{cx:O,cy:Q,x01:-n,y01:-d,x11:O*(v/T-1),y11:Q*(v/T-1)}}function hn(){var l=cn,h=yn,q=S(0),w=null,v=gn,A=dn,Z=mn,a=null,z=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,j=rn(c-f),t=c>f;if(a||(a=n=z()),sy))a.moveTo(0,0);else if(j>tn-y)a.moveTo(s*C(f),s*E(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*C(c),u*E(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=j,I=j,O=Z.apply(this,arguments)/2,Q=O>y&&(w?+w.apply(this,arguments):H(u*u+s*s)),b=_(rn(s-u)/2,+q.apply(this,arguments)),p=b,x=b,e,r;if(Q>y){var B=sn(Q/u*E(O)),J=sn(Q/s*E(O));(P-=B*2)>y?(B*=t?1:-1,R+=B,T-=B):(P=0,R=T=(f+c)/2),(I-=J*2)>y?(J*=t?1:-1,m+=J,g-=J):(I=0,m=g=(f+c)/2)}var F=s*C(m),G=s*E(m),K=u*C(T),L=u*E(T);if(b>y){var M=s*C(g),N=s*E(g),V=u*C(R),W=u*E(R),D;if(jy?x>y?(e=U(V,W,F,G,s,x,t),r=U(M,N,K,L,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(K,L):p>y?(e=U(K,L,M,N,u,-p,t),r=U(F,G,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),pa.lang.round(n.parse(r)[o]);export{t as c}; +import{U as a,C as n}from"../visualizations/mermaid/mermaid.core-DS1qXbzQ.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c}; diff --git a/veadk/webui/assets/chunks/linear-D2RiTPZI.js b/veadk/webui/assets/chunks/linear-CyFihCT8.js similarity index 98% rename from veadk/webui/assets/chunks/linear-D2RiTPZI.js rename to veadk/webui/assets/chunks/linear-CyFihCT8.js index ddac5b20d..d0d6eab6d 100644 --- a/veadk/webui/assets/chunks/linear-D2RiTPZI.js +++ b/veadk/webui/assets/chunks/linear-CyFihCT8.js @@ -1 +1 @@ -import{a1 as y,a0 as b}from"../app/index-BSfA7-Qp.js";import{i as A}from"./init-Gi6I4Gst.js";import{e as M,b as R,a as q,f as F}from"./defaultLocale-CrowFXzY.js";function S(n,r){return n=+n,r=+r,function(i){return Math.round(n*(1-i)+r*i)}}function g(n,r){return n==null||r==null?NaN:nr?1:n>=r?0:NaN}function z(n,r){return n==null||r==null?NaN:rn?1:r>=n?0:NaN}function w(n){let r,i,t;n.length!==2?(r=g,i=(u,o)=>g(n(u),o),t=(u,o)=>n(u)-o):(r=n===g||n===z?n:I,i=n,t=n);function f(u,o,e=0,m=u.length){if(e>>1;i(u[l],o)<0?e=l+1:m=l}while(e>>1;i(u[l],o)<=0?e=l+1:m=l}while(ee&&t(u[l-1],o)>-t(u[l],o)?l-1:l}return{left:f,center:a,right:c}}function I(){return 0}function P(n){return n===null?NaN:+n}const $=w(g),j=$.right;w(P).center;const x=Math.sqrt(50),B=Math.sqrt(10),C=Math.sqrt(2);function v(n,r,i){const t=(r-n)/Math.max(0,i),f=Math.floor(Math.log10(t)),c=t/Math.pow(10,f),a=c>=x?10:c>=B?5:c>=C?2:1;let u,o,e;return f<0?(e=Math.pow(10,-f)/a,u=Math.round(n*e),o=Math.round(r*e),u/er&&--o,e=-e):(e=Math.pow(10,f)*a,u=Math.round(n/e),o=Math.round(r/e),u*er&&--o),o0))return[];if(n===r)return[n];const t=r=f))return[];const u=c-f+1,o=new Array(u);if(t)if(a<0)for(let e=0;er&&(i=n,n=r,r=i),function(t){return Math.max(n,Math.min(r,t))}}function Q(n,r,i){var t=n[0],f=n[1],c=r[0],a=r[1];return f2?T:Q,o=e=null,l}function l(h){return h==null||isNaN(h=+h)?c:(o||(o=u(n.map(t),r,i)))(t(a(h)))}return l.invert=function(h){return a(f((e||(e=u(r,n.map(t),y)))(h)))},l.domain=function(h){return arguments.length?(n=Array.from(h,L),m()):n.slice()},l.range=function(h){return arguments.length?(r=Array.from(h),m()):r.slice()},l.rangeRound=function(h){return r=Array.from(h),i=S,m()},l.clamp=function(h){return arguments.length?(a=h?!0:s,m()):a!==s},l.interpolate=function(h){return arguments.length?(i=h,m()):i},l.unknown=function(h){return arguments.length?(c=h,l):c},function(h,k){return t=h,f=k,m()}}function W(){return V()(s,s)}function X(n,r,i,t){var f=E(n,r,i),c;switch(t=R(t??",f"),t.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return t.precision==null&&!isNaN(c=H(f,a))&&(t.precision=c),q(t,a)}case"":case"e":case"g":case"p":case"r":{t.precision==null&&!isNaN(c=J(f,Math.max(Math.abs(n),Math.abs(r))))&&(t.precision=c-(t.type==="e"));break}case"f":case"%":{t.precision==null&&!isNaN(c=G(f))&&(t.precision=c-(t.type==="%")*2);break}}return F(t)}function Y(n){var r=n.domain;return n.ticks=function(i){var t=r();return D(t[0],t[t.length-1],i??10)},n.tickFormat=function(i,t){var f=r();return X(f[0],f[f.length-1],i??10,t)},n.nice=function(i){i==null&&(i=10);var t=r(),f=0,c=t.length-1,a=t[f],u=t[c],o,e,m=10;for(u0;){if(e=d(a,u,i),e===o)return t[f]=a,t[c]=u,r(t);if(e>0)a=Math.floor(a/e)*e,u=Math.ceil(u/e)*e;else if(e<0)a=Math.ceil(a*e)/e,u=Math.floor(u*e)/e;else break;o=e}return n},n}function Z(){var n=W();return n.copy=function(){return U(n,Z())},A.apply(n,arguments),Y(n)}export{U as a,w as b,W as c,Z as l,E as t}; +import{a1 as y,a0 as b}from"../app/index-B0ly_D9Z.js";import{i as A}from"./init-Gi6I4Gst.js";import{e as M,b as R,a as q,f as F}from"./defaultLocale-CrowFXzY.js";function S(n,r){return n=+n,r=+r,function(i){return Math.round(n*(1-i)+r*i)}}function g(n,r){return n==null||r==null?NaN:nr?1:n>=r?0:NaN}function z(n,r){return n==null||r==null?NaN:rn?1:r>=n?0:NaN}function w(n){let r,i,t;n.length!==2?(r=g,i=(u,o)=>g(n(u),o),t=(u,o)=>n(u)-o):(r=n===g||n===z?n:I,i=n,t=n);function f(u,o,e=0,m=u.length){if(e>>1;i(u[l],o)<0?e=l+1:m=l}while(e>>1;i(u[l],o)<=0?e=l+1:m=l}while(ee&&t(u[l-1],o)>-t(u[l],o)?l-1:l}return{left:f,center:a,right:c}}function I(){return 0}function P(n){return n===null?NaN:+n}const $=w(g),j=$.right;w(P).center;const x=Math.sqrt(50),B=Math.sqrt(10),C=Math.sqrt(2);function v(n,r,i){const t=(r-n)/Math.max(0,i),f=Math.floor(Math.log10(t)),c=t/Math.pow(10,f),a=c>=x?10:c>=B?5:c>=C?2:1;let u,o,e;return f<0?(e=Math.pow(10,-f)/a,u=Math.round(n*e),o=Math.round(r*e),u/er&&--o,e=-e):(e=Math.pow(10,f)*a,u=Math.round(n/e),o=Math.round(r/e),u*er&&--o),o0))return[];if(n===r)return[n];const t=r=f))return[];const u=c-f+1,o=new Array(u);if(t)if(a<0)for(let e=0;er&&(i=n,n=r,r=i),function(t){return Math.max(n,Math.min(r,t))}}function Q(n,r,i){var t=n[0],f=n[1],c=r[0],a=r[1];return f2?T:Q,o=e=null,l}function l(h){return h==null||isNaN(h=+h)?c:(o||(o=u(n.map(t),r,i)))(t(a(h)))}return l.invert=function(h){return a(f((e||(e=u(r,n.map(t),y)))(h)))},l.domain=function(h){return arguments.length?(n=Array.from(h,L),m()):n.slice()},l.range=function(h){return arguments.length?(r=Array.from(h),m()):r.slice()},l.rangeRound=function(h){return r=Array.from(h),i=S,m()},l.clamp=function(h){return arguments.length?(a=h?!0:s,m()):a!==s},l.interpolate=function(h){return arguments.length?(i=h,m()):i},l.unknown=function(h){return arguments.length?(c=h,l):c},function(h,k){return t=h,f=k,m()}}function W(){return V()(s,s)}function X(n,r,i,t){var f=E(n,r,i),c;switch(t=R(t??",f"),t.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return t.precision==null&&!isNaN(c=H(f,a))&&(t.precision=c),q(t,a)}case"":case"e":case"g":case"p":case"r":{t.precision==null&&!isNaN(c=J(f,Math.max(Math.abs(n),Math.abs(r))))&&(t.precision=c-(t.type==="e"));break}case"f":case"%":{t.precision==null&&!isNaN(c=G(f))&&(t.precision=c-(t.type==="%")*2);break}}return F(t)}function Y(n){var r=n.domain;return n.ticks=function(i){var t=r();return D(t[0],t[t.length-1],i??10)},n.tickFormat=function(i,t){var f=r();return X(f[0],f[f.length-1],i??10,t)},n.nice=function(i){i==null&&(i=10);var t=r(),f=0,c=t.length-1,a=t[f],u=t[c],o,e,m=10;for(u0;){if(e=d(a,u,i),e===o)return t[f]=a,t[c]=u,r(t);if(e>0)a=Math.floor(a/e)*e,u=Math.ceil(u/e)*e;else if(e<0)a=Math.ceil(a*e)/e,u=Math.floor(u*e)/e;else break;o=e}return n},n}function Z(){var n=W();return n.copy=function(){return U(n,Z())},A.apply(n,arguments),Y(n)}export{U as a,w as b,W as c,Z as l,E as t}; diff --git a/veadk/webui/assets/styles/index-vChqTa3c.css b/veadk/webui/assets/styles/index-BXHQDNOZ.css similarity index 51% rename from veadk/webui/assets/styles/index-vChqTa3c.css rename to veadk/webui/assets/styles/index-BXHQDNOZ.css index 540aee445..8319da5b7 100644 --- a/veadk/webui/assets/styles/index-vChqTa3c.css +++ b/veadk/webui/assets/styles/index-BXHQDNOZ.css @@ -7,4 +7,4 @@ Outdated base version: https://github.com/primer/github-syntax-light Current colors taken from GitHub's CSS -*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}@layer components{._SegmentedControl_1sl7d_1{--segmented-control-option-radius: calc( var(--segmented-control-radius) - var(--segmented-control-gutter) );position:relative;overflow:auto;display:inline-flex;flex-wrap:nowrap;gap:var(--segmented-control-gap);height:var(--segmented-control-size);padding:var(--segmented-control-gutter);border-radius:var(--segmented-control-radius);background:var(--segmented-control-background);font-size:var(--segmented-control-font-size);font-weight:var(--segmented-control-font-weight);-ms-overflow-style:none;scrollbar-width:none;vertical-align:middle;white-space:nowrap}._SegmentedControl_1sl7d_1::-webkit-scrollbar{width:0;height:0}._SegmentedControl_1sl7d_1::-webkit-scrollbar-track,._SegmentedControl_1sl7d_1::-webkit-scrollbar-thumb{background:transparent}._SegmentedControl_1sl7d_1:where([data-block]){overflow:hidden;display:flex;width:100%;white-space:wrap}._SegmentedControl_1sl7d_1:where([data-size="3xs"]){--segmented-control-size: var(--control-size-3xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size="2xs"]){--segmented-control-size: var(--control-size-2xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=xs]){--segmented-control-size: var(--control-size-xs);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=sm]){--segmented-control-size: var(--control-size-sm);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-size=md]){--segmented-control-size: var(--control-size-md);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=lg]){--segmented-control-size: var(--control-size-lg);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=xl]){--segmented-control-size: var(--control-size-xl);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-lg);--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-size="2xl"]){--segmented-control-size: var(--control-size-2xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-size="3xl"]){--segmented-control-size: var(--control-size-3xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-gutter-size="2xs"]){--segmented-control-option-gutter: var(--control-gutter-2xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xs]){--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=sm]){--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-gutter-size=md]){--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-gutter-size=lg]){--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xl]){--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-pill]){--segmented-control-radius: var(--radius-full);--segmented-control-option-radius: var(--radius-full)}._SegmentedControlOption_1sl7d_140{position:relative;padding:0 var(--segmented-control-option-gutter);border-radius:var(--segmented-control-option-radius);color:var(--color-text-secondary);cursor:pointer;line-height:1;transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,color;transition-timing-function:var(--transition-ease-basic)}._SegmentedControlOption_1sl7d_140:focus{outline:0}:where(._SegmentedControl_1sl7d_1[data-block]) ._SegmentedControlOption_1sl7d_140{flex:1}:where(._SegmentedControl_1sl7d_1[data-pill]) ._SegmentedControlOption_1sl7d_140{padding:0 calc(var(--segmented-control-option-gutter) * var(--control-gutter-pill-scaling))}._SegmentedControlOption_1sl7d_140[data-state=on]:focus-visible{outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140:before{position:absolute;inset:var(--segmented-control-option-highlight-gutter);border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-option-highlight-background-color);content:"";opacity:0;pointer-events:none;transform:scale(1);transition-duration:var(--transition-duration-basic);transition-property:opacity,transform;transition-timing-function:var(--transition-ease-basic);will-change:transform}._SegmentedControlOption_1sl7d_140:active:before{transform:scale(var(--scale),.97)}._SegmentedControlOption_1sl7d_140 svg{display:block}@media (hover: hover) and (pointer: fine){._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover:before{opacity:.5}}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):focus-visible{color:var(--color-text);outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):active:before{opacity:.75}._SegmentedControlOption_1sl7d_140[data-state=on]{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-disabled]{cursor:not-allowed;opacity:.5}._SegmentedControlOption_1sl7d_140[data-disabled]:before{opacity:0!important}._SegmentedControlThumb_1sl7d_219{position:absolute;top:var(--segmented-control-gutter);bottom:var(--segmented-control-gutter);left:0;border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-thumb-background);box-shadow:var(--segmented-control-thumb-shadow);pointer-events:none;will-change:transform}}.knowledge-library{display:grid;grid-template-columns:292px minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:hsl(var(--panel));color:hsl(var(--foreground))}.knowledge-library__sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;padding:20px 16px 16px;border-right:1px solid hsl(var(--border));background:hsl(var(--canvas))}.knowledge-library__sidebar-head,.knowledge-documents__head,.knowledge-detail-head,.knowledge-dialog__header,.knowledge-dialog__actions{display:flex;align-items:center;justify-content:space-between}.knowledge-library__sidebar-head{min-height:32px;margin-bottom:12px}.knowledge-library__sidebar-head>div,.knowledge-documents__head>div{display:flex;align-items:baseline;gap:8px;min-width:0}.knowledge-library__sidebar h2,.knowledge-detail-head h2,.knowledge-library__detail-empty h2,.knowledge-dialog h2,.knowledge-documents h3{margin:0;color:hsl(var(--foreground))}.knowledge-library__sidebar h2{font-size:17px;font-weight:620;line-height:1.3}.knowledge-library__sidebar-head span{color:hsl(var(--muted-foreground));font-size:12px}.knowledge-primary-button svg,.knowledge-library__search svg,.knowledge-base-row__icon svg,.knowledge-library__state>svg,.knowledge-library__detail-empty>svg,.knowledge-dialog__header button svg{width:16px;height:16px;flex:0 0 auto}.knowledge-library__search{position:relative;display:flex;align-items:center;height:34px;margin-bottom:10px}.knowledge-library__search svg{position:absolute;left:10px;z-index:1;color:hsl(var(--muted-foreground));pointer-events:none}.knowledge-library__search input{width:100%;height:34px;padding:0 10px 0 34px;border:1px solid hsl(var(--border));border-radius:7px;outline:none;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:12.5px}.knowledge-library__search input::placeholder,.knowledge-dialog input::placeholder,.knowledge-dialog textarea::placeholder{color:hsl(var(--muted-foreground))}.knowledge-library__search input:focus,.knowledge-library__region select:focus,.knowledge-dialog input:focus,.knowledge-dialog textarea:focus{border-color:hsl(var(--foreground) / .36);box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 3px hsl(var(--foreground) / .36)}.knowledge-library__region{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;margin-bottom:10px;gap:10px;color:hsl(var(--muted-foreground));font-size:12px}.knowledge-library__region select{width:100%;height:34px;padding:0 30px 0 10px;border:1px solid hsl(var(--border));border-radius:7px;outline:none;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:12.5px}.knowledge-library .knowledge-primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;gap:7px;border:1px solid hsl(var(--foreground));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font-size:12.5px;font-weight:560}.knowledge-library .knowledge-primary-button span{color:inherit;font-size:inherit;font-weight:inherit}.knowledge-library .knowledge-primary-button:hover:not(:disabled){opacity:.88}.knowledge-library .knowledge-primary-button:active:not(:disabled){transform:translateY(1px)}.knowledge-library__create{width:100%;margin-bottom:12px}.knowledge-library__list{display:flex;flex:1;flex-direction:column;min-height:0;gap:4px;overflow-y:auto}.knowledge-base-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;width:100%;min-height:52px;padding:7px 8px;gap:8px;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--foreground));cursor:pointer;text-align:left}.knowledge-base-row:hover{background:hsl(var(--muted))}.knowledge-base-row.is-selected{border-color:hsl(var(--border));background:hsl(var(--panel))}.knowledge-base-row__icon{display:inline-grid;flex:0 0 auto;place-items:center;border:1px solid hsl(var(--border));background:hsl(var(--muted));color:hsl(var(--foreground))}.knowledge-base-row__icon{width:32px;height:32px;border-radius:7px}.knowledge-base-row__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.knowledge-base-row__copy strong{overflow:hidden;font-size:12.5px;font-weight:580;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.knowledge-base-row__copy span{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.knowledge-keyboard-reveal:focus{overflow:visible;white-space:normal;overflow-wrap:anywhere;outline:2px solid hsl(var(--foreground));outline-offset:2px}.knowledge-base-row:focus-visible .knowledge-keyboard-reveal{overflow:visible;white-space:normal;overflow-wrap:anywhere}.knowledge-status{max-width:54px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.knowledge-status.is-ready,.knowledge-status.is-active,.knowledge-status.is-available,.knowledge-status.is-success{color:#2d764f}.knowledge-status.is-failed,.knowledge-status.is-error,.knowledge-status.is-unavailable{color:hsl(var(--destructive))}.knowledge-library__loading,.knowledge-library__state,.knowledge-library__detail-empty{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground))}.knowledge-library__loading{min-height:112px;font-size:12.5px}.knowledge-library__state{min-height:152px;flex-direction:column;padding:20px;gap:10px;text-align:center}.knowledge-library__state>svg{width:24px;height:24px}.knowledge-library__state p,.knowledge-library__detail-empty p{margin:0;font-size:12.5px;line-height:1.55}.knowledge-library__state button,.knowledge-load-more{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12px}.knowledge-library__state.is-error p,.knowledge-form-error{color:hsl(var(--destructive));overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-load-more{flex:0 0 auto;margin:8px auto 0}.knowledge-library__detail{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:hsl(var(--panel))}.knowledge-library__detail-empty{flex:1;min-height:0;flex-direction:column;gap:8px}.knowledge-library__detail-empty>svg{width:32px;height:32px;margin-bottom:4px}.knowledge-library__detail-empty h2{font-size:15px;font-weight:600}.knowledge-detail-head{flex:0 0 auto;min-height:86px;padding:18px 24px;gap:20px}.knowledge-detail-head__title{display:flex;align-items:center;min-width:0;gap:12px}.knowledge-detail-head__title>div{min-width:0}.knowledge-detail-head h2{overflow:hidden;font-size:17px;font-weight:620;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.knowledge-detail-head p{display:-webkit-box;max-width:720px;margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.knowledge-detail-head__actions{display:flex;flex:0 0 auto;gap:8px}.knowledge-detail-head__actions button{min-height:32px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12px}.knowledge-detail-head__actions button:hover{background:hsl(var(--muted))}.knowledge-detail-head__actions button.is-danger{color:hsl(var(--destructive))}.knowledge-detail-meta{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1.25fr) minmax(0,1.45fr) minmax(0,.65fr) minmax(0,1.1fr);width:calc(100% - 64px);box-sizing:border-box;margin:16px 32px 4px;padding:18px 20px;gap:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.knowledge-detail-meta>div{min-width:0}.knowledge-detail-meta dt{margin-bottom:6px;color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;line-height:1.45}.knowledge-detail-meta dd{margin:0;color:hsl(var(--foreground));font-size:13.5px;font-weight:550;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-documents{display:flex;flex:1;flex-direction:column;min-height:0;padding:18px 24px 24px}.knowledge-documents__head{flex:0 0 auto;min-height:36px;margin-bottom:10px}.knowledge-documents h3{font-size:14px;font-weight:600}.knowledge-documents__body{flex:1;min-height:0;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-documents__body.is-table{flex:1;min-height:0;overflow:hidden;border:0;border-radius:0;background:transparent}.knowledge-document-table-wrap{height:100%;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-document-table{width:100%;min-width:560px;border-collapse:collapse;table-layout:fixed}.knowledge-document-table th{height:42px;position:sticky;top:0;z-index:1;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:12px;font-weight:560;text-align:left}.knowledge-document-table th:first-child{width:auto}.knowledge-document-table th:nth-child(2),.knowledge-document-table th:nth-child(3){width:112px}.knowledge-document-table th:nth-child(4){width:148px}.knowledge-document-table td{height:52px;padding:6px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.knowledge-document-table tbody tr:last-child td{border-bottom:0}.knowledge-document-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.knowledge-document-table__name{overflow:hidden;font-size:13.5px;font-weight:400;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.knowledge-document-table__actions-heading{text-align:center!important}.knowledge-document-table__actions{display:flex;align-items:center;justify-content:center;gap:4px}.knowledge-document-table__actions .knowledge-document-action-button{flex:0 0 auto}.knowledge-document-pagination{min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 16px;gap:8px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.knowledge-document-pagination.is-error{color:hsl(var(--destructive))}.knowledge-document-pagination.is-error span,.knowledge-preview__state.is-error p,.knowledge-preview__more-error{overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-document-pagination button{min-height:28px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.knowledge-document-pagination button:hover{background:hsl(var(--muted))}.knowledge-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;padding:24px;place-items:center;background:hsl(var(--foreground) / .34)}.knowledge-dialog{width:min(540px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 48px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 22px 60px hsl(var(--foreground) / .18)}.knowledge-dialog--preview{width:min(900px,calc(100vw - 32px));height:min(760px,calc(100dvh - 48px));display:flex;flex-direction:column}.knowledge-dialog--web-confirm form{flex:1;min-height:0;display:flex;flex-direction:column}.knowledge-preview{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.knowledge-preview__meta{min-height:42px;display:flex;flex:0 0 auto;align-items:center;padding:0 18px;gap:8px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.knowledge-preview__meta a{margin-left:auto;color:hsl(var(--foreground));font-size:12px;font-weight:550;text-decoration:none}.knowledge-preview__meta strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.knowledge-preview__meta a:hover{text-decoration:underline;text-underline-offset:3px}.knowledge-preview__body{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:hsl(var(--canvas))}.knowledge-preview__state{min-height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-sizing:border-box;padding:32px;gap:10px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.knowledge-preview__state p,.knowledge-preview__state span{margin:0}.knowledge-preview__state.is-error p,.knowledge-preview__more-error{color:hsl(var(--destructive))}.knowledge-preview__state button,.knowledge-preview__load-more{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12px}.knowledge-preview__chunks{width:min(780px,calc(100% - 36px));display:grid;box-sizing:border-box;margin:18px auto 28px;gap:12px}.knowledge-preview__chunk{min-width:0;overflow:hidden;padding:16px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-preview__chunk header{margin-bottom:10px}.knowledge-preview__chunk h3{margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.45}.knowledge-preview__content{margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:400;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-preview__table-wrap{max-width:100%;margin-top:14px;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:8px}.knowledge-preview__table-wrap table{width:100%;min-width:420px;border-collapse:collapse;table-layout:auto}.knowledge-preview__table-wrap th,.knowledge-preview__table-wrap td{min-width:104px;padding:9px 11px;border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));font-size:12px;line-height:1.5;text-align:left;vertical-align:top;overflow-wrap:anywhere}.knowledge-preview__table-wrap th{background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-weight:560}.knowledge-preview__table-wrap td{color:hsl(var(--foreground))}.knowledge-preview__table-wrap tr>:last-child{border-right:0}.knowledge-preview__table-wrap tbody tr:last-child td{border-bottom:0}.knowledge-preview__image,.knowledge-preview__video{display:block;width:auto;max-width:100%;max-height:440px;margin:14px auto 0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas));object-fit:contain}.knowledge-preview__video{width:100%;background:hsl(var(--foreground))}.knowledge-preview__audio{display:block;width:100%;height:40px;margin-top:14px}.knowledge-preview__pdf{display:grid;min-width:0;margin-top:14px;gap:8px}.knowledge-preview__pdf iframe{width:100%;height:min(480px,48dvh);border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas))}.knowledge-preview__pdf a,.knowledge-preview__file-fallback a{justify-self:center;color:hsl(var(--foreground));font-size:12px;font-weight:550;text-underline-offset:3px}.knowledge-preview__file-fallback{display:grid;margin-top:14px;padding:14px;gap:8px;border-radius:8px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:center}.knowledge-preview__file-fallback p{margin:0}.knowledge-preview__attachment-error,.knowledge-preview__more-error{margin-top:12px;font-size:12px;line-height:1.5;text-align:center}.knowledge-preview__attachment-error{color:hsl(var(--muted-foreground))}.knowledge-preview__load-more{justify-self:center;min-width:96px}.knowledge-preview__load-more:hover:not(:disabled),.knowledge-preview__state button:hover{background:hsl(var(--muted))}.knowledge-preview__load-more:disabled{cursor:not-allowed;opacity:.58}.knowledge-dialog__header{min-height:54px;padding:0 18px;border-bottom:1px solid hsl(var(--border))}.knowledge-dialog__header h2{font-size:15px;font-weight:620}.knowledge-dialog__header button{display:grid;width:30px;height:30px;padding:0;place-items:center;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.knowledge-dialog__header button:hover:not(:disabled){background:hsl(var(--muted));color:hsl(var(--foreground))}.knowledge-dialog form{display:flex;max-height:calc(min(720px,100dvh - 48px) - 54px);flex-direction:column}.knowledge-dialog__body{display:flex;min-height:0;padding:18px;flex-direction:column;gap:14px;overflow-y:auto}.knowledge-dialog__body>label,.knowledge-source-panel>label,.knowledge-dialog__fields label{display:flex;min-width:0;flex-direction:column;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.knowledge-dialog__body label>small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.45}.knowledge-dialog input,.knowledge-dialog textarea{width:100%;min-height:36px;padding:8px 10px;border:1px solid hsl(var(--border));border-radius:7px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px;font-weight:400;line-height:1.5;resize:vertical}.knowledge-dialog textarea{min-height:84px}.knowledge-dialog input:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.knowledge-dialog textarea.is-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.knowledge-metadata-editor{min-height:220px!important}.knowledge-dialog__fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.knowledge-dialog__note{margin:-4px 0 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.5}.knowledge-dialog__note.is-error{color:hsl(var(--destructive))}.knowledge-source-picker{display:flex;min-width:0;margin:0;padding:0;gap:18px;border:0}.knowledge-source-picker legend{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.knowledge-source-picker label{display:inline-flex;align-items:center;gap:6px;color:hsl(var(--foreground));cursor:pointer;font-size:12.5px}.knowledge-source-picker input{width:14px;min-height:14px;margin:0;padding:0;accent-color:hsl(var(--foreground))}.knowledge-form-error{padding:8px 10px;border-radius:7px;background:hsl(var(--destructive) / .08);font-size:12px;font-weight:450;line-height:1.5}.knowledge-dialog__actions{flex:0 0 auto;min-height:58px;padding:10px 18px;justify-content:flex-end;gap:8px;border-top:1px solid hsl(var(--border))}.knowledge-dialog__actions button{min-width:72px;min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12.5px}.knowledge-dialog__actions button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.knowledge-dialog__actions button.is-back{margin-inline-end:auto}.knowledge-web-preview__error{flex:0 0 auto;padding:10px 18px 0}.knowledge-dialog__actions button:hover:not(:disabled){background:hsl(var(--muted))}.knowledge-dialog__actions button.is-primary:hover:not(:disabled){background:hsl(var(--foreground) / .86)}.knowledge-dialog__actions button:disabled,.knowledge-primary-button:disabled,.knowledge-load-more:disabled{cursor:not-allowed;opacity:.48}.knowledge-library button:focus-visible,.knowledge-library input:focus-visible,.knowledge-library summary:focus-visible,.knowledge-library select:focus-visible,.knowledge-dialog button:focus-visible,.knowledge-dialog input:focus-visible,.knowledge-dialog textarea:focus-visible,.knowledge-dialog a:focus-visible,.knowledge-dialog audio:focus-visible,.knowledge-dialog video:focus-visible{outline:2px solid hsl(var(--foreground));outline-offset:1px}@media (max-width: 1040px){.knowledge-library{grid-template-columns:248px minmax(0,1fr)}}@media (max-width: 760px){.knowledge-library{display:flex;overflow-y:auto;flex-direction:column}.knowledge-library__sidebar{flex:0 0 auto;max-height:360px;border-right:0;border-bottom:1px solid hsl(var(--border))}.knowledge-library__detail{flex:0 0 auto;min-height:520px;overflow:visible}.knowledge-detail-head{align-items:flex-start;padding:16px;flex-direction:column}.knowledge-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 40px);margin-inline:20px;padding:16px}.knowledge-documents{min-height:360px;padding:16px}.knowledge-dialog__fields{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.knowledge-library *,.knowledge-dialog *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.knowledge-library{display:flex;flex-direction:column;padding:32px 32px 0;background:hsl(var(--background))}.knowledge-library.is-detail{padding:0}.knowledge-library__search{position:static;width:min(320px,38vw);height:36px;flex:0 0 auto;gap:8px;margin:0;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.knowledge-library__search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.knowledge-library__search svg{position:static;z-index:auto;left:auto}.knowledge-library__search input{width:100%;height:auto;min-width:0;padding:0;border:0;border-radius:0;outline:0;background:transparent;font-size:13px}.knowledge-library__search input:focus{border-color:transparent;box-shadow:none}.knowledge-library__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:0}.knowledge-library__toolbar-actions{display:flex;align-items:center;gap:8px}.knowledge-library .my-agent-create-primary{font-size:12.5px;font-weight:500}.knowledge-library .knowledge-primary-button{min-height:36px;border-radius:8px;font-weight:500}.knowledge-library__results{flex:1;min-height:0;margin-top:28px;padding-bottom:56px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.knowledge-region-warning{min-height:38px;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;margin-bottom:12px;padding:8px 12px;gap:16px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--muted) / .58);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.knowledge-region-warning button{flex:0 0 auto;padding:0;border:0;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.knowledge-region-warning button:hover{text-decoration:underline;text-underline-offset:3px}.knowledge-status{max-width:88px;flex:0 0 auto;padding:2px 6px;border-radius:999px;background:hsl(var(--muted));font-size:10.5px;line-height:16px}.knowledge-status.is-ready,.knowledge-status.is-active,.knowledge-status.is-available,.knowledge-status.is-success{background:#e7f8ee}.knowledge-status.is-creating,.knowledge-status.is-pending,.knowledge-status.is-processing,.knowledge-status.is-indexing{background:#fdf5e3;color:#8d5911}.knowledge-status.is-failed,.knowledge-status.is-error,.knowledge-status.is-unavailable{background:hsl(var(--destructive) / .09)}.knowledge-library__loading,.knowledge-library__state{min-height:260px}.knowledge-library__detail{flex:1;background:hsl(var(--background))}.knowledge-detail-head{min-height:94px;padding:20px 32px;background:hsl(var(--background))}.knowledge-detail-head__title{gap:10px}.knowledge-back-button{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.knowledge-back-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.knowledge-back-button svg{width:18px;height:18px}.knowledge-documents{padding:20px 32px 32px}.knowledge-back-button:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:2px}@media (max-width: 760px){.knowledge-library{display:flex;padding:24px 20px 0;overflow:hidden}.knowledge-library.is-detail{padding:0}.knowledge-library__search{width:100%}.knowledge-library__toolbar{align-items:stretch;flex-direction:column;gap:12px}.knowledge-library__toolbar-actions{align-self:flex-end}.knowledge-library__results{margin-top:24px;padding-bottom:44px}.knowledge-library__detail{min-height:0;overflow:hidden}.knowledge-detail-head{padding:16px 20px}.knowledge-documents{min-height:0;padding:16px 20px 20px}}.knowledge-preview__markdown-shell{width:min(780px,calc(100% - 36px));box-sizing:border-box;margin:18px auto 28px;padding:18px 20px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-preview__markdown{color:hsl(var(--foreground));font-size:13px;line-height:1.7;overflow-wrap:anywhere}.knowledge-preview__markdown>:first-child{margin-top:0}.knowledge-preview__markdown>:last-child{margin-bottom:0}@media (max-width: 560px){.knowledge-library,.knowledge-detail-head{padding-inline:16px}.knowledge-detail-meta{grid-template-columns:1fr;width:calc(100% - 32px);margin-inline:16px}.knowledge-documents{padding-inline:16px}.knowledge-dialog--preview{height:calc(100dvh - 32px)}.knowledge-preview__chunks,.knowledge-preview__markdown-shell{width:calc(100% - 24px);margin-top:12px}.knowledge-preview__chunk,.knowledge-preview__markdown-shell{padding:14px}}@media (prefers-reduced-motion: reduce){.knowledge-card{transition:none}.knowledge-card:hover{transform:none}}.knowledge-source-tabs{height:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;box-sizing:border-box;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.knowledge-source-tabs button{min-width:0;min-height:34px;padding:0 10px;overflow:hidden;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font-size:12.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.knowledge-source-tabs button:hover:not(:disabled){background:hsl(var(--background) / .5);color:hsl(var(--foreground))}.knowledge-source-tabs button.is-active{border-color:hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.knowledge-source-tabs button:disabled{cursor:not-allowed;opacity:.58}.knowledge-source-panel,.knowledge-source-panel>label{min-width:0}.knowledge-upload-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.knowledge-upload-dropzone{width:100%;min-height:144px;display:grid;place-content:center;gap:7px;box-sizing:border-box;padding:24px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;text-align:center;transition:border-color .12s ease,background-color .12s ease}.knowledge-upload-dropzone:hover:not(:disabled),.knowledge-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.knowledge-upload-dropzone.is-ready{border-style:solid;background:hsl(var(--secondary) / .24)}.knowledge-upload-dropzone:disabled{cursor:not-allowed;opacity:.62}.knowledge-upload-dropzone strong{max-width:440px;overflow:hidden;font-size:15px;font-weight:600;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.knowledge-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.knowledge-upload-status{min-height:20px;display:flex;align-items:center;margin-top:6px;color:hsl(var(--muted-foreground));font-size:12px}.knowledge-dialog textarea:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.knowledge-source-tabs button:focus-visible,.knowledge-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:1px}@media (max-width: 560px){.knowledge-upload-dropzone{min-height:120px;padding:20px 16px}}@media (prefers-reduced-motion: reduce){.knowledge-source-tabs button,.knowledge-upload-dropzone{transition:none}}@layer components{._EmptyMessage_1r5gu_1{display:flex;flex-direction:column;align-items:center;justify-content:center}._EmptyMessage_1r5gu_1[data-fill=static]{width:100%;height:100%}._EmptyMessage_1r5gu_1[data-fill=absolute]{position:absolute;top:0;right:0;bottom:0;left:0}._IconBadge_1r5gu_16{--badge-size: 40px;--icon-size: 24px;display:flex;align-items:center;justify-content:center;width:var(--badge-size);height:var(--badge-size);border-radius:var(--radius-md);margin:0 0 12px;background:var(--badge-background-color);color:var(--badge-text-color)}._IconBadge_1r5gu_16 svg{width:var(--icon-size);height:var(--icon-size)}._IconBadge_1r5gu_16[data-size=sm]{--badge-size: 32px;--icon-size: 20px}._IconBadge_1r5gu_16[data-color=secondary]{--badge-background-color: var(--color-background-secondary-soft);--badge-text-color: var(--color-text-secondary-soft)}._IconBadge_1r5gu_16[data-color=warning]{--badge-background-color: var(--color-background-warning-soft);--badge-text-color: var(--color-text-warning-soft)}._IconBadge_1r5gu_16[data-color=danger]{--badge-background-color: var(--color-background-danger-soft);--badge-text-color: var(--color-text-danger-soft)}._Title_1r5gu_54{max-width:90%;color:var(--color-text);font-size:16px;font-weight:var(--font-weight-semibold);text-align:center;text-wrap:balance}._Title_1r5gu_54:where([data-color=danger]){color:var(--color-text-danger)}._Title_1r5gu_54:where([data-color=warning]){color:var(--color-text-warning)}._Description_1r5gu_69{max-width:90%;margin:6px 0 0;color:var(--color-text-secondary);font-size:14px;line-height:1.45;text-align:center;text-wrap:balance}._ActionRow_1r5gu_77{margin-top:calc(var(--spacing) * 4)}}.builtin-tool-head{--builtin-tool-accent: 215 18% 42%;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:3px 7px 3px 3px;border:0;border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;transition:color .12s ease}.builtin-tool-head[data-tool-tone=search]{--builtin-tool-accent: 211 62% 42%}.builtin-tool-head[data-tool-tone=image]{--builtin-tool-accent: 28 67% 42%}.builtin-tool-head[data-tool-tone=video]{--builtin-tool-accent: 260 38% 48%}.builtin-tool-head[data-tool-tone=presentation]{--builtin-tool-accent: 252 38% 52%}.builtin-tool-head[data-tool-tone=memory]{--builtin-tool-accent: 174 52% 34%}.builtin-tool-head[data-tool-tone=knowledge]{--builtin-tool-accent: 225 48% 45%}.builtin-tool-head[data-tool-tone=skill]{--builtin-tool-accent: 154 50% 34%}.builtin-tool-head[data-tool-tone=sandbox]{--builtin-tool-accent: 32 67% 42%}.builtin-tool-head:hover{color:hsl(var(--foreground))}.builtin-tool-icon{position:relative;width:20px;height:26px;flex:0 0 20px;display:grid;place-items:center;color:hsl(var(--builtin-tool-accent))}.builtin-tool-icon>svg{width:18px;height:18px}.builtin-tool-label{font-size:14.5px;font-weight:400;line-height:1.35}.builtin-tool-head.is-done .builtin-tool-label{color:hsl(var(--muted-foreground))}.builtin-tool-chevron{width:13px;height:13px;flex:0 0 13px;opacity:.58;transition:transform .18s ease}.builtin-tool-chevron.is-open{transform:rotate(90deg)}.code-browser-trigger{min-height:26px;display:inline-flex;align-items:center;gap:5px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:color .12s ease,background-color .12s ease}.code-browser-trigger svg{width:13px;height:13px}.code-browser-trigger:hover{background:hsl(var(--foreground) / .04);color:hsl(var(--foreground))}.code-browser-trigger:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.code-browser-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:32px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:code-browser-fade-in .14s ease-out}.code-browser-dialog{width:min(1040px,92vw);height:min(720px,84vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:code-browser-rise-in .18s cubic-bezier(.2,.8,.2,1)}.code-browser-head{flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.code-browser-title-wrap{min-width:0;display:flex;align-items:center;gap:10px}.code-browser-title-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:7px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-title-icon svg,.code-browser-close svg{width:16px;height:16px}.code-browser-title-wrap h2,.code-browser-title-wrap p{margin:0}.code-browser-title-wrap h2{color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35}.code-browser-title-wrap p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.code-browser-close{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.code-browser-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-workspace{flex:1;min-height:0;display:flex}.code-browser-sidebar{flex:0 0 220px;min-width:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .22)}.code-browser-sidebar-head,.code-browser-path{flex:0 0 38px;min-height:38px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.code-browser-sidebar-head{justify-content:space-between;padding:0 12px;color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.code-browser-sidebar-head span{font-variant-numeric:tabular-nums;font-weight:500}.code-browser-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.code-browser-file,.code-browser-folder{width:100%;min-height:30px;display:flex;align-items:center;gap:6px;padding-top:4px;padding-right:10px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.code-browser-file:hover,.code-browser-folder:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.code-browser-file.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.code-browser-file svg,.code-browser-folder svg{width:14px;height:14px;flex:0 0 auto}.code-browser-folder>svg:first-child{width:12px;height:12px;transition:transform .12s ease}.code-browser-folder>svg:first-child.is-open{transform:rotate(90deg)}.code-browser-file span,.code-browser-folder span,.code-browser-path span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-browser-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.code-browser-path{gap:7px;padding:0 13px;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.code-browser-path svg{width:13px;height:13px;flex:0 0 auto}.code-browser-editor{flex:1;min-height:0;overflow:hidden}.code-browser-editor>div,.code-browser-editor .cm-theme,.code-browser-editor .cm-editor{height:100%}.code-browser-editor .cm-scroller{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px}.code-browser-empty{height:100%;display:grid;place-items:center;padding:20px;color:hsl(var(--muted-foreground));font-size:12px}@keyframes code-browser-fade-in{0%{opacity:0}to{opacity:1}}@keyframes code-browser-rise-in{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.code-browser-backdrop{padding:12px}.code-browser-dialog{width:100%;height:min(760px,92vh)}.code-browser-sidebar{flex-basis:168px}}@media (prefers-reduced-motion: reduce){.code-browser-backdrop,.code-browser-dialog{animation:none}}.skill-conversation{min-height:220px;margin:0 0 16px;padding:8px 0 18px}.skill-conversation .bubble{font-size:13px;line-height:1.65}.skill-conversation .think-head,.skill-conversation .tool-head,.skill-conversation .builtin-tool-head{display:grid;grid-template-columns:20px minmax(0,1fr) 13px;align-items:center;gap:8px;width:100%;min-height:38px;padding:4px 0;text-align:left}.skill-conversation .think-label,.skill-conversation .tool-name,.skill-conversation .builtin-tool-label{min-width:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere;text-align:left}.skill-conversation .think-icon,.skill-conversation .tool-icon,.skill-conversation .builtin-tool-icon{width:20px;height:26px}.skill-conversation .chev,.skill-conversation .tool-chevron,.skill-conversation .builtin-tool-chevron{justify-self:end}.skill-generation{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:hsl(var(--background));color:hsl(var(--foreground))}.skillcenter{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.skillcenter-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.skillcenter-page-heading{min-width:0}.skillcenter-page-heading--back{display:flex;align-items:center;gap:8px}.skillcenter-page-heading--back>div{min-width:0}.skillcenter-page-heading h1{max-width:min(620px,55vw);margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.skillcenter-page-heading p{display:-webkit-box;max-width:680px;margin:6px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.skillcenter-back{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-back svg{width:18px;height:18px}.skillcenter-search{width:min(320px,38vw);height:36px;flex:0 0 auto;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.skillcenter-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.skillcenter-search svg{width:16px;height:16px;flex:0 0 16px}.skillcenter-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.skillcenter-search input::placeholder{color:hsl(var(--muted-foreground))}.skillcenter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.skillcenter-toolbar-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.my-agent-type-bar.skillcenter-list-toolbar{justify-content:space-between;margin-top:0}.skillcenter-detail-facts{min-width:0;display:flex;align-items:center;gap:24px}.skillcenter-detail-facts>div{min-width:72px;display:grid;gap:3px}.skillcenter-detail-facts span{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.2}.skillcenter-detail-facts strong{max-width:220px;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:560;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-primary-action,.skillcenter-secondary-action{min-width:max-content;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.skillcenter-primary-action{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.skillcenter-primary-action:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.skillcenter-secondary-action:hover{background:hsl(var(--secondary))}.skillcenter-secondary-action.is-danger{color:hsl(var(--destructive))}.skillcenter-secondary-action.is-danger:hover:not(:disabled){border-color:hsl(var(--destructive) / .24);background:hsl(var(--destructive) / .06)}.skillcenter-secondary-action:disabled{cursor:not-allowed;opacity:.48}.skillcenter-primary-action:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.skillcenter-primary-action svg{width:15px;height:15px}.skillcenter-disabled-action{position:relative;display:inline-flex;border-radius:8px}.skillcenter-disabled-action.is-disabled{cursor:not-allowed}.skillcenter-disabled-action.is-disabled>button{cursor:inherit}.skillcenter-disabled-tooltip{position:absolute;z-index:30;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.skillcenter-disabled-action.is-top .skillcenter-disabled-tooltip{bottom:calc(100% + 8px);transform:translate(-50%,3px)}.skillcenter-disabled-action.is-bottom .skillcenter-disabled-tooltip{top:calc(100% + 8px);transform:translate(-50%,-3px)}.skillcenter-disabled-action.is-inside .skillcenter-disabled-tooltip{top:50%;transform:translate(-50%,calc(-50% + 3px))}.skillcenter-disabled-action.is-disabled:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled:focus-visible .skillcenter-disabled-tooltip{opacity:1}.skillcenter-disabled-action.is-disabled.is-top:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-top:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-bottom:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-bottom:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-inside:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-inside:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%,-50%)}.skillcenter-disabled-action:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.skillcenter-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.skillcenter-back:focus-visible,.skillcenter-primary-action:focus-visible,.skillcenter-secondary-action:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skillcenter-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.skillcenter-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.skillcenter-table th{height:42px;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:11px;font-weight:560;text-align:left}.skillcenter-table th:first-child{width:auto}.skillcenter-table th:nth-child(2){width:104px}.skillcenter-table th:nth-child(3){width:180px}.skillcenter-table td{height:72px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.skillcenter-table tbody tr:last-child td{border-bottom:0}.skillcenter-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.skillcenter-table__skill button{width:100%;display:grid;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.skillcenter-table__title-row{min-width:0;display:flex;align-items:center;gap:7px}.skillcenter-table__skill strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__skill .skillcenter-table__version-badge{flex:0 0 auto;padding:2px 6px;overflow:visible;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .6);color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.2}.skillcenter-table__skill .skillcenter-table__description{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__actions-heading{text-align:right!important}.skillcenter-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.skillcenter-table__actions button,.skill-detail-actions button{min-height:28px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skillcenter-table__actions button:hover:not(:disabled),.skill-detail-actions button:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-table__actions button:disabled,.skill-detail-actions button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table__actions button.is-danger{color:hsl(var(--destructive))}.skillcenter-inline-error{margin-top:16px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors.is-full-page{min-height:260px;align-items:center;justify-content:center;margin:0;border:0;background:transparent}.skillcenter-space-errors__content{min-width:0;width:min(680px,100%);display:grid;gap:10px}.skillcenter-space-errors__content>strong{font-size:13px;font-weight:600}.skillcenter-space-errors__content>section{min-width:0;display:grid;gap:4px}.skillcenter-space-errors__content>section>span{color:hsl(var(--foreground));font-size:11.5px;font-weight:600}.skillcenter-space-errors .skill-error-details{min-width:0;width:100%;color:inherit}.skillcenter-space-errors .skill-error-details__summary,.skillcenter-space-errors .skill-error-details__original{text-align:left}.skillcenter-space-errors .skill-error-details summary{margin-left:0}.skillcenter-space-errors>button{min-height:30px;flex:0 0 auto;padding:0 10px;border:1px solid hsl(var(--destructive) / .22);border-radius:7px;background:hsl(var(--panel));color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px}.skillcenter-page-state{min-height:300px;display:grid;place-items:center}.skillcenter-page-state.is-error{color:hsl(var(--destructive))}.skill-error-details{width:min(620px,100%);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:left}.skill-error-details__summary{text-align:center}.skill-error-details__original{margin-top:7px;color:hsl(var(--destructive));overflow-wrap:anywhere;text-align:center}.skill-error-details details{margin-top:9px}.skill-error-details summary{width:max-content;margin:0 auto;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.skill-error-details pre{max-height:220px;margin:8px 0 0;padding:10px 12px;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .45);color:hsl(var(--foreground));font:inherit;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.skill-inline-error .skill-error-details,.skill-generation__action-error .skill-error-details{width:100%;color:inherit}.skill-inline-error .skill-error-details__summary,.skill-inline-error .skill-error-details__original,.skill-generation__action-error .skill-error-details__summary,.skill-generation__action-error .skill-error-details__original{text-align:left}.skill-inline-error .skill-error-details summary,.skill-generation__action-error .skill-error-details summary{margin-left:0}.skillcenter-loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:8px;color:hsl(var(--muted-foreground));font-size:12.5px}.skillcenter .skillcenter-pager{height:44px;margin-top:20px;padding:0;border-top:0}.skillcenter .skillcenter-pager-actions{padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel))}.skillcenter .skillcenter-pager button{width:28px;height:28px}.skill-detail-heading{flex:1 1 auto;overflow:hidden}.skill-detail-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.skill-detail-actions button{flex:0 0 auto;white-space:nowrap}.skill-detail-content--files{min-height:0}.skill-detail-content--files .skill-file-browser{min-height:420px;height:min(58vh,620px);border-top:1px solid hsl(var(--border))}.skill-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .28)}.skill-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100%);max-height:min(680px,calc(100vh - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 18px 48px hsl(var(--foreground) / .18)}.skill-dialog>header,.skill-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:10px 16px}.skill-dialog>header{border-bottom:1px solid hsl(var(--border))}.skill-dialog>footer{justify-content:flex-end;border-top:1px solid hsl(var(--border))}.skill-dialog h2{margin:0;font-size:17px;font-weight:620}.skill-dialog>header>button{min-width:36px;min-height:32px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-dialog__body{min-height:0;padding:16px;overflow-y:auto}.skill-dialog__body label{display:grid;gap:6px;margin-bottom:14px;font-size:13px;font-weight:550}.skill-dialog__body input,.skill-dialog__body textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.skill-dialog__body input{min-height:36px;padding:6px 9px}.skill-dialog__body textarea{min-height:88px;padding:9px;resize:vertical}.skill-dialog__body p{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.skill-dialog__file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:7px;background:hsl(var(--muted) / .6);font-size:12px}.skill-dialog__file strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.skill-dialog__file span{flex:0 0 auto;color:hsl(var(--muted-foreground))}.skill-upload-dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px))}.skill-upload-dialog__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.skill-upload-dropzone{width:100%;min-height:min(42vh,360px);display:grid;place-content:center;gap:8px;box-sizing:border-box;padding:32px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.skill-upload-dropzone:hover,.skill-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.skill-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-upload-dropzone strong{font-size:15px;font-weight:600}.skill-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:13px}.skill-add-dialog{grid-template-rows:auto minmax(0,1fr);width:min(460px,100%)}.skill-add-dialog>header>div{min-width:0}.skill-add-dialog>header p{margin:2px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.skill-add-dialog__options{display:grid;gap:10px;padding:16px}.skill-add-dialog__options>.skillcenter-disabled-action,.skill-add-dialog__options>.skillcenter-disabled-action>button{width:100%}.skill-add-dialog__options button{min-height:76px;display:grid;align-content:center;gap:5px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.skill-add-dialog__options button:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .48)}.skill-add-dialog__options button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-add-dialog__options button:disabled{cursor:not-allowed;opacity:.52}.skill-add-dialog__options strong{font-size:13.5px;font-weight:600}.skill-add-dialog__options button>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.skill-generation__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:32px 32px 0;background:hsl(var(--background))}.skill-generation__header h1,.skill-generation__header p,.skill-generation__activity h2,.skill-generation__files h2{margin:0}.skill-generation__header h1{font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.skill-generation__header p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.skill-generation__ttl{color:hsl(var(--muted-foreground));font-size:12px}.skill-button{min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer}.skill-button:hover:not(:disabled){background:hsl(var(--muted) / .72)}.skill-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.skill-button:disabled{cursor:not-allowed;opacity:.5}.skill-button--quiet{background:transparent}.skill-button--primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.skill-button--primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.skill-generation__setup{min-height:0;flex:1;margin:21px 29px 0;padding:3px 3px 48px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.skill-generation__setup>label,.skill-generation__group label{display:grid;gap:6px;margin-bottom:16px;font-size:14px;font-weight:400}.skill-generation textarea,.skill-generation input{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400}.skill-generation input{height:36px;padding:0 10px}.skill-generation textarea{min-height:88px;padding:9px 10px;line-height:1.55;resize:vertical}.skill-generation textarea:focus-visible,.skill-generation input:focus-visible{outline:none;border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-generation input[aria-invalid=true]{border-color:hsl(var(--destructive) / .55);box-shadow:0 0 0 1px hsl(var(--destructive) / .12)}.skill-generation__field-help,.skill-generation__field-error{min-height:18px;font-size:12px;font-weight:400;line-height:1.5}.skill-generation__field-help{color:hsl(var(--muted-foreground))}.skill-generation__field-error{color:hsl(var(--destructive))}.skill-generation__section-head{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.skill-generation__section-head.is-basic{margin-top:0}.skill-generation__section-head div{display:grid;gap:2px}.skill-generation__section-head strong{font-size:17px;font-weight:620}.skill-generation__section-head span{color:hsl(var(--muted-foreground));font-size:12px}.skill-generation__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;isolation:isolate}.skill-generation__group{position:relative;min-width:0;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel))}.skill-generation__group header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}.skill-generation__group header button{border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__group label{margin-bottom:10px;font-size:12px}.skill-generation__group textarea{min-height:72px}.skill-generation__add-group{min-width:0;display:grid;place-items:center;padding:16px;border:1px dashed hsl(var(--border));border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.skill-generation__add-group:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .3);color:hsl(var(--foreground))}.skill-generation__add-group:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-generation__setup-actions{display:flex;justify-content:flex-end;margin-top:18px}.skill-config-select{position:relative;z-index:1;display:grid;gap:6px;margin-bottom:10px}.skill-config-select.is-open{z-index:100}.skill-config-select__label{color:hsl(var(--foreground));font-size:12px;font-weight:400;line-height:1.45}.skill-required-mark{margin-left:3px;color:hsl(var(--destructive))}.skill-config-select__trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.skill-config-select__trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.skill-config-select__trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.skill-config-select__trigger:disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable{padding:0 0 0 12px;cursor:text}.skill-config-select__trigger.is-editable.is-disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable:focus-within{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger.is-editable input{width:100%;min-width:0;height:34px;padding:0;border:0;outline:none;background:transparent;color:inherit;font:inherit}.skill-config-select__trigger.is-editable input::placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__toggle{width:34px;height:34px;display:inline-grid;flex:0 0 34px;place-items:center;padding:0;border:0;border-radius:0 5px 5px 0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skill-config-select__toggle:hover:not(:disabled){background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.skill-config-select__toggle:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-3px}.skill-config-select__toggle:disabled{cursor:default;opacity:.45}.skill-config-select__trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-config-select__trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__trigger svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground));transition:transform .16s ease}.skill-config-select__trigger[aria-expanded=true] svg{transform:rotate(180deg)}.skill-config-select__menu{position:absolute;z-index:21;top:calc(100% + 6px);left:0;width:100%;max-height:238px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.skill-config-select__option{width:100%;min-height:34px;display:flex;align-items:center;padding:8px 10px;overflow:hidden;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.skill-config-select__option:hover,.skill-config-select__option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.skill-config-select__option.is-selected{background:hsl(var(--primary) / .08)}.skill-config-select__empty{padding:9px 10px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.skill-config-select__error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.skill-inline-error,.skill-inline-notice,.skill-validation-errors{margin-top:12px;padding:10px 12px;border-radius:7px;font-size:12.5px;line-height:1.5}.skill-inline-error,.skill-validation-errors{border:1px solid hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.skill-inline-error button{margin-left:10px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}.skill-inline-notice{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .55);color:hsl(var(--muted-foreground))}.skill-validation-errors p{margin:4px 0 0}.skill-validation-errors button{min-height:30px;margin-top:10px;padding:0 10px;border:1px solid hsl(var(--destructive) / .25);border-radius:6px;background:hsl(var(--panel));color:hsl(var(--destructive));font:inherit;font-size:11.5px;cursor:pointer}.skill-validation-errors button:disabled{cursor:not-allowed;opacity:.5}.skill-generation__workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;flex:1}.skill-generation__candidate-tabs{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.skill-generation__candidate-tabs button{display:block;min-width:260px;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));text-align:left;cursor:pointer}.skill-generation__candidate-tabs button.is-active{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.skill-generation__summary-row{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.skill-generation__summary-row+.skill-generation__summary-row{margin-top:7px}.skill-generation__summary-row>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.skill-generation__summary-row>strong{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skill-generation__candidate-summary{width:100%;min-width:0}.skill-generation__candidate{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:12px;gap:12px}.skill-generation__activity,.skill-generation__files{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.skill-generation__activity>header,.skill-generation__files>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border-bottom:1px solid hsl(var(--border))}.skill-generation__activity>header{min-height:0;padding:12px 14px}.skill-generation__activity h2,.skill-generation__files h2{font-size:14px;font-weight:600}.skill-generation__files header button{border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__spinner{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;animation:skill-generation-spin .9s linear infinite}.skill-generation__spinner circle{opacity:.2}.skill-generation__activity .skill-conversation{flex:1;min-height:0;overflow-y:auto;padding:12px}.skill-generation__files-empty{display:grid;flex:1;place-items:center;color:hsl(var(--muted-foreground));font-size:12.5px}.skill-generation__ready-actions{grid-column:1 / -1;display:flex;min-width:0;align-items:flex-end;gap:10px}.skill-generation__publish-target{width:min(320px,36%);min-width:240px}.skill-generation__publish-target .skill-config-select{margin-bottom:0}.skill-generation__followup{grid-column:1 / -1;display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--background))}.skill-generation__ready-actions .skill-generation__followup{min-width:0;flex:1}.skill-generation__followup textarea{min-width:0;min-height:36px;max-height:120px;flex:1;box-sizing:border-box;padding:8px 4px;resize:none;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.skill-generation__followup textarea::placeholder{color:hsl(var(--muted-foreground))}.skill-generation__followup .skill-button{height:36px;min-height:36px}.skill-generation__action-error{grid-column:1 / -1;margin-top:-4px}.skill-file-browser{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:0;flex:1}.skill-file-tree{min-width:0;overflow:auto;border-right:1px solid hsl(var(--border));padding:6px 0}.skill-file-tree__row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-height:30px;padding-top:4px;padding-right:8px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;white-space:nowrap}button.skill-file-tree__row{cursor:pointer}button.skill-file-tree__row:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.skill-file-tree__row.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.skill-file-tree__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.skill-file-tree__row>svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skill-file-tree__row small{color:hsl(var(--muted-foreground));font-size:10px}.skill-file-preview{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.skill-file-preview>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:4px 9px;border-bottom:1px solid hsl(var(--border));font-size:11.5px}.skill-file-preview>header>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-file-preview>header div{display:flex;gap:4px}.skill-file-preview>header button{min-height:28px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skill-file-preview__body{min-width:0;min-height:0;overflow:auto}.skill-file-preview__body .cm-editor{height:100%}.skill-file-preview__markdown{padding:16px}.skill-file-preview__frontmatter{display:grid;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:8px;background:hsl(var(--secondary) / .5)}.skill-file-preview__frontmatter>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px}.skill-file-preview__frontmatter dt{color:hsl(var(--muted-foreground));font-size:11px;font-weight:500}.skill-file-preview__frontmatter dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.skill-file-preview__markdown-body>:first-child{margin-top:0}.skill-file-preview__body img{display:block;max-width:calc(100% - 32px);max-height:calc(100% - 32px);margin:16px auto;object-fit:contain}.skill-file-preview__binary{display:grid;place-content:center;gap:5px;height:100%;padding:20px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}@media (max-width: 980px){.skill-generation__groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-generation__candidate{grid-template-columns:1fr;overflow-y:auto}.skill-generation__activity,.skill-generation__files{min-height:420px}.skill-generation__ready-actions{grid-column:1;align-items:stretch;flex-direction:column}.skill-generation__publish-target{width:100%;min-width:0}.skill-generation__followup{grid-column:1}}@media (max-width: 760px){.skillcenter{padding:24px 20px 0}.skillcenter-page-header{flex-direction:column;gap:16px}.skillcenter-page-heading h1{max-width:calc(100vw - 40px)}.skillcenter-page-heading--back h1{max-width:calc(100vw - 82px)}.skillcenter-search{width:100%}.skillcenter-toolbar{align-items:flex-start;flex-direction:column}.skillcenter-detail-facts{width:100%;justify-content:space-between;gap:12px}.skillcenter-detail-facts>div{min-width:0}.skillcenter-toolbar-actions{width:100%}.skillcenter-results{margin-top:22px}.skill-generation__header{padding:24px 20px 0}.skill-generation__setup{margin:17px 17px 0}}@media (max-width: 560px){.skill-generation__groups{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.skillcenter-disabled-tooltip{transition:none}.skill-generation *,.skill-generation *:before,.skill-generation *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.skill-generation__spinner{animation:none!important}}@keyframes skill-generation-spin{to{transform:rotate(360deg)}}.aw-root{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.aw-agent-head h2,.aw-eval-head h2,.aw-section-head h3{margin:0;color:hsl(var(--foreground));letter-spacing:-.025em}.aw-agent-head p,.aw-eval-head p,.aw-section-head p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.aw-view-tabs,.aw-agent-title-row,.aw-card-head,.aw-section-head,.aw-case-filters,.aw-eval-head{display:flex;align-items:center}.aw-agent-heading{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-heading-copy{min-width:0}.aw-view-tabs{flex:0 0 auto;gap:26px;padding:0 24px;border-bottom:1px solid hsl(var(--border))}.aw-view-tabs button,.aw-case-filters button{border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.aw-view-tabs button{position:relative;min-height:44px;padding:0;font-size:14px;font-weight:580}.aw-view-tabs button.is-active{color:hsl(var(--foreground))}.aw-view-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:999px;background:hsl(var(--foreground))}.aw-run{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:650;transition:opacity .16s ease,transform .16s ease}.aw-run:not(:disabled):hover{transform:translateY(-1px)}.aw-root button:focus-visible,.aw-root input:focus-visible,.aw-root textarea:focus-visible,.aw-root select:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-run svg{width:15px;height:15px}.aw-run:disabled,.aw-create-card:disabled{cursor:default;opacity:.42}.aw-workspace-frame{flex:1;min-height:0;position:relative}.aw-workspace{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:304px minmax(0,1fr)}.aw-root.is-detail-only .aw-view-tabs,.aw-root.is-detail-only .aw-sidebar{display:none}.aw-root.is-detail-only .aw-workspace{grid-template-columns:minmax(0,1fr)}.aw-root.is-detail-only{font-size:14px}.aw-root.is-detail-only .aw-agent-head{padding-top:24px}.aw-sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 12px 22px 24px}.aw-search{height:40px;min-height:40px;flex:0 0 40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--foreground) / .12);border-radius:10px;background:transparent;transition:border-color .16s ease,background-color .16s ease}.aw-search:focus-within{border-color:hsl(var(--foreground) / .16);background:hsl(var(--secondary) / .42);box-shadow:none}.aw-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;line-height:1}.aw-search input::placeholder{color:hsl(var(--muted-foreground) / .82)}.aw-search input:focus,.aw-search input:focus-visible,.aw-case-search input:focus,.aw-case-search input:focus-visible{outline:none!important;box-shadow:none}.aw-agent-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;margin-top:14px;overflow-y:auto}.aw-selection-toolbar{flex:0 0 auto;min-height:32px;display:flex;align-items:center;gap:8px;margin-top:10px}.aw-selection-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-selection-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-selection-toolbar button:disabled{cursor:default;opacity:.42}.aw-selection-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-selection-count{flex:1;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;white-space:nowrap}.aw-selection-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-selection-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-delete-error{margin-top:8px;padding:8px 10px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-agent-item,.aw-agent-check{width:100%;min-height:72px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:13px 14px;border:1px solid hsl(var(--foreground) / .1);border-radius:14px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,border-color .16s ease}.aw-agent-item:hover,.aw-agent-check:hover{border-color:hsl(var(--foreground) / .18);background:hsl(var(--secondary) / .42)}.aw-agent-item.is-active{border-color:hsl(var(--foreground) / .42);background:hsl(var(--secondary) / .28)}.aw-agent-item[draggable=true]{cursor:grab}.aw-agent-item[draggable=true]:active{cursor:grabbing}.aw-agent-item.is-dragging{opacity:.46}.aw-agent-item.is-drop-target{border-color:hsl(var(--foreground) / .46);background:hsl(var(--secondary) / .54)}.aw-agent-item.is-drop-before{box-shadow:inset 0 2px hsl(var(--foreground) / .44)}.aw-agent-item.is-drop-after{box-shadow:inset 0 -2px hsl(var(--foreground) / .44)}.aw-agent-item.is-selecting{gap:10px}.aw-agent-item.is-selected-for-delete{border-color:hsl(var(--foreground) / .36);background:hsl(var(--secondary) / .44)}.aw-agent-item.is-selection-disabled{opacity:.58}.aw-select-marker{width:16px;height:16px;flex:0 0 16px;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;background:hsl(var(--background))}.aw-select-marker.is-checked{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.aw-select-marker.is-checked:after{content:"";width:7px;height:4px;border-bottom:1.6px solid hsl(var(--background));border-left:1.6px solid hsl(var(--background));transform:rotate(-45deg) translateY(-1px)}.aw-agent-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:6px}.aw-agent-name-row{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-name-row>strong{min-width:0;flex:1}.aw-version-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;line-height:1.2}.aw-draft-badge{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#f0ebe0;color:#675332;font-size:10px;font-weight:680;line-height:1.2}.aw-draft-badge.is-deploying{background:#e4eaf2;color:#2d5080}.aw-draft-badge.is-error{background:#dc28281f;color:hsl(var(--destructive))}.aw-draft-badge.is-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.aw-agent-copy strong,.aw-agent-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-agent-copy strong{font-size:13px;font-weight:650}.aw-agent-copy small{color:hsl(var(--muted-foreground));font-size:11px}.aw-agent-item>svg{width:14px;height:14px;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .14s ease,transform .14s ease}.aw-agent-item:hover>svg,.aw-agent-item.is-active>svg{opacity:1}.aw-agent-item:hover>svg{transform:translate(2px)}.aw-agent-check{position:relative}.aw-agent-check>input{position:absolute;width:1px;height:1px;opacity:0}.aw-check-mark{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--foreground) / .22);border-radius:5px;background:hsl(var(--background));color:transparent}.aw-check-mark svg{width:11px;height:11px}.aw-agent-check:has(input:checked) .aw-check-mark{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.aw-agent-check:has(input:focus-visible){outline:2px solid hsl(var(--ring) / .42);outline-offset:-2px}.aw-list-empty{min-height:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:28px 12px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-list-error{display:flex;flex-direction:column;align-items:center;gap:10px}.aw-list-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}.aw-create-card{width:100%;min-height:48px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;border:1px dashed hsl(var(--foreground) / .28);border-radius:14px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:border-color .16s ease,color .16s ease}.aw-create-card:hover:not(:disabled){border-color:hsl(var(--foreground) / .5);color:hsl(var(--foreground))}.aw-create-card svg{width:15px;height:15px}.aw-list-count{flex:0 0 auto;padding-top:10px;color:hsl(var(--muted-foreground));font-size:10.5px;text-align:center}.aw-main{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background))}.aw-detail-loading{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:hsl(var(--background) / .72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.aw-detail-loading-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background) / .94);box-shadow:0 14px 40px hsl(var(--foreground) / .1)}.aw-detail-loading-card>span:not(.loading-gap-spinner){display:flex;flex-direction:column;gap:2px}.aw-detail-loading-card>.loading-gap-spinner{width:18px;height:18px;flex:0 0 18px}.aw-detail-loading-card strong{font-size:13px;font-weight:650}.aw-detail-loading-card small{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-empty-selection{align-items:center;justify-content:center}.aw-empty-selection p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.aw-agent-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px}.aw-agent-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-agent-head>.aw-agent-heading{flex-direction:row;align-items:center;justify-content:flex-start}.aw-head-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.aw-head-delete{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--destructive) / .24);border-radius:999px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:620}.aw-head-delete:hover:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-head-delete:disabled{cursor:default;opacity:.46}.aw-head-delete svg{width:14px;height:14px}.aw-head-delete--draft{border-color:hsl(var(--border));background:transparent;color:hsl(var(--foreground))}.aw-head-delete--draft:hover:not(:disabled){background:hsl(var(--secondary) / .54)}.aw-head-delete.studio-update-action{border:1px solid hsl(var(--destructive) / .34);background:#ffffffc2;color:hsl(var(--destructive));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.aw-head-delete.studio-update-action:hover:not(:disabled){border:1px solid hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.aw-agent-title-row{gap:8px}.aw-agent-head h2,.aw-eval-head h2{overflow:hidden;font-size:20px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.aw-agent-title-row>span,.aw-eval-head>div>span{padding:2px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px}.aw-agent-head p{max-width:720px;overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.aw-update{align-self:center}.aw-update-wrap{position:relative;align-self:center;display:inline-flex;border-radius:999px}.aw-update-wrap.is-disabled{cursor:not-allowed}.aw-update-wrap.is-disabled .aw-update{cursor:inherit}.aw-update-spinner{width:14px;height:14px;flex-basis:14px;border-color:currentColor;border-right-color:transparent}.aw-update-disabled-reason{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:260px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:opacity .14s ease,transform .14s ease}.aw-update-wrap.is-disabled:hover .aw-update-disabled-reason,.aw-update-wrap.is-disabled:focus-visible .aw-update-disabled-reason{opacity:1;transform:translate(-50%)}.aw-update-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}@media (prefers-reduced-motion: reduce){.aw-update-disabled-reason{transition:none}}.aw-talk svg{width:15px;height:15px}.aw-agent-tabs{flex:0 0 auto;display:flex;gap:24px;margin:0 24px;padding:0;border-bottom:1px solid hsl(var(--border))}.aw-agent-tabs button{position:relative;min-height:42px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:14px;font-weight:580}.aw-agent-tabs button.is-active{color:hsl(var(--foreground))}.aw-agent-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:hsl(var(--foreground))}.aw-agent-tabs button:disabled{cursor:default}.aw-content{flex:1;min-height:0;overflow-y:auto;margin-top:14px;padding:0 24px 80px}.aw-basic-stack,.aw-usage{display:flex;flex-direction:column;gap:16px}.aw-usage-intro h3,.aw-usage-intro p,.aw-usage-users-head h3,.aw-usage-summary{margin:0}.aw-usage-intro h3,.aw-usage-users-head h3{color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-usage-intro p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-usage-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aw-usage-summary>div{min-width:0;padding:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-usage-summary dt{color:hsl(var(--muted-foreground));font-size:12px;font-weight:500}.aw-usage-summary dd{margin:8px 0 0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25}.aw-usage-users-head{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.aw-usage-users-head .text-shimmer{flex:0 0 auto;font-size:12px}.aw-usage-state{min-height:116px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55;text-align:center}.aw-usage-state.is-error{flex-direction:column;color:hsl(var(--destructive));white-space:pre-wrap;overflow-wrap:anywhere}.aw-usage-state button,.aw-usage-pagination button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-usage-state button:hover,.aw-usage-pagination button:hover:not(:disabled){background:hsl(var(--secondary) / .5)}.aw-usage-state button:focus-visible,.aw-usage-pagination button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-usage-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-usage-table{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-usage-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aw-usage-table th,.aw-usage-table td{padding:13px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:middle}.aw-usage-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-usage-table th:first-child,.aw-usage-table td:first-child{width:48%}.aw-usage-table th:nth-child(2),.aw-usage-table td:nth-child(2){width:18%}.aw-usage-table td strong,.aw-usage-table td small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-usage-table td strong{font-weight:600}.aw-usage-table td small{margin-top:3px;color:hsl(var(--muted-foreground));font-size:11.5px}.aw-usage-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px}.aw-usage-pagination span{min-width:92px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-usage-pagination button:disabled{opacity:.48;cursor:not-allowed}.aw-integration-stack{display:flex;flex-direction:column;gap:16px}.aw-integration-intro h3,.aw-integration-intro p,.aw-integration-panel h3,.aw-integration-panel h4,.aw-integration-panel dl,.aw-integration-panel dd{margin:0}.aw-integration-intro h3{font-size:15px;font-weight:620}.aw-integration-intro p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-body{display:flex;min-width:0;flex-direction:column;gap:12px}.aw-integration-protocol-tabs{position:relative;display:grid;width:min(240px,100%);height:36px;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.aw-integration-protocol-slider{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc((100% - 9px)/2);border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .05);transition:transform .24s cubic-bezier(.22,1,.36,1)}.aw-integration-protocol-tabs.is-a2a .aw-integration-protocol-slider{transform:translate(calc(100% + 3px))}.aw-integration-protocol-tabs button{position:relative;z-index:1;min-width:0;min-height:28px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;transition:background-color .16s ease,color .16s ease}.aw-integration-protocol-tabs button:hover{background:hsl(var(--panel) / .45);color:hsl(var(--foreground))}.aw-integration-protocol-tabs button[aria-selected=true]{color:hsl(var(--foreground));font-weight:620}.aw-integration-protocol-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-panel{min-width:0;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-integration-panel.has-example{display:flex;flex-direction:column;gap:20px}.aw-integration-panel header{display:flex;align-items:center;margin-bottom:4px}.aw-integration-panel h3{color:hsl(var(--foreground));font-size:14px;font-weight:620}.aw-integration-panel dl{display:grid;align-content:start;gap:12px}.aw-integration-panel dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px}.aw-integration-panel dt{color:hsl(var(--muted-foreground));font-size:12px}.aw-integration-panel dd{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55}.aw-integration-secret{display:inline-flex;min-width:0;flex-wrap:wrap;align-items:center;gap:6px}.aw-integration-secret-value{min-width:52px;overflow-wrap:anywhere}.aw-integration-secret-toggle{display:inline-grid;width:28px;height:28px;flex:0 0 28px;padding:0;place-items:center;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer}.aw-integration-secret-toggle:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-integration-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-secret-toggle:disabled{cursor:wait;opacity:.62}.aw-integration-secret-toggle svg,.aw-integration-secret-toggle .loading-gap-spinner{width:16px;height:16px}.aw-integration-secret-error{flex-basis:100%;color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-integration-example{min-width:0}.aw-integration-example h4{margin-bottom:8px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.aw-integration-example-code.md{min-width:0;font-size:12px}.aw-integration-example-code.md pre{max-height:360px;margin:0;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary))}.aw-integration-example-code.md pre code{display:block;min-width:max-content;padding:14px 16px;line-height:1.55}.aw-integration-error{display:flex;align-items:center;gap:8px;min-height:36px;padding:10px 12px;border-radius:8px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-error{justify-content:space-between;color:hsl(var(--destructive))}.aw-integration-error button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.aw-integration-notice{display:flex;align-items:center;min-height:36px;padding:10px 12px;border:1px solid hsl(42 72% 74% / .45);border-radius:8px;background:#fef9eb;color:#8c6917;font-size:12.5px;line-height:1.55}.aw-canvas-card,.aw-details-card{min-width:0;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel))}.aw-canvas-card{overflow:hidden}.aw-canvas-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:13px}.aw-details-card{overflow:hidden}.aw-deploy-progress-card{width:100%;min-width:0;box-sizing:border-box;padding:24px 26px 26px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--panel))}.aw-detail-deployment{flex:0 0 auto;padding:0 24px 16px}.aw-detail-deployment.is-running{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.aw-main.is-deploying .aw-agent-tabs,.aw-main.is-deploying .aw-content,.aw-main.is-deploying .aw-basic-actions{display:none}.aw-deploy-progress-head,.aw-deploy-progress-head>div,.aw-deploy-progress-icon{display:flex;align-items:center}.aw-deploy-progress-head{justify-content:space-between;gap:20px}.aw-deploy-progress-head>div{min-width:0;gap:12px}.aw-deploy-progress-head>div>div{min-width:0}.aw-deploy-progress-icon{width:34px;height:34px;flex:0 0 34px;justify-content:center;border-radius:50%;background:#eaeff5;color:#295189}.aw-deploy-progress-icon svg{width:17px;height:17px}.aw-deploy-progress-card.is-success .aw-deploy-progress-icon{background:#e8f2ee;color:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-icon,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-icon{background:#f5ecea;color:#8d3d34}.aw-deploy-progress-head h3{margin:0;font-size:14px;font-weight:700}.aw-deploy-progress-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;overflow-wrap:anywhere}.aw-deploy-progress-head>strong{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:12px;font-weight:650}.aw-deploy-progress-track{height:5px;margin-top:18px;overflow:hidden;border-radius:999px;background:hsl(var(--secondary))}.aw-deploy-progress-track span{display:block;height:100%;border-radius:inherit;background:#295189;transition:width .32s cubic-bezier(.22,1,.36,1)}.aw-deploy-progress-card.is-success .aw-deploy-progress-track span{background:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-track span,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-track span{background:#8d3d34}.aw-deploy-steps{margin:22px 0 0;padding:0;list-style:none}.aw-deploy-steps li{position:relative;min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:0 0 18px}.aw-deploy-steps li:last-child{padding-bottom:0}.aw-deploy-progress-actions{display:flex;justify-content:flex-end;margin-top:20px}.aw-deploy-steps li:not(:last-child):after{content:"";position:absolute;top:28px;bottom:0;left:13px;width:2px;border-radius:999px;background:hsl(var(--border))}.aw-deploy-steps li.is-done:not(:last-child):after{background:#9dcdb8}.aw-deploy-step-marker{position:relative;z-index:1;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:680}.aw-deploy-step-marker svg{width:14px;height:14px}.aw-deploy-steps li.is-done .aw-deploy-step-marker{border-color:#b3dbca;background:#e8f2ee;color:#2d7656}.aw-deploy-steps li.is-active .aw-deploy-step-marker{border-color:#9eb3d1;background:#eaeff5;color:#295189}.aw-deploy-steps li.is-failed .aw-deploy-step-marker{border-color:#dcbfbc;background:#f5ecea;color:#8d3d34}.aw-deploy-step-copy{min-width:0;padding-top:2px}.aw-deploy-step-copy strong{display:block;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:620;line-height:1.4}.aw-deploy-step-copy p{min-width:0;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.aw-deploy-steps li.is-done .aw-deploy-step-copy strong,.aw-deploy-steps li.is-active .aw-deploy-step-copy strong,.aw-deploy-steps li.is-failed .aw-deploy-step-copy strong{color:hsl(var(--foreground))}.aw-deploy-steps li.is-active .aw-deploy-step-copy p{color:hsl(var(--foreground) / .78)}.aw-deploy-step-log{min-width:0;margin-top:10px}.aw-deploy-log{min-width:0;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--canvas));overflow:hidden}.aw-deploy-log header,.aw-deploy-log header>div,.aw-deploy-log-actions,.aw-deploy-log-actions button{display:flex;align-items:center}.aw-deploy-log header{min-width:0;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.aw-deploy-log.is-collapsed header{border-bottom:0}.aw-deploy-log header>div:first-child{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.aw-deploy-log strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:640;line-height:1.35}.aw-deploy-log span{min-width:0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.aw-deploy-log-actions{flex:0 0 auto;gap:6px}.aw-deploy-log-actions button{min-height:28px;gap:5px;padding:0 8px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:11.5px;font-weight:560;cursor:pointer}.aw-deploy-log-actions button:hover{background:hsl(var(--muted))}.aw-deploy-log-actions button span{color:inherit;font-size:inherit;line-height:inherit}.aw-deploy-log-actions button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.aw-deploy-log-actions svg{width:13px;height:13px;flex:0 0 auto}.aw-deploy-log pre{max-height:260px;min-width:0;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:hsl(var(--foreground) / .86);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.55}.aw-deploy-log-empty{padding:12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.aw-deploy-log.is-error{border-color:#dcbfbc}.aw-card-head{justify-content:space-between;gap:12px;min-height:48px;padding:0 16px}.aw-card-head strong{font-size:13px;font-weight:680}.aw-card-head span{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-canvas{height:220px;min-height:0;border-top:1px solid hsl(var(--border))}.aw-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;border:0;background:#f9f8f5}.aw-canvas .abc-canvas{flex:1;min-height:0}.aw-canvas .react-flow__controls{transform:scale(.86);transform-origin:bottom left}.aw-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:4px 16px 14px}.aw-facts>div{min-height:39px;display:grid;grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr);align-items:center;gap:12px;border-top:1px solid hsl(var(--border) / .72)}.aw-facts>div:nth-child(2n){padding-left:20px}.aw-facts>div:nth-child(odd){padding-right:20px}.aw-facts dt{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-facts dd{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:600;text-align:right;text-overflow:ellipsis;white-space:nowrap}.aw-facts .aw-fact-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;overflow:visible;white-space:normal}.aw-fact-badges span{max-width:100%;overflow:hidden;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .55);font-size:11px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.aw-version-stack{display:flex;flex-direction:column;gap:14px}.aw-version-list{display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px}.aw-version-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(104px,.9fr) minmax(96px,.7fr) minmax(86px,.6fr) auto;gap:12px;align-items:center;padding:13px 16px;border-top:1px solid hsl(var(--border) / .72);background:hsl(var(--panel));font-size:12px}.aw-version-row:first-child{border-top:0}.aw-version-row>div{min-width:0;display:flex;flex-direction:column;gap:3px}.aw-version-row strong{overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.aw-version-row small,.aw-version-row span{color:hsl(var(--muted-foreground));font-size:11px}.aw-version-row em{overflow:hidden;color:hsl(var(--foreground) / .82);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.aw-version-row p{grid-column:2 / -1;margin:0;color:hsl(var(--muted-foreground))}.aw-version-row a{color:hsl(var(--foreground));font-weight:600;text-decoration:none}.aw-version-row a:hover{text-decoration:underline}.aw-version-actions{align-items:flex-end}.aw-version-actions button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600}.aw-version-actions button:hover:not(:disabled){background:hsl(var(--muted) / .55)}.aw-version-actions button:disabled{cursor:not-allowed;color:hsl(var(--muted-foreground));opacity:.62}.aw-status-dot{width:6px;height:6px;display:inline-block;margin-right:6px;border-radius:50%;background:#358d67}.aw-section-head{justify-content:space-between;gap:18px;margin-bottom:16px}.aw-section-head h3{font-size:17px;font-weight:700}.aw-case-filters{width:fit-content;gap:3px;padding:3px;border-radius:8px;background:hsl(var(--secondary) / .62)}.aw-case-filter-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.aw-case-filter-stack{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.aw-case-source-filters{display:flex;flex-wrap:wrap;gap:6px}.aw-case-source-filters button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.aw-case-source-filters button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-case-source-filters button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.aw-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.aw-case-summary>button{min-width:0;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .22)}.aw-case-summary>button{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;padding:14px 16px;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.aw-case-summary>button:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--secondary) / .36)}.aw-case-summary>button:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:2px}.aw-case-summary strong{color:hsl(var(--foreground));font-size:26px;font-weight:720;line-height:1}.aw-case-summary span{min-width:0;color:hsl(var(--foreground));font-size:12px;font-weight:640}.aw-case-search{width:min(360px,46%);min-width:260px;height:40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .16s ease,box-shadow .16s ease}.aw-case-search:focus-within{border-color:hsl(var(--foreground) / .32);box-shadow:0 0 0 3px hsl(var(--foreground) / .045)}.aw-case-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-case-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.aw-case-search input::placeholder{color:hsl(var(--muted-foreground) / .8)}.aw-case-toolbar{min-height:32px;display:flex;align-items:center;gap:8px;margin:-2px 0 14px}.aw-case-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-case-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-case-toolbar button:disabled{cursor:default;opacity:.42}.aw-case-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-case-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-case-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-case-filters button{min-height:30px;padding:0 12px;border-radius:6px;font-size:12.5px}.aw-case-filters button.is-active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .07)}.aw-case-table{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-case-row{min-width:870px;min-height:86px;display:grid;grid-template-columns:minmax(180px,.78fr) minmax(250px,1.16fr) 80px minmax(220px,.94fr) 48px;align-items:start;gap:14px;padding:14px 16px;border-top:1px solid hsl(var(--border));font-size:13px}.aw-case-row:not(.aw-case-row-head){cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.aw-case-row:not(.aw-case-row-head):hover,.aw-case-row.is-focused,.aw-case-row.is-selected-for-delete{background:hsl(var(--secondary) / .28)}.aw-case-row.is-focused{box-shadow:inset 3px 0 hsl(var(--foreground) / .22)}.aw-case-row.is-selected-for-delete{box-shadow:inset 3px 0 hsl(var(--foreground) / .34)}.aw-case-row:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:-2px}.aw-case-row:first-child{border-top:0}.aw-case-row-head{min-height:38px;align-items:center;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-case-action-head{text-align:center}.aw-case-text,.aw-case-output,.aw-case-reason{min-width:0;display:flex;flex-direction:column;gap:5px}.aw-case-score{color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.5}.aw-case-reason p{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-reason.is-expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-title-line{min-width:0;display:flex;align-items:center;gap:8px}.aw-case-title-line strong{flex:1;min-width:0}.aw-case-actions{min-width:0;display:flex;justify-content:center}.aw-case-row strong,.aw-case-row p,.aw-case-row small{min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.aw-case-row strong{color:hsl(var(--foreground));font-weight:600;line-height:1.45}.aw-case-row p{margin:0;color:hsl(var(--muted-foreground));line-height:1.5}.aw-case-output-preview{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-output.is-expanded .aw-case-output-preview{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-expand{width:fit-content;min-height:24px;margin-top:2px;padding:0 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.aw-case-expand:hover{background:hsl(var(--secondary) / .55)}.aw-case-row small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35}.aw-case-time{color:hsl(var(--foreground) / .62)!important}.aw-case-delete{width:28px;height:28px;flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.aw-case-delete:hover:not(:disabled){border-color:hsl(var(--destructive) / .18);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.aw-case-delete:active:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-case-delete:disabled{cursor:default;opacity:.42}.aw-case-delete svg{width:13px;height:13px}.aw-case-empty{min-height:116px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px}.aw-case-error{color:hsl(var(--destructive))}.aw-case-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--destructive) / .26);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-deployment-panel{width:100%;box-sizing:border-box;margin:0}.aw-settings-card{padding:18px;border:1px solid hsl(var(--border));border-radius:14px}.aw-optimizations{display:flex;flex-direction:column;gap:16px}.aw-optimization-intro h3{margin:0;color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-optimization-intro p{margin:5px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-optimization-state{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.aw-optimization-state.is-error{color:hsl(var(--destructive))}.aw-optimization-state button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.aw-optimization-table-wrap{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-optimization-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-optimization-table th,.aw-optimization-table td{padding:14px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:top}.aw-optimization-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-optimization-table th:first-child,.aw-optimization-table td:first-child{width:108px}.aw-optimization-table th:nth-child(2),.aw-optimization-table td:nth-child(2){width:142px}.aw-optimization-module{color:hsl(var(--foreground));font-size:13px;font-weight:620;line-height:1.55}.aw-optimization-list{margin:0;padding:0;list-style:none}.aw-optimization-list li{position:relative;padding-left:16px}.aw-optimization-list li+li{margin-top:13px;padding-top:13px;border-top:1px dashed hsl(var(--border))}.aw-optimization-list li:before{position:absolute;top:6px;left:1px;width:5px;height:5px;border-radius:50%;background:hsl(var(--primary) / .72);content:""}.aw-optimization-list li+li:before{top:19px}.aw-optimization-list strong{display:block;font-size:13.5px;font-weight:650;line-height:1.45}.aw-optimization-list p{margin:5px 0 0;color:hsl(var(--muted-foreground));line-height:1.55}.aw-priority{font-size:13px;font-weight:700;line-height:1.5}.aw-priority.is-high{color:hsl(var(--destructive))}.aw-priority.is-medium{color:#93591f}.aw-priority.is-low{color:#28674c}.aw-readonly-config{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aw-readonly-config>div{min-width:0;padding:12px 14px;border-radius:10px;background:hsl(var(--secondary) / .42)}.aw-readonly-config dt{color:hsl(var(--muted-foreground));font-size:11px}.aw-readonly-config dd{margin:5px 0 0;color:hsl(var(--foreground));font-size:12px;font-weight:600}.aw-readonly-config dd.is-ready{color:#1d7c40}.aw-basic-actions{position:absolute;z-index:8;bottom:20px;left:50%;display:flex;align-items:center;justify-content:center;gap:10px;padding:0;border:0;border-radius:10px;background:transparent;box-shadow:none;transform:translate(-50%)}.aw-eval-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;justify-content:space-between;gap:20px;padding:14px 24px}.aw-evaluation-glass{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--background) / .44);color:hsl(var(--foreground));-webkit-backdrop-filter:blur(9px) saturate(118%);backdrop-filter:blur(9px) saturate(118%);transition:background .18s ease,backdrop-filter .18s ease}.aw-evaluation-glass:hover{background:hsl(var(--background) / .52);-webkit-backdrop-filter:blur(11px) saturate(125%);backdrop-filter:blur(11px) saturate(125%)}.aw-evaluation-glass span{padding:8px 13px;border:1px solid hsl(var(--border) / .82);border-radius:999px;background:hsl(var(--background) / .7);box-shadow:0 8px 24px hsl(var(--foreground) / .07);font-size:12.5px;font-weight:620;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.aw-eval-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-run{min-height:38px;padding:0 14px;border-radius:9px}.aw-eval-setup{width:min(900px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px}.aw-eval-block{min-width:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px}.aw-eval-agent-grid{max-height:230px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;padding:0 16px 16px}.aw-eval-agent-grid>label{min-height:52px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid hsl(var(--border) / .82);border-radius:10px;cursor:pointer}.aw-eval-agent-grid input,.aw-metric-list input{width:15px;height:15px;accent-color:hsl(var(--foreground))}.aw-eval-agent-grid label>span{min-width:0;display:flex;flex-direction:column;gap:3px}.aw-eval-agent-grid strong,.aw-eval-agent-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-eval-agent-grid strong{font-size:12px;font-weight:620}.aw-eval-agent-grid small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-eval-setting-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:14px}.aw-eval-fields{display:flex;flex-direction:column;gap:13px;padding:0 16px 16px}.aw-eval-fields label{min-height:36px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px}.aw-eval-fields label>span,.aw-eval-fields label>small{color:hsl(var(--muted-foreground));font-size:11px}.aw-eval-fields select{width:100%;height:34px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11.5px}.aw-metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 16px 16px}.aw-metric-list label{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid hsl(var(--border) / .82);border-radius:9px;cursor:pointer;font-size:11.5px}.aw-eval-history{width:min(820px,100%);margin:0 auto}.aw-history-list{display:flex;flex-direction:column;gap:9px}.aw-history-list>button{width:100%;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 16px;align-items:center;gap:16px;padding:10px 14px;border:1px solid hsl(var(--border));border-radius:11px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.aw-history-list>button:hover{border-color:hsl(var(--foreground) / .2)}.aw-history-list>button>span:first-child,.aw-history-score{display:flex;flex-direction:column;gap:4px}.aw-history-list strong{font-size:12px}.aw-history-list small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-history-score{align-items:flex-end}.aw-history-score strong{font-size:17px}.aw-complete{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#3c866617;color:#28674c;font-size:10.5px;font-weight:620}.aw-complete svg{width:12px;height:12px}.aw-results-empty{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));text-align:center}.aw-results-empty strong{color:hsl(var(--foreground));font-size:12.5px}.aw-results-empty span{font-size:11.5px}@media (max-width: 980px){.aw-workspace{grid-template-columns:260px minmax(0,1fr)}.aw-eval-setting-grid{grid-template-columns:minmax(0,1fr)}.aw-case-row{min-width:790px;grid-template-columns:minmax(160px,.78fr) minmax(220px,1fr) 72px minmax(180px,.82fr) 48px}}@media (max-width: 720px){.aw-view-tabs{padding-inline:16px}.aw-workspace{grid-template-columns:minmax(0,1fr);overflow-y:auto}.aw-sidebar{height:340px;max-height:340px;box-sizing:border-box;padding:18px 16px}.aw-agent-list{min-height:128px}.aw-main{min-height:620px;overflow:visible}.aw-agent-tabs{gap:18px;margin-inline:16px;overflow-x:auto}.aw-agent-head,.aw-eval-head{padding-inline:16px}.aw-content{overflow:visible;padding-inline:16px}.aw-facts{grid-template-columns:minmax(0,1fr)}.aw-facts>div:nth-child(n){padding-right:0;padding-left:0}.aw-eval-agent-grid,.aw-metric-list{grid-template-columns:minmax(0,1fr)}.aw-case-summary,.aw-case-row{min-width:0;grid-template-columns:minmax(0,1fr)}.aw-case-filter-bar{align-items:stretch;flex-direction:column;gap:12px}.aw-case-search{width:100%;min-width:0}.aw-case-row-head{display:none}.aw-case-cell{position:relative;padding-top:20px}.aw-case-cell:before{content:attr(data-label);position:absolute;top:0;left:0;color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.aw-case-actions{justify-content:flex-start}.aw-optimization-table{min-width:680px}.aw-usage-summary{grid-template-columns:minmax(0,1fr)}.aw-usage-pagination{justify-content:space-between}.aw-readonly-config{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.aw-integration-protocol-slider{transition:none}.aw-root *,.aw-root *:before,.aw-root *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.library-view{display:flex;min-width:0;min-height:0;height:100%;flex-direction:column;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.library-view__header{flex:0 0 auto;padding:32px 32px 0}.library-view__header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.library-view__header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.library-tabs{margin:12px 32px 0}.library-tabs button{font-size:15px}.library-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.library-panels,.library-panel{display:flex;min-width:0;min-height:0;flex:1;flex-direction:column}.library-panel[hidden]{display:none}.library-panel>.my-agents-page,.library-panel>.artifact-library-page{padding-top:24px}.library-resource-toolbar{min-height:36px;margin-top:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.library-resource-toolbar__controls{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}@media (max-width: 720px){.library-view__header{padding:24px 20px 0}.library-tabs{gap:20px;margin:12px 20px 0}.library-panel>.my-agents-page,.library-panel>.artifact-library-page{padding-top:20px}.library-resource-toolbar{align-items:stretch;flex-direction:column;gap:12px}.library-resource-toolbar__controls{width:100%}.library-resource-toolbar>.my-agent-create-primary{align-self:flex-start}.library-resource-toolbar>.my-agent-search,.library-resource-toolbar>.knowledge-library__search,.library-resource-toolbar>.artifact-library-search{width:100%}}@media (max-width: 560px){.library-view__header{padding-inline:16px}.library-tabs{margin-inline:16px}}.page-back-button{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.page-back-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.page-back-button:active{background:hsl(var(--muted))}.page-back-button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.page-back-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.applications-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.applications-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.applications-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.applications-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.applications-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.applications-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.applications-search svg{width:16px;height:16px;flex:0 0 16px}.applications-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.applications-search input::placeholder{color:hsl(var(--muted-foreground))}.applications-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.applications-categories button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.applications-categories button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.applications-categories button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.applications-categories button:focus-visible{outline:2px solid hsl(var(--ring) / .3);outline-offset:2px}.applications-results{flex:1;min-height:0;overflow-y:auto;margin-top:28px;padding-bottom:56px;scrollbar-gutter:stable}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.application-card-wrap{position:relative;min-width:0;display:flex;border-radius:12px}.application-card-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card{width:100%;min-width:0;min-height:96px;display:flex;align-items:flex-start;gap:16px;box-sizing:border-box;padding:16px 18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;box-shadow:0 1px 2px hsl(var(--foreground) / .035);animation:application-card-enter .18s ease-out both;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.application-card:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .24);box-shadow:0 4px 14px hsl(var(--foreground) / .06)}.application-card:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card:disabled{cursor:not-allowed;opacity:.5}.application-card:disabled:hover{border-color:hsl(var(--border));background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035)}.application-card-tooltip{position:absolute;z-index:30;top:50%;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 3px));transition:opacity .14s ease,transform .14s ease}.application-card-wrap.is-disabled:hover .application-card-tooltip,.application-card-wrap.is-disabled:focus-visible .application-card-tooltip{opacity:1;transform:translate(-50%,-50%)}.application-card-icon{width:36px;height:36px;flex:0 0 36px;color:hsl(var(--foreground))}.application-card-brand-icon{object-fit:contain}.application-card-copy{min-width:0}.application-card-title{display:flex;align-items:center;gap:6px}.application-card-copy h2{min-width:0;margin:1px 0 0;font-size:15px;font-weight:620;line-height:1.4}.application-card-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:16px;box-sizing:border-box;padding:1px 6px;border-radius:999px;background:hsl(var(--destructive));color:#fff;font-size:10px;font-weight:600;line-height:1.2}.application-card-badge.is-success{background:#36ab661f;color:#217343}.application-card-copy p{display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.applications-empty{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;color:hsl(var(--muted-foreground))}.applications-empty svg{width:32px;height:32px;margin-bottom:12px}.applications-empty h2{margin:0;color:hsl(var(--foreground));font-size:15px;font-weight:600}.applications-empty p{margin:6px 0 0;font-size:12.5px}@keyframes application-card-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 760px){.applications-page{padding:24px 20px 0}.applications-header{flex-direction:column;gap:16px}.applications-search{width:100%}}@media (prefers-reduced-motion: reduce){.application-card{animation:none;transition:none}.application-card-tooltip{transition:none}}@layer components{._Container_1a6nz_1{display:flex;align-items:center;gap:var(--input-gap);width:100%;border-radius:var(--input-radius);color:var(--input-text-color);cursor:text;font-size:var(--input-font-size);font-weight:var(--font-weight-normal);transition-duration:var(--transition-duration-basic);transition-property:color,box-shadow,background-color;transition-timing-function:var(--transition-ease-basic)}._Container_1a6nz_1:where([data-optically-align=start]){margin-inline-start:calc(var(--input-gutter) * -1)}._Container_1a6nz_1:where([data-optically-align=end]){margin-inline-end:calc(var(--input-gutter) * -1)}._Container_1a6nz_1:where([data-variant=outline]){box-shadow:0 0 0 1px var(--input-outline-border-color) inset}@media (hover: hover) and (pointer: fine){._Container_1a6nz_1:where([data-variant=outline]):not([data-disabled]):hover{box-shadow:0 0 0 1px var(--input-outline-border-color-hover) inset}}._Container_1a6nz_1:where([data-variant=outline]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-outline-border-color-focus) inset}._Container_1a6nz_1:where([data-variant=outline]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_1a6nz_1:where([data-variant=soft]){background-color:var(--input-soft-background-color)}._Container_1a6nz_1:where([data-variant=soft]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-soft-border-color-focus) inset}._Container_1a6nz_1:where([data-variant=soft]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_1a6nz_1[data-invalid] ::-moz-selection{background-color:var(--red-a50)}._Container_1a6nz_1[data-invalid] ::selection{background-color:var(--red-a50)}._Container_1a6nz_1:where([data-size="3xs"]){--input-size: var(--control-size-3xs);--input-font-size: var(--control-font-size-sm);--input-radius: var(--control-radius-sm);--input-gutter: var(--control-gutter-xs);--input-gap: var(--input-gap-xs);--input-adornment-offset: -1px}._Container_1a6nz_1:where([data-size="2xs"]){--input-size: var(--control-size-2xs);--input-font-size: var(--control-font-size-sm);--input-radius: var(--control-radius-sm);--input-gutter: var(--control-gutter-xs);--input-gap: var(--input-gap-xs);--input-adornment-offset: -1px}._Container_1a6nz_1:where([data-size=xs]){--input-size: var(--control-size-xs);--input-font-size: var(--control-font-size-md);--input-radius: var(--control-radius-sm);--input-gutter: var(--control-gutter-xs);--input-gap: var(--input-gap-sm);--input-adornment-offset: -1px}._Container_1a6nz_1:where([data-size=sm]){--input-size: var(--control-size-sm);--input-font-size: var(--control-font-size-md);--input-radius: var(--control-radius-md);--input-gutter: var(--control-gutter-sm);--input-gap: var(--input-gap-md);--input-adornment-offset: -1px}._Container_1a6nz_1:where([data-size=md]){--input-size: var(--control-size-md);--input-font-size: var(--control-font-size-md);--input-radius: var(--control-radius-md);--input-gutter: var(--control-gutter-md);--input-gap: var(--input-gap-md)}._Container_1a6nz_1:where([data-size=lg]){--input-size: var(--control-size-lg);--input-font-size: var(--control-font-size-md);--input-radius: var(--control-radius-md);--input-gutter: var(--control-gutter-md);--input-gap: var(--input-gap-md)}._Container_1a6nz_1:where([data-size=xl]){--input-size: var(--control-size-xl);--input-font-size: var(--control-font-size-lg);--input-radius: var(--control-radius-lg);--input-gutter: var(--control-gutter-lg);--input-gap: var(--input-gap-lg)}._Container_1a6nz_1:where([data-size="2xl"]){--input-size: var(--control-size-2xl);--input-font-size: var(--control-font-size-lg);--input-radius: var(--control-radius-xl);--input-gutter: var(--control-gutter-xl);--input-gap: var(--input-gap-lg);--input-adornment-offset: -4px}._Container_1a6nz_1:where([data-size="3xl"]){--input-size: var(--control-size-3xl);--input-font-size: var(--control-font-size-lg);--input-radius: var(--control-radius-xl);--input-gutter: var(--control-gutter-xl);--input-gap: var(--input-gap-lg);--input-adornment-offset: -4px}._Container_1a6nz_1:where([data-gutter-size="2xs"]){--input-gutter: var(--control-gutter-2xs);--input-adornment-offset: -1px}._Container_1a6nz_1:where([data-gutter-size=xs]){--input-gutter: var(--control-gutter-xs);--input-adornment-offset: -1px}._Container_1a6nz_1:where([data-gutter-size=sm]){--input-gutter: var(--control-gutter-sm);--input-adornment-offset: -2px}._Container_1a6nz_1:where([data-gutter-size=md]){--input-gutter: var(--control-gutter-md);--input-adornment-offset: -2px}._Container_1a6nz_1:where([data-gutter-size=lg]){--input-gutter: var(--control-gutter-lg);--input-adornment-offset: -2px}._Container_1a6nz_1:where([data-gutter-size=xl]){--input-gutter: var(--control-gutter-xl);--input-adornment-offset: -4px}._Container_1a6nz_1:where([data-pill]){--input-radius: var(--radius-full)}._Container_1a6nz_1[data-disabled]{cursor:not-allowed;opacity:.5}._Container_1a6nz_1:where([data-has-start-adornment]){padding-left:var(--input-gutter)}._Container_1a6nz_1:where([data-has-start-adornment][data-pill]){padding-left:calc(var(--input-gutter) * var(--control-gutter-pill-scaling))}._Container_1a6nz_1:where([data-has-end-adornment]){padding-right:var(--input-gutter)}._Container_1a6nz_1:where([data-has-end-adornment][data-pill]){padding-right:calc(var(--input-gutter) * var(--control-gutter-pill-scaling))}._Container_1a6nz_1>:first-child:not(input){margin-left:var(--input-adornment-offset, -2px)}._Container_1a6nz_1>:last-child:not(input){margin-right:var(--input-adornment-offset, -2px)}._Input_1a6nz_229{display:block;width:100%;height:var(--input-size);padding:0 var(--input-gutter);border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}._Input_1a6nz_229:focus{outline:0}._Input_1a6nz_229:disabled{cursor:not-allowed}._Input_1a6nz_229::-moz-placeholder{color:var(--input-placeholder-text-color)}._Input_1a6nz_229::placeholder{color:var(--input-placeholder-text-color)}._Input_1a6nz_229:-webkit-autofill{animation:_native-autofill-in_1a6nz_1 1ms}._Input_1a6nz_229:-webkit-autofill,._Input_1a6nz_229:-webkit-autofill:focus,._Input_1a6nz_229:-webkit-autofill:hover{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Input_1a6nz_229:-webkit-autofill-and-obscured,._Input_1a6nz_229:-webkit-autofill-strong-password,._Input_1a6nz_229:-webkit-autofill-strong-password-viewable{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Input_1a6nz_229:-webkit-autofill:first-line{font-size:inherit!important;-webkit-transition:font-size 0s 50000s!important;transition:font-size 0s 50000s!important}._Input_1a6nz_229[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}._Input_1a6nz_229[type=number]::-webkit-outer-spin-button,._Input_1a6nz_229[type=number]::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}:where(._Container_1a6nz_1[data-pill]) ._Input_1a6nz_229{padding:0 calc(var(--input-gutter) * var(--control-gutter-pill-scaling))}:where(._Container_1a6nz_1[data-has-start-adornment]) ._Input_1a6nz_229{padding-left:0}:where(._Container_1a6nz_1[data-has-end-adornment]) ._Input_1a6nz_229{padding-right:0}@keyframes _native-autofill-in_1a6nz_1{0%{opacity:1}to{opacity:1}}}@layer components{._SelectControl_1tyi7_1{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:var(--select-control-gap);flex-shrink:0;height:var(--select-control-size);padding:0 var(--select-control-gutter);border-radius:var(--select-control-radius);cursor:pointer;font-size:var(--select-control-font-size);font-weight:var(--select-control-font-weight);line-height:var(--font-text-md-line-height);text-align:left;transition-duration:var(--transition-duration-basic);transition-property:color;transition-timing-function:var(--transition-ease-basic);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}._SelectControl_1tyi7_1:where([data-optically-align=start]){margin-inline-start:calc(var(--select-control-gutter) * -1)}._SelectControl_1tyi7_1:where([data-optically-align=end]){margin-inline-end:calc(var(--select-control-gutter) * -1)}._SelectControl_1tyi7_1:before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;content:"";transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,transform,box-shadow,border-color;transition-timing-function:var(--transition-ease-basic);will-change:transform}._SelectControl_1tyi7_1:after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;content:"";pointer-events:none;transition-duration:var(--transition-duration-basic);transition-property:transform;transition-timing-function:var(--transition-ease-basic);will-change:transform}._SelectControl_1tyi7_1:focus{outline:none}._SelectControl_1tyi7_1:focus-visible:after{outline:2px solid var(--button-ring-color, var(--color-ring));outline-offset:var(--select-control-ring-offset, 2px)}._SelectControl_1tyi7_1:where([data-size="3xs"]){--select-control-size: var(--control-size-3xs);--select-control-gutter: var(--control-gutter-2xs);--select-control-font-size: var(--control-font-size-sm);--select-control-gap: 4px;--select-control-radius: var(--control-radius-sm);--start-icon-size: var(--control-icon-size-xs);--start-icon-offset: 0;--start-icon-pill-offset: 0;--clear-size: 14px;--clear-icon-size: 13px;--clear-iso-size: 12px;--clear-iso-icon-size: 10px;--clear-iso-offset: -1px;--clear-iso-pill-offset: -2px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: 0;--dropdown-icon-width: 6px;--dropdown-icon-height: 9px;--dropdown-chevron-icon-width: 8px;--dropdown-chevron-icon-height: 5px;--indicator-wrapper-gap: calc(var(--spacing) * 1);--indicator-wrapper-gutter: 0}._SelectControl_1tyi7_1:where([data-size="2xs"]){--select-control-size: var(--control-size-2xs);--select-control-gutter: var(--control-gutter-xs);--select-control-font-size: var(--control-font-size-sm);--select-control-gap: 6px;--select-control-radius: var(--control-radius-sm);--start-icon-size: var(--control-icon-size-sm);--start-icon-offset: 0;--start-icon-pill-offset: -1px;--clear-size: 16px;--clear-icon-size: 13px;--clear-iso-size: 14px;--clear-iso-icon-size: 12px;--clear-iso-offset: -2px;--clear-iso-pill-offset: -4px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: 0;--dropdown-icon-width: 6px;--dropdown-icon-height: 9px;--dropdown-chevron-icon-width: 8px;--dropdown-chevron-icon-height: 5px;--indicator-wrapper-gap: calc(var(--spacing) * 1);--indicator-wrapper-gutter: 0}._SelectControl_1tyi7_1:where([data-size=xs]){--select-control-size: var(--control-size-xs);--select-control-gutter: var(--control-gutter-xs);--select-control-font-size: var(--control-font-size-md);--select-control-gap: 6px;--select-control-radius: var(--control-radius-sm);--start-icon-size: var(--control-icon-size-sm);--start-icon-offset: -1px;--start-icon-pill-offset: -1px;--clear-size: 18px;--clear-icon-size: 14px;--clear-iso-size: 16px;--clear-iso-icon-size: 12px;--clear-iso-offset: -2px;--clear-iso-pill-offset: -4px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: 0;--dropdown-icon-width: 7px;--dropdown-icon-height: 11px;--dropdown-chevron-icon-width: 9px;--dropdown-chevron-icon-height: 5px;--indicator-wrapper-gap: calc(var(--spacing) * 1);--indicator-wrapper-gutter: 0}._SelectControl_1tyi7_1:where([data-size=sm]){--select-control-size: var(--control-size-sm);--select-control-gutter: var(--control-gutter-sm);--select-control-font-size: var(--control-font-size-md);--select-control-gap: 8px;--select-control-radius: var(--control-radius-sm);--start-icon-size: var(--control-icon-size-sm);--start-icon-offset: -1px;--start-icon-pill-offset: -2px;--clear-size: 18px;--clear-icon-size: 14px;--clear-iso-size: 16px;--clear-iso-icon-size: 12px;--clear-iso-offset: -3px;--clear-iso-pill-offset: -6px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: -2px;--dropdown-icon-width: 7px;--dropdown-icon-height: 11px;--dropdown-chevron-icon-width: 9px;--dropdown-chevron-icon-height: 5px;--indicator-wrapper-gap: calc(var(--spacing) * 1);--indicator-wrapper-gutter: 0}._SelectControl_1tyi7_1:where([data-size=md]){--select-control-size: var(--control-size-md);--select-control-gutter: var(--control-gutter-md);--select-control-font-size: var(--control-font-size-md);--select-control-gap: 8px;--select-control-radius: var(--control-radius-md);--start-icon-size: var(--control-icon-size-md);--start-icon-offset: -1px;--start-icon-pill-offset: -4px;--clear-size: 22px;--clear-icon-size: 15px;--clear-iso-size: 18px;--clear-iso-icon-size: 14px;--clear-iso-offset: -4px;--clear-iso-pill-offset: -7px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: -2px;--dropdown-icon-width: 8px;--dropdown-icon-height: 12px;--dropdown-chevron-icon-width: 11px;--dropdown-chevron-icon-height: 6px;--indicator-wrapper-gap: calc(var(--spacing) * 1);--indicator-wrapper-gutter: calc(var(--spacing) * 0)}._SelectControl_1tyi7_1:where([data-size=lg]){--select-control-size: var(--control-size-lg);--select-control-gutter: var(--control-gutter-md);--select-control-font-size: var(--control-font-size-md);--select-control-gap: 8px;--select-control-radius: var(--control-radius-md);--start-icon-size: var(--control-icon-size-md);--start-icon-offset: -2px;--start-icon-pill-offset: -4px;--clear-size: 22px;--clear-icon-size: 15px;--clear-iso-size: 18px;--clear-iso-icon-size: 14px;--clear-iso-offset: -2px;--clear-iso-pill-offset: -6px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: -2px;--dropdown-icon-width: 8px;--dropdown-icon-height: 12px;--dropdown-chevron-icon-width: 11px;--dropdown-chevron-icon-height: 6px;--indicator-wrapper-gap: calc(var(--spacing) * 1.5);--indicator-wrapper-gutter: calc(var(--spacing) * 0)}._SelectControl_1tyi7_1:where([data-size=xl]){--select-control-size: var(--control-size-xl);--select-control-gutter: var(--control-gutter-lg);--select-control-font-size: var(--control-font-size-md);--select-control-gap: 8px;--select-control-radius: var(--control-radius-lg);--start-icon-size: var(--control-icon-size-md);--start-icon-offset: -2px;--start-icon-pill-offset: -4px;--clear-size: 24px;--clear-icon-size: 16px;--clear-iso-size: 18px;--clear-iso-icon-size: 14px;--clear-iso-offset: -2px;--clear-iso-pill-offset: -7px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: -2px;--dropdown-icon-width: 8px;--dropdown-icon-height: 12px;--dropdown-chevron-icon-width: 11px;--dropdown-chevron-icon-height: 6px;--indicator-wrapper-gap: calc(var(--spacing) * 1);--indicator-wrapper-gutter: calc(var(--spacing) * .5)}._SelectControl_1tyi7_1:where([data-size="2xl"]){--select-control-size: var(--control-size-2xl);--select-control-gutter: var(--control-gutter-lg);--select-control-font-size: var(--control-font-size-lg);--select-control-gap: 10px;--select-control-radius: var(--control-radius-xl);--start-icon-size: var(--control-icon-size-lg);--start-icon-offset: -2px;--start-icon-pill-offset: -4px;--clear-size: 24px;--clear-icon-size: 16px;--clear-iso-size: 20px;--clear-iso-icon-size: 15px;--clear-iso-offset: -2px;--clear-iso-pill-offset: -7px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: -2px;--dropdown-icon-width: 8px;--dropdown-icon-height: 12px;--dropdown-chevron-icon-width: 11px;--dropdown-chevron-icon-height: 6px;--indicator-wrapper-gap: calc(var(--spacing) * 1.5);--indicator-wrapper-gutter: calc(var(--spacing) * 1)}._SelectControl_1tyi7_1:where([data-size="3xl"]){--select-control-size: var(--control-size-3xl);--select-control-gutter: var(--control-gutter-xl);--select-control-font-size: var(--control-font-size-lg);--select-control-gap: 10px;--select-control-radius: var(--control-radius-xl);--start-icon-size: var(--control-icon-size-lg);--start-icon-offset: -2px;--start-icon-pill-offset: -4px;--clear-size: 24px;--clear-icon-size: 16px;--clear-iso-size: 20px;--clear-iso-icon-size: 15px;--clear-iso-offset: -2px;--clear-iso-pill-offset: -7px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: -3px;--dropdown-icon-width: 9px;--dropdown-icon-height: 13px;--dropdown-chevron-icon-width: 12px;--dropdown-chevron-icon-height: 7px;--indicator-wrapper-gap: calc(var(--spacing) * 1.5);--indicator-wrapper-gutter: calc(var(--spacing) * 1)}._SelectControl_1tyi7_1:where([data-pill]){--select-control-radius: var(--radius-full);padding:0 calc(var(--select-control-gutter) * var(--control-gutter-pill-scaling))}._SelectControl_1tyi7_1:where([data-block]){width:100%}._SelectControl_1tyi7_1[data-variant=ghost]{--select-control-background-color: var(--color-background-primary-ghost-hover);--select-control-ring-offset: -1px}._SelectControl_1tyi7_1[data-variant=ghost]:before{background-color:var(--select-control-background-color);opacity:0;transform:scale(var(--scale))}._SelectControl_1tyi7_1[data-variant=ghost][aria-expanded=true]:before,._SelectControl_1tyi7_1[data-variant=ghost][data-state=open]:before{opacity:.6;transform:scale(1)}@media (hover: hover) and (pointer: fine){._SelectControl_1tyi7_1[data-variant=ghost]:where(:not([data-disabled])):hover:before{opacity:1;transform:scale(1)}}._SelectControl_1tyi7_1[data-variant=ghost]:where(:not([data-disabled])):not(:has(button:active)):active:before{--select-control-background-color: var(--color-background-primary-ghost-active);opacity:1;transform:scale(var(--scale))}._SelectControl_1tyi7_1[data-variant=ghost]:where(:not([data-disabled])):not(:has(button:active)):active:after{transform:scale(var(--scale))}._SelectControl_1tyi7_1[data-variant=ghost]:where(:not([data-disabled]))[data-invalid]:before{--select-control-background-color: transparent;box-shadow:0 0 0 1px var(--input-border-color-invalid) inset;opacity:1;transform:scale(1)}@media (hover: hover) and (pointer: fine){._SelectControl_1tyi7_1[data-variant=ghost]:where(:not([data-disabled]))[data-invalid]:hover:before{--select-control-background-color: var(--color-background-primary-ghost-hover)}}._SelectControl_1tyi7_1[data-variant=soft]{--select-control-background-color: var(--color-background-primary-soft-alpha)}._SelectControl_1tyi7_1[data-variant=soft]:before{background-color:var(--select-control-background-color)}._SelectControl_1tyi7_1[data-variant=soft][aria-expanded=true]:before,._SelectControl_1tyi7_1[data-variant=soft][data-state=open]:before{--select-control-background-color: var(--color-background-primary-soft-alpha-hover)}@media (hover: hover) and (pointer: fine){._SelectControl_1tyi7_1[data-variant=soft]:where(:not([data-disabled])):hover:before{--select-control-background-color: var(--color-background-primary-soft-alpha-hover)}}._SelectControl_1tyi7_1[data-variant=soft]:where(:not([data-disabled])):not(:has(button:active)):active:before{--select-control-background-color: var(--color-background-primary-soft-alpha-active)}._SelectControl_1tyi7_1[data-variant=soft]:where(:not([data-disabled])):not(:has(button:active)):active:before,._SelectControl_1tyi7_1[data-variant=soft]:where(:not([data-disabled])):not(:has(button:active)):active:after{transform:scale(var(--scale))}._SelectControl_1tyi7_1[data-variant=soft]:where(:not([data-disabled]))[data-invalid]:before{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._SelectControl_1tyi7_1[data-variant=outline]{--select-control-border-color: var(--input-outline-border-color);--select-control-ring-offset: -1px}._SelectControl_1tyi7_1[data-variant=outline]:before{background-color:transparent;box-shadow:0 0 0 1px var(--select-control-border-color) inset}._SelectControl_1tyi7_1[data-variant=outline][aria-expanded=true],._SelectControl_1tyi7_1[data-variant=outline][data-state=open]{--select-control-border-color: var(--input-outline-border-color-hover)}@media (hover: hover) and (pointer: fine){._SelectControl_1tyi7_1[data-variant=outline]:where(:not([data-disabled])):hover{--select-control-border-color: var(--input-outline-border-color-hover)}}._SelectControl_1tyi7_1[data-variant=outline]:where(:not([data-disabled])):not(:has(button:active)):active:before{transform:scale(var(--scale))}._SelectControl_1tyi7_1[data-variant=outline]:where(:not([data-disabled])):not(:has(button:active)):active:after{transform:scale(var(--scale))}._SelectControl_1tyi7_1[data-variant=outline]:where(:not([data-disabled]))[data-invalid]:before{--select-control-border-color: var(--input-border-color-invalid)}._SelectControl_1tyi7_1:where([data-invalid]){--button-ring-color: var(--color-ring-danger)}@media (hover: hover) and (pointer: fine){._SelectControl_1tyi7_1:not([data-disabled]):hover ._Clear_1tyi7_436,._SelectControl_1tyi7_1:not([data-disabled]):hover ._DropdownIcon_1tyi7_437{opacity:1}}._SelectControl_1tyi7_1[data-selected=false]{color:var(--input-placeholder-text-color)}._SelectControl_1tyi7_1[data-disabled][data-variant]{--select-control-background-color: var(--color-background-disabled);--select-control-border-color: var(--color-border-disabled);color:var(--color-text-disabled);cursor:not-allowed}._SelectControl_1tyi7_1[data-disabled][data-variant] ._DropdownIcon_1tyi7_437{color:var(--color-text-disabled)}._SelectControl_1tyi7_1[data-disabled][data-variant]:active:before{transform:scale(1)}._TriggerText_1tyi7_468{position:relative;overflow:hidden;flex:1;max-width:100%;color:inherit;text-overflow:ellipsis;white-space:nowrap}._IndicatorWrapper_1tyi7_476{position:relative;display:flex;align-items:center;gap:var(--indicator-wrapper-gap);padding-left:var(--indicator-wrapper-gutter)}._StartIcon_1tyi7_482{position:relative;width:var(--start-icon-size);height:var(--start-icon-size);margin-left:var(--start-icon-offset)}:where(._SelectControl_1tyi7_1[data-pill]) ._StartIcon_1tyi7_482{margin-left:var(--start-icon-pill-offset)}._Clear_1tyi7_436{--button-size: var(--clear-size);--button-icon-size: var(--clear-icon-size);position:relative;opacity:.75}._Clear_1tyi7_436[data-variant=solid]{--button-size: var(--clear-iso-size);--button-icon-size: var(--clear-iso-icon-size)}[data-state=open] ._Clear_1tyi7_436,._Clear_1tyi7_436:focus-visible{opacity:1}._Clear_1tyi7_436[data-only-child]{margin-right:var(--clear-iso-offset)}:where(._SelectControl_1tyi7_1[data-pill]) ._Clear_1tyi7_436[data-only-child]{margin-right:var(--clear-iso-pill-offset)}._DropdownIcon_1tyi7_437{position:relative;width:var(--dropdown-icon-width, 8px);height:var(--dropdown-icon-height, 12px);margin-right:var(--dropdown-icon-offset);color:var(--color-text-secondary);opacity:.75;transition-duration:var(--transition-duration-basic);transition-property:opacity;transition-timing-function:var(--transition-ease-basic);will-change:opacity}:where(._SelectControl_1tyi7_1[data-pill]) ._DropdownIcon_1tyi7_437{margin-right:var(--dropdown-icon-pill-offset)}[data-state=open] ._DropdownIcon_1tyi7_437{opacity:1}._DropdownIconChevron_1tyi7_534{width:var(--dropdown-chevron-icon-width, 11px);height:var(--dropdown-chevron-icon-height, 6px)}._LoadingIndicator_1tyi7_537{margin-right:var(--dropdown-icon-offset)}:where(._SelectControl_1tyi7_1[data-pill]) ._LoadingIndicator_1tyi7_537{margin-right:var(--dropdown-icon-pill-offset)}}@layer components{._MenuList_n4tw6_5{width:var(--select-list-width, var(--radix-popover-trigger-width));min-width:var(--select-list-min-width, 300px);max-width:var(--select-list-max-width, none);border-radius:var(--menu-radius);background:var(--color-surface-elevated);box-shadow:var(--shadow),var(--shadow-hairline);font-size:var(--menu-font-size);line-height:var(--menu-line-height);transform-origin:var(--radix-popover-content-transform-origin);-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:opacity,transform}._Menu_n4tw6_3[data-entering] ._MenuList_n4tw6_5{opacity:0;transform:scale(.95)}._Menu_n4tw6_3[data-entering-active] ._MenuList_n4tw6_5,._Menu_n4tw6_3[data-entering][data-interrupted] ._MenuList_n4tw6_5{opacity:1;transform:scale(1);transition-duration:.35s;transition-property:opacity,transform;transition-timing-function:var(--cubic-enter)}._Menu_n4tw6_3[data-exiting] ._MenuList_n4tw6_5{opacity:1;transform:scale(1)}._Menu_n4tw6_3[data-exiting-active] ._MenuList_n4tw6_5,._Menu_n4tw6_3[data-exiting][data-interrupted] ._MenuList_n4tw6_5{opacity:0;transform:scale(.95);transition-duration:.2s;transition-property:opacity,transform;transition-timing-function:var(--cubic-exit)}._MenuInner_n4tw6_50{display:flex;flex-direction:column;max-height:min(var(--select-list-max-height, 400px),var(--radix-popover-content-available-height))}._MenuInner_n4tw6_50:focus{outline:0}._OptionsList_n4tw6_64{overflow:auto;flex:1;padding:var(--menu-gutter)}._Option_n4tw6_64{position:relative;padding:var(--menu-item-padding);cursor:pointer;overflow-wrap:anywhere;scroll-margin:15px 0}._Option_n4tw6_64:before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:calc(var(--menu-radius) - var(--menu-gutter));background:var(--menu-item-background-color);content:"";opacity:0;transform:scale(var(--scale, .98));transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,transform;transition-timing-function:var(--cubic-enter);will-change:opacity,transform}._Option_n4tw6_64[data-selected]{font-weight:var(--font-weight-semibold)}._Option_n4tw6_64[data-highlight]:before{opacity:1;transform:scale(1)}._Option_n4tw6_64[data-highlight]:active:before{transform:scale(var(--scale, .98))}._Option_n4tw6_64[data-disabled]{cursor:not-allowed;opacity:.5}._Option_n4tw6_64[data-disabled]:before{display:none}._PressableInner_n4tw6_111{position:relative}._OptionInner_n4tw6_113{display:flex;align-items:center;justify-content:flex-start;gap:calc(var(--spacing) * 1)}._OptionCheck_n4tw6_118{display:block;flex-shrink:0;width:16px;height:16px}._OptionIndicatorSlot_n4tw6_123{flex-grow:0;flex-shrink:0;width:16px;height:16px}._OptionGroupHeading_n4tw6_128{display:flex;align-items:center;justify-content:flex-start;gap:calc(var(--spacing) * 1);padding:var(--menu-item-padding);margin-top:calc(var(--spacing) * 1.5);color:var(--color-text-secondary)}._OptionGroupHeading_n4tw6_128:first-child{margin-top:0}._OptionHardLimitHeading_n4tw6_140{display:flex;align-items:center;justify-content:flex-start;gap:calc(var(--spacing) * 1);padding:var(--menu-item-padding);color:var(--color-text-secondary)}._OptionsLimit_n4tw6_147{color:var(--link-primary-text-color);font-weight:var(--font-weight-medium)}._Action_n4tw6_152{position:relative;padding:var(--menu-item-padding);border-radius:calc(var(--menu-radius) - var(--menu-gutter));cursor:pointer;transition:background-color .15s ease}._Action_n4tw6_152:before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:calc(var(--menu-radius) - var(--menu-gutter));content:"";opacity:0;transform:scale(var(--scale, .98));transition-duration:.15s;transition-property:opacity,background-color,transform;transition-timing-function:var(--cubic-enter);will-change:opacity,transform}._Action_n4tw6_152:before,:where([data-theme=light]) ._Action_n4tw6_152:before{background:var(--gray-100)}:where([data-theme=dark]) ._Action_n4tw6_152:before{background:var(--gray-25)}._Action_n4tw6_152:after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:calc(var(--menu-radius) - var(--menu-gutter));content:"";pointer-events:none;transition-duration:.15s;transition-property:box-shadow,transform;transition-timing-function:var(--cubic-enter)}@media (hover: hover) and (pointer: fine){._Action_n4tw6_152:hover:before{opacity:1;transform:scale(1)}}._Action_n4tw6_152:focus{outline:none}._Action_n4tw6_152:focus-visible:after{box-shadow:0 0 0 2px var(--color-ring)}._Action_n4tw6_152:active:before,._Action_n4tw6_152:active:after{transform:scale(var(--scale, .98))}._Action_n4tw6_152 svg{flex-shrink:0;width:16px;height:16px}._ActionInner_n4tw6_218{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:var(--menu-item-gap)}._ActionsContainer_n4tw6_224{position:relative;padding:var(--menu-gutter);border-top:1px solid var(--menu-separator-background-color)}._ActionsContainer_n4tw6_224:before{position:absolute;bottom:100%;left:0;width:100%;height:9px;margin-bottom:1px;background:var(--color-surface-elevated);content:"";-webkit-mask-image:linear-gradient(180deg,rgb(0 0 0 / 0%),rgb(0 0 0 / 100%));mask-image:linear-gradient(180deg,#0000,#000);pointer-events:none}._Search_n4tw6_244{position:relative;padding:var(--menu-gutter) var(--menu-gutter) 0}._SearchEmpty_n4tw6_247{padding:var(--menu-gutter);margin:calc(var(--spacing) * 4) 0}._SearchEmpty_n4tw6_247[data-text-only]{color:var(--color-text-secondary);text-align:center}}@layer components{._Container_1bl61_1{display:flex;font-size:var(--font-text-sm-size);line-height:var(--font-text-sm-line-height);-webkit-user-select:none;-moz-user-select:none;user-select:none}._Container_1bl61_1[data-has-label]{align-items:flex-start}._Container_1bl61_1[data-label-position=start]{flex-direction:row-reverse}._Track_1bl61_16{position:relative;flex-shrink:0;width:var(--switch-track-width);max-width:var(--switch-track-width);height:var(--switch-track-height);border:0;border-radius:var(--radius-full);background:var(--switch-track-color);cursor:pointer;transition:background-color .25s var(--cubic-move)}@media (hover: hover) and (pointer: fine){._Track_1bl61_16:where(:not([data-disabled],[data-state=checked])):hover{background:var(--switch-track-color-hover)}}[data-has-label] ._Track_1bl61_16{top:var(--switch-track-top-offset, 1px)}._Track_1bl61_16:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._Track_1bl61_16[data-state=checked]{background:var(--switch-track-color-checked)}._Track_1bl61_16[data-disabled]{background:var(--switch-track-color-disabled);cursor:not-allowed}._Track_1bl61_16[data-disabled][data-state=checked]{background:var(--switch-track-color-checked-disabled)}._Thumb_1bl61_56{position:absolute;top:var(--switch-thumb-offset);left:var(--switch-thumb-offset);display:block;width:var(--switch-thumb-size);height:var(--switch-thumb-size);border-radius:var(--radius-full);background:var(--switch-thumb-color);box-shadow:var(--switch-thumb-shadow);transition:transform .25s var(--cubic-move)}[data-state=checked] ._Thumb_1bl61_56{transform:translate(calc(var(--switch-track-width) - var(--switch-thumb-size) - var(--switch-thumb-offset) * 2))}._Thumb_1bl61_56[data-disabled]{background:var(--switch-thumb-color-disabled);box-shadow:none}._Label_1bl61_78{cursor:pointer}[data-label-position=end] ._Label_1bl61_78{padding-left:var(--switch-label-gap)}[data-label-position=start] ._Label_1bl61_78{padding-right:var(--switch-label-gap)}[data-disabled] ._Label_1bl61_78{cursor:not-allowed}}@layer components{._Container_13560_1{--textarea-line-height: 20px;--textarea-font-weight: var(--font-weight-normal);--textarea-color: var(--color-text);--textarea-gutter-y: calc(.5 * calc(var(--textarea-base-height) - var(--textarea-line-height)));--textarea-min-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-min-rows)) );--textarea-max-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-max-rows)) )}._Container_13560_1:where([data-size="3xs"]){--textarea-base-height: var(--control-size-3xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size="2xs"]){--textarea-base-height: var(--control-size-2xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=xs]){--textarea-base-height: var(--control-size-xs);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=sm]){--textarea-base-height: var(--control-size-sm);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-size=md]){--textarea-base-height: var(--control-size-md);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=lg]){--textarea-base-height: var(--control-size-lg);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=xl]){--textarea-base-height: var(--control-size-xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-lg);--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-size="2xl"]){--textarea-base-height: var(--control-size-2xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-size="3xl"]){--textarea-base-height: var(--control-size-3xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-gutter-size="2xs"]){--textarea-gutter-x: var(--control-gutter-2xs)}._Container_13560_1:where([data-gutter-size=xs]){--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-gutter-size=sm]){--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-gutter-size=md]){--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-gutter-size=lg]){--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-gutter-size=xl]){--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1{position:relative;overflow:hidden;display:flex;width:100%;border-radius:var(--textarea-radius);color:var(--textarea-color);cursor:text;font-size:var(--textarea-font-size);font-weight:var(--textarea-font-weight);transition-duration:var(--transition-duration-basic);transition-property:color,box-shadow,background-color;transition-timing-function:var(--transition-ease-basic)}._Container_13560_1:where([data-variant=outline]){box-shadow:0 0 0 1px var(--input-outline-border-color) inset}@media (hover: hover) and (pointer: fine){._Container_13560_1:where([data-variant=outline]):not([data-disabled]):hover{box-shadow:0 0 0 1px var(--input-outline-border-color-hover) inset}}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-outline-border-color-focus) inset}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1:where([data-variant=soft]){background-color:var(--input-soft-background-color)}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-soft-border-color-focus) inset}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1[data-invalid] ::-moz-selection{background-color:var(--red-a50)}._Container_13560_1[data-invalid] ::selection{background-color:var(--red-a50)}._Container_13560_1[data-disabled]{cursor:not-allowed;opacity:.5}._Textarea_13560_174{display:block;width:100%;max-width:100%;min-height:var(--textarea-min-height);max-height:var(--textarea-max-height);padding:var(--textarea-gutter-y) var(--textarea-gutter-x);border:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;box-shadow:none;color:inherit;filter:none;font-size:inherit;font-weight:inherit;line-height:var(--textarea-line-height);resize:none}._Textarea_13560_174:focus{outline:0}._Textarea_13560_174:disabled{cursor:not-allowed}._Textarea_13560_174::-moz-placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174::placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174:-webkit-autofill{animation:_native-autofill-in_13560_1 1ms}._Textarea_13560_174:-webkit-autofill,._Textarea_13560_174:-webkit-autofill:focus,._Textarea_13560_174:-webkit-autofill:hover{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill-and-obscured,._Textarea_13560_174:-webkit-autofill-strong-password,._Textarea_13560_174:-webkit-autofill-strong-password-viewable{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill:first-line{font-size:16px!important;-webkit-transition:font-size 0s 50000s!important;transition:font-size 0s 50000s!important}._Textarea_13560_174::-webkit-resizer{visibility:hidden}@keyframes _native-autofill-in_13560_1{0%{opacity:1}to{opacity:1}}}.cronjobs-page{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.cronjobs-page-head,.cronjobs-detail-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.cronjobs-page-head h1,.cronjobs-detail-title h1{margin:0;font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.cronjobs-page-head p,.cronjobs-detail-title p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.cronjobs-toolbar{flex:0 0 auto;min-height:36px;display:flex;align-items:center;justify-content:flex-end;margin-top:24px}.cronjobs-content{flex:1;min-height:0;display:flex;overflow:hidden;margin-top:12px;padding-bottom:32px}.cronjobs-table-wrap{width:100%;min-width:0;overflow:auto;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));scrollbar-gutter:stable}.cronjobs-table{width:100%;min-width:940px;border-collapse:collapse;table-layout:fixed;font-size:12.5px}.cronjobs-table th{position:sticky;z-index:1;top:0;height:42px;box-sizing:border-box;padding:0 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted) / .56);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:550;text-align:left}.cronjobs-table th:nth-child(1){width:19%}.cronjobs-table th:nth-child(2){width:17%}.cronjobs-table th:nth-child(3){width:22%}.cronjobs-table th:nth-child(4){width:10%}.cronjobs-table th:nth-child(5){width:12%}.cronjobs-table th:nth-child(6){width:11%}.cronjobs-table th:nth-child(7){width:112px}.cronjobs-table td{height:52px;box-sizing:border-box;padding:0 14px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cronjobs-table tr:last-child td{border-bottom:0}.cronjobs-table tbody tr{transition:background-color .14s ease}.cronjobs-table tbody tr:hover{background:hsl(var(--muted) / .36)}.cronjobs-name-button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cronjobs-agent{min-width:0;display:inline-flex;align-items:center;gap:7px;max-width:100%;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis}.cronjobs-agent svg{width:16px;height:16px;flex:0 0 16px;color:hsl(var(--muted-foreground))}.cronjobs-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.cronjobs-loading,.cronjobs-state{width:100%;min-height:300px;display:grid;place-items:center;align-content:center;color:hsl(var(--muted-foreground));text-align:center}.cronjobs-loading{min-height:220px;display:flex;flex-direction:column;gap:10px;font-size:13px}.cronjobs-banner{flex:0 0 auto;margin-top:16px}.cronjobs-notice{position:absolute;z-index:50;right:32px;bottom:24px;max-width:min(420px,calc(100% - 64px))}.cronjobs-drawer-backdrop{position:fixed;z-index:110;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:hsl(var(--foreground) / .34);animation:cronjobs-backdrop-in .14s ease-out}.cronjobs-drawer{width:min(520px,100vw);height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--panel));box-shadow:-14px 0 36px hsl(var(--foreground) / .12);animation:cronjobs-drawer-in .18s cubic-bezier(.22,1,.36,1)}.cronjobs-drawer-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 18px;border-bottom:1px solid hsl(var(--border))}.cronjobs-drawer-head h2{margin:0;font-size:17px;font-weight:650;line-height:1.3}.cronjobs-drawer-head p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.cronjobs-form{flex:1;min-height:0;display:flex;flex-direction:column}.cronjobs-form-scroll{flex:1;min-height:0;overflow-y:auto;padding:22px 24px 32px;scrollbar-gutter:stable}.cronjobs-field{min-width:0;display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.cronjobs-field>span,.cronjobs-fieldset>legend{color:hsl(var(--foreground));font-size:12.5px;font-weight:600;line-height:1.45}.cronjobs-field small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cronjobs-character-count{text-align:right}.cronjobs-fieldset{min-width:0;margin:0 0 18px;padding:0;border:0}.cronjobs-fieldset>legend{margin-bottom:9px}.cronjobs-schedule-types{margin-bottom:16px}.cronjobs-fieldset .cronjobs-field:last-child{margin-bottom:0}.cronjobs-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cronjobs-switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0}.cronjobs-switch-row>span{display:flex;flex-direction:column;gap:3px}.cronjobs-switch-row strong{font-size:12.5px;font-weight:600}.cronjobs-switch-row small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cronjobs-inline-error{margin-top:14px}.cronjobs-drawer-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid hsl(var(--border));background:hsl(var(--panel))}.cronjobs-detail{flex:1;min-height:0;display:flex;flex-direction:column}.cronjobs-detail-title{min-width:0;display:flex;align-items:flex-start;gap:10px}.cronjobs-detail-title>div{min-width:0}.cronjobs-detail-title h1,.cronjobs-detail-title p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cronjobs-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.cronjobs-detail-scroll{flex:1;min-height:0;overflow-y:auto;margin-top:24px;padding-bottom:40px;scrollbar-gutter:stable}.cronjobs-summary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);align-items:stretch;gap:12px}.cronjobs-summary-grid>dl,.cronjobs-prompt{margin:0;padding:18px 20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cronjobs-summary-grid>dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.cronjobs-summary-grid dl div{min-width:0}.cronjobs-summary-grid dt,.cronjobs-prompt>span,.cronjobs-run-output>span,.cronjobs-run-meta>span{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cronjobs-summary-grid dd{margin:5px 0 0;color:hsl(var(--foreground));font-size:12.5px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cronjobs-prompt p{display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;line-height:1.58;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:5}.cronjobs-history{margin-top:24px}.cronjobs-history>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.cronjobs-history h2{margin:0;font-size:15px;font-weight:620;line-height:1.4}.cronjobs-history header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.cronjobs-runs{display:flex;flex-direction:column;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));overflow:hidden}.cronjobs-run{position:relative;display:grid;grid-template-columns:minmax(230px,.8fr) minmax(180px,.6fr) minmax(260px,1.4fr);align-items:start;gap:20px;min-width:0;padding:16px 18px;border-bottom:1px solid hsl(var(--border))}.cronjobs-run:last-child{border-bottom:0}.cronjobs-run-main{min-width:0;display:flex;align-items:flex-start;gap:14px}.cronjobs-run-main>div{min-width:0;display:flex;flex-direction:column;gap:4px}.cronjobs-run-main strong{font-size:12px;font-weight:600}.cronjobs-run-main span{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cronjobs-run-meta,.cronjobs-run-output{min-width:0;display:flex;flex-direction:column;gap:5px}.cronjobs-run-meta strong{font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cronjobs-run-output-body{min-width:0}.cronjobs-run-output-body p{display:-webkit-box;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.cronjobs-run-output-body.is-expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.cronjobs-run-output-toggle{margin-top:4px}.cronjobs-run-output.is-error p,.cronjobs-run-error-detail{color:hsl(var(--destructive))}.cronjobs-run-error-detail.is-expanded .deploy-error-message-text{display:block;max-height:280px;overflow:auto;-webkit-line-clamp:unset}.cronjobs-run-error-detail .deploy-error-message-actions{margin-top:8px}.cronjobs-run-cancel{position:absolute;top:12px;right:14px}.cronjobs-history-state{min-height:190px;padding:20px}.cronjobs-history-alert{min-height:120px}@keyframes cronjobs-backdrop-in{0%{opacity:0}}@keyframes cronjobs-drawer-in{0%{transform:translate(24px);opacity:.88}}@media (max-width: 980px){.cronjobs-page{padding:24px 20px 0}.cronjobs-summary-grid{grid-template-columns:1fr}.cronjobs-run{grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr)}.cronjobs-run-meta{display:none}.cronjobs-notice{right:20px;max-width:calc(100% - 40px)}}@media (max-width: 900px){.cronjobs-page-head,.cronjobs-detail-head{align-items:stretch;flex-direction:column;gap:16px}.cronjobs-toolbar{min-height:44px;margin-top:16px}.cronjobs-content{margin-top:12px;padding-bottom:20px}.cronjobs-table-wrap{overflow-y:auto;border:0;border-radius:0;background:transparent}.cronjobs-table{min-width:0;display:block;font-size:13px}.cronjobs-table thead{display:none}.cronjobs-table tbody{display:flex;flex-direction:column;gap:12px}.cronjobs-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cronjobs-table td{height:auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;border:0;overflow:visible;white-space:normal}.cronjobs-table tr:last-child td{border:0}.cronjobs-table tbody tr:hover{background:hsl(var(--panel))}.cronjobs-table td:before{content:attr(data-label);margin-bottom:4px;color:hsl(var(--muted-foreground));font-size:11px;font-weight:500;line-height:1.35}.cronjobs-table td:first-child{grid-column:1;grid-row:1}.cronjobs-table td:first-child:before,.cronjobs-table .cronjobs-actions-cell:before{content:none}.cronjobs-table td:nth-child(2){grid-column:1 / -1;grid-row:2}.cronjobs-table td:nth-child(3){grid-column:1 / -1;grid-row:3}.cronjobs-table td:nth-child(4){grid-column:1;grid-row:4}.cronjobs-table td:nth-child(5){grid-column:1 / -1;grid-row:5}.cronjobs-table td:nth-child(6){grid-column:2;grid-row:4}.cronjobs-table .cronjobs-actions-cell{grid-column:2;grid-row:1}.cronjobs-name-button{display:-webkit-box;overflow:hidden;font-size:14px;line-height:1.45;text-align:left;text-overflow:clip;white-space:normal;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2}.cronjobs-agent{color:hsl(var(--foreground));white-space:nowrap}.cronjobs-row-actions{gap:8px}.cronjobs-detail-actions{justify-content:flex-start;flex-wrap:wrap}.cronjobs-detail-actions>*{flex:1 1 auto}.cronjobs-summary-grid>dl{grid-template-columns:1fr;gap:14px}.cronjobs-run{grid-template-columns:1fr;gap:12px}.cronjobs-run-meta{display:flex}.cronjobs-drawer{height:100dvh}.cronjobs-drawer-actions{padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media (max-width: 520px){.cronjobs-page{padding:20px 16px 0}.cronjobs-drawer-head{padding:18px 16px 14px}.cronjobs-form-scroll{padding:18px 16px 24px}.cronjobs-drawer-actions{padding:12px 16px}.cronjobs-inline-fields{grid-template-columns:1fr;gap:0}.cronjobs-detail-actions{display:grid;grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion: reduce){.cronjobs-drawer-backdrop,.cronjobs-drawer{animation:none}.cronjobs-table tbody tr{transition:none}}.system-info-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background));font-family:inherit}.system-info-page-header{flex:0 0 auto;display:flex;align-items:center;gap:8px}.system-info-page-header>div{min-width:0}.system-info-page-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.system-info-page-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.system-info-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;align-content:start;gap:16px;margin-top:24px;padding-bottom:56px}.system-info-section{min-width:0;padding:20px;border-radius:12px;background:hsl(var(--secondary) / .72)}.system-info-section h2{margin:0 0 16px;color:hsl(var(--foreground));font-size:15px;font-weight:600;line-height:1.4}.system-info-summary,.system-info-tool{margin:0}.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{min-width:0;display:grid;grid-template-columns:minmax(140px,.36fr) minmax(0,1fr);align-items:center;gap:16px}.system-info-summary dt,.system-info-tool dt,.system-info-pool dt{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:400;line-height:1.5}.system-info-summary dd,.system-info-tool dd,.system-info-pool dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}.system-info-resource-value{min-width:0}.system-info-resource-value>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link{min-width:0;max-width:100%;width:fit-content;min-height:28px;display:inline-flex;align-items:center;gap:6px;margin:-4px -2px;padding:4px 2px;border-radius:4px;color:inherit;cursor:pointer;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:4px;transition:color .16s ease,text-decoration-color .16s ease}.system-info-resource-link>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link svg{width:15px;height:15px;flex:0 0 15px;opacity:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:opacity .16s ease}.system-info-resource-link:hover{color:hsl(var(--foreground));text-decoration-color:currentColor}.system-info-resource-link:hover svg,.system-info-resource-link:focus-visible svg{opacity:1}.system-info-resource-link:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px;text-decoration-color:currentColor}.system-info-resource-update{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;min-height:29px;margin-left:18px;padding:0;border:1px solid hsl(var(--foreground) / .14);border-radius:7px;background:hsl(var(--secondary) / .62);box-shadow:inset 0 1px hsl(var(--background) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:560;line-height:1;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.system-info-resource-update svg{width:14px;height:14px;flex:0 0 14px;stroke-width:2}.system-info-resource-update:hover:not(:disabled){border-color:hsl(var(--foreground) / .26);background:hsl(var(--secondary) / .86);box-shadow:inset 0 1px hsl(var(--background) / .82),0 1px 5px hsl(var(--foreground) / .08);transform:translateY(-1px)}.system-info-resource-update:active:not(:disabled){transform:translateY(0)}.system-info-resource-update:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.system-info-resource-update:disabled{cursor:not-allowed;opacity:.62}.system-info-resource-update svg.is-spinning{animation:system-info-spin .8s linear infinite}.system-info-inline-status,.system-info-inline-error{display:block;margin-top:4px;font-size:12px;font-weight:400;line-height:1.45}.system-info-inline-status{color:hsl(var(--muted-foreground))}.system-info-inline-error{color:hsl(var(--destructive))}.system-info-tool-list{display:grid;gap:8px}.system-info-pool-list{display:grid;gap:12px}.system-info-pool{min-width:0;display:grid;grid-template-columns:1fr;gap:8px;margin:0;padding:4px 0}.system-info-empty{color:hsl(var(--muted-foreground));font-weight:400}.system-info-tool{min-width:0;padding:4px 0}.system-info-tool-label{display:flex;align-items:center;gap:7px}.system-info-tool-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(44 88% 43% / .3);border-radius:999px;background:#fac70f2e;color:#976507;font-size:10px;font-weight:600;line-height:1.25;white-space:nowrap}.system-info-loading{display:flex;align-items:center;min-height:24px;color:hsl(var(--muted-foreground));font-size:13px}.system-info-error{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:12px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.system-info-error p,.system-info-empty{margin:0}.system-info-error button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500}.system-info-error button:hover{background:hsl(var(--muted))}.system-info-error button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.system-info-empty{font-size:13px;line-height:1.55}@media (max-width: 760px){.system-info-page{padding:24px 20px 0}}@media (max-width: 520px){.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion: reduce){.system-info-resource-link,.system-info-resource-link svg,.system-info-resource-update{transition:none}.system-info-resource-update svg.is-spinning{animation:none}}@keyframes system-info-spin{to{transform:rotate(360deg)}}@media (hover: none){.system-info-resource-link svg{opacity:1}}.github-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.github-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.github-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.github-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-back svg{width:16px;height:16px}.github-integration-logo{width:30px;height:30px;flex:0 0 30px;color:hsl(var(--foreground))}.github-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.github-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-integration-layout{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:start;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.github-section-panel{width:100%;min-width:0;box-sizing:border-box;padding:0;border:0;border-radius:0;background:transparent}.github-panel-heading p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.6}.github-release-form{margin-top:24px}.github-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.github-field{min-width:0;display:flex;flex-direction:column}.github-field>label,.github-token-label-row>label{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.github-field-requirement{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:500}.github-field-requirement.is-required{color:hsl(var(--destructive))}.github-field input{width:100%;height:38px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.github-field input::placeholder{color:hsl(var(--muted-foreground))}.github-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.github-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.github-region-picker{gap:0;margin:0}.github-region-picker .pp-region-trigger,.github-region-picker .pp-region-option{height:38px;font-size:14px}.github-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.github-field-error{margin-top:3px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.github-token-field{margin-top:16px}.github-token-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.github-token-label-row>a{display:inline-flex;align-items:center;gap:4px;color:#2371e7;font-size:12.5px;font-weight:600;line-height:1.5;text-decoration:none}.github-token-label-row>a:hover{text-decoration:underline}.github-token-label-row>a:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px;border-radius:4px}.github-token-label-row>a svg{width:13px;height:13px}.github-token-input{position:relative}.github-token-input input{padding-right:42px}.github-token-input button{position:absolute;top:5px;right:4px;width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.github-token-input button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-token-input button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.github-token-input button svg{width:17px;height:17px}.github-submit-message{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;margin-top:16px;padding:10px 12px;border:1px solid;border-radius:8px;font-size:12px;line-height:1.5}.github-submit-message.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.github-submit-message.is-success{border-color:#24894e3d;background:#2bab6012;color:#217343}.github-submit-message a,.github-history-item a{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:inherit;font-weight:620;text-decoration:none}.github-submit-message a:hover,.github-history-item a:hover{text-decoration:underline}.github-submit-message svg,.github-history-item svg{width:14px;height:14px}.github-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid hsl(var(--border))}.github-secrets-note{max-width:470px;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-secrets-note strong{color:hsl(var(--foreground));font-weight:600}.github-form-actions button{min-width:126px;height:36px;padding:0 15px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:background-color .16s ease,opacity .16s ease}.github-form-actions button:hover:not(:disabled){background:hsl(var(--foreground) / .84)}.github-form-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-form-actions button:disabled{cursor:wait;opacity:.56}@media (max-width: 680px){.github-integration-page{padding:20px 18px 0}.github-field-grid{grid-template-columns:minmax(0,1fr)}.github-form-actions{align-items:stretch;flex-direction:column}.github-form-actions button{width:100%}}@media (prefers-reduced-motion: reduce){.github-back,.github-field input,.github-form-actions button{transition:none}}.feishu-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.feishu-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.feishu-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.feishu-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.feishu-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.feishu-back:disabled{cursor:not-allowed;opacity:.5}.feishu-back svg{width:16px;height:16px}.feishu-integration-logo{width:30px;height:30px;flex:0 0 30px;object-fit:contain}.feishu-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.feishu-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.feishu-integration-layout{flex:1;min-width:0;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.feishu-section-panel{width:100%;min-width:0}.feishu-panel-description{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.feishu-form{margin-top:24px}.feishu-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.feishu-field{min-width:0;display:flex;flex-direction:column}.feishu-field>label{margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.feishu-field input{width:100%;height:36px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:6px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.feishu-field input::placeholder{color:hsl(var(--muted-foreground))}.feishu-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.feishu-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.feishu-field input:disabled{cursor:not-allowed;opacity:.62}.feishu-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-field-error{margin-top:2px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.feishu-region-picker{position:relative;min-width:0}.feishu-region-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.feishu-region-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.feishu-region-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.feishu-region-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.feishu-region-trigger:disabled{cursor:not-allowed;opacity:.5}.feishu-region-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feishu-region-trigger>svg{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.feishu-region-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.feishu-region-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:100%;box-sizing:border-box;max-height:238px;overflow-y:auto;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.feishu-region-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left}.feishu-region-option:hover,.feishu-region-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.feishu-region-option.is-selected{background:hsl(var(--primary) / .08)}.feishu-secret-input{position:relative}.feishu-secret-input input{padding-right:54px}.feishu-secret-input>button{position:absolute;top:4px;right:4px;height:28px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550}.feishu-secret-input>button:hover:not(:disabled){background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.feishu-secret-input>button:focus-visible{outline:2px solid hsl(var(--ring) / .28);outline-offset:-2px}.feishu-secret-input>button:disabled{cursor:not-allowed;opacity:.5}.feishu-deployment-status{margin-top:20px;padding:14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .38)}.feishu-deployment-status.is-succeeded{border-color:#40966452;background:#f1f9f4}.feishu-deployment-status.is-failed{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .045)}.feishu-deployment-heading{min-height:20px;color:hsl(var(--foreground));font-size:13px;line-height:1.5}.feishu-deployment-heading strong{display:inline-flex;align-items:center;gap:6px;font-weight:600}.feishu-deployment-heading svg{width:16px;height:16px;color:#217343}.feishu-deployment-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.feishu-deployment-steps li{display:flex;align-items:center;gap:6px;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.feishu-deployment-steps li>span{width:18px;height:18px;display:grid;flex:0 0 18px;place-items:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));font-size:10px}.feishu-deployment-steps li>span svg{width:12px;height:12px}.feishu-deployment-steps li.is-active{color:hsl(var(--foreground));font-weight:550}.feishu-deployment-steps li.is-active>span{border-color:hsl(var(--foreground) / .3)}.feishu-deployment-steps li.is-done>span{border-color:#34895766;color:#217343}.feishu-deployment-error{margin:10px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.55;white-space:pre-wrap}.feishu-deployment-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;color:hsl(var(--muted-foreground));font-size:12px}.feishu-deployment-result>span:first-child{color:hsl(var(--foreground));font-weight:600}.feishu-deployment-result a{display:inline-flex;align-items:center;gap:4px;color:hsl(var(--foreground));font-weight:550;text-decoration:none}.feishu-deployment-result a:hover{text-decoration:underline}.feishu-deployment-result a svg{width:14px;height:14px}.feishu-form-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid hsl(var(--border))}.feishu-secrets-note{display:flex;min-width:0;flex-direction:column;gap:3px}.feishu-secrets-note strong{font-size:12.5px;font-weight:600}.feishu-secrets-note span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-action-buttons{display:flex;flex:0 0 auto;gap:8px}.feishu-submit,.feishu-cancel{height:36px;padding:0 15px;border-radius:7px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.feishu-submit{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.feishu-submit:hover:not(:disabled){opacity:.88}.feishu-submit:disabled{cursor:not-allowed;opacity:.45}.feishu-cancel{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.feishu-cancel:hover{background:hsl(var(--secondary))}.feishu-submit:focus-visible,.feishu-cancel:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}@media (max-width: 760px){.feishu-integration-page{padding:24px 20px 0}.feishu-field-grid{grid-template-columns:1fr}.feishu-deployment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.feishu-form-actions{align-items:stretch;flex-direction:column}.feishu-action-buttons{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.feishu-back,.feishu-field input,.feishu-region-trigger,.feishu-region-trigger>svg{transition:none}}.coding-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.coding-agents-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.coding-agents-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.coding-agents-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-back:disabled{cursor:not-allowed;opacity:.5}.coding-agents-back svg{width:16px;height:16px}.coding-agents-logo{width:32px;height:32px;flex:0 0 32px;color:hsl(var(--foreground))}.coding-agents-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.coding-agents-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.coding-agents-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.coding-agents-content{width:100%;display:flex;flex-direction:column;gap:14px}.coding-agents-section{min-width:0;box-sizing:border-box;padding:18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.coding-agents-section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.coding-agents-section-heading>div{display:flex;align-items:center;gap:9px}.coding-agents-section-heading>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.coding-agents-section-heading h2{margin:0;font-size:14px;font-weight:650;line-height:1.4}.coding-agents-section-heading>button,.coding-agents-error-row button{min-height:28px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.coding-agents-section-heading>button:hover:not(:disabled),.coding-agents-error-row button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-section-heading>button:focus-visible,.coding-agents-error-row button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.coding-agents-section-heading>button:disabled{cursor:wait;opacity:.5}.coding-agents-inline-state{min-height:86px;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.coding-agents-inline-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-error-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px;line-height:1.5}.coding-agents-agent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coding-agents-agent{position:relative;min-width:0;min-height:92px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;box-sizing:border-box;padding:12px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.coding-agents-agent:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary) / .18)}.coding-agents-agent.is-selected{border-color:hsl(var(--ring) / .5);background:hsl(var(--primary) / .035);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.coding-agents-agent:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-agent:disabled{cursor:not-allowed;opacity:.58}.coding-agents-agent-mark{width:38px;height:38px;display:grid;place-items:center;color:hsl(var(--foreground))}.coding-agents-agent-mark img{width:32px;height:32px;border-radius:7px}.coding-agents-agent-mark svg{width:32px;height:32px}.coding-agents-agent-mark.is-claude-code{color:#d86e4b}.coding-agents-agent-mark.is-codex{color:#4a55ed}.coding-agents-agent-copy{min-width:0;display:flex;flex-direction:column;gap:3px;padding-right:40px}.coding-agents-agent-copy strong{overflow:hidden;font-size:12.5px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-agent-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-status{position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:600}.coding-agents-status.is-ready{background:#36ab661a;color:#247b48}.coding-agents-check{position:absolute;right:9px;bottom:9px;width:17px;height:17px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;color:transparent}.coding-agents-agent.is-selected .coding-agents-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-check svg{width:12px;height:12px}.coding-agents-skill-list{display:flex;flex-direction:column;gap:7px}.coding-agents-skill{min-width:0;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-right:8px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));transition:border-color .15s ease,background-color .15s ease}.coding-agents-skill:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .14)}.coding-agents-skill.is-selected{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .025)}.coding-agents-skill label{position:relative;min-width:0;min-height:52px;display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:10px;padding:7px 10px;cursor:pointer}.coding-agents-skill label>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.coding-agents-skill input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.coding-agents-skill-check{width:15px;height:15px;display:grid;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));color:transparent}.coding-agents-skill-check svg{width:10px;height:10px}.coding-agents-skill input:checked+.coding-agents-skill-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-skill input:focus-visible+.coding-agents-skill-check,.coding-agents-skill>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-skill input:disabled+.coding-agents-skill-check{opacity:.55}.coding-agents-skill>button{min-height:30px;padding:4px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;white-space:nowrap}.coding-agents-skill>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-skill-list strong{font-size:12.5px;font-weight:630;line-height:1.35}.coding-agents-skill-list small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.coding-agents-global{margin-top:14px;padding:14px;border-radius:9px;background:hsl(var(--secondary) / .42)}.coding-agents-global-heading{display:flex;align-items:center;gap:9px}.coding-agents-global-heading>svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground))}.coding-agents-global-heading>div{min-width:0;display:flex;align-items:baseline;gap:8px}.coding-agents-global-heading strong{font-size:12px;font-weight:650}.coding-agents-global-heading span{color:hsl(var(--muted-foreground));font-size:11px}.coding-agents-global dl{margin:10px 0 0 27px}.coding-agents-global dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding-top:6px;font-size:11.5px;line-height:1.45}.coding-agents-global dt{color:hsl(var(--muted-foreground))}.coding-agents-global dd{min-width:0;margin:0;overflow-wrap:anywhere}.coding-agents-global>p{margin:9px 0 0 27px;color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-result{padding:11px 12px;border:1px solid;border-radius:8px;font-size:11.5px;line-height:1.45}.coding-agents-result.is-success{border-color:#2c965838;background:#2da9610f;color:#217343}.coding-agents-result.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.coding-agents-result strong{font-weight:620}.coding-agents-result ul{margin:7px 0 0;padding-left:16px;color:inherit}.coding-agents-result li{margin-top:3px;overflow-wrap:anywhere}.coding-agents-actions{min-height:52px;display:flex;align-items:center;justify-content:flex-end;gap:16px}.coding-agents-actions>span{color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-actions>button{min-width:112px;min-height:36px;padding:7px 18px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:opacity .15s ease}.coding-agents-actions>button:hover:not(:disabled){opacity:.82}.coding-agents-actions>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-actions>button:disabled{cursor:not-allowed;opacity:.42}.coding-agents-preview-dialog{width:min(980px,calc(100vw - 48px));height:min(680px,calc(100vh - 48px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 24px 64px hsl(var(--foreground) / .18)}.coding-agents-preview-dialog[open]{display:flex;flex-direction:column}.coding-agents-preview-dialog::backdrop{background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.coding-agents-preview-header{min-height:64px;display:grid;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:11px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.coding-agents-preview-mark svg{width:18px;height:18px}.coding-agents-preview-header h2,.coding-agents-preview-header p{margin:0}.coding-agents-preview-header h2{font-size:14px;font-weight:650;line-height:1.4}.coding-agents-preview-header p{margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.coding-agents-preview-header>button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.coding-agents-preview-header>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-header>button:focus-visible,.coding-agents-preview-tree button:focus-visible,.coding-agents-preview-tree summary:focus-visible,.coding-agents-preview-state button:focus-visible,.coding-agents-preview-file pre:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:1px}.coding-agents-preview-header>button svg{width:16px;height:16px}.coding-agents-preview-layout{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr)}.coding-agents-preview-tree{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.coding-agents-preview-tree-title{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-tree-title span{font-size:11.5px;font-weight:650}.coding-agents-preview-tree-title small{min-width:20px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;text-align:center}.coding-agents-preview-tree-scroll{min-height:0;overflow:auto;padding:8px}.coding-agents-preview-tree details{margin-bottom:4px}.coding-agents-preview-tree summary{min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;border-radius:6px;color:hsl(var(--muted-foreground));cursor:pointer;font-size:11.5px;list-style:none}.coding-agents-preview-tree summary::-webkit-details-marker{display:none}.coding-agents-preview-tree summary:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree summary svg,.coding-agents-preview-tree button svg{width:15px;height:15px;flex:0 0 15px}.coding-agents-preview-tree details>div{padding-left:13px}.coding-agents-preview-tree button{width:100%;min-width:0;min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;overflow:hidden;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;text-align:left}.coding-agents-preview-tree button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree button.is-selected{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground));font-weight:600}.coding-agents-preview-tree button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file{min-width:0;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.coding-agents-preview-file>header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-file>header strong{min-width:0;overflow:hidden;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file>header span{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10.5px}.coding-agents-preview-file pre{flex:1;min-width:0;min-height:0;margin:0;overflow:auto;padding:16px 18px 24px;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;line-height:1.65;-moz-tab-size:2;tab-size:2;white-space:pre}.coding-agents-preview-file code{font:inherit}.coding-agents-preview-state,.coding-agents-preview-unavailable{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.coding-agents-preview-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-preview-state.is-error{flex-direction:column;color:hsl(var(--destructive))}.coding-agents-preview-state button{min-height:30px;padding:4px 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}@keyframes coding-agents-spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.coding-agents-page{padding:20px 18px 0}.coding-agents-agent-grid{grid-template-columns:minmax(0,1fr)}.coding-agents-global-heading>div{align-items:flex-start;flex-direction:column;gap:2px}.coding-agents-global dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.coding-agents-actions{align-items:stretch;flex-direction:column;gap:8px}.coding-agents-actions>span{text-align:right}.coding-agents-actions>button{width:100%}.coding-agents-preview-dialog{width:calc(100vw - 24px);height:calc(100vh - 24px)}.coding-agents-preview-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(130px,34%) minmax(0,1fr)}.coding-agents-preview-tree{border-right:0;border-bottom:1px solid hsl(var(--border))}}@media (prefers-reduced-motion: reduce){.coding-agents-back,.coding-agents-agent,.coding-agents-skill,.coding-agents-actions>button{transition:none}.coding-agents-inline-state i,.coding-agents-preview-state i{animation-duration:1.5s}}.website-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.website-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.website-integration-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer}.website-integration-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.website-integration-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.website-integration-back svg{width:16px;height:16px}.website-integration-logo{width:32px;height:32px;flex:0 0 32px}.website-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.website-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.website-integration-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.website-integration-content{width:100%;display:flex;flex-direction:column;gap:14px}.website-integration-section{min-width:0;box-sizing:border-box;padding:18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.website-integration-section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.website-integration-section-heading>div{display:flex;align-items:center;gap:9px}.website-integration-section-heading>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.website-integration-section-heading h2{margin:0;font-size:14px;font-weight:650;line-height:1.4}.website-integration-section-heading>small{color:hsl(var(--muted-foreground));font-size:11px}.website-integration-form{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(220px,1fr) auto;align-items:end;gap:8px 12px}.website-integration-form>label{color:hsl(var(--muted-foreground));font-size:12px;font-weight:600;line-height:1.4}.website-integration-form>label:first-child{grid-column:1}.website-integration-form>label:nth-of-type(2){grid-column:2}.website-integration-form>[id=website-runtime]{grid-column:1;grid-row:2}.website-integration-form>input{grid-column:2;grid-row:2}.website-integration-form>button{grid-column:3;grid-row:2;min-width:104px}.website-integration-error{margin-top:12px;padding:9px 11px;border:1px solid hsl(var(--destructive) / .22);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px;line-height:1.5}.website-integration-loading{min-height:96px;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12.5px}.website-integration-list{display:flex;flex-direction:column;gap:7px}.website-integration-row{width:100%;min-width:0;min-height:58px;display:grid;grid-template-columns:minmax(180px,1fr) 138px 100px auto;align-items:center;gap:12px;box-sizing:border-box;padding:8px 10px 8px 12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.website-integration-row:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--secondary) / .16)}.website-integration-row.is-selected{border-color:hsl(var(--ring) / .48);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.website-integration-row:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.website-integration-row-main{min-width:0;display:flex;flex-direction:column;gap:3px}.website-integration-row-main strong{overflow:hidden;font-size:12.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.website-integration-row-main small,.website-integration-token,.website-integration-created{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;text-overflow:ellipsis;white-space:nowrap}.website-integration-empty{min-height:126px}.website-integration-empty svg{width:24px;height:24px}.website-integration-embed{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.website-integration-embed>div{grid-column:1 / -1;display:flex;align-items:baseline;gap:10px}.website-integration-embed>div strong{font-size:12.5px;font-weight:650}.website-integration-embed>div span,.website-integration-hint{color:hsl(var(--muted-foreground));font-size:11.5px}.website-integration-embed pre{min-width:0;margin:0;overflow-x:auto;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .3);font:inherit;font-size:11.5px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.website-integration-embed code{font:inherit}.website-integration-hint{margin:0}@media (max-width: 820px){.website-integration-page{padding:20px 18px 0}.website-integration-form{grid-template-columns:minmax(0,1fr)}.website-integration-form>label,.website-integration-form>label:first-child,.website-integration-form>label:nth-of-type(2),.website-integration-form>[id=website-runtime],.website-integration-form>input,.website-integration-form>button{grid-column:1;grid-row:auto}.website-integration-form>label:nth-of-type(2){margin-top:4px}.website-integration-row{grid-template-columns:minmax(0,1fr) auto}.website-integration-token,.website-integration-created{display:none}.website-integration-embed{grid-template-columns:minmax(0,1fr)}.website-integration-embed>div{align-items:flex-start;flex-direction:column;gap:3px}.website-integration-embed>button{width:100%}}.new-chat-mode{position:relative;align-self:flex-start}.new-chat-mode__trigger{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:2px 7px 2px 5px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer;transition:color .12s ease,background .12s ease}.composer--new-chat .new-chat-mode__trigger{min-height:36px;font-size:15px}.new-chat-mode__trigger:hover,.new-chat-mode__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-mode__current{max-width:min(180px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__trigger:focus-visible,.new-chat-mode__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-mode__icon,.new-chat-mode__option-icon{display:inline-grid;place-items:center;flex:0 0 auto}.new-chat-mode__icon svg{width:15px;height:15px}.new-chat-mode__option-icon svg{width:18px;height:18px}.new-chat-mode svg{fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.new-chat-mode svg.new-chat-mode__temporary-icon{stroke-width:1.3}.new-chat-mode__chevron{width:12px;height:12px;transition:transform .14s ease}.new-chat-mode__trigger[aria-expanded=true] .new-chat-mode__chevron{transform:rotate(180deg)}.new-chat-mode__menus{position:absolute;z-index:43;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:8px}.new-chat-mode__menu{flex:0 0 auto;width:286px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__option{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));text-align:left;cursor:pointer}.new-chat-mode__option.is-active{background:hsl(var(--accent))}.new-chat-mode__option:disabled{cursor:not-allowed;opacity:.48}.new-chat-mode__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-mode__copy>span:last-child{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.new-chat-mode__label{display:flex;min-width:0;align-items:center;gap:7px;font-size:13px;line-height:1.3}.new-chat-mode__label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-mode__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-mode__submenu{flex:0 0 auto;width:248px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__submenu-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-mode__submenu-option:hover:not(:disabled){background:hsl(var(--accent))}.new-chat-mode__submenu-option:disabled{cursor:not-allowed;opacity:.42}.new-chat-mode__builtin-icon{width:24px;height:24px;flex:0 0 auto;stroke-width:1.75}@media (max-width: 640px){.new-chat-mode__menus{width:min(320px,calc(100vw - 48px));max-height:min(520px,calc(100vh - 160px));flex-direction:column;overflow-y:auto}.new-chat-mode__menu,.new-chat-mode__submenu{width:100%}}@media (prefers-reduced-motion: reduce){.new-chat-mode__trigger,.new-chat-mode__chevron{transition:none}}.new-chat-agent-picker{position:relative;min-width:0}.composer--new-chat .new-chat-agent-picker{position:absolute;z-index:5;bottom:10px;left:52px}.composer--new-chat.composer--has-task .new-chat-agent-picker{left:138px}.composer--new-chat.composer--task-image .new-chat-agent-picker,.composer--new-chat.composer--task-video .new-chat-agent-picker{left:176px}.new-chat-agent-picker__trigger{display:inline-flex;align-items:center;gap:6px;max-width:min(220px,42vw);min-height:36px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-agent-picker__trigger:hover,.new-chat-agent-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-agent-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-agent-picker__trigger>span{display:flex;min-height:20px;align-items:center;overflow:hidden;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__trigger-chevron{display:block}.new-chat-agent-picker__trigger-chevron{width:13px;height:13px;flex:0 0 auto;transform:rotate(90deg);transition:transform .14s ease}.new-chat-agent-picker__trigger[aria-expanded=true] .new-chat-agent-picker__trigger-chevron{transform:rotate(-90deg)}.new-chat-agent-picker__menus{position:absolute;z-index:44;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:7px;outline:none}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-agent-picker__menu{width:218px}.new-chat-agent-picker__submenu{width:272px;max-height:286px;overflow:auto}.new-chat-agent-picker__type,.new-chat-agent-picker__runtime{display:grid;align-items:center;width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left}.new-chat-agent-picker__type{grid-template-columns:22px minmax(0,1fr) 16px;gap:8px;padding:7px 8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__type:hover,.new-chat-agent-picker__type.is-keyboard-active,.new-chat-agent-picker__runtime:hover:not(:disabled),.new-chat-agent-picker__runtime.is-keyboard-active{background:hsl(var(--accent))}.new-chat-agent-picker__type-icon,.new-chat-agent-picker__runtime-icon{width:18px;height:18px;flex:0 0 auto}.new-chat-agent-picker__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-agent-picker__runtime{grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__runtime:disabled{cursor:wait;opacity:.62}.new-chat-agent-picker__runtime>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__runtime small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-agent-picker__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-agent-picker__runtime-list{display:flex;flex-direction:column;gap:1px}.new-chat-agent-picker__empty{min-height:116px;padding:14px 10px}.new-chat-agent-picker__empty-title{white-space:nowrap}.new-chat-agent-picker__empty-agent-icon{width:32px;height:32px}.new-chat-agent-picker__status,.new-chat-agent-picker__error,.new-chat-agent-picker__inline-error{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.new-chat-agent-picker__status{display:flex;min-height:76px;align-items:center;justify-content:center;gap:7px;padding:12px}.new-chat-agent-picker__error{display:flex;flex-direction:column;gap:8px;padding:10px;color:hsl(var(--destructive))}.new-chat-agent-picker__error>span,.new-chat-agent-picker__inline-error{white-space:pre-wrap;overflow-wrap:anywhere}.new-chat-agent-picker__error button,.new-chat-agent-picker__load-more{min-height:30px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.new-chat-agent-picker__inline-error{padding:6px 8px;color:hsl(var(--destructive))}.new-chat-agent-picker__load-more{width:100%;margin-top:4px}.new-chat-agent-picker__load-more:disabled{cursor:wait;opacity:.55}.new-chat-agent-picker__spinner{width:13px;height:13px;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-agent-picker-spin .7s linear infinite}.new-chat-agent-picker__trigger:focus-visible,.new-chat-agent-picker__type:focus-visible,.new-chat-agent-picker__runtime:focus-visible,.new-chat-agent-picker__error button:focus-visible,.new-chat-agent-picker__load-more:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}@keyframes new-chat-agent-picker-spin{to{transform:rotate(360deg)}}@media (max-height: 700px) and (min-width: 641px){.new-chat-agent-picker__menus{top:auto;bottom:calc(100% + 7px)}.new-chat-agent-picker__submenu{max-height:min(220px,calc(100dvh - 180px))}}@media (max-width: 640px){.new-chat-agent-picker__menus{width:min(320px,calc(100vw - 88px));max-height:min(420px,calc(100dvh - 168px));flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{width:100%;flex:0 0 auto}.new-chat-agent-picker__submenu{max-height:220px}}@media (prefers-reduced-motion: reduce){.new-chat-agent-picker__trigger,.new-chat-agent-picker__trigger-chevron{transition:none}.new-chat-agent-picker__spinner{animation:none}}.new-chat-workspace-tabs{position:relative;z-index:1;display:flex;align-self:flex-start;width:100%;height:76px;margin:0 0 -26px;padding:8px 10px 34px;align-items:flex-start;gap:6px;overflow-x:auto;overflow-y:hidden;border-radius:16px 16px 13px 13px;background:hsl(var(--muted) / .72);box-sizing:border-box;scrollbar-width:none}.new-chat-workspace-tabs::-webkit-scrollbar{display:none}.new-chat-workspace-tabs__tab{position:relative;display:inline-flex;flex:0 0 104px;width:104px;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:14px;font-weight:400;white-space:nowrap;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.new-chat-workspace-tabs__tab:hover:not(:disabled):not(.is-active){background:hsl(var(--background) / .56);color:hsl(var(--foreground))}.new-chat-workspace-tabs__tab.is-active{color:hsl(var(--foreground));font-weight:400}.new-chat-workspace-tabs__slider{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid hsl(var(--border) / .76);border-radius:inherit;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035);pointer-events:none}.new-chat-workspace-tabs__tab:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-workspace-tabs__tab:disabled{cursor:not-allowed;opacity:.48}.new-chat-workspace-tabs__icon{position:relative;z-index:1;width:17px;height:17px;flex:0 0 auto}.new-chat-workspace-tabs__skill-icon{display:inline-grid;place-items:center}.new-chat-workspace-tabs__skill-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:transform .2s cubic-bezier(.22,1,.36,1)}.new-chat-workspace-tabs__skill-shape.is-triangle{clip-path:inset(0 18% 50% 18%);transform-origin:50% 30%}.new-chat-workspace-tabs__skill-shape.is-circle{clip-path:inset(47% 50% 0 0);transform-origin:28% 72%}.new-chat-workspace-tabs__skill-shape.is-square{clip-path:inset(47% 0 0 50%);transform-origin:72% 72%}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-box:view-box;transform-origin:12px 18.5px;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-triangle{transform:translateY(-1px) scale(1.04)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-circle{transform:translate(-.6px,.6px) rotate(-6deg)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-square{transform:translate(.7px,.5px) rotate(6deg)}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-origin:3.25px 9px}.new-chat-workspace-tabs__tab:hover:not(:disabled) .video-generate-icon__clapper{transform:rotate(-14deg)}.new-chat-workspace-tabs__label{position:relative;z-index:1}.new-chat-skill-picker{position:relative;flex:0 0 auto;min-width:0}.new-chat-skill-controls{position:absolute;z-index:5;right:52px;bottom:10px;left:52px;display:flex;min-width:0;align-items:center;gap:4px}.new-chat-skill-controls__style,.new-chat-skill-controls__model{min-width:0}.new-chat-skill-controls__style{flex:0 1 auto;max-width:180px}.new-chat-skill-controls__model{flex:0 1 auto;max-width:240px;margin-left:auto}.new-chat-skill-controls__style .new-chat-compact-select,.new-chat-skill-controls__model .new-chat-compact-select{width:fit-content;max-width:100%}.new-chat-skill-controls__style .new-chat-compact-select__trigger,.new-chat-skill-controls__model .new-chat-compact-select__trigger{width:auto;max-width:100%}.new-chat-skill-controls__model .new-chat-compact-select__menu{right:0;left:auto}.new-chat-skill-picker__trigger{display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-skill-picker__trigger:hover,.new-chat-skill-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-skill-picker__trigger:focus-visible,.new-chat-skill-picker__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-skill-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-skill-picker__chevron,.new-chat-skill-picker__check{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-skill-picker__chevron{transition:transform .14s ease}.new-chat-skill-picker__trigger[aria-expanded=true] .new-chat-skill-picker__chevron{transform:rotate(180deg)}.new-chat-skill-picker__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:180px;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-skill-picker__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:34px;align-items:center;gap:8px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.new-chat-skill-picker__option:hover,.new-chat-skill-picker__option.is-active{background:hsl(var(--accent))}.new-chat-skill-picker__check{color:hsl(var(--primary))}.new-chat-compact-select{position:relative;min-width:0;max-width:190px}.new-chat-compact-select__trigger{display:flex;width:100%;min-width:0;min-height:36px;align-items:center;gap:5px;padding:2px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .14s ease,background-color .14s ease}.new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-compact-select__trigger:focus-visible,.new-chat-compact-select__search input:focus-visible,.new-chat-compact-select__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-compact-select__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-compact-select__label{flex:0 0 auto;color:hsl(var(--muted-foreground) / .76)}.new-chat-compact-select__value{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__value.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.new-chat-compact-select__chevron,.new-chat-compact-select__check{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-compact-select__chevron{transition:transform .14s ease}.new-chat-compact-select__spinner{width:13px;height:13px;flex:0 0 auto;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-compact-select-spin .7s linear infinite}@keyframes new-chat-compact-select-spin{to{transform:rotate(360deg)}}.new-chat-compact-select__trigger[aria-expanded=true] .new-chat-compact-select__chevron{transform:rotate(180deg)}.new-chat-compact-select__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:min(240px,calc(100vw - 32px));padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .28),0 3px 10px hsl(var(--foreground) / .05)}.new-chat-compact-select__search{display:block;padding:2px 2px 5px}.new-chat-compact-select__search input{width:100%;min-height:32px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.new-chat-compact-select__list{max-height:240px;overflow-y:auto}.new-chat-compact-select__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:36px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-compact-select__option:hover,.new-chat-compact-select__option.is-active{background:hsl(var(--accent))}.new-chat-compact-select__option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-compact-select__option-copy strong,.new-chat-compact-select__option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__option-copy strong{font-size:13px;font-weight:550}.new-chat-compact-select__option-copy small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-compact-select__check{color:hsl(var(--primary))}.new-chat-compact-select__status{display:flex;min-height:52px;align-items:center;justify-content:center;gap:8px;padding:8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.new-chat-compact-select__status.is-error{color:hsl(var(--destructive))}.new-chat-compact-select__status button{flex:0 0 auto;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer}@media (max-width: 520px){.new-chat-workspace-tabs__tab{gap:5px;padding:0 6px;font-size:13px}.new-chat-workspace-tabs__icon{width:16px;height:16px}.new-chat-skill-controls>.new-chat-compact-select{flex:1 1 0}.new-chat-skill-picker__trigger{padding-right:5px;padding-left:4px;font-size:13px}.new-chat-compact-select__trigger{padding-right:5px;padding-left:5px;gap:3px}.new-chat-compact-select__label{display:none}}@media (prefers-reduced-motion: reduce){.new-chat-workspace-tabs__tab,.new-chat-skill-picker__trigger,.new-chat-skill-picker__chevron,.new-chat-compact-select__trigger,.new-chat-compact-select__chevron{transition:none}.new-chat-compact-select__spinner{animation:none}.new-chat-workspace-tabs__skill-shape,.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transition:none}}.new-chat-skill-target-picker{position:relative;min-width:0;flex:0 1 220px}.new-chat-skill-target-picker__trigger{max-width:100%}.new-chat-skill-target-picker__menus.is-above{top:auto;bottom:calc(100% + 7px)}.new-chat-skill-target-picker__menus>.new-chat-agent-picker__menu,.new-chat-skill-target-picker__submenu{max-height:var(--new-chat-skill-menu-max-height, 286px);overflow-y:auto;overscroll-behavior:contain}.new-chat-skill-target-picker__space{grid-template-columns:minmax(0,1fr) 16px}.new-chat-skill-target-picker__space>span,.new-chat-skill-target-picker__skill>span,.new-chat-skill-target-picker__skill>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-skill-target-picker__space.is-previewed{background:hsl(var(--accent))}.new-chat-skill-target-picker__skill{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.new-chat-skill-target-picker__skill>span{grid-column:1;font-weight:400}.new-chat-skill-target-picker__skill>small{grid-column:1}.new-chat-skill-target-picker__skill>.new-chat-agent-picker__check{grid-column:2;grid-row:1 / span 2}.new-chat-skill-target-picker__empty{display:grid;min-height:76px;place-items:center;padding:12px;color:hsl(var(--muted-foreground));font-size:12px}@media (prefers-reduced-motion: reduce){.new-chat-skill-target-picker__spinner{animation:none}}.new-chat-video-controls{position:absolute;z-index:0;top:calc(100% - 8px);right:16px;left:16px;display:flex;min-width:0;flex-direction:column;gap:12px;padding:24px 14px 12px;border:0;border-radius:0 0 14px 14px;background:hsl(var(--muted) / .72);color:hsl(var(--foreground));transform-origin:top center}.new-chat-video-controls__parameters{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;border-radius:8px;background:hsl(var(--background) / .54)}.new-chat-video-task-mode{position:absolute;z-index:5;bottom:10px;left:52px;width:fit-content;min-width:0;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select{width:fit-content;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select__trigger{width:auto;min-width:96px;max-width:220px;padding-right:10px;padding-left:10px}.new-chat-video-generation-model{position:absolute;z-index:5;right:52px;bottom:10px;display:inline-flex;min-width:0;min-height:36px;max-width:290px;align-items:center;gap:5px;padding:2px 8px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-generation-model strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-controls__field{min-width:0}.new-chat-video-controls__parameters>:not(:first-child){border-left:1px solid hsl(var(--border) / .62)}.new-chat-video-controls .new-chat-compact-select{width:100%;max-width:none}.new-chat-video-controls .new-chat-compact-select__trigger,.new-chat-video-duration{width:100%;min-height:36px;border:0;border-radius:0;background:transparent}.new-chat-video-controls__parameters>:first-child,.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:8px 0 0 8px}.new-chat-video-controls__parameters>:last-child{border-radius:0 8px 8px 0}.new-chat-video-controls .new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-video-controls .new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--background) / .92)}.new-chat-video-duration{display:grid;min-width:0;grid-template-columns:72px minmax(52px,1fr);align-items:center;gap:8px;padding:2px 8px}.new-chat-video-duration.is-disabled{opacity:.48}.new-chat-video-duration__header{display:flex;align-items:center;justify-content:space-between;gap:4px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-duration__header output{color:hsl(var(--foreground));font-weight:550}.new-chat-video-duration input{width:100%;height:16px;margin:0;accent-color:hsl(var(--primary));cursor:pointer}.new-chat-video-duration input::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:hsl(var(--muted-foreground) / .24)}.new-chat-video-duration input::-webkit-slider-thumb{width:10px;height:10px;margin-top:-4px;border:0;border-radius:50%;background:hsl(var(--foreground) / .72);-webkit-appearance:none;-moz-appearance:none;appearance:none}.new-chat-video-duration input:disabled{cursor:not-allowed}.new-chat-video-duration:focus-within{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-controls__assets{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.new-chat-video-controls__assets.is-single{grid-template-columns:minmax(0,1fr)}.composer-input-stack.has-inline-asset .comp-input{padding-left:96px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:96px;max-width:calc(100% - 106px)}.new-chat-inline-video{position:absolute;z-index:3;top:3px;left:10px;width:70px;height:66px}.new-chat-inline-video__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-inline-video__tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;overflow:hidden;box-sizing:border-box;border:1px dashed hsl(var(--muted-foreground) / .5);border-radius:10px;background:hsl(var(--muted) / .45);color:hsl(var(--muted-foreground));font-size:12px;line-height:1;cursor:pointer;transform:rotate(-6deg);transform-origin:center;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .15s ease-out,background-color .15s ease-out}.new-chat-inline-video__tile:hover,.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile,.new-chat-inline-video:focus-within .new-chat-inline-video__tile{border-color:hsl(var(--muted-foreground) / .72);background:hsl(var(--muted) / .68);transform:rotate(0)}.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile{outline:2px solid hsl(var(--primary) / .42);outline-offset:2px}.new-chat-inline-video__tile svg{width:22px;height:22px;flex:0 0 auto}.new-chat-inline-video__tile img,.new-chat-inline-video__tile video{width:100%;height:100%;display:block;object-fit:cover}.new-chat-inline-video__remove{position:absolute;z-index:2;top:-5px;right:-5px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .08);cursor:pointer;opacity:0;transition:opacity .14s ease-out,color .14s ease-out}.new-chat-inline-video:hover .new-chat-inline-video__remove,.new-chat-inline-video:focus-within .new-chat-inline-video__remove{opacity:1}.new-chat-inline-video__remove:hover{color:hsl(var(--foreground))}.new-chat-inline-video__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px;opacity:1}.new-chat-inline-video__remove svg{width:13px;height:13px}.new-chat-inline-video.is-disabled{opacity:.48}.new-chat-inline-video.is-disabled .new-chat-inline-video__tile,.new-chat-inline-video__remove:disabled{cursor:not-allowed}.new-chat-video-controls__model-hint{min-height:18px;display:flex;align-items:center;justify-content:center;margin:-2px 2px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.new-chat-video-controls__storage-unavailable{min-height:18px;margin:-3px 2px -4px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;text-align:center}.new-chat-video-model-spinner{width:13px;height:13px;box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:new-chat-video-model-spin .72s linear infinite}@keyframes new-chat-video-model-spin{to{transform:rotate(360deg)}}.new-chat-video-asset{position:relative;min-width:0}.new-chat-video-asset__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-video-asset__label{display:grid;min-height:50px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;border:1px dashed hsl(var(--border) / .72);border-radius:8px;background:hsl(var(--background) / .36);cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.new-chat-video-asset__label:hover{border-color:hsl(var(--muted-foreground) / .48);background:hsl(var(--background) / .8)}.new-chat-video-asset__input:focus-visible+.new-chat-video-asset__label{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset.is-disabled{opacity:.48}.new-chat-video-asset.is-disabled .new-chat-video-asset__label{cursor:not-allowed}.new-chat-video-asset__icon{display:inline-grid;width:26px;height:26px;place-items:center;border-radius:7px;background:hsl(var(--accent));color:hsl(var(--muted-foreground))}.new-chat-video-asset__icon svg{width:15px;height:15px}.new-chat-video-asset__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-video-asset__title{display:flex;min-width:0;align-items:baseline;gap:6px;font-size:13px;font-weight:550}.new-chat-video-asset__title small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:450}.new-chat-video-asset__value{overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-asset__value.is-selected{color:hsl(var(--foreground) / .78)}.new-chat-video-asset__action{padding-right:2px;color:hsl(var(--foreground) / .74);font-size:12px;font-weight:550}.new-chat-video-asset__remove{position:absolute;z-index:1;top:50%;right:7px;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer;transform:translateY(-50%)}.new-chat-video-asset__remove:hover{color:hsl(var(--foreground))}.new-chat-video-asset__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset__remove:disabled{cursor:not-allowed}.new-chat-video-asset__remove svg{width:14px;height:14px}.new-chat-video-asset:has(.new-chat-video-asset__remove) .new-chat-video-asset__action{visibility:hidden}@media (max-width: 620px){.new-chat-video-controls{right:16px;left:16px;padding-right:12px;padding-left:12px}.new-chat-video-controls__parameters{grid-template-columns:minmax(0,1fr)}.new-chat-video-controls__parameters>*{border-left:0;border-top:1px solid hsl(var(--border) / .62);border-radius:0!important}.new-chat-video-controls__parameters>:first-child{border-top:0;border-radius:8px 8px 0 0!important}.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:inherit}.new-chat-video-controls__parameters>:last-child{border-radius:0 0 8px 8px!important}.new-chat-video-controls__assets{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.new-chat-video-model-spinner{border-right-color:currentColor;animation:none}}@media (max-width: 520px){.new-chat-video-task-mode,.new-chat-video-task-mode .new-chat-compact-select,.new-chat-video-task-mode .new-chat-compact-select__trigger{max-width:132px}.new-chat-video-generation-model{max-width:84px}.new-chat-video-generation-model>span{display:none}.composer-input-stack.has-inline-asset .comp-input{padding-left:84px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:84px;max-width:calc(100% - 94px)}.new-chat-inline-video{width:60px;height:60px}}@media (prefers-reduced-motion: reduce){.new-chat-video-asset__label,.new-chat-inline-video__tile,.new-chat-inline-video__remove{transition:none}.new-chat-inline-video__tile{transform:none}}.stk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px 6vh}.stk-head{text-align:center;margin-bottom:26px}.stk-title{margin:0;font-size:24px;font-weight:650;letter-spacing:-.02em}.stk-sub{margin:8px 0 0;font-size:14px;color:hsl(var(--muted-foreground))}.stk-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px}.stk-card{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,box-shadow .15s,background .12s}.stk-card:hover{border-color:hsl(var(--ring) / .35);background:hsl(var(--foreground) / .02);box-shadow:0 8px 24px -16px hsl(var(--foreground) / .25)}.stk-card-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.stk-card-icon svg{width:21px;height:21px}.stk-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.stk-card-title{font-size:15px;font-weight:600}.stk-card-desc{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.stk-card-status{flex-shrink:0;padding:4px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.3;white-space:nowrap}.stk-card-arrow{flex-shrink:0;width:18px;height:18px;color:hsl(var(--muted-foreground));opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.stk-card:hover .stk-card-arrow{opacity:1;transform:translate(0)}.stk-card-disabled{opacity:.5;cursor:not-allowed}.stk-card-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--card));box-shadow:none}.stk-card-disabled .stk-card-arrow{display:none}.stk-footer{margin-top:18px;width:100%;max-width:520px;display:flex;justify-content:center}.stk-import{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px dashed hsl(var(--border));border-radius:9px;background:none;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.stk-import:hover{color:hsl(var(--foreground));border-color:hsl(var(--ring) / .4);background:hsl(var(--foreground) / .03)}.stk-import svg{width:15px;height:15px}.ic-root{display:flex;flex-direction:column;height:100%;min-height:0;background:hsl(var(--canvas));overflow:hidden}.ic-header{display:flex;align-items:flex-start;gap:12px;padding:20px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.ic-header h1,.ic-header p,.ic-panel h2,.ic-panel p{margin:0}.ic-header h1{font-size:20px;line-height:1.25;font-weight:650}.ic-header p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.ic-back{flex-shrink:0;min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.ic-back:hover{background:hsl(var(--muted))}.ic-main{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:32px 24px}.ic-panel{max-width:760px;margin:0 auto;padding:24px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.ic-goal-heading{display:flex;align-items:center;gap:12px}.ic-goal-heading h2{font-size:17px;line-height:1.3;font-weight:600}.ic-goal-heading p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.ic-create-icon-wrap{display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:9px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.ic-create-icon{width:20px;height:20px}.ic-goal-label{display:block;margin:24px 0 7px;font-size:12px;font-weight:600}.ic-goal-input{display:block;width:100%;min-height:136px;resize:vertical;padding:12px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6}.ic-goal-input::placeholder{color:hsl(var(--muted-foreground))}.ic-goal-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.ic-goal-input:disabled{opacity:.55;cursor:not-allowed}.ic-preparation{margin-top:12px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .55)}.ic-preparation>div{min-width:0}.ic-preparation strong{display:block;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.45}.ic-preparation .text-shimmer{width:fit-content;max-width:100%;margin:4px 0 0;font-size:13px;line-height:1.5}.ic-preparation-next{margin-top:4px!important;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.ic-state,.ic-error{margin:10px 0 0!important;font-size:12.5px;line-height:1.5}.ic-state{color:hsl(var(--muted-foreground))}.ic-error{color:hsl(var(--destructive))}.ic-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.ic-actions>span{color:hsl(var(--muted-foreground));font-size:12px}.ic-action-buttons{display:flex;align-items:center;gap:8px;flex-shrink:0}.ic-secondary,.ic-primary{height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ic-secondary{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.ic-primary{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.ic-secondary:hover{background:hsl(var(--muted))}.ic-primary:hover:not(:disabled){opacity:.88}.ic-primary:disabled{opacity:.45;cursor:not-allowed}.ic-back:focus-visible,.ic-secondary:focus-visible,.ic-primary:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}@media (max-width: 640px){.ic-header{padding:16px}.ic-main{padding:20px 16px}.ic-panel{padding:18px}.ic-actions{align-items:stretch;flex-direction:column}.ic-action-buttons{width:100%}.ic-action-buttons button{flex:1}}@media (prefers-reduced-motion: reduce){.ic-root *{transition:none!important}}.pp-config-section.pp-resource-section{overflow:visible}.pp-resource-section:has(.pp-deployment-select-trigger[aria-expanded=true]){position:relative;z-index:70}.pp-resource-list{--pp-resource-mode-column: minmax(196px, .34fr);display:flex;flex-direction:column;gap:12px}.pp-resource-item{min-width:0;padding:12px;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background))}.pp-resource-name{margin-bottom:10px;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.4}.pp-resource-grid{min-width:0;display:grid;grid-template-columns:var(--pp-resource-mode-column) minmax(0,.66fr);align-items:start;gap:12px}.pp-resource-fields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pp-resource-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-resource-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-field>input{width:100%;min-width:0;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;transition:border-color .12s ease,box-shadow .12s ease}.pp-resource-field>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-resource-field>input:disabled{cursor:not-allowed;opacity:.55}.pp-resource-auto-names{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-auto-names>dl{min-width:0;margin:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background))}.pp-resource-auto-names>dl>div{min-width:0;min-height:35px;display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,.66fr);align-items:center;gap:10px;padding:8px 10px}.pp-resource-auto-names>dl>div+div{border-top:1px solid hsl(var(--border) / .72)}.pp-resource-auto-names dt,.pp-resource-auto-names dd{min-width:0;margin:0}.pp-resource-auto-names dd{overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px}.pp-resource-auto-names>small{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-picker{min-width:0;display:flex;flex-direction:column;gap:6px}.pp-resource-status{min-height:17px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-error{min-height:17px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.pp-resource-error span{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.pp-resource-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-resource-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-resource-validation{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}@media (max-width: 760px){.pp-resource-grid,.pp-resource-fields,.pp-resource-fields-three{grid-template-columns:minmax(0,1fr)}.pp-resource-auto-names>dl>div{grid-template-columns:minmax(0,1fr);gap:2px}}@media (prefers-reduced-motion: reduce){.pp-resource-field>input{transition:none}}.layout{--pp-sidebar-width: 240px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.pp-toolbar{flex:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.pp-toolbar-left,.pp-toolbar-actions,.pp-actions{display:flex;align-items:center}.pp-toolbar-left{min-width:0;gap:18px}.pp-toolbar-actions{flex:0 0 auto;gap:8px}.pp-toolbar-back{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:15px;font-weight:500;cursor:pointer}.pp-toolbar-back:hover{color:hsl(var(--foreground))}.pp-toolbar-title{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-secondary{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.pp-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.pp-secondary:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--accent))}.pp-secondary:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.pp-secondary:disabled{opacity:.55;cursor:default}.pp-body{flex:1;min-height:0;min-width:0;display:flex}.pp-files-area{flex:1 1 auto;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.pp-sidebar{flex:0 0 218px;width:218px;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .24)}.pp-sidebar-head,.pp-main-head{flex:0 0 42px;min-height:42px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.pp-sidebar-head{gap:8px;padding:0 9px 0 14px}.pp-project-name{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:650;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.pp-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.pp-row{width:100%;min-height:29px;display:flex;align-items:center;gap:6px;padding:4px 8px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.pp-row:hover{background:hsl(var(--foreground) / .045)}.pp-file.pp-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.pp-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-folder .pp-label{color:hsl(var(--muted-foreground))}.pp-ic{width:15px;height:15px;flex:0 0 auto}.pp-chevron{color:hsl(var(--muted-foreground));transition:transform .12s ease}.pp-chevron.pp-open{transform:rotate(90deg)}.pp-icon-btn{width:28px;height:28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-icon-btn:hover:not(:disabled){background:hsl(var(--foreground) / .07);color:hsl(var(--foreground))}.pp-icon-btn:disabled{opacity:.45;cursor:default}.pp-danger:hover:not(:disabled){color:hsl(var(--destructive))}.pp-new-input{width:calc(100% - 16px);height:30px;margin:2px 8px 6px;padding:0 8px;border:1px solid hsl(var(--ring) / .55);border-radius:4px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-empty,.pp-placeholder{width:100%;padding:28px 16px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.pp-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.pp-main-head{gap:12px;padding:0 10px 0 14px;background:hsl(var(--background))}.pp-path{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-actions{gap:2px}.pp-content{flex:1;min-height:0;min-width:0;display:flex;overflow:hidden}.pp-codemirror,.pp-codemirror>div,.pp-codemirror .cm-editor{width:100%;height:100%;min-height:0}.pp-codemirror .cm-editor{overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px}.pp-codemirror .cm-scroller{overflow:auto;overscroll-behavior:none;scroll-padding-block:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.58}.pp-codemirror .cm-content{padding:10px 0 0}.pp-codemirror .cm-line{padding:0 14px 0 8px}.pp-codemirror .cm-content>.cm-line:last-child:has(>br:only-child){display:none}.pp-codemirror .cm-gutters{border-right:1px solid hsl(var(--border) / .7);background:hsl(var(--secondary) / .2);color:hsl(var(--muted-foreground) / .65)}.pp-codemirror .cm-activeLine,.pp-codemirror .cm-activeLineGutter{background:hsl(var(--foreground) / .035)}.pp-codemirror .cm-focused{outline:none}.pp-editor-loading{height:100%;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12px}.pp-pre{flex:1;width:100%;height:100%;box-sizing:border-box;margin:0;padding:14px 16px 0;overflow:auto;background:hsl(var(--background));color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;font-style:normal;font-variant-ligatures:none;font-weight:400;line-height:1.58;-moz-tab-size:2;tab-size:2;white-space:pre}.pp-root.is-deploy{--pp-publish-content-width: min(760px, calc(100% - 48px) );overflow-y:auto}.pp-root.is-deploy.is-embedded{--pp-publish-content-width: 100%}.pp-root.is-deploy .pp-body{flex:0 0 auto;min-height:100%;display:grid;grid-template-rows:auto auto;overflow:visible}.pp-root.is-deploy.has-primary-pane .pp-body{display:flex;justify-content:center;background:hsl(var(--background))}.pp-root.is-deploy.has-primary-pane .pp-config{width:min(760px,100%);background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-head,.pp-root.is-deploy.has-primary-pane .pp-config-actions{border:0;background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-actions{position:sticky;bottom:0;width:var(--pp-publish-content-width);margin:0 auto;justify-content:center;padding:12px 0 18px;background:hsl(var(--background));transform:none}.pp-root.is-deploy.has-primary-pane .pp-deploy-hint{position:absolute;left:18px}.pp-root.is-deploy .pp-files-area{display:none}.pp-release-overview{min-width:0;min-height:0;border-bottom:0;background:transparent}.pp-release-preview{width:var(--pp-publish-content-width);box-sizing:border-box;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 auto;padding:8px 0 12px}.pp-release-preview.is-embedded{grid-template-columns:minmax(0,1fr) 132px;align-items:stretch}.pp-flow-thumbnail{position:relative;height:200px;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px;background:transparent;box-shadow:none}.pp-flow-thumbnail .abc-root,.pp-flow-dialog-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;flex:1 1 auto;border:0;background:transparent}.pp-flow-thumbnail .abc-canvas,.pp-flow-dialog-canvas .abc-canvas{flex:1;min-height:0;background:transparent}.pp-flow-thumbnail .react-flow__pane{cursor:grab}.pp-flow-thumbnail .react-flow__pane:active{cursor:grabbing}.pp-flow-thumbnail .react-flow__controls{display:none}.pp-flow-expand{position:absolute;z-index:5;right:10px;bottom:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit}.pp-flow-expand:hover{background:transparent;color:hsl(var(--foreground))}.pp-flow-expand:focus-visible{outline:2px solid hsl(var(--primary) / .72);outline-offset:2px}.pp-flow-expand svg{width:17px;height:17px}.pp-release-info{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-release-card-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34);color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-release-info-body{padding:14px 18px 16px}.pp-release-info-main{min-width:0}.pp-release-info h2{margin:0;color:hsl(var(--foreground));font-size:18px;font-weight:700;letter-spacing:-.02em}.pp-release-description{display:-webkit-box;margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;overflow:hidden;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:12px 0 0}.pp-release-facts>div{min-width:0}.pp-release-facts dt{color:hsl(var(--muted-foreground));font-size:13px}.pp-release-facts dd{margin:5px 0 0;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-release-facts .pp-release-fact-long{display:-webkit-box;overflow:hidden;line-height:1.45;text-overflow:clip;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts .pp-release-prompt{-webkit-line-clamp:3}.pp-artifact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:12px}.pp-artifact-actions.is-rail{flex-direction:column;flex-wrap:nowrap;gap:8px;margin:0;padding:0}.pp-artifact-actions.is-rail .pp-secondary,.pp-artifact-actions.is-rail .code-browser-trigger{flex:1 1 0;width:100%;min-height:36px;justify-content:center}.pp-artifact-actions .pp-secondary,.pp-artifact-actions .code-browser-trigger{min-height:34px;padding-inline:12px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);box-shadow:none;color:hsl(var(--foreground));font-size:13px}.pp-artifact-actions .pp-secondary:hover,.pp-artifact-actions .code-browser-trigger:hover{background:hsl(var(--secondary))}.pp-flow-backdrop{--cw-workspace-ink: 222 24% 13%;position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:32px;background:hsl(var(--foreground) / .36);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pp-flow-dialog{width:min(1120px,92vw);height:min(720px,86vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 80px hsl(var(--foreground) / .22)}.pp-flow-dialog>header{flex:0 0 62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 18px 0 22px;border-bottom:1px solid hsl(var(--border))}.pp-flow-dialog>header>div{display:flex;flex-direction:column;gap:3px}.pp-flow-dialog>header strong{font-size:15px;font-weight:680}.pp-flow-dialog>header span{color:hsl(var(--muted-foreground));font-size:10.5px}.pp-flow-dialog>header button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-flow-dialog>header button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.pp-flow-dialog>header svg{width:17px;height:17px}.pp-flow-dialog-canvas{flex:1;min-height:0;background:transparent}.pp-config{position:relative;min-width:0;width:auto;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.pp-config-head{width:var(--pp-publish-content-width);flex:0 0 48px;height:48px;box-sizing:border-box;display:flex;align-items:center;margin:0 auto;padding:0;border-bottom:0}.pp-config-title{color:hsl(var(--foreground));font-size:18px;font-weight:650;letter-spacing:-.01em}.pp-env-sub{margin-top:4px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.pp-config-scroll{width:var(--pp-publish-content-width);flex:0 0 auto;min-height:0;box-sizing:border-box;display:block;margin:0 auto;overflow:visible;padding:0 0 88px}.pp-config-actions{position:fixed;z-index:40;left:calc((100vw + var(--pp-sidebar-width, 0px)) / 2);bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;transform:translate(-50%)}.pp-config-actions.is-external{display:none}.pp-config-section{width:100%;min-width:0;box-sizing:border-box;margin:0 0 12px;padding:0 18px 16px;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-config-section:has(.pp-network-region){overflow:visible}.pp-config-section:has(.pp-network-region.is-open){position:relative;z-index:70}.pp-config-section:has(.pp-network-region)>.pp-config-label{border-radius:17px 17px 0 0}.pp-env-section,.pp-progress-section,.pp-deploy-result,.pp-config-scroll>.pp-error{width:100%;margin-inline:0}.pp-config-label{display:block;margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent;color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-env-head{margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent}.pp-env-head .pp-config-label{margin:0;padding:0;border:0;background:transparent}.pp-config-note{margin:-4px 0 10px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.pp-runtime-name-field{display:grid;gap:6px}.pp-runtime-name-field>.pp-config-note,.pp-runtime-name-field>.pp-runtime-name-error{margin:0}.pp-auth-section{overflow:visible}.pp-auth-preserved-note{margin:0}.pp-auth-fields{width:min(100%,560px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.pp-auth-fields>label{min-width:0;display:flex;flex-direction:column;gap:7px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-github-cicd-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.pp-github-cicd-tabs{min-width:0;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--muted) / .42)}.pp-github-cicd-tabs button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.pp-github-cicd-tabs button.is-active{border-color:hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.pp-github-cicd-tabs button:disabled{opacity:.55;cursor:default}.pp-github-cicd-copy{margin:-4px 0 12px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.pp-github-cicd-status{display:inline-flex;align-items:center;gap:5px;color:hsl(var(--primary));font-size:11.5px;font-weight:560;white-space:nowrap}.pp-github-cicd-status .pp-ic{width:13px;height:13px}.pp-github-cicd-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.84fr);gap:10px}.pp-github-cicd-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deployment-select{position:relative;min-width:0}.pp-deployment-select-trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.pp-deployment-select-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.pp-deployment-select-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.pp-deployment-select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-deployment-select-trigger:disabled{cursor:not-allowed;opacity:.5}.pp-deployment-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-trigger>.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.pp-deployment-select-chevron{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.pp-deployment-select-chevron.is-open{transform:rotate(180deg)}.pp-deployment-select-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;left:0;max-height:238px;display:flex;flex-direction:column;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.pp-deployment-select-search{flex-shrink:0;padding:2px 2px 6px}.pp-deployment-select-search>input{width:100%;height:32px;box-sizing:border-box;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-deployment-select-search>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-deployment-select-options{min-height:0;overflow-y:auto;overscroll-behavior:contain}.pp-deployment-select-state{flex-shrink:0;padding:9px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-align:center}.pp-deployment-select-option{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.pp-deployment-select-option:hover,.pp-deployment-select-option:focus-visible,.pp-deployment-select-option.is-selected{outline:none;background:hsl(var(--muted) / .5)}.pp-deployment-select-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.pp-deployment-select-name{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-option>svg{width:15px;height:15px;flex-shrink:0;color:hsl(var(--primary))}.pp-deployment-select-badge{flex-shrink:0;padding:1px 5px;border:1px solid hsl(211 90% 48% / .24);border-radius:999px;background:#006fe61a;color:#1863b4;font-size:10px;font-weight:600}.pp-user-pool-picker{min-width:0;display:flex;flex-direction:column;gap:7px}.pp-user-pool-status{min-height:18px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.pp-user-pool-spinner{width:13px;height:13px;flex-shrink:0;animation:pp-spin .9s linear infinite}.pp-user-pool-error{min-height:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.pp-user-pool-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-user-pool-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-github-cicd-field:first-child{grid-column:1 / -1}.pp-github-cicd-field>span{color:hsl(var(--foreground));font-weight:560}.pp-github-cicd-submit{grid-column:1 / -1;align-self:end;min-width:0;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--primary));border-radius:6px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font:inherit;font-size:12.5px;font-weight:620;cursor:pointer;white-space:nowrap}.pp-github-cicd-submit:disabled{opacity:.52;cursor:default}.pp-github-cicd-result,.pp-github-cicd-error{margin-top:14px;padding-top:12px;border-top:1px solid hsl(var(--border) / .72)}.pp-github-cicd-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.pp-github-cicd-result-head strong,.pp-github-cicd-error strong{color:hsl(var(--foreground));font-size:13px;font-weight:650}.pp-github-cicd-result-head span{color:hsl(var(--primary));font-size:11.5px;font-weight:620}.pp-github-cicd-result-grid,.pp-github-cicd-error dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0}.pp-github-cicd-result-grid div,.pp-github-cicd-error dl div{min-width:0}.pp-github-cicd-result dt,.pp-github-cicd-error dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11.5px}.pp-github-cicd-result dd,.pp-github-cicd-error dd{margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.pp-github-cicd-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}.pp-github-cicd-links a{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:5px;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12px;font-weight:600;text-decoration:none}.pp-github-cicd-error{color:hsl(var(--destructive))}.pp-github-cicd-error p{margin:6px 0 10px;color:hsl(var(--destructive));font-size:12.5px;line-height:1.5}.pp-github-cicd-error dd{color:hsl(var(--destructive))}.pp-github-cicd-bound-note{margin:10px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-instance-note{margin:10px 0 0;color:#d79804;font-size:12px;line-height:1.5}.pp-instance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pp-instance-fields label{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-instance-error{margin:8px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select,.pp-runtime-name-input,.pp-channel-fields input,.pp-github-cicd-field input,.pp-instance-fields input,.pp-network-fields input,.pp-env-row input,.pp-env-row textarea{width:100%;min-width:0;height:34px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;transition:border-color .12s ease,box-shadow .12s ease}.pp-channel-fields input{height:30px;padding-inline:8px;font-size:11.5px}.pp-config-select:focus,.pp-runtime-name-input:focus,.pp-channel-fields input:focus,.pp-github-cicd-field input:focus,.pp-instance-fields input:focus,.pp-network-fields input:focus,.pp-env-row input:focus,.pp-env-row textarea:focus{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-runtime-name-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .72)}.pp-runtime-name-input[aria-invalid=true]:focus{box-shadow:0 0 0 2px hsl(var(--destructive) / .1)}.pp-runtime-name-error{margin:-4px 0 10px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select:disabled,.pp-runtime-name-input:disabled,.pp-channel-fields input:disabled,.pp-github-cicd-field input:disabled,.pp-instance-fields input:disabled,.pp-network-fields input:disabled,.pp-env-row input:disabled,.pp-env-row textarea:disabled{opacity:.55}.pp-channel-card{position:relative;width:clamp(154px,33.333%,236px);max-width:100%;height:112px;perspective:1200px;transition:height .18s ease}.pp-channel-card.is-flipped{height:176px}.pp-channel-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1)}.pp-channel-card.is-flipped .pp-channel-card-inner{transform:rotateY(180deg)}.pp-channel-card-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;box-sizing:border-box;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:14px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden}.pp-channel-card-front{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px;padding:12px;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.pp-channel-card-front:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);box-shadow:0 12px 30px hsl(var(--foreground) / .07);transform:translateY(-1px)}.pp-channel-card-front:focus-visible,.pp-channel-remove:focus-visible{outline:2px solid hsl(var(--ring) / .58);outline-offset:2px}.pp-channel-card-front:disabled{cursor:default}.pp-channel-card-back{padding:10px;transform:rotateY(180deg)}.pp-channel-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-channel-card-head>strong{font-size:12.5px;font-weight:650}.pp-channel-logo{width:42px;height:42px;flex:0 0 42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border) / .65);border-radius:12px;background:#fff;box-shadow:0 4px 14px hsl(var(--foreground) / .07)}.pp-channel-logo img{width:30px;height:30px;display:block}.pp-channel-card-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.pp-channel-card-copy strong{font-size:14px;font-weight:650}.pp-channel-card-copy small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-channel-remove{min-height:24px;padding:0 6px;border:1px solid hsl(var(--destructive) / .14);border-radius:7px;background:hsl(var(--destructive) / .07);color:#863232;cursor:pointer;font:inherit;font-size:10.5px;white-space:nowrap}.pp-channel-remove:hover:not(:disabled){background:hsl(var(--destructive) / .12);color:#782626}.pp-channel-fields{display:flex;flex-direction:column;gap:6px;margin-top:7px}.pp-channel-fields label{min-width:0;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:11px}.pp-channel-fields label>span{color:hsl(var(--foreground));font-weight:560}.pp-channel-fields small{margin-left:5px;color:hsl(var(--destructive));font-size:9px;font-weight:500}.pp-network-layout{width:min(100%,560px);display:grid;grid-template-columns:minmax(132px,.36fr) minmax(0,.64fr);align-items:start;gap:24px}.pp-network-region{position:relative;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-region.is-open{z-index:80}.pp-region-trigger{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.pp-region-trigger:hover,.pp-region-trigger[aria-expanded=true]{border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025)}.pp-region-trigger:focus-visible{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-region-trigger:disabled{cursor:not-allowed;opacity:.58;background:hsl(var(--muted) / .32)}.pp-region-help{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-region-chevron{width:15px;height:15px;color:hsl(var(--muted-foreground));transition:transform .15s ease}.pp-region-chevron.is-open{transform:rotate(180deg)}.pp-region-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:81;padding:5px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .12)}.pp-region-option{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.pp-region-option:hover,.pp-region-option:focus-visible,.pp-region-option.is-selected{outline:none;background:hsl(var(--foreground) / .055)}.pp-region-option.is-selected{font-weight:600}.pp-region-option svg{width:15px;height:15px;color:hsl(var(--primary))}.pp-network-modes{display:flex;flex-direction:column;gap:9px}.pp-network-option{min-height:28px;display:flex;align-items:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560;cursor:pointer}.pp-network-option:has(input:checked){color:hsl(var(--foreground))}.pp-network-option:has(input:disabled){cursor:default;opacity:.58}.pp-network-option input{width:15px;height:15px;flex:0 0 15px;display:grid;place-items:center;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,box-shadow .12s ease}.pp-network-option input:before{width:7px;height:7px;border-radius:50%;background:hsl(var(--primary));content:"";transform:scale(0);transition:transform .12s ease-out}.pp-network-option input:checked{border-color:hsl(var(--primary))}.pp-network-option input:checked:before{transform:scale(1)}.pp-network-option input:focus-visible,.pp-network-check input:focus-visible,.pp-evaluation-set-option input:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-network-fields{display:flex;flex-direction:column;gap:12px;min-width:0}.pp-network-fields label:not(.pp-network-check){display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-fields small{font-size:10.5px;font-weight:400}.pp-network-check{display:flex;align-items:center;gap:8px;color:hsl(var(--foreground));font-size:12.5px;cursor:pointer}.pp-evaluation-set-option{display:flex;align-items:flex-start;gap:10px;color:hsl(var(--foreground));cursor:pointer}.pp-evaluation-set-option>span{display:flex;flex-direction:column;gap:3px;min-width:0}.pp-evaluation-set-option strong{font-size:13px;font-weight:550;line-height:1.45}.pp-evaluation-set-option small{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-network-check input,.pp-evaluation-set-option input{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.pp-network-check input:before,.pp-evaluation-set-option input:before{width:4px;height:8px;border:solid hsl(var(--primary-foreground));border-width:0 2px 2px 0;content:"";transform:translateY(-1px) rotate(45deg) scale(0);transition:transform .12s ease-out}.pp-network-check input:checked,.pp-evaluation-set-option input:checked{border-color:hsl(var(--primary));background:hsl(var(--primary))}.pp-network-check input:checked:before,.pp-evaluation-set-option input:checked:before{transform:translateY(-1px) rotate(45deg) scale(1)}.pp-env-section{width:100%;padding-bottom:16px}.pp-env-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.pp-env-head .pp-config-label{display:flex;align-items:center;gap:7px;margin-bottom:0}.pp-env-count{display:inline-flex;align-items:center}.pp-env-table{display:flex;flex-direction:column;margin-top:10px}.pp-env-group{padding:4px 7px 0;border:1px solid hsl(var(--border) / .75);border-radius:6px;background:hsl(var(--secondary) / .16)}.pp-env-group-head{display:flex;align-items:center;justify-content:space-between;padding:5px 1px 3px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.pp-env-group-head small{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:450}.pp-env-group-head-custom{margin-top:12px}.pp-env-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid hsl(var(--border) / .65)}.pp-env-row.is-multiline{align-items:start}.pp-env-row input:first-child{font-family:inherit;font-size:13px}.pp-env-row-derived:last-child{border-bottom:0}.pp-env-key-fixed{background:hsl(var(--secondary) / .32)!important;cursor:default}.pp-env-key-cell{min-width:0;min-height:34px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;color:hsl(var(--foreground));font-size:13px;font-weight:500}.pp-env-key-cell span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.pp-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.pp-env-help:hover .pp-env-help-popover,.pp-env-help:focus-visible .pp-env-help-popover,.pp-env-help:focus-within .pp-env-help-popover{opacity:1;pointer-events:auto}.pp-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-value-wrap{min-width:0;display:grid;gap:4px}.pp-env-value{min-width:0;width:100%}.pp-env-secret-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px}.pp-env-secret-toggle{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer}.pp-env-secret-toggle:hover:not(:disabled){background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.pp-env-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-secret-toggle:disabled{cursor:not-allowed;opacity:.52}.pp-env-secret-toggle svg,.pp-env-secret-spinner{width:16px;height:16px}.pp-env-secret-spinner{animation:pp-spin .8s linear infinite}.pp-env-reveal-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-json-value{min-height:86px;padding:8px 10px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45}.pp-env-value[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.pp-env-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.pp-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.pp-env-link svg{width:13px;height:13px;flex:0 0 13px}.pp-env-source{color:hsl(var(--muted-foreground));font-size:11px;text-align:center}.pp-env-remove{width:28px;height:28px}.pp-env-add{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:600;cursor:pointer}.pp-env-add:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025);color:hsl(var(--foreground))}.pp-env-add:disabled{opacity:.5}.pp-steps{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.pp-step{position:relative;min-height:34px;display:flex;align-items:flex-start;gap:9px}.pp-step:not(:last-child):after{content:"";position:absolute;top:20px;bottom:-2px;left:9px;width:1px;background:hsl(var(--border))}.pp-step-dot{z-index:1;width:19px;height:19px;flex:0 0 19px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10px}.pp-step-body{min-width:0;display:flex;flex-direction:column;padding-top:1px}.pp-step-label{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560}.pp-step-msg{max-width:300px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-step.is-active .pp-step-dot{border-color:hsl(var(--primary));color:hsl(var(--primary))}.pp-step.is-done .pp-step-dot{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-step.is-failed .pp-step-dot{border-color:hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.pp-error{margin:14px 18px;padding:10px 11px;border:1px solid hsl(var(--destructive) / .22);border-radius:5px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px;line-height:1.5}.pp-deploy-result{margin:14px 18px 18px;padding:14px;border:1px solid hsl(var(--primary) / .2);border-radius:6px;background:hsl(var(--primary) / .035)}.pp-deploy-result-header{margin-bottom:12px;color:hsl(var(--foreground));font-size:13px;font-weight:650}.pp-deploy-result-body{display:flex;flex-direction:column;gap:10px}.pp-deploy-result-warning{display:flex;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid hsl(42 90% 45% / .25);border-radius:6px;background:#f2ad0d12;color:#9e6310;font-size:12.5px;line-height:1.5}.pp-deploy-result-field{display:flex;flex-direction:column;gap:4px}.pp-deploy-result-field label{color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deploy-result-field code{overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px}.pp-deploy-result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.pp-confirm-dialog{width:min(420px,calc(100vw - 40px));height:auto;min-height:0}.pp-confirm-head{flex-basis:60px}.pp-confirm-icon{background:#f59f0a1f;color:#ba6708}.pp-confirm-body{padding:24px 20px}.pp-confirm-body p{margin:0;color:hsl(var(--foreground));font-size:14px;line-height:1.65}.pp-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.pp-confirm-actions button{min-width:76px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pp-confirm-actions button:hover{background:hsl(var(--secondary))}.pp-confirm-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.pp-confirm-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-confirm-actions .is-primary:hover{background:hsl(var(--primary) / .9)}.pp-deploy-result-btn,.pp-console-link-btn{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border-radius:5px;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer}.pp-deploy-result-btn{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-console-link-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.spin{animation:pp-spin .85s linear infinite}@keyframes pp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pp-channel-card-inner,.pp-channel-card-front,.pp-deployment-select-chevron,.pp-config-actions .pp-deploy{transition:none}}@media (max-width: 1120px){.pp-release-preview{grid-template-columns:minmax(320px,.9fr) minmax(300px,1.1fr)}.pp-sidebar{flex-basis:190px;width:190px}}@media (max-width: 860px){.pp-root.is-deploy{--pp-publish-content-width: min(88%, calc(100% - 36px) )}.pp-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.pp-toolbar-actions{width:100%}.pp-body{overflow-y:auto;flex-direction:column}.pp-root.is-deploy .pp-body{display:flex}.pp-release-overview{flex:0 0 auto;min-height:0;border-right:0;border-bottom:0}.pp-release-preview{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:220px auto}.pp-release-info{min-height:200px}.pp-files-area{min-height:520px}.pp-config{width:100%;min-height:680px;border-top:0;border-left:0}.pp-config-scroll{padding-inline:0;padding-bottom:84px}.pp-config-actions{bottom:max(14px,env(safe-area-inset-bottom))}.pp-flow-backdrop{padding:12px}}@media (max-width: 520px){.pp-auth-fields,.pp-github-cicd-form,.pp-github-cicd-result-grid,.pp-github-cicd-error dl{grid-template-columns:minmax(0,1fr)}.pp-github-cicd-submit{width:100%}.pp-network-layout{grid-template-columns:minmax(0,1fr);gap:16px}.pp-env-section{width:100%}}@layer components{._Container_1tuad_1{position:relative;display:flex}._Container_1tuad_1[data-has-label]{align-items:flex-start}._Container_1tuad_1[data-orientation=right]{flex-direction:row-reverse}._Container_1tuad_1>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._Checkbox_1tuad_22{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;max-width:18px;height:18px;padding:0;border-radius:var(--radius-xs);background-color:transparent;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}._Checkbox_1tuad_22,:where([data-theme=light]) ._Checkbox_1tuad_22{border:1px solid var(--gray-200)}:where([data-theme=dark]) ._Checkbox_1tuad_22{border:1px solid var(--gray-500)}[data-has-label] ._Checkbox_1tuad_22{top:1px}@media (hover: hover) and (pointer: fine){._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover,:where([data-theme=light]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-600)}}._Checkbox_1tuad_22[data-state=indeterminate],._Checkbox_1tuad_22[data-state=checked]{border-color:var(--gray-900);background-color:var(--gray-900)}._Checkbox_1tuad_22:focus{outline:none}._Checkbox_1tuad_22:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._Checkbox_1tuad_22[data-disabled]{cursor:not-allowed}._Checkbox_1tuad_22[data-disabled],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-150);background:var(--gray-25)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-300);background:var(--gray-200)}._Checkbox_1tuad_22[data-disabled][data-state=checked],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-300);background-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-200);background-color:var(--gray-200)}._CheckMark_1tuad_92{position:absolute;top:0;left:0;width:64%;height:32%;transform:rotate(-45deg) translate(-10%,100%);transform-origin:center;transition:opacity .15s ease,transform .15s ease}@starting-style{._CheckMark_1tuad_92{opacity:0}}[data-state=indeterminate] ._CheckMark_1tuad_92{transform:translate(30%,80%)}[data-state=indeterminate] ._CheckMark_1tuad_92:before{opacity:0}._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{position:absolute;display:block;background:var(--gray-0);content:"";will-change:transform}@starting-style{._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{transform:scale(0)}}:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:before,:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:after{background:var(--gray-100)}._CheckMark_1tuad_92:before{top:0;bottom:0;left:0;width:2px;transform-origin:0 0;transition:transform .1s ease 80ms,opacity .2s ease}._CheckMark_1tuad_92 [data-state=indeterminate]:before{opacity:0}._CheckMark_1tuad_92:after{right:0;bottom:0;left:0;height:2px;transform-origin:0 100%;transition:transform .1s ease .16s}._Label_1tuad_162{display:flex;align-items:center;min-height:20px;cursor:pointer;font-size:14px;line-height:20px}[data-disabled] ._Label_1tuad_162{cursor:not-allowed}[data-orientation=left] ._Label_1tuad_162{padding-left:8px}[data-orientation=right] ._Label_1tuad_162{padding-right:8px}}@layer components{._RadioGroup_onrfm_1{display:flex;gap:var(--radio-group-row-gap)}._RadioGroup_onrfm_1:where([data-direction=col]){flex-direction:column;gap:var(--radio-group-col-gap)}._RadioLabel_onrfm_9{display:inline-flex;flex-direction:row;align-items:flex-start;gap:var(--radio-group-item-gap);cursor:pointer;font-size:var(--radio-group-item-font-size);line-height:var(--radio-group-item-line-height)}._RadioLabel_onrfm_9[data-disabled]{cursor:not-allowed;opacity:.5}._RadioLabel_onrfm_9[data-block]{width:100%}._RadioIndicatorWrapper_onrfm_26{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--radio-group-item-line-height)}._RadioIndicatorWrapper_onrfm_26>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._RadioItem_onrfm_43{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);padding:0;border:none;border-radius:var(--radius-full);background-color:transparent;box-shadow:0 0 0 1px var(--radio-group-indicator-border-color) inset;cursor:pointer;transition-duration:var(--transition-duration-basic);transition-property:box-shadow;transition-timing-function:var(--transition-ease-basic)}@media (hover: hover) and (pointer: fine){._RadioItem_onrfm_43:where(:not([data-disabled])):hover{box-shadow:0 0 0 1px var(--radio-group-indicator-border-color-hover) inset}}._RadioItem_onrfm_43[data-disabled]{cursor:not-allowed}._RadioItem_onrfm_43:focus{outline:none}._RadioItem_onrfm_43:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._RadioIndicator_onrfm_26{position:relative;display:inline-grid;align-items:center;justify-content:center;width:100%;height:100%}._RadioIndicator_onrfm_26:before,._RadioIndicator_onrfm_26:after{display:block;content:"";grid-column-start:1;grid-row-start:1;place-self:center center;will-change:transform}._RadioIndicator_onrfm_26:before{width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);border-radius:var(--radius-full);animation:_fade-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-background-color)}._RadioIndicator_onrfm_26:after{width:var(--radio-group-indicator-hole-size);height:var(--radio-group-indicator-hole-size);border-radius:var(--radius-full);animation:_scale-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-hole-background-color)}@keyframes _scale-in_onrfm_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _fade-in_onrfm_1{0%{opacity:0}to{opacity:1}}}.cloud-env-config{width:min(100%,820px);min-height:0;display:flex;flex-direction:column;gap:22px;margin:0 auto;padding:0}.cloud-env-categories{min-width:0;display:flex;flex-direction:column;gap:20px}.cloud-env-category{min-width:0}.cloud-env-category h2{margin:0 0 6px 4px;color:hsl(var(--foreground));font-size:14px;font-weight:500;line-height:1.4}.cloud-env-tool-list{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px}.cloud-env-tool{min-width:0;min-height:54px;display:flex;align-items:center;gap:10px;padding:4px;border-radius:8px;transition:background-color .15s ease,color .15s ease}.cloud-env-tool:hover,.cloud-env-tool.is-selected{background:hsl(var(--muted) / .34)}.cloud-env-tool-icon{width:38px;height:38px;flex:0 0 auto;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));color:hsl(var(--foreground) / .78)}.cloud-env-tool-icon svg,.cloud-env-tool-icon img{width:21px;height:21px;display:block}.cloud-env-tool-content{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:3px}.cloud-env-tool-content>strong{color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.4}.cloud-env-tool-description{min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.cloud-env-tool-action{width:28px;min-width:28px;height:28px;flex:0 0 auto;padding:0;border-radius:7px}.cloud-env-tool-action svg{width:14px;height:14px}.cloud-env-footer-trigger{width:100%;min-height:54px;display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.cloud-env-footer-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--muted) / .26)}.cloud-env-footer-trigger:focus-visible{outline:2px solid hsl(var(--ring) / .42);outline-offset:2px}.cloud-env-footer-trigger:disabled{cursor:not-allowed;opacity:.55}.cloud-env-footer-trigger-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:hsl(var(--muted) / .6);color:hsl(var(--foreground) / .76)}.cloud-env-footer-trigger-icon svg,.cloud-env-footer-trigger-action{width:16px;height:16px}.cloud-env-footer-trigger-copy{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:1px}.cloud-env-footer-trigger-copy>span{font-size:12.5px;font-weight:500;line-height:1.4}.cloud-env-footer-trigger-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.cloud-env-footer-trigger-badge,.cloud-env-footer-trigger-action{flex:0 0 auto}.cloud-env-footer-trigger-action{color:hsl(var(--muted-foreground))}.cloud-env-dialog-backdrop{position:fixed;z-index:1250;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cloud-env-dialog{width:min(900px,92vw);height:min(680px,86vh);min-height:480px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16)}.cloud-env-dialog-header{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px 10px 18px;border-bottom:1px solid hsl(var(--border))}.cloud-env-dialog-header h2,.cloud-env-dialog-header p{margin:0}.cloud-env-dialog-header h2{font-size:15px;font-weight:600;line-height:1.4}.cloud-env-dialog-header p{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cloud-env-dialog-header-actions{display:flex;align-items:center;gap:8px}.cloud-env-dialog-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cloud-env-dialog-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.cloud-env-dialog-close svg{width:16px;height:16px}.cloud-env-dialog-body{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px;padding:14px 18px}.cloud-env-dialog-toolbar{min-width:0;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:12px}.cloud-env-dialog-toolbar p{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.cloud-env-custom-notice{margin:0;padding:8px 10px;border-radius:7px;background:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55}.cloud-env-editor{flex:1;height:auto;min-width:0;min-height:240px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background))}.cloud-env-editor.is-invalid{border-color:hsl(var(--destructive) / .7)}.cloud-env-editor>.cm-theme-light,.cloud-env-editor .cm-editor{width:100%;height:100%;min-width:0;min-height:0}.cloud-env-editor .cm-scroller{overflow:auto}.cloud-env-editor .cm-focused{outline:2px solid hsl(var(--ring) / .36);outline-offset:-2px}.cloud-env-editor-loading{height:100%;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cloud-env-editor-error{margin:0;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.cloud-env-dialog-footer{min-height:56px;display:flex;align-items:center;justify-content:flex-end;padding:10px 18px;border-top:1px solid hsl(var(--border))}@media (max-width: 700px){.cloud-env-config{gap:14px}.cloud-env-categories{gap:20px}.cloud-env-tool-list{grid-template-columns:minmax(0,1fr)}.cloud-env-dialog-backdrop{padding:12px}.cloud-env-dialog{width:100%;height:min(720px,92vh)}.cloud-env-footer-trigger-badge{display:none}}@media (prefers-reduced-motion: reduce){.cloud-env-tool,.cloud-env-footer-trigger{transition:none}}.cw-root{--cw-workspace-gutter: 10px;--cw-workspace-width: 60%;--cw-workbench-toolbar-height: 64px;--cw-workspace-ink: 222 24% 13%;--cw-workspace-accent: 162 44% 32%;--cw-workspace-accent-soft: 156 34% 92%;--cw-workspace-warm: 42 28% 96%;flex:1;min-height:0;display:flex;flex-direction:column;height:100%;color:hsl(var(--foreground));background:hsl(var(--background))}.cw-root.is-validate{--cw-workspace-width: min(88%, 1440px)}.cw-root.is-environment{--cw-workspace-width: min(76%, 1100px)}.cw-root.is-publish{--cw-workspace-width: min(80%, 1180px)}.cw-workspace-header{position:relative;z-index:12;flex:0 0 auto;width:var(--cw-workspace-width);min-height:48px;display:flex;justify-content:center;align-items:center;margin:12px auto 0;padding:8px 0;background:transparent}.cw-workspace-header h1{margin:0;color:hsl(var(--foreground));font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.02em;white-space:nowrap}.cw-workspace-main{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;width:var(--cw-workspace-width);margin:0 auto;padding:8px 0 20px;background:transparent}.cw-workspace-footer{flex:0 0 auto;display:flex;flex-direction:column;width:var(--cw-workspace-width);gap:12px;margin:0 auto 24px;padding:12px 0 4px;background:transparent}.cw-workspace-footer-accessory{width:100%}.cw-workspace-nav-actions{width:100%;display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:12px;margin:0 auto}.cw-workspace-nav-actions.has-assistant{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"assistant next"}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:first-child,.cw-workspace-nav-actions.has-assistant>span[aria-hidden=true]{display:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-ai-slot{grid-area:assistant}.cw-publish-action-slot{grid-column:3;display:flex;justify-content:flex-end}.cw-publish-action-slot .pp-deploy{position:static;min-width:70px;min-height:38px;transform:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:last-child{grid-area:next}.cw-workspace-ai-slot{min-width:0}.cw-workspace-nav-button{min-height:36px;justify-self:start;padding:0 18px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:background-color .16s ease,border-color .16s ease}.cw-workspace-nav-button:last-child{justify-self:end}.cw-workspace-nav-button:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--muted) / .55)}.cw-workspace-nav-button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.cw-workspace-nav-button.is-primary:hover:not(:disabled){border-color:hsl(var(--foreground) / .86);background:hsl(var(--foreground) / .86)}.cw-workspace-nav-button:focus-visible,.cw-workspace-progress button:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}.cw-workspace-nav-button:disabled{cursor:not-allowed;opacity:.5}.cw-workspace-nav-button.is-placeholder{visibility:hidden;pointer-events:none}.cw-workspace-progress{width:min(176px,48vw);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0 auto}.cw-workspace-progress button{height:12px;padding:4px 0;border:0;background:transparent;cursor:pointer}.cw-workspace-progress button>span{display:block;height:3px;border-radius:999px;background:hsl(var(--muted-foreground) / .16);transition:background-color .16s ease}.cw-workspace-progress button.is-complete>span,.cw-workspace-progress button.is-active>span{background:hsl(var(--foreground) / .46)}.cw-workspace-progress button.is-active>span{height:4px}.cw-workspace-progress button:disabled{cursor:not-allowed}@media (prefers-reduced-motion: reduce){.cw-workspace-nav-button,.cw-workspace-progress button>span{transition:none}}.cw-build-workspace{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.cw-ai-compose{min-width:0}.cw-ai-compose-entry{min-width:0;display:grid;gap:6px}.cw-ai-compose-form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 4px 4px 16px;border-radius:16px;background:hsl(var(--panel));box-shadow:inset 0 0 0 1px hsl(var(--border) / .7),0 8px 24px hsl(var(--foreground) / .05);transition:background-color .18s ease,box-shadow .18s ease}.cw-ai-compose.is-generating .cw-ai-compose-form{background:hsl(var(--muted) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .05)}.cw-ai-compose-form input{min-width:0;height:38px;min-height:38px;padding:6px 0;border:0;outline:none;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.cw-ai-compose-form input::placeholder{color:hsl(var(--muted-foreground) / .72)}.cw-ai-compose-form:has(input:focus-visible){background:hsl(var(--background));box-shadow:0 0 0 2px hsl(var(--ring) / .12),inset 0 0 0 1px hsl(var(--ring) / .24)}.cw-ai-compose-form input:focus,.cw-ai-compose-form input:focus-visible{outline:none;box-shadow:none}.cw-ai-compose.is-generating .cw-ai-compose-form input{color:hsl(var(--muted-foreground) / .78);cursor:wait}.cw-ai-compose-form button{height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:0;border-radius:12px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650;white-space:nowrap;transition:background-color .15s ease,opacity .15s ease}.cw-ai-compose-form button:hover:not(:disabled){background:hsl(var(--foreground) / .86)}.cw-ai-compose-form button:disabled{cursor:not-allowed;opacity:.34}.cw-ai-requirement-error{margin:0;padding:0 16px;color:hsl(var(--destructive));font-size:12px;line-height:18px}.cw-ai-compose.is-generating .cw-ai-compose-form button:disabled{width:34px;padding:0;background:hsl(var(--foreground));opacity:1}.cw-ai-orb{width:14px;height:14px;display:block;border:1.5px solid hsl(var(--background) / .34);border-top-color:hsl(var(--background));border-radius:50%;animation:cw-ai-orb-spin .72s linear infinite}.cw-ai-orb>span{display:none}@keyframes cw-ai-orb-spin{to{transform:rotate(360deg)}}.cw-ai-compose-success{min-height:38px;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:2px 3px 2px 10px;border-radius:12px;background:hsl(var(--background) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .055);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cw-ai-compose-success strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:650}.cw-ai-success-check{position:relative;width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:hsl(var(--foreground))}.cw-ai-success-check:after{position:absolute;top:3px;left:6px;width:4px;height:7px;border:solid hsl(var(--background));border-width:0 2px 2px 0;content:"";transform:rotate(45deg)}.cw-ai-regenerate{height:34px;min-height:34px;padding:0 12px;border:0;border-radius:9px;background:hsl(var(--muted));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:background-color .15s ease}.cw-ai-regenerate:hover{background:hsl(var(--muted-foreground) / .12)}.cw-ai-compose-form button:focus-visible,.cw-ai-regenerate:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}@media (prefers-reduced-motion: reduce){.cw-ai-compose-form,.cw-ai-compose-form button,.cw-ai-regenerate{transition:none}.cw-ai-orb{animation:none}}.cw-ai-error-dialog{width:460px;font-family:inherit}.cw-ai-error-message{max-height:min(320px,50vh);margin:10px 0 18px;overflow:auto;color:hsl(var(--foreground) / .78);font-family:inherit;font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.cw-ai-error-close{border-color:transparent;background:hsl(var(--foreground));color:hsl(var(--background))}.cw-ai-error-close:hover{background:hsl(var(--foreground) / .86)}.cw-workspace-alert{position:absolute;z-index:30;top:94px;right:18px;max-width:min(420px,calc(100% - 36px));padding:10px 13px;border:1px solid hsl(var(--destructive) / .2);border-radius:9px;background:hsl(var(--background));box-shadow:0 12px 36px hsl(var(--foreground) / .12);color:hsl(var(--destructive));font-size:12.5px}.cw-editor{flex:1;width:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:0;overflow:hidden}.cw-editor>.abc-root{flex:0 0 200px;width:100%;min-width:0;min-height:200px;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-tree{flex-shrink:0;width:248px;overflow-y:auto;padding:16px 14px;border-right:1px solid hsl(var(--border));background:hsl(var(--panel))}.cw-tree-head{font-size:12px;font-weight:650;letter-spacing:.02em;color:hsl(var(--muted-foreground));padding:0 6px;margin-bottom:10px}.cw-tree-branch{display:flex;flex-direction:column}.cw-tree-node{position:relative;display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:13px;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.cw-tree-node:hover{background:hsl(var(--accent))}.cw-tree-node.is-selected{background:hsl(var(--primary) / .04);border-color:hsl(var(--primary) / .16)}.cw-tree-node.is-invalid{background:hsl(var(--destructive) / .07);border-color:hsl(var(--destructive) / .5)}.cw-tree-node.is-invalid.is-selected{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .6)}.cw-tree-node.is-draggable{cursor:grab}.cw-tree-node.is-draggable:active{cursor:grabbing}.cw-tree-node.is-dragover{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .45)}.cw-tree-icon{width:15px;height:15px;flex-shrink:0;opacity:.8}.cw-tree-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cw-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.cw-tree-type{font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--muted-foreground))}.cw-tree-actions{display:flex;align-items:center;gap:1px;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .12s ease}.cw-tree-node:hover .cw-tree-actions,.cw-tree-node.is-selected .cw-tree-actions{opacity:1;pointer-events:auto}.cw-tree-children{display:flex;flex-direction:column;gap:2px;margin-top:2px;margin-left:8px;padding-left:8px;border-left:1px solid hsl(var(--border))}.cw-detail{position:relative;flex:1 1 auto;width:100%;max-width:none;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-detail-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:0 4px 16px;background:hsl(var(--background))}.cw-detail-inner{max-width:none;margin:0 auto}.cw-lower{display:flex;gap:0;align-items:flex-start}.cw-detail .cw-form-col{flex:1;min-width:0;max-width:none;margin:0}.cw-debug{flex-shrink:0;width:380px;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid hsl(var(--border));background:hsl(var(--panel));transition:width .22s cubic-bezier(.22,1,.36,1),min-width .22s cubic-bezier(.22,1,.36,1),height .22s cubic-bezier(.22,1,.36,1),min-height .22s cubic-bezier(.22,1,.36,1),flex-basis .22s cubic-bezier(.22,1,.36,1),padding .18s ease}.cw-debug:not(.is-collapsed)>*{animation:cw-debug-content-in .18s ease-out both}.cw-debug.is-collapsed .cw-debug-expand{animation:cw-debug-control-in .18s .06s ease-out both}@keyframes cw-debug-content-in{0%{opacity:0;transform:scale(.985)}}@keyframes cw-debug-control-in{0%{opacity:0;transform:scale(.9)}}@media (prefers-reduced-motion: reduce){.cw-debug{transition:none}.cw-debug:not(.is-collapsed)>*,.cw-debug.is-collapsed .cw-debug-expand{animation:none}}.cw-debug-head{flex-shrink:0;height:var(--cw-workbench-toolbar-height);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid hsl(var(--border))}.cw-debug-collapse,.cw-debug-expand{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:color .12s,background .12s,transform .12s}.cw-debug-collapse{width:24px;height:24px}.cw-debug-collapse:hover,.cw-debug-expand:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.cw-debug-expand:hover{transform:scale(1.06)}.cw-debug.is-collapsed{width:48px;min-width:48px;height:100%;min-height:0;align-items:center;padding-top:14px}.cw-debug-expand{width:34px;height:34px;min-height:34px}.cw-debug-title{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:650;color:hsl(var(--foreground))}.cw-debug-start{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:6px 10px;border:none;border-radius:8px;background:#111;box-shadow:none;color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease,transform .15s ease}.cw-debug-start:hover:not(:disabled){background:#29292b;box-shadow:0 7px 18px #00000029}.cw-debug-start:active:not(:disabled){transform:translateY(0) scale(.98)}.cw-debug-start:disabled{opacity:.45;cursor:default}.cw-debug-sub{flex-shrink:0;display:flex;flex-direction:column;gap:3px;padding:10px 16px 14px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.cw-debug-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.cw-debug-body{flex:1;min-height:0;overflow-y:auto;padding:10px 16px 18px}.cw-debug-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-run-icon{width:17px;height:17px;transition:transform .16s cubic-bezier(.22,1,.36,1)}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:translate(1.5px)}@media (prefers-reduced-motion: reduce){.cw-debug-run-icon{transition:none}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:none}}.cw-debug-progress{display:flex;flex-direction:column;gap:8px}.cw-debug-logline{display:flex;align-items:center;gap:8px;min-height:28px;padding:7px 9px;border-radius:9px;background:hsl(var(--foreground) / .04);color:hsl(var(--muted-foreground));font-size:12.5px}.cw-debug-logline .cw-i{color:hsl(var(--foreground))}.cw-debug-error{display:flex;flex-direction:column;gap:12px;color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-debug-error-detail,.cw-debug-msg-error{width:100%;min-width:0;color:hsl(var(--destructive));text-align:left}.cw-debug-error-detail .deploy-error-message-text,.cw-debug-msg-error .deploy-error-message-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.cw-debug-chat{min-height:100%;display:flex;flex-direction:column;gap:18px}.cw-debug-chat-empty{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-msg{display:flex;flex-direction:column;gap:6px;max-width:100%}.cw-debug-msg-user{align-items:flex-end}.cw-debug-msg-assistant{align-items:flex-start}.cw-debug-role{display:none}.cw-debug-content{max-width:100%;color:hsl(var(--foreground));font-size:14px;line-height:1.65;word-break:break-word}.cw-debug-msg-user .cw-debug-content{max-width:88%;padding:9px 14px;border-radius:18px;background:hsl(var(--secondary))}.cw-debug-msg-assistant .cw-debug-content{width:100%}.cw-debug-composer{flex-shrink:0;padding:10px 14px 14px;background:hsl(var(--panel))}.cw-debug-composerbox{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 10px;border:1px solid hsl(var(--border));border-radius:24px;background:hsl(var(--background))}.cw-debug-input{flex:1;min-width:0;max-height:120px;padding:8px 4px;border:none;outline:none;resize:none;overflow-y:auto;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.5}.cw-debug-input::placeholder{color:hsl(var(--muted-foreground))}.cw-debug-send{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;transition:opacity .15s,transform .1s,background .12s,color .12s}.cw-debug-send{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-debug-send:hover:not(:disabled){opacity:.85}.cw-debug-send:active:not(:disabled){transform:scale(.94)}.cw-debug-send:disabled{opacity:.3;cursor:default}.cw-debug-overlay{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:22px;background:hsl(var(--panel) / .5);backdrop-filter:blur(9px) saturate(.9);-webkit-backdrop-filter:blur(9px) saturate(.9)}.cw-debug-overlay-content{width:min(100%,290px);display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border:1px solid hsl(var(--border) / .72);border-radius:12px;background:hsl(var(--background) / .82);box-shadow:0 10px 30px hsl(var(--foreground) / .08);text-align:center}.cw-debug-overlay-title{color:hsl(var(--foreground));font-size:14px;font-weight:650}.cw-debug-overlay-copy{color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.55}.cw-debug-overlay-progress{width:100%;display:flex;flex-direction:column;gap:8px}.cw-debug-overlay-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px}.cw-debug-ignore{min-height:30px;padding:6px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,transform .1s}.cw-debug-ignore:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--background))}.cw-debug-ignore:active:not(:disabled){transform:scale(.96)}.cw-debug-ignore:disabled{opacity:.45;cursor:default}.cw-validation-workspace{position:relative;flex:1;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.cw-optimization-panel{min-width:0;min-height:0;display:flex;flex-direction:column;padding:22px 16px 16px;border-right:1px solid hsl(var(--border));background:hsl(var(--cw-workspace-warm))}.cw-optimization-head{display:flex;flex-direction:column;gap:5px;padding:0 4px 18px}.cw-optimization-head>span{color:hsl(var(--cw-workspace-ink));font-size:16px;font-weight:700;letter-spacing:-.02em}.cw-optimization-head>small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cw-optimization-list{display:flex;flex-direction:column;gap:8px}.cw-optimization-option{position:relative;width:100%;display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid hsl(var(--border) / .82);border-radius:11px;background:hsl(var(--panel) / .62);color:hsl(var(--foreground));cursor:pointer;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.cw-optimization-option:hover{border-color:hsl(var(--cw-workspace-ink) / .24);background:hsl(var(--panel))}.cw-optimization-option.is-disabled{cursor:not-allowed;opacity:.62}.cw-optimization-option.is-disabled:hover{border-color:hsl(var(--border) / .82);background:hsl(var(--panel) / .62)}.cw-optimization-option:has(input:focus-visible){outline:2px solid hsl(var(--cw-workspace-ink) / .34);outline-offset:2px}.cw-optimization-option input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.cw-optimization-check{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;border:1px solid hsl(var(--foreground) / .24);border-radius:5px;background:hsl(var(--panel));color:#fff}.cw-optimization-check .cw-i{width:11px;height:11px;stroke-width:2.4}.cw-optimization-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.cw-optimization-copy strong{color:hsl(var(--cw-workspace-ink));font-size:12.5px;font-weight:650}.cw-optimization-copy small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.45}.cw-validation-content{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-ab-workspace{flex:1;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:hsl(var(--background))}.cw-ab-stage{position:relative;flex:1;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{min-height:100%;display:grid;grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr));grid-auto-rows:minmax(420px,1fr);align-items:stretch;gap:12px}.cw-ab-card{min-width:0;min-height:420px;display:flex;flex-direction:column;perspective:1400px}.cw-ab-card-inner{position:relative;width:100%;min-height:420px;flex:1;transform-style:preserve-3d;transition:transform .44s cubic-bezier(.22,1,.36,1)}.cw-ab-card-inner.is-flipped{transform:rotateY(180deg)}.cw-ab-card-face{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px dashed hsl(var(--foreground) / .2);border-radius:16px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:border-color .16s ease,background-color .16s ease}.cw-ab-card-back{transform:rotateY(180deg);overflow-x:hidden;overflow-y:auto}.cw-ab-card-head{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px 9px 14px}.cw-ab-card-title{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ab-card-title strong{font-size:13.5px;font-weight:680}.cw-ab-card-title span{max-width:150px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-ab-card-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.cw-ab-config-trigger,.cw-ab-remove{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11px;font-weight:400}.cw-ab-config-trigger{background:transparent;color:hsl(var(--muted-foreground))}.cw-ab-config-trigger:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-remove:hover{background:hsl(var(--secondary) / .62);color:hsl(var(--foreground))}.cw-ab-config-trigger:disabled,.cw-ab-remove:disabled{cursor:default;opacity:.45}.cw-ab-remove{width:28px;padding:0;background:transparent}.cw-ab-config-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px;background:hsl(var(--background) / .94)}.cw-ab-config-head>div{min-width:0;display:flex;flex-direction:column;gap:3px}.cw-ab-config-head strong{font-size:16px;font-weight:680}.cw-ab-config-head span{color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-config-head>.cw-ab-config-head-actions{flex:0 0 auto;display:inline-flex;flex-direction:row;align-items:center;gap:6px}.cw-ab-config-head-actions .cw-ab-config-remove{width:32px;height:32px}.cw-ab-config-done{min-height:32px;padding:0 11px;border:0;border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650}.cw-ab-config-done-wrap{position:relative;flex:0 0 auto;display:inline-flex;border-radius:8px}.cw-ab-config-done:disabled{background:hsl(var(--secondary) / .82);color:hsl(var(--muted-foreground) / .68);cursor:not-allowed}.cw-ab-config-head .cw-ab-config-done-tip{position:absolute;z-index:8;right:0;top:calc(100% + 7px);bottom:auto;width:max-content;max-width:190px;padding:6px 8px;border-radius:7px;background:hsl(var(--foreground));color:#fff;font-size:11px;font-weight:400;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease}.cw-ab-config-done-wrap.is-disabled:hover .cw-ab-config-done-tip,.cw-ab-config-done-wrap.is-disabled:focus-visible .cw-ab-config-done-tip{opacity:1;transform:translateY(0)}.cw-ab-config-done-wrap:focus-visible{outline:2px solid hsl(var(--foreground) / .18);outline-offset:2px}.cw-ab-config{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;padding:12px 16px 16px;background:hsl(var(--background))}.cw-ab-config>label,.cw-ab-config fieldset{min-width:0;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0}.cw-ab-config>label>span,.cw-ab-config legend{color:hsl(var(--muted-foreground));font-size:13px;font-weight:650}.cw-ab-config legend{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-ab-config legend em{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-style:normal;font-weight:550}.cw-ab-profile-field{display:grid;gap:7px;margin-bottom:10px}.cw-ab-profile-label{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-ab-profile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cw-ab-profile-option{min-width:0;min-height:44px;display:flex;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .82);color:hsl(var(--foreground));transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.cw-ab-profile-option:hover:not(.is-disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-ab-profile-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-ab-profile-option.is-disabled{cursor:not-allowed;opacity:.55}.cw-ab-profile-option:focus-within{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .28)}.cw-ab-profile-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-ab-profile-control{align-self:stretch;width:100%;min-width:0;min-height:100%;padding:7px 8px;color:inherit}.cw-ab-profile-copy{min-width:0;display:grid;gap:2px;text-align:left}.cw-ab-profile-copy strong{overflow:hidden;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.cw-ab-profile-copy small,.cw-ab-profile-help{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:400;line-height:1.4}.cw-ab-config input[type=text],.cw-ab-config>label>input,.cw-ab-config>label>textarea{width:100%;min-height:40px;padding:8px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.cw-ab-config>label>textarea{min-height:58px;max-height:132px;resize:vertical;line-height:1.55}.cw-ab-optimization-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cw-ab-optimization-checkbox{display:inline-flex;align-items:center;gap:0;padding:8px 9px;border-radius:8px;background:hsl(var(--background) / .82);color:hsl(var(--foreground));font-size:12.5px;cursor:pointer}.cw-ab-optimization-checkbox>label{padding-left:7px;color:inherit;font-size:inherit}.cw-ab-optimization-copy{display:grid;gap:2px}.cw-ab-optimization-copy strong{font-size:12.5px;font-weight:650}.cw-ab-optimization-copy small{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:400;line-height:1.35}.cw-ab-optimization-note,.cw-ab-optimization-error{display:block;margin-top:7px;font-size:11.5px;line-height:1.4}.cw-ab-optimization-note{color:hsl(var(--muted-foreground))}.cw-ab-optimization-error{color:hsl(var(--destructive))}.cw-ab-config>p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.cw-optimize-workspace{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:4px 0 12px}.cw-optimize-panel{width:100%;display:grid;gap:32px;padding:4px 0 12px}.cw-optimize-section{min-width:0;display:grid;gap:12px;margin:0;padding:0;border:0}.cw-optimize-section legend{margin-bottom:16px;padding:0;color:hsl(var(--foreground));font-size:13px;font-weight:650}.cw-optimize-profile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;margin:-3px 0;padding:3px}.cw-optimize-profile-option{min-width:0;min-height:88px;height:100%;display:flex;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.cw-optimize-profile-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--muted) / .42)}.cw-optimize-profile-option.is-on{border-color:hsl(var(--foreground) / .34);background:hsl(var(--secondary) / .46)}.cw-optimize-profile-option:focus-within{outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .28)}.cw-optimize-profile-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-optimize-profile-control{align-self:stretch;width:100%;min-width:0;min-height:100%;padding:14px 16px;color:inherit}.cw-optimize-profile-copy,.cw-optimize-option-copy{min-width:0;display:grid;gap:4px;text-align:left}.cw-optimize-profile-copy strong,.cw-optimize-option-copy strong{color:hsl(var(--foreground));font-size:13px;font-weight:650}.cw-optimize-profile-copy small,.cw-optimize-option-copy small{color:hsl(var(--muted-foreground));font-size:12px;font-weight:400;line-height:1.5}.cw-optimize-option-list{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.cw-optimize-option-group{min-width:0;display:grid;gap:8px}.cw-optimize-option-group-title{margin:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;line-height:1.45}.cw-optimize-option-group-items{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.cw-optimize-option{min-height:68px;display:inline-flex;align-items:flex-start;gap:0;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--muted) / .32);color:hsl(var(--foreground));cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.cw-optimize-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--muted) / .52)}.cw-optimize-option:has(input:checked){border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .5)}.cw-optimize-option:focus-within{box-shadow:0 0 0 2px hsl(var(--ring) / .28)}.cw-optimize-option>label{align-items:flex-start;padding-left:10px;color:inherit}.cw-ab-conversation{flex:1;min-height:0;overflow-y:auto;padding:14px}.cw-ab-empty{height:100%;min-height:210px;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-launch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.cw-ab-launch-hint{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-ab-ready-title{color:hsl(var(--foreground));font-size:20px;font-weight:760;line-height:1.1}.cw-ab-starting{align-content:center;gap:8px}.cw-ab-starting .cw-i{width:18px;height:18px}.cw-ab-start{min-width:118px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:0;border-radius:9px;background:hsl(var(--secondary) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:580;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-start:hover:not(:disabled){background:hsl(var(--secondary));box-shadow:none}.cw-ab-start:disabled{background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground) / .62);cursor:not-allowed}.cw-ab-start .cw-i{width:15px;height:15px}.cw-ab-deploy-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 12px 12px}.cw-ab-trace{min-height:32px;margin-right:auto;padding:0 10px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:500;transition:background-color .16s ease,color .16s ease}.cw-ab-trace:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-trace:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-ab-trace:disabled{color:hsl(var(--muted-foreground) / .48);cursor:not-allowed}.cw-ab-footer-start{min-width:0;background:hsl(var(--secondary) / .58)}.cw-ab-deploy{min-height:32px;padding:0 13px;border:0;border-radius:8px;background:#111;color:#fff;cursor:pointer;font:inherit;font-size:11.5px;font-weight:620;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-deploy:hover:not(:disabled){background:#29292b;box-shadow:0 6px 16px #00000024}.cw-ab-deploy:disabled{cursor:not-allowed;opacity:.42}.cw-ab-add{min-height:48px;align-self:stretch;justify-content:center;padding-inline:18px;white-space:nowrap}.cw-ab-composer{position:relative;z-index:2;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:18px var(--cw-workspace-gutter) 18px;background:hsl(var(--background))}.cw-ab-composer .cw-debug-composerbox{width:100%;min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;background:#fff;box-shadow:0 8px 22px hsl(var(--foreground) / .045)}.cw-ab-composer .cw-debug-input{background:#fff}.cw-debug.is-standalone{flex:1;width:100%;min-width:0;border-left:0;background:transparent}.cw-debug.is-standalone .cw-debug-head{height:58px;padding-inline:22px;background:hsl(var(--panel) / .7)}.cw-debug.is-standalone .cw-debug-title{font-size:15px}.cw-debug.is-standalone .cw-debug-body{padding:22px clamp(18px,5vw,72px) 28px}.cw-debug.is-standalone .cw-debug-chat{width:min(100%,840px);margin:0 auto}.cw-debug.is-standalone .cw-debug-chat-empty{min-height:260px;border:1px dashed hsl(var(--border));border-radius:16px;background:hsl(var(--panel) / .56)}.cw-debug.is-standalone .cw-debug-composer{padding:12px 210px 20px clamp(18px,5vw,72px);background:transparent}.cw-debug.is-standalone .cw-debug-composerbox{width:min(100%,840px);min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;box-shadow:0 12px 32px hsl(var(--foreground) / .06)}.cw-debug.is-standalone .cw-debug-overlay{background:hsl(var(--background) / .68)}.cw-debug.is-standalone .cw-debug-overlay-content{width:min(100%,390px);padding:28px;border-radius:16px}.cw-validation-prototype{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:clamp(26px,4vw,56px)}.cw-validation-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 28px;max-width:1040px}.cw-eyebrow{color:hsl(var(--cw-workspace-accent));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.15em}.cw-validation-page-head h2{margin:5px 0 4px;color:hsl(var(--cw-workspace-ink));font-size:clamp(24px,3vw,34px);font-weight:720;letter-spacing:-.045em}.cw-validation-page-head p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.cw-prototype-action{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid hsl(var(--cw-workspace-ink));border-radius:8px;background:hsl(var(--cw-workspace-ink));color:hsl(var(--background));font:inherit;font-size:12px;font-weight:650}.cw-prototype-action:disabled{cursor:not-allowed;opacity:.72}.cw-dataset-summary,.cw-variant-grid,.cw-metric-board,.cw-prototype-table,.cw-run-list,.cw-prototype-note{width:min(100%,1040px);margin-inline:auto}.cw-dataset-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 10px 32px hsl(var(--foreground) / .035)}.cw-dataset-summary>div{display:flex;flex-direction:column;gap:4px;padding:17px 20px}.cw-dataset-summary>div+div{border-left:1px solid hsl(var(--border))}.cw-dataset-summary strong{color:hsl(var(--cw-workspace-ink));font-size:22px;letter-spacing:-.04em}.cw-dataset-summary span{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-table{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-prototype-row{min-height:54px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(100px,.7fr) minmax(170px,1fr) 82px;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.cw-prototype-row.is-head{min-height:38px;border-top:0;background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.cw-prototype-row>strong{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-status-pill,.cw-run-status,.cw-run-kind{justify-self:start;padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.cw-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.cw-variant-card{position:relative;overflow:hidden;padding:20px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel));box-shadow:0 12px 34px hsl(var(--foreground) / .04)}.cw-variant-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:hsl(var(--foreground) / .22)}.cw-variant-card.is-candidate:before{background:hsl(var(--cw-workspace-accent))}.cw-variant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.cw-variant-head small{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));font-size:9.5px;letter-spacing:0;text-transform:none}.cw-variant-card>strong{color:hsl(var(--cw-workspace-ink));font-size:17px;letter-spacing:-.025em}.cw-variant-card>p{min-height:42px;margin:7px 0 22px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.6}.cw-variant-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.cw-variant-card dl>div{padding:9px 10px;border-radius:8px;background:hsl(var(--secondary) / .5)}.cw-variant-card dt{color:hsl(var(--muted-foreground));font-size:9.5px}.cw-variant-card dd{margin:3px 0 0;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px}.cw-metric-board{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-metric-head,.cw-metric-row{display:grid;grid-template-columns:minmax(170px,1fr) 100px 100px 88px;align-items:center;gap:12px;padding:11px 16px}.cw-metric-head{grid-template-columns:auto auto minmax(0,1fr);min-height:48px;border-bottom:1px solid hsl(var(--border))}.cw-metric-head .cw-i{width:15px;color:hsl(var(--cw-workspace-accent))}.cw-metric-head strong{font-size:12px}.cw-metric-head span{justify-self:end;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-metric-row{min-height:44px;color:hsl(var(--muted-foreground));font-size:11px}.cw-metric-row+.cw-metric-row{border-top:1px solid hsl(var(--border) / .7)}.cw-metric-row strong{color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.cw-metric-row em{color:hsl(var(--cw-workspace-accent));font-size:10.5px;font-style:normal;font-weight:650}.cw-run-list{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-run-row{min-height:72px;display:grid;grid-template-columns:36px minmax(220px,1fr) 70px 110px 72px;align-items:center;gap:12px;padding:11px 16px}.cw-run-row+.cw-run-row{border-top:1px solid hsl(var(--border))}.cw-run-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-run-icon .cw-i{width:14px;height:14px}.cw-run-row>div{min-width:0}.cw-run-row strong{color:hsl(var(--foreground));font-size:12px}.cw-run-row p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-run-row time{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-run-status.is-running{background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-prototype-note{display:flex;align-items:center;gap:7px;margin-top:14px;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-note .cw-i{width:13px;height:13px}.cw-publish-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:hsl(var(--muted-foreground));font-size:12px}.cw-publish-loading .cw-i{width:22px;height:22px;margin-bottom:5px;color:hsl(var(--cw-workspace-accent))}.cw-publish-loading strong{color:hsl(var(--foreground));font-size:14px}.cw-header{flex-shrink:0;display:flex;align-items:flex-start;gap:16px;padding:18px 24px 16px;border-bottom:1px solid hsl(var(--border))}.cw-header-title{flex:1;min-width:0}.cw-header-mode{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.cw-title{margin:5px 0 2px;font-size:21px;font-weight:650;letter-spacing:-.02em}.cw-subtitle{margin:0;font-size:13px;color:hsl(var(--muted-foreground))}.cw-progress-pill{flex-shrink:0;margin-top:2px;padding:5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.cw-body{flex:1;min-height:0;overflow-y:auto}.cw-center{display:flex;align-items:flex-start;justify-content:center;gap:32px;max-width:960px;margin:0 auto;padding:32px 24px 80px}.cw-form-col{flex:1 1 auto;min-width:0;max-width:640px;display:flex;flex-direction:column;gap:12px}.cw-section{scroll-margin-top:24px;padding:0;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.cw-sec-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker)){overflow:visible}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker))>.cw-sec-head{border-radius:17px 17px 0 0}.cw-sec-body{padding:2px 18px 6px}.cw-sec-title{margin:0;font-size:14px;font-weight:620;letter-spacing:-.01em;color:hsl(var(--foreground))}.cw-sec-hint{margin:0;font-size:13px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-form{display:flex;flex-direction:column;gap:0}.cw-section-desc{margin:0;font-size:13px;line-height:1.6;color:hsl(var(--muted-foreground))}.cw-field{display:grid;grid-template-columns:minmax(124px,.34fr) minmax(0,1fr);align-items:start;column-gap:16px;row-gap:6px;padding:11px 0}.cw-form>.cw-field+.cw-field,.cw-form>.cw-toggle+.cw-toggle,.cw-form>.cw-field+.cw-toggle,.cw-form>.cw-toggle+.cw-field,.cw-toggle-stack>.cw-field,.cw-toggle-stack>.cw-toggle+.cw-toggle{border-top:1px dashed hsl(var(--border) / .8)}.cw-field>.cw-label,.cw-field>.cw-remote-center-head{grid-column:1;align-self:start}.cw-field:has(>.cw-input)>.cw-label{align-self:center}.cw-field:has(>.cw-model-picker)>.cw-label{align-self:center}.cw-field>:not(.cw-label):not(.cw-remote-center-head){grid-column:2;min-width:0}.cw-form>.cw-more-options{margin:10px 0 10px calc(34% + 16px)}.cw-form>.cw-model-more-options{margin-left:0}.cw-help:not(.cw-a2a-space-status):not(.cw-dependency-hint),.cw-section-desc:not(.cw-dependency-hint),.cw-remote-center-description,.cw-ctool-desc,.cw-skill-result-desc{display:none}.cw-dependency-hint{margin:0 0 14px calc(34% + 16px)}.cw-field>.cw-dependency-hint{grid-column:2;margin:0}.cw-more-options{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:-4px;padding:4px 0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:560;cursor:pointer;transition:color .14s ease}.cw-more-options:hover,.cw-more-options:focus-visible{color:hsl(var(--foreground))}.cw-more-options:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:3px;border-radius:4px}.cw-more-options-chevron{width:14px;height:14px;transition:transform .18s ease}.cw-more-options-chevron.is-open{transform:rotate(90deg)}.cw-more-options-count{margin-left:2px;padding:2px 7px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:10.5px;font-weight:600}.cw-model-advanced{display:flex;flex-direction:column;gap:20px;overflow:hidden}.cw-label-with-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.cw-label-with-link a{display:inline-flex;align-items:center;gap:3px;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.3;text-decoration:none}.cw-label-with-link a:hover,.cw-label-with-link a:focus-visible{color:hsl(var(--foreground));text-decoration:underline;text-underline-offset:2px}.cw-label-with-link a svg{width:10px;height:10px}.cw-model-source-field{align-items:center}.cw-model-source-field>.cw-label{align-self:center}.cw-model-source-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-model-source-option{min-width:0;min-height:36px;display:flex;align-items:stretch;overflow:hidden;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.cw-model-source-option:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .22)}.cw-model-source-option.is-disabled{background:hsl(var(--muted) / .18);color:hsl(var(--muted-foreground));opacity:.7}.cw-model-source-option.is-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--muted) / .18)}.cw-model-source-option.is-on{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .055);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.cw-model-source-option>.flex{flex:1;min-width:0}.cw-model-source-control{width:100%;min-height:100%;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:8px 10px;color:inherit;cursor:pointer;font-size:12.5px;font-weight:560}.cw-model-source-option.is-disabled .cw-model-source-control{cursor:not-allowed}.cw-model-source-coming-soon{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;line-height:1.3}.cw-label{font-size:13px;font-weight:400;color:hsl(var(--foreground))}.cw-req{margin-left:2px;color:hsl(var(--destructive))}.cw-help{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-remote-center-head{display:flex;flex-direction:column;gap:6px}.cw-remote-center-description{display:block;max-width:560px;margin:0;line-height:1.6}.cw-a2a-space-picker{position:relative;display:flex;flex-direction:column;gap:8px}.cw-model-picker-stack{display:grid;min-width:0;gap:12px}.cw-model-picker-field{display:grid;min-width:0;gap:6px}.cw-model-picker-label{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.45}.cw-a2a-space-picker.is-open{z-index:80}.cw-a2a-space-row{display:flex;align-items:center;gap:8px}.cw-a2a-space-select-wrap{position:relative;flex:1;min-width:0}.cw-a2a-space-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.cw-a2a-space-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.cw-a2a-space-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background-color:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.cw-a2a-space-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-trigger:disabled{cursor:not-allowed;opacity:.5}.cw-a2a-space-trigger.is-error{box-shadow:0 0 0 1px hsl(var(--destructive) / .55)}.cw-a2a-space-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.cw-a2a-space-trigger-icon{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.cw-a2a-space-trigger[aria-expanded=true] .cw-a2a-space-trigger-icon{transform:rotate(180deg)}.cw-a2a-space-menu{position:absolute;z-index:81;top:calc(100% + 6px);left:0;width:100%;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08);font-size:12px}.cw-catalog-menu{width:min(460px,calc(100vw - 64px))}.cw-catalog-menu-portal{position:fixed;z-index:1000;display:flex;min-height:0;flex-direction:column;overflow:hidden}.cw-picker-search{padding:4px 4px 6px;border-bottom:1px solid hsl(var(--border) / .72)}.cw-picker-search-input{width:100%;height:30px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.cw-picker-search-input:focus{border-color:hsl(var(--ring) / .5);box-shadow:0 0 0 2px hsl(var(--ring) / .1)}.cw-picker-options{max-height:188px;overflow-y:auto;padding-top:4px;overscroll-behavior:contain}.cw-picker-empty{padding:14px 10px;color:hsl(var(--muted-foreground));text-align:center}.cw-a2a-space-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-option:hover,.cw-a2a-space-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.cw-a2a-space-option.is-selected{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-catalog-options{min-height:0;max-height:none;flex:1;scrollbar-gutter:stable}.cw-model-key-option{justify-content:space-between;gap:12px}.cw-model-key-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-key-option>span{flex:1}.cw-model-option{min-height:48px;justify-content:space-between;gap:14px;white-space:normal}.cw-model-option.is-activation-link{cursor:pointer}.cw-model-option:disabled{cursor:default;opacity:.62}.cw-model-option:disabled:hover{background:transparent}.cw-model-option-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.cw-model-option-copy strong,.cw-model-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-option-copy strong{font-size:12.5px;font-weight:620}.cw-model-option-copy small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cw-model-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:hsl(var(--muted) / .68);color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.25}.cw-model-status:before{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:currentColor;content:""}.cw-model-status.is-available{background:#34b2621f;color:#2a844b}.cw-model-status.is-retiring{background:#eda01d1f;color:#a2631a}.cw-model-status.is-unavailable,.cw-model-status.is-unknown{background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground))}.cw-a2a-space-refresh{flex-shrink:0;width:36px;height:36px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .12s ease,background-color .12s ease}.cw-a2a-space-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .4)}.cw-a2a-space-refresh:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-status{display:inline-flex;align-items:center;gap:6px}.cw-a2a-space-error{align-items:flex-start;padding:9px 11px;font-size:12.5px}.cw-viking-kb-picker{gap:6px}.cw-viking-kb-inline-status{min-height:36px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.cw-viking-kb-menu{padding:3px;box-shadow:0 6px 18px hsl(var(--foreground) / .06)}.cw-viking-kb-menu .cw-picker-options{max-height:min(112px,calc(100vh - 310px))}.cw-viking-kb-menu .cw-a2a-space-option{min-height:28px;padding:5px 9px;line-height:1.25}.cw-viking-kb-refresh{color:hsl(var(--foreground) / .72)}.cw-viking-kb-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .28);background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.cw-viking-kb-refresh:disabled{color:hsl(var(--muted-foreground))}.cw-error-text{font-size:12px;color:hsl(var(--destructive))}.cw-env-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:5px}.cw-env-field{display:flex;min-width:0;flex-direction:column;gap:6px}.cw-env-field-head{display:grid;min-width:0;gap:3px;color:hsl(var(--foreground));font-size:12px;font-weight:560}.cw-env-field-title{display:inline-flex;min-width:0;align-items:center;gap:5px}.cw-env-field-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}.cw-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.cw-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.cw-env-help:hover .cw-env-help-popover,.cw-env-help:focus-visible .cw-env-help-popover,.cw-env-help:focus-within .cw-env-help-popover{opacity:1;pointer-events:auto}.cw-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.cw-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.cw-env-link svg{width:13px;height:13px;flex:0 0 13px}.cw-env-field-head code{display:block;max-width:100%;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.cw-env-empty{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12px}.cw-input{min-width:0;width:100%;min-height:38px;padding:9px 12px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}.cw-input::placeholder{color:hsl(var(--muted-foreground))}.cw-input:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.cw-input.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-env-textarea{min-height:96px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap}.cw-env-error{margin-top:-2px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.4}.cw-textarea{width:100%;padding:11px 13px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .12s,box-shadow .12s}.cw-textarea::placeholder{color:hsl(var(--muted-foreground))}.cw-textarea:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-textarea.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}@keyframes cw-error-shake-a{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes cw-error-shake-b{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.cw-error-shake-0{animation:cw-error-shake-a .28s ease-in-out}.cw-error-shake-1{animation:cw-error-shake-b .28s ease-in-out}@media (prefers-reduced-motion: reduce){.cw-error-shake-0,.cw-error-shake-1{animation:none}}.cw-textarea-sm{min-height:80px;max-height:160px;overflow-y:auto}.cw-textarea-lg{min-height:340px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.cw-markdown-loading,.cw-markdown-editor:not(.mdxeditor-popup-container){min-height:340px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background))}.cw-markdown-loading{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px}.cw-markdown-editor:not(.mdxeditor-popup-container){display:flex;flex-direction:column;max-height:420px;overflow:hidden;color:hsl(var(--foreground));transition:border-color .12s,box-shadow .12s}.cw-markdown-editor:not(.mdxeditor-popup-container):focus-within{border-color:hsl(var(--ring) / .45);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-markdown-editor:not(.mdxeditor-popup-container).is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-markdown-fallback{width:100%;min-height:340px;max-height:420px;resize:vertical;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));padding:18px 20px 28px;font:inherit;font-size:14px;line-height:1.7;transition:border-color .12s,box-shadow .12s}.cw-markdown-fallback:focus{outline:none;border-color:hsl(var(--ring) / .45);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-markdown-fallback.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-markdown-toolbar{flex-shrink:0;min-height:40px;padding:5px 8px;border:0;border-bottom:1px solid hsl(var(--border));border-radius:0;background:hsl(var(--muted) / .38)}.cw-markdown-toolbar button,.cw-markdown-toolbar [role=combobox]{color:hsl(var(--foreground))}.cw-markdown-content{min-height:298px;max-height:360px;overflow-y:auto;padding:18px 20px 28px;color:hsl(var(--foreground));font-size:14px;line-height:1.7}.cw-markdown-content:focus{outline:none}.cw-markdown-content h1,.cw-markdown-content h2,.cw-markdown-content h3{margin:1.1em 0 .45em;color:hsl(var(--foreground));font-weight:650;line-height:1.3}.cw-markdown-content h1:first-child,.cw-markdown-content h2:first-child,.cw-markdown-content h3:first-child{margin-top:0}.cw-markdown-content h1{font-size:20px}.cw-markdown-content h2{font-size:17px}.cw-markdown-content h3{font-size:15px}.cw-markdown-content p{margin:0 0 .8em}.cw-markdown-content ul,.cw-markdown-content ol{margin:.5em 0 .9em;padding-left:1.5em}.cw-markdown-content ul{list-style:disc outside}.cw-markdown-content ol{list-style:decimal outside}.cw-markdown-content li{display:list-item}.cw-markdown-content blockquote{margin:.8em 0;padding-left:12px;border-left:3px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.cw-markdown-error{display:block;margin-top:6px;color:hsl(var(--destructive));font-size:12px}.cw-tag-editor{display:flex;flex-direction:column;gap:12px}.cw-tag-inputrow{display:flex;gap:8px}.cw-tag-inputrow .cw-input{flex:1}.cw-presets{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.cw-presets-label{font-size:11.5px;color:hsl(var(--muted-foreground));margin-right:2px}.cw-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12.5px;white-space:nowrap}.cw-chip-ghost{border:1px dashed hsl(var(--border));background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;transition:background .12s,color .12s,border-color .12s}.cw-chip-ghost:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-chip-sub{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-pills{display:flex;flex-wrap:wrap;gap:8px}.cw-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:13px}.cw-pill-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:hsl(var(--foreground) / .06);color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-pill-x:hover{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.cw-empty-line{margin:0;font-size:12.5px;color:hsl(var(--muted-foreground))}.cw-check-inline{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:13px;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.cw-check-inline input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:hsl(var(--primary));cursor:pointer}.cw-checklist{display:flex;flex-direction:column;gap:8px}.cw-tools-list-shell{min-width:0;container-type:inline-size}.cw-tool-config{padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--muted) / .28)}.cw-tool-config-head{display:flex;flex-direction:column;gap:3px}.cw-checklist-tools{--cw-checklist-row-height: 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(var(--cw-checklist-row-height),auto);max-height:var(--cw-checklist-max-height);padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-checklist-tools .cw-check{min-height:var(--cw-checklist-row-height);align-items:center;padding:8px 10px}.cw-checklist-tools .cw-check-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@container (max-width: 575px){.cw-checklist-tools{grid-template-columns:minmax(0,1fr)}}.cw-check{display:flex;align-items:flex-start;gap:0;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-check>label{flex:1;min-width:0;padding-left:12px;color:inherit;cursor:pointer}.cw-checklist-tools .cw-check>label{padding-left:10px}.cw-check:hover{background:hsl(var(--foreground) / .05)}.cw-check.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-check-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-check-title{font-size:13.5px;font-weight:600;color:hsl(var(--foreground))}.cw-check-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-segmented{display:flex;flex-wrap:wrap;gap:8px}.cw-seg{flex:1 1 160px;display:flex;flex-direction:column;gap:2px;padding:11px 13px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-seg:hover{background:hsl(var(--foreground) / .05)}.cw-seg.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-seg-title{font-size:13px;font-weight:600;color:hsl(var(--foreground))}.cw-seg-desc{font-size:11.5px;line-height:1.45;color:hsl(var(--muted-foreground))}.cw-ctool{display:flex;flex-direction:column;gap:12px}.cw-ctool-inputs{display:flex;flex-wrap:wrap;gap:8px}.cw-ctool-inputs .cw-input{flex:1 1 180px}.cw-ctool-list{display:flex;flex-direction:column;gap:8px}.cw-ctool-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--card))}.cw-ctool-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.cw-ctool-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ctool-name{font-size:13.5px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:hsl(var(--foreground));word-break:break-word}.cw-ctool-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp,.cw-mcp-list{display:flex;flex-direction:column;gap:12px}.cw-mcp-row{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card))}.cw-mcp-rowhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-mcp-transport{display:inline-flex;gap:6px}.cw-seg-sm{flex:0 0 auto;min-width:72px;flex-direction:row;align-items:center;justify-content:center;text-align:center;padding:6px 16px;border-radius:9px}.cw-seg-sm .cw-seg-title{font-size:12.5px}.cw-mcp-note{margin:0;font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp-warning{display:flex;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;border:1px solid #b4530940;border-radius:8px;background:#b453091a;color:#b45309;font-size:12.5px;line-height:1.5}.cw-mcp-warning svg{flex:0 0 auto;width:15px;height:15px;margin-top:2px}.cw-mcp .cw-add-sub{margin-top:0}.cw-mcp-field{align-items:center}.cw-mcp-field>.cw-label{align-self:center}.cw-subfield{margin:0;padding:9px 0;border:0;border-radius:0;background:transparent}.cw-toggle-stack{gap:0}.cw-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:9px 0;border:0;border-radius:0;background:transparent;text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.cw-toggle:hover{background:hsl(var(--muted) / .18)}.cw-toggle.is-on{background:hsl(var(--muted) / .24);box-shadow:none}.cw-toggle-text{grid-column:1;grid-row:1;margin-left:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-toggle-title{font-size:14px;font-weight:600}.cw-toggle-help{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-switch{grid-column:2;grid-row:1;justify-self:end;flex-shrink:0;display:flex;align-items:center;width:42px;height:24px;padding:2px;border-radius:999px;background:hsl(var(--border));transition:background .18s}.cw-toggle.is-on .cw-switch{background:hsl(var(--primary));justify-content:flex-end}.cw-switch-knob{display:block;width:20px;height:20px;border-radius:50%;background:hsl(var(--background));box-shadow:0 1px 2px hsl(var(--foreground) / .2)}.cw-sub-list{display:flex;flex-direction:column;gap:14px}.cw-sub{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .03)}.cw-sub-head{display:flex;align-items:center;justify-content:space-between}.cw-sub-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.cw-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-icon-btn:not(:disabled):hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cw-icon-danger:not(:disabled):hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.cw-sub-head-actions{display:inline-flex;align-items:center;gap:2px}.cw-sub-list-wrap{display:flex;flex-direction:column}.cw-agent-type-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:14px 0}.cw-agent-type-option{position:relative;min-width:0;min-height:42px;display:flex;align-items:center;gap:10px;padding:0;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.cw-agent-type-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-agent-type-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-agent-type-option.is-disabled{color:hsl(var(--muted-foreground) / .52);cursor:not-allowed}.cw-agent-type-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-agent-type-control{align-self:stretch;flex:1;width:100%;min-width:0;min-height:100%;box-sizing:border-box;padding:10px 12px;color:inherit;cursor:inherit}.cw-agent-type-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-agent-type-copy strong{font-size:13px;font-weight:650}.cw-agent-type-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.cw-agent-type-disabled-hint{position:absolute;top:calc(100% + 17px);right:0;width:max-content;max-width:220px;padding:7px 10px;border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--popover));box-shadow:0 8px 24px hsl(var(--foreground) / .1);color:hsl(var(--popover-foreground));font-size:12px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease}.cw-agent-type-option.is-disabled:hover .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus-visible .cw-agent-type-disabled-hint{opacity:1;transform:translateY(0)}.cw-agent-type-option:focus-within,.cw-agent-type-option:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-add-sub{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:12px;width:100%;border:1px dashed hsl(var(--border));border-radius:12px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cw-add-sub:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-banner{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:var(--radius);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-review{display:flex;flex-direction:column;border:1px solid hsl(var(--border));border-radius:14px;overflow:hidden;background:hsl(var(--card))}.cw-review-row{display:flex;gap:18px;padding:13px 16px;border-bottom:1px solid hsl(var(--border))}.cw-review-row:last-child{border-bottom:none}.cw-review-key{flex-shrink:0;width:110px;font-size:13px;font-weight:500;color:hsl(var(--muted-foreground))}.cw-review-val{flex:1;min-width:0;font-size:13.5px}.cw-review-strong{font-weight:600}.cw-review-muted{color:hsl(var(--muted-foreground))}.cw-review-pre{margin:0;padding:10px 12px;background:hsl(var(--muted));border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.cw-review-chips,.cw-review-subs{display:flex;flex-wrap:wrap;gap:6px}.cw-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.cw-tag-on{background:#22c35d24;color:#1c7d3f}.cw-tag-off{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.cw-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid transparent;font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;transition:background .13s,opacity .13s,border-color .13s,transform .1s}.cw-btn:active{transform:scale(.98)}.cw-btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-btn-primary:hover:not(:disabled){opacity:.88}.cw-btn-primary:disabled{opacity:.4;cursor:default}.cw-btn-ghost{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.cw-btn-ghost:hover{background:hsl(var(--accent))}.cw-btn-soft{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));flex-shrink:0}.cw-btn-soft:hover:not(:disabled){background:hsl(var(--accent))}.cw-btn-soft:disabled{opacity:.45;cursor:default}.cw-i{width:16px;height:16px;flex-shrink:0}.cw-i-sm{width:14px;height:14px}.cw-root-preview{height:100%}.cw-preview-body{flex:1;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-preview-body>*{flex:1;min-height:0}.cw-environment-workspace{flex:1;min-width:0;min-height:0;display:flex;align-items:flex-start;overflow-x:hidden;overflow-y:auto;padding:20px 0 24px}.cw-skillhub{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px}.cw-skill-searchrow{display:flex;gap:8px}.cw-skill-searchbox{position:relative;flex:1;min-width:0;display:flex;align-items:center}.cw-skill-searchicon{position:absolute;left:11px;color:hsl(var(--muted-foreground));pointer-events:none}.cw-skill-input{padding-left:36px}.cw-skill-input:focus,.cw-skill-input:focus-visible{outline:2px solid hsl(var(--ring) / .38);outline-offset:1px;border-color:hsl(var(--ring) / .48);background:hsl(var(--background));box-shadow:none}.cw-skill-selected{display:flex;flex-direction:column;gap:8px}.cw-skill-selected-label{font-size:11.5px;font-weight:600;color:hsl(var(--muted-foreground))}.cw-skill-results{display:flex;flex-direction:column;gap:8px;max-height:472px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-skill-result{flex-shrink:0;display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s;min-height:72px}.cw-skill-result:hover{background:hsl(var(--foreground) / .05)}.cw-skill-result.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-skill-result-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));transition:background .12s,border-color .12s,color .12s}.cw-skill-result.is-on .cw-skill-result-icon{background:hsl(var(--foreground));border-color:hsl(var(--foreground));color:hsl(var(--background))}.cw-skill-result-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-skill-result-name{font-size:13.5px;font-weight:600;color:hsl(var(--foreground));word-break:break-word}.cw-skill-result-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-skill-result-repo{font-size:11px;font-family:inherit;line-height:1.4;color:hsl(var(--muted-foreground));word-break:break-all}.cw-skill-loading{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.cw-spin{animation:cw-spin .8s linear infinite}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-skillspane{display:flex;flex-direction:column;gap:10px;padding:10px 0 12px}.cw-skill-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.cw-skill-add:hover{border-color:hsl(var(--foreground) / .34);background:transparent;color:hsl(var(--foreground))}.cw-skill-add:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .25)}.cw-skill-add-icon{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.cw-skill-dialog-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#15181e47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cw-skill-dialog{width:min(680px,calc(100vw - 32px));height:min(640px,calc(100dvh - 40px));min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 72px #10131933}.cw-skill-dialog-head{flex-shrink:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 20px;border-bottom:1px solid hsl(var(--border))}.cw-skill-dialog-head h3{margin:0;font-size:16px;font-weight:650;letter-spacing:-.01em}.cw-skill-dialog-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-skill-dialog-close:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-skill-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px}.cw-skill-sourcetabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:44px;padding:4px;overflow:hidden;border:1px solid hsl(var(--border) / .55);border-radius:10px;background:hsl(var(--secondary) / .58)}.cw-skill-tab-slider{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:var(--cw-skill-tab-slider-width);border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--background));transform:translate(var(--cw-active-skill-tab-offset));transition:transform .24s cubic-bezier(.22,1,.36,1)}.cw-skill-pickertab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:34px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background .16s,color .16s}.cw-skill-pickertab:hover{background:hsl(var(--foreground) / .035);color:hsl(var(--foreground))}.cw-skill-pickertab.is-on{background:transparent;color:hsl(var(--foreground))}.cw-skill-pickertab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-skill-tabbody{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.cw-selected-skill-list{display:flex;flex-direction:column;gap:7px;max-height:347px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-selected-skill-row{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:9px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card))}.cw-selected-skill-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-selected-skill-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-selected-skill-name{overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-detail{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-selected-skill-remove:hover{background:hsl(var(--destructive) / .09);color:hsl(var(--destructive))}.cw-local{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px}.cw-local-dropzone{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px 14px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .15s,color .15s}.cw-local-drop-icon{width:20px;height:20px;color:hsl(var(--muted-foreground))}.cw-local-dropzone.is-dragging{border-color:hsl(var(--foreground) / .48);color:hsl(var(--foreground))}.cw-local-drop-hint{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px}.cw-local-dropzone.is-dragging .cw-local-drop-hint,.cw-local-dropzone.is-dragging .cw-local-drop-icon{color:hsl(var(--foreground))}.cw-local-hint{margin:0;font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-skillspace{height:100%;min-height:0;display:flex;flex-direction:column}.cw-skillspace-header{display:flex;gap:8px;align-items:center;margin-bottom:10px}.cw-skillspace-select{width:100%;flex:1;min-width:0}.cw-skillspace-region-label{flex-shrink:0;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted) / .52);color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;white-space:nowrap}.cw-skillspace-console-link{flex-shrink:0;padding:9px 12px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.cw-skillspace-console-link .cw-i{display:block}.cw-skill-result-version{color:hsl(var(--muted-foreground));font-weight:400;font-size:11px;margin-left:4px}.cw-skill-result-repo .cw-i{vertical-align:-2px;margin-right:2px}@media (max-width: 1280px){.cw-root{--cw-workspace-width: calc(100% - 48px) }.cw-workspace-header{padding-inline:16px}.cw-debug{width:280px}.cw-tree{width:208px}}@media (max-width: 1080px){.cw-editor{overflow:hidden}.cw-tree{height:auto}.cw-detail{flex:1 1 auto;width:100%;max-width:none;min-height:0}.cw-debug{flex:0 0 100%;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px;border-left:none;border-top:1px solid hsl(var(--border))}.cw-debug.is-collapsed{flex:0 0 48px;width:100%;min-width:0;height:48px;min-height:48px;align-items:flex-end;padding:7px 12px}.cw-debug.is-collapsed .cw-debug-expand{width:34px;min-height:34px}.cw-lower{gap:0}.cw-detail .cw-form-col{max-width:100%}}@media (max-width: 860px){.cw-root{--cw-workspace-gutter: 8px;--cw-workspace-width: calc(100% - 16px) }.cw-workspace-header{min-height:50px;padding:6px 10px}.cw-workspace-header h1{font-size:17px}.cw-validation-workspace{display:flex}.cw-ab-stage{padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr))}.cw-ab-composer{padding-inline:var(--cw-workspace-gutter)}.cw-editor{flex-direction:column;overflow-x:hidden;overflow-y:hidden}.cw-editor>.abc-root{flex:0 0 180px;width:100%;min-width:0;min-height:180px}.cw-tree{width:100%;height:auto;max-height:220px;border-right:0;border-bottom:1px solid hsl(var(--border))}.cw-detail{flex:1 1 auto;width:100%;max-width:none;height:auto;min-height:0;border-left:0}.cw-detail-scroll{padding:16px 12px 20px}.cw-debug{flex:none;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px}.cw-debug.is-collapsed{width:100%;height:48px;min-height:48px}.cw-center{gap:0;padding:24px 16px 64px}.cw-form-col{max-width:100%}}@media (max-width: 700px){.cw-workspace-header h1{text-align:center}.cw-workspace-nav-actions{grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr)}.cw-workspace-nav-button{padding-inline:12px}.cw-form>.cw-more-options,.cw-dependency-hint{margin-left:0}.cw-field{grid-template-columns:minmax(0,1fr);row-gap:8px}.cw-field>.cw-label,.cw-field>.cw-remote-center-head,.cw-field>:not(.cw-label):not(.cw-remote-center-head),.cw-field>.cw-dependency-hint{grid-column:1}.cw-optimization-list,.cw-ab-grid,.cw-ab-config,.cw-ab-profile-options,.cw-optimize-profile-options,.cw-optimize-option-list{grid-template-columns:minmax(0,1fr)}.cw-optimize-panel{padding:4px 0 12px}.cw-ab-composer{grid-template-columns:minmax(0,1fr);padding-bottom:12px}.cw-ab-add{width:100%}.cw-dataset-summary>div+div{border-top:1px solid hsl(var(--border));border-left:0}}.package-create{flex:1;min-width:0;min-height:0;display:flex;color:hsl(var(--foreground))}.package-create-preview{height:100%}.package-create-preview>*{flex:1;min-width:0;min-height:0}.package-source-pane{padding:16px 18px 18px}.package-source-label{margin-bottom:10px;color:hsl(var(--foreground));font-size:15px;font-weight:650}.package-dropzone{min-height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;border:1px dashed hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);text-align:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.package-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:3px}.package-dropzone.is-dragging{border-color:hsl(var(--primary) / .62);background:hsl(var(--primary) / .045)}.package-dropzone.is-ready{background:hsl(var(--background))}.package-dropzone>strong{max-width:100%;overflow:hidden;font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.package-dropzone>span{max-width:420px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.package-upload-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:5px}.package-upload-actions button{min-height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.package-upload-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.package-upload-secondary:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary))}.package-upload-actions button:disabled{cursor:default;opacity:.45}.package-upload-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.package-dropzone input{display:none}.package-create-error{flex:0 0 auto;margin-top:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));font-size:13px;line-height:1.5}@media (max-width: 860px){.package-dropzone{min-height:140px}}@media (prefers-reduced-motion: reduce){.package-dropzone,.package-upload-actions button{transition:none}}.migration-workspace{--migration-content-width: 1180px;width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template-columns:244px minmax(0,1fr);overflow:hidden;background:hsl(var(--canvas));color:hsl(var(--foreground));font-size:14px;letter-spacing:0}.migration-history{min-width:0;min-height:0;display:grid;grid-template-rows:64px auto minmax(0,1fr);padding:0 12px 14px;overflow:hidden;border-right:1px solid hsl(var(--border));background:hsl(var(--canvas) / .42)}.migration-history>header{display:flex;align-items:center;gap:8px;padding:0 4px}.migration-history h1{margin:0;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:0}.migration-icon-button{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-icon-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.migration-icon-button svg,.migration-new-button svg,.migration-file-chip svg,.migration-composer__file svg,.migration-attach-button svg,.migration-result__actions svg{width:17px;height:17px;flex:0 0 auto;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.migration-new-button{min-height:38px;display:flex;align-items:center;justify-content:flex-start;gap:9px;margin:2px 0 12px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.migration-new-button:hover:not(:disabled){background:hsl(var(--secondary));border-color:hsl(var(--border) / .72)}.migration-new-button:disabled,.migration-history nav>button:disabled{cursor:not-allowed;opacity:.5}.migration-history nav{min-height:0;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.migration-history nav>button{width:100%;min-height:58px;display:grid;align-content:center;gap:6px;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-history nav>button:hover:not(:disabled),.migration-history nav>button.is-active{background:hsl(var(--secondary))}.migration-history nav>button>span{overflow:hidden;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.migration-history nav small{display:flex;align-items:center;justify-content:space-between;gap:6px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.migration-history nav small span[data-state=failed],.migration-history nav small span[data-state=expired]{color:hsl(var(--destructive))}.migration-history nav small span[data-state=succeeded],.migration-history nav small span[data-state=succeeded_with_warnings]{color:#2a8457}.migration-history__empty{margin:16px 8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.migration-main{min-width:0;min-height:0;display:grid;grid-template-rows:64px minmax(0,1fr) auto;overflow:hidden;background:hsl(var(--background))}.migration-main__header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 28px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.migration-main__header>div{min-width:0}.migration-main__header>div:first-child{flex:1 1 auto}.migration-main__header h2{margin:0;overflow:hidden;font-size:15px;font-weight:600;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}.migration-main__header p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.migration-ttl{flex:0 0 auto;display:grid;justify-items:end;gap:1px;text-align:right;white-space:nowrap}.migration-ttl strong{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.4;font-variant-numeric:tabular-nums}.migration-ttl small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.migration-main__header-actions{flex:0 0 auto;display:flex;align-items:center;gap:12px}.migration-stop-button{min-height:32px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:transparent;color:hsl(var(--destructive));font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.migration-stop-button:hover:not(:disabled){border-color:hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .05)}.migration-stop-button:disabled{cursor:not-allowed;opacity:.45}.migration-conversation{min-height:0;overflow-y:auto;padding:32px clamp(24px,3vw,48px) 44px;scrollbar-gutter:stable}.migration-turn,.migration-confirmation,.migration-result,.migration-system-state,.migration-inline-error{max-width:var(--migration-content-width)}.migration-turn{width:100%;display:flex;gap:14px;margin:0 auto 28px}.migration-turn.is-user{justify-content:flex-end}.migration-assistant-mark{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.migration-turn.is-assistant>div:last-child,.migration-assistant-content{min-width:0;flex:1;color:hsl(var(--foreground));font-size:14.5px;line-height:1.65;overflow-wrap:anywhere}.migration-turn p{margin:0}.migration-turn small{display:block;margin-top:7px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.migration-user-message{min-width:0;max-width:min(680px,85%);display:grid;gap:8px;padding:10px 16px;border-radius:18px;background:hsl(var(--secondary));font-size:14px;line-height:1.6;overflow-wrap:anywhere}.migration-file-chip,.migration-composer__file{min-width:0;display:flex;align-items:center;gap:7px}.migration-file-chip{font-size:12.5px;font-weight:600}.migration-file-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-running-note{margin-top:10px!important;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.migration-activity{width:100%;display:grid;gap:10px;margin-top:18px}.migration-activity__heading{display:flex;align-items:center;gap:8px;min-height:30px;color:hsl(var(--muted-foreground))}.migration-activity__heading strong{font-size:13px;font-weight:550}.migration-activity__marker{width:7px;height:7px;flex:0 0 7px;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.migration-activity__marker.is-complete{border-color:hsl(var(--foreground) / .45);background:hsl(var(--foreground) / .45)}.migration-activity .block-thinking,.migration-activity .bubble,.migration-activity .block-plan,.migration-activity .block-tool{max-width:100%}.migration-activity__stream{display:grid;gap:8px}.migration-activity__error{margin:2px 0 0!important;color:hsl(var(--muted-foreground));font-size:12px}.migration-transfer-progress{width:100%;max-width:var(--migration-content-width);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;box-sizing:border-box;margin:0 auto 24px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .45)}.migration-assistant-content .migration-transfer-progress{margin:4px 0 2px}.migration-transfer-progress>div{min-width:0;display:flex;align-items:center;gap:8px;color:hsl(var(--muted-foreground))}.migration-transfer-progress__marker{width:8px;height:8px;flex:0 0 8px;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.migration-transfer-progress strong,.migration-transfer-progress .text-shimmer{min-width:0;overflow:hidden;font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.migration-transfer-progress>div.is-complete{color:hsl(var(--foreground))}.migration-transfer-progress>div.is-complete>.migration-transfer-progress__marker{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.migration-transfer-progress>div.is-active>.migration-transfer-progress__marker{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.migration-analysis{display:grid;gap:16px;margin-top:16px}.migration-analysis__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;padding:16px 0;border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border))}.migration-analysis h3{margin:0 0 6px;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.migration-analysis strong{font-size:13.5px;font-weight:600}.migration-analysis__facts p,.migration-analysis__facts ul{margin:4px 0 0;padding:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.migration-analysis__facts ul{padding-left:17px}.migration-analysis__evidence summary{width:max-content;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;cursor:pointer}.migration-analysis__evidence ul{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.migration-analysis__evidence li{display:grid;gap:3px;font-size:12px;line-height:1.5}.migration-analysis__evidence code{color:hsl(var(--foreground));overflow-wrap:anywhere}.migration-analysis__evidence span,.migration-analysis__warnings{color:hsl(var(--muted-foreground))}.migration-analysis__warnings{padding:11px 13px;border:1px solid hsl(38 80% 52% / .25);border-radius:8px;background:#eea62b12;font-size:12.5px;line-height:1.55}.migration-confirmation,.migration-result{width:100%;box-sizing:border-box;margin:0 auto 24px;border:1px solid hsl(var(--foreground) / .12);border-radius:8px;background:hsl(var(--panel))}.migration-confirmation{display:grid;gap:18px;padding:20px}.migration-confirmation__heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.migration-confirmation__heading strong{font-size:15px;font-weight:600}.migration-confirmation__heading span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;text-align:right;overflow-wrap:anywhere}.migration-confirmation__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.migration-confirmation .new-chat-compact-select{align-self:end}.migration-confirmation .new-chat-compact-select__trigger{width:100%;min-height:40px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background))}.migration-confirmation .new-chat-compact-select__menu{width:100%}.migration-field{min-width:0;display:grid;gap:7px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600;overflow-wrap:anywhere}.migration-field b{margin-left:3px;color:hsl(var(--destructive))}.migration-field input,.migration-field textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13.5px;font-weight:400}.migration-field input{height:40px;padding:0 11px}.migration-field textarea{min-height:88px;padding:10px 11px;line-height:1.55;resize:vertical}.migration-field input:focus,.migration-field textarea:focus{border-color:hsl(var(--ring) / .7);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.migration-field input:disabled,.migration-field textarea:disabled{cursor:not-allowed;opacity:.6}.migration-field small{color:hsl(var(--destructive));font-size:11.5px;font-weight:400}.migration-confirmation__actions{display:flex;justify-content:flex-end}.migration-primary-button,.migration-result__actions button,.migration-running-actions button,.migration-inline-error button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease}.migration-primary-button,.migration-result__actions button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.migration-primary-button:hover:not(:disabled),.migration-result__actions button.is-primary:hover:not(:disabled){opacity:.86}.migration-result__actions button:not(.is-primary):hover:not(:disabled),.migration-running-actions button:hover:not(:disabled),.migration-inline-error button:hover:not(:disabled){background:hsl(var(--secondary))}.migration-primary-button:disabled,.migration-result__actions button:disabled,.migration-running-actions button:disabled{cursor:not-allowed;opacity:.45}.migration-result{overflow:hidden}.migration-result>header{min-height:68px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:12px 16px;border-bottom:1px solid hsl(var(--border))}.migration-result>header>div:first-child{min-width:0;flex:1 1 280px;display:grid;gap:4px}.migration-result>header strong{font-size:14.5px;font-weight:600}.migration-result>header span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;overflow-wrap:anywhere}.migration-result__actions{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto}.migration-result__actions button span{color:inherit}.migration-result__summary{display:flex;align-items:center;flex-wrap:wrap;gap:7px 20px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.migration-result__summary span{min-width:0;overflow-wrap:anywhere}.migration-artifact-browser{height:min(58vh,620px);min-height:360px;display:grid;grid-template-columns:232px minmax(0,1fr)}.migration-artifact-browser>aside{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-right:1px solid hsl(var(--border));background:hsl(var(--canvas) / .3)}.migration-artifact-browser__search{padding:10px}.migration-artifact-browser__search input{width:100%;height:34px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px}.migration-artifact-browser__files{min-height:0;overflow-y:auto}.migration-artifact-browser__files button{width:100%;min-height:34px;display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 10px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.migration-artifact-browser__files button:hover,.migration-artifact-browser__files button.is-active{background:hsl(var(--secondary))}.migration-artifact-browser__files svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.migration-artifact-browser__files span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-artifact-browser__files small,.migration-artifact-browser__limit{color:hsl(var(--muted-foreground));font-size:10.5px}.migration-artifact-browser__limit{margin:0;padding:8px 10px;border-top:1px solid hsl(var(--border))}.migration-artifact-browser>section{min-width:0;min-height:0;display:grid;grid-template-rows:40px minmax(0,1fr)}.migration-artifact-browser>section>header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;border-bottom:1px solid hsl(var(--border));font-size:12px}.migration-artifact-browser>section>header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-artifact-browser>section>header small{flex:0 0 auto;color:hsl(var(--muted-foreground))}.migration-artifact-browser__preview{min-width:0;min-height:0;display:grid;place-items:stretch;overflow:hidden;background:hsl(var(--background));color:hsl(var(--muted-foreground));font-size:12px}.migration-artifact-browser__preview>.cm-theme-light,.migration-artifact-browser__preview .cm-editor{width:100%;height:100%;min-width:0;min-height:0}.migration-artifact-browser__preview .cm-scroller{overflow:auto}.migration-artifact-browser__preview>p,.migration-artifact-browser__preview>.text-shimmer,.migration-artifact-browser__preview>img{place-self:center}.migration-artifact-browser__preview img{max-width:100%;max-height:100%;object-fit:contain}.migration-system-state,.migration-inline-error{width:100%;box-sizing:border-box;margin:0 auto 22px;padding:12px 14px;border-radius:8px;font-size:12.5px;line-height:1.55}.migration-system-state.is-error,.migration-inline-error{border:1px solid hsl(var(--destructive) / .2);background:hsl(var(--destructive) / .045)}.migration-system-state.is-error{color:hsl(var(--foreground))}.migration-inline-error,.migration-system-state.is-error>strong{color:hsl(var(--destructive))}.migration-system-state strong{font-size:13.5px;font-weight:600}.migration-system-state p{margin:5px 0 0}.migration-system-state ul{margin:8px 0 0;padding-left:18px;color:hsl(var(--muted-foreground))}.migration-retry-button{min-height:32px;margin-top:8px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.migration-retry-button:hover{background:hsl(var(--secondary))}.migration-inline-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.migration-inline-error>span{min-width:0;overflow-wrap:anywhere}.migration-inline-error button{min-height:30px;flex:0 0 auto;color:inherit;font-size:11.5px}.migration-inline-error button[aria-label]{width:30px;padding:0;border:0;background:transparent}.migration-inline-error button svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.migration-expired{display:grid;gap:4px}.migration-composer{width:min(var(--migration-content-width),calc(100% - 64px));justify-self:center;padding:0 0 16px}.migration-composer__box{min-height:104px;position:relative;display:grid;grid-template-rows:minmax(40px,auto) 36px;gap:10px;box-sizing:border-box;padding:12px 14px;border:1px solid hsl(var(--foreground) / .14);border-radius:16px;background:hsl(var(--panel));box-shadow:0 8px 32px hsl(var(--foreground) / .028),0 24px 72px 8px hsl(var(--foreground) / .02);transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.migration-composer__box.is-dragging{border-color:hsl(var(--ring) / .7);background:hsl(var(--secondary) / .35)}.migration-composer__content{min-width:0;display:flex;align-items:center}.migration-composer__content>p{margin:0 2px;color:hsl(var(--muted-foreground));font-size:14px;line-height:1.5}.migration-composer__file{width:max-content;max-width:100%;min-height:36px;padding:0 8px 0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary));font-size:12.5px}.migration-composer__file span{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-composer__file small{color:hsl(var(--muted-foreground))}.migration-composer__file button{width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-composer__file button:hover{background:hsl(var(--background));color:hsl(var(--foreground))}.migration-composer__file button svg{width:14px;height:14px}.migration-composer__actions{display:flex;align-items:center;justify-content:space-between}.migration-attach-button{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-attach-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.migration-confirm-upload-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .14s ease,transform .14s ease}.migration-confirm-upload-button:hover:not(:disabled){opacity:.86}.migration-confirm-upload-button:disabled,.migration-attach-button:disabled{cursor:not-allowed;opacity:.42}.migration-composer input[type=file]{display:none}.migration-composer>p{margin:8px 4px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.migration-deployment{width:100%;height:100%;min-width:0;min-height:0;display:flex}.migration-deployment>*{flex:1;min-width:0;min-height:0}.migration-deployment-summary{display:grid;gap:9px;padding:20px}.migration-deployment-summary>strong{font-size:15px;font-weight:600}.migration-deployment-summary>span{color:hsl(var(--muted-foreground));font-size:12.5px}.migration-deployment-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:10px 0 0}.migration-deployment-summary dl>div{display:grid;gap:4px}.migration-deployment-summary dt{color:hsl(var(--muted-foreground));font-size:11px}.migration-deployment-summary dd{margin:0;overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.migration-icon-button:focus-visible,.migration-new-button:focus-visible,.migration-history button:focus-visible,.migration-stop-button:focus-visible,.migration-primary-button:focus-visible,.migration-result__actions button:focus-visible,.migration-attach-button:focus-visible,.migration-confirm-upload-button:focus-visible,.migration-retry-button:focus-visible,.migration-artifact-browser button:focus-visible,.migration-artifact-browser__search input:focus-visible{outline:2px solid hsl(var(--ring) / .5);outline-offset:2px}@media (max-width: 1120px){.migration-workspace{grid-template-columns:210px minmax(0,1fr)}.migration-main__header{padding-inline:18px}.migration-conversation{padding-inline:20px}.migration-confirmation__grid,.migration-analysis__facts{grid-template-columns:minmax(0,1fr)}.migration-artifact-browser{height:min(68vh,640px);min-height:480px;grid-template-columns:minmax(0,1fr);grid-template-rows:168px minmax(0,1fr)}.migration-artifact-browser>aside{border-right:0;border-bottom:1px solid hsl(var(--border))}.migration-result__actions{width:100%}.migration-result__actions button{flex:1 1 auto}}@media (prefers-reduced-motion: reduce){.migration-icon-button,.migration-new-button,.migration-attach-button,.migration-confirm-upload-button{transition:none}}.studio-update-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:32px;padding:0 10px;border:1px solid #1664ff;border-radius:8px;background:#1664ff;color:#fff;font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle{gap:0;width:32px;min-width:32px;padding:0;overflow:hidden;white-space:nowrap;transition:width .18s ease,gap .18s ease,padding .18s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle:hover,.studio-update-trigger.is-idle:focus-visible{gap:7px;width:124px;padding:0 10px;border-color:#1664ff;background:#1664ff;color:#fff}.studio-update-trigger.is-idle>span{max-width:0;overflow:hidden;opacity:0;transform:translate(-4px);transition:max-width .18s ease,opacity .12s ease,transform .18s ease}.studio-update-trigger.is-idle:hover>span,.studio-update-trigger.is-idle:focus-visible>span{max-width:86px;opacity:1;transform:translate(0)}.studio-update-trigger.is-submitting{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.studio-update-trigger.is-error{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--destructive))}.studio-update-trigger.is-published{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.studio-update-icon{width:17px;height:17px;flex:0 0 17px}.studio-update-dialog{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;width:min(500px,calc(100vw - 32px));max-width:calc(100vw - 32px);min-width:0;overflow:hidden}.studio-update-dialog.is-progress{width:min(760px,calc(100vw - 32px));height:min(700px,calc(100dvh - 32px));grid-template-rows:auto minmax(0,1fr) auto}.studio-update-dialog.is-progress>.studio-update-progress-body,.studio-update-dialog.is-progress>.studio-update-error-panel{grid-row:2;min-height:0}.studio-update-dialog.is-progress>.confirm-actions{grid-row:3}.studio-update-progress-body{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-height:0}.studio-update-progress-body .studio-update-live-log,.studio-update-error-panel .studio-update-live-log{display:flex;min-height:0;flex-direction:column}.studio-update-progress-body .studio-update-log-lines,.studio-update-error-panel .studio-update-log-lines{min-height:0;max-height:none;flex:1;overflow-y:auto}.studio-update-dialog>.studio-update-dialog-mark{grid-column:1;grid-row:1}.studio-update-dialog>.confirm-title{grid-column:2;grid-row:1;align-self:start;margin:5px 0 12px}.studio-update-dialog>:not(.studio-update-dialog-mark,.confirm-title){grid-column:1 / -1;width:100%;max-width:100%;min-width:0}.studio-update-dialog .confirm-text,.studio-update-dialog .studio-update-changelog li,.studio-update-dialog .studio-update-changelog p,.studio-update-dialog .studio-update-error,.studio-update-dialog .studio-update-progress small,.studio-update-dialog .studio-update-progress-note,.studio-update-dialog .studio-update-console-link{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.studio-update-field{position:relative;display:grid;gap:6px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-version-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.studio-update-version-trigger:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.studio-update-version-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.studio-update-version-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.studio-update-version-trigger>svg{width:16px;height:16px;flex:0 0 16px;color:hsl(var(--muted-foreground));stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}.studio-update-version-trigger>span,.studio-update-version-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-update-version-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.studio-update-version-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:100%;max-height:190px;padding:4px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel, var(--background)));box-shadow:0 12px 28px hsl(var(--foreground) / .1),0 2px 8px hsl(var(--foreground) / .05);overscroll-behavior:contain}.studio-update-version-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer}.studio-update-version-option:hover,.studio-update-version-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.studio-update-version-option.is-selected{background:hsl(var(--primary) / .08)}.studio-update-version-option>svg{width:15px;height:15px;flex:0 0 15px;color:hsl(var(--primary));stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.studio-update-dialog-mark{display:inline-grid;flex:0 0 30px;width:30px;height:30px;margin-bottom:12px;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.studio-update-dialog-mark svg{width:18px;height:18px}.studio-update-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas) / .5)}.studio-update-versions div:last-child{grid-column:1 / -1}.studio-update-versions dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-versions dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.studio-update-changelog{margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px}.studio-update-changelog>div{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:500}.studio-update-changelog ul{display:block;max-height:min(180px,25vh);margin:0;padding:0 6px 0 18px;overflow-y:auto;list-style:disc outside;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-changelog li{display:list-item;margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-changelog li+li{margin-top:5px}.studio-update-changelog p{margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-confirm{border-color:transparent;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.studio-update-confirm:hover{background:hsl(var(--primary) / .88)}.studio-update-error{margin-bottom:12px;color:hsl(var(--destructive))}.studio-update-error-panel{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-width:0;min-height:0}.studio-update-error-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.studio-update-error-meta>div{min-width:0;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-error-meta dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-error-meta dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.studio-update-log-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid hsl(var(--border));border-bottom:0;border-radius:8px 8px 0 0;background:hsl(var(--muted) / .28);color:hsl(var(--foreground));font-size:11px;font-weight:500}.studio-update-log-header>span{display:inline-flex;align-items:center;gap:6px}.studio-update-log-header i{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground))}.studio-update-log-header i.is-active{background:#1664ff;box-shadow:0 0 0 3px #1664ff1c}.studio-update-log-header i.is-complete{background:#29ae60}.studio-update-log-header i.is-error{background:hsl(var(--destructive))}.studio-update-log-header small{color:hsl(var(--muted-foreground));font-size:10px;font-weight:400}.studio-update-log-header button{padding:2px 0;border:0;background:transparent;color:hsl(var(--primary));font:inherit;cursor:pointer}.studio-update-log-header button:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-log-header button:disabled{color:hsl(var(--muted-foreground));cursor:default;text-decoration:none}.studio-update-log-lines{min-height:92px;max-height:min(210px,29vh);padding:11px 12px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:0 0 8px 8px;background:hsl(var(--foreground) / .035);color:hsl(var(--foreground));font-family:inherit;font-size:11px;line-height:1.55;overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-log-lines:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-2px}.studio-update-log-lines>div+div{margin-top:3px}.studio-update-log-lines p{margin:0;color:hsl(var(--muted-foreground))}.studio-update-console-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:hsl(var(--primary));font-size:11px;font-weight:500;text-decoration:none}.studio-update-console-link:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-console-link svg,.studio-update-permission-notice svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.studio-update-permission-notice{display:grid;align-content:center;gap:8px;min-height:92px;padding:12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--muted) / .22);color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.studio-update-permission-notice p{margin:0}.studio-update-permission-notice code{margin:0 3px;color:hsl(var(--foreground));font-family:inherit;font-weight:500}.studio-update-permission-notice a{display:inline-flex;align-items:center;gap:5px;width:fit-content;color:hsl(var(--primary));font-weight:500;text-decoration:none}.studio-update-permission-notice a:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-permission-checking{display:grid;gap:8px;padding:14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas) / .5)}.studio-update-permission-checking p{margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-authorization-panel{display:grid;gap:12px;min-width:0}.studio-update-authorization-panel .confirm-text{margin-bottom:0}.studio-update-authorization-principal{display:grid;gap:8px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-authorization-principal div{display:grid;gap:3px;min-width:0}.studio-update-authorization-principal dt,.studio-update-missing-actions>span{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-authorization-principal dd{overflow:hidden;margin:0;color:hsl(var(--foreground));font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.studio-update-authorization-steps{margin:0;padding-left:20px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.6}.studio-update-missing-actions{display:grid;gap:7px}.studio-update-missing-actions ul{display:grid;gap:4px;max-height:204px;margin:0;padding:9px 12px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--muted) / .22);list-style:none}.studio-update-missing-actions code{color:hsl(var(--foreground));font-size:11px;overflow-wrap:anywhere}.studio-update-authorization-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:fit-content;min-height:34px;padding:0 12px;border-radius:7px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:12px;font-weight:500;text-decoration:none}.studio-update-authorization-link:hover{background:hsl(var(--primary) / .88)}.studio-update-authorization-link svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.studio-update-authorization-note{margin:-4px 0 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.studio-update-progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.studio-update-progress-summary>div{display:grid;gap:4px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-progress-summary span{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-summary strong{overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.studio-update-progress{display:grid;gap:0;margin:0 0 14px;padding:0;list-style:none}.studio-update-progress li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;min-height:38px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-progress li:not(:last-child):after{position:absolute;top:14px;bottom:-2px;left:5px;width:1px;background:hsl(var(--border));content:""}.studio-update-progress li.is-complete:not(:last-child):after{background:#1664ff}.studio-update-progress-dot{position:relative;z-index:1;width:11px;height:11px;margin-top:2px;border:2px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.studio-update-progress li.is-active,.studio-update-progress li.is-complete{color:hsl(var(--foreground))}.studio-update-progress li.is-active .studio-update-progress-dot{border-color:#1664ff;box-shadow:0 0 0 3px #1664ff1f}.studio-update-progress li.is-complete .studio-update-progress-dot{border-color:#1664ff;background:#1664ff}.studio-update-progress li>div{display:grid;gap:3px;min-width:0}.studio-update-progress small{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-note{margin:12px 0 18px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.new-chat-video-task-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:new-chat-video-task-fade .14s ease-out}.new-chat-video-task-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:new-chat-video-task-rise .18s cubic-bezier(.2,.8,.2,1)}.new-chat-video-task-dialog__head{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 20px;border-bottom:1px solid hsl(var(--border))}.new-chat-video-task-dialog__close svg{width:17px;height:17px}.new-chat-video-task-dialog__head h2,.new-chat-video-task-dialog__head p{margin:0}.new-chat-video-task-dialog__head h2{width:fit-content;color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35;outline:0}.new-chat-video-task-dialog__head p{overflow:hidden;margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-dialog__close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.new-chat-video-task-dialog__close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.new-chat-video-task-dialog button:focus-visible,.new-chat-video-task-dialog a:focus-visible,.new-chat-video-task-dialog video:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.new-chat-video-task-dialog__body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;overscroll-behavior:contain}.new-chat-video-task-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.new-chat-video-task-steps li{min-width:0;padding:0 0 8px;border-bottom:2px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.4}.new-chat-video-task-step__label{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-step__label>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.new-chat-video-task-step__loading{width:13px;height:13px;flex:0 0 auto;animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-steps li.is-active,.new-chat-video-task-steps li.is-done,.new-chat-video-task-steps li.is-failed{color:hsl(var(--foreground))}.new-chat-video-task-steps li.is-active{border-color:hsl(var(--primary))}.new-chat-video-task-steps li.is-done{border-color:#91cab1}.new-chat-video-task-steps li.is-failed{border-color:hsl(var(--destructive))}.new-chat-video-task-error{max-height:220px;min-width:0;overflow-y:auto;padding:12px 14px;border:1px solid hsl(var(--destructive) / .22);border-radius:9px;background:hsl(var(--destructive) / .05);color:hsl(var(--foreground))}.new-chat-video-task-error p{margin:0;color:hsl(var(--foreground));font-size:13px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-prompt{min-width:0;padding:13px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas))}.new-chat-video-task-prompt h3,.new-chat-video-task-prompt p{margin:0}.new-chat-video-task-prompt h3{color:hsl(var(--foreground));font-size:12px;font-weight:620}.new-chat-video-task-prompt p{max-height:144px;overflow-y:auto;margin-top:7px;color:hsl(var(--foreground) / .78);font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-preview{min-height:224px;display:grid;place-items:center;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:#161618}.new-chat-video-task-preview video{width:100%;max-height:360px;display:block;object-fit:contain}.new-chat-video-task-preview.is-loading{align-content:center;gap:8px;padding:24px;background:hsl(var(--canvas));color:hsl(var(--muted-foreground));text-align:center}.new-chat-video-task-preview__loading{width:20px;height:20px;color:hsl(var(--muted-foreground));animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-preview.is-loading strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.new-chat-video-task-progress,.new-chat-video-task-progress__meta{width:min(320px,100%)}.new-chat-video-task-progress{height:4px;overflow:hidden;margin-top:4px;border-radius:999px;background:hsl(var(--secondary))}.new-chat-video-task-progress>span{width:38%;height:100%;display:block;border-radius:inherit;background:hsl(var(--primary) / .76);transform:translate3d(-70%,0,0);animation:new-chat-video-task-progress 1.7s cubic-bezier(.4,0,.2,1) infinite}.new-chat-video-task-progress__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-progress__meta span:last-child{flex:0 0 auto;font-variant-numeric:tabular-nums}.new-chat-video-task-preview.is-loading>span:last-child{font-size:12px}.new-chat-video-task-dialog__actions{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.new-chat-video-task-dialog__actions p{min-width:0;margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-dialog__actions>div{display:flex;flex:0 0 auto;gap:8px}.new-chat-video-task-button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}.new-chat-video-task-button:hover{background:hsl(var(--secondary))}.new-chat-video-task-button.is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.new-chat-video-task-button.is-primary:hover{background:hsl(var(--primary) / .9)}.new-chat-video-task-button svg{width:15px;height:15px}@keyframes new-chat-video-task-fade{0%{opacity:0}to{opacity:1}}@keyframes new-chat-video-task-rise{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes new-chat-video-task-spin{to{transform:rotate(360deg)}}@keyframes new-chat-video-task-progress{0%{transform:translate3d(-70%,0,0)}to{transform:translate3d(200%,0,0)}}@media (max-width: 620px){.new-chat-video-task-backdrop{padding:12px}.new-chat-video-task-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.new-chat-video-task-steps{grid-template-columns:minmax(0,1fr);gap:10px}.new-chat-video-task-dialog__actions{align-items:stretch;flex-direction:column}.new-chat-video-task-dialog__actions>div{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.new-chat-video-task-backdrop,.new-chat-video-task-dialog,.new-chat-video-task-step__loading,.new-chat-video-task-preview__loading{animation:none}.new-chat-video-task-progress>span{animation:none;transform:translate3d(80%,0,0)}}.sandbox-entry{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid hsl(268 58% 58% / .34);background:#f4eefb;color:#5b318c;font:inherit;font-weight:600;cursor:pointer;transition:background-color .14s ease-out,border-color .14s ease-out}.sandbox-entry svg{width:15px;height:15px;flex:0 0 auto}.sandbox-entry:hover:not(:disabled){border-color:#803ecc85;background:#ece2f9}.sandbox-entry:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-entry:disabled{cursor:default;opacity:.72}.sandbox-entry--composer{min-height:30px;padding:0 13px;border-radius:999px;font-size:12px}.sandbox-entry--header{min-height:32px;padding:0 10px;border-radius:7px;font-size:12px}.sandbox-entry.is-active{border-style:dashed}.sandbox-new-chat-entry{display:flex;justify-content:center;min-height:30px}.composer-slot{width:100%;min-width:0}.sandbox-composer-wrap{position:relative;z-index:50}.sandbox-session-warning{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;width:calc(100% - 32px);max-width:736px;min-height:24px;margin:0 auto 6px;color:#c7840f;font-size:12px}.sandbox-session-warning-dot{display:none}.sandbox-session-warning-copy{grid-column:2;white-space:nowrap;text-align:center}.sandbox-session-warning.is-expiring .sandbox-session-warning-copy{min-width:0;overflow-wrap:anywhere;white-space:normal}.sandbox-session-warning.is-expiring{grid-template-columns:minmax(0,1fr) auto;max-width:768px}.sandbox-session-warning.is-expiring .sandbox-session-warning-copy{grid-column:1;text-align:center}.sandbox-session-warning.is-expiring button{grid-column:2}.sandbox-session-warning button{grid-column:3;justify-self:end;padding:3px 5px;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-weight:580;white-space:nowrap;cursor:pointer}.sandbox-session-warning button:hover{background:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.sandbox-composer-wrap .composer-box{display:grid;grid-template-columns:1fr auto;grid-template-rows:minmax(44px,auto) 36px;align-items:center;gap:2px 8px;min-height:104px;padding:10px 8px 8px;border-radius:24px}.sandbox-composer-wrap .comp-input{grid-row:1;grid-column:1 / -1;align-self:stretch;width:100%;min-height:44px;padding:8px 10px 4px}.sandbox-composer-wrap .sandbox-composer-input{grid-row:1;grid-column:1 / -1;align-self:stretch;display:flex;flex-flow:row wrap;align-content:flex-start;align-items:center;gap:6px;min-height:44px;padding:5px 10px 2px}.sandbox-composer-input>.invocation-chips{flex:0 1 auto}.sandbox-composer-input>.comp-input{flex:1 1 180px;min-width:120px;min-height:28px;padding:4px 0;line-height:20px}.sandbox-codex-composer .composer-command-menu{z-index:100;display:flex;max-height:min(420px,calc(100vh - 180px));flex-direction:column}.sandbox-codex-composer .composer-command-list{min-height:0;max-height:none}.sandbox-composer-wrap .composer-left-controls{grid-row:2;grid-column:1;justify-self:start}.composer-left-controls{display:flex;align-items:center;gap:2px;min-width:0}.sandbox-composer-control{width:32px;height:32px}.sandbox-composer-control svg{width:16px;height:16px}.sandbox-composer-control.is-locked{color:hsl(var(--muted-foreground) / .56)}.sandbox-codex-composer .composer-menu-separator{height:1px;margin:4px 6px;background:hsl(var(--border))}.turn--system{width:100%;align-items:stretch;margin-bottom:16px}.sandbox-activity-record{width:100%;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--muted-foreground))}.sandbox-activity-summary{display:grid;grid-template-columns:7px auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;font-size:12px;line-height:1.45}.sandbox-activity-dot{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .68)}.sandbox-activity-label{padding-right:7px;border-right:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11px;font-weight:600}.sandbox-activity-summary strong{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-weight:560}.sandbox-activity-summary time{color:hsl(var(--muted-foreground));font-size:11px;white-space:nowrap}.sandbox-activity-details{display:grid;gap:5px;margin:8px 0 0 21px}.sandbox-activity-details>div{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px;font-size:12px;line-height:1.5}.sandbox-activity-details dt,.sandbox-activity-details dd{min-width:0;margin:0}.sandbox-activity-details dt{color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-activity-details dd{overflow-wrap:break-word;color:hsl(var(--foreground))}.sandbox-activity-details code{font:inherit;font-size:11px;line-height:1.5;white-space:pre-wrap}.sandbox-composer-wrap .comp-send{grid-row:2;grid-column:2}.main.is-sandbox-session{position:relative;isolation:isolate;background:linear-gradient(to bottom,#f4edfd,#f8f3fc,#fbf8fc 48%,hsl(var(--panel)) 76%)}.main.is-sandbox-session:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 78% 40% at 18% 0%,hsl(244 82% 84% / .24),transparent 70%),radial-gradient(ellipse 70% 36% at 52% 0%,hsl(284 70% 86% / .2),transparent 72%),radial-gradient(ellipse 64% 38% at 88% 2%,hsl(324 66% 88% / .16),transparent 72%),linear-gradient(to bottom,hsl(var(--panel) / 0),hsl(var(--panel) / .18) 42%,hsl(var(--panel)) 76%);filter:blur(24px);opacity:1;animation:sandbox-smoke-enter .42s ease-out both}.main.is-sandbox-session.is-intelligent-development{background:hsl(var(--panel))}.main.is-sandbox-session.is-intelligent-development:before{display:none}.main.is-sandbox-session>*{position:relative;z-index:1}.sandbox-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-dialog{width:min(440px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-dialog-enter .18s ease-out both}.sandbox-dialog-visual{position:relative;display:grid;height:112px;place-items:center;overflow:hidden;border-bottom:1px solid hsl(var(--border));background:radial-gradient(circle at 35% 70%,hsl(256 68% 78% / .34),transparent 40%),radial-gradient(circle at 68% 30%,hsl(276 66% 72% / .28),transparent 42%),#f9f8fc}.sandbox-dialog-orbit{position:absolute;width:104px;height:44px;border:1px solid hsl(268 52% 54% / .22);border-radius:50%;transform:rotate(-12deg)}.sandbox-dialog-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid hsl(268 58% 58% / .3);border-radius:14px;background:hsl(var(--panel) / .9);color:#68389f;box-shadow:0 8px 24px #6c38a824}.sandbox-dialog-icon svg{width:23px;height:23px}.sandbox-spinner{width:21px;height:21px;border:2px solid hsl(268 48% 42% / .2);border-top-color:currentColor;border-radius:50%;animation:sandbox-spin .8s linear infinite}.sandbox-dialog-copy{padding:22px 24px 20px;text-align:center}.sandbox-dialog-copy h2{margin:0 0 8px;color:hsl(var(--foreground));font-size:17px;font-weight:650}.sandbox-dialog-copy p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.65}.sandbox-dialog-copy .sandbox-dialog-error{color:hsl(var(--destructive))}.sandbox-dialog-field{display:grid;gap:6px;margin-top:16px;text-align:left}.sandbox-dialog-field-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.sandbox-dialog-field-label>:last-child{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400}.sandbox-dialog-field input{width:100%;height:36px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.sandbox-dialog-field input:focus-visible{border-color:hsl(var(--primary) / .64);box-shadow:0 0 0 2px hsl(var(--primary) / .14)}.sandbox-dialog-field input:disabled{cursor:default;opacity:.66}.sandbox-dialog-persistence{display:grid;gap:3px;margin-top:12px;text-align:left}.sandbox-dialog-persistence-control{justify-self:start;color:hsl(var(--foreground));font-weight:550}.sandbox-dialog-persistence-description{margin:0 0 0 26px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.sandbox-dialog-persistence-description.is-warning{color:#9e6b1a}.sandbox-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-dialog-actions button{min-width:80px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-dialog-actions button:hover{background:hsl(var(--secondary))}.sandbox-dialog-actions button:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-dialog-actions .is-primary{border-color:#68389f;background:#68389f;color:hsl(var(--primary-foreground))}.sandbox-dialog-actions .is-primary:hover{background:#5b318c}@keyframes sandbox-spin{to{transform:rotate(360deg)}}@keyframes sandbox-dialog-enter{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-smoke-enter{0%{opacity:0}to{opacity:1}}.sandbox-codex-composer .composer-command-head small{max-width:210px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sandbox-codex-composer .composer-command-icon--command,.sandbox-codex-composer .composer-command-icon--model{font-size:16px;font-weight:700;line-height:1}.sandbox-codex-composer .composer-command-icon--command{background:hsl(var(--accent));color:hsl(var(--foreground))}.sandbox-codex-composer .composer-command-icon--model{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-token-usage{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-right:auto}.sandbox-token-usage>span{display:inline-flex;align-items:baseline;gap:4px;padding:3px 7px;border:1px solid hsl(var(--border) / .76);border-radius:6px;background:hsl(var(--muted) / .42);color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-token-usage small{font-size:9px;font-weight:560}.sandbox-token-usage strong{color:hsl(var(--foreground) / .76);font-size:10px;font-weight:600;line-height:1.2}@media (max-width: 700px){.sandbox-entry--header span{display:none}.sandbox-entry--header{width:32px;padding:0}.sandbox-session-warning{grid-template-columns:1fr auto;width:calc(100% - 16px)}.sandbox-session-warning-copy{grid-column:1;white-space:normal;text-align:left}.sandbox-session-warning button{grid-column:2}.sandbox-activity-summary{grid-template-columns:7px auto minmax(0,1fr)}.sandbox-activity-summary time{grid-column:3}.sandbox-activity-details>div{grid-template-columns:1fr;gap:1px}}@media (prefers-reduced-motion: reduce){.sandbox-entry,.sandbox-dialog,.main.is-sandbox-session:before{animation:none;transition:none}}.sandbox-control-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sandbox-control-fade .14s ease-out}.sandbox-control-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:sandbox-control-rise .18s cubic-bezier(.2,.8,.2,1)}.sandbox-control-head{min-height:60px;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 17px;border-bottom:1px solid hsl(var(--border))}.sandbox-control-head-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-head-icon svg{width:17px;height:17px}.sandbox-control-head h2,.sandbox-control-head p{margin:0}.sandbox-control-head h2{color:hsl(var(--foreground));font-size:14px;font-weight:660;line-height:1.35}.sandbox-control-head p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-control-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-control-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-dialog button:focus-visible,.sandbox-control-dialog input:focus-visible,.sandbox-control-dialog iframe:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.sandbox-control-close svg{width:16px;height:16px}.sandbox-control-body{min-height:0;overflow:auto;padding:18px}.sandbox-control-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.sandbox-control-actions button,.sandbox-control-state button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:590;text-decoration:none;cursor:pointer}.sandbox-control-actions button:hover:not(:disabled),.sandbox-control-state button:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary))}.sandbox-control-actions button.is-primary,.sandbox-control-state button{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.sandbox-control-actions button:disabled{cursor:default;opacity:.5}.sandbox-control-actions svg{width:13px;height:13px}.sandbox-choice-group{margin:0 0 18px;padding:0;border:0}.sandbox-settings-dialog{width:min(720px,calc(100vw - 40px))}.sandbox-choice-group legend{margin-bottom:8px;color:hsl(var(--foreground));font-size:12px;font-weight:650}.sandbox-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sandbox-choice-list button{min-width:0;min-height:72px;display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-choice-list button:hover:not(:disabled),.sandbox-choice-list button.is-active{border-color:hsl(var(--primary) / .42);background:hsl(var(--accent))}.sandbox-choice-list button.is-danger:hover:not(:disabled),.sandbox-choice-list button.is-danger.is-active{border-color:hsl(var(--destructive) / .38);background:hsl(var(--destructive) / .06)}.sandbox-choice-list button>i{width:12px;height:12px;flex:0 0 auto;margin-top:2px;border:1px solid hsl(var(--border));border-radius:50%}.sandbox-choice-list button.is-active>i{border:3px solid hsl(var(--primary));background:hsl(var(--background))}.sandbox-choice-list button>span{min-width:0;display:grid;gap:5px}.sandbox-choice-list strong{color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-choice-list small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.sandbox-network-toggle{min-height:54px;display:flex;align-items:center;gap:12px;margin-top:2px;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .24)}.sandbox-network-toggle>span{min-width:0;flex:1;display:grid;gap:3px}.sandbox-network-toggle strong{font-size:11px}.sandbox-network-toggle small{color:hsl(var(--muted-foreground));font-size:11px}.sandbox-network-toggle input{width:16px;height:16px;accent-color:hsl(var(--primary))}.sandbox-network-toggle.is-disabled{opacity:.62}.sandbox-control-note,.sandbox-control-error{margin-top:12px;padding:9px 11px;border:1px solid hsl(42 70% 52% / .25);border-radius:8px;background:#fcf8ed;color:#916622;font-size:12px;line-height:1.55}.sandbox-control-note.is-danger,.sandbox-control-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.sandbox-workspace-dialog{width:min(600px,calc(100vw - 40px))}.sandbox-workspace-input{display:grid;gap:7px;color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-workspace-input>div{display:flex;gap:7px}.sandbox-workspace-input input{min-width:0;height:36px;flex:1;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.sandbox-workspace-input input:focus{border-color:hsl(var(--primary) / .55);box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.sandbox-workspace-input button{width:64px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .35);color:hsl(var(--foreground));font:inherit;font-size:11px;cursor:pointer}.sandbox-directory-browser{height:268px;margin-top:14px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .14)}.sandbox-directory-head{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;font-size:10px}.sandbox-directory-head span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-head svg{width:13px}.sandbox-directory-list{height:calc(100% - 36px);overflow:auto;padding:5px}.sandbox-directory-list button{width:100%;min-height:34px;display:grid;grid-template-columns:18px minmax(0,auto) minmax(0,1fr) 16px;align-items:center;gap:7px;padding:5px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11px;text-align:left;cursor:pointer}.sandbox-directory-list button:hover{background:hsl(var(--foreground) / .05)}.sandbox-directory-list button>svg:first-child{width:15px;color:hsl(var(--foreground))}.sandbox-directory-list button>svg:last-child{width:13px;color:hsl(var(--muted-foreground))}.sandbox-directory-list button small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-empty{display:grid;min-height:120px;place-items:center;color:hsl(var(--muted-foreground));font-size:11px}.sandbox-tool-dialog{width:min(1120px,calc(100vw - 44px));height:min(760px,calc(100vh - 48px));max-height:none}.sandbox-tool-toolbar{min-height:42px;display:flex;align-items:center;gap:12px;padding:5px 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .2)}.sandbox-tool-toolbar>span{display:inline-flex;align-items:center;gap:7px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.sandbox-tool-toolbar>span i{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .5)}.sandbox-tool-toolbar>span i.is-ready{background:#2ab262}.sandbox-tool-toolbar>span i.is-loading{background:#e9ab1c}.sandbox-tool-surface{flex:1;min-height:0;display:grid;overflow:hidden;background:hsl(var(--secondary) / .2)}.sandbox-tool-dialog--terminal .sandbox-tool-surface{background:#15171e}.sandbox-tool-surface iframe{width:100%;height:100%;border:0;background:hsl(var(--background))}.sandbox-control-state{display:grid;place-items:center;align-content:center;gap:8px;padding:28px;color:hsl(var(--muted-foreground));text-align:center}.sandbox-control-state>svg{width:22px;height:22px;color:hsl(var(--foreground))}.sandbox-control-state strong{color:hsl(var(--foreground));font-size:13px}.sandbox-control-state span{max-width:420px;font-size:11px;line-height:1.55}.sandbox-approval-dialog{width:min(560px,calc(100vw - 40px))}.sandbox-approval-reason{margin-bottom:11px;color:hsl(var(--foreground));font-size:12px;line-height:1.55}.sandbox-approval-dialog pre{max-height:240px;margin:0 0 10px;overflow:auto;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:#181a21;color:#e0e6eb;font:inherit;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.sandbox-approval-meta{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-approval-meta code{color:hsl(var(--foreground));font:inherit;font-size:10px}.sandbox-approval-actions{flex-wrap:wrap}.sandbox-threads-dialog{width:min(620px,calc(100vw - 40px))}.sandbox-thread-list{display:grid;max-height:min(520px,64vh);overflow-y:auto;padding:7px}.sandbox-thread-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:62px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-thread-list>button:hover{background:hsl(var(--accent))}.sandbox-thread-list>button.is-active{background:hsl(var(--muted) / .7);cursor:default}.sandbox-thread-list>button>span{display:grid;min-width:0;gap:4px}.sandbox-thread-list strong,.sandbox-thread-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-thread-list strong{font-size:12px;font-weight:620}.sandbox-thread-list small,.sandbox-thread-list time{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-thread-list svg{width:14px;height:14px;color:hsl(var(--muted-foreground))}@keyframes sandbox-control-fade{0%{opacity:0}to{opacity:1}}@keyframes sandbox-control-rise{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.sandbox-control-backdrop{padding:10px}.sandbox-control-dialog{width:100%;max-height:calc(100vh - 20px)}.sandbox-tool-dialog{height:calc(100vh - 20px)}.sandbox-choice-list,.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:1fr}.sandbox-choice-list button{min-height:58px}.sandbox-control-head p{display:none}.sandbox-control-actions>button{flex:1}}@media (prefers-reduced-motion: reduce){.sandbox-control-backdrop,.sandbox-control-dialog{animation:none}}.sandbox-agent-details{display:grid;align-content:start;gap:20px;width:min(920px,100%);height:100%;min-height:0;margin:0 auto;padding:28px 32px;overflow:auto}.sandbox-agent-details-header{display:flex;align-items:center;gap:8px}.sandbox-agent-details-header>div{min-width:0}.sandbox-agent-details-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650}.sandbox-agent-details-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px}.sandbox-agent-detail-error{padding:10px 12px;border:1px solid hsl(var(--destructive) / .3);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px}.sandbox-agent-detail-panel{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.sandbox-agent-detail-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:8px 24px}.sandbox-agent-detail-panel dl>div{min-width:0;padding:16px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:nth-last-child(-n+2){border-bottom:0}.sandbox-agent-detail-panel dl>div:nth-child(odd){padding-right:24px}.sandbox-agent-detail-panel dl>div:nth-child(2n){padding-left:24px}.sandbox-agent-detail-panel dl>.is-wide{grid-column:1 / -1;padding-right:0}.sandbox-agent-detail-panel dt{margin-bottom:6px;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-detail-panel dd{min-width:0;margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:13px;font-weight:520}.sandbox-agent-detail-panel footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .25)}.sandbox-agent-detail-panel footer button{height:34px;padding:0 14px;border-radius:8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-agent-delete{border:1px solid hsl(var(--destructive) / .34);background:hsl(var(--panel));color:hsl(var(--destructive))}.sandbox-agent-open{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.sandbox-agent-detail-panel footer button:disabled{cursor:default;opacity:.58}@media (max-width: 720px){.sandbox-agent-details{padding:20px 16px}.sandbox-agent-detail-panel dl{grid-template-columns:1fr;padding:8px 16px}.sandbox-agent-detail-panel dl>div,.sandbox-agent-detail-panel dl>div:nth-child(odd),.sandbox-agent-detail-panel dl>div:nth-child(2n){padding:14px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:last-child{border-bottom:0}}.sandbox-agent-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;background:hsl(var(--canvas))}.sandbox-agent-workspace>header{display:flex;min-width:0;min-height:62px;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.sandbox-agent-workspace-title{display:flex;min-width:0;align-items:center;gap:10px}.sandbox-agent-workspace-title>button{display:inline-grid;width:24px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-agent-workspace-title>button:hover{color:hsl(var(--foreground))}.sandbox-agent-workspace-title svg{width:17px;height:17px}.sandbox-agent-workspace-title>div{min-width:0}.sandbox-agent-workspace-title h1{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:15px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.sandbox-agent-workspace-title p{display:flex;align-items:center;gap:7px;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-workspace-status{display:inline-flex;min-height:18px;align-items:center;padding:0 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:550;line-height:1}.sandbox-agent-workspace-status[data-ready]{border-color:#428a5c38;background:#e9f6ee;color:#206f3d}.sandbox-agent-workspace-tabs{width:200px;flex:0 0 auto}.sandbox-agent-workspace button:focus-visible{outline:2px solid hsl(var(--foreground) / .3);outline-offset:2px}.sandbox-agent-workspace-surface{min-width:0;min-height:0;overflow:hidden}.sandbox-agent-workspace-surface iframe{display:block;width:100%;height:100%;border:0;background:hsl(var(--panel))}.sandbox-agent-workspace-state{display:grid;height:100%;place-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.sandbox-agent-workspace-state p{margin:0}.sandbox-agent-workspace-state.is-error{color:hsl(var(--destructive))}.sandbox-agent-workspace-state button{justify-self:center;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}@media (max-width: 720px){.sandbox-agent-workspace>header{align-items:stretch;flex-direction:column}.sandbox-agent-workspace-tabs{width:100%}}.sandbox-project-upload-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-project-upload-dialog{width:min(680px,calc(100vw - 40px));max-height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-project-upload-enter .18s ease-out both}.sandbox-project-upload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid hsl(var(--border))}.sandbox-project-upload-head h2,.sandbox-project-upload-head p{margin:0}.sandbox-project-upload-title-row{display:flex;align-items:center;gap:8px}.sandbox-project-upload-title-row .sandbox-project-upload-beta{height:18px;padding-inline:6px;font-size:10px;font-weight:600;line-height:1.2}.sandbox-project-upload-head h2{font-size:17px;font-weight:650;line-height:1.3}.sandbox-project-upload-head p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.sandbox-project-upload-close{width:32px;height:32px;display:inline-grid;flex:0 0 32px;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-project-upload-close:hover{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-project-upload-close svg{width:17px;height:17px}.sandbox-project-upload-body{min-height:0;overflow-y:auto;display:grid;gap:14px;padding:16px 22px 20px}.sandbox-project-upload-pairing-notice{min-height:38px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 6px 12px;border:1px solid hsl(43 90% 48% / .28);border-radius:8px;background:#fabf0f1f;color:#885c11;font-size:12px;line-height:1.45;white-space:nowrap}.sandbox-project-upload-pairing-notice time{font-variant-numeric:tabular-nums;font-weight:650}.sandbox-project-upload-pairing-notice button{height:26px;display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.sandbox-project-upload-pairing-notice button:hover:not(:disabled){background:#e9aa0c1f}.sandbox-project-upload-pairing-notice button:disabled{cursor:default;opacity:.6}.sandbox-project-upload-pairing-notice svg{width:14px;height:14px}.sandbox-project-upload-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .22);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.sandbox-project-upload-error span{min-width:0;overflow-wrap:anywhere}.sandbox-project-upload-stage{overflow:hidden;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background))}.sandbox-project-upload-stage-head{min-height:64px;box-sizing:border-box;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid hsl(var(--border))}.sandbox-project-upload-stage-number{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:650;line-height:1}.sandbox-project-upload-stage-head>div{min-width:0}.sandbox-project-upload-stage-head h3{margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.4}.sandbox-project-upload-stage-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.sandbox-project-upload-stage-head button,.sandbox-project-upload-error button,.sandbox-project-upload-actions button{height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-project-upload-stage-head button,.sandbox-project-upload-error button{padding:0 10px}.sandbox-project-upload-stage-head button:hover:not(:disabled),.sandbox-project-upload-error button:hover,.sandbox-project-upload-actions button:hover{background:hsl(var(--secondary))}.sandbox-project-upload-stage-head button:disabled{cursor:default;opacity:.56}.sandbox-project-upload-stage-head svg,.sandbox-project-upload-error svg,.sandbox-project-upload-actions svg{width:14px;height:14px;flex:0 0 14px}.sandbox-project-upload-install-tabs{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:36px;margin:10px 10px 0;padding:3px;box-sizing:border-box;border:1px solid hsl(var(--border) / .58);border-radius:8px;background:hsl(var(--secondary) / .58)}.sandbox-project-upload-install-tabs>span{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border:1px solid hsl(var(--border) / .72);border-radius:6px;background:hsl(var(--background));transform:translate(0);transition:transform .18s ease-out}.sandbox-project-upload-install-tabs.is-terminal>span{transform:translate(100%)}.sandbox-project-upload-install-tabs button{position:relative;z-index:1;min-width:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;text-align:center;transition:color .16s ease-out}.sandbox-project-upload-install-tabs button:hover,.sandbox-project-upload-install-tabs button[aria-selected=true]{color:hsl(var(--foreground))}.sandbox-project-upload-prompt{min-height:92px;display:flex}.sandbox-project-upload-prompt pre{width:100%;box-sizing:border-box;margin:0;padding:12px;color:hsl(var(--foreground));font-family:inherit;font-size:13px;font-weight:400;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.sandbox-project-upload-prompt code{font-family:inherit;font-size:13px;font-weight:400}.sandbox-project-upload-prompt.is-command code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.sandbox-project-upload-loading{width:100%;min-height:92px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:0 12px;color:hsl(var(--muted-foreground));font-size:12px}.sandbox-project-upload-loading i{width:14px;height:14px;flex:0 0 14px;border:2px solid hsl(var(--foreground) / .16);border-top-color:hsl(var(--foreground));border-radius:50%;animation:sandbox-project-upload-spin .8s linear infinite}.sandbox-project-upload-stage>.sandbox-project-upload-pairing-notice{margin:10px 10px 0}.sandbox-project-upload-stage>.sandbox-project-upload-pairing-notice+.sandbox-project-upload-prompt{min-height:104px}.sandbox-project-upload-progress{border-top:1px solid hsl(var(--border))}.sandbox-project-upload-progress>header{min-height:58px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 12px;border-bottom:1px solid hsl(var(--border))}.sandbox-project-upload-progress>header div{min-width:0}.sandbox-project-upload-progress>header span{display:block;font-size:12.5px;font-weight:650;line-height:1.4}.sandbox-project-upload-progress>header p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-project-upload-progress>header strong{flex:0 0 auto;padding:4px 8px;border-radius:6px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600;line-height:1.35}.sandbox-project-upload-progress>header strong[data-state=completed]{background:#e9f6ee;color:#206f3d}.sandbox-project-upload-progress>header strong[data-state=running]{background:#e5f0fb;color:#21518c}.sandbox-project-upload-progress>header strong[data-state=failed]{background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.sandbox-project-upload-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:12px;list-style:none}.sandbox-project-upload-progress li{position:relative;min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:7px;padding-right:28px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.sandbox-project-upload-progress li>span:last-child{min-width:0;white-space:nowrap}.sandbox-project-upload-progress li:not(:last-child):after{position:absolute;top:50%;right:6px;width:16px;height:1px;background:hsl(var(--border));content:""}.sandbox-project-upload-progress li:last-child{padding-right:0}.sandbox-project-upload-progress li[data-state=active]{color:hsl(var(--foreground));font-weight:600}.sandbox-project-upload-progress li[data-state=done]{color:hsl(var(--foreground))}.sandbox-project-upload-progress li[data-state=failed]{color:hsl(var(--destructive));font-weight:600}.sandbox-project-upload-progress-marker{width:18px;height:18px;display:inline-grid;flex:0 0 18px;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel))}.sandbox-project-upload-progress li[data-state=active] .sandbox-project-upload-progress-marker{border:2px solid hsl(var(--foreground) / .2);border-top-color:hsl(var(--foreground));animation:sandbox-project-upload-spin .8s linear infinite}.sandbox-project-upload-progress li[data-state=done] .sandbox-project-upload-progress-marker{border-color:#3b915b4d;background:#e9f6ee;color:#206f3d}.sandbox-project-upload-progress li[data-state=failed] .sandbox-project-upload-progress-marker{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .06)}.sandbox-project-upload-progress-marker svg{width:12px;height:12px}.sandbox-project-upload-progress-error{margin:0;padding:0 12px 12px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.sandbox-project-upload-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-project-upload-actions button{min-width:86px;padding:0 14px}.sandbox-project-upload-actions .is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.sandbox-project-upload-actions .is-primary:hover{background:hsl(var(--foreground) / .9)}.sandbox-project-upload-dialog button:focus-visible,.sandbox-project-upload-install-tabs button:focus-visible,.sandbox-project-upload-prompt pre:focus-visible{outline:2px solid hsl(var(--ring) / .34);outline-offset:2px}@keyframes sandbox-project-upload-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-project-upload-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.sandbox-project-upload-backdrop{padding:10px}.sandbox-project-upload-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.sandbox-project-upload-head,.sandbox-project-upload-body{padding-left:16px;padding-right:16px}.sandbox-project-upload-pairing-notice{gap:6px;padding-left:10px;font-size:11.5px}.sandbox-project-upload-stage-head{grid-template-columns:24px minmax(0,1fr)}.sandbox-project-upload-stage-head button{grid-column:2;justify-self:start}.sandbox-project-upload-actions button{flex:1}.sandbox-project-upload-progress ol{grid-template-columns:1fr 1fr;gap:10px 12px}.sandbox-project-upload-progress li:after{display:none}.sandbox-project-upload-progress li{padding-right:0}}@media (prefers-reduced-motion: reduce){.sandbox-project-upload-dialog,.sandbox-project-upload-install-tabs>span,.sandbox-project-upload-install-tabs button,.sandbox-project-upload-progress li[data-state=active] .sandbox-project-upload-progress-marker,.sandbox-project-upload-loading i{animation:none;transition:none}}.auth-expired-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .22);backdrop-filter:blur(5px) saturate(.88);-webkit-backdrop-filter:blur(5px) saturate(.88)}.auth-expired-dialog{position:relative;width:min(400px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 28px 80px hsl(var(--foreground) / .2),0 2px 8px hsl(var(--foreground) / .06);animation:auth-expired-enter .18s cubic-bezier(.22,1,.36,1) both}.auth-expired-mark{display:grid;width:32px;height:32px;margin:32px auto 0;place-items:center;color:hsl(var(--foreground))}.auth-expired-mark svg{width:21px;height:21px;stroke-width:1.8}.auth-expired-copy{padding:22px 32px 28px;text-align:center}.auth-expired-copy h2{margin:0;color:hsl(var(--foreground));font-size:19px;font-weight:650;letter-spacing:-.01em}.auth-expired-copy>p:last-child{margin:11px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.7}.auth-expired-copy .auth-expired-error{margin-top:10px;color:hsl(var(--destructive))}.auth-expired-actions{padding:0 16px 16px}.auth-expired-actions button{width:100%;height:38px;border:1px solid hsl(var(--foreground));border-radius:9px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.auth-expired-actions button:hover{opacity:.88}.auth-expired-actions button:active{transform:translateY(1px)}.auth-expired-actions button:focus-visible{outline:3px solid hsl(var(--ring) / .28);outline-offset:2px}.auth-expired-actions button:disabled{cursor:wait;opacity:.58}@keyframes auth-expired-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.auth-expired-dialog{animation:none}}.issue-feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:issue-feedback-fade-in .14s ease-out}.issue-feedback-dialog{width:min(480px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:issue-feedback-rise-in .18s cubic-bezier(.2,.8,.2,1)}.issue-feedback-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;border-bottom:1px solid hsl(var(--border))}.issue-feedback-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.issue-feedback-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.issue-feedback-close svg,.issue-feedback-success-mark svg{width:16px;height:16px}.issue-feedback-close:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.issue-feedback-body,.issue-feedback-success{min-height:0;overflow-y:auto;padding:20px}.issue-feedback-intro{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-privacy{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.issue-feedback-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.issue-feedback-chip{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.issue-feedback-chip:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-chip[aria-pressed=true]{border-color:hsl(var(--primary) / .4);background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.issue-feedback-field{display:grid;gap:8px;color:hsl(var(--foreground));font-size:13px;font-weight:550}.issue-feedback-field textarea{width:100%;min-height:112px;resize:vertical;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400;line-height:1.55}.issue-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.issue-feedback-error{margin:12px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.issue-feedback-success{min-height:220px;display:grid;grid-template-columns:36px 1fr;gap:12px;align-content:center;align-items:center;animation:issue-feedback-success-in .18s ease-out}.issue-feedback-success-mark{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#24a8541a;color:#238b49;animation:issue-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.issue-feedback-success-mark:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:12px;content:"";opacity:0;animation:issue-feedback-success-ring .44s ease-out}.issue-feedback-success-mark path{stroke-dasharray:24;stroke-dashoffset:24;animation:issue-feedback-check-draw .28s .1s ease-out forwards}.issue-feedback-success h3{margin:0 0 4px;font-size:15px;font-weight:600}.issue-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.issue-feedback-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.issue-feedback-actions button:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.issue-feedback-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.issue-feedback-close:focus-visible,.issue-feedback-chip:focus-visible,.issue-feedback-field textarea:focus-visible,.issue-feedback-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.issue-feedback-dialog button:disabled,.issue-feedback-dialog textarea:disabled{cursor:not-allowed;opacity:.55}@keyframes issue-feedback-fade-in{0%{opacity:0}to{opacity:1}}@keyframes issue-feedback-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes issue-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes issue-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes issue-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes issue-feedback-check-draw{to{stroke-dashoffset:0}}@media (max-width: 560px){.issue-feedback-backdrop{padding:16px}.issue-feedback-dialog{max-height:calc(100vh - 32px)}}@media (prefers-reduced-motion: reduce){.issue-feedback-backdrop,.issue-feedback-dialog,.issue-feedback-success,.issue-feedback-success-mark,.issue-feedback-success-mark:after,.issue-feedback-success-mark path{animation:none}.issue-feedback-success-mark path{stroke-dashoffset:0}}.share-message-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:share-message-fade-in .14s ease-out}.share-message-dialog{width:min(720px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:share-message-rise-in .18s cubic-bezier(.2,.8,.2,1)}.share-message-export{position:fixed;top:0;left:-100000px;width:816px;box-sizing:border-box;padding:24px;overflow:visible;background:hsl(var(--background));color:hsl(var(--foreground));pointer-events:none}.share-message-export>.turn{width:100%;max-width:100%;margin-right:0;margin-left:0;opacity:1!important;transform:none!important;animation:none!important}.share-message-export>.turn:not(:last-of-type){margin-bottom:24px}.share-message-export>.turn:last-of-type{margin-bottom:0}.share-message-export-note{margin:24px 0 0;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.5;text-align:center}.share-message-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px 10px 20px;border-bottom:1px solid hsl(var(--border));flex:0 0 auto}.share-message-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.share-message-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.share-message-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.share-message-close svg{width:16px;height:16px}.share-message-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.share-message-body{min-height:260px;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px;background:hsl(var(--canvas))}.share-message-generating,.share-message-failure{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px}.share-message-failure p,.share-message-error{margin:0;color:hsl(var(--destructive));font-size:12.5px;line-height:1.55;text-align:center}.share-message-failure button{height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-preview{width:min(100%,816px);margin:0 auto;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.share-message-preview img{display:block;width:100%;height:auto}.share-message-error{margin-top:12px}.share-message-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border));flex:0 0 auto}.share-message-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-actions button:hover:not(:disabled),.share-message-failure button:hover{background:hsl(var(--secondary))}.share-message-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.share-message-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.share-message-actions button:disabled{cursor:not-allowed;opacity:.5}.share-message-close:focus-visible,.share-message-failure button:focus-visible,.share-message-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}@keyframes share-message-fade-in{0%{opacity:0}to{opacity:1}}@keyframes share-message-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 560px){.share-message-backdrop{padding:16px}.share-message-dialog{max-height:calc(100vh - 32px)}.share-message-head p{display:none}.share-message-actions{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.share-message-backdrop,.share-message-dialog{animation:none}}@layer components{._Popover_1wdpp_3{overflow:auto;width:var(--popover-width, auto);min-width:var(--popover-min-width, 300px);max-width:min(var(--popover-max-width, 700px),var(--radix-popover-content-available-width));max-height:var(--radix-popover-content-available-height);border-radius:var(--popover-radius);background:var(--color-surface-elevated);box-shadow:var(--shadow),var(--shadow-hairline);-webkit-overflow-scrolling:touch;transform-origin:var(--radix-popover-content-transform-origin);will-change:transform}._Popover_1wdpp_3:focus{outline:none}._Popover_1wdpp_3[data-translucent]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(360deg,#f7f7f87f,#f7f7f8)}:where([data-theme=dark]) ._Popover_1wdpp_3[data-translucent]{background:linear-gradient(360deg,#56586940,#5658697d)}._Popover_1wdpp_3[data-animate=shake]{animation:_shake_1wdpp_1 .4s ease}._Transition_1wdpp_1[data-entering] ._Popover_1wdpp_3{opacity:0;transform:scale(.95)}._Transition_1wdpp_1[data-entering-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-entering][data-interrupted] ._Popover_1wdpp_3{opacity:1;transform:scale(1);transition-duration:.35s;transition-property:opacity,transform;transition-timing-function:var(--cubic-enter)}._Transition_1wdpp_1[data-exiting] ._Popover_1wdpp_3{opacity:1;transform:scale(1)}._Transition_1wdpp_1[data-exiting-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-exiting][data-interrupted] ._Popover_1wdpp_3{opacity:0;transform:scale(.95);transition-duration:.2s;transition-property:opacity,transform;transition-timing-function:var(--cubic-exit)}@keyframes _shake_1wdpp_1{0%{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}to{transform:translate(0)}}}.response-annotation-anchor{position:fixed;z-index:80;width:1px;pointer-events:none}.response-annotation-popover{--response-annotation-surface: 48 100% 97%;--response-annotation-excerpt: 47 86% 93%;--response-annotation-border: 43 72% 82%;width:min(360px,calc(100vw - 24px));border:1px solid hsl(var(--response-annotation-border));border-radius:12px;background:hsl(var(--response-annotation-surface))}.response-annotation-form{display:grid;gap:12px;padding:12px}.response-annotation-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.response-annotation-header h2{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600}.response-annotation-form blockquote{max-height:82px;margin:0;padding:8px 10px;overflow:auto;border-left:2px solid hsl(var(--response-annotation-border));border-radius:0 7px 7px 0;background:hsl(var(--response-annotation-excerpt));color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;white-space:pre-wrap}.response-annotation-field{display:grid;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.response-annotation-field textarea{min-height:78px;background:hsl(var(--background));font-family:inherit;font-size:13px;font-weight:400;line-height:1.55}.response-annotation-error{margin:-4px 0 0;font-size:11.5px;line-height:1.45}.response-annotation-error{color:hsl(var(--destructive))}.response-annotation-actions{display:flex;justify-content:flex-end;gap:8px}.response-annotation-action{font-size:12px}.response-annotation-success{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px}.response-annotation-success strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.response-annotation-success p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}:where([data-theme=dark]) .response-annotation-popover{--response-annotation-surface: 43 22% 14%;--response-annotation-excerpt: 43 25% 18%;--response-annotation-border: 42 32% 30%}@media (prefers-reduced-motion: reduce){.response-annotation-popover{transition:none}}.platform-feedback-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.platform-feedback-header{flex:0 0 auto}.platform-feedback-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.platform-feedback-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.platform-feedback-scroll{min-height:0;overflow-y:auto;padding:24px 0 40px}.platform-feedback-form,.platform-feedback-success{width:min(720px,100%)}.platform-feedback-form{display:grid;gap:24px}.platform-feedback-section{display:grid;gap:12px}.platform-feedback-section-heading{display:flex;align-items:center;gap:8px}.platform-feedback-section h2,.platform-feedback-field>span{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600;line-height:1.45}.platform-feedback-section-heading>span,.platform-feedback-suggestions>span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.platform-feedback-pills{display:flex;flex-wrap:wrap;gap:8px}.platform-feedback-pills button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;transition:background .14s ease,border-color .14s ease}.platform-feedback-pills button:hover:not(:disabled){background:hsl(var(--secondary))}.platform-feedback-pills button[aria-pressed=true]{border-color:hsl(var(--primary) / .42);background:hsl(var(--primary) / .08)}.platform-feedback-field{display:grid;gap:8px}.platform-feedback-field textarea{width:100%;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:1.55}.platform-feedback-field textarea{min-height:132px;resize:vertical}.platform-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.platform-feedback-suggestions{display:grid;gap:8px}.platform-feedback-privacy{margin:0;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.platform-feedback-error{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.platform-feedback-actions{display:flex;justify-content:flex-end}.platform-feedback-actions button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:1px solid hsl(var(--primary));border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.platform-feedback-actions button:hover:not(:disabled){background:hsl(var(--primary) / .9)}.platform-feedback-success{min-height:280px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-content:center;align-items:center;animation:platform-feedback-success-in .18s ease-out}.platform-feedback-success-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#24a8541a;color:#238b49;animation:platform-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.platform-feedback-success-icon:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:13px;content:"";opacity:0;animation:platform-feedback-success-ring .44s ease-out}.platform-feedback-success-icon svg{width:16px;height:16px}.platform-feedback-success-icon path{stroke-dasharray:24;stroke-dashoffset:24;animation:platform-feedback-check-draw .28s .1s ease-out forwards}.platform-feedback-success h2{margin:0 0 4px;font-size:15px;font-weight:600}.platform-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.platform-feedback-pills button:focus-visible,.platform-feedback-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:2px}.platform-feedback-field textarea:focus-visible{border-color:hsl(var(--ring) / .58);outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .3)}.platform-feedback-page button:disabled,.platform-feedback-page textarea:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 720px){.platform-feedback-page{padding:24px 20px 0}}@media (max-width: 560px){.platform-feedback-page{padding-inline:16px}}@keyframes platform-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes platform-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes platform-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes platform-feedback-check-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.platform-feedback-pills button,.platform-feedback-success,.platform-feedback-success-icon,.platform-feedback-success-icon:after,.platform-feedback-success-icon path{transition:none;animation:none}.platform-feedback-success-icon path{stroke-dashoffset:0}}.PhotoView-Portal{direction:ltr;height:100%;left:0;overflow:hidden;position:fixed;top:0;touch-action:none;width:100%;z-index:2000}@keyframes PhotoView__rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes PhotoView__delayIn{0%,50%{opacity:0}to{opacity:1}}.PhotoView__Spinner{animation:PhotoView__delayIn .4s linear both}.PhotoView__Spinner svg{animation:PhotoView__rotate .6s linear infinite}.PhotoView__Photo{cursor:grab;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PhotoView__Photo:active{cursor:grabbing}.PhotoView__icon{display:inline-block;left:0;position:absolute;top:0;transform:translate(-50%,-50%)}.PhotoView__PhotoBox,.PhotoView__PhotoWrap{bottom:0;direction:ltr;left:0;position:absolute;right:0;top:0;touch-action:none;width:100%}.PhotoView__PhotoWrap{overflow:hidden;z-index:10}.PhotoView__PhotoBox{transform-origin:left top}@keyframes PhotoView__fade{0%{opacity:0}to{opacity:1}}.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft,.PhotoView-Slider__clean .PhotoView-Slider__ArrowRight,.PhotoView-Slider__clean .PhotoView-Slider__BannerWrap,.PhotoView-Slider__clean .PhotoView-Slider__Overlay,.PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover{opacity:0}.PhotoView-Slider__Backdrop{background:#000;height:100%;left:0;position:absolute;top:0;transition-property:background-color;width:100%;z-index:-1}.PhotoView-Slider__fadeIn{animation:PhotoView__fade linear both;opacity:0}.PhotoView-Slider__fadeOut{animation:PhotoView__fade linear reverse both;opacity:0}.PhotoView-Slider__BannerWrap{align-items:center;background-color:#00000080;color:#fff;display:flex;height:44px;justify-content:space-between;left:0;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:20}.PhotoView-Slider__BannerWrap:hover{opacity:1}.PhotoView-Slider__Counter{font-size:14px;opacity:.75;padding:0 10px}.PhotoView-Slider__BannerRight{align-items:center;display:flex;height:100%}.PhotoView-Slider__toolbarIcon{fill:#fff;box-sizing:border-box;cursor:pointer;opacity:.75;padding:10px;transition:opacity .2s linear}.PhotoView-Slider__toolbarIcon:hover{opacity:1}.PhotoView-Slider__ArrowLeft,.PhotoView-Slider__ArrowRight{align-items:center;bottom:0;cursor:pointer;display:flex;height:100px;justify-content:center;margin:auto;opacity:.75;position:absolute;top:0;transition:opacity .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:70px;z-index:20}.PhotoView-Slider__ArrowLeft:hover,.PhotoView-Slider__ArrowRight:hover{opacity:1}.PhotoView-Slider__ArrowLeft svg,.PhotoView-Slider__ArrowRight svg{fill:#fff;background:#0000004d;box-sizing:content-box;height:24px;padding:10px;width:24px}.PhotoView-Slider__ArrowLeft{left:0}.PhotoView-Slider__ArrowRight{right:0} +*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}@layer components{._SegmentedControl_1sl7d_1{--segmented-control-option-radius: calc( var(--segmented-control-radius) - var(--segmented-control-gutter) );position:relative;overflow:auto;display:inline-flex;flex-wrap:nowrap;gap:var(--segmented-control-gap);height:var(--segmented-control-size);padding:var(--segmented-control-gutter);border-radius:var(--segmented-control-radius);background:var(--segmented-control-background);font-size:var(--segmented-control-font-size);font-weight:var(--segmented-control-font-weight);-ms-overflow-style:none;scrollbar-width:none;vertical-align:middle;white-space:nowrap}._SegmentedControl_1sl7d_1::-webkit-scrollbar{width:0;height:0}._SegmentedControl_1sl7d_1::-webkit-scrollbar-track,._SegmentedControl_1sl7d_1::-webkit-scrollbar-thumb{background:transparent}._SegmentedControl_1sl7d_1:where([data-block]){overflow:hidden;display:flex;width:100%;white-space:wrap}._SegmentedControl_1sl7d_1:where([data-size="3xs"]){--segmented-control-size: var(--control-size-3xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size="2xs"]){--segmented-control-size: var(--control-size-2xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=xs]){--segmented-control-size: var(--control-size-xs);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=sm]){--segmented-control-size: var(--control-size-sm);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-size=md]){--segmented-control-size: var(--control-size-md);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=lg]){--segmented-control-size: var(--control-size-lg);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=xl]){--segmented-control-size: var(--control-size-xl);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-lg);--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-size="2xl"]){--segmented-control-size: var(--control-size-2xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-size="3xl"]){--segmented-control-size: var(--control-size-3xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-gutter-size="2xs"]){--segmented-control-option-gutter: var(--control-gutter-2xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xs]){--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=sm]){--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-gutter-size=md]){--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-gutter-size=lg]){--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xl]){--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-pill]){--segmented-control-radius: var(--radius-full);--segmented-control-option-radius: var(--radius-full)}._SegmentedControlOption_1sl7d_140{position:relative;padding:0 var(--segmented-control-option-gutter);border-radius:var(--segmented-control-option-radius);color:var(--color-text-secondary);cursor:pointer;line-height:1;transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,color;transition-timing-function:var(--transition-ease-basic)}._SegmentedControlOption_1sl7d_140:focus{outline:0}:where(._SegmentedControl_1sl7d_1[data-block]) ._SegmentedControlOption_1sl7d_140{flex:1}:where(._SegmentedControl_1sl7d_1[data-pill]) ._SegmentedControlOption_1sl7d_140{padding:0 calc(var(--segmented-control-option-gutter) * var(--control-gutter-pill-scaling))}._SegmentedControlOption_1sl7d_140[data-state=on]:focus-visible{outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140:before{position:absolute;inset:var(--segmented-control-option-highlight-gutter);border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-option-highlight-background-color);content:"";opacity:0;pointer-events:none;transform:scale(1);transition-duration:var(--transition-duration-basic);transition-property:opacity,transform;transition-timing-function:var(--transition-ease-basic);will-change:transform}._SegmentedControlOption_1sl7d_140:active:before{transform:scale(var(--scale),.97)}._SegmentedControlOption_1sl7d_140 svg{display:block}@media (hover: hover) and (pointer: fine){._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover:before{opacity:.5}}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):focus-visible{color:var(--color-text);outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):active:before{opacity:.75}._SegmentedControlOption_1sl7d_140[data-state=on]{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-disabled]{cursor:not-allowed;opacity:.5}._SegmentedControlOption_1sl7d_140[data-disabled]:before{opacity:0!important}._SegmentedControlThumb_1sl7d_219{position:absolute;top:var(--segmented-control-gutter);bottom:var(--segmented-control-gutter);left:0;border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-thumb-background);box-shadow:var(--segmented-control-thumb-shadow);pointer-events:none;will-change:transform}}.knowledge-library{display:grid;grid-template-columns:292px minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:hsl(var(--panel));color:hsl(var(--foreground))}.knowledge-library__sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;padding:20px 16px 16px;border-right:1px solid hsl(var(--border));background:hsl(var(--canvas))}.knowledge-library__sidebar-head,.knowledge-documents__head,.knowledge-detail-head,.knowledge-dialog__header,.knowledge-dialog__actions{display:flex;align-items:center;justify-content:space-between}.knowledge-library__sidebar-head{min-height:32px;margin-bottom:12px}.knowledge-library__sidebar-head>div,.knowledge-documents__head>div{display:flex;align-items:baseline;gap:8px;min-width:0}.knowledge-library__sidebar h2,.knowledge-detail-head h2,.knowledge-library__detail-empty h2,.knowledge-dialog h2,.knowledge-documents h3{margin:0;color:hsl(var(--foreground))}.knowledge-library__sidebar h2{font-size:17px;font-weight:620;line-height:1.3}.knowledge-library__sidebar-head span{color:hsl(var(--muted-foreground));font-size:12px}.knowledge-primary-button svg,.knowledge-library__search svg,.knowledge-base-row__icon svg,.knowledge-library__state>svg,.knowledge-library__detail-empty>svg,.knowledge-dialog__header button svg{width:16px;height:16px;flex:0 0 auto}.knowledge-library__search{position:relative;display:flex;align-items:center;height:34px;margin-bottom:10px}.knowledge-library__search svg{position:absolute;left:10px;z-index:1;color:hsl(var(--muted-foreground));pointer-events:none}.knowledge-library__search input{width:100%;height:34px;padding:0 10px 0 34px;border:1px solid hsl(var(--border));border-radius:7px;outline:none;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:12.5px}.knowledge-library__search input::placeholder,.knowledge-dialog input::placeholder,.knowledge-dialog textarea::placeholder{color:hsl(var(--muted-foreground))}.knowledge-library__search input:focus,.knowledge-library__region select:focus,.knowledge-dialog input:focus,.knowledge-dialog textarea:focus{border-color:hsl(var(--foreground) / .36);box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 3px hsl(var(--foreground) / .36)}.knowledge-library__region{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;margin-bottom:10px;gap:10px;color:hsl(var(--muted-foreground));font-size:12px}.knowledge-library__region select{width:100%;height:34px;padding:0 30px 0 10px;border:1px solid hsl(var(--border));border-radius:7px;outline:none;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:12.5px}.knowledge-library .knowledge-primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;gap:7px;border:1px solid hsl(var(--foreground));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font-size:12.5px;font-weight:560}.knowledge-library .knowledge-primary-button span{color:inherit;font-size:inherit;font-weight:inherit}.knowledge-library .knowledge-primary-button:hover:not(:disabled){opacity:.88}.knowledge-library .knowledge-primary-button:active:not(:disabled){transform:translateY(1px)}.knowledge-library__create{width:100%;margin-bottom:12px}.knowledge-library__list{display:flex;flex:1;flex-direction:column;min-height:0;gap:4px;overflow-y:auto}.knowledge-base-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;width:100%;min-height:52px;padding:7px 8px;gap:8px;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--foreground));cursor:pointer;text-align:left}.knowledge-base-row:hover{background:hsl(var(--muted))}.knowledge-base-row.is-selected{border-color:hsl(var(--border));background:hsl(var(--panel))}.knowledge-base-row__icon{display:inline-grid;flex:0 0 auto;place-items:center;border:1px solid hsl(var(--border));background:hsl(var(--muted));color:hsl(var(--foreground))}.knowledge-base-row__icon{width:32px;height:32px;border-radius:7px}.knowledge-base-row__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.knowledge-base-row__copy strong{overflow:hidden;font-size:12.5px;font-weight:580;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.knowledge-base-row__copy span{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.knowledge-keyboard-reveal:focus{overflow:visible;white-space:normal;overflow-wrap:anywhere;outline:2px solid hsl(var(--foreground));outline-offset:2px}.knowledge-base-row:focus-visible .knowledge-keyboard-reveal{overflow:visible;white-space:normal;overflow-wrap:anywhere}.knowledge-status{max-width:54px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.knowledge-status.is-ready,.knowledge-status.is-active,.knowledge-status.is-available,.knowledge-status.is-success{color:#2d764f}.knowledge-status.is-failed,.knowledge-status.is-error,.knowledge-status.is-unavailable{color:hsl(var(--destructive))}.knowledge-library__loading,.knowledge-library__state,.knowledge-library__detail-empty{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground))}.knowledge-library__loading{min-height:112px;font-size:12.5px}.knowledge-library__state{min-height:152px;flex-direction:column;padding:20px;gap:10px;text-align:center}.knowledge-library__state>svg{width:24px;height:24px}.knowledge-library__state p,.knowledge-library__detail-empty p{margin:0;font-size:12.5px;line-height:1.55}.knowledge-library__state button,.knowledge-load-more{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12px}.knowledge-library__state.is-error p,.knowledge-form-error{color:hsl(var(--destructive));overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-load-more{flex:0 0 auto;margin:8px auto 0}.knowledge-library__detail{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:hsl(var(--panel))}.knowledge-library__detail-empty{flex:1;min-height:0;flex-direction:column;gap:8px}.knowledge-library__detail-empty>svg{width:32px;height:32px;margin-bottom:4px}.knowledge-library__detail-empty h2{font-size:15px;font-weight:600}.knowledge-detail-head{flex:0 0 auto;min-height:86px;padding:18px 24px;gap:20px}.knowledge-detail-head__title{display:flex;align-items:center;min-width:0;gap:12px}.knowledge-detail-head__title>div{min-width:0}.knowledge-detail-head h2{overflow:hidden;font-size:17px;font-weight:620;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.knowledge-detail-head p{display:-webkit-box;max-width:720px;margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.knowledge-detail-head__actions{display:flex;flex:0 0 auto;gap:8px}.knowledge-detail-head__actions button{min-height:32px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12px}.knowledge-detail-head__actions button:hover{background:hsl(var(--muted))}.knowledge-detail-head__actions button.is-danger{color:hsl(var(--destructive))}.knowledge-detail-meta{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1.25fr) minmax(0,1.45fr) minmax(0,.65fr) minmax(0,1.1fr);width:calc(100% - 64px);box-sizing:border-box;margin:16px 32px 4px;padding:18px 20px;gap:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.knowledge-detail-meta>div{min-width:0}.knowledge-detail-meta dt{margin-bottom:6px;color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;line-height:1.45}.knowledge-detail-meta dd{margin:0;color:hsl(var(--foreground));font-size:13.5px;font-weight:550;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-documents{display:flex;flex:1;flex-direction:column;min-height:0;padding:18px 24px 24px}.knowledge-documents__head{flex:0 0 auto;min-height:36px;margin-bottom:10px}.knowledge-documents h3{font-size:14px;font-weight:600}.knowledge-documents__body{flex:1;min-height:0;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-documents__body.is-table{flex:1;min-height:0;overflow:hidden;border:0;border-radius:0;background:transparent}.knowledge-document-table-wrap{height:100%;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-document-table{width:100%;min-width:560px;border-collapse:collapse;table-layout:fixed}.knowledge-document-table th{height:42px;position:sticky;top:0;z-index:1;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:12px;font-weight:560;text-align:left}.knowledge-document-table th:first-child{width:auto}.knowledge-document-table th:nth-child(2),.knowledge-document-table th:nth-child(3){width:112px}.knowledge-document-table th:nth-child(4){width:148px}.knowledge-document-table td{height:52px;padding:6px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.knowledge-document-table tbody tr:last-child td{border-bottom:0}.knowledge-document-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.knowledge-document-table__name{overflow:hidden;font-size:13.5px;font-weight:400;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.knowledge-document-table__actions-heading{text-align:center!important}.knowledge-document-table__actions{display:flex;align-items:center;justify-content:center;gap:4px}.knowledge-document-table__actions .knowledge-document-action-button{flex:0 0 auto}.knowledge-document-pagination{min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 16px;gap:8px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.knowledge-document-pagination.is-error{color:hsl(var(--destructive))}.knowledge-document-pagination.is-error span,.knowledge-preview__state.is-error p,.knowledge-preview__more-error{overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-document-pagination button{min-height:28px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.knowledge-document-pagination button:hover{background:hsl(var(--muted))}.knowledge-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;padding:24px;place-items:center;background:hsl(var(--foreground) / .34)}.knowledge-dialog{width:min(540px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 48px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 22px 60px hsl(var(--foreground) / .18)}.knowledge-dialog--preview{width:min(900px,calc(100vw - 32px));height:min(760px,calc(100dvh - 48px));display:flex;flex-direction:column}.knowledge-dialog--web-confirm form{flex:1;min-height:0;display:flex;flex-direction:column}.knowledge-preview{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.knowledge-preview__meta{min-height:42px;display:flex;flex:0 0 auto;align-items:center;padding:0 18px;gap:8px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.knowledge-preview__meta a{margin-left:auto;color:hsl(var(--foreground));font-size:12px;font-weight:550;text-decoration:none}.knowledge-preview__meta strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.knowledge-preview__meta a:hover{text-decoration:underline;text-underline-offset:3px}.knowledge-preview__body{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:hsl(var(--canvas))}.knowledge-preview__state{min-height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-sizing:border-box;padding:32px;gap:10px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.knowledge-preview__state p,.knowledge-preview__state span{margin:0}.knowledge-preview__state.is-error p,.knowledge-preview__more-error{color:hsl(var(--destructive))}.knowledge-preview__state button,.knowledge-preview__load-more{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12px}.knowledge-preview__chunks{width:min(780px,calc(100% - 36px));display:grid;box-sizing:border-box;margin:18px auto 28px;gap:12px}.knowledge-preview__chunk{min-width:0;overflow:hidden;padding:16px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-preview__chunk header{margin-bottom:10px}.knowledge-preview__chunk h3{margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.45}.knowledge-preview__content{margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:400;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-preview__table-wrap{max-width:100%;margin-top:14px;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:8px}.knowledge-preview__table-wrap table{width:100%;min-width:420px;border-collapse:collapse;table-layout:auto}.knowledge-preview__table-wrap th,.knowledge-preview__table-wrap td{min-width:104px;padding:9px 11px;border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));font-size:12px;line-height:1.5;text-align:left;vertical-align:top;overflow-wrap:anywhere}.knowledge-preview__table-wrap th{background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-weight:560}.knowledge-preview__table-wrap td{color:hsl(var(--foreground))}.knowledge-preview__table-wrap tr>:last-child{border-right:0}.knowledge-preview__table-wrap tbody tr:last-child td{border-bottom:0}.knowledge-preview__image,.knowledge-preview__video{display:block;width:auto;max-width:100%;max-height:440px;margin:14px auto 0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas));object-fit:contain}.knowledge-preview__video{width:100%;background:hsl(var(--foreground))}.knowledge-preview__audio{display:block;width:100%;height:40px;margin-top:14px}.knowledge-preview__pdf{display:grid;min-width:0;margin-top:14px;gap:8px}.knowledge-preview__pdf iframe{width:100%;height:min(480px,48dvh);border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas))}.knowledge-preview__pdf a,.knowledge-preview__file-fallback a{justify-self:center;color:hsl(var(--foreground));font-size:12px;font-weight:550;text-underline-offset:3px}.knowledge-preview__file-fallback{display:grid;margin-top:14px;padding:14px;gap:8px;border-radius:8px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:center}.knowledge-preview__file-fallback p{margin:0}.knowledge-preview__attachment-error,.knowledge-preview__more-error{margin-top:12px;font-size:12px;line-height:1.5;text-align:center}.knowledge-preview__attachment-error{color:hsl(var(--muted-foreground))}.knowledge-preview__load-more{justify-self:center;min-width:96px}.knowledge-preview__load-more:hover:not(:disabled),.knowledge-preview__state button:hover{background:hsl(var(--muted))}.knowledge-preview__load-more:disabled{cursor:not-allowed;opacity:.58}.knowledge-dialog__header{min-height:54px;padding:0 18px;border-bottom:1px solid hsl(var(--border))}.knowledge-dialog__header h2{font-size:15px;font-weight:620}.knowledge-dialog__header button{display:grid;width:30px;height:30px;padding:0;place-items:center;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.knowledge-dialog__header button:hover:not(:disabled){background:hsl(var(--muted));color:hsl(var(--foreground))}.knowledge-dialog form{display:flex;max-height:calc(min(720px,100dvh - 48px) - 54px);flex-direction:column}.knowledge-dialog__body{display:flex;min-height:0;padding:18px;flex-direction:column;gap:14px;overflow-y:auto}.knowledge-dialog__body>label,.knowledge-source-panel>label,.knowledge-dialog__fields label{display:flex;min-width:0;flex-direction:column;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.knowledge-dialog__body label>small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.45}.knowledge-dialog input,.knowledge-dialog textarea{width:100%;min-height:36px;padding:8px 10px;border:1px solid hsl(var(--border));border-radius:7px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px;font-weight:400;line-height:1.5;resize:vertical}.knowledge-dialog textarea{min-height:84px}.knowledge-dialog input:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.knowledge-dialog textarea.is-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.knowledge-metadata-editor{min-height:220px!important}.knowledge-dialog__fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.knowledge-dialog__note{margin:-4px 0 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.5}.knowledge-dialog__note.is-error{color:hsl(var(--destructive))}.knowledge-source-picker{display:flex;min-width:0;margin:0;padding:0;gap:18px;border:0}.knowledge-source-picker legend{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.knowledge-source-picker label{display:inline-flex;align-items:center;gap:6px;color:hsl(var(--foreground));cursor:pointer;font-size:12.5px}.knowledge-source-picker input{width:14px;min-height:14px;margin:0;padding:0;accent-color:hsl(var(--foreground))}.knowledge-form-error{padding:8px 10px;border-radius:7px;background:hsl(var(--destructive) / .08);font-size:12px;font-weight:450;line-height:1.5}.knowledge-dialog__actions{flex:0 0 auto;min-height:58px;padding:10px 18px;justify-content:flex-end;gap:8px;border-top:1px solid hsl(var(--border))}.knowledge-dialog__actions button{min-width:72px;min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12.5px}.knowledge-dialog__actions button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.knowledge-dialog__actions button.is-back{margin-inline-end:auto}.knowledge-web-preview__error{flex:0 0 auto;padding:10px 18px 0}.knowledge-dialog__actions button:hover:not(:disabled){background:hsl(var(--muted))}.knowledge-dialog__actions button.is-primary:hover:not(:disabled){background:hsl(var(--foreground) / .86)}.knowledge-dialog__actions button:disabled,.knowledge-primary-button:disabled,.knowledge-load-more:disabled{cursor:not-allowed;opacity:.48}.knowledge-library button:focus-visible,.knowledge-library input:focus-visible,.knowledge-library summary:focus-visible,.knowledge-library select:focus-visible,.knowledge-dialog button:focus-visible,.knowledge-dialog input:focus-visible,.knowledge-dialog textarea:focus-visible,.knowledge-dialog a:focus-visible,.knowledge-dialog audio:focus-visible,.knowledge-dialog video:focus-visible{outline:2px solid hsl(var(--foreground));outline-offset:1px}@media (max-width: 1040px){.knowledge-library{grid-template-columns:248px minmax(0,1fr)}}@media (max-width: 760px){.knowledge-library{display:flex;overflow-y:auto;flex-direction:column}.knowledge-library__sidebar{flex:0 0 auto;max-height:360px;border-right:0;border-bottom:1px solid hsl(var(--border))}.knowledge-library__detail{flex:0 0 auto;min-height:520px;overflow:visible}.knowledge-detail-head{align-items:flex-start;padding:16px;flex-direction:column}.knowledge-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 40px);margin-inline:20px;padding:16px}.knowledge-documents{min-height:360px;padding:16px}.knowledge-dialog__fields{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.knowledge-library *,.knowledge-dialog *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.knowledge-library{display:flex;flex-direction:column;padding:32px 32px 0;background:hsl(var(--background))}.knowledge-library.is-detail{padding:0}.knowledge-library__search{position:static;width:min(320px,38vw);height:36px;flex:0 0 auto;gap:8px;margin:0;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.knowledge-library__search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.knowledge-library__search svg{position:static;z-index:auto;left:auto}.knowledge-library__search input{width:100%;height:auto;min-width:0;padding:0;border:0;border-radius:0;outline:0;background:transparent;font-size:13px}.knowledge-library__search input:focus{border-color:transparent;box-shadow:none}.knowledge-library__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:0}.knowledge-library__toolbar-actions{display:flex;align-items:center;gap:8px}.knowledge-library .my-agent-create-primary{font-size:12.5px;font-weight:500}.knowledge-library .knowledge-primary-button{min-height:36px;border-radius:8px;font-weight:500}.knowledge-library__results{flex:1;min-height:0;margin-top:28px;padding-bottom:56px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.knowledge-region-warning{min-height:38px;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;margin-bottom:12px;padding:8px 12px;gap:16px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--muted) / .58);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.knowledge-region-warning button{flex:0 0 auto;padding:0;border:0;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.knowledge-region-warning button:hover{text-decoration:underline;text-underline-offset:3px}.knowledge-status{max-width:88px;flex:0 0 auto;padding:2px 6px;border-radius:999px;background:hsl(var(--muted));font-size:10.5px;line-height:16px}.knowledge-status.is-ready,.knowledge-status.is-active,.knowledge-status.is-available,.knowledge-status.is-success{background:#e7f8ee}.knowledge-status.is-creating,.knowledge-status.is-pending,.knowledge-status.is-processing,.knowledge-status.is-indexing{background:#fdf5e3;color:#8d5911}.knowledge-status.is-failed,.knowledge-status.is-error,.knowledge-status.is-unavailable{background:hsl(var(--destructive) / .09)}.knowledge-library__loading,.knowledge-library__state{min-height:260px}.knowledge-library__detail{flex:1;background:hsl(var(--background))}.knowledge-detail-head{min-height:94px;padding:20px 32px;background:hsl(var(--background))}.knowledge-detail-head__title{gap:10px}.knowledge-back-button{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.knowledge-back-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.knowledge-back-button svg{width:18px;height:18px}.knowledge-documents{padding:20px 32px 32px}.knowledge-back-button:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:2px}@media (max-width: 760px){.knowledge-library{display:flex;padding:24px 20px 0;overflow:hidden}.knowledge-library.is-detail{padding:0}.knowledge-library__search{width:100%}.knowledge-library__toolbar{align-items:stretch;flex-direction:column;gap:12px}.knowledge-library__toolbar-actions{align-self:flex-end}.knowledge-library__results{margin-top:24px;padding-bottom:44px}.knowledge-library__detail{min-height:0;overflow:hidden}.knowledge-detail-head{padding:16px 20px}.knowledge-documents{min-height:0;padding:16px 20px 20px}}.knowledge-preview__markdown-shell{width:min(780px,calc(100% - 36px));box-sizing:border-box;margin:18px auto 28px;padding:18px 20px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-preview__markdown{color:hsl(var(--foreground));font-size:13px;line-height:1.7;overflow-wrap:anywhere}.knowledge-preview__markdown>:first-child{margin-top:0}.knowledge-preview__markdown>:last-child{margin-bottom:0}@media (max-width: 560px){.knowledge-library,.knowledge-detail-head{padding-inline:16px}.knowledge-detail-meta{grid-template-columns:1fr;width:calc(100% - 32px);margin-inline:16px}.knowledge-documents{padding-inline:16px}.knowledge-dialog--preview{height:calc(100dvh - 32px)}.knowledge-preview__chunks,.knowledge-preview__markdown-shell{width:calc(100% - 24px);margin-top:12px}.knowledge-preview__chunk,.knowledge-preview__markdown-shell{padding:14px}}@media (prefers-reduced-motion: reduce){.knowledge-card{transition:none}.knowledge-card:hover{transform:none}}.knowledge-source-tabs{height:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;box-sizing:border-box;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.knowledge-source-tabs button{min-width:0;min-height:34px;padding:0 10px;overflow:hidden;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font-size:12.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.knowledge-source-tabs button:hover:not(:disabled){background:hsl(var(--background) / .5);color:hsl(var(--foreground))}.knowledge-source-tabs button.is-active{border-color:hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.knowledge-source-tabs button:disabled{cursor:not-allowed;opacity:.58}.knowledge-source-panel,.knowledge-source-panel>label{min-width:0}.knowledge-upload-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.knowledge-upload-dropzone{width:100%;min-height:144px;display:grid;place-content:center;gap:7px;box-sizing:border-box;padding:24px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;text-align:center;transition:border-color .12s ease,background-color .12s ease}.knowledge-upload-dropzone:hover:not(:disabled),.knowledge-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.knowledge-upload-dropzone.is-ready{border-style:solid;background:hsl(var(--secondary) / .24)}.knowledge-upload-dropzone:disabled{cursor:not-allowed;opacity:.62}.knowledge-upload-dropzone strong{max-width:440px;overflow:hidden;font-size:15px;font-weight:600;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.knowledge-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.knowledge-upload-status{min-height:20px;display:flex;align-items:center;margin-top:6px;color:hsl(var(--muted-foreground));font-size:12px}.knowledge-dialog textarea:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.knowledge-source-tabs button:focus-visible,.knowledge-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:1px}@media (max-width: 560px){.knowledge-upload-dropzone{min-height:120px;padding:20px 16px}}@media (prefers-reduced-motion: reduce){.knowledge-source-tabs button,.knowledge-upload-dropzone{transition:none}}@layer components{._EmptyMessage_1r5gu_1{display:flex;flex-direction:column;align-items:center;justify-content:center}._EmptyMessage_1r5gu_1[data-fill=static]{width:100%;height:100%}._EmptyMessage_1r5gu_1[data-fill=absolute]{position:absolute;top:0;right:0;bottom:0;left:0}._IconBadge_1r5gu_16{--badge-size: 40px;--icon-size: 24px;display:flex;align-items:center;justify-content:center;width:var(--badge-size);height:var(--badge-size);border-radius:var(--radius-md);margin:0 0 12px;background:var(--badge-background-color);color:var(--badge-text-color)}._IconBadge_1r5gu_16 svg{width:var(--icon-size);height:var(--icon-size)}._IconBadge_1r5gu_16[data-size=sm]{--badge-size: 32px;--icon-size: 20px}._IconBadge_1r5gu_16[data-color=secondary]{--badge-background-color: var(--color-background-secondary-soft);--badge-text-color: var(--color-text-secondary-soft)}._IconBadge_1r5gu_16[data-color=warning]{--badge-background-color: var(--color-background-warning-soft);--badge-text-color: var(--color-text-warning-soft)}._IconBadge_1r5gu_16[data-color=danger]{--badge-background-color: var(--color-background-danger-soft);--badge-text-color: var(--color-text-danger-soft)}._Title_1r5gu_54{max-width:90%;color:var(--color-text);font-size:16px;font-weight:var(--font-weight-semibold);text-align:center;text-wrap:balance}._Title_1r5gu_54:where([data-color=danger]){color:var(--color-text-danger)}._Title_1r5gu_54:where([data-color=warning]){color:var(--color-text-warning)}._Description_1r5gu_69{max-width:90%;margin:6px 0 0;color:var(--color-text-secondary);font-size:14px;line-height:1.45;text-align:center;text-wrap:balance}._ActionRow_1r5gu_77{margin-top:calc(var(--spacing) * 4)}}.builtin-tool-head{--builtin-tool-accent: 215 18% 42%;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:3px 7px 3px 3px;border:0;border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;transition:color .12s ease}.builtin-tool-head[data-tool-tone=search]{--builtin-tool-accent: 211 62% 42%}.builtin-tool-head[data-tool-tone=image]{--builtin-tool-accent: 28 67% 42%}.builtin-tool-head[data-tool-tone=video]{--builtin-tool-accent: 260 38% 48%}.builtin-tool-head[data-tool-tone=presentation]{--builtin-tool-accent: 252 38% 52%}.builtin-tool-head[data-tool-tone=memory]{--builtin-tool-accent: 174 52% 34%}.builtin-tool-head[data-tool-tone=knowledge]{--builtin-tool-accent: 225 48% 45%}.builtin-tool-head[data-tool-tone=skill]{--builtin-tool-accent: 154 50% 34%}.builtin-tool-head[data-tool-tone=sandbox]{--builtin-tool-accent: 32 67% 42%}.builtin-tool-head:hover{color:hsl(var(--foreground))}.builtin-tool-icon{position:relative;width:20px;height:26px;flex:0 0 20px;display:grid;place-items:center;color:hsl(var(--builtin-tool-accent))}.builtin-tool-icon>svg{width:18px;height:18px}.builtin-tool-label{font-size:14.5px;font-weight:400;line-height:1.35}.builtin-tool-head.is-done .builtin-tool-label{color:hsl(var(--muted-foreground))}.builtin-tool-chevron{width:13px;height:13px;flex:0 0 13px;opacity:.58;transition:transform .18s ease}.builtin-tool-chevron.is-open{transform:rotate(90deg)}.code-browser-trigger{min-height:26px;display:inline-flex;align-items:center;gap:5px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:color .12s ease,background-color .12s ease}.code-browser-trigger svg{width:13px;height:13px}.code-browser-trigger:hover{background:hsl(var(--foreground) / .04);color:hsl(var(--foreground))}.code-browser-trigger:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.code-browser-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:32px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:code-browser-fade-in .14s ease-out}.code-browser-dialog{width:min(1040px,92vw);height:min(720px,84vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:code-browser-rise-in .18s cubic-bezier(.2,.8,.2,1)}.code-browser-head{flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.code-browser-title-wrap{min-width:0;display:flex;align-items:center;gap:10px}.code-browser-title-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:7px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-title-icon svg,.code-browser-close svg{width:16px;height:16px}.code-browser-title-wrap h2,.code-browser-title-wrap p{margin:0}.code-browser-title-wrap h2{color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35}.code-browser-title-wrap p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.code-browser-close{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.code-browser-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-workspace{flex:1;min-height:0;display:flex}.code-browser-sidebar{flex:0 0 220px;min-width:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .22)}.code-browser-sidebar-head,.code-browser-path{flex:0 0 38px;min-height:38px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.code-browser-sidebar-head{justify-content:space-between;padding:0 12px;color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.code-browser-sidebar-head span{font-variant-numeric:tabular-nums;font-weight:500}.code-browser-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.code-browser-file,.code-browser-folder{width:100%;min-height:30px;display:flex;align-items:center;gap:6px;padding-top:4px;padding-right:10px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.code-browser-file:hover,.code-browser-folder:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.code-browser-file.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.code-browser-file svg,.code-browser-folder svg{width:14px;height:14px;flex:0 0 auto}.code-browser-folder>svg:first-child{width:12px;height:12px;transition:transform .12s ease}.code-browser-folder>svg:first-child.is-open{transform:rotate(90deg)}.code-browser-file span,.code-browser-folder span,.code-browser-path span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-browser-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.code-browser-path{gap:7px;padding:0 13px;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.code-browser-path svg{width:13px;height:13px;flex:0 0 auto}.code-browser-editor{flex:1;min-height:0;overflow:hidden}.code-browser-editor>div,.code-browser-editor .cm-theme,.code-browser-editor .cm-editor{height:100%}.code-browser-editor .cm-scroller{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px}.code-browser-empty{height:100%;display:grid;place-items:center;padding:20px;color:hsl(var(--muted-foreground));font-size:12px}@keyframes code-browser-fade-in{0%{opacity:0}to{opacity:1}}@keyframes code-browser-rise-in{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.code-browser-backdrop{padding:12px}.code-browser-dialog{width:100%;height:min(760px,92vh)}.code-browser-sidebar{flex-basis:168px}}@media (prefers-reduced-motion: reduce){.code-browser-backdrop,.code-browser-dialog{animation:none}}.skill-conversation{min-height:220px;margin:0 0 16px;padding:8px 0 18px}.skill-conversation .bubble{font-size:13px;line-height:1.65}.skill-conversation .think-head,.skill-conversation .tool-head,.skill-conversation .builtin-tool-head{display:grid;grid-template-columns:20px minmax(0,1fr) 13px;align-items:center;gap:8px;width:100%;min-height:38px;padding:4px 0;text-align:left}.skill-conversation .think-label,.skill-conversation .tool-name,.skill-conversation .builtin-tool-label{min-width:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere;text-align:left}.skill-conversation .think-icon,.skill-conversation .tool-icon,.skill-conversation .builtin-tool-icon{width:20px;height:26px}.skill-conversation .chev,.skill-conversation .tool-chevron,.skill-conversation .builtin-tool-chevron{justify-self:end}.skill-generation{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:hsl(var(--background));color:hsl(var(--foreground))}.skillcenter{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.skillcenter-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.skillcenter-page-heading{min-width:0}.skillcenter-page-heading--back{display:flex;align-items:center;gap:8px}.skillcenter-page-heading--back>div{min-width:0}.skillcenter-page-heading h1{max-width:min(620px,55vw);margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.skillcenter-page-heading p{display:-webkit-box;max-width:680px;margin:6px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.skillcenter-back{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-back svg{width:18px;height:18px}.skillcenter-search{width:min(320px,38vw);height:36px;flex:0 0 auto;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.skillcenter-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.skillcenter-search svg{width:16px;height:16px;flex:0 0 16px}.skillcenter-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.skillcenter-search input::placeholder{color:hsl(var(--muted-foreground))}.skillcenter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.skillcenter-toolbar-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.my-agent-type-bar.skillcenter-list-toolbar{justify-content:space-between;margin-top:0}.skillcenter-detail-facts{min-width:0;display:flex;align-items:center;gap:24px}.skillcenter-detail-facts>div{min-width:72px;display:grid;gap:3px}.skillcenter-detail-facts span{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.2}.skillcenter-detail-facts strong{max-width:220px;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:560;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-primary-action,.skillcenter-secondary-action{min-width:max-content;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.skillcenter-primary-action{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.skillcenter-primary-action:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.skillcenter-secondary-action:hover{background:hsl(var(--secondary))}.skillcenter-secondary-action.is-danger{color:hsl(var(--destructive))}.skillcenter-secondary-action.is-danger:hover:not(:disabled){border-color:hsl(var(--destructive) / .24);background:hsl(var(--destructive) / .06)}.skillcenter-secondary-action:disabled{cursor:not-allowed;opacity:.48}.skillcenter-primary-action:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.skillcenter-primary-action svg{width:15px;height:15px}.skillcenter-disabled-action{position:relative;display:inline-flex;border-radius:8px}.skillcenter-disabled-action.is-disabled{cursor:not-allowed}.skillcenter-disabled-action.is-disabled>button{cursor:inherit}.skillcenter-disabled-tooltip{position:absolute;z-index:30;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.skillcenter-disabled-action.is-top .skillcenter-disabled-tooltip{bottom:calc(100% + 8px);transform:translate(-50%,3px)}.skillcenter-disabled-action.is-bottom .skillcenter-disabled-tooltip{top:calc(100% + 8px);transform:translate(-50%,-3px)}.skillcenter-disabled-action.is-inside .skillcenter-disabled-tooltip{top:50%;transform:translate(-50%,calc(-50% + 3px))}.skillcenter-disabled-action.is-disabled:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled:focus-visible .skillcenter-disabled-tooltip{opacity:1}.skillcenter-disabled-action.is-disabled.is-top:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-top:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-bottom:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-bottom:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-inside:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-inside:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%,-50%)}.skillcenter-disabled-action:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.skillcenter-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.skillcenter-back:focus-visible,.skillcenter-primary-action:focus-visible,.skillcenter-secondary-action:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skillcenter-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.skillcenter-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.skillcenter-table th{height:42px;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:11px;font-weight:560;text-align:left}.skillcenter-table th:first-child{width:auto}.skillcenter-table th:nth-child(2){width:104px}.skillcenter-table th:nth-child(3){width:180px}.skillcenter-table td{height:72px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.skillcenter-table tbody tr:last-child td{border-bottom:0}.skillcenter-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.skillcenter-table__skill button{width:100%;display:grid;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.skillcenter-table__title-row{min-width:0;display:flex;align-items:center;gap:7px}.skillcenter-table__skill strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__skill .skillcenter-table__version-badge{flex:0 0 auto;padding:2px 6px;overflow:visible;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .6);color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.2}.skillcenter-table__skill .skillcenter-table__description{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__actions-heading{text-align:right!important}.skillcenter-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.skillcenter-table__actions button,.skill-detail-actions button{min-height:28px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skillcenter-table__actions button:hover:not(:disabled),.skill-detail-actions button:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-table__actions button:disabled,.skill-detail-actions button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table__actions button.is-danger{color:hsl(var(--destructive))}.skillcenter-inline-error{margin-top:16px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors.is-full-page{min-height:260px;align-items:center;justify-content:center;margin:0;border:0;background:transparent}.skillcenter-space-errors__content{min-width:0;width:min(680px,100%);display:grid;gap:10px}.skillcenter-space-errors__content>strong{font-size:13px;font-weight:600}.skillcenter-space-errors__content>section{min-width:0;display:grid;gap:4px}.skillcenter-space-errors__content>section>span{color:hsl(var(--foreground));font-size:11.5px;font-weight:600}.skillcenter-space-errors .skill-error-details{min-width:0;width:100%;color:inherit}.skillcenter-space-errors .skill-error-details__summary,.skillcenter-space-errors .skill-error-details__original{text-align:left}.skillcenter-space-errors .skill-error-details summary{margin-left:0}.skillcenter-space-errors>button{min-height:30px;flex:0 0 auto;padding:0 10px;border:1px solid hsl(var(--destructive) / .22);border-radius:7px;background:hsl(var(--panel));color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px}.skillcenter-page-state{min-height:300px;display:grid;place-items:center}.skillcenter-page-state.is-error{color:hsl(var(--destructive))}.skill-error-details{width:min(620px,100%);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:left}.skill-error-details__summary{text-align:center}.skill-error-details__original{margin-top:7px;color:hsl(var(--destructive));overflow-wrap:anywhere;text-align:center}.skill-error-details details{margin-top:9px}.skill-error-details summary{width:max-content;margin:0 auto;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.skill-error-details pre{max-height:220px;margin:8px 0 0;padding:10px 12px;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .45);color:hsl(var(--foreground));font:inherit;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.skill-inline-error .skill-error-details,.skill-generation__action-error .skill-error-details{width:100%;color:inherit}.skill-inline-error .skill-error-details__summary,.skill-inline-error .skill-error-details__original,.skill-generation__action-error .skill-error-details__summary,.skill-generation__action-error .skill-error-details__original{text-align:left}.skill-inline-error .skill-error-details summary,.skill-generation__action-error .skill-error-details summary{margin-left:0}.skillcenter-loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:8px;color:hsl(var(--muted-foreground));font-size:12.5px}.skillcenter .skillcenter-pager{height:44px;margin-top:20px;padding:0;border-top:0}.skillcenter .skillcenter-pager-actions{padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel))}.skillcenter .skillcenter-pager button{width:28px;height:28px}.skill-detail-heading{flex:1 1 auto;overflow:hidden}.skill-detail-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.skill-detail-actions button{flex:0 0 auto;white-space:nowrap}.skill-detail-content--files{min-height:0}.skill-detail-content--files .skill-file-browser{min-height:420px;height:min(58vh,620px);border-top:1px solid hsl(var(--border))}.skill-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .28)}.skill-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100%);max-height:min(680px,calc(100vh - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 18px 48px hsl(var(--foreground) / .18)}.skill-dialog>header,.skill-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:10px 16px}.skill-dialog>header{border-bottom:1px solid hsl(var(--border))}.skill-dialog>footer{justify-content:flex-end;border-top:1px solid hsl(var(--border))}.skill-dialog h2{margin:0;font-size:17px;font-weight:620}.skill-dialog>header>button{min-width:36px;min-height:32px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-dialog__body{min-height:0;padding:16px;overflow-y:auto}.skill-dialog__body label{display:grid;gap:6px;margin-bottom:14px;font-size:13px;font-weight:550}.skill-dialog__body input,.skill-dialog__body textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.skill-dialog__body input{min-height:36px;padding:6px 9px}.skill-dialog__body textarea{min-height:88px;padding:9px;resize:vertical}.skill-dialog__body p{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.skill-dialog__file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:7px;background:hsl(var(--muted) / .6);font-size:12px}.skill-dialog__file strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.skill-dialog__file span{flex:0 0 auto;color:hsl(var(--muted-foreground))}.skill-upload-dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px))}.skill-upload-dialog__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.skill-upload-dropzone{width:100%;min-height:min(42vh,360px);display:grid;place-content:center;gap:8px;box-sizing:border-box;padding:32px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.skill-upload-dropzone:hover,.skill-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.skill-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-upload-dropzone strong{font-size:15px;font-weight:600}.skill-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:13px}.skill-add-dialog{grid-template-rows:auto minmax(0,1fr);width:min(460px,100%)}.skill-add-dialog>header>div{min-width:0}.skill-add-dialog>header p{margin:2px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.skill-add-dialog__options{display:grid;gap:10px;padding:16px}.skill-add-dialog__options>.skillcenter-disabled-action,.skill-add-dialog__options>.skillcenter-disabled-action>button{width:100%}.skill-add-dialog__options button{min-height:76px;display:grid;align-content:center;gap:5px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.skill-add-dialog__options button:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .48)}.skill-add-dialog__options button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-add-dialog__options button:disabled{cursor:not-allowed;opacity:.52}.skill-add-dialog__options strong{font-size:13.5px;font-weight:600}.skill-add-dialog__options button>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.skill-generation__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:32px 32px 0;background:hsl(var(--background))}.skill-generation__header h1,.skill-generation__header p,.skill-generation__activity h2,.skill-generation__files h2{margin:0}.skill-generation__header h1{font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.skill-generation__header p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.skill-generation__ttl{color:hsl(var(--muted-foreground));font-size:12px}.skill-button{min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer}.skill-button:hover:not(:disabled){background:hsl(var(--muted) / .72)}.skill-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.skill-button:disabled{cursor:not-allowed;opacity:.5}.skill-button--quiet{background:transparent}.skill-button--primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.skill-button--primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.skill-generation__setup{min-height:0;flex:1;margin:21px 29px 0;padding:3px 3px 48px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.skill-generation__setup>label,.skill-generation__group label{display:grid;gap:6px;margin-bottom:16px;font-size:14px;font-weight:400}.skill-generation textarea,.skill-generation input{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400}.skill-generation input{height:36px;padding:0 10px}.skill-generation textarea{min-height:88px;padding:9px 10px;line-height:1.55;resize:vertical}.skill-generation textarea:focus-visible,.skill-generation input:focus-visible{outline:none;border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-generation input[aria-invalid=true]{border-color:hsl(var(--destructive) / .55);box-shadow:0 0 0 1px hsl(var(--destructive) / .12)}.skill-generation__field-help,.skill-generation__field-error{min-height:18px;font-size:12px;font-weight:400;line-height:1.5}.skill-generation__field-help{color:hsl(var(--muted-foreground))}.skill-generation__field-error{color:hsl(var(--destructive))}.skill-generation__section-head{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.skill-generation__section-head.is-basic{margin-top:0}.skill-generation__section-head div{display:grid;gap:2px}.skill-generation__section-head strong{font-size:17px;font-weight:620}.skill-generation__section-head span{color:hsl(var(--muted-foreground));font-size:12px}.skill-generation__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;isolation:isolate}.skill-generation__group{position:relative;min-width:0;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel))}.skill-generation__group header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}.skill-generation__group header button{border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__group label{margin-bottom:10px;font-size:12px}.skill-generation__group textarea{min-height:72px}.skill-generation__add-group{min-width:0;display:grid;place-items:center;padding:16px;border:1px dashed hsl(var(--border));border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.skill-generation__add-group:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .3);color:hsl(var(--foreground))}.skill-generation__add-group:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-generation__setup-actions{display:flex;justify-content:flex-end;margin-top:18px}.skill-config-select{position:relative;z-index:1;display:grid;gap:6px;margin-bottom:10px}.skill-config-select.is-open{z-index:100}.skill-config-select__label{color:hsl(var(--foreground));font-size:12px;font-weight:400;line-height:1.45}.skill-required-mark{margin-left:3px;color:hsl(var(--destructive))}.skill-config-select__trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.skill-config-select__trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.skill-config-select__trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.skill-config-select__trigger:disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable{padding:0 0 0 12px;cursor:text}.skill-config-select__trigger.is-editable.is-disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable:focus-within{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger.is-editable input{width:100%;min-width:0;height:34px;padding:0;border:0;outline:none;background:transparent;color:inherit;font:inherit}.skill-config-select__trigger.is-editable input::placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__toggle{width:34px;height:34px;display:inline-grid;flex:0 0 34px;place-items:center;padding:0;border:0;border-radius:0 5px 5px 0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skill-config-select__toggle:hover:not(:disabled){background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.skill-config-select__toggle:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-3px}.skill-config-select__toggle:disabled{cursor:default;opacity:.45}.skill-config-select__trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-config-select__trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__trigger svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground));transition:transform .16s ease}.skill-config-select__trigger[aria-expanded=true] svg{transform:rotate(180deg)}.skill-config-select__menu{position:absolute;z-index:21;top:calc(100% + 6px);left:0;width:100%;max-height:238px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.skill-config-select__option{width:100%;min-height:34px;display:flex;align-items:center;padding:8px 10px;overflow:hidden;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.skill-config-select__option:hover,.skill-config-select__option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.skill-config-select__option.is-selected{background:hsl(var(--primary) / .08)}.skill-config-select__empty{padding:9px 10px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.skill-config-select__error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.skill-inline-error,.skill-inline-notice,.skill-validation-errors{margin-top:12px;padding:10px 12px;border-radius:7px;font-size:12.5px;line-height:1.5}.skill-inline-error,.skill-validation-errors{border:1px solid hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.skill-inline-error button{margin-left:10px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}.skill-inline-notice{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .55);color:hsl(var(--muted-foreground))}.skill-validation-errors p{margin:4px 0 0}.skill-validation-errors button{min-height:30px;margin-top:10px;padding:0 10px;border:1px solid hsl(var(--destructive) / .25);border-radius:6px;background:hsl(var(--panel));color:hsl(var(--destructive));font:inherit;font-size:11.5px;cursor:pointer}.skill-validation-errors button:disabled{cursor:not-allowed;opacity:.5}.skill-generation__workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;flex:1}.skill-generation__candidate-tabs{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.skill-generation__candidate-tabs button{display:block;min-width:260px;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));text-align:left;cursor:pointer}.skill-generation__candidate-tabs button.is-active{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.skill-generation__summary-row{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.skill-generation__summary-row+.skill-generation__summary-row{margin-top:7px}.skill-generation__summary-row>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.skill-generation__summary-row>strong{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skill-generation__candidate-summary{width:100%;min-width:0}.skill-generation__candidate{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:12px;gap:12px}.skill-generation__activity,.skill-generation__files{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.skill-generation__activity>header,.skill-generation__files>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border-bottom:1px solid hsl(var(--border))}.skill-generation__activity>header{min-height:0;padding:12px 14px}.skill-generation__activity h2,.skill-generation__files h2{font-size:14px;font-weight:600}.skill-generation__files header button{border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__spinner{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;animation:skill-generation-spin .9s linear infinite}.skill-generation__spinner circle{opacity:.2}.skill-generation__activity .skill-conversation{flex:1;min-height:0;overflow-y:auto;padding:12px}.skill-generation__files-empty{display:grid;flex:1;place-items:center;color:hsl(var(--muted-foreground));font-size:12.5px}.skill-generation__ready-actions{grid-column:1 / -1;display:flex;min-width:0;align-items:flex-end;gap:10px}.skill-generation__publish-target{width:min(320px,36%);min-width:240px}.skill-generation__publish-target .skill-config-select{margin-bottom:0}.skill-generation__followup{grid-column:1 / -1;display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--background))}.skill-generation__ready-actions .skill-generation__followup{min-width:0;flex:1}.skill-generation__followup textarea{min-width:0;min-height:36px;max-height:120px;flex:1;box-sizing:border-box;padding:8px 4px;resize:none;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.skill-generation__followup textarea::placeholder{color:hsl(var(--muted-foreground))}.skill-generation__followup .skill-button{height:36px;min-height:36px}.skill-generation__action-error{grid-column:1 / -1;margin-top:-4px}.skill-file-browser{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:0;flex:1}.skill-file-tree{min-width:0;overflow:auto;border-right:1px solid hsl(var(--border));padding:6px 0}.skill-file-tree__row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-height:30px;padding-top:4px;padding-right:8px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;white-space:nowrap}button.skill-file-tree__row{cursor:pointer}button.skill-file-tree__row:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.skill-file-tree__row.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.skill-file-tree__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.skill-file-tree__row>svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skill-file-tree__row small{color:hsl(var(--muted-foreground));font-size:10px}.skill-file-preview{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.skill-file-preview>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:4px 9px;border-bottom:1px solid hsl(var(--border));font-size:11.5px}.skill-file-preview>header>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-file-preview>header div{display:flex;gap:4px}.skill-file-preview>header button{min-height:28px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skill-file-preview__body{min-width:0;min-height:0;overflow:auto}.skill-file-preview__body .cm-editor{height:100%}.skill-file-preview__markdown{padding:16px}.skill-file-preview__frontmatter{display:grid;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:8px;background:hsl(var(--secondary) / .5)}.skill-file-preview__frontmatter>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px}.skill-file-preview__frontmatter dt{color:hsl(var(--muted-foreground));font-size:11px;font-weight:500}.skill-file-preview__frontmatter dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.skill-file-preview__markdown-body>:first-child{margin-top:0}.skill-file-preview__body img{display:block;max-width:calc(100% - 32px);max-height:calc(100% - 32px);margin:16px auto;object-fit:contain}.skill-file-preview__binary{display:grid;place-content:center;gap:5px;height:100%;padding:20px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}@media (max-width: 980px){.skill-generation__groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-generation__candidate{grid-template-columns:1fr;overflow-y:auto}.skill-generation__activity,.skill-generation__files{min-height:420px}.skill-generation__ready-actions{grid-column:1;align-items:stretch;flex-direction:column}.skill-generation__publish-target{width:100%;min-width:0}.skill-generation__followup{grid-column:1}}@media (max-width: 760px){.skillcenter{padding:24px 20px 0}.skillcenter-page-header{flex-direction:column;gap:16px}.skillcenter-page-heading h1{max-width:calc(100vw - 40px)}.skillcenter-page-heading--back h1{max-width:calc(100vw - 82px)}.skillcenter-search{width:100%}.skillcenter-toolbar{align-items:flex-start;flex-direction:column}.skillcenter-detail-facts{width:100%;justify-content:space-between;gap:12px}.skillcenter-detail-facts>div{min-width:0}.skillcenter-toolbar-actions{width:100%}.skillcenter-results{margin-top:22px}.skill-generation__header{padding:24px 20px 0}.skill-generation__setup{margin:17px 17px 0}}@media (max-width: 560px){.skill-generation__groups{grid-template-columns:1fr}.skill-detail-content--files .skill-file-browser{height:auto;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(128px,34%) minmax(0,1fr)}.skill-detail-content--files .skill-file-tree{border-right:0;border-bottom:1px solid hsl(var(--border))}}@media (prefers-reduced-motion: reduce){.skillcenter-disabled-tooltip{transition:none}.skill-generation *,.skill-generation *:before,.skill-generation *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.skill-generation__spinner{animation:none!important}}@keyframes skill-generation-spin{to{transform:rotate(360deg)}}.aw-root{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.aw-agent-head h2,.aw-eval-head h2,.aw-section-head h3{margin:0;color:hsl(var(--foreground));letter-spacing:-.025em}.aw-agent-head p,.aw-eval-head p,.aw-section-head p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.aw-view-tabs,.aw-agent-title-row,.aw-card-head,.aw-section-head,.aw-case-filters,.aw-eval-head{display:flex;align-items:center}.aw-agent-heading{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-heading-copy{min-width:0}.aw-view-tabs{flex:0 0 auto;gap:26px;padding:0 24px;border-bottom:1px solid hsl(var(--border))}.aw-view-tabs button,.aw-case-filters button{border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.aw-view-tabs button{position:relative;min-height:44px;padding:0;font-size:14px;font-weight:580}.aw-view-tabs button.is-active{color:hsl(var(--foreground))}.aw-view-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:999px;background:hsl(var(--foreground))}.aw-run{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:650;transition:opacity .16s ease,transform .16s ease}.aw-run:not(:disabled):hover{transform:translateY(-1px)}.aw-root button:focus-visible,.aw-root input:focus-visible,.aw-root textarea:focus-visible,.aw-root select:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-run svg{width:15px;height:15px}.aw-run:disabled,.aw-create-card:disabled{cursor:default;opacity:.42}.aw-workspace-frame{flex:1;min-height:0;position:relative}.aw-workspace{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:304px minmax(0,1fr)}.aw-root.is-detail-only .aw-view-tabs,.aw-root.is-detail-only .aw-sidebar{display:none}.aw-root.is-detail-only .aw-workspace{grid-template-columns:minmax(0,1fr)}.aw-root.is-detail-only{font-size:14px}.aw-root.is-detail-only .aw-agent-head{padding-top:24px}.aw-sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 12px 22px 24px}.aw-search{height:40px;min-height:40px;flex:0 0 40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--foreground) / .12);border-radius:10px;background:transparent;transition:border-color .16s ease,background-color .16s ease}.aw-search:focus-within{border-color:hsl(var(--foreground) / .16);background:hsl(var(--secondary) / .42);box-shadow:none}.aw-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;line-height:1}.aw-search input::placeholder{color:hsl(var(--muted-foreground) / .82)}.aw-search input:focus,.aw-search input:focus-visible,.aw-case-search input:focus,.aw-case-search input:focus-visible{outline:none!important;box-shadow:none}.aw-agent-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;margin-top:14px;overflow-y:auto}.aw-selection-toolbar{flex:0 0 auto;min-height:32px;display:flex;align-items:center;gap:8px;margin-top:10px}.aw-selection-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-selection-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-selection-toolbar button:disabled{cursor:default;opacity:.42}.aw-selection-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-selection-count{flex:1;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;white-space:nowrap}.aw-selection-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-selection-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-delete-error{margin-top:8px;padding:8px 10px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-agent-item,.aw-agent-check{width:100%;min-height:72px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:13px 14px;border:1px solid hsl(var(--foreground) / .1);border-radius:14px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,border-color .16s ease}.aw-agent-item:hover,.aw-agent-check:hover{border-color:hsl(var(--foreground) / .18);background:hsl(var(--secondary) / .42)}.aw-agent-item.is-active{border-color:hsl(var(--foreground) / .42);background:hsl(var(--secondary) / .28)}.aw-agent-item[draggable=true]{cursor:grab}.aw-agent-item[draggable=true]:active{cursor:grabbing}.aw-agent-item.is-dragging{opacity:.46}.aw-agent-item.is-drop-target{border-color:hsl(var(--foreground) / .46);background:hsl(var(--secondary) / .54)}.aw-agent-item.is-drop-before{box-shadow:inset 0 2px hsl(var(--foreground) / .44)}.aw-agent-item.is-drop-after{box-shadow:inset 0 -2px hsl(var(--foreground) / .44)}.aw-agent-item.is-selecting{gap:10px}.aw-agent-item.is-selected-for-delete{border-color:hsl(var(--foreground) / .36);background:hsl(var(--secondary) / .44)}.aw-agent-item.is-selection-disabled{opacity:.58}.aw-select-marker{width:16px;height:16px;flex:0 0 16px;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;background:hsl(var(--background))}.aw-select-marker.is-checked{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.aw-select-marker.is-checked:after{content:"";width:7px;height:4px;border-bottom:1.6px solid hsl(var(--background));border-left:1.6px solid hsl(var(--background));transform:rotate(-45deg) translateY(-1px)}.aw-agent-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:6px}.aw-agent-name-row{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-name-row>strong{min-width:0;flex:1}.aw-version-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;line-height:1.2}.aw-draft-badge{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#f0ebe0;color:#675332;font-size:10px;font-weight:680;line-height:1.2}.aw-draft-badge.is-deploying{background:#e4eaf2;color:#2d5080}.aw-draft-badge.is-error{background:#dc28281f;color:hsl(var(--destructive))}.aw-draft-badge.is-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.aw-agent-copy strong,.aw-agent-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-agent-copy strong{font-size:13px;font-weight:650}.aw-agent-copy small{color:hsl(var(--muted-foreground));font-size:11px}.aw-agent-item>svg{width:14px;height:14px;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .14s ease,transform .14s ease}.aw-agent-item:hover>svg,.aw-agent-item.is-active>svg{opacity:1}.aw-agent-item:hover>svg{transform:translate(2px)}.aw-agent-check{position:relative}.aw-agent-check>input{position:absolute;width:1px;height:1px;opacity:0}.aw-check-mark{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--foreground) / .22);border-radius:5px;background:hsl(var(--background));color:transparent}.aw-check-mark svg{width:11px;height:11px}.aw-agent-check:has(input:checked) .aw-check-mark{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.aw-agent-check:has(input:focus-visible){outline:2px solid hsl(var(--ring) / .42);outline-offset:-2px}.aw-list-empty{min-height:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:28px 12px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-list-error{display:flex;flex-direction:column;align-items:center;gap:10px}.aw-list-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}.aw-create-card{width:100%;min-height:48px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;border:1px dashed hsl(var(--foreground) / .28);border-radius:14px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:border-color .16s ease,color .16s ease}.aw-create-card:hover:not(:disabled){border-color:hsl(var(--foreground) / .5);color:hsl(var(--foreground))}.aw-create-card svg{width:15px;height:15px}.aw-list-count{flex:0 0 auto;padding-top:10px;color:hsl(var(--muted-foreground));font-size:10.5px;text-align:center}.aw-main{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background))}.aw-detail-loading{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:hsl(var(--background) / .72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.aw-detail-loading-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background) / .94);box-shadow:0 14px 40px hsl(var(--foreground) / .1)}.aw-detail-loading-card>span:not(.loading-gap-spinner){display:flex;flex-direction:column;gap:2px}.aw-detail-loading-card>.loading-gap-spinner{width:18px;height:18px;flex:0 0 18px}.aw-detail-loading-card strong{font-size:13px;font-weight:650}.aw-detail-loading-card small{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-empty-selection{align-items:center;justify-content:center}.aw-empty-selection p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.aw-agent-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px}.aw-agent-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-agent-head>.aw-agent-heading{flex-direction:row;align-items:center;justify-content:flex-start}.aw-head-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.aw-head-delete{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--destructive) / .24);border-radius:999px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:620}.aw-head-delete:hover:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-head-delete:disabled{cursor:default;opacity:.46}.aw-head-delete svg{width:14px;height:14px}.aw-head-delete--draft{border-color:hsl(var(--border));background:transparent;color:hsl(var(--foreground))}.aw-head-delete--draft:hover:not(:disabled){background:hsl(var(--secondary) / .54)}.aw-head-delete.studio-update-action{border:1px solid hsl(var(--destructive) / .34);background:#ffffffc2;color:hsl(var(--destructive));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.aw-head-delete.studio-update-action:hover:not(:disabled){border:1px solid hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.aw-agent-title-row{gap:8px}.aw-agent-head h2,.aw-eval-head h2{overflow:hidden;font-size:20px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.aw-agent-title-row>span,.aw-eval-head>div>span{padding:2px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px}.aw-agent-head p{max-width:720px;overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.aw-update{align-self:center}.aw-update-wrap{position:relative;align-self:center;display:inline-flex;border-radius:999px}.aw-update-wrap.is-disabled{cursor:not-allowed}.aw-update-wrap.is-disabled .aw-update{cursor:inherit}.aw-update-spinner{width:14px;height:14px;flex-basis:14px;border-color:currentColor;border-right-color:transparent}.aw-update-disabled-reason{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:260px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:opacity .14s ease,transform .14s ease}.aw-update-wrap.is-disabled:hover .aw-update-disabled-reason,.aw-update-wrap.is-disabled:focus-visible .aw-update-disabled-reason{opacity:1;transform:translate(-50%)}.aw-update-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}@media (prefers-reduced-motion: reduce){.aw-update-disabled-reason{transition:none}}.aw-talk svg{width:15px;height:15px}.aw-agent-tabs{flex:0 0 auto;display:flex;gap:24px;margin:0 24px;padding:0;border-bottom:1px solid hsl(var(--border))}.aw-agent-tabs button{position:relative;min-height:42px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:14px;font-weight:580}.aw-agent-tabs button.is-active{color:hsl(var(--foreground))}.aw-agent-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:hsl(var(--foreground))}.aw-agent-tabs button:disabled{cursor:default}.aw-content{flex:1;min-height:0;overflow-y:auto;margin-top:14px;padding:0 24px 80px}.aw-basic-stack,.aw-usage{display:flex;flex-direction:column;gap:16px}.aw-usage-intro h3,.aw-usage-intro p,.aw-usage-users-head h3,.aw-usage-summary{margin:0}.aw-usage-intro h3,.aw-usage-users-head h3{color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-usage-intro p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-usage-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aw-usage-summary>div{min-width:0;padding:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-usage-summary dt{color:hsl(var(--muted-foreground));font-size:12px;font-weight:500}.aw-usage-summary dd{margin:8px 0 0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25}.aw-usage-users-head{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.aw-usage-users-head .text-shimmer{flex:0 0 auto;font-size:12px}.aw-usage-state{min-height:116px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55;text-align:center}.aw-usage-state.is-error{flex-direction:column;color:hsl(var(--destructive));white-space:pre-wrap;overflow-wrap:anywhere}.aw-usage-state button,.aw-usage-pagination button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-usage-state button:hover,.aw-usage-pagination button:hover:not(:disabled){background:hsl(var(--secondary) / .5)}.aw-usage-state button:focus-visible,.aw-usage-pagination button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-usage-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-usage-table{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-usage-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aw-usage-table th,.aw-usage-table td{padding:13px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:middle}.aw-usage-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-usage-table th:first-child,.aw-usage-table td:first-child{width:48%}.aw-usage-table th:nth-child(2),.aw-usage-table td:nth-child(2){width:18%}.aw-usage-table td strong,.aw-usage-table td small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-usage-table td strong{font-weight:600}.aw-usage-table td small{margin-top:3px;color:hsl(var(--muted-foreground));font-size:11.5px}.aw-usage-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px}.aw-usage-pagination span{min-width:92px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-usage-pagination button:disabled{opacity:.48;cursor:not-allowed}.aw-integration-stack{display:flex;flex-direction:column;gap:16px}.aw-integration-intro h3,.aw-integration-intro p,.aw-integration-panel h3,.aw-integration-panel h4,.aw-integration-panel dl,.aw-integration-panel dd{margin:0}.aw-integration-intro h3{font-size:15px;font-weight:620}.aw-integration-intro p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-body{display:flex;min-width:0;flex-direction:column;gap:12px}.aw-integration-protocol-tabs{position:relative;display:grid;width:min(240px,100%);height:36px;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.aw-integration-protocol-slider{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc((100% - 9px)/2);border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .05);transition:transform .24s cubic-bezier(.22,1,.36,1)}.aw-integration-protocol-tabs.is-a2a .aw-integration-protocol-slider{transform:translate(calc(100% + 3px))}.aw-integration-protocol-tabs button{position:relative;z-index:1;min-width:0;min-height:28px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;transition:background-color .16s ease,color .16s ease}.aw-integration-protocol-tabs button:hover{background:hsl(var(--panel) / .45);color:hsl(var(--foreground))}.aw-integration-protocol-tabs button[aria-selected=true]{color:hsl(var(--foreground));font-weight:620}.aw-integration-protocol-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-panel{min-width:0;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-integration-panel.has-example{display:flex;flex-direction:column;gap:20px}.aw-integration-panel header{display:flex;align-items:center;margin-bottom:4px}.aw-integration-panel h3{color:hsl(var(--foreground));font-size:14px;font-weight:620}.aw-integration-panel dl{display:grid;align-content:start;gap:12px}.aw-integration-panel dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px}.aw-integration-panel dt{color:hsl(var(--muted-foreground));font-size:12px}.aw-integration-panel dd{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55}.aw-integration-secret{display:inline-flex;min-width:0;flex-wrap:wrap;align-items:center;gap:6px}.aw-integration-secret-value{min-width:52px;overflow-wrap:anywhere}.aw-integration-secret-toggle{display:inline-grid;width:28px;height:28px;flex:0 0 28px;padding:0;place-items:center;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer}.aw-integration-secret-toggle:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-integration-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-secret-toggle:disabled{cursor:wait;opacity:.62}.aw-integration-secret-toggle svg,.aw-integration-secret-toggle .loading-gap-spinner{width:16px;height:16px}.aw-integration-secret-error{flex-basis:100%;color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-integration-example{min-width:0}.aw-integration-example h4{margin-bottom:8px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.aw-integration-example-code.md{min-width:0;font-size:12px}.aw-integration-example-code.md pre{max-height:360px;margin:0;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary))}.aw-integration-example-code.md pre code{display:block;min-width:max-content;padding:14px 16px;line-height:1.55}.aw-integration-error{display:flex;align-items:center;gap:8px;min-height:36px;padding:10px 12px;border-radius:8px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-error{justify-content:space-between;color:hsl(var(--destructive))}.aw-integration-error button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.aw-integration-notice{display:flex;align-items:center;min-height:36px;padding:10px 12px;border:1px solid hsl(42 72% 74% / .45);border-radius:8px;background:#fef9eb;color:#8c6917;font-size:12.5px;line-height:1.55}.aw-canvas-card,.aw-details-card{min-width:0;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel))}.aw-canvas-card{overflow:hidden}.aw-canvas-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:13px}.aw-details-card{overflow:hidden}.aw-deploy-progress-card{width:100%;min-width:0;box-sizing:border-box;padding:24px 26px 26px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--panel))}.aw-detail-deployment{flex:0 0 auto;padding:0 24px 16px}.aw-detail-deployment.is-running{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.aw-main.is-deploying .aw-agent-tabs,.aw-main.is-deploying .aw-content,.aw-main.is-deploying .aw-basic-actions{display:none}.aw-deploy-progress-head,.aw-deploy-progress-head>div,.aw-deploy-progress-icon{display:flex;align-items:center}.aw-deploy-progress-head{justify-content:space-between;gap:20px}.aw-deploy-progress-head>div{min-width:0;gap:12px}.aw-deploy-progress-head>div>div{min-width:0}.aw-deploy-progress-icon{width:34px;height:34px;flex:0 0 34px;justify-content:center;border-radius:50%;background:#eaeff5;color:#295189}.aw-deploy-progress-icon svg{width:17px;height:17px}.aw-deploy-progress-card.is-success .aw-deploy-progress-icon{background:#e8f2ee;color:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-icon,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-icon{background:#f5ecea;color:#8d3d34}.aw-deploy-progress-head h3{margin:0;font-size:14px;font-weight:700}.aw-deploy-progress-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;overflow-wrap:anywhere}.aw-deploy-progress-head>strong{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:12px;font-weight:650}.aw-deploy-progress-track{height:5px;margin-top:18px;overflow:hidden;border-radius:999px;background:hsl(var(--secondary))}.aw-deploy-progress-track span{display:block;height:100%;border-radius:inherit;background:#295189;transition:width .32s cubic-bezier(.22,1,.36,1)}.aw-deploy-progress-card.is-success .aw-deploy-progress-track span{background:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-track span,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-track span{background:#8d3d34}.aw-deploy-steps{margin:22px 0 0;padding:0;list-style:none}.aw-deploy-steps li{position:relative;min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:0 0 18px}.aw-deploy-steps li:last-child{padding-bottom:0}.aw-deploy-progress-actions{display:flex;justify-content:flex-end;margin-top:20px}.aw-deploy-steps li:not(:last-child):after{content:"";position:absolute;top:28px;bottom:0;left:13px;width:2px;border-radius:999px;background:hsl(var(--border))}.aw-deploy-steps li.is-done:not(:last-child):after{background:#9dcdb8}.aw-deploy-step-marker{position:relative;z-index:1;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:680}.aw-deploy-step-marker svg{width:14px;height:14px}.aw-deploy-steps li.is-done .aw-deploy-step-marker{border-color:#b3dbca;background:#e8f2ee;color:#2d7656}.aw-deploy-steps li.is-active .aw-deploy-step-marker{border-color:#9eb3d1;background:#eaeff5;color:#295189}.aw-deploy-steps li.is-failed .aw-deploy-step-marker{border-color:#dcbfbc;background:#f5ecea;color:#8d3d34}.aw-deploy-step-copy{min-width:0;padding-top:2px}.aw-deploy-step-copy strong{display:block;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:620;line-height:1.4}.aw-deploy-step-copy p{min-width:0;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.aw-deploy-steps li.is-done .aw-deploy-step-copy strong,.aw-deploy-steps li.is-active .aw-deploy-step-copy strong,.aw-deploy-steps li.is-failed .aw-deploy-step-copy strong{color:hsl(var(--foreground))}.aw-deploy-steps li.is-active .aw-deploy-step-copy p{color:hsl(var(--foreground) / .78)}.aw-deploy-step-log{min-width:0;margin-top:10px}.aw-deploy-log{min-width:0;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--canvas));overflow:hidden}.aw-deploy-log header,.aw-deploy-log header>div,.aw-deploy-log-actions,.aw-deploy-log-actions button{display:flex;align-items:center}.aw-deploy-log header{min-width:0;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.aw-deploy-log.is-collapsed header{border-bottom:0}.aw-deploy-log header>div:first-child{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.aw-deploy-log strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:640;line-height:1.35}.aw-deploy-log span{min-width:0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.aw-deploy-log-actions{flex:0 0 auto;gap:6px}.aw-deploy-log-actions button{min-height:28px;gap:5px;padding:0 8px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:11.5px;font-weight:560;cursor:pointer}.aw-deploy-log-actions button:hover{background:hsl(var(--muted))}.aw-deploy-log-actions button span{color:inherit;font-size:inherit;line-height:inherit}.aw-deploy-log-actions button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.aw-deploy-log-actions svg{width:13px;height:13px;flex:0 0 auto}.aw-deploy-log pre{max-height:260px;min-width:0;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:hsl(var(--foreground) / .86);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.55}.aw-deploy-log-empty{padding:12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.aw-deploy-log.is-error{border-color:#dcbfbc}.aw-card-head{justify-content:space-between;gap:12px;min-height:48px;padding:0 16px}.aw-card-head strong{font-size:13px;font-weight:680}.aw-card-head span{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-canvas{height:220px;min-height:0;border-top:1px solid hsl(var(--border))}.aw-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;border:0;background:#f9f8f5}.aw-canvas .abc-canvas{flex:1;min-height:0}.aw-canvas .react-flow__controls{transform:scale(.86);transform-origin:bottom left}.aw-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:4px 16px 14px}.aw-facts>div{min-height:39px;display:grid;grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr);align-items:center;gap:12px;border-top:1px solid hsl(var(--border) / .72)}.aw-facts>div:nth-child(2n){padding-left:20px}.aw-facts>div:nth-child(odd){padding-right:20px}.aw-facts dt{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-facts dd{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:600;text-align:right;text-overflow:ellipsis;white-space:nowrap}.aw-facts .aw-fact-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;overflow:visible;white-space:normal}.aw-fact-badges span{max-width:100%;overflow:hidden;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .55);font-size:11px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.aw-version-stack{display:flex;flex-direction:column;gap:14px}.aw-version-list{display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px}.aw-version-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(104px,.9fr) minmax(96px,.7fr) minmax(86px,.6fr) auto;gap:12px;align-items:center;padding:13px 16px;border-top:1px solid hsl(var(--border) / .72);background:hsl(var(--panel));font-size:12px}.aw-version-row:first-child{border-top:0}.aw-version-row>div{min-width:0;display:flex;flex-direction:column;gap:3px}.aw-version-row strong{overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.aw-version-row small,.aw-version-row span{color:hsl(var(--muted-foreground));font-size:11px}.aw-version-row em{overflow:hidden;color:hsl(var(--foreground) / .82);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.aw-version-row p{grid-column:2 / -1;margin:0;color:hsl(var(--muted-foreground))}.aw-version-row a{color:hsl(var(--foreground));font-weight:600;text-decoration:none}.aw-version-row a:hover{text-decoration:underline}.aw-version-actions{align-items:flex-end}.aw-version-actions button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600}.aw-version-actions button:hover:not(:disabled){background:hsl(var(--muted) / .55)}.aw-version-actions button:disabled{cursor:not-allowed;color:hsl(var(--muted-foreground));opacity:.62}.aw-status-dot{width:6px;height:6px;display:inline-block;margin-right:6px;border-radius:50%;background:#358d67}.aw-section-head{justify-content:space-between;gap:18px;margin-bottom:16px}.aw-section-head h3{font-size:17px;font-weight:700}.aw-case-filters{width:fit-content;gap:3px;padding:3px;border-radius:8px;background:hsl(var(--secondary) / .62)}.aw-case-filter-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.aw-case-filter-stack{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.aw-case-source-filters{display:flex;flex-wrap:wrap;gap:6px}.aw-case-source-filters button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.aw-case-source-filters button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-case-source-filters button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.aw-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.aw-case-summary>button{min-width:0;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .22)}.aw-case-summary>button{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;padding:14px 16px;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.aw-case-summary>button:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--secondary) / .36)}.aw-case-summary>button:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:2px}.aw-case-summary strong{color:hsl(var(--foreground));font-size:26px;font-weight:720;line-height:1}.aw-case-summary span{min-width:0;color:hsl(var(--foreground));font-size:12px;font-weight:640}.aw-case-search{width:min(360px,46%);min-width:260px;height:40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .16s ease,box-shadow .16s ease}.aw-case-search:focus-within{border-color:hsl(var(--foreground) / .32);box-shadow:0 0 0 3px hsl(var(--foreground) / .045)}.aw-case-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-case-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.aw-case-search input::placeholder{color:hsl(var(--muted-foreground) / .8)}.aw-case-toolbar{min-height:32px;display:flex;align-items:center;gap:8px;margin:-2px 0 14px}.aw-case-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-case-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-case-toolbar button:disabled{cursor:default;opacity:.42}.aw-case-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-case-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-case-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-case-filters button{min-height:30px;padding:0 12px;border-radius:6px;font-size:12.5px}.aw-case-filters button.is-active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .07)}.aw-case-table{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-case-row{min-width:870px;min-height:86px;display:grid;grid-template-columns:minmax(180px,.78fr) minmax(250px,1.16fr) 80px minmax(220px,.94fr) 48px;align-items:start;gap:14px;padding:14px 16px;border-top:1px solid hsl(var(--border));font-size:13px}.aw-case-row:not(.aw-case-row-head){cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.aw-case-row:not(.aw-case-row-head):hover,.aw-case-row.is-focused,.aw-case-row.is-selected-for-delete{background:hsl(var(--secondary) / .28)}.aw-case-row.is-focused{box-shadow:inset 3px 0 hsl(var(--foreground) / .22)}.aw-case-row.is-selected-for-delete{box-shadow:inset 3px 0 hsl(var(--foreground) / .34)}.aw-case-row:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:-2px}.aw-case-row:first-child{border-top:0}.aw-case-row-head{min-height:38px;align-items:center;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-case-action-head{text-align:center}.aw-case-text,.aw-case-output,.aw-case-reason{min-width:0;display:flex;flex-direction:column;gap:5px}.aw-case-score{color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.5}.aw-case-reason p{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-reason.is-expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-title-line{min-width:0;display:flex;align-items:center;gap:8px}.aw-case-title-line strong{flex:1;min-width:0}.aw-case-actions{min-width:0;display:flex;justify-content:center}.aw-case-row strong,.aw-case-row p,.aw-case-row small{min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.aw-case-row strong{color:hsl(var(--foreground));font-weight:600;line-height:1.45}.aw-case-row p{margin:0;color:hsl(var(--muted-foreground));line-height:1.5}.aw-case-output-preview{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-output.is-expanded .aw-case-output-preview{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-expand{width:fit-content;min-height:24px;margin-top:2px;padding:0 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.aw-case-expand:hover{background:hsl(var(--secondary) / .55)}.aw-case-row small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35}.aw-case-time{color:hsl(var(--foreground) / .62)!important}.aw-case-delete{width:28px;height:28px;flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.aw-case-delete:hover:not(:disabled){border-color:hsl(var(--destructive) / .18);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.aw-case-delete:active:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-case-delete:disabled{cursor:default;opacity:.42}.aw-case-delete svg{width:13px;height:13px}.aw-case-empty{min-height:116px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px}.aw-case-error{color:hsl(var(--destructive))}.aw-case-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--destructive) / .26);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-deployment-panel{width:100%;box-sizing:border-box;margin:0}.aw-settings-card{padding:18px;border:1px solid hsl(var(--border));border-radius:14px}.aw-optimizations{display:flex;flex-direction:column;gap:16px}.aw-optimization-intro h3{margin:0;color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-optimization-intro p{margin:5px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-optimization-state{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.aw-optimization-state.is-error{color:hsl(var(--destructive))}.aw-optimization-state button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.aw-optimization-table-wrap{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-optimization-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-optimization-table th,.aw-optimization-table td{padding:14px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:top}.aw-optimization-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-optimization-table th:first-child,.aw-optimization-table td:first-child{width:108px}.aw-optimization-table th:nth-child(2),.aw-optimization-table td:nth-child(2){width:142px}.aw-optimization-module{color:hsl(var(--foreground));font-size:13px;font-weight:620;line-height:1.55}.aw-optimization-list{margin:0;padding:0;list-style:none}.aw-optimization-list li{position:relative;padding-left:16px}.aw-optimization-list li+li{margin-top:13px;padding-top:13px;border-top:1px dashed hsl(var(--border))}.aw-optimization-list li:before{position:absolute;top:6px;left:1px;width:5px;height:5px;border-radius:50%;background:hsl(var(--primary) / .72);content:""}.aw-optimization-list li+li:before{top:19px}.aw-optimization-list strong{display:block;font-size:13.5px;font-weight:650;line-height:1.45}.aw-optimization-list p{margin:5px 0 0;color:hsl(var(--muted-foreground));line-height:1.55}.aw-priority{font-size:13px;font-weight:700;line-height:1.5}.aw-priority.is-high{color:hsl(var(--destructive))}.aw-priority.is-medium{color:#93591f}.aw-priority.is-low{color:#28674c}.aw-readonly-config{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aw-readonly-config>div{min-width:0;padding:12px 14px;border-radius:10px;background:hsl(var(--secondary) / .42)}.aw-readonly-config dt{color:hsl(var(--muted-foreground));font-size:11px}.aw-readonly-config dd{margin:5px 0 0;color:hsl(var(--foreground));font-size:12px;font-weight:600}.aw-readonly-config dd.is-ready{color:#1d7c40}.aw-basic-actions{position:absolute;z-index:8;bottom:20px;left:50%;display:flex;align-items:center;justify-content:center;gap:10px;padding:0;border:0;border-radius:10px;background:transparent;box-shadow:none;transform:translate(-50%)}.aw-eval-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;justify-content:space-between;gap:20px;padding:14px 24px}.aw-evaluation-glass{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--background) / .44);color:hsl(var(--foreground));-webkit-backdrop-filter:blur(9px) saturate(118%);backdrop-filter:blur(9px) saturate(118%);transition:background .18s ease,backdrop-filter .18s ease}.aw-evaluation-glass:hover{background:hsl(var(--background) / .52);-webkit-backdrop-filter:blur(11px) saturate(125%);backdrop-filter:blur(11px) saturate(125%)}.aw-evaluation-glass span{padding:8px 13px;border:1px solid hsl(var(--border) / .82);border-radius:999px;background:hsl(var(--background) / .7);box-shadow:0 8px 24px hsl(var(--foreground) / .07);font-size:12.5px;font-weight:620;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.aw-eval-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-run{min-height:38px;padding:0 14px;border-radius:9px}.aw-eval-setup{width:min(900px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px}.aw-eval-block{min-width:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px}.aw-eval-agent-grid{max-height:230px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;padding:0 16px 16px}.aw-eval-agent-grid>label{min-height:52px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid hsl(var(--border) / .82);border-radius:10px;cursor:pointer}.aw-eval-agent-grid input,.aw-metric-list input{width:15px;height:15px;accent-color:hsl(var(--foreground))}.aw-eval-agent-grid label>span{min-width:0;display:flex;flex-direction:column;gap:3px}.aw-eval-agent-grid strong,.aw-eval-agent-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-eval-agent-grid strong{font-size:12px;font-weight:620}.aw-eval-agent-grid small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-eval-setting-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:14px}.aw-eval-fields{display:flex;flex-direction:column;gap:13px;padding:0 16px 16px}.aw-eval-fields label{min-height:36px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px}.aw-eval-fields label>span,.aw-eval-fields label>small{color:hsl(var(--muted-foreground));font-size:11px}.aw-eval-fields select{width:100%;height:34px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11.5px}.aw-metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 16px 16px}.aw-metric-list label{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid hsl(var(--border) / .82);border-radius:9px;cursor:pointer;font-size:11.5px}.aw-eval-history{width:min(820px,100%);margin:0 auto}.aw-history-list{display:flex;flex-direction:column;gap:9px}.aw-history-list>button{width:100%;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 16px;align-items:center;gap:16px;padding:10px 14px;border:1px solid hsl(var(--border));border-radius:11px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.aw-history-list>button:hover{border-color:hsl(var(--foreground) / .2)}.aw-history-list>button>span:first-child,.aw-history-score{display:flex;flex-direction:column;gap:4px}.aw-history-list strong{font-size:12px}.aw-history-list small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-history-score{align-items:flex-end}.aw-history-score strong{font-size:17px}.aw-complete{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#3c866617;color:#28674c;font-size:10.5px;font-weight:620}.aw-complete svg{width:12px;height:12px}.aw-results-empty{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));text-align:center}.aw-results-empty strong{color:hsl(var(--foreground));font-size:12.5px}.aw-results-empty span{font-size:11.5px}@media (max-width: 980px){.aw-workspace{grid-template-columns:260px minmax(0,1fr)}.aw-eval-setting-grid{grid-template-columns:minmax(0,1fr)}.aw-case-row{min-width:790px;grid-template-columns:minmax(160px,.78fr) minmax(220px,1fr) 72px minmax(180px,.82fr) 48px}}@media (max-width: 720px){.aw-view-tabs{padding-inline:16px}.aw-workspace{grid-template-columns:minmax(0,1fr);overflow-y:auto}.aw-sidebar{height:340px;max-height:340px;box-sizing:border-box;padding:18px 16px}.aw-agent-list{min-height:128px}.aw-main{min-height:620px;overflow:visible}.aw-agent-tabs{gap:18px;margin-inline:16px;overflow-x:auto}.aw-agent-head,.aw-eval-head{padding-inline:16px}.aw-content{overflow:visible;padding-inline:16px}.aw-facts{grid-template-columns:minmax(0,1fr)}.aw-facts>div:nth-child(n){padding-right:0;padding-left:0}.aw-eval-agent-grid,.aw-metric-list{grid-template-columns:minmax(0,1fr)}.aw-case-summary,.aw-case-row{min-width:0;grid-template-columns:minmax(0,1fr)}.aw-case-filter-bar{align-items:stretch;flex-direction:column;gap:12px}.aw-case-search{width:100%;min-width:0}.aw-case-row-head{display:none}.aw-case-cell{position:relative;padding-top:20px}.aw-case-cell:before{content:attr(data-label);position:absolute;top:0;left:0;color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.aw-case-actions{justify-content:flex-start}.aw-optimization-table{min-width:680px}.aw-usage-summary{grid-template-columns:minmax(0,1fr)}.aw-usage-pagination{justify-content:space-between}.aw-readonly-config{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.aw-integration-protocol-slider{transition:none}.aw-root *,.aw-root *:before,.aw-root *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.library-view{display:flex;min-width:0;min-height:0;height:100%;flex-direction:column;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.library-view__header{flex:0 0 auto;padding:32px 32px 0}.library-view__header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.library-view__header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.library-tabs{margin:12px 32px 0}.library-tabs button{font-size:15px}.library-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.library-panels,.library-panel{display:flex;min-width:0;min-height:0;flex:1;flex-direction:column}.library-panel[hidden]{display:none}.library-panel>.my-agents-page,.library-panel>.artifact-library-page{padding-top:24px}.library-resource-toolbar{min-height:36px;margin-top:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.library-resource-toolbar__controls{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}@media (max-width: 720px){.library-view__header{padding:24px 20px 0}.library-tabs{gap:20px;margin:12px 20px 0}.library-panel>.my-agents-page,.library-panel>.artifact-library-page{padding-top:20px}.library-resource-toolbar{align-items:stretch;flex-direction:column;gap:12px}.library-resource-toolbar__controls{width:100%}.library-resource-toolbar>.my-agent-create-primary{align-self:flex-start}.library-resource-toolbar>.my-agent-search,.library-resource-toolbar>.knowledge-library__search,.library-resource-toolbar>.artifact-library-search{width:100%}}@media (max-width: 560px){.library-view__header{padding-inline:16px}.library-tabs{margin-inline:16px}}.page-back-button{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.page-back-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.page-back-button:active{background:hsl(var(--muted))}.page-back-button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.page-back-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.applications-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.applications-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.applications-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.applications-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.applications-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.applications-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.applications-search svg{width:16px;height:16px;flex:0 0 16px}.applications-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.applications-search input::placeholder{color:hsl(var(--muted-foreground))}.applications-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.applications-categories button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.applications-categories button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.applications-categories button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.applications-categories button:focus-visible{outline:2px solid hsl(var(--ring) / .3);outline-offset:2px}.applications-results{flex:1;min-height:0;overflow-y:auto;margin-top:28px;padding-bottom:56px;scrollbar-gutter:stable}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.application-card-wrap{position:relative;min-width:0;display:flex;border-radius:12px}.application-card-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card{width:100%;min-width:0;min-height:96px;display:flex;align-items:flex-start;gap:16px;box-sizing:border-box;padding:16px 18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;box-shadow:0 1px 2px hsl(var(--foreground) / .035);animation:application-card-enter .18s ease-out both;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.application-card:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .24);box-shadow:0 4px 14px hsl(var(--foreground) / .06)}.application-card:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card:disabled{cursor:not-allowed;opacity:.5}.application-card:disabled:hover{border-color:hsl(var(--border));background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035)}.application-card-tooltip{position:absolute;z-index:30;top:50%;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 3px));transition:opacity .14s ease,transform .14s ease}.application-card-wrap.is-disabled:hover .application-card-tooltip,.application-card-wrap.is-disabled:focus-visible .application-card-tooltip{opacity:1;transform:translate(-50%,-50%)}.application-card-icon{width:36px;height:36px;flex:0 0 36px;color:hsl(var(--foreground))}.application-card-brand-icon{object-fit:contain}.application-card-copy{min-width:0}.application-card-title{display:flex;align-items:center;gap:6px}.application-card-copy h2{min-width:0;margin:1px 0 0;font-size:15px;font-weight:620;line-height:1.4}.application-card-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:16px;box-sizing:border-box;padding:1px 6px;border-radius:999px;background:hsl(var(--destructive));color:#fff;font-size:10px;font-weight:600;line-height:1.2}.application-card-badge.is-success{background:#36ab661f;color:#217343}.application-card-copy p{display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.applications-empty{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;color:hsl(var(--muted-foreground))}.applications-empty svg{width:32px;height:32px;margin-bottom:12px}.applications-empty h2{margin:0;color:hsl(var(--foreground));font-size:15px;font-weight:600}.applications-empty p{margin:6px 0 0;font-size:12.5px}@keyframes application-card-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 760px){.applications-page{padding:24px 20px 0}.applications-header{flex-direction:column;gap:16px}.applications-search{width:100%}}@media (prefers-reduced-motion: reduce){.application-card{animation:none;transition:none}.application-card-tooltip{transition:none}}@layer components{._Container_1a6nz_1{display:flex;align-items:center;gap:var(--input-gap);width:100%;border-radius:var(--input-radius);color:var(--input-text-color);cursor:text;font-size:var(--input-font-size);font-weight:var(--font-weight-normal);transition-duration:var(--transition-duration-basic);transition-property:color,box-shadow,background-color;transition-timing-function:var(--transition-ease-basic)}._Container_1a6nz_1:where([data-optically-align=start]){margin-inline-start:calc(var(--input-gutter) * -1)}._Container_1a6nz_1:where([data-optically-align=end]){margin-inline-end:calc(var(--input-gutter) * -1)}._Container_1a6nz_1:where([data-variant=outline]){box-shadow:0 0 0 1px var(--input-outline-border-color) inset}@media (hover: hover) and (pointer: fine){._Container_1a6nz_1:where([data-variant=outline]):not([data-disabled]):hover{box-shadow:0 0 0 1px var(--input-outline-border-color-hover) inset}}._Container_1a6nz_1:where([data-variant=outline]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-outline-border-color-focus) inset}._Container_1a6nz_1:where([data-variant=outline]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_1a6nz_1:where([data-variant=soft]){background-color:var(--input-soft-background-color)}._Container_1a6nz_1:where([data-variant=soft]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-soft-border-color-focus) inset}._Container_1a6nz_1:where([data-variant=soft]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_1a6nz_1[data-invalid] ::-moz-selection{background-color:var(--red-a50)}._Container_1a6nz_1[data-invalid] ::selection{background-color:var(--red-a50)}._Container_1a6nz_1:where([data-size="3xs"]){--input-size: var(--control-size-3xs);--input-font-size: var(--control-font-size-sm);--input-radius: var(--control-radius-sm);--input-gutter: var(--control-gutter-xs);--input-gap: var(--input-gap-xs);--input-adornment-offset: -1px}._Container_1a6nz_1:where([data-size="2xs"]){--input-size: var(--control-size-2xs);--input-font-size: var(--control-font-size-sm);--input-radius: var(--control-radius-sm);--input-gutter: var(--control-gutter-xs);--input-gap: var(--input-gap-xs);--input-adornment-offset: -1px}._Container_1a6nz_1:where([data-size=xs]){--input-size: var(--control-size-xs);--input-font-size: var(--control-font-size-md);--input-radius: var(--control-radius-sm);--input-gutter: var(--control-gutter-xs);--input-gap: var(--input-gap-sm);--input-adornment-offset: -1px}._Container_1a6nz_1:where([data-size=sm]){--input-size: var(--control-size-sm);--input-font-size: var(--control-font-size-md);--input-radius: var(--control-radius-md);--input-gutter: var(--control-gutter-sm);--input-gap: var(--input-gap-md);--input-adornment-offset: -1px}._Container_1a6nz_1:where([data-size=md]){--input-size: var(--control-size-md);--input-font-size: var(--control-font-size-md);--input-radius: var(--control-radius-md);--input-gutter: var(--control-gutter-md);--input-gap: var(--input-gap-md)}._Container_1a6nz_1:where([data-size=lg]){--input-size: var(--control-size-lg);--input-font-size: var(--control-font-size-md);--input-radius: var(--control-radius-md);--input-gutter: var(--control-gutter-md);--input-gap: var(--input-gap-md)}._Container_1a6nz_1:where([data-size=xl]){--input-size: var(--control-size-xl);--input-font-size: var(--control-font-size-lg);--input-radius: var(--control-radius-lg);--input-gutter: var(--control-gutter-lg);--input-gap: var(--input-gap-lg)}._Container_1a6nz_1:where([data-size="2xl"]){--input-size: var(--control-size-2xl);--input-font-size: var(--control-font-size-lg);--input-radius: var(--control-radius-xl);--input-gutter: var(--control-gutter-xl);--input-gap: var(--input-gap-lg);--input-adornment-offset: -4px}._Container_1a6nz_1:where([data-size="3xl"]){--input-size: var(--control-size-3xl);--input-font-size: var(--control-font-size-lg);--input-radius: var(--control-radius-xl);--input-gutter: var(--control-gutter-xl);--input-gap: var(--input-gap-lg);--input-adornment-offset: -4px}._Container_1a6nz_1:where([data-gutter-size="2xs"]){--input-gutter: var(--control-gutter-2xs);--input-adornment-offset: -1px}._Container_1a6nz_1:where([data-gutter-size=xs]){--input-gutter: var(--control-gutter-xs);--input-adornment-offset: -1px}._Container_1a6nz_1:where([data-gutter-size=sm]){--input-gutter: var(--control-gutter-sm);--input-adornment-offset: -2px}._Container_1a6nz_1:where([data-gutter-size=md]){--input-gutter: var(--control-gutter-md);--input-adornment-offset: -2px}._Container_1a6nz_1:where([data-gutter-size=lg]){--input-gutter: var(--control-gutter-lg);--input-adornment-offset: -2px}._Container_1a6nz_1:where([data-gutter-size=xl]){--input-gutter: var(--control-gutter-xl);--input-adornment-offset: -4px}._Container_1a6nz_1:where([data-pill]){--input-radius: var(--radius-full)}._Container_1a6nz_1[data-disabled]{cursor:not-allowed;opacity:.5}._Container_1a6nz_1:where([data-has-start-adornment]){padding-left:var(--input-gutter)}._Container_1a6nz_1:where([data-has-start-adornment][data-pill]){padding-left:calc(var(--input-gutter) * var(--control-gutter-pill-scaling))}._Container_1a6nz_1:where([data-has-end-adornment]){padding-right:var(--input-gutter)}._Container_1a6nz_1:where([data-has-end-adornment][data-pill]){padding-right:calc(var(--input-gutter) * var(--control-gutter-pill-scaling))}._Container_1a6nz_1>:first-child:not(input){margin-left:var(--input-adornment-offset, -2px)}._Container_1a6nz_1>:last-child:not(input){margin-right:var(--input-adornment-offset, -2px)}._Input_1a6nz_229{display:block;width:100%;height:var(--input-size);padding:0 var(--input-gutter);border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}._Input_1a6nz_229:focus{outline:0}._Input_1a6nz_229:disabled{cursor:not-allowed}._Input_1a6nz_229::-moz-placeholder{color:var(--input-placeholder-text-color)}._Input_1a6nz_229::placeholder{color:var(--input-placeholder-text-color)}._Input_1a6nz_229:-webkit-autofill{animation:_native-autofill-in_1a6nz_1 1ms}._Input_1a6nz_229:-webkit-autofill,._Input_1a6nz_229:-webkit-autofill:focus,._Input_1a6nz_229:-webkit-autofill:hover{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Input_1a6nz_229:-webkit-autofill-and-obscured,._Input_1a6nz_229:-webkit-autofill-strong-password,._Input_1a6nz_229:-webkit-autofill-strong-password-viewable{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Input_1a6nz_229:-webkit-autofill:first-line{font-size:inherit!important;-webkit-transition:font-size 0s 50000s!important;transition:font-size 0s 50000s!important}._Input_1a6nz_229[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}._Input_1a6nz_229[type=number]::-webkit-outer-spin-button,._Input_1a6nz_229[type=number]::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}:where(._Container_1a6nz_1[data-pill]) ._Input_1a6nz_229{padding:0 calc(var(--input-gutter) * var(--control-gutter-pill-scaling))}:where(._Container_1a6nz_1[data-has-start-adornment]) ._Input_1a6nz_229{padding-left:0}:where(._Container_1a6nz_1[data-has-end-adornment]) ._Input_1a6nz_229{padding-right:0}@keyframes _native-autofill-in_1a6nz_1{0%{opacity:1}to{opacity:1}}}@layer components{._SelectControl_1tyi7_1{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:var(--select-control-gap);flex-shrink:0;height:var(--select-control-size);padding:0 var(--select-control-gutter);border-radius:var(--select-control-radius);cursor:pointer;font-size:var(--select-control-font-size);font-weight:var(--select-control-font-weight);line-height:var(--font-text-md-line-height);text-align:left;transition-duration:var(--transition-duration-basic);transition-property:color;transition-timing-function:var(--transition-ease-basic);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}._SelectControl_1tyi7_1:where([data-optically-align=start]){margin-inline-start:calc(var(--select-control-gutter) * -1)}._SelectControl_1tyi7_1:where([data-optically-align=end]){margin-inline-end:calc(var(--select-control-gutter) * -1)}._SelectControl_1tyi7_1:before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;content:"";transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,transform,box-shadow,border-color;transition-timing-function:var(--transition-ease-basic);will-change:transform}._SelectControl_1tyi7_1:after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;content:"";pointer-events:none;transition-duration:var(--transition-duration-basic);transition-property:transform;transition-timing-function:var(--transition-ease-basic);will-change:transform}._SelectControl_1tyi7_1:focus{outline:none}._SelectControl_1tyi7_1:focus-visible:after{outline:2px solid var(--button-ring-color, var(--color-ring));outline-offset:var(--select-control-ring-offset, 2px)}._SelectControl_1tyi7_1:where([data-size="3xs"]){--select-control-size: var(--control-size-3xs);--select-control-gutter: var(--control-gutter-2xs);--select-control-font-size: var(--control-font-size-sm);--select-control-gap: 4px;--select-control-radius: var(--control-radius-sm);--start-icon-size: var(--control-icon-size-xs);--start-icon-offset: 0;--start-icon-pill-offset: 0;--clear-size: 14px;--clear-icon-size: 13px;--clear-iso-size: 12px;--clear-iso-icon-size: 10px;--clear-iso-offset: -1px;--clear-iso-pill-offset: -2px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: 0;--dropdown-icon-width: 6px;--dropdown-icon-height: 9px;--dropdown-chevron-icon-width: 8px;--dropdown-chevron-icon-height: 5px;--indicator-wrapper-gap: calc(var(--spacing) * 1);--indicator-wrapper-gutter: 0}._SelectControl_1tyi7_1:where([data-size="2xs"]){--select-control-size: var(--control-size-2xs);--select-control-gutter: var(--control-gutter-xs);--select-control-font-size: var(--control-font-size-sm);--select-control-gap: 6px;--select-control-radius: var(--control-radius-sm);--start-icon-size: var(--control-icon-size-sm);--start-icon-offset: 0;--start-icon-pill-offset: -1px;--clear-size: 16px;--clear-icon-size: 13px;--clear-iso-size: 14px;--clear-iso-icon-size: 12px;--clear-iso-offset: -2px;--clear-iso-pill-offset: -4px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: 0;--dropdown-icon-width: 6px;--dropdown-icon-height: 9px;--dropdown-chevron-icon-width: 8px;--dropdown-chevron-icon-height: 5px;--indicator-wrapper-gap: calc(var(--spacing) * 1);--indicator-wrapper-gutter: 0}._SelectControl_1tyi7_1:where([data-size=xs]){--select-control-size: var(--control-size-xs);--select-control-gutter: var(--control-gutter-xs);--select-control-font-size: var(--control-font-size-md);--select-control-gap: 6px;--select-control-radius: var(--control-radius-sm);--start-icon-size: var(--control-icon-size-sm);--start-icon-offset: -1px;--start-icon-pill-offset: -1px;--clear-size: 18px;--clear-icon-size: 14px;--clear-iso-size: 16px;--clear-iso-icon-size: 12px;--clear-iso-offset: -2px;--clear-iso-pill-offset: -4px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: 0;--dropdown-icon-width: 7px;--dropdown-icon-height: 11px;--dropdown-chevron-icon-width: 9px;--dropdown-chevron-icon-height: 5px;--indicator-wrapper-gap: calc(var(--spacing) * 1);--indicator-wrapper-gutter: 0}._SelectControl_1tyi7_1:where([data-size=sm]){--select-control-size: var(--control-size-sm);--select-control-gutter: var(--control-gutter-sm);--select-control-font-size: var(--control-font-size-md);--select-control-gap: 8px;--select-control-radius: var(--control-radius-sm);--start-icon-size: var(--control-icon-size-sm);--start-icon-offset: -1px;--start-icon-pill-offset: -2px;--clear-size: 18px;--clear-icon-size: 14px;--clear-iso-size: 16px;--clear-iso-icon-size: 12px;--clear-iso-offset: -3px;--clear-iso-pill-offset: -6px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: -2px;--dropdown-icon-width: 7px;--dropdown-icon-height: 11px;--dropdown-chevron-icon-width: 9px;--dropdown-chevron-icon-height: 5px;--indicator-wrapper-gap: calc(var(--spacing) * 1);--indicator-wrapper-gutter: 0}._SelectControl_1tyi7_1:where([data-size=md]){--select-control-size: var(--control-size-md);--select-control-gutter: var(--control-gutter-md);--select-control-font-size: var(--control-font-size-md);--select-control-gap: 8px;--select-control-radius: var(--control-radius-md);--start-icon-size: var(--control-icon-size-md);--start-icon-offset: -1px;--start-icon-pill-offset: -4px;--clear-size: 22px;--clear-icon-size: 15px;--clear-iso-size: 18px;--clear-iso-icon-size: 14px;--clear-iso-offset: -4px;--clear-iso-pill-offset: -7px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: -2px;--dropdown-icon-width: 8px;--dropdown-icon-height: 12px;--dropdown-chevron-icon-width: 11px;--dropdown-chevron-icon-height: 6px;--indicator-wrapper-gap: calc(var(--spacing) * 1);--indicator-wrapper-gutter: calc(var(--spacing) * 0)}._SelectControl_1tyi7_1:where([data-size=lg]){--select-control-size: var(--control-size-lg);--select-control-gutter: var(--control-gutter-md);--select-control-font-size: var(--control-font-size-md);--select-control-gap: 8px;--select-control-radius: var(--control-radius-md);--start-icon-size: var(--control-icon-size-md);--start-icon-offset: -2px;--start-icon-pill-offset: -4px;--clear-size: 22px;--clear-icon-size: 15px;--clear-iso-size: 18px;--clear-iso-icon-size: 14px;--clear-iso-offset: -2px;--clear-iso-pill-offset: -6px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: -2px;--dropdown-icon-width: 8px;--dropdown-icon-height: 12px;--dropdown-chevron-icon-width: 11px;--dropdown-chevron-icon-height: 6px;--indicator-wrapper-gap: calc(var(--spacing) * 1.5);--indicator-wrapper-gutter: calc(var(--spacing) * 0)}._SelectControl_1tyi7_1:where([data-size=xl]){--select-control-size: var(--control-size-xl);--select-control-gutter: var(--control-gutter-lg);--select-control-font-size: var(--control-font-size-md);--select-control-gap: 8px;--select-control-radius: var(--control-radius-lg);--start-icon-size: var(--control-icon-size-md);--start-icon-offset: -2px;--start-icon-pill-offset: -4px;--clear-size: 24px;--clear-icon-size: 16px;--clear-iso-size: 18px;--clear-iso-icon-size: 14px;--clear-iso-offset: -2px;--clear-iso-pill-offset: -7px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: -2px;--dropdown-icon-width: 8px;--dropdown-icon-height: 12px;--dropdown-chevron-icon-width: 11px;--dropdown-chevron-icon-height: 6px;--indicator-wrapper-gap: calc(var(--spacing) * 1);--indicator-wrapper-gutter: calc(var(--spacing) * .5)}._SelectControl_1tyi7_1:where([data-size="2xl"]){--select-control-size: var(--control-size-2xl);--select-control-gutter: var(--control-gutter-lg);--select-control-font-size: var(--control-font-size-lg);--select-control-gap: 10px;--select-control-radius: var(--control-radius-xl);--start-icon-size: var(--control-icon-size-lg);--start-icon-offset: -2px;--start-icon-pill-offset: -4px;--clear-size: 24px;--clear-icon-size: 16px;--clear-iso-size: 20px;--clear-iso-icon-size: 15px;--clear-iso-offset: -2px;--clear-iso-pill-offset: -7px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: -2px;--dropdown-icon-width: 8px;--dropdown-icon-height: 12px;--dropdown-chevron-icon-width: 11px;--dropdown-chevron-icon-height: 6px;--indicator-wrapper-gap: calc(var(--spacing) * 1.5);--indicator-wrapper-gutter: calc(var(--spacing) * 1)}._SelectControl_1tyi7_1:where([data-size="3xl"]){--select-control-size: var(--control-size-3xl);--select-control-gutter: var(--control-gutter-xl);--select-control-font-size: var(--control-font-size-lg);--select-control-gap: 10px;--select-control-radius: var(--control-radius-xl);--start-icon-size: var(--control-icon-size-lg);--start-icon-offset: -2px;--start-icon-pill-offset: -4px;--clear-size: 24px;--clear-icon-size: 16px;--clear-iso-size: 20px;--clear-iso-icon-size: 15px;--clear-iso-offset: -2px;--clear-iso-pill-offset: -7px;--dropdown-icon-offset: 0;--dropdown-icon-pill-offset: -3px;--dropdown-icon-width: 9px;--dropdown-icon-height: 13px;--dropdown-chevron-icon-width: 12px;--dropdown-chevron-icon-height: 7px;--indicator-wrapper-gap: calc(var(--spacing) * 1.5);--indicator-wrapper-gutter: calc(var(--spacing) * 1)}._SelectControl_1tyi7_1:where([data-pill]){--select-control-radius: var(--radius-full);padding:0 calc(var(--select-control-gutter) * var(--control-gutter-pill-scaling))}._SelectControl_1tyi7_1:where([data-block]){width:100%}._SelectControl_1tyi7_1[data-variant=ghost]{--select-control-background-color: var(--color-background-primary-ghost-hover);--select-control-ring-offset: -1px}._SelectControl_1tyi7_1[data-variant=ghost]:before{background-color:var(--select-control-background-color);opacity:0;transform:scale(var(--scale))}._SelectControl_1tyi7_1[data-variant=ghost][aria-expanded=true]:before,._SelectControl_1tyi7_1[data-variant=ghost][data-state=open]:before{opacity:.6;transform:scale(1)}@media (hover: hover) and (pointer: fine){._SelectControl_1tyi7_1[data-variant=ghost]:where(:not([data-disabled])):hover:before{opacity:1;transform:scale(1)}}._SelectControl_1tyi7_1[data-variant=ghost]:where(:not([data-disabled])):not(:has(button:active)):active:before{--select-control-background-color: var(--color-background-primary-ghost-active);opacity:1;transform:scale(var(--scale))}._SelectControl_1tyi7_1[data-variant=ghost]:where(:not([data-disabled])):not(:has(button:active)):active:after{transform:scale(var(--scale))}._SelectControl_1tyi7_1[data-variant=ghost]:where(:not([data-disabled]))[data-invalid]:before{--select-control-background-color: transparent;box-shadow:0 0 0 1px var(--input-border-color-invalid) inset;opacity:1;transform:scale(1)}@media (hover: hover) and (pointer: fine){._SelectControl_1tyi7_1[data-variant=ghost]:where(:not([data-disabled]))[data-invalid]:hover:before{--select-control-background-color: var(--color-background-primary-ghost-hover)}}._SelectControl_1tyi7_1[data-variant=soft]{--select-control-background-color: var(--color-background-primary-soft-alpha)}._SelectControl_1tyi7_1[data-variant=soft]:before{background-color:var(--select-control-background-color)}._SelectControl_1tyi7_1[data-variant=soft][aria-expanded=true]:before,._SelectControl_1tyi7_1[data-variant=soft][data-state=open]:before{--select-control-background-color: var(--color-background-primary-soft-alpha-hover)}@media (hover: hover) and (pointer: fine){._SelectControl_1tyi7_1[data-variant=soft]:where(:not([data-disabled])):hover:before{--select-control-background-color: var(--color-background-primary-soft-alpha-hover)}}._SelectControl_1tyi7_1[data-variant=soft]:where(:not([data-disabled])):not(:has(button:active)):active:before{--select-control-background-color: var(--color-background-primary-soft-alpha-active)}._SelectControl_1tyi7_1[data-variant=soft]:where(:not([data-disabled])):not(:has(button:active)):active:before,._SelectControl_1tyi7_1[data-variant=soft]:where(:not([data-disabled])):not(:has(button:active)):active:after{transform:scale(var(--scale))}._SelectControl_1tyi7_1[data-variant=soft]:where(:not([data-disabled]))[data-invalid]:before{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._SelectControl_1tyi7_1[data-variant=outline]{--select-control-border-color: var(--input-outline-border-color);--select-control-ring-offset: -1px}._SelectControl_1tyi7_1[data-variant=outline]:before{background-color:transparent;box-shadow:0 0 0 1px var(--select-control-border-color) inset}._SelectControl_1tyi7_1[data-variant=outline][aria-expanded=true],._SelectControl_1tyi7_1[data-variant=outline][data-state=open]{--select-control-border-color: var(--input-outline-border-color-hover)}@media (hover: hover) and (pointer: fine){._SelectControl_1tyi7_1[data-variant=outline]:where(:not([data-disabled])):hover{--select-control-border-color: var(--input-outline-border-color-hover)}}._SelectControl_1tyi7_1[data-variant=outline]:where(:not([data-disabled])):not(:has(button:active)):active:before{transform:scale(var(--scale))}._SelectControl_1tyi7_1[data-variant=outline]:where(:not([data-disabled])):not(:has(button:active)):active:after{transform:scale(var(--scale))}._SelectControl_1tyi7_1[data-variant=outline]:where(:not([data-disabled]))[data-invalid]:before{--select-control-border-color: var(--input-border-color-invalid)}._SelectControl_1tyi7_1:where([data-invalid]){--button-ring-color: var(--color-ring-danger)}@media (hover: hover) and (pointer: fine){._SelectControl_1tyi7_1:not([data-disabled]):hover ._Clear_1tyi7_436,._SelectControl_1tyi7_1:not([data-disabled]):hover ._DropdownIcon_1tyi7_437{opacity:1}}._SelectControl_1tyi7_1[data-selected=false]{color:var(--input-placeholder-text-color)}._SelectControl_1tyi7_1[data-disabled][data-variant]{--select-control-background-color: var(--color-background-disabled);--select-control-border-color: var(--color-border-disabled);color:var(--color-text-disabled);cursor:not-allowed}._SelectControl_1tyi7_1[data-disabled][data-variant] ._DropdownIcon_1tyi7_437{color:var(--color-text-disabled)}._SelectControl_1tyi7_1[data-disabled][data-variant]:active:before{transform:scale(1)}._TriggerText_1tyi7_468{position:relative;overflow:hidden;flex:1;max-width:100%;color:inherit;text-overflow:ellipsis;white-space:nowrap}._IndicatorWrapper_1tyi7_476{position:relative;display:flex;align-items:center;gap:var(--indicator-wrapper-gap);padding-left:var(--indicator-wrapper-gutter)}._StartIcon_1tyi7_482{position:relative;width:var(--start-icon-size);height:var(--start-icon-size);margin-left:var(--start-icon-offset)}:where(._SelectControl_1tyi7_1[data-pill]) ._StartIcon_1tyi7_482{margin-left:var(--start-icon-pill-offset)}._Clear_1tyi7_436{--button-size: var(--clear-size);--button-icon-size: var(--clear-icon-size);position:relative;opacity:.75}._Clear_1tyi7_436[data-variant=solid]{--button-size: var(--clear-iso-size);--button-icon-size: var(--clear-iso-icon-size)}[data-state=open] ._Clear_1tyi7_436,._Clear_1tyi7_436:focus-visible{opacity:1}._Clear_1tyi7_436[data-only-child]{margin-right:var(--clear-iso-offset)}:where(._SelectControl_1tyi7_1[data-pill]) ._Clear_1tyi7_436[data-only-child]{margin-right:var(--clear-iso-pill-offset)}._DropdownIcon_1tyi7_437{position:relative;width:var(--dropdown-icon-width, 8px);height:var(--dropdown-icon-height, 12px);margin-right:var(--dropdown-icon-offset);color:var(--color-text-secondary);opacity:.75;transition-duration:var(--transition-duration-basic);transition-property:opacity;transition-timing-function:var(--transition-ease-basic);will-change:opacity}:where(._SelectControl_1tyi7_1[data-pill]) ._DropdownIcon_1tyi7_437{margin-right:var(--dropdown-icon-pill-offset)}[data-state=open] ._DropdownIcon_1tyi7_437{opacity:1}._DropdownIconChevron_1tyi7_534{width:var(--dropdown-chevron-icon-width, 11px);height:var(--dropdown-chevron-icon-height, 6px)}._LoadingIndicator_1tyi7_537{margin-right:var(--dropdown-icon-offset)}:where(._SelectControl_1tyi7_1[data-pill]) ._LoadingIndicator_1tyi7_537{margin-right:var(--dropdown-icon-pill-offset)}}@layer components{._MenuList_n4tw6_5{width:var(--select-list-width, var(--radix-popover-trigger-width));min-width:var(--select-list-min-width, 300px);max-width:var(--select-list-max-width, none);border-radius:var(--menu-radius);background:var(--color-surface-elevated);box-shadow:var(--shadow),var(--shadow-hairline);font-size:var(--menu-font-size);line-height:var(--menu-line-height);transform-origin:var(--radix-popover-content-transform-origin);-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:opacity,transform}._Menu_n4tw6_3[data-entering] ._MenuList_n4tw6_5{opacity:0;transform:scale(.95)}._Menu_n4tw6_3[data-entering-active] ._MenuList_n4tw6_5,._Menu_n4tw6_3[data-entering][data-interrupted] ._MenuList_n4tw6_5{opacity:1;transform:scale(1);transition-duration:.35s;transition-property:opacity,transform;transition-timing-function:var(--cubic-enter)}._Menu_n4tw6_3[data-exiting] ._MenuList_n4tw6_5{opacity:1;transform:scale(1)}._Menu_n4tw6_3[data-exiting-active] ._MenuList_n4tw6_5,._Menu_n4tw6_3[data-exiting][data-interrupted] ._MenuList_n4tw6_5{opacity:0;transform:scale(.95);transition-duration:.2s;transition-property:opacity,transform;transition-timing-function:var(--cubic-exit)}._MenuInner_n4tw6_50{display:flex;flex-direction:column;max-height:min(var(--select-list-max-height, 400px),var(--radix-popover-content-available-height))}._MenuInner_n4tw6_50:focus{outline:0}._OptionsList_n4tw6_64{overflow:auto;flex:1;padding:var(--menu-gutter)}._Option_n4tw6_64{position:relative;padding:var(--menu-item-padding);cursor:pointer;overflow-wrap:anywhere;scroll-margin:15px 0}._Option_n4tw6_64:before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:calc(var(--menu-radius) - var(--menu-gutter));background:var(--menu-item-background-color);content:"";opacity:0;transform:scale(var(--scale, .98));transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,transform;transition-timing-function:var(--cubic-enter);will-change:opacity,transform}._Option_n4tw6_64[data-selected]{font-weight:var(--font-weight-semibold)}._Option_n4tw6_64[data-highlight]:before{opacity:1;transform:scale(1)}._Option_n4tw6_64[data-highlight]:active:before{transform:scale(var(--scale, .98))}._Option_n4tw6_64[data-disabled]{cursor:not-allowed;opacity:.5}._Option_n4tw6_64[data-disabled]:before{display:none}._PressableInner_n4tw6_111{position:relative}._OptionInner_n4tw6_113{display:flex;align-items:center;justify-content:flex-start;gap:calc(var(--spacing) * 1)}._OptionCheck_n4tw6_118{display:block;flex-shrink:0;width:16px;height:16px}._OptionIndicatorSlot_n4tw6_123{flex-grow:0;flex-shrink:0;width:16px;height:16px}._OptionGroupHeading_n4tw6_128{display:flex;align-items:center;justify-content:flex-start;gap:calc(var(--spacing) * 1);padding:var(--menu-item-padding);margin-top:calc(var(--spacing) * 1.5);color:var(--color-text-secondary)}._OptionGroupHeading_n4tw6_128:first-child{margin-top:0}._OptionHardLimitHeading_n4tw6_140{display:flex;align-items:center;justify-content:flex-start;gap:calc(var(--spacing) * 1);padding:var(--menu-item-padding);color:var(--color-text-secondary)}._OptionsLimit_n4tw6_147{color:var(--link-primary-text-color);font-weight:var(--font-weight-medium)}._Action_n4tw6_152{position:relative;padding:var(--menu-item-padding);border-radius:calc(var(--menu-radius) - var(--menu-gutter));cursor:pointer;transition:background-color .15s ease}._Action_n4tw6_152:before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:calc(var(--menu-radius) - var(--menu-gutter));content:"";opacity:0;transform:scale(var(--scale, .98));transition-duration:.15s;transition-property:opacity,background-color,transform;transition-timing-function:var(--cubic-enter);will-change:opacity,transform}._Action_n4tw6_152:before,:where([data-theme=light]) ._Action_n4tw6_152:before{background:var(--gray-100)}:where([data-theme=dark]) ._Action_n4tw6_152:before{background:var(--gray-25)}._Action_n4tw6_152:after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:calc(var(--menu-radius) - var(--menu-gutter));content:"";pointer-events:none;transition-duration:.15s;transition-property:box-shadow,transform;transition-timing-function:var(--cubic-enter)}@media (hover: hover) and (pointer: fine){._Action_n4tw6_152:hover:before{opacity:1;transform:scale(1)}}._Action_n4tw6_152:focus{outline:none}._Action_n4tw6_152:focus-visible:after{box-shadow:0 0 0 2px var(--color-ring)}._Action_n4tw6_152:active:before,._Action_n4tw6_152:active:after{transform:scale(var(--scale, .98))}._Action_n4tw6_152 svg{flex-shrink:0;width:16px;height:16px}._ActionInner_n4tw6_218{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:var(--menu-item-gap)}._ActionsContainer_n4tw6_224{position:relative;padding:var(--menu-gutter);border-top:1px solid var(--menu-separator-background-color)}._ActionsContainer_n4tw6_224:before{position:absolute;bottom:100%;left:0;width:100%;height:9px;margin-bottom:1px;background:var(--color-surface-elevated);content:"";-webkit-mask-image:linear-gradient(180deg,rgb(0 0 0 / 0%),rgb(0 0 0 / 100%));mask-image:linear-gradient(180deg,#0000,#000);pointer-events:none}._Search_n4tw6_244{position:relative;padding:var(--menu-gutter) var(--menu-gutter) 0}._SearchEmpty_n4tw6_247{padding:var(--menu-gutter);margin:calc(var(--spacing) * 4) 0}._SearchEmpty_n4tw6_247[data-text-only]{color:var(--color-text-secondary);text-align:center}}@layer components{._Container_1bl61_1{display:flex;font-size:var(--font-text-sm-size);line-height:var(--font-text-sm-line-height);-webkit-user-select:none;-moz-user-select:none;user-select:none}._Container_1bl61_1[data-has-label]{align-items:flex-start}._Container_1bl61_1[data-label-position=start]{flex-direction:row-reverse}._Track_1bl61_16{position:relative;flex-shrink:0;width:var(--switch-track-width);max-width:var(--switch-track-width);height:var(--switch-track-height);border:0;border-radius:var(--radius-full);background:var(--switch-track-color);cursor:pointer;transition:background-color .25s var(--cubic-move)}@media (hover: hover) and (pointer: fine){._Track_1bl61_16:where(:not([data-disabled],[data-state=checked])):hover{background:var(--switch-track-color-hover)}}[data-has-label] ._Track_1bl61_16{top:var(--switch-track-top-offset, 1px)}._Track_1bl61_16:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._Track_1bl61_16[data-state=checked]{background:var(--switch-track-color-checked)}._Track_1bl61_16[data-disabled]{background:var(--switch-track-color-disabled);cursor:not-allowed}._Track_1bl61_16[data-disabled][data-state=checked]{background:var(--switch-track-color-checked-disabled)}._Thumb_1bl61_56{position:absolute;top:var(--switch-thumb-offset);left:var(--switch-thumb-offset);display:block;width:var(--switch-thumb-size);height:var(--switch-thumb-size);border-radius:var(--radius-full);background:var(--switch-thumb-color);box-shadow:var(--switch-thumb-shadow);transition:transform .25s var(--cubic-move)}[data-state=checked] ._Thumb_1bl61_56{transform:translate(calc(var(--switch-track-width) - var(--switch-thumb-size) - var(--switch-thumb-offset) * 2))}._Thumb_1bl61_56[data-disabled]{background:var(--switch-thumb-color-disabled);box-shadow:none}._Label_1bl61_78{cursor:pointer}[data-label-position=end] ._Label_1bl61_78{padding-left:var(--switch-label-gap)}[data-label-position=start] ._Label_1bl61_78{padding-right:var(--switch-label-gap)}[data-disabled] ._Label_1bl61_78{cursor:not-allowed}}@layer components{._Container_13560_1{--textarea-line-height: 20px;--textarea-font-weight: var(--font-weight-normal);--textarea-color: var(--color-text);--textarea-gutter-y: calc(.5 * calc(var(--textarea-base-height) - var(--textarea-line-height)));--textarea-min-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-min-rows)) );--textarea-max-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-max-rows)) )}._Container_13560_1:where([data-size="3xs"]){--textarea-base-height: var(--control-size-3xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size="2xs"]){--textarea-base-height: var(--control-size-2xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=xs]){--textarea-base-height: var(--control-size-xs);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=sm]){--textarea-base-height: var(--control-size-sm);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-size=md]){--textarea-base-height: var(--control-size-md);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=lg]){--textarea-base-height: var(--control-size-lg);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=xl]){--textarea-base-height: var(--control-size-xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-lg);--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-size="2xl"]){--textarea-base-height: var(--control-size-2xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-size="3xl"]){--textarea-base-height: var(--control-size-3xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-gutter-size="2xs"]){--textarea-gutter-x: var(--control-gutter-2xs)}._Container_13560_1:where([data-gutter-size=xs]){--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-gutter-size=sm]){--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-gutter-size=md]){--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-gutter-size=lg]){--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-gutter-size=xl]){--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1{position:relative;overflow:hidden;display:flex;width:100%;border-radius:var(--textarea-radius);color:var(--textarea-color);cursor:text;font-size:var(--textarea-font-size);font-weight:var(--textarea-font-weight);transition-duration:var(--transition-duration-basic);transition-property:color,box-shadow,background-color;transition-timing-function:var(--transition-ease-basic)}._Container_13560_1:where([data-variant=outline]){box-shadow:0 0 0 1px var(--input-outline-border-color) inset}@media (hover: hover) and (pointer: fine){._Container_13560_1:where([data-variant=outline]):not([data-disabled]):hover{box-shadow:0 0 0 1px var(--input-outline-border-color-hover) inset}}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-outline-border-color-focus) inset}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1:where([data-variant=soft]){background-color:var(--input-soft-background-color)}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-soft-border-color-focus) inset}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1[data-invalid] ::-moz-selection{background-color:var(--red-a50)}._Container_13560_1[data-invalid] ::selection{background-color:var(--red-a50)}._Container_13560_1[data-disabled]{cursor:not-allowed;opacity:.5}._Textarea_13560_174{display:block;width:100%;max-width:100%;min-height:var(--textarea-min-height);max-height:var(--textarea-max-height);padding:var(--textarea-gutter-y) var(--textarea-gutter-x);border:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;box-shadow:none;color:inherit;filter:none;font-size:inherit;font-weight:inherit;line-height:var(--textarea-line-height);resize:none}._Textarea_13560_174:focus{outline:0}._Textarea_13560_174:disabled{cursor:not-allowed}._Textarea_13560_174::-moz-placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174::placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174:-webkit-autofill{animation:_native-autofill-in_13560_1 1ms}._Textarea_13560_174:-webkit-autofill,._Textarea_13560_174:-webkit-autofill:focus,._Textarea_13560_174:-webkit-autofill:hover{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill-and-obscured,._Textarea_13560_174:-webkit-autofill-strong-password,._Textarea_13560_174:-webkit-autofill-strong-password-viewable{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill:first-line{font-size:16px!important;-webkit-transition:font-size 0s 50000s!important;transition:font-size 0s 50000s!important}._Textarea_13560_174::-webkit-resizer{visibility:hidden}@keyframes _native-autofill-in_13560_1{0%{opacity:1}to{opacity:1}}}.cronjobs-page{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.cronjobs-page-head,.cronjobs-detail-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.cronjobs-page-head h1,.cronjobs-detail-title h1{margin:0;font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.cronjobs-page-head p,.cronjobs-detail-title p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.cronjobs-toolbar{flex:0 0 auto;min-height:36px;display:flex;align-items:center;justify-content:flex-end;margin-top:24px}.cronjobs-content{flex:1;min-height:0;display:flex;overflow:hidden;margin-top:12px;padding-bottom:32px}.cronjobs-table-wrap{width:100%;min-width:0;overflow:auto;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));scrollbar-gutter:stable}.cronjobs-table{width:100%;min-width:940px;border-collapse:collapse;table-layout:fixed;font-size:12.5px}.cronjobs-table th{position:sticky;z-index:1;top:0;height:42px;box-sizing:border-box;padding:0 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted) / .56);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:550;text-align:left}.cronjobs-table th:nth-child(1){width:19%}.cronjobs-table th:nth-child(2){width:17%}.cronjobs-table th:nth-child(3){width:22%}.cronjobs-table th:nth-child(4){width:10%}.cronjobs-table th:nth-child(5){width:12%}.cronjobs-table th:nth-child(6){width:11%}.cronjobs-table th:nth-child(7){width:112px}.cronjobs-table td{height:52px;box-sizing:border-box;padding:0 14px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cronjobs-table tr:last-child td{border-bottom:0}.cronjobs-table tbody tr{transition:background-color .14s ease}.cronjobs-table tbody tr:hover{background:hsl(var(--muted) / .36)}.cronjobs-name-button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cronjobs-agent{min-width:0;display:inline-flex;align-items:center;gap:7px;max-width:100%;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis}.cronjobs-agent svg{width:16px;height:16px;flex:0 0 16px;color:hsl(var(--muted-foreground))}.cronjobs-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.cronjobs-loading,.cronjobs-state{width:100%;min-height:300px;display:grid;place-items:center;align-content:center;color:hsl(var(--muted-foreground));text-align:center}.cronjobs-loading{min-height:220px;display:flex;flex-direction:column;gap:10px;font-size:13px}.cronjobs-banner{flex:0 0 auto;margin-top:16px}.cronjobs-notice{position:absolute;z-index:50;right:32px;bottom:24px;max-width:min(420px,calc(100% - 64px))}.cronjobs-drawer-backdrop{position:fixed;z-index:110;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:hsl(var(--foreground) / .34);animation:cronjobs-backdrop-in .14s ease-out}.cronjobs-drawer{width:min(520px,100vw);height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--panel));box-shadow:-14px 0 36px hsl(var(--foreground) / .12);animation:cronjobs-drawer-in .18s cubic-bezier(.22,1,.36,1)}.cronjobs-drawer-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 18px;border-bottom:1px solid hsl(var(--border))}.cronjobs-drawer-head h2{margin:0;font-size:17px;font-weight:650;line-height:1.3}.cronjobs-drawer-head p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.cronjobs-form{flex:1;min-height:0;display:flex;flex-direction:column}.cronjobs-form-scroll{flex:1;min-height:0;overflow-y:auto;padding:22px 24px 32px;scrollbar-gutter:stable}.cronjobs-field{min-width:0;display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.cronjobs-field>span,.cronjobs-fieldset>legend{color:hsl(var(--foreground));font-size:12.5px;font-weight:600;line-height:1.45}.cronjobs-field small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cronjobs-character-count{text-align:right}.cronjobs-fieldset{min-width:0;margin:0 0 18px;padding:0;border:0}.cronjobs-fieldset>legend{margin-bottom:9px}.cronjobs-schedule-types{margin-bottom:16px}.cronjobs-fieldset .cronjobs-field:last-child{margin-bottom:0}.cronjobs-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cronjobs-switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0}.cronjobs-switch-row>span{display:flex;flex-direction:column;gap:3px}.cronjobs-switch-row strong{font-size:12.5px;font-weight:600}.cronjobs-switch-row small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cronjobs-inline-error{margin-top:14px}.cronjobs-drawer-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid hsl(var(--border));background:hsl(var(--panel))}.cronjobs-detail{flex:1;min-height:0;display:flex;flex-direction:column}.cronjobs-detail-title{min-width:0;display:flex;align-items:flex-start;gap:10px}.cronjobs-detail-title>div{min-width:0}.cronjobs-detail-title h1,.cronjobs-detail-title p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cronjobs-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.cronjobs-detail-scroll{flex:1;min-height:0;overflow-y:auto;margin-top:24px;padding-bottom:40px;scrollbar-gutter:stable}.cronjobs-summary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);align-items:stretch;gap:12px}.cronjobs-summary-grid>dl,.cronjobs-prompt{margin:0;padding:18px 20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cronjobs-summary-grid>dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.cronjobs-summary-grid dl div{min-width:0}.cronjobs-summary-grid dt,.cronjobs-prompt>span,.cronjobs-run-output>span,.cronjobs-run-meta>span{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cronjobs-summary-grid dd{margin:5px 0 0;color:hsl(var(--foreground));font-size:12.5px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cronjobs-prompt p{display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;line-height:1.58;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:5}.cronjobs-history{margin-top:24px}.cronjobs-history>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.cronjobs-history h2{margin:0;font-size:15px;font-weight:620;line-height:1.4}.cronjobs-history header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.cronjobs-runs{display:flex;flex-direction:column;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));overflow:hidden}.cronjobs-run{position:relative;display:grid;grid-template-columns:minmax(230px,.8fr) minmax(180px,.6fr) minmax(260px,1.4fr);align-items:start;gap:20px;min-width:0;padding:16px 18px;border-bottom:1px solid hsl(var(--border))}.cronjobs-run:last-child{border-bottom:0}.cronjobs-run-main{min-width:0;display:flex;align-items:flex-start;gap:14px}.cronjobs-run-main>div{min-width:0;display:flex;flex-direction:column;gap:4px}.cronjobs-run-main strong{font-size:12px;font-weight:600}.cronjobs-run-main span{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cronjobs-run-meta,.cronjobs-run-output{min-width:0;display:flex;flex-direction:column;gap:5px}.cronjobs-run-meta strong{font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cronjobs-run-output-body{min-width:0}.cronjobs-run-output-body p{display:-webkit-box;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.cronjobs-run-output-body.is-expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.cronjobs-run-output-toggle{margin-top:4px}.cronjobs-run-output.is-error p,.cronjobs-run-error-detail{color:hsl(var(--destructive))}.cronjobs-run-error-detail.is-expanded .deploy-error-message-text{display:block;max-height:280px;overflow:auto;-webkit-line-clamp:unset}.cronjobs-run-error-detail .deploy-error-message-actions{margin-top:8px}.cronjobs-run-cancel{position:absolute;top:12px;right:14px}.cronjobs-history-state{min-height:190px;padding:20px}.cronjobs-history-alert{min-height:120px}@keyframes cronjobs-backdrop-in{0%{opacity:0}}@keyframes cronjobs-drawer-in{0%{transform:translate(24px);opacity:.88}}@media (max-width: 980px){.cronjobs-page{padding:24px 20px 0}.cronjobs-summary-grid{grid-template-columns:1fr}.cronjobs-run{grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr)}.cronjobs-run-meta{display:none}.cronjobs-notice{right:20px;max-width:calc(100% - 40px)}}@media (max-width: 900px){.cronjobs-page-head,.cronjobs-detail-head{align-items:stretch;flex-direction:column;gap:16px}.cronjobs-toolbar{min-height:44px;margin-top:16px}.cronjobs-content{margin-top:12px;padding-bottom:20px}.cronjobs-table-wrap{overflow-y:auto;border:0;border-radius:0;background:transparent}.cronjobs-table{min-width:0;display:block;font-size:13px}.cronjobs-table thead{display:none}.cronjobs-table tbody{display:flex;flex-direction:column;gap:12px}.cronjobs-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cronjobs-table td{height:auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;border:0;overflow:visible;white-space:normal}.cronjobs-table tr:last-child td{border:0}.cronjobs-table tbody tr:hover{background:hsl(var(--panel))}.cronjobs-table td:before{content:attr(data-label);margin-bottom:4px;color:hsl(var(--muted-foreground));font-size:11px;font-weight:500;line-height:1.35}.cronjobs-table td:first-child{grid-column:1;grid-row:1}.cronjobs-table td:first-child:before,.cronjobs-table .cronjobs-actions-cell:before{content:none}.cronjobs-table td:nth-child(2){grid-column:1 / -1;grid-row:2}.cronjobs-table td:nth-child(3){grid-column:1 / -1;grid-row:3}.cronjobs-table td:nth-child(4){grid-column:1;grid-row:4}.cronjobs-table td:nth-child(5){grid-column:1 / -1;grid-row:5}.cronjobs-table td:nth-child(6){grid-column:2;grid-row:4}.cronjobs-table .cronjobs-actions-cell{grid-column:2;grid-row:1}.cronjobs-name-button{display:-webkit-box;overflow:hidden;font-size:14px;line-height:1.45;text-align:left;text-overflow:clip;white-space:normal;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2}.cronjobs-agent{color:hsl(var(--foreground));white-space:nowrap}.cronjobs-row-actions{gap:8px}.cronjobs-detail-actions{justify-content:flex-start;flex-wrap:wrap}.cronjobs-detail-actions>*{flex:1 1 auto}.cronjobs-summary-grid>dl{grid-template-columns:1fr;gap:14px}.cronjobs-run{grid-template-columns:1fr;gap:12px}.cronjobs-run-meta{display:flex}.cronjobs-drawer{height:100dvh}.cronjobs-drawer-actions{padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media (max-width: 520px){.cronjobs-page{padding:20px 16px 0}.cronjobs-drawer-head{padding:18px 16px 14px}.cronjobs-form-scroll{padding:18px 16px 24px}.cronjobs-drawer-actions{padding:12px 16px}.cronjobs-inline-fields{grid-template-columns:1fr;gap:0}.cronjobs-detail-actions{display:grid;grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion: reduce){.cronjobs-drawer-backdrop,.cronjobs-drawer{animation:none}.cronjobs-table tbody tr{transition:none}}.system-info-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background));font-family:inherit}.system-info-page-header{flex:0 0 auto;display:flex;align-items:center;gap:8px}.system-info-page-header>div{min-width:0}.system-info-page-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.system-info-page-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.system-info-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;align-content:start;gap:16px;margin-top:24px;padding-bottom:56px}.system-info-section{min-width:0;padding:20px;border-radius:12px;background:hsl(var(--secondary) / .72)}.system-info-section h2{margin:0 0 16px;color:hsl(var(--foreground));font-size:15px;font-weight:600;line-height:1.4}.system-info-summary,.system-info-tool{margin:0}.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{min-width:0;display:grid;grid-template-columns:minmax(140px,.36fr) minmax(0,1fr);align-items:center;gap:16px}.system-info-summary dt,.system-info-tool dt,.system-info-pool dt{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:400;line-height:1.5}.system-info-summary dd,.system-info-tool dd,.system-info-pool dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}.system-info-resource-value{min-width:0}.system-info-resource-value>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link{min-width:0;max-width:100%;width:fit-content;min-height:28px;display:inline-flex;align-items:center;gap:6px;margin:-4px -2px;padding:4px 2px;border-radius:4px;color:inherit;cursor:pointer;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:4px;transition:color .16s ease,text-decoration-color .16s ease}.system-info-resource-link>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link svg{width:15px;height:15px;flex:0 0 15px;opacity:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:opacity .16s ease}.system-info-resource-link:hover{color:hsl(var(--foreground));text-decoration-color:currentColor}.system-info-resource-link:hover svg,.system-info-resource-link:focus-visible svg{opacity:1}.system-info-resource-link:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px;text-decoration-color:currentColor}.system-info-resource-update{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;min-height:29px;margin-left:18px;padding:0;border:1px solid hsl(var(--foreground) / .14);border-radius:7px;background:hsl(var(--secondary) / .62);box-shadow:inset 0 1px hsl(var(--background) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:560;line-height:1;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.system-info-resource-update svg{width:14px;height:14px;flex:0 0 14px;stroke-width:2}.system-info-resource-update:hover:not(:disabled){border-color:hsl(var(--foreground) / .26);background:hsl(var(--secondary) / .86);box-shadow:inset 0 1px hsl(var(--background) / .82),0 1px 5px hsl(var(--foreground) / .08);transform:translateY(-1px)}.system-info-resource-update:active:not(:disabled){transform:translateY(0)}.system-info-resource-update:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.system-info-resource-update:disabled{cursor:not-allowed;opacity:.62}.system-info-resource-update svg.is-spinning{animation:system-info-spin .8s linear infinite}.system-info-inline-status,.system-info-inline-error{display:block;margin-top:4px;font-size:12px;font-weight:400;line-height:1.45}.system-info-inline-status{color:hsl(var(--muted-foreground))}.system-info-inline-error{color:hsl(var(--destructive))}.system-info-tool-list{display:grid;gap:8px}.system-info-pool-list{display:grid;gap:12px}.system-info-pool{min-width:0;display:grid;grid-template-columns:1fr;gap:8px;margin:0;padding:4px 0}.system-info-empty{color:hsl(var(--muted-foreground));font-weight:400}.system-info-tool{min-width:0;padding:4px 0}.system-info-tool-label{display:flex;align-items:center;gap:7px}.system-info-tool-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(44 88% 43% / .3);border-radius:999px;background:#fac70f2e;color:#976507;font-size:10px;font-weight:600;line-height:1.25;white-space:nowrap}.system-info-loading{display:flex;align-items:center;min-height:24px;color:hsl(var(--muted-foreground));font-size:13px}.system-info-error{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:12px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.system-info-error p,.system-info-empty{margin:0}.system-info-error button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500}.system-info-error button:hover{background:hsl(var(--muted))}.system-info-error button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.system-info-empty{font-size:13px;line-height:1.55}@media (max-width: 760px){.system-info-page{padding:24px 20px 0}}@media (max-width: 520px){.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion: reduce){.system-info-resource-link,.system-info-resource-link svg,.system-info-resource-update{transition:none}.system-info-resource-update svg.is-spinning{animation:none}}@keyframes system-info-spin{to{transform:rotate(360deg)}}@media (hover: none){.system-info-resource-link svg{opacity:1}}.github-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.github-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.github-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.github-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-back svg{width:16px;height:16px}.github-integration-logo{width:30px;height:30px;flex:0 0 30px;color:hsl(var(--foreground))}.github-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.github-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-integration-layout{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:start;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.github-section-panel{width:100%;min-width:0;box-sizing:border-box;padding:0;border:0;border-radius:0;background:transparent}.github-panel-heading p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.6}.github-release-form{margin-top:24px}.github-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.github-field{min-width:0;display:flex;flex-direction:column}.github-field>label,.github-token-label-row>label{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.github-field-requirement{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:500}.github-field-requirement.is-required{color:hsl(var(--destructive))}.github-field input{width:100%;height:38px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.github-field input::placeholder{color:hsl(var(--muted-foreground))}.github-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.github-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.github-region-picker{gap:0;margin:0}.github-region-picker .pp-region-trigger,.github-region-picker .pp-region-option{height:38px;font-size:14px}.github-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.github-field-error{margin-top:3px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.github-token-field{margin-top:16px}.github-token-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.github-token-label-row>a{display:inline-flex;align-items:center;gap:4px;color:#2371e7;font-size:12.5px;font-weight:600;line-height:1.5;text-decoration:none}.github-token-label-row>a:hover{text-decoration:underline}.github-token-label-row>a:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px;border-radius:4px}.github-token-label-row>a svg{width:13px;height:13px}.github-token-input{position:relative}.github-token-input input{padding-right:42px}.github-token-input button{position:absolute;top:5px;right:4px;width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.github-token-input button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-token-input button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.github-token-input button svg{width:17px;height:17px}.github-submit-message{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;margin-top:16px;padding:10px 12px;border:1px solid;border-radius:8px;font-size:12px;line-height:1.5}.github-submit-message.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.github-submit-message.is-success{border-color:#24894e3d;background:#2bab6012;color:#217343}.github-submit-message a,.github-history-item a{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:inherit;font-weight:620;text-decoration:none}.github-submit-message a:hover,.github-history-item a:hover{text-decoration:underline}.github-submit-message svg,.github-history-item svg{width:14px;height:14px}.github-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid hsl(var(--border))}.github-secrets-note{max-width:470px;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-secrets-note strong{color:hsl(var(--foreground));font-weight:600}.github-form-actions button{min-width:126px;height:36px;padding:0 15px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:background-color .16s ease,opacity .16s ease}.github-form-actions button:hover:not(:disabled){background:hsl(var(--foreground) / .84)}.github-form-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-form-actions button:disabled{cursor:wait;opacity:.56}@media (max-width: 680px){.github-integration-page{padding:20px 18px 0}.github-field-grid{grid-template-columns:minmax(0,1fr)}.github-form-actions{align-items:stretch;flex-direction:column}.github-form-actions button{width:100%}}@media (prefers-reduced-motion: reduce){.github-back,.github-field input,.github-form-actions button{transition:none}}.feishu-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.feishu-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.feishu-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.feishu-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.feishu-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.feishu-back:disabled{cursor:not-allowed;opacity:.5}.feishu-back svg{width:16px;height:16px}.feishu-integration-logo{width:30px;height:30px;flex:0 0 30px;object-fit:contain}.feishu-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.feishu-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.feishu-integration-layout{flex:1;min-width:0;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.feishu-section-panel{width:100%;min-width:0}.feishu-panel-description{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.feishu-form{margin-top:24px}.feishu-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.feishu-field{min-width:0;display:flex;flex-direction:column}.feishu-field>label{margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.feishu-field input{width:100%;height:36px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:6px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.feishu-field input::placeholder{color:hsl(var(--muted-foreground))}.feishu-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.feishu-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.feishu-field input:disabled{cursor:not-allowed;opacity:.62}.feishu-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-field-error{margin-top:2px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.feishu-region-picker{position:relative;min-width:0}.feishu-region-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.feishu-region-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.feishu-region-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.feishu-region-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.feishu-region-trigger:disabled{cursor:not-allowed;opacity:.5}.feishu-region-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feishu-region-trigger>svg{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.feishu-region-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.feishu-region-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:100%;box-sizing:border-box;max-height:238px;overflow-y:auto;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.feishu-region-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left}.feishu-region-option:hover,.feishu-region-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.feishu-region-option.is-selected{background:hsl(var(--primary) / .08)}.feishu-secret-input{position:relative}.feishu-secret-input input{padding-right:54px}.feishu-secret-input>button{position:absolute;top:4px;right:4px;height:28px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550}.feishu-secret-input>button:hover:not(:disabled){background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.feishu-secret-input>button:focus-visible{outline:2px solid hsl(var(--ring) / .28);outline-offset:-2px}.feishu-secret-input>button:disabled{cursor:not-allowed;opacity:.5}.feishu-deployment-status{margin-top:20px;padding:14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .38)}.feishu-deployment-status.is-succeeded{border-color:#40966452;background:#f1f9f4}.feishu-deployment-status.is-failed{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .045)}.feishu-deployment-heading{min-height:20px;color:hsl(var(--foreground));font-size:13px;line-height:1.5}.feishu-deployment-heading strong{display:inline-flex;align-items:center;gap:6px;font-weight:600}.feishu-deployment-heading svg{width:16px;height:16px;color:#217343}.feishu-deployment-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.feishu-deployment-steps li{display:flex;align-items:center;gap:6px;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.feishu-deployment-steps li>span{width:18px;height:18px;display:grid;flex:0 0 18px;place-items:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));font-size:10px}.feishu-deployment-steps li>span svg{width:12px;height:12px}.feishu-deployment-steps li.is-active{color:hsl(var(--foreground));font-weight:550}.feishu-deployment-steps li.is-active>span{border-color:hsl(var(--foreground) / .3)}.feishu-deployment-steps li.is-done>span{border-color:#34895766;color:#217343}.feishu-deployment-error{margin:10px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.55;white-space:pre-wrap}.feishu-deployment-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;color:hsl(var(--muted-foreground));font-size:12px}.feishu-deployment-result>span:first-child{color:hsl(var(--foreground));font-weight:600}.feishu-deployment-result a{display:inline-flex;align-items:center;gap:4px;color:hsl(var(--foreground));font-weight:550;text-decoration:none}.feishu-deployment-result a:hover{text-decoration:underline}.feishu-deployment-result a svg{width:14px;height:14px}.feishu-form-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid hsl(var(--border))}.feishu-secrets-note{display:flex;min-width:0;flex-direction:column;gap:3px}.feishu-secrets-note strong{font-size:12.5px;font-weight:600}.feishu-secrets-note span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-action-buttons{display:flex;flex:0 0 auto;gap:8px}.feishu-submit,.feishu-cancel{height:36px;padding:0 15px;border-radius:7px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.feishu-submit{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.feishu-submit:hover:not(:disabled){opacity:.88}.feishu-submit:disabled{cursor:not-allowed;opacity:.45}.feishu-cancel{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.feishu-cancel:hover{background:hsl(var(--secondary))}.feishu-submit:focus-visible,.feishu-cancel:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}@media (max-width: 760px){.feishu-integration-page{padding:24px 20px 0}.feishu-field-grid{grid-template-columns:1fr}.feishu-deployment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.feishu-form-actions{align-items:stretch;flex-direction:column}.feishu-action-buttons{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.feishu-back,.feishu-field input,.feishu-region-trigger,.feishu-region-trigger>svg{transition:none}}.coding-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.coding-agents-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.coding-agents-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.coding-agents-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-back:disabled{cursor:not-allowed;opacity:.5}.coding-agents-back svg{width:16px;height:16px}.coding-agents-logo{width:32px;height:32px;flex:0 0 32px;color:hsl(var(--foreground))}.coding-agents-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.coding-agents-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.coding-agents-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.coding-agents-content{width:100%;display:flex;flex-direction:column;gap:14px}.coding-agents-section{min-width:0;box-sizing:border-box;padding:18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.coding-agents-section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.coding-agents-section-heading>div{display:flex;align-items:center;gap:9px}.coding-agents-section-heading>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.coding-agents-section-heading h2{margin:0;font-size:14px;font-weight:650;line-height:1.4}.coding-agents-section-heading>button,.coding-agents-error-row button{min-height:28px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.coding-agents-section-heading>button:hover:not(:disabled),.coding-agents-error-row button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-section-heading>button:focus-visible,.coding-agents-error-row button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.coding-agents-section-heading>button:disabled{cursor:wait;opacity:.5}.coding-agents-inline-state{min-height:86px;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.coding-agents-inline-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-error-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px;line-height:1.5}.coding-agents-agent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coding-agents-agent{position:relative;min-width:0;min-height:92px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;box-sizing:border-box;padding:12px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.coding-agents-agent:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary) / .18)}.coding-agents-agent.is-selected{border-color:hsl(var(--ring) / .5);background:hsl(var(--primary) / .035);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.coding-agents-agent:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-agent:disabled{cursor:not-allowed;opacity:.58}.coding-agents-agent-mark{width:38px;height:38px;display:grid;place-items:center;color:hsl(var(--foreground))}.coding-agents-agent-mark img{width:32px;height:32px;border-radius:7px}.coding-agents-agent-mark svg{width:32px;height:32px}.coding-agents-agent-mark.is-claude-code{color:#d86e4b}.coding-agents-agent-mark.is-codex{color:#4a55ed}.coding-agents-agent-copy{min-width:0;display:flex;flex-direction:column;gap:3px;padding-right:40px}.coding-agents-agent-copy strong{overflow:hidden;font-size:12.5px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-agent-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-status{position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:600}.coding-agents-status.is-ready{background:#36ab661a;color:#247b48}.coding-agents-check{position:absolute;right:9px;bottom:9px;width:17px;height:17px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;color:transparent}.coding-agents-agent.is-selected .coding-agents-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-check svg{width:12px;height:12px}.coding-agents-skill-list{display:flex;flex-direction:column;gap:7px}.coding-agents-skill{min-width:0;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-right:8px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));transition:border-color .15s ease,background-color .15s ease}.coding-agents-skill:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .14)}.coding-agents-skill.is-selected{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .025)}.coding-agents-skill label{position:relative;min-width:0;min-height:52px;display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:10px;padding:7px 10px;cursor:pointer}.coding-agents-skill label>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.coding-agents-skill input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.coding-agents-skill-check{width:15px;height:15px;display:grid;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));color:transparent}.coding-agents-skill-check svg{width:10px;height:10px}.coding-agents-skill input:checked+.coding-agents-skill-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-skill input:focus-visible+.coding-agents-skill-check,.coding-agents-skill>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-skill input:disabled+.coding-agents-skill-check{opacity:.55}.coding-agents-skill>button{min-height:30px;padding:4px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;white-space:nowrap}.coding-agents-skill>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-skill-list strong{font-size:12.5px;font-weight:630;line-height:1.35}.coding-agents-skill-list small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.coding-agents-global{margin-top:14px;padding:14px;border-radius:9px;background:hsl(var(--secondary) / .42)}.coding-agents-global-heading{display:flex;align-items:center;gap:9px}.coding-agents-global-heading>svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground))}.coding-agents-global-heading>div{min-width:0;display:flex;align-items:baseline;gap:8px}.coding-agents-global-heading strong{font-size:12px;font-weight:650}.coding-agents-global-heading span{color:hsl(var(--muted-foreground));font-size:11px}.coding-agents-global dl{margin:10px 0 0 27px}.coding-agents-global dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding-top:6px;font-size:11.5px;line-height:1.45}.coding-agents-global dt{color:hsl(var(--muted-foreground))}.coding-agents-global dd{min-width:0;margin:0;overflow-wrap:anywhere}.coding-agents-global>p{margin:9px 0 0 27px;color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-result{padding:11px 12px;border:1px solid;border-radius:8px;font-size:11.5px;line-height:1.45}.coding-agents-result.is-success{border-color:#2c965838;background:#2da9610f;color:#217343}.coding-agents-result.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.coding-agents-result strong{font-weight:620}.coding-agents-result ul{margin:7px 0 0;padding-left:16px;color:inherit}.coding-agents-result li{margin-top:3px;overflow-wrap:anywhere}.coding-agents-actions{min-height:52px;display:flex;align-items:center;justify-content:flex-end;gap:16px}.coding-agents-actions>span{color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-actions>button{min-width:112px;min-height:36px;padding:7px 18px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:opacity .15s ease}.coding-agents-actions>button:hover:not(:disabled){opacity:.82}.coding-agents-actions>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-actions>button:disabled{cursor:not-allowed;opacity:.42}.coding-agents-preview-dialog{width:min(980px,calc(100vw - 48px));height:min(680px,calc(100vh - 48px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 24px 64px hsl(var(--foreground) / .18)}.coding-agents-preview-dialog[open]{display:flex;flex-direction:column}.coding-agents-preview-dialog::backdrop{background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.coding-agents-preview-header{min-height:64px;display:grid;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:11px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.coding-agents-preview-mark svg{width:18px;height:18px}.coding-agents-preview-header h2,.coding-agents-preview-header p{margin:0}.coding-agents-preview-header h2{font-size:14px;font-weight:650;line-height:1.4}.coding-agents-preview-header p{margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.coding-agents-preview-header>button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.coding-agents-preview-header>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-header>button:focus-visible,.coding-agents-preview-tree button:focus-visible,.coding-agents-preview-tree summary:focus-visible,.coding-agents-preview-state button:focus-visible,.coding-agents-preview-file pre:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:1px}.coding-agents-preview-header>button svg{width:16px;height:16px}.coding-agents-preview-layout{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr)}.coding-agents-preview-tree{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.coding-agents-preview-tree-title{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-tree-title span{font-size:11.5px;font-weight:650}.coding-agents-preview-tree-title small{min-width:20px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;text-align:center}.coding-agents-preview-tree-scroll{min-height:0;overflow:auto;padding:8px}.coding-agents-preview-tree details{margin-bottom:4px}.coding-agents-preview-tree summary{min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;border-radius:6px;color:hsl(var(--muted-foreground));cursor:pointer;font-size:11.5px;list-style:none}.coding-agents-preview-tree summary::-webkit-details-marker{display:none}.coding-agents-preview-tree summary:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree summary svg,.coding-agents-preview-tree button svg{width:15px;height:15px;flex:0 0 15px}.coding-agents-preview-tree details>div{padding-left:13px}.coding-agents-preview-tree button{width:100%;min-width:0;min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;overflow:hidden;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;text-align:left}.coding-agents-preview-tree button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree button.is-selected{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground));font-weight:600}.coding-agents-preview-tree button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file{min-width:0;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.coding-agents-preview-file>header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-file>header strong{min-width:0;overflow:hidden;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file>header span{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10.5px}.coding-agents-preview-file pre{flex:1;min-width:0;min-height:0;margin:0;overflow:auto;padding:16px 18px 24px;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;line-height:1.65;-moz-tab-size:2;tab-size:2;white-space:pre}.coding-agents-preview-file code{font:inherit}.coding-agents-preview-state,.coding-agents-preview-unavailable{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.coding-agents-preview-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-preview-state.is-error{flex-direction:column;color:hsl(var(--destructive))}.coding-agents-preview-state button{min-height:30px;padding:4px 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}@keyframes coding-agents-spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.coding-agents-page{padding:20px 18px 0}.coding-agents-agent-grid{grid-template-columns:minmax(0,1fr)}.coding-agents-global-heading>div{align-items:flex-start;flex-direction:column;gap:2px}.coding-agents-global dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.coding-agents-actions{align-items:stretch;flex-direction:column;gap:8px}.coding-agents-actions>span{text-align:right}.coding-agents-actions>button{width:100%}.coding-agents-preview-dialog{width:calc(100vw - 24px);height:calc(100vh - 24px)}.coding-agents-preview-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(130px,34%) minmax(0,1fr)}.coding-agents-preview-tree{border-right:0;border-bottom:1px solid hsl(var(--border))}}@media (prefers-reduced-motion: reduce){.coding-agents-back,.coding-agents-agent,.coding-agents-skill,.coding-agents-actions>button{transition:none}.coding-agents-inline-state i,.coding-agents-preview-state i{animation-duration:1.5s}}.website-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.website-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.website-integration-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer}.website-integration-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.website-integration-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.website-integration-back svg{width:16px;height:16px}.website-integration-logo{width:32px;height:32px;flex:0 0 32px}.website-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.website-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.website-integration-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.website-integration-content{width:100%;display:flex;flex-direction:column;gap:14px}.website-integration-section{min-width:0;box-sizing:border-box;padding:18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.website-integration-section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.website-integration-section-heading>div{display:flex;align-items:center;gap:9px}.website-integration-section-heading>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.website-integration-section-heading h2{margin:0;font-size:14px;font-weight:650;line-height:1.4}.website-integration-section-heading>small{color:hsl(var(--muted-foreground));font-size:11px}.website-integration-form{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(220px,1fr) auto;align-items:end;gap:8px 12px}.website-integration-form>label{color:hsl(var(--muted-foreground));font-size:12px;font-weight:600;line-height:1.4}.website-integration-form>label:first-child{grid-column:1}.website-integration-form>label:nth-of-type(2){grid-column:2}.website-integration-form>[id=website-runtime]{grid-column:1;grid-row:2}.website-integration-form>input{grid-column:2;grid-row:2}.website-integration-form>button{grid-column:3;grid-row:2;min-width:104px}.website-integration-error{margin-top:12px;padding:9px 11px;border:1px solid hsl(var(--destructive) / .22);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px;line-height:1.5}.website-integration-loading{min-height:96px;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12.5px}.website-integration-list{display:flex;flex-direction:column;gap:7px}.website-integration-row{width:100%;min-width:0;min-height:58px;display:grid;grid-template-columns:minmax(180px,1fr) 138px 100px auto;align-items:center;gap:12px;box-sizing:border-box;padding:8px 10px 8px 12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.website-integration-row:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--secondary) / .16)}.website-integration-row.is-selected{border-color:hsl(var(--ring) / .48);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.website-integration-row:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.website-integration-row-main{min-width:0;display:flex;flex-direction:column;gap:3px}.website-integration-row-main strong{overflow:hidden;font-size:12.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.website-integration-row-main small,.website-integration-token,.website-integration-created{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;text-overflow:ellipsis;white-space:nowrap}.website-integration-empty{min-height:126px}.website-integration-empty svg{width:24px;height:24px}.website-integration-embed{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.website-integration-embed>div{grid-column:1 / -1;display:flex;align-items:baseline;gap:10px}.website-integration-embed>div strong{font-size:12.5px;font-weight:650}.website-integration-embed>div span,.website-integration-hint{color:hsl(var(--muted-foreground));font-size:11.5px}.website-integration-embed pre{min-width:0;margin:0;overflow-x:auto;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .3);font:inherit;font-size:11.5px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.website-integration-embed code{font:inherit}.website-integration-hint{margin:0}@media (max-width: 820px){.website-integration-page{padding:20px 18px 0}.website-integration-form{grid-template-columns:minmax(0,1fr)}.website-integration-form>label,.website-integration-form>label:first-child,.website-integration-form>label:nth-of-type(2),.website-integration-form>[id=website-runtime],.website-integration-form>input,.website-integration-form>button{grid-column:1;grid-row:auto}.website-integration-form>label:nth-of-type(2){margin-top:4px}.website-integration-row{grid-template-columns:minmax(0,1fr) auto}.website-integration-token,.website-integration-created{display:none}.website-integration-embed{grid-template-columns:minmax(0,1fr)}.website-integration-embed>div{align-items:flex-start;flex-direction:column;gap:3px}.website-integration-embed>button{width:100%}}.new-chat-mode{position:relative;align-self:flex-start}.new-chat-mode__trigger{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:2px 7px 2px 5px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer;transition:color .12s ease,background .12s ease}.composer--new-chat .new-chat-mode__trigger{min-height:36px;font-size:15px}.new-chat-mode__trigger:hover,.new-chat-mode__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-mode__current{max-width:min(180px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__trigger:focus-visible,.new-chat-mode__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-mode__icon,.new-chat-mode__option-icon{display:inline-grid;place-items:center;flex:0 0 auto}.new-chat-mode__icon svg{width:15px;height:15px}.new-chat-mode__option-icon svg{width:18px;height:18px}.new-chat-mode svg{fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.new-chat-mode svg.new-chat-mode__temporary-icon{stroke-width:1.3}.new-chat-mode__chevron{width:12px;height:12px;transition:transform .14s ease}.new-chat-mode__trigger[aria-expanded=true] .new-chat-mode__chevron{transform:rotate(180deg)}.new-chat-mode__menus{position:absolute;z-index:43;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:8px}.new-chat-mode__menu{flex:0 0 auto;width:286px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__option{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));text-align:left;cursor:pointer}.new-chat-mode__option.is-active{background:hsl(var(--accent))}.new-chat-mode__option:disabled{cursor:not-allowed;opacity:.48}.new-chat-mode__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-mode__copy>span:last-child{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.new-chat-mode__label{display:flex;min-width:0;align-items:center;gap:7px;font-size:13px;line-height:1.3}.new-chat-mode__label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-mode__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-mode__submenu{flex:0 0 auto;width:248px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__submenu-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-mode__submenu-option:hover:not(:disabled){background:hsl(var(--accent))}.new-chat-mode__submenu-option:disabled{cursor:not-allowed;opacity:.42}.new-chat-mode__builtin-icon{width:24px;height:24px;flex:0 0 auto;stroke-width:1.75}@media (max-width: 640px){.new-chat-mode__menus{width:min(320px,calc(100vw - 48px));max-height:min(520px,calc(100vh - 160px));flex-direction:column;overflow-y:auto}.new-chat-mode__menu,.new-chat-mode__submenu{width:100%}}@media (prefers-reduced-motion: reduce){.new-chat-mode__trigger,.new-chat-mode__chevron{transition:none}}.new-chat-agent-picker{position:relative;min-width:0}.composer--new-chat .new-chat-agent-picker{position:absolute;z-index:5;bottom:10px;left:52px}.composer--new-chat.composer--has-task .new-chat-agent-picker{left:138px}.composer--new-chat.composer--task-image .new-chat-agent-picker,.composer--new-chat.composer--task-video .new-chat-agent-picker{left:176px}.new-chat-agent-picker__trigger{display:inline-flex;align-items:center;gap:6px;max-width:min(220px,42vw);min-height:36px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-agent-picker__trigger:hover,.new-chat-agent-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-agent-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-agent-picker__trigger>span{display:flex;min-height:20px;align-items:center;overflow:hidden;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__trigger-chevron{display:block}.new-chat-agent-picker__trigger-chevron{width:13px;height:13px;flex:0 0 auto;transform:rotate(90deg);transition:transform .14s ease}.new-chat-agent-picker__trigger[aria-expanded=true] .new-chat-agent-picker__trigger-chevron{transform:rotate(-90deg)}.new-chat-agent-picker__menus{position:absolute;z-index:44;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:7px;outline:none}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-agent-picker__menu{width:218px}.new-chat-agent-picker__submenu{width:272px;max-height:286px;overflow:auto}.new-chat-agent-picker__type,.new-chat-agent-picker__runtime{display:grid;align-items:center;width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left}.new-chat-agent-picker__type{grid-template-columns:22px minmax(0,1fr) 16px;gap:8px;padding:7px 8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__type:hover,.new-chat-agent-picker__type.is-keyboard-active,.new-chat-agent-picker__runtime:hover:not(:disabled),.new-chat-agent-picker__runtime.is-keyboard-active{background:hsl(var(--accent))}.new-chat-agent-picker__type-icon,.new-chat-agent-picker__runtime-icon{width:18px;height:18px;flex:0 0 auto}.new-chat-agent-picker__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-agent-picker__runtime{grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__runtime:disabled{cursor:wait;opacity:.62}.new-chat-agent-picker__runtime>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__runtime small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-agent-picker__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-agent-picker__runtime-list{display:flex;flex-direction:column;gap:1px}.new-chat-agent-picker__empty{min-height:116px;padding:14px 10px}.new-chat-agent-picker__empty-title{white-space:nowrap}.new-chat-agent-picker__empty-agent-icon{width:32px;height:32px}.new-chat-agent-picker__status,.new-chat-agent-picker__error,.new-chat-agent-picker__inline-error{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.new-chat-agent-picker__status{display:flex;min-height:76px;align-items:center;justify-content:center;gap:7px;padding:12px}.new-chat-agent-picker__error{display:flex;flex-direction:column;gap:8px;padding:10px;color:hsl(var(--destructive))}.new-chat-agent-picker__error>span,.new-chat-agent-picker__inline-error{white-space:pre-wrap;overflow-wrap:anywhere}.new-chat-agent-picker__error button,.new-chat-agent-picker__load-more{min-height:30px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.new-chat-agent-picker__inline-error{padding:6px 8px;color:hsl(var(--destructive))}.new-chat-agent-picker__load-more{width:100%;margin-top:4px}.new-chat-agent-picker__load-more:disabled{cursor:wait;opacity:.55}.new-chat-agent-picker__spinner{width:13px;height:13px;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-agent-picker-spin .7s linear infinite}.new-chat-agent-picker__trigger:focus-visible,.new-chat-agent-picker__type:focus-visible,.new-chat-agent-picker__runtime:focus-visible,.new-chat-agent-picker__error button:focus-visible,.new-chat-agent-picker__load-more:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}@keyframes new-chat-agent-picker-spin{to{transform:rotate(360deg)}}@media (max-height: 700px) and (min-width: 641px){.new-chat-agent-picker__menus{top:auto;bottom:calc(100% + 7px)}.new-chat-agent-picker__submenu{max-height:min(220px,calc(100dvh - 180px))}}@media (max-width: 640px){.new-chat-agent-picker__menus{width:min(320px,calc(100vw - 88px));max-height:min(420px,calc(100dvh - 168px));flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{width:100%;flex:0 0 auto}.new-chat-agent-picker__submenu{max-height:220px}}@media (prefers-reduced-motion: reduce){.new-chat-agent-picker__trigger,.new-chat-agent-picker__trigger-chevron{transition:none}.new-chat-agent-picker__spinner{animation:none}}.new-chat-workspace-tabs{position:relative;z-index:1;display:flex;align-self:flex-start;width:100%;height:76px;margin:0 0 -26px;padding:8px 10px 34px;align-items:flex-start;gap:6px;overflow-x:auto;overflow-y:hidden;border-radius:16px 16px 13px 13px;background:hsl(var(--muted) / .72);box-sizing:border-box;scrollbar-width:none}.new-chat-workspace-tabs::-webkit-scrollbar{display:none}.new-chat-workspace-tabs__tab{position:relative;display:inline-flex;flex:0 0 104px;width:104px;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:14px;font-weight:400;white-space:nowrap;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.new-chat-workspace-tabs__tab:hover:not(:disabled):not(.is-active){background:hsl(var(--background) / .56);color:hsl(var(--foreground))}.new-chat-workspace-tabs__tab.is-active{color:hsl(var(--foreground));font-weight:400}.new-chat-workspace-tabs__slider{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid hsl(var(--border) / .76);border-radius:inherit;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035);pointer-events:none}.new-chat-workspace-tabs__tab:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-workspace-tabs__tab:disabled{cursor:not-allowed;opacity:.48}.new-chat-workspace-tabs__icon{position:relative;z-index:1;width:17px;height:17px;flex:0 0 auto}.new-chat-workspace-tabs__skill-icon{display:inline-grid;place-items:center}.new-chat-workspace-tabs__skill-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:transform .2s cubic-bezier(.22,1,.36,1)}.new-chat-workspace-tabs__skill-shape.is-triangle{clip-path:inset(0 18% 50% 18%);transform-origin:50% 30%}.new-chat-workspace-tabs__skill-shape.is-circle{clip-path:inset(47% 50% 0 0);transform-origin:28% 72%}.new-chat-workspace-tabs__skill-shape.is-square{clip-path:inset(47% 0 0 50%);transform-origin:72% 72%}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-box:view-box;transform-origin:12px 18.5px;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-triangle{transform:translateY(-1px) scale(1.04)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-circle{transform:translate(-.6px,.6px) rotate(-6deg)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-square{transform:translate(.7px,.5px) rotate(6deg)}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-origin:3.25px 9px}.new-chat-workspace-tabs__tab:hover:not(:disabled) .video-generate-icon__clapper{transform:rotate(-14deg)}.new-chat-workspace-tabs__label{position:relative;z-index:1}.new-chat-skill-picker{position:relative;flex:0 0 auto;min-width:0}.new-chat-skill-controls{position:absolute;z-index:5;right:52px;bottom:10px;left:52px;display:flex;min-width:0;align-items:center;gap:4px}.new-chat-skill-controls__style,.new-chat-skill-controls__model{min-width:0}.new-chat-skill-controls__style{flex:0 1 auto;max-width:180px}.new-chat-skill-controls__model{flex:0 1 auto;max-width:240px;margin-left:auto}.new-chat-skill-controls__style .new-chat-compact-select,.new-chat-skill-controls__model .new-chat-compact-select{width:fit-content;max-width:100%}.new-chat-skill-controls__style .new-chat-compact-select__trigger,.new-chat-skill-controls__model .new-chat-compact-select__trigger{width:auto;max-width:100%}.new-chat-skill-controls__model .new-chat-compact-select__menu{right:0;left:auto}.new-chat-skill-picker__trigger{display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-skill-picker__trigger:hover,.new-chat-skill-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-skill-picker__trigger:focus-visible,.new-chat-skill-picker__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-skill-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-skill-picker__chevron,.new-chat-skill-picker__check{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-skill-picker__chevron{transition:transform .14s ease}.new-chat-skill-picker__trigger[aria-expanded=true] .new-chat-skill-picker__chevron{transform:rotate(180deg)}.new-chat-skill-picker__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:180px;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-skill-picker__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:34px;align-items:center;gap:8px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.new-chat-skill-picker__option:hover,.new-chat-skill-picker__option.is-active{background:hsl(var(--accent))}.new-chat-skill-picker__check{color:hsl(var(--primary))}.new-chat-compact-select{position:relative;min-width:0;max-width:190px}.new-chat-compact-select__trigger{display:flex;width:100%;min-width:0;min-height:36px;align-items:center;gap:5px;padding:2px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .14s ease,background-color .14s ease}.new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-compact-select__trigger:focus-visible,.new-chat-compact-select__search input:focus-visible,.new-chat-compact-select__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-compact-select__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-compact-select__label{flex:0 0 auto;color:hsl(var(--muted-foreground) / .76)}.new-chat-compact-select__value{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__value.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.new-chat-compact-select__chevron,.new-chat-compact-select__check{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-compact-select__chevron{transition:transform .14s ease}.new-chat-compact-select__spinner{width:13px;height:13px;flex:0 0 auto;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-compact-select-spin .7s linear infinite}@keyframes new-chat-compact-select-spin{to{transform:rotate(360deg)}}.new-chat-compact-select__trigger[aria-expanded=true] .new-chat-compact-select__chevron{transform:rotate(180deg)}.new-chat-compact-select__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:min(240px,calc(100vw - 32px));padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .28),0 3px 10px hsl(var(--foreground) / .05)}.new-chat-compact-select__search{display:block;padding:2px 2px 5px}.new-chat-compact-select__search input{width:100%;min-height:32px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.new-chat-compact-select__list{max-height:240px;overflow-y:auto}.new-chat-compact-select__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:36px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-compact-select__option:hover,.new-chat-compact-select__option.is-active{background:hsl(var(--accent))}.new-chat-compact-select__option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-compact-select__option-copy strong,.new-chat-compact-select__option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__option-copy strong{font-size:13px;font-weight:550}.new-chat-compact-select__option-copy small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-compact-select__check{color:hsl(var(--primary))}.new-chat-compact-select__status{display:flex;min-height:52px;align-items:center;justify-content:center;gap:8px;padding:8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.new-chat-compact-select__status.is-error{color:hsl(var(--destructive))}.new-chat-compact-select__status button{flex:0 0 auto;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer}@media (max-width: 520px){.new-chat-workspace-tabs__tab{gap:5px;padding:0 6px;font-size:13px}.new-chat-workspace-tabs__icon{width:16px;height:16px}.new-chat-skill-controls>.new-chat-compact-select{flex:1 1 0}.new-chat-skill-picker__trigger{padding-right:5px;padding-left:4px;font-size:13px}.new-chat-compact-select__trigger{padding-right:5px;padding-left:5px;gap:3px}.new-chat-compact-select__label{display:none}}@media (prefers-reduced-motion: reduce){.new-chat-workspace-tabs__tab,.new-chat-skill-picker__trigger,.new-chat-skill-picker__chevron,.new-chat-compact-select__trigger,.new-chat-compact-select__chevron{transition:none}.new-chat-compact-select__spinner{animation:none}.new-chat-workspace-tabs__skill-shape,.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transition:none}}.new-chat-skill-target-picker{position:relative;min-width:0;flex:0 1 220px}.new-chat-skill-target-picker__trigger{max-width:100%}.new-chat-skill-target-picker__menus.is-above{top:auto;bottom:calc(100% + 7px)}.new-chat-skill-target-picker__menus>.new-chat-agent-picker__menu,.new-chat-skill-target-picker__submenu{max-height:var(--new-chat-skill-menu-max-height, 286px);overflow-y:auto;overscroll-behavior:contain}.new-chat-skill-target-picker__space{grid-template-columns:minmax(0,1fr) 16px}.new-chat-skill-target-picker__space>span,.new-chat-skill-target-picker__skill>span,.new-chat-skill-target-picker__skill>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-skill-target-picker__space.is-previewed{background:hsl(var(--accent))}.new-chat-skill-target-picker__skill{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.new-chat-skill-target-picker__skill>span{grid-column:1;font-weight:400}.new-chat-skill-target-picker__skill>small{grid-column:1}.new-chat-skill-target-picker__skill>.new-chat-agent-picker__check{grid-column:2;grid-row:1 / span 2}.new-chat-skill-target-picker__empty{display:grid;min-height:76px;place-items:center;padding:12px;color:hsl(var(--muted-foreground));font-size:12px}@media (prefers-reduced-motion: reduce){.new-chat-skill-target-picker__spinner{animation:none}}.new-chat-video-controls{position:absolute;z-index:0;top:calc(100% - 8px);right:16px;left:16px;display:flex;min-width:0;flex-direction:column;gap:12px;padding:24px 14px 12px;border:0;border-radius:0 0 14px 14px;background:hsl(var(--muted) / .72);color:hsl(var(--foreground));transform-origin:top center}.new-chat-video-controls__parameters{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;border-radius:8px;background:hsl(var(--background) / .54)}.new-chat-video-task-mode{position:absolute;z-index:5;bottom:10px;left:52px;width:fit-content;min-width:0;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select{width:fit-content;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select__trigger{width:auto;min-width:96px;max-width:220px;padding-right:10px;padding-left:10px}.new-chat-video-generation-model{position:absolute;z-index:5;right:52px;bottom:10px;display:inline-flex;min-width:0;min-height:36px;max-width:290px;align-items:center;gap:5px;padding:2px 8px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-generation-model strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-controls__field{min-width:0}.new-chat-video-controls__parameters>:not(:first-child){border-left:1px solid hsl(var(--border) / .62)}.new-chat-video-controls .new-chat-compact-select{width:100%;max-width:none}.new-chat-video-controls .new-chat-compact-select__trigger,.new-chat-video-duration{width:100%;min-height:36px;border:0;border-radius:0;background:transparent}.new-chat-video-controls__parameters>:first-child,.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:8px 0 0 8px}.new-chat-video-controls__parameters>:last-child{border-radius:0 8px 8px 0}.new-chat-video-controls .new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-video-controls .new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--background) / .92)}.new-chat-video-duration{display:grid;min-width:0;grid-template-columns:72px minmax(52px,1fr);align-items:center;gap:8px;padding:2px 8px}.new-chat-video-duration.is-disabled{opacity:.48}.new-chat-video-duration__header{display:flex;align-items:center;justify-content:space-between;gap:4px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-duration__header output{color:hsl(var(--foreground));font-weight:550}.new-chat-video-duration input{width:100%;height:16px;margin:0;accent-color:hsl(var(--primary));cursor:pointer}.new-chat-video-duration input::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:hsl(var(--muted-foreground) / .24)}.new-chat-video-duration input::-webkit-slider-thumb{width:10px;height:10px;margin-top:-4px;border:0;border-radius:50%;background:hsl(var(--foreground) / .72);-webkit-appearance:none;-moz-appearance:none;appearance:none}.new-chat-video-duration input:disabled{cursor:not-allowed}.new-chat-video-duration:focus-within{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-controls__assets{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.new-chat-video-controls__assets.is-single{grid-template-columns:minmax(0,1fr)}.composer-input-stack.has-inline-asset .comp-input{padding-left:96px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:96px;max-width:calc(100% - 106px)}.new-chat-inline-video{position:absolute;z-index:3;top:3px;left:10px;width:70px;height:66px}.new-chat-inline-video__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-inline-video__tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;overflow:hidden;box-sizing:border-box;border:1px dashed hsl(var(--muted-foreground) / .5);border-radius:10px;background:hsl(var(--muted) / .45);color:hsl(var(--muted-foreground));font-size:12px;line-height:1;cursor:pointer;transform:rotate(-6deg);transform-origin:center;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .15s ease-out,background-color .15s ease-out}.new-chat-inline-video__tile:hover,.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile,.new-chat-inline-video:focus-within .new-chat-inline-video__tile{border-color:hsl(var(--muted-foreground) / .72);background:hsl(var(--muted) / .68);transform:rotate(0)}.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile{outline:2px solid hsl(var(--primary) / .42);outline-offset:2px}.new-chat-inline-video__tile svg{width:22px;height:22px;flex:0 0 auto}.new-chat-inline-video__tile img,.new-chat-inline-video__tile video{width:100%;height:100%;display:block;object-fit:cover}.new-chat-inline-video__remove{position:absolute;z-index:2;top:-5px;right:-5px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .08);cursor:pointer;opacity:0;transition:opacity .14s ease-out,color .14s ease-out}.new-chat-inline-video:hover .new-chat-inline-video__remove,.new-chat-inline-video:focus-within .new-chat-inline-video__remove{opacity:1}.new-chat-inline-video__remove:hover{color:hsl(var(--foreground))}.new-chat-inline-video__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px;opacity:1}.new-chat-inline-video__remove svg{width:13px;height:13px}.new-chat-inline-video.is-disabled{opacity:.48}.new-chat-inline-video.is-disabled .new-chat-inline-video__tile,.new-chat-inline-video__remove:disabled{cursor:not-allowed}.new-chat-video-controls__model-hint{min-height:18px;display:flex;align-items:center;justify-content:center;margin:-2px 2px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.new-chat-video-controls__storage-unavailable{min-height:18px;margin:-3px 2px -4px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;text-align:center}.new-chat-video-model-spinner{width:13px;height:13px;box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:new-chat-video-model-spin .72s linear infinite}@keyframes new-chat-video-model-spin{to{transform:rotate(360deg)}}.new-chat-video-asset{position:relative;min-width:0}.new-chat-video-asset__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-video-asset__label{display:grid;min-height:50px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;border:1px dashed hsl(var(--border) / .72);border-radius:8px;background:hsl(var(--background) / .36);cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.new-chat-video-asset__label:hover{border-color:hsl(var(--muted-foreground) / .48);background:hsl(var(--background) / .8)}.new-chat-video-asset__input:focus-visible+.new-chat-video-asset__label{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset.is-disabled{opacity:.48}.new-chat-video-asset.is-disabled .new-chat-video-asset__label{cursor:not-allowed}.new-chat-video-asset__icon{display:inline-grid;width:26px;height:26px;place-items:center;border-radius:7px;background:hsl(var(--accent));color:hsl(var(--muted-foreground))}.new-chat-video-asset__icon svg{width:15px;height:15px}.new-chat-video-asset__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-video-asset__title{display:flex;min-width:0;align-items:baseline;gap:6px;font-size:13px;font-weight:550}.new-chat-video-asset__title small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:450}.new-chat-video-asset__value{overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-asset__value.is-selected{color:hsl(var(--foreground) / .78)}.new-chat-video-asset__action{padding-right:2px;color:hsl(var(--foreground) / .74);font-size:12px;font-weight:550}.new-chat-video-asset__remove{position:absolute;z-index:1;top:50%;right:7px;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer;transform:translateY(-50%)}.new-chat-video-asset__remove:hover{color:hsl(var(--foreground))}.new-chat-video-asset__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset__remove:disabled{cursor:not-allowed}.new-chat-video-asset__remove svg{width:14px;height:14px}.new-chat-video-asset:has(.new-chat-video-asset__remove) .new-chat-video-asset__action{visibility:hidden}@media (max-width: 620px){.new-chat-video-controls{right:16px;left:16px;padding-right:12px;padding-left:12px}.new-chat-video-controls__parameters{grid-template-columns:minmax(0,1fr)}.new-chat-video-controls__parameters>*{border-left:0;border-top:1px solid hsl(var(--border) / .62);border-radius:0!important}.new-chat-video-controls__parameters>:first-child{border-top:0;border-radius:8px 8px 0 0!important}.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:inherit}.new-chat-video-controls__parameters>:last-child{border-radius:0 0 8px 8px!important}.new-chat-video-controls__assets{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.new-chat-video-model-spinner{border-right-color:currentColor;animation:none}}@media (max-width: 520px){.new-chat-video-task-mode,.new-chat-video-task-mode .new-chat-compact-select,.new-chat-video-task-mode .new-chat-compact-select__trigger{max-width:132px}.new-chat-video-generation-model{max-width:84px}.new-chat-video-generation-model>span{display:none}.composer-input-stack.has-inline-asset .comp-input{padding-left:84px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:84px;max-width:calc(100% - 94px)}.new-chat-inline-video{width:60px;height:60px}}@media (prefers-reduced-motion: reduce){.new-chat-video-asset__label,.new-chat-inline-video__tile,.new-chat-inline-video__remove{transition:none}.new-chat-inline-video__tile{transform:none}}.stk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px 6vh}.stk-head{text-align:center;margin-bottom:26px}.stk-title{margin:0;font-size:24px;font-weight:650;letter-spacing:-.02em}.stk-sub{margin:8px 0 0;font-size:14px;color:hsl(var(--muted-foreground))}.stk-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px}.stk-card{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,box-shadow .15s,background .12s}.stk-card:hover{border-color:hsl(var(--ring) / .35);background:hsl(var(--foreground) / .02);box-shadow:0 8px 24px -16px hsl(var(--foreground) / .25)}.stk-card-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.stk-card-icon svg{width:21px;height:21px}.stk-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.stk-card-title{font-size:15px;font-weight:600}.stk-card-desc{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.stk-card-status{flex-shrink:0;padding:4px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.3;white-space:nowrap}.stk-card-arrow{flex-shrink:0;width:18px;height:18px;color:hsl(var(--muted-foreground));opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.stk-card:hover .stk-card-arrow{opacity:1;transform:translate(0)}.stk-card-disabled{opacity:.5;cursor:not-allowed}.stk-card-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--card));box-shadow:none}.stk-card-disabled .stk-card-arrow{display:none}.stk-footer{margin-top:18px;width:100%;max-width:520px;display:flex;justify-content:center}.stk-import{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px dashed hsl(var(--border));border-radius:9px;background:none;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.stk-import:hover{color:hsl(var(--foreground));border-color:hsl(var(--ring) / .4);background:hsl(var(--foreground) / .03)}.stk-import svg{width:15px;height:15px}.ic-root{display:flex;flex-direction:column;height:100%;min-height:0;background:hsl(var(--canvas));overflow:hidden}.ic-header{display:flex;align-items:flex-start;gap:12px;padding:20px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.ic-header h1,.ic-header p,.ic-panel h2,.ic-panel p{margin:0}.ic-header h1{font-size:20px;line-height:1.25;font-weight:650}.ic-header p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.ic-back{flex-shrink:0;min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.ic-back:hover{background:hsl(var(--muted))}.ic-main{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:32px 24px}.ic-panel{max-width:760px;margin:0 auto;padding:24px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.ic-goal-heading{display:flex;align-items:center;gap:12px}.ic-goal-heading h2{font-size:17px;line-height:1.3;font-weight:600}.ic-goal-heading p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.ic-create-icon-wrap{display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:9px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.ic-create-icon{width:20px;height:20px}.ic-goal-label{display:block;margin:24px 0 7px;font-size:12px;font-weight:600}.ic-goal-input{display:block;width:100%;min-height:136px;resize:vertical;padding:12px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6}.ic-goal-input::placeholder{color:hsl(var(--muted-foreground))}.ic-goal-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.ic-goal-input:disabled{opacity:.55;cursor:not-allowed}.ic-preparation{margin-top:12px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .55)}.ic-preparation>div{min-width:0}.ic-preparation strong{display:block;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.45}.ic-preparation .text-shimmer{width:fit-content;max-width:100%;margin:4px 0 0;font-size:13px;line-height:1.5}.ic-preparation-next{margin-top:4px!important;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.ic-state,.ic-error{margin:10px 0 0!important;font-size:12.5px;line-height:1.5}.ic-state{color:hsl(var(--muted-foreground))}.ic-error{color:hsl(var(--destructive))}.ic-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.ic-actions>span{color:hsl(var(--muted-foreground));font-size:12px}.ic-action-buttons{display:flex;align-items:center;gap:8px;flex-shrink:0}.ic-secondary,.ic-primary{height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ic-secondary{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.ic-primary{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.ic-secondary:hover{background:hsl(var(--muted))}.ic-primary:hover:not(:disabled){opacity:.88}.ic-primary:disabled{opacity:.45;cursor:not-allowed}.ic-back:focus-visible,.ic-secondary:focus-visible,.ic-primary:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}@media (max-width: 640px){.ic-header{padding:16px}.ic-main{padding:20px 16px}.ic-panel{padding:18px}.ic-actions{align-items:stretch;flex-direction:column}.ic-action-buttons{width:100%}.ic-action-buttons button{flex:1}}@media (prefers-reduced-motion: reduce){.ic-root *{transition:none!important}}.pp-config-section.pp-resource-section{overflow:visible}.pp-resource-section:has(.pp-deployment-select-trigger[aria-expanded=true]){position:relative;z-index:70}.pp-resource-list{--pp-resource-mode-column: minmax(196px, .34fr);display:flex;flex-direction:column;gap:12px}.pp-resource-item{min-width:0;padding:12px;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background))}.pp-resource-name{margin-bottom:10px;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.4}.pp-resource-grid{min-width:0;display:grid;grid-template-columns:var(--pp-resource-mode-column) minmax(0,.66fr);align-items:start;gap:12px}.pp-resource-fields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pp-resource-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-resource-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-field>input{width:100%;min-width:0;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;transition:border-color .12s ease,box-shadow .12s ease}.pp-resource-field>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-resource-field>input:disabled{cursor:not-allowed;opacity:.55}.pp-resource-auto-names{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-auto-names>dl{min-width:0;margin:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background))}.pp-resource-auto-names>dl>div{min-width:0;min-height:35px;display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,.66fr);align-items:center;gap:10px;padding:8px 10px}.pp-resource-auto-names>dl>div+div{border-top:1px solid hsl(var(--border) / .72)}.pp-resource-auto-names dt,.pp-resource-auto-names dd{min-width:0;margin:0}.pp-resource-auto-names dd{overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px}.pp-resource-auto-names>small{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-picker{min-width:0;display:flex;flex-direction:column;gap:6px}.pp-resource-status{min-height:17px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-error{min-height:17px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.pp-resource-error span{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.pp-resource-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-resource-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-resource-validation{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}@media (max-width: 760px){.pp-resource-grid,.pp-resource-fields,.pp-resource-fields-three{grid-template-columns:minmax(0,1fr)}.pp-resource-auto-names>dl>div{grid-template-columns:minmax(0,1fr);gap:2px}}@media (prefers-reduced-motion: reduce){.pp-resource-field>input{transition:none}}.layout{--pp-sidebar-width: 240px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.pp-toolbar{flex:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.pp-toolbar-left,.pp-toolbar-actions,.pp-actions{display:flex;align-items:center}.pp-toolbar-left{min-width:0;gap:18px}.pp-toolbar-actions{flex:0 0 auto;gap:8px}.pp-toolbar-back{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:15px;font-weight:500;cursor:pointer}.pp-toolbar-back:hover{color:hsl(var(--foreground))}.pp-toolbar-title{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-secondary{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.pp-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.pp-secondary:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--accent))}.pp-secondary:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.pp-secondary:disabled{opacity:.55;cursor:default}.pp-body{flex:1;min-height:0;min-width:0;display:flex}.pp-files-area{flex:1 1 auto;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.pp-sidebar{flex:0 0 218px;width:218px;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .24)}.pp-sidebar-head,.pp-main-head{flex:0 0 42px;min-height:42px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.pp-sidebar-head{gap:8px;padding:0 9px 0 14px}.pp-project-name{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:650;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.pp-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.pp-row{width:100%;min-height:29px;display:flex;align-items:center;gap:6px;padding:4px 8px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.pp-row:hover{background:hsl(var(--foreground) / .045)}.pp-file.pp-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.pp-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-folder .pp-label{color:hsl(var(--muted-foreground))}.pp-ic{width:15px;height:15px;flex:0 0 auto}.pp-chevron{color:hsl(var(--muted-foreground));transition:transform .12s ease}.pp-chevron.pp-open{transform:rotate(90deg)}.pp-icon-btn{width:28px;height:28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-icon-btn:hover:not(:disabled){background:hsl(var(--foreground) / .07);color:hsl(var(--foreground))}.pp-icon-btn:disabled{opacity:.45;cursor:default}.pp-danger:hover:not(:disabled){color:hsl(var(--destructive))}.pp-new-input{width:calc(100% - 16px);height:30px;margin:2px 8px 6px;padding:0 8px;border:1px solid hsl(var(--ring) / .55);border-radius:4px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-empty,.pp-placeholder{width:100%;padding:28px 16px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.pp-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.pp-main-head{gap:12px;padding:0 10px 0 14px;background:hsl(var(--background))}.pp-path{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-actions{gap:2px}.pp-content{flex:1;min-height:0;min-width:0;display:flex;overflow:hidden}.pp-codemirror,.pp-codemirror>div,.pp-codemirror .cm-editor{width:100%;height:100%;min-height:0}.pp-codemirror .cm-editor{overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px}.pp-codemirror .cm-scroller{overflow:auto;overscroll-behavior:none;scroll-padding-block:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.58}.pp-codemirror .cm-content{padding:10px 0 0}.pp-codemirror .cm-line{padding:0 14px 0 8px}.pp-codemirror .cm-content>.cm-line:last-child:has(>br:only-child){display:none}.pp-codemirror .cm-gutters{border-right:1px solid hsl(var(--border) / .7);background:hsl(var(--secondary) / .2);color:hsl(var(--muted-foreground) / .65)}.pp-codemirror .cm-activeLine,.pp-codemirror .cm-activeLineGutter{background:hsl(var(--foreground) / .035)}.pp-codemirror .cm-focused{outline:none}.pp-editor-loading{height:100%;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12px}.pp-pre{flex:1;width:100%;height:100%;box-sizing:border-box;margin:0;padding:14px 16px 0;overflow:auto;background:hsl(var(--background));color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;font-style:normal;font-variant-ligatures:none;font-weight:400;line-height:1.58;-moz-tab-size:2;tab-size:2;white-space:pre}.pp-root.is-deploy{--pp-publish-content-width: min(760px, calc(100% - 48px) );overflow-y:auto}.pp-root.is-deploy.is-embedded{--pp-publish-content-width: 100%}.pp-root.is-deploy .pp-body{flex:0 0 auto;min-height:100%;display:grid;grid-template-rows:auto auto;overflow:visible}.pp-root.is-deploy.has-primary-pane .pp-body{display:flex;justify-content:center;background:hsl(var(--background))}.pp-root.is-deploy.has-primary-pane .pp-config{width:min(760px,100%);background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-head,.pp-root.is-deploy.has-primary-pane .pp-config-actions{border:0;background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-actions{position:sticky;bottom:0;width:var(--pp-publish-content-width);margin:0 auto;justify-content:center;padding:12px 0 18px;background:hsl(var(--background));transform:none}.pp-root.is-deploy.has-primary-pane .pp-deploy-hint{position:absolute;left:18px}.pp-root.is-deploy .pp-files-area{display:none}.pp-release-overview{min-width:0;min-height:0;border-bottom:0;background:transparent}.pp-release-preview{width:var(--pp-publish-content-width);box-sizing:border-box;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 auto;padding:8px 0 12px}.pp-release-preview.is-embedded{grid-template-columns:minmax(0,1fr) 132px;align-items:stretch}.pp-flow-thumbnail{position:relative;height:200px;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px;background:transparent;box-shadow:none}.pp-flow-thumbnail .abc-root,.pp-flow-dialog-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;flex:1 1 auto;border:0;background:transparent}.pp-flow-thumbnail .abc-canvas,.pp-flow-dialog-canvas .abc-canvas{flex:1;min-height:0;background:transparent}.pp-flow-thumbnail .react-flow__pane{cursor:grab}.pp-flow-thumbnail .react-flow__pane:active{cursor:grabbing}.pp-flow-thumbnail .react-flow__controls{display:none}.pp-flow-expand{position:absolute;z-index:5;right:10px;bottom:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit}.pp-flow-expand:hover{background:transparent;color:hsl(var(--foreground))}.pp-flow-expand:focus-visible{outline:2px solid hsl(var(--primary) / .72);outline-offset:2px}.pp-flow-expand svg{width:17px;height:17px}.pp-release-info{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-release-card-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34);color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-release-info-body{padding:14px 18px 16px}.pp-release-info-main{min-width:0}.pp-release-info h2{margin:0;color:hsl(var(--foreground));font-size:18px;font-weight:700;letter-spacing:-.02em}.pp-release-description{display:-webkit-box;margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;overflow:hidden;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:12px 0 0}.pp-release-facts>div{min-width:0}.pp-release-facts dt{color:hsl(var(--muted-foreground));font-size:13px}.pp-release-facts dd{margin:5px 0 0;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-release-facts .pp-release-fact-long{display:-webkit-box;overflow:hidden;line-height:1.45;text-overflow:clip;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts .pp-release-prompt{-webkit-line-clamp:3}.pp-artifact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:12px}.pp-artifact-actions.is-rail{flex-direction:column;flex-wrap:nowrap;gap:8px;margin:0;padding:0}.pp-artifact-actions.is-rail .pp-secondary,.pp-artifact-actions.is-rail .code-browser-trigger{flex:1 1 0;width:100%;min-height:36px;justify-content:center}.pp-artifact-actions .pp-secondary,.pp-artifact-actions .code-browser-trigger{min-height:34px;padding-inline:12px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);box-shadow:none;color:hsl(var(--foreground));font-size:13px}.pp-artifact-actions .pp-secondary:hover,.pp-artifact-actions .code-browser-trigger:hover{background:hsl(var(--secondary))}.pp-flow-backdrop{--cw-workspace-ink: 222 24% 13%;position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:32px;background:hsl(var(--foreground) / .36);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pp-flow-dialog{width:min(1120px,92vw);height:min(720px,86vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 80px hsl(var(--foreground) / .22)}.pp-flow-dialog>header{flex:0 0 62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 18px 0 22px;border-bottom:1px solid hsl(var(--border))}.pp-flow-dialog>header>div{display:flex;flex-direction:column;gap:3px}.pp-flow-dialog>header strong{font-size:15px;font-weight:680}.pp-flow-dialog>header span{color:hsl(var(--muted-foreground));font-size:10.5px}.pp-flow-dialog>header button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-flow-dialog>header button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.pp-flow-dialog>header svg{width:17px;height:17px}.pp-flow-dialog-canvas{flex:1;min-height:0;background:transparent}.pp-config{position:relative;min-width:0;width:auto;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.pp-config-head{width:var(--pp-publish-content-width);flex:0 0 48px;height:48px;box-sizing:border-box;display:flex;align-items:center;margin:0 auto;padding:0;border-bottom:0}.pp-config-title{color:hsl(var(--foreground));font-size:18px;font-weight:650;letter-spacing:-.01em}.pp-env-sub{margin-top:4px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.pp-config-scroll{width:var(--pp-publish-content-width);flex:0 0 auto;min-height:0;box-sizing:border-box;display:block;margin:0 auto;overflow:visible;padding:0 0 88px}.pp-config-actions{position:fixed;z-index:40;left:calc((100vw + var(--pp-sidebar-width, 0px)) / 2);bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;transform:translate(-50%)}.pp-config-actions.is-external{display:none}.pp-config-section{width:100%;min-width:0;box-sizing:border-box;margin:0 0 12px;padding:0 18px 16px;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-config-section:has(.pp-network-region){overflow:visible}.pp-config-section:has(.pp-network-region.is-open){position:relative;z-index:70}.pp-config-section:has(.pp-network-region)>.pp-config-label{border-radius:17px 17px 0 0}.pp-env-section,.pp-progress-section,.pp-deploy-result,.pp-config-scroll>.pp-error{width:100%;margin-inline:0}.pp-config-label{display:block;margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent;color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-env-head{margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent}.pp-env-head .pp-config-label{margin:0;padding:0;border:0;background:transparent}.pp-config-note{margin:-4px 0 10px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.pp-runtime-name-field{display:grid;gap:6px}.pp-runtime-name-field>.pp-config-note,.pp-runtime-name-field>.pp-runtime-name-error{margin:0}.pp-auth-section{overflow:visible}.pp-auth-preserved-note{margin:0}.pp-auth-fields{width:min(100%,560px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.pp-auth-fields>label{min-width:0;display:flex;flex-direction:column;gap:7px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-github-cicd-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.pp-github-cicd-tabs{min-width:0;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--muted) / .42)}.pp-github-cicd-tabs button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.pp-github-cicd-tabs button.is-active{border-color:hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.pp-github-cicd-tabs button:disabled{opacity:.55;cursor:default}.pp-github-cicd-copy{margin:-4px 0 12px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.pp-github-cicd-status{display:inline-flex;align-items:center;gap:5px;color:hsl(var(--primary));font-size:11.5px;font-weight:560;white-space:nowrap}.pp-github-cicd-status .pp-ic{width:13px;height:13px}.pp-github-cicd-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.84fr);gap:10px}.pp-github-cicd-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deployment-select{position:relative;min-width:0}.pp-deployment-select-trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.pp-deployment-select-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.pp-deployment-select-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.pp-deployment-select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-deployment-select-trigger:disabled{cursor:not-allowed;opacity:.5}.pp-deployment-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-trigger>.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.pp-deployment-select-chevron{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.pp-deployment-select-chevron.is-open{transform:rotate(180deg)}.pp-deployment-select-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;left:0;max-height:238px;display:flex;flex-direction:column;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.pp-deployment-select-search{flex-shrink:0;padding:2px 2px 6px}.pp-deployment-select-search>input{width:100%;height:32px;box-sizing:border-box;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-deployment-select-search>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-deployment-select-options{min-height:0;overflow-y:auto;overscroll-behavior:contain}.pp-deployment-select-state{flex-shrink:0;padding:9px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-align:center}.pp-deployment-select-option{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.pp-deployment-select-option:hover,.pp-deployment-select-option:focus-visible,.pp-deployment-select-option.is-selected{outline:none;background:hsl(var(--muted) / .5)}.pp-deployment-select-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.pp-deployment-select-name{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-option>svg{width:15px;height:15px;flex-shrink:0;color:hsl(var(--primary))}.pp-deployment-select-badge{flex-shrink:0;padding:1px 5px;border:1px solid hsl(211 90% 48% / .24);border-radius:999px;background:#006fe61a;color:#1863b4;font-size:10px;font-weight:600}.pp-user-pool-picker{min-width:0;display:flex;flex-direction:column;gap:7px}.pp-user-pool-status{min-height:18px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.pp-user-pool-spinner{width:13px;height:13px;flex-shrink:0;animation:pp-spin .9s linear infinite}.pp-user-pool-error{min-height:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.pp-user-pool-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-user-pool-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-github-cicd-field:first-child{grid-column:1 / -1}.pp-github-cicd-field>span{color:hsl(var(--foreground));font-weight:560}.pp-github-cicd-submit{grid-column:1 / -1;align-self:end;min-width:0;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--primary));border-radius:6px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font:inherit;font-size:12.5px;font-weight:620;cursor:pointer;white-space:nowrap}.pp-github-cicd-submit:disabled{opacity:.52;cursor:default}.pp-github-cicd-result,.pp-github-cicd-error{margin-top:14px;padding-top:12px;border-top:1px solid hsl(var(--border) / .72)}.pp-github-cicd-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.pp-github-cicd-result-head strong,.pp-github-cicd-error strong{color:hsl(var(--foreground));font-size:13px;font-weight:650}.pp-github-cicd-result-head span{color:hsl(var(--primary));font-size:11.5px;font-weight:620}.pp-github-cicd-result-grid,.pp-github-cicd-error dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0}.pp-github-cicd-result-grid div,.pp-github-cicd-error dl div{min-width:0}.pp-github-cicd-result dt,.pp-github-cicd-error dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11.5px}.pp-github-cicd-result dd,.pp-github-cicd-error dd{margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.pp-github-cicd-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}.pp-github-cicd-links a{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:5px;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12px;font-weight:600;text-decoration:none}.pp-github-cicd-error{color:hsl(var(--destructive))}.pp-github-cicd-error p{margin:6px 0 10px;color:hsl(var(--destructive));font-size:12.5px;line-height:1.5}.pp-github-cicd-error dd{color:hsl(var(--destructive))}.pp-github-cicd-bound-note{margin:10px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-instance-note{margin:10px 0 0;color:#d79804;font-size:12px;line-height:1.5}.pp-instance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pp-instance-fields label{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-instance-error{margin:8px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select,.pp-runtime-name-input,.pp-channel-fields input,.pp-github-cicd-field input,.pp-instance-fields input,.pp-network-fields input,.pp-env-row input,.pp-env-row textarea{width:100%;min-width:0;height:34px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;transition:border-color .12s ease,box-shadow .12s ease}.pp-channel-fields input{height:30px;padding-inline:8px;font-size:11.5px}.pp-config-select:focus,.pp-runtime-name-input:focus,.pp-channel-fields input:focus,.pp-github-cicd-field input:focus,.pp-instance-fields input:focus,.pp-network-fields input:focus,.pp-env-row input:focus,.pp-env-row textarea:focus{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-runtime-name-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .72)}.pp-runtime-name-input[aria-invalid=true]:focus{box-shadow:0 0 0 2px hsl(var(--destructive) / .1)}.pp-runtime-name-error{margin:-4px 0 10px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select:disabled,.pp-runtime-name-input:disabled,.pp-channel-fields input:disabled,.pp-github-cicd-field input:disabled,.pp-instance-fields input:disabled,.pp-network-fields input:disabled,.pp-env-row input:disabled,.pp-env-row textarea:disabled{opacity:.55}.pp-channel-card{position:relative;width:clamp(154px,33.333%,236px);max-width:100%;height:112px;perspective:1200px;transition:height .18s ease}.pp-channel-card.is-flipped{height:176px}.pp-channel-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1)}.pp-channel-card.is-flipped .pp-channel-card-inner{transform:rotateY(180deg)}.pp-channel-card-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;box-sizing:border-box;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:14px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden}.pp-channel-card-front{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px;padding:12px;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.pp-channel-card-front:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);box-shadow:0 12px 30px hsl(var(--foreground) / .07);transform:translateY(-1px)}.pp-channel-card-front:focus-visible,.pp-channel-remove:focus-visible{outline:2px solid hsl(var(--ring) / .58);outline-offset:2px}.pp-channel-card-front:disabled{cursor:default}.pp-channel-card-back{padding:10px;transform:rotateY(180deg)}.pp-channel-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-channel-card-head>strong{font-size:12.5px;font-weight:650}.pp-channel-logo{width:42px;height:42px;flex:0 0 42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border) / .65);border-radius:12px;background:#fff;box-shadow:0 4px 14px hsl(var(--foreground) / .07)}.pp-channel-logo img{width:30px;height:30px;display:block}.pp-channel-card-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.pp-channel-card-copy strong{font-size:14px;font-weight:650}.pp-channel-card-copy small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-channel-remove{min-height:24px;padding:0 6px;border:1px solid hsl(var(--destructive) / .14);border-radius:7px;background:hsl(var(--destructive) / .07);color:#863232;cursor:pointer;font:inherit;font-size:10.5px;white-space:nowrap}.pp-channel-remove:hover:not(:disabled){background:hsl(var(--destructive) / .12);color:#782626}.pp-channel-fields{display:flex;flex-direction:column;gap:6px;margin-top:7px}.pp-channel-fields label{min-width:0;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:11px}.pp-channel-fields label>span{color:hsl(var(--foreground));font-weight:560}.pp-channel-fields small{margin-left:5px;color:hsl(var(--destructive));font-size:9px;font-weight:500}.pp-network-layout{width:min(100%,560px);display:grid;grid-template-columns:minmax(132px,.36fr) minmax(0,.64fr);align-items:start;gap:24px}.pp-network-region{position:relative;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-region.is-open{z-index:80}.pp-region-trigger{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.pp-region-trigger:hover,.pp-region-trigger[aria-expanded=true]{border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025)}.pp-region-trigger:focus-visible{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-region-trigger:disabled{cursor:not-allowed;opacity:.58;background:hsl(var(--muted) / .32)}.pp-region-help{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-region-chevron{width:15px;height:15px;color:hsl(var(--muted-foreground));transition:transform .15s ease}.pp-region-chevron.is-open{transform:rotate(180deg)}.pp-region-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:81;padding:5px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .12)}.pp-region-option{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.pp-region-option:hover,.pp-region-option:focus-visible,.pp-region-option.is-selected{outline:none;background:hsl(var(--foreground) / .055)}.pp-region-option.is-selected{font-weight:600}.pp-region-option svg{width:15px;height:15px;color:hsl(var(--primary))}.pp-network-modes{display:flex;flex-direction:column;gap:9px}.pp-network-option{min-height:28px;display:flex;align-items:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560;cursor:pointer}.pp-network-option:has(input:checked){color:hsl(var(--foreground))}.pp-network-option:has(input:disabled){cursor:default;opacity:.58}.pp-network-option input{width:15px;height:15px;flex:0 0 15px;display:grid;place-items:center;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,box-shadow .12s ease}.pp-network-option input:before{width:7px;height:7px;border-radius:50%;background:hsl(var(--primary));content:"";transform:scale(0);transition:transform .12s ease-out}.pp-network-option input:checked{border-color:hsl(var(--primary))}.pp-network-option input:checked:before{transform:scale(1)}.pp-network-option input:focus-visible,.pp-network-check input:focus-visible,.pp-evaluation-set-option input:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-network-fields{display:flex;flex-direction:column;gap:12px;min-width:0}.pp-network-fields label:not(.pp-network-check){display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-fields small{font-size:10.5px;font-weight:400}.pp-network-check{display:flex;align-items:center;gap:8px;color:hsl(var(--foreground));font-size:12.5px;cursor:pointer}.pp-evaluation-set-option{display:flex;align-items:flex-start;gap:10px;color:hsl(var(--foreground));cursor:pointer}.pp-evaluation-set-option>span{display:flex;flex-direction:column;gap:3px;min-width:0}.pp-evaluation-set-option strong{font-size:13px;font-weight:550;line-height:1.45}.pp-evaluation-set-option small{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-network-check input,.pp-evaluation-set-option input{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.pp-network-check input:before,.pp-evaluation-set-option input:before{width:4px;height:8px;border:solid hsl(var(--primary-foreground));border-width:0 2px 2px 0;content:"";transform:translateY(-1px) rotate(45deg) scale(0);transition:transform .12s ease-out}.pp-network-check input:checked,.pp-evaluation-set-option input:checked{border-color:hsl(var(--primary));background:hsl(var(--primary))}.pp-network-check input:checked:before,.pp-evaluation-set-option input:checked:before{transform:translateY(-1px) rotate(45deg) scale(1)}.pp-env-section{width:100%;padding-bottom:16px}.pp-env-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.pp-env-head .pp-config-label{display:flex;align-items:center;gap:7px;margin-bottom:0}.pp-env-count{display:inline-flex;align-items:center}.pp-env-table{display:flex;flex-direction:column;margin-top:10px}.pp-env-group{padding:4px 7px 0;border:1px solid hsl(var(--border) / .75);border-radius:6px;background:hsl(var(--secondary) / .16)}.pp-env-group-head{display:flex;align-items:center;justify-content:space-between;padding:5px 1px 3px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.pp-env-group-head small{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:450}.pp-env-group-head-custom{margin-top:12px}.pp-env-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid hsl(var(--border) / .65)}.pp-env-row.is-multiline{align-items:start}.pp-env-row input:first-child{font-family:inherit;font-size:13px}.pp-env-row-derived:last-child{border-bottom:0}.pp-env-key-fixed{background:hsl(var(--secondary) / .32)!important;cursor:default}.pp-env-key-cell{min-width:0;min-height:34px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;color:hsl(var(--foreground));font-size:13px;font-weight:500}.pp-env-key-cell span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.pp-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.pp-env-help:hover .pp-env-help-popover,.pp-env-help:focus-visible .pp-env-help-popover,.pp-env-help:focus-within .pp-env-help-popover{opacity:1;pointer-events:auto}.pp-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-value-wrap{min-width:0;display:grid;gap:4px}.pp-env-value{min-width:0;width:100%}.pp-env-secret-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px}.pp-env-secret-toggle{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer}.pp-env-secret-toggle:hover:not(:disabled){background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.pp-env-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-secret-toggle:disabled{cursor:not-allowed;opacity:.52}.pp-env-secret-toggle svg,.pp-env-secret-spinner{width:16px;height:16px}.pp-env-secret-spinner{animation:pp-spin .8s linear infinite}.pp-env-reveal-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-json-value{min-height:86px;padding:8px 10px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45}.pp-env-value[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.pp-env-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.pp-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.pp-env-link svg{width:13px;height:13px;flex:0 0 13px}.pp-env-source{color:hsl(var(--muted-foreground));font-size:11px;text-align:center}.pp-env-remove{width:28px;height:28px}.pp-env-add{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:600;cursor:pointer}.pp-env-add:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025);color:hsl(var(--foreground))}.pp-env-add:disabled{opacity:.5}.pp-steps{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.pp-step{position:relative;min-height:34px;display:flex;align-items:flex-start;gap:9px}.pp-step:not(:last-child):after{content:"";position:absolute;top:20px;bottom:-2px;left:9px;width:1px;background:hsl(var(--border))}.pp-step-dot{z-index:1;width:19px;height:19px;flex:0 0 19px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10px}.pp-step-body{min-width:0;display:flex;flex-direction:column;padding-top:1px}.pp-step-label{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560}.pp-step-msg{max-width:300px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-step.is-active .pp-step-dot{border-color:hsl(var(--primary));color:hsl(var(--primary))}.pp-step.is-done .pp-step-dot{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-step.is-failed .pp-step-dot{border-color:hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.pp-error{margin:14px 18px;padding:10px 11px;border:1px solid hsl(var(--destructive) / .22);border-radius:5px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px;line-height:1.5}.pp-deploy-result{margin:14px 18px 18px;padding:14px;border:1px solid hsl(var(--primary) / .2);border-radius:6px;background:hsl(var(--primary) / .035)}.pp-deploy-result-header{margin-bottom:12px;color:hsl(var(--foreground));font-size:13px;font-weight:650}.pp-deploy-result-body{display:flex;flex-direction:column;gap:10px}.pp-deploy-result-warning{display:flex;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid hsl(42 90% 45% / .25);border-radius:6px;background:#f2ad0d12;color:#9e6310;font-size:12.5px;line-height:1.5}.pp-deploy-result-field{display:flex;flex-direction:column;gap:4px}.pp-deploy-result-field label{color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deploy-result-field code{overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px}.pp-deploy-result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.pp-confirm-dialog{width:min(420px,calc(100vw - 40px));height:auto;min-height:0}.pp-confirm-head{flex-basis:60px}.pp-confirm-icon{background:#f59f0a1f;color:#ba6708}.pp-confirm-body{padding:24px 20px}.pp-confirm-body p{margin:0;color:hsl(var(--foreground));font-size:14px;line-height:1.65}.pp-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.pp-confirm-actions button{min-width:76px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pp-confirm-actions button:hover{background:hsl(var(--secondary))}.pp-confirm-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.pp-confirm-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-confirm-actions .is-primary:hover{background:hsl(var(--primary) / .9)}.pp-deploy-result-btn,.pp-console-link-btn{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border-radius:5px;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer}.pp-deploy-result-btn{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-console-link-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.spin{animation:pp-spin .85s linear infinite}@keyframes pp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pp-channel-card-inner,.pp-channel-card-front,.pp-deployment-select-chevron,.pp-config-actions .pp-deploy{transition:none}}@media (max-width: 1120px){.pp-release-preview{grid-template-columns:minmax(320px,.9fr) minmax(300px,1.1fr)}.pp-sidebar{flex-basis:190px;width:190px}}@media (max-width: 860px){.pp-root.is-deploy{--pp-publish-content-width: min(88%, calc(100% - 36px) )}.pp-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.pp-toolbar-actions{width:100%}.pp-body{overflow-y:auto;flex-direction:column}.pp-root.is-deploy .pp-body{display:flex}.pp-release-overview{flex:0 0 auto;min-height:0;border-right:0;border-bottom:0}.pp-release-preview{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:220px auto}.pp-release-info{min-height:200px}.pp-files-area{min-height:520px}.pp-config{width:100%;min-height:680px;border-top:0;border-left:0}.pp-config-scroll{padding-inline:0;padding-bottom:84px}.pp-config-actions{bottom:max(14px,env(safe-area-inset-bottom))}.pp-flow-backdrop{padding:12px}}@media (max-width: 520px){.pp-auth-fields,.pp-github-cicd-form,.pp-github-cicd-result-grid,.pp-github-cicd-error dl{grid-template-columns:minmax(0,1fr)}.pp-github-cicd-submit{width:100%}.pp-network-layout{grid-template-columns:minmax(0,1fr);gap:16px}.pp-env-section{width:100%}}@layer components{._Container_1tuad_1{position:relative;display:flex}._Container_1tuad_1[data-has-label]{align-items:flex-start}._Container_1tuad_1[data-orientation=right]{flex-direction:row-reverse}._Container_1tuad_1>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._Checkbox_1tuad_22{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;max-width:18px;height:18px;padding:0;border-radius:var(--radius-xs);background-color:transparent;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}._Checkbox_1tuad_22,:where([data-theme=light]) ._Checkbox_1tuad_22{border:1px solid var(--gray-200)}:where([data-theme=dark]) ._Checkbox_1tuad_22{border:1px solid var(--gray-500)}[data-has-label] ._Checkbox_1tuad_22{top:1px}@media (hover: hover) and (pointer: fine){._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover,:where([data-theme=light]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-600)}}._Checkbox_1tuad_22[data-state=indeterminate],._Checkbox_1tuad_22[data-state=checked]{border-color:var(--gray-900);background-color:var(--gray-900)}._Checkbox_1tuad_22:focus{outline:none}._Checkbox_1tuad_22:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._Checkbox_1tuad_22[data-disabled]{cursor:not-allowed}._Checkbox_1tuad_22[data-disabled],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-150);background:var(--gray-25)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-300);background:var(--gray-200)}._Checkbox_1tuad_22[data-disabled][data-state=checked],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-300);background-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-200);background-color:var(--gray-200)}._CheckMark_1tuad_92{position:absolute;top:0;left:0;width:64%;height:32%;transform:rotate(-45deg) translate(-10%,100%);transform-origin:center;transition:opacity .15s ease,transform .15s ease}@starting-style{._CheckMark_1tuad_92{opacity:0}}[data-state=indeterminate] ._CheckMark_1tuad_92{transform:translate(30%,80%)}[data-state=indeterminate] ._CheckMark_1tuad_92:before{opacity:0}._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{position:absolute;display:block;background:var(--gray-0);content:"";will-change:transform}@starting-style{._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{transform:scale(0)}}:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:before,:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:after{background:var(--gray-100)}._CheckMark_1tuad_92:before{top:0;bottom:0;left:0;width:2px;transform-origin:0 0;transition:transform .1s ease 80ms,opacity .2s ease}._CheckMark_1tuad_92 [data-state=indeterminate]:before{opacity:0}._CheckMark_1tuad_92:after{right:0;bottom:0;left:0;height:2px;transform-origin:0 100%;transition:transform .1s ease .16s}._Label_1tuad_162{display:flex;align-items:center;min-height:20px;cursor:pointer;font-size:14px;line-height:20px}[data-disabled] ._Label_1tuad_162{cursor:not-allowed}[data-orientation=left] ._Label_1tuad_162{padding-left:8px}[data-orientation=right] ._Label_1tuad_162{padding-right:8px}}@layer components{._RadioGroup_onrfm_1{display:flex;gap:var(--radio-group-row-gap)}._RadioGroup_onrfm_1:where([data-direction=col]){flex-direction:column;gap:var(--radio-group-col-gap)}._RadioLabel_onrfm_9{display:inline-flex;flex-direction:row;align-items:flex-start;gap:var(--radio-group-item-gap);cursor:pointer;font-size:var(--radio-group-item-font-size);line-height:var(--radio-group-item-line-height)}._RadioLabel_onrfm_9[data-disabled]{cursor:not-allowed;opacity:.5}._RadioLabel_onrfm_9[data-block]{width:100%}._RadioIndicatorWrapper_onrfm_26{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--radio-group-item-line-height)}._RadioIndicatorWrapper_onrfm_26>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._RadioItem_onrfm_43{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);padding:0;border:none;border-radius:var(--radius-full);background-color:transparent;box-shadow:0 0 0 1px var(--radio-group-indicator-border-color) inset;cursor:pointer;transition-duration:var(--transition-duration-basic);transition-property:box-shadow;transition-timing-function:var(--transition-ease-basic)}@media (hover: hover) and (pointer: fine){._RadioItem_onrfm_43:where(:not([data-disabled])):hover{box-shadow:0 0 0 1px var(--radio-group-indicator-border-color-hover) inset}}._RadioItem_onrfm_43[data-disabled]{cursor:not-allowed}._RadioItem_onrfm_43:focus{outline:none}._RadioItem_onrfm_43:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._RadioIndicator_onrfm_26{position:relative;display:inline-grid;align-items:center;justify-content:center;width:100%;height:100%}._RadioIndicator_onrfm_26:before,._RadioIndicator_onrfm_26:after{display:block;content:"";grid-column-start:1;grid-row-start:1;place-self:center center;will-change:transform}._RadioIndicator_onrfm_26:before{width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);border-radius:var(--radius-full);animation:_fade-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-background-color)}._RadioIndicator_onrfm_26:after{width:var(--radio-group-indicator-hole-size);height:var(--radio-group-indicator-hole-size);border-radius:var(--radius-full);animation:_scale-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-hole-background-color)}@keyframes _scale-in_onrfm_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _fade-in_onrfm_1{0%{opacity:0}to{opacity:1}}}.cloud-env-config{width:min(100%,820px);min-height:0;display:flex;flex-direction:column;gap:22px;margin:0 auto;padding:0}.cloud-env-categories{min-width:0;display:flex;flex-direction:column;gap:20px}.cloud-env-category{min-width:0}.cloud-env-category h2{margin:0 0 6px 4px;color:hsl(var(--foreground));font-size:14px;font-weight:500;line-height:1.4}.cloud-env-tool-list{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px}.cloud-env-tool{min-width:0;min-height:54px;display:flex;align-items:center;gap:10px;padding:4px;border-radius:8px;transition:background-color .15s ease,color .15s ease}.cloud-env-tool:hover,.cloud-env-tool.is-selected{background:hsl(var(--muted) / .34)}.cloud-env-tool-icon{width:38px;height:38px;flex:0 0 auto;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));color:hsl(var(--foreground) / .78)}.cloud-env-tool-icon svg,.cloud-env-tool-icon img{width:21px;height:21px;display:block}.cloud-env-tool-content{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:3px}.cloud-env-tool-content>strong{color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.4}.cloud-env-tool-description{min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.cloud-env-tool-action{width:28px;min-width:28px;height:28px;flex:0 0 auto;padding:0;border-radius:7px}.cloud-env-tool-action svg{width:14px;height:14px}.cloud-env-footer-trigger{width:100%;min-height:54px;display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.cloud-env-footer-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--muted) / .26)}.cloud-env-footer-trigger:focus-visible{outline:2px solid hsl(var(--ring) / .42);outline-offset:2px}.cloud-env-footer-trigger:disabled{cursor:not-allowed;opacity:.55}.cloud-env-footer-trigger-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:hsl(var(--muted) / .6);color:hsl(var(--foreground) / .76)}.cloud-env-footer-trigger-icon svg,.cloud-env-footer-trigger-action{width:16px;height:16px}.cloud-env-footer-trigger-copy{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:1px}.cloud-env-footer-trigger-copy>span{font-size:12.5px;font-weight:500;line-height:1.4}.cloud-env-footer-trigger-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.cloud-env-footer-trigger-badge,.cloud-env-footer-trigger-action{flex:0 0 auto}.cloud-env-footer-trigger-action{color:hsl(var(--muted-foreground))}.cloud-env-dialog-backdrop{position:fixed;z-index:1250;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cloud-env-dialog{width:min(900px,92vw);height:min(680px,86vh);min-height:480px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16)}.cloud-env-dialog-header{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px 10px 18px;border-bottom:1px solid hsl(var(--border))}.cloud-env-dialog-header h2,.cloud-env-dialog-header p{margin:0}.cloud-env-dialog-header h2{font-size:15px;font-weight:600;line-height:1.4}.cloud-env-dialog-header p{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cloud-env-dialog-header-actions{display:flex;align-items:center;gap:8px}.cloud-env-dialog-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cloud-env-dialog-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.cloud-env-dialog-close svg{width:16px;height:16px}.cloud-env-dialog-body{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px;padding:14px 18px}.cloud-env-dialog-toolbar{min-width:0;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:12px}.cloud-env-dialog-toolbar p{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.cloud-env-custom-notice{margin:0;padding:8px 10px;border-radius:7px;background:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55}.cloud-env-editor{flex:1;height:auto;min-width:0;min-height:240px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background))}.cloud-env-editor.is-invalid{border-color:hsl(var(--destructive) / .7)}.cloud-env-editor>.cm-theme-light,.cloud-env-editor .cm-editor{width:100%;height:100%;min-width:0;min-height:0}.cloud-env-editor .cm-scroller{overflow:auto}.cloud-env-editor .cm-focused{outline:2px solid hsl(var(--ring) / .36);outline-offset:-2px}.cloud-env-editor-loading{height:100%;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cloud-env-editor-error{margin:0;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.cloud-env-dialog-footer{min-height:56px;display:flex;align-items:center;justify-content:flex-end;padding:10px 18px;border-top:1px solid hsl(var(--border))}@media (max-width: 700px){.cloud-env-config{gap:14px}.cloud-env-categories{gap:20px}.cloud-env-tool-list{grid-template-columns:minmax(0,1fr)}.cloud-env-dialog-backdrop{padding:12px}.cloud-env-dialog{width:100%;height:min(720px,92vh)}.cloud-env-footer-trigger-badge{display:none}}@media (prefers-reduced-motion: reduce){.cloud-env-tool,.cloud-env-footer-trigger{transition:none}}.cw-root{--cw-workspace-gutter: 10px;--cw-workspace-width: 60%;--cw-workbench-toolbar-height: 64px;--cw-workspace-ink: 222 24% 13%;--cw-workspace-accent: 162 44% 32%;--cw-workspace-accent-soft: 156 34% 92%;--cw-workspace-warm: 42 28% 96%;flex:1;min-height:0;display:flex;flex-direction:column;height:100%;color:hsl(var(--foreground));background:hsl(var(--background))}.cw-root.is-validate{--cw-workspace-width: min(88%, 1440px)}.cw-root.is-environment{--cw-workspace-width: min(76%, 1100px)}.cw-root.is-publish{--cw-workspace-width: min(80%, 1180px)}.cw-workspace-header{position:relative;z-index:12;flex:0 0 auto;width:var(--cw-workspace-width);min-height:48px;display:flex;justify-content:center;align-items:center;margin:12px auto 0;padding:8px 0;background:transparent}.cw-workspace-header h1{margin:0;color:hsl(var(--foreground));font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.02em;white-space:nowrap}.cw-workspace-main{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;width:var(--cw-workspace-width);margin:0 auto;padding:8px 0 20px;background:transparent}.cw-workspace-footer{flex:0 0 auto;display:flex;flex-direction:column;width:var(--cw-workspace-width);gap:12px;margin:0 auto 24px;padding:12px 0 4px;background:transparent}.cw-workspace-footer-accessory{width:100%}.cw-workspace-nav-actions{width:100%;display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:12px;margin:0 auto}.cw-workspace-nav-actions.has-assistant{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"assistant next"}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:first-child,.cw-workspace-nav-actions.has-assistant>span[aria-hidden=true]{display:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-ai-slot{grid-area:assistant}.cw-publish-action-slot{grid-column:3;display:flex;justify-content:flex-end}.cw-publish-action-slot .pp-deploy{position:static;min-width:70px;min-height:38px;transform:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:last-child{grid-area:next}.cw-workspace-ai-slot{min-width:0}.cw-workspace-nav-button{min-height:36px;justify-self:start;padding:0 18px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:background-color .16s ease,border-color .16s ease}.cw-workspace-nav-button:last-child{justify-self:end}.cw-workspace-nav-button:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--muted) / .55)}.cw-workspace-nav-button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.cw-workspace-nav-button.is-primary:hover:not(:disabled){border-color:hsl(var(--foreground) / .86);background:hsl(var(--foreground) / .86)}.cw-workspace-nav-button:focus-visible,.cw-workspace-progress button:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}.cw-workspace-nav-button:disabled{cursor:not-allowed;opacity:.5}.cw-workspace-nav-button.is-placeholder{visibility:hidden;pointer-events:none}.cw-workspace-progress{width:min(176px,48vw);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0 auto}.cw-workspace-progress button{height:12px;padding:4px 0;border:0;background:transparent;cursor:pointer}.cw-workspace-progress button>span{display:block;height:3px;border-radius:999px;background:hsl(var(--muted-foreground) / .16);transition:background-color .16s ease}.cw-workspace-progress button.is-complete>span,.cw-workspace-progress button.is-active>span{background:hsl(var(--foreground) / .46)}.cw-workspace-progress button.is-active>span{height:4px}.cw-workspace-progress button:disabled{cursor:not-allowed}@media (prefers-reduced-motion: reduce){.cw-workspace-nav-button,.cw-workspace-progress button>span{transition:none}}.cw-build-workspace{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.cw-ai-compose{min-width:0}.cw-ai-compose-entry{min-width:0;display:grid;gap:6px}.cw-ai-compose-form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 4px 4px 16px;border-radius:16px;background:hsl(var(--panel));box-shadow:inset 0 0 0 1px hsl(var(--border) / .7),0 8px 24px hsl(var(--foreground) / .05);transition:background-color .18s ease,box-shadow .18s ease}.cw-ai-compose.is-generating .cw-ai-compose-form{background:hsl(var(--muted) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .05)}.cw-ai-compose-form input{min-width:0;height:38px;min-height:38px;padding:6px 0;border:0;outline:none;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.cw-ai-compose-form input::placeholder{color:hsl(var(--muted-foreground) / .72)}.cw-ai-compose-form:has(input:focus-visible){background:hsl(var(--background));box-shadow:0 0 0 2px hsl(var(--ring) / .12),inset 0 0 0 1px hsl(var(--ring) / .24)}.cw-ai-compose-form input:focus,.cw-ai-compose-form input:focus-visible{outline:none;box-shadow:none}.cw-ai-compose.is-generating .cw-ai-compose-form input{color:hsl(var(--muted-foreground) / .78);cursor:wait}.cw-ai-compose-form button{height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:0;border-radius:12px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650;white-space:nowrap;transition:background-color .15s ease,opacity .15s ease}.cw-ai-compose-form button:hover:not(:disabled){background:hsl(var(--foreground) / .86)}.cw-ai-compose-form button:disabled{cursor:not-allowed;opacity:.34}.cw-ai-requirement-error{margin:0;padding:0 16px;color:hsl(var(--destructive));font-size:12px;line-height:18px}.cw-ai-compose.is-generating .cw-ai-compose-form button:disabled{width:34px;padding:0;background:hsl(var(--foreground));opacity:1}.cw-ai-orb{width:14px;height:14px;display:block;border:1.5px solid hsl(var(--background) / .34);border-top-color:hsl(var(--background));border-radius:50%;animation:cw-ai-orb-spin .72s linear infinite}.cw-ai-orb>span{display:none}@keyframes cw-ai-orb-spin{to{transform:rotate(360deg)}}.cw-ai-compose-success{min-height:38px;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:2px 3px 2px 10px;border-radius:12px;background:hsl(var(--background) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .055);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cw-ai-compose-success strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:650}.cw-ai-success-check{position:relative;width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:hsl(var(--foreground))}.cw-ai-success-check:after{position:absolute;top:3px;left:6px;width:4px;height:7px;border:solid hsl(var(--background));border-width:0 2px 2px 0;content:"";transform:rotate(45deg)}.cw-ai-regenerate{height:34px;min-height:34px;padding:0 12px;border:0;border-radius:9px;background:hsl(var(--muted));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:background-color .15s ease}.cw-ai-regenerate:hover{background:hsl(var(--muted-foreground) / .12)}.cw-ai-compose-form button:focus-visible,.cw-ai-regenerate:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}@media (prefers-reduced-motion: reduce){.cw-ai-compose-form,.cw-ai-compose-form button,.cw-ai-regenerate{transition:none}.cw-ai-orb{animation:none}}.cw-ai-error-dialog{width:460px;font-family:inherit}.cw-ai-error-message{max-height:min(320px,50vh);margin:10px 0 18px;overflow:auto;color:hsl(var(--foreground) / .78);font-family:inherit;font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.cw-ai-error-close{border-color:transparent;background:hsl(var(--foreground));color:hsl(var(--background))}.cw-ai-error-close:hover{background:hsl(var(--foreground) / .86)}.cw-workspace-alert{position:absolute;z-index:30;top:94px;right:18px;max-width:min(420px,calc(100% - 36px));padding:10px 13px;border:1px solid hsl(var(--destructive) / .2);border-radius:9px;background:hsl(var(--background));box-shadow:0 12px 36px hsl(var(--foreground) / .12);color:hsl(var(--destructive));font-size:12.5px}.cw-editor{flex:1;width:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:0;overflow:hidden}.cw-editor>.abc-root{flex:0 0 200px;width:100%;min-width:0;min-height:200px;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-tree{flex-shrink:0;width:248px;overflow-y:auto;padding:16px 14px;border-right:1px solid hsl(var(--border));background:hsl(var(--panel))}.cw-tree-head{font-size:12px;font-weight:650;letter-spacing:.02em;color:hsl(var(--muted-foreground));padding:0 6px;margin-bottom:10px}.cw-tree-branch{display:flex;flex-direction:column}.cw-tree-node{position:relative;display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:13px;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.cw-tree-node:hover{background:hsl(var(--accent))}.cw-tree-node.is-selected{background:hsl(var(--primary) / .04);border-color:hsl(var(--primary) / .16)}.cw-tree-node.is-invalid{background:hsl(var(--destructive) / .07);border-color:hsl(var(--destructive) / .5)}.cw-tree-node.is-invalid.is-selected{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .6)}.cw-tree-node.is-draggable{cursor:grab}.cw-tree-node.is-draggable:active{cursor:grabbing}.cw-tree-node.is-dragover{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .45)}.cw-tree-icon{width:15px;height:15px;flex-shrink:0;opacity:.8}.cw-tree-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cw-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.cw-tree-type{font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--muted-foreground))}.cw-tree-actions{display:flex;align-items:center;gap:1px;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .12s ease}.cw-tree-node:hover .cw-tree-actions,.cw-tree-node.is-selected .cw-tree-actions{opacity:1;pointer-events:auto}.cw-tree-children{display:flex;flex-direction:column;gap:2px;margin-top:2px;margin-left:8px;padding-left:8px;border-left:1px solid hsl(var(--border))}.cw-detail{position:relative;flex:1 1 auto;width:100%;max-width:none;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-detail-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:0 4px 16px;background:hsl(var(--background))}.cw-detail-inner{max-width:none;margin:0 auto}.cw-lower{display:flex;gap:0;align-items:flex-start}.cw-detail .cw-form-col{flex:1;min-width:0;max-width:none;margin:0}.cw-debug{flex-shrink:0;width:380px;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid hsl(var(--border));background:hsl(var(--panel));transition:width .22s cubic-bezier(.22,1,.36,1),min-width .22s cubic-bezier(.22,1,.36,1),height .22s cubic-bezier(.22,1,.36,1),min-height .22s cubic-bezier(.22,1,.36,1),flex-basis .22s cubic-bezier(.22,1,.36,1),padding .18s ease}.cw-debug:not(.is-collapsed)>*{animation:cw-debug-content-in .18s ease-out both}.cw-debug.is-collapsed .cw-debug-expand{animation:cw-debug-control-in .18s .06s ease-out both}@keyframes cw-debug-content-in{0%{opacity:0;transform:scale(.985)}}@keyframes cw-debug-control-in{0%{opacity:0;transform:scale(.9)}}@media (prefers-reduced-motion: reduce){.cw-debug{transition:none}.cw-debug:not(.is-collapsed)>*,.cw-debug.is-collapsed .cw-debug-expand{animation:none}}.cw-debug-head{flex-shrink:0;height:var(--cw-workbench-toolbar-height);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid hsl(var(--border))}.cw-debug-collapse,.cw-debug-expand{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:color .12s,background .12s,transform .12s}.cw-debug-collapse{width:24px;height:24px}.cw-debug-collapse:hover,.cw-debug-expand:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.cw-debug-expand:hover{transform:scale(1.06)}.cw-debug.is-collapsed{width:48px;min-width:48px;height:100%;min-height:0;align-items:center;padding-top:14px}.cw-debug-expand{width:34px;height:34px;min-height:34px}.cw-debug-title{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:650;color:hsl(var(--foreground))}.cw-debug-start{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:6px 10px;border:none;border-radius:8px;background:#111;box-shadow:none;color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease,transform .15s ease}.cw-debug-start:hover:not(:disabled){background:#29292b;box-shadow:0 7px 18px #00000029}.cw-debug-start:active:not(:disabled){transform:translateY(0) scale(.98)}.cw-debug-start:disabled{opacity:.45;cursor:default}.cw-debug-sub{flex-shrink:0;display:flex;flex-direction:column;gap:3px;padding:10px 16px 14px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.cw-debug-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.cw-debug-body{flex:1;min-height:0;overflow-y:auto;padding:10px 16px 18px}.cw-debug-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-run-icon{width:17px;height:17px;transition:transform .16s cubic-bezier(.22,1,.36,1)}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:translate(1.5px)}@media (prefers-reduced-motion: reduce){.cw-debug-run-icon{transition:none}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:none}}.cw-debug-progress{display:flex;flex-direction:column;gap:8px}.cw-debug-logline{display:flex;align-items:center;gap:8px;min-height:28px;padding:7px 9px;border-radius:9px;background:hsl(var(--foreground) / .04);color:hsl(var(--muted-foreground));font-size:12.5px}.cw-debug-logline .cw-i{color:hsl(var(--foreground))}.cw-debug-error{display:flex;flex-direction:column;gap:12px;color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-debug-error-detail,.cw-debug-msg-error{width:100%;min-width:0;color:hsl(var(--destructive));text-align:left}.cw-debug-error-detail .deploy-error-message-text,.cw-debug-msg-error .deploy-error-message-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.cw-debug-chat{min-height:100%;display:flex;flex-direction:column;gap:18px}.cw-debug-chat-empty{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-msg{display:flex;flex-direction:column;gap:6px;max-width:100%}.cw-debug-msg-user{align-items:flex-end}.cw-debug-msg-assistant{align-items:flex-start}.cw-debug-role{display:none}.cw-debug-content{max-width:100%;color:hsl(var(--foreground));font-size:14px;line-height:1.65;word-break:break-word}.cw-debug-msg-user .cw-debug-content{max-width:88%;padding:9px 14px;border-radius:18px;background:hsl(var(--secondary))}.cw-debug-msg-assistant .cw-debug-content{width:100%}.cw-debug-composer{flex-shrink:0;padding:10px 14px 14px;background:hsl(var(--panel))}.cw-debug-composerbox{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 10px;border:1px solid hsl(var(--border));border-radius:24px;background:hsl(var(--background))}.cw-debug-input{flex:1;min-width:0;max-height:120px;padding:8px 4px;border:none;outline:none;resize:none;overflow-y:auto;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.5}.cw-debug-input::placeholder{color:hsl(var(--muted-foreground))}.cw-debug-send{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;transition:opacity .15s,transform .1s,background .12s,color .12s}.cw-debug-send{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-debug-send:hover:not(:disabled){opacity:.85}.cw-debug-send:active:not(:disabled){transform:scale(.94)}.cw-debug-send:disabled{opacity:.3;cursor:default}.cw-debug-overlay{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:22px;background:hsl(var(--panel) / .5);backdrop-filter:blur(9px) saturate(.9);-webkit-backdrop-filter:blur(9px) saturate(.9)}.cw-debug-overlay-content{width:min(100%,290px);display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border:1px solid hsl(var(--border) / .72);border-radius:12px;background:hsl(var(--background) / .82);box-shadow:0 10px 30px hsl(var(--foreground) / .08);text-align:center}.cw-debug-overlay-title{color:hsl(var(--foreground));font-size:14px;font-weight:650}.cw-debug-overlay-copy{color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.55}.cw-debug-overlay-progress{width:100%;display:flex;flex-direction:column;gap:8px}.cw-debug-overlay-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px}.cw-debug-ignore{min-height:30px;padding:6px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,transform .1s}.cw-debug-ignore:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--background))}.cw-debug-ignore:active:not(:disabled){transform:scale(.96)}.cw-debug-ignore:disabled{opacity:.45;cursor:default}.cw-validation-workspace{position:relative;flex:1;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.cw-optimization-panel{min-width:0;min-height:0;display:flex;flex-direction:column;padding:22px 16px 16px;border-right:1px solid hsl(var(--border));background:hsl(var(--cw-workspace-warm))}.cw-optimization-head{display:flex;flex-direction:column;gap:5px;padding:0 4px 18px}.cw-optimization-head>span{color:hsl(var(--cw-workspace-ink));font-size:16px;font-weight:700;letter-spacing:-.02em}.cw-optimization-head>small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cw-optimization-list{display:flex;flex-direction:column;gap:8px}.cw-optimization-option{position:relative;width:100%;display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid hsl(var(--border) / .82);border-radius:11px;background:hsl(var(--panel) / .62);color:hsl(var(--foreground));cursor:pointer;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.cw-optimization-option:hover{border-color:hsl(var(--cw-workspace-ink) / .24);background:hsl(var(--panel))}.cw-optimization-option.is-disabled{cursor:not-allowed;opacity:.62}.cw-optimization-option.is-disabled:hover{border-color:hsl(var(--border) / .82);background:hsl(var(--panel) / .62)}.cw-optimization-option:has(input:focus-visible){outline:2px solid hsl(var(--cw-workspace-ink) / .34);outline-offset:2px}.cw-optimization-option input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.cw-optimization-check{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;border:1px solid hsl(var(--foreground) / .24);border-radius:5px;background:hsl(var(--panel));color:#fff}.cw-optimization-check .cw-i{width:11px;height:11px;stroke-width:2.4}.cw-optimization-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.cw-optimization-copy strong{color:hsl(var(--cw-workspace-ink));font-size:12.5px;font-weight:650}.cw-optimization-copy small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.45}.cw-validation-content{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-ab-workspace{flex:1;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:hsl(var(--background))}.cw-ab-stage{position:relative;flex:1;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{min-height:100%;display:grid;grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr));grid-auto-rows:minmax(420px,1fr);align-items:stretch;gap:12px}.cw-ab-card{min-width:0;min-height:420px;display:flex;flex-direction:column;perspective:1400px}.cw-ab-card-inner{position:relative;width:100%;min-height:420px;flex:1;transform-style:preserve-3d;transition:transform .44s cubic-bezier(.22,1,.36,1)}.cw-ab-card-inner.is-flipped{transform:rotateY(180deg)}.cw-ab-card-face{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px dashed hsl(var(--foreground) / .2);border-radius:16px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:border-color .16s ease,background-color .16s ease}.cw-ab-card-back{transform:rotateY(180deg);overflow-x:hidden;overflow-y:auto}.cw-ab-card-head{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px 9px 14px}.cw-ab-card-title{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ab-card-title strong{font-size:13.5px;font-weight:680}.cw-ab-card-title span{max-width:150px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-ab-card-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.cw-ab-config-trigger,.cw-ab-remove{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11px;font-weight:400}.cw-ab-config-trigger{background:transparent;color:hsl(var(--muted-foreground))}.cw-ab-config-trigger:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-remove:hover{background:hsl(var(--secondary) / .62);color:hsl(var(--foreground))}.cw-ab-config-trigger:disabled,.cw-ab-remove:disabled{cursor:default;opacity:.45}.cw-ab-remove{width:28px;padding:0;background:transparent}.cw-ab-config-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px;background:hsl(var(--background) / .94)}.cw-ab-config-head>div{min-width:0;display:flex;flex-direction:column;gap:3px}.cw-ab-config-head strong{font-size:16px;font-weight:680}.cw-ab-config-head span{color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-config-head>.cw-ab-config-head-actions{flex:0 0 auto;display:inline-flex;flex-direction:row;align-items:center;gap:6px}.cw-ab-config-head-actions .cw-ab-config-remove{width:32px;height:32px}.cw-ab-config-done{min-height:32px;padding:0 11px;border:0;border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650}.cw-ab-config-done-wrap{position:relative;flex:0 0 auto;display:inline-flex;border-radius:8px}.cw-ab-config-done:disabled{background:hsl(var(--secondary) / .82);color:hsl(var(--muted-foreground) / .68);cursor:not-allowed}.cw-ab-config-head .cw-ab-config-done-tip{position:absolute;z-index:8;right:0;top:calc(100% + 7px);bottom:auto;width:max-content;max-width:190px;padding:6px 8px;border-radius:7px;background:hsl(var(--foreground));color:#fff;font-size:11px;font-weight:400;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease}.cw-ab-config-done-wrap.is-disabled:hover .cw-ab-config-done-tip,.cw-ab-config-done-wrap.is-disabled:focus-visible .cw-ab-config-done-tip{opacity:1;transform:translateY(0)}.cw-ab-config-done-wrap:focus-visible{outline:2px solid hsl(var(--foreground) / .18);outline-offset:2px}.cw-ab-config{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;padding:12px 16px 16px;background:hsl(var(--background))}.cw-ab-config>label,.cw-ab-config fieldset{min-width:0;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0}.cw-ab-config>label>span,.cw-ab-config legend{color:hsl(var(--muted-foreground));font-size:13px;font-weight:650}.cw-ab-config legend{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-ab-config legend em{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-style:normal;font-weight:550}.cw-ab-profile-field{display:grid;gap:7px;margin-bottom:10px}.cw-ab-profile-label{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-ab-profile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cw-ab-profile-option{min-width:0;min-height:44px;display:flex;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .82);color:hsl(var(--foreground));transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.cw-ab-profile-option:hover:not(.is-disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-ab-profile-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-ab-profile-option.is-disabled{cursor:not-allowed;opacity:.55}.cw-ab-profile-option:focus-within{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .28)}.cw-ab-profile-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-ab-profile-control{align-self:stretch;width:100%;min-width:0;min-height:100%;padding:7px 8px;color:inherit}.cw-ab-profile-copy{min-width:0;display:grid;gap:2px;text-align:left}.cw-ab-profile-copy strong{overflow:hidden;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.cw-ab-profile-copy small,.cw-ab-profile-help{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:400;line-height:1.4}.cw-ab-config input[type=text],.cw-ab-config>label>input,.cw-ab-config>label>textarea{width:100%;min-height:40px;padding:8px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.cw-ab-config>label>textarea{min-height:58px;max-height:132px;resize:vertical;line-height:1.55}.cw-ab-optimization-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cw-ab-optimization-checkbox{display:inline-flex;align-items:center;gap:0;padding:8px 9px;border-radius:8px;background:hsl(var(--background) / .82);color:hsl(var(--foreground));font-size:12.5px;cursor:pointer}.cw-ab-optimization-checkbox>label{padding-left:7px;color:inherit;font-size:inherit}.cw-ab-optimization-copy{display:grid;gap:2px}.cw-ab-optimization-copy strong{font-size:12.5px;font-weight:650}.cw-ab-optimization-copy small{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:400;line-height:1.35}.cw-ab-optimization-note,.cw-ab-optimization-error{display:block;margin-top:7px;font-size:11.5px;line-height:1.4}.cw-ab-optimization-note{color:hsl(var(--muted-foreground))}.cw-ab-optimization-error{color:hsl(var(--destructive))}.cw-ab-config>p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.cw-optimize-workspace{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:4px 0 12px}.cw-optimize-panel{width:100%;display:grid;gap:32px;padding:4px 0 12px}.cw-optimize-section{min-width:0;display:grid;gap:12px;margin:0;padding:0;border:0}.cw-optimize-section legend{margin-bottom:16px;padding:0;color:hsl(var(--foreground));font-size:13px;font-weight:650}.cw-optimize-profile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;margin:-3px 0;padding:3px}.cw-optimize-profile-option{min-width:0;min-height:88px;height:100%;display:flex;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.cw-optimize-profile-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--muted) / .42)}.cw-optimize-profile-option.is-on{border-color:hsl(var(--foreground) / .34);background:hsl(var(--secondary) / .46)}.cw-optimize-profile-option:focus-within{outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .28)}.cw-optimize-profile-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-optimize-profile-control{align-self:stretch;width:100%;min-width:0;min-height:100%;padding:14px 16px;color:inherit}.cw-optimize-profile-copy,.cw-optimize-option-copy{min-width:0;display:grid;gap:4px;text-align:left}.cw-optimize-profile-copy strong,.cw-optimize-option-copy strong{color:hsl(var(--foreground));font-size:13px;font-weight:650}.cw-optimize-profile-copy small,.cw-optimize-option-copy small{color:hsl(var(--muted-foreground));font-size:12px;font-weight:400;line-height:1.5}.cw-optimize-option-list{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.cw-optimize-option-group{min-width:0;display:grid;gap:8px}.cw-optimize-option-group-title{margin:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;line-height:1.45}.cw-optimize-option-group-items{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.cw-optimize-option{min-height:68px;display:inline-flex;align-items:flex-start;gap:0;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--muted) / .32);color:hsl(var(--foreground));cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.cw-optimize-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--muted) / .52)}.cw-optimize-option:has(input:checked){border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .5)}.cw-optimize-option:focus-within{box-shadow:0 0 0 2px hsl(var(--ring) / .28)}.cw-optimize-option>label{align-items:flex-start;padding-left:10px;color:inherit}.cw-ab-conversation{flex:1;min-height:0;overflow-y:auto;padding:14px}.cw-ab-empty{height:100%;min-height:210px;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-launch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.cw-ab-launch-hint{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-ab-ready-title{color:hsl(var(--foreground));font-size:20px;font-weight:760;line-height:1.1}.cw-ab-starting{align-content:center;gap:8px}.cw-ab-starting .cw-i{width:18px;height:18px}.cw-ab-start{min-width:118px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:0;border-radius:9px;background:hsl(var(--secondary) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:580;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-start:hover:not(:disabled){background:hsl(var(--secondary));box-shadow:none}.cw-ab-start:disabled{background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground) / .62);cursor:not-allowed}.cw-ab-start .cw-i{width:15px;height:15px}.cw-ab-deploy-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 12px 12px}.cw-ab-trace{min-height:32px;margin-right:auto;padding:0 10px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:500;transition:background-color .16s ease,color .16s ease}.cw-ab-trace:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-trace:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-ab-trace:disabled{color:hsl(var(--muted-foreground) / .48);cursor:not-allowed}.cw-ab-footer-start{min-width:0;background:hsl(var(--secondary) / .58)}.cw-ab-deploy{min-height:32px;padding:0 13px;border:0;border-radius:8px;background:#111;color:#fff;cursor:pointer;font:inherit;font-size:11.5px;font-weight:620;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-deploy:hover:not(:disabled){background:#29292b;box-shadow:0 6px 16px #00000024}.cw-ab-deploy:disabled{cursor:not-allowed;opacity:.42}.cw-ab-add{min-height:48px;align-self:stretch;justify-content:center;padding-inline:18px;white-space:nowrap}.cw-ab-composer{position:relative;z-index:2;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:18px var(--cw-workspace-gutter) 18px;background:hsl(var(--background))}.cw-ab-composer .cw-debug-composerbox{width:100%;min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;background:#fff;box-shadow:0 8px 22px hsl(var(--foreground) / .045)}.cw-ab-composer .cw-debug-input{background:#fff}.cw-debug.is-standalone{flex:1;width:100%;min-width:0;border-left:0;background:transparent}.cw-debug.is-standalone .cw-debug-head{height:58px;padding-inline:22px;background:hsl(var(--panel) / .7)}.cw-debug.is-standalone .cw-debug-title{font-size:15px}.cw-debug.is-standalone .cw-debug-body{padding:22px clamp(18px,5vw,72px) 28px}.cw-debug.is-standalone .cw-debug-chat{width:min(100%,840px);margin:0 auto}.cw-debug.is-standalone .cw-debug-chat-empty{min-height:260px;border:1px dashed hsl(var(--border));border-radius:16px;background:hsl(var(--panel) / .56)}.cw-debug.is-standalone .cw-debug-composer{padding:12px 210px 20px clamp(18px,5vw,72px);background:transparent}.cw-debug.is-standalone .cw-debug-composerbox{width:min(100%,840px);min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;box-shadow:0 12px 32px hsl(var(--foreground) / .06)}.cw-debug.is-standalone .cw-debug-overlay{background:hsl(var(--background) / .68)}.cw-debug.is-standalone .cw-debug-overlay-content{width:min(100%,390px);padding:28px;border-radius:16px}.cw-validation-prototype{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:clamp(26px,4vw,56px)}.cw-validation-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 28px;max-width:1040px}.cw-eyebrow{color:hsl(var(--cw-workspace-accent));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.15em}.cw-validation-page-head h2{margin:5px 0 4px;color:hsl(var(--cw-workspace-ink));font-size:clamp(24px,3vw,34px);font-weight:720;letter-spacing:-.045em}.cw-validation-page-head p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.cw-prototype-action{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid hsl(var(--cw-workspace-ink));border-radius:8px;background:hsl(var(--cw-workspace-ink));color:hsl(var(--background));font:inherit;font-size:12px;font-weight:650}.cw-prototype-action:disabled{cursor:not-allowed;opacity:.72}.cw-dataset-summary,.cw-variant-grid,.cw-metric-board,.cw-prototype-table,.cw-run-list,.cw-prototype-note{width:min(100%,1040px);margin-inline:auto}.cw-dataset-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 10px 32px hsl(var(--foreground) / .035)}.cw-dataset-summary>div{display:flex;flex-direction:column;gap:4px;padding:17px 20px}.cw-dataset-summary>div+div{border-left:1px solid hsl(var(--border))}.cw-dataset-summary strong{color:hsl(var(--cw-workspace-ink));font-size:22px;letter-spacing:-.04em}.cw-dataset-summary span{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-table{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-prototype-row{min-height:54px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(100px,.7fr) minmax(170px,1fr) 82px;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.cw-prototype-row.is-head{min-height:38px;border-top:0;background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.cw-prototype-row>strong{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-status-pill,.cw-run-status,.cw-run-kind{justify-self:start;padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.cw-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.cw-variant-card{position:relative;overflow:hidden;padding:20px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel));box-shadow:0 12px 34px hsl(var(--foreground) / .04)}.cw-variant-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:hsl(var(--foreground) / .22)}.cw-variant-card.is-candidate:before{background:hsl(var(--cw-workspace-accent))}.cw-variant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.cw-variant-head small{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));font-size:9.5px;letter-spacing:0;text-transform:none}.cw-variant-card>strong{color:hsl(var(--cw-workspace-ink));font-size:17px;letter-spacing:-.025em}.cw-variant-card>p{min-height:42px;margin:7px 0 22px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.6}.cw-variant-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.cw-variant-card dl>div{padding:9px 10px;border-radius:8px;background:hsl(var(--secondary) / .5)}.cw-variant-card dt{color:hsl(var(--muted-foreground));font-size:9.5px}.cw-variant-card dd{margin:3px 0 0;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px}.cw-metric-board{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-metric-head,.cw-metric-row{display:grid;grid-template-columns:minmax(170px,1fr) 100px 100px 88px;align-items:center;gap:12px;padding:11px 16px}.cw-metric-head{grid-template-columns:auto auto minmax(0,1fr);min-height:48px;border-bottom:1px solid hsl(var(--border))}.cw-metric-head .cw-i{width:15px;color:hsl(var(--cw-workspace-accent))}.cw-metric-head strong{font-size:12px}.cw-metric-head span{justify-self:end;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-metric-row{min-height:44px;color:hsl(var(--muted-foreground));font-size:11px}.cw-metric-row+.cw-metric-row{border-top:1px solid hsl(var(--border) / .7)}.cw-metric-row strong{color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.cw-metric-row em{color:hsl(var(--cw-workspace-accent));font-size:10.5px;font-style:normal;font-weight:650}.cw-run-list{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-run-row{min-height:72px;display:grid;grid-template-columns:36px minmax(220px,1fr) 70px 110px 72px;align-items:center;gap:12px;padding:11px 16px}.cw-run-row+.cw-run-row{border-top:1px solid hsl(var(--border))}.cw-run-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-run-icon .cw-i{width:14px;height:14px}.cw-run-row>div{min-width:0}.cw-run-row strong{color:hsl(var(--foreground));font-size:12px}.cw-run-row p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-run-row time{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-run-status.is-running{background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-prototype-note{display:flex;align-items:center;gap:7px;margin-top:14px;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-note .cw-i{width:13px;height:13px}.cw-publish-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:hsl(var(--muted-foreground));font-size:12px}.cw-publish-loading .cw-i{width:22px;height:22px;margin-bottom:5px;color:hsl(var(--cw-workspace-accent))}.cw-publish-loading strong{color:hsl(var(--foreground));font-size:14px}.cw-header{flex-shrink:0;display:flex;align-items:flex-start;gap:16px;padding:18px 24px 16px;border-bottom:1px solid hsl(var(--border))}.cw-header-title{flex:1;min-width:0}.cw-header-mode{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.cw-title{margin:5px 0 2px;font-size:21px;font-weight:650;letter-spacing:-.02em}.cw-subtitle{margin:0;font-size:13px;color:hsl(var(--muted-foreground))}.cw-progress-pill{flex-shrink:0;margin-top:2px;padding:5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.cw-body{flex:1;min-height:0;overflow-y:auto}.cw-center{display:flex;align-items:flex-start;justify-content:center;gap:32px;max-width:960px;margin:0 auto;padding:32px 24px 80px}.cw-form-col{flex:1 1 auto;min-width:0;max-width:640px;display:flex;flex-direction:column;gap:12px}.cw-section{scroll-margin-top:24px;padding:0;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.cw-sec-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker)){overflow:visible}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker))>.cw-sec-head{border-radius:17px 17px 0 0}.cw-sec-body{padding:2px 18px 6px}.cw-sec-title{margin:0;font-size:14px;font-weight:620;letter-spacing:-.01em;color:hsl(var(--foreground))}.cw-sec-hint{margin:0;font-size:13px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-form{display:flex;flex-direction:column;gap:0}.cw-section-desc{margin:0;font-size:13px;line-height:1.6;color:hsl(var(--muted-foreground))}.cw-field{display:grid;grid-template-columns:minmax(124px,.34fr) minmax(0,1fr);align-items:start;column-gap:16px;row-gap:6px;padding:11px 0}.cw-form>.cw-field+.cw-field,.cw-form>.cw-toggle+.cw-toggle,.cw-form>.cw-field+.cw-toggle,.cw-form>.cw-toggle+.cw-field,.cw-toggle-stack>.cw-field,.cw-toggle-stack>.cw-toggle+.cw-toggle{border-top:1px dashed hsl(var(--border) / .8)}.cw-field>.cw-label,.cw-field>.cw-remote-center-head{grid-column:1;align-self:start}.cw-field:has(>.cw-input)>.cw-label{align-self:center}.cw-field:has(>.cw-model-picker)>.cw-label{align-self:center}.cw-field>:not(.cw-label):not(.cw-remote-center-head){grid-column:2;min-width:0}.cw-form>.cw-more-options{margin:10px 0 10px calc(34% + 16px)}.cw-form>.cw-model-more-options{margin-left:0}.cw-help:not(.cw-a2a-space-status):not(.cw-dependency-hint),.cw-section-desc:not(.cw-dependency-hint),.cw-remote-center-description,.cw-ctool-desc,.cw-skill-result-desc{display:none}.cw-dependency-hint{margin:0 0 14px calc(34% + 16px)}.cw-field>.cw-dependency-hint{grid-column:2;margin:0}.cw-more-options{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:-4px;padding:4px 0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:560;cursor:pointer;transition:color .14s ease}.cw-more-options:hover,.cw-more-options:focus-visible{color:hsl(var(--foreground))}.cw-more-options:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:3px;border-radius:4px}.cw-more-options-chevron{width:14px;height:14px;transition:transform .18s ease}.cw-more-options-chevron.is-open{transform:rotate(90deg)}.cw-more-options-count{margin-left:2px;padding:2px 7px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:10.5px;font-weight:600}.cw-model-advanced{display:flex;flex-direction:column;gap:20px;overflow:hidden}.cw-label-with-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.cw-label-with-link a{display:inline-flex;align-items:center;gap:3px;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.3;text-decoration:none}.cw-label-with-link a:hover,.cw-label-with-link a:focus-visible{color:hsl(var(--foreground));text-decoration:underline;text-underline-offset:2px}.cw-label-with-link a svg{width:10px;height:10px}.cw-model-source-field{align-items:center}.cw-model-source-field>.cw-label{align-self:center}.cw-model-source-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-model-source-option{min-width:0;min-height:36px;display:flex;align-items:stretch;overflow:hidden;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.cw-model-source-option:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .22)}.cw-model-source-option.is-disabled{background:hsl(var(--muted) / .18);color:hsl(var(--muted-foreground));opacity:.7}.cw-model-source-option.is-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--muted) / .18)}.cw-model-source-option.is-on{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .055);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.cw-model-source-option>.flex{flex:1;min-width:0}.cw-model-source-control{width:100%;min-height:100%;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:8px 10px;color:inherit;cursor:pointer;font-size:12.5px;font-weight:560}.cw-model-source-option.is-disabled .cw-model-source-control{cursor:not-allowed}.cw-model-source-coming-soon{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;line-height:1.3}.cw-label{font-size:13px;font-weight:400;color:hsl(var(--foreground))}.cw-req{margin-left:2px;color:hsl(var(--destructive))}.cw-help{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-remote-center-head{display:flex;flex-direction:column;gap:6px}.cw-remote-center-description{display:block;max-width:560px;margin:0;line-height:1.6}.cw-a2a-space-picker{position:relative;display:flex;flex-direction:column;gap:8px}.cw-model-picker-stack{display:grid;min-width:0;gap:12px}.cw-model-picker-field{display:grid;min-width:0;gap:6px}.cw-model-picker-label{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.45}.cw-a2a-space-picker.is-open{z-index:80}.cw-a2a-space-row{display:flex;align-items:center;gap:8px}.cw-a2a-space-select-wrap{position:relative;flex:1;min-width:0}.cw-a2a-space-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.cw-a2a-space-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.cw-a2a-space-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background-color:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.cw-a2a-space-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-trigger:disabled{cursor:not-allowed;opacity:.5}.cw-a2a-space-trigger.is-error{box-shadow:0 0 0 1px hsl(var(--destructive) / .55)}.cw-a2a-space-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.cw-a2a-space-trigger-icon{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.cw-a2a-space-trigger[aria-expanded=true] .cw-a2a-space-trigger-icon{transform:rotate(180deg)}.cw-a2a-space-menu{position:absolute;z-index:81;top:calc(100% + 6px);left:0;width:100%;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08);font-size:12px}.cw-catalog-menu{width:min(460px,calc(100vw - 64px))}.cw-catalog-menu-portal{position:fixed;z-index:1000;display:flex;min-height:0;flex-direction:column;overflow:hidden}.cw-picker-search{padding:4px 4px 6px;border-bottom:1px solid hsl(var(--border) / .72)}.cw-picker-search-input{width:100%;height:30px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.cw-picker-search-input:focus{border-color:hsl(var(--ring) / .5);box-shadow:0 0 0 2px hsl(var(--ring) / .1)}.cw-picker-options{max-height:188px;overflow-y:auto;padding-top:4px;overscroll-behavior:contain}.cw-picker-empty{padding:14px 10px;color:hsl(var(--muted-foreground));text-align:center}.cw-a2a-space-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-option:hover,.cw-a2a-space-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.cw-a2a-space-option.is-selected{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-catalog-options{min-height:0;max-height:none;flex:1;scrollbar-gutter:stable}.cw-model-key-option{justify-content:space-between;gap:12px}.cw-model-key-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-key-option>span{flex:1}.cw-model-option{min-height:48px;justify-content:space-between;gap:14px;white-space:normal}.cw-model-option.is-activation-link{cursor:pointer}.cw-model-option:disabled{cursor:default;opacity:.62}.cw-model-option:disabled:hover{background:transparent}.cw-model-option-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.cw-model-option-copy strong,.cw-model-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-option-copy strong{font-size:12.5px;font-weight:620}.cw-model-option-copy small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cw-model-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:hsl(var(--muted) / .68);color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.25}.cw-model-status:before{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:currentColor;content:""}.cw-model-status.is-available{background:#34b2621f;color:#2a844b}.cw-model-status.is-retiring{background:#eda01d1f;color:#a2631a}.cw-model-status.is-unavailable,.cw-model-status.is-unknown{background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground))}.cw-a2a-space-refresh{flex-shrink:0;width:36px;height:36px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .12s ease,background-color .12s ease}.cw-a2a-space-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .4)}.cw-a2a-space-refresh:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-status{display:inline-flex;align-items:center;gap:6px}.cw-a2a-space-error{align-items:flex-start;padding:9px 11px;font-size:12.5px}.cw-viking-kb-picker{gap:6px}.cw-viking-kb-inline-status{min-height:36px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.cw-viking-kb-menu{padding:3px;box-shadow:0 6px 18px hsl(var(--foreground) / .06)}.cw-viking-kb-menu .cw-picker-options{max-height:min(112px,calc(100vh - 310px))}.cw-viking-kb-menu .cw-a2a-space-option{min-height:28px;padding:5px 9px;line-height:1.25}.cw-viking-kb-refresh{color:hsl(var(--foreground) / .72)}.cw-viking-kb-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .28);background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.cw-viking-kb-refresh:disabled{color:hsl(var(--muted-foreground))}.cw-error-text{font-size:12px;color:hsl(var(--destructive))}.cw-env-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:5px}.cw-env-field{display:flex;min-width:0;flex-direction:column;gap:6px}.cw-env-field-head{display:grid;min-width:0;gap:3px;color:hsl(var(--foreground));font-size:12px;font-weight:560}.cw-env-field-title{display:inline-flex;min-width:0;align-items:center;gap:5px}.cw-env-field-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}.cw-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.cw-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.cw-env-help:hover .cw-env-help-popover,.cw-env-help:focus-visible .cw-env-help-popover,.cw-env-help:focus-within .cw-env-help-popover{opacity:1;pointer-events:auto}.cw-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.cw-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.cw-env-link svg{width:13px;height:13px;flex:0 0 13px}.cw-env-field-head code{display:block;max-width:100%;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.cw-env-empty{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12px}.cw-input{min-width:0;width:100%;min-height:38px;padding:9px 12px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}.cw-input::placeholder{color:hsl(var(--muted-foreground))}.cw-input:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.cw-input.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-env-textarea{min-height:96px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap}.cw-env-error{margin-top:-2px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.4}.cw-textarea{width:100%;padding:11px 13px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .12s,box-shadow .12s}.cw-textarea::placeholder{color:hsl(var(--muted-foreground))}.cw-textarea:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-textarea.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}@keyframes cw-error-shake-a{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes cw-error-shake-b{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.cw-error-shake-0{animation:cw-error-shake-a .28s ease-in-out}.cw-error-shake-1{animation:cw-error-shake-b .28s ease-in-out}@media (prefers-reduced-motion: reduce){.cw-error-shake-0,.cw-error-shake-1{animation:none}}.cw-textarea-sm{min-height:80px;max-height:160px;overflow-y:auto}.cw-textarea-lg{min-height:340px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.cw-markdown-loading,.cw-markdown-editor:not(.mdxeditor-popup-container){min-height:340px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background))}.cw-markdown-loading{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px}.cw-markdown-editor:not(.mdxeditor-popup-container){display:flex;flex-direction:column;max-height:420px;overflow:hidden;color:hsl(var(--foreground));transition:border-color .12s,box-shadow .12s}.cw-markdown-editor:not(.mdxeditor-popup-container):focus-within{border-color:hsl(var(--ring) / .45);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-markdown-editor:not(.mdxeditor-popup-container).is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-markdown-fallback{width:100%;min-height:340px;max-height:420px;resize:vertical;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));padding:18px 20px 28px;font:inherit;font-size:14px;line-height:1.7;transition:border-color .12s,box-shadow .12s}.cw-markdown-fallback:focus{outline:none;border-color:hsl(var(--ring) / .45);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-markdown-fallback.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-markdown-toolbar{flex-shrink:0;min-height:40px;padding:5px 8px;border:0;border-bottom:1px solid hsl(var(--border));border-radius:0;background:hsl(var(--muted) / .38)}.cw-markdown-toolbar button,.cw-markdown-toolbar [role=combobox]{color:hsl(var(--foreground))}.cw-markdown-content{min-height:298px;max-height:360px;overflow-y:auto;padding:18px 20px 28px;color:hsl(var(--foreground));font-size:14px;line-height:1.7}.cw-markdown-content:focus{outline:none}.cw-markdown-content h1,.cw-markdown-content h2,.cw-markdown-content h3{margin:1.1em 0 .45em;color:hsl(var(--foreground));font-weight:650;line-height:1.3}.cw-markdown-content h1:first-child,.cw-markdown-content h2:first-child,.cw-markdown-content h3:first-child{margin-top:0}.cw-markdown-content h1{font-size:20px}.cw-markdown-content h2{font-size:17px}.cw-markdown-content h3{font-size:15px}.cw-markdown-content p{margin:0 0 .8em}.cw-markdown-content ul,.cw-markdown-content ol{margin:.5em 0 .9em;padding-left:1.5em}.cw-markdown-content ul{list-style:disc outside}.cw-markdown-content ol{list-style:decimal outside}.cw-markdown-content li{display:list-item}.cw-markdown-content blockquote{margin:.8em 0;padding-left:12px;border-left:3px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.cw-markdown-error{display:block;margin-top:6px;color:hsl(var(--destructive));font-size:12px}.cw-tag-editor{display:flex;flex-direction:column;gap:12px}.cw-tag-inputrow{display:flex;gap:8px}.cw-tag-inputrow .cw-input{flex:1}.cw-presets{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.cw-presets-label{font-size:11.5px;color:hsl(var(--muted-foreground));margin-right:2px}.cw-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12.5px;white-space:nowrap}.cw-chip-ghost{border:1px dashed hsl(var(--border));background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;transition:background .12s,color .12s,border-color .12s}.cw-chip-ghost:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-chip-sub{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-pills{display:flex;flex-wrap:wrap;gap:8px}.cw-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:13px}.cw-pill-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:hsl(var(--foreground) / .06);color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-pill-x:hover{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.cw-empty-line{margin:0;font-size:12.5px;color:hsl(var(--muted-foreground))}.cw-check-inline{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:13px;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.cw-check-inline input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:hsl(var(--primary));cursor:pointer}.cw-checklist{display:flex;flex-direction:column;gap:8px}.cw-tools-list-shell{min-width:0;container-type:inline-size}.cw-tool-config{padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--muted) / .28)}.cw-tool-config-head{display:flex;flex-direction:column;gap:3px}.cw-checklist-tools{--cw-checklist-row-height: 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(var(--cw-checklist-row-height),auto);max-height:var(--cw-checklist-max-height);padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-checklist-tools .cw-check{min-height:var(--cw-checklist-row-height);align-items:center;padding:8px 10px}.cw-checklist-tools .cw-check-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@container (max-width: 575px){.cw-checklist-tools{grid-template-columns:minmax(0,1fr)}}.cw-check{display:flex;align-items:flex-start;gap:0;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-check>label{flex:1;min-width:0;padding-left:12px;color:inherit;cursor:pointer}.cw-checklist-tools .cw-check>label{padding-left:10px}.cw-check:hover{background:hsl(var(--foreground) / .05)}.cw-check.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-check-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-check-title{font-size:13.5px;font-weight:600;color:hsl(var(--foreground))}.cw-check-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-segmented{display:flex;flex-wrap:wrap;gap:8px}.cw-seg{flex:1 1 160px;display:flex;flex-direction:column;gap:2px;padding:11px 13px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-seg:hover{background:hsl(var(--foreground) / .05)}.cw-seg.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-seg-title{font-size:13px;font-weight:600;color:hsl(var(--foreground))}.cw-seg-desc{font-size:11.5px;line-height:1.45;color:hsl(var(--muted-foreground))}.cw-ctool{display:flex;flex-direction:column;gap:12px}.cw-ctool-inputs{display:flex;flex-wrap:wrap;gap:8px}.cw-ctool-inputs .cw-input{flex:1 1 180px}.cw-ctool-list{display:flex;flex-direction:column;gap:8px}.cw-ctool-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--card))}.cw-ctool-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.cw-ctool-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ctool-name{font-size:13.5px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:hsl(var(--foreground));word-break:break-word}.cw-ctool-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp,.cw-mcp-list{display:flex;flex-direction:column;gap:12px}.cw-mcp-row{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card))}.cw-mcp-rowhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-mcp-transport{display:inline-flex;gap:6px}.cw-seg-sm{flex:0 0 auto;min-width:72px;flex-direction:row;align-items:center;justify-content:center;text-align:center;padding:6px 16px;border-radius:9px}.cw-seg-sm .cw-seg-title{font-size:12.5px}.cw-mcp-note{margin:0;font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp-warning{display:flex;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;border:1px solid #b4530940;border-radius:8px;background:#b453091a;color:#b45309;font-size:12.5px;line-height:1.5}.cw-mcp-warning svg{flex:0 0 auto;width:15px;height:15px;margin-top:2px}.cw-mcp .cw-add-sub{margin-top:0}.cw-mcp-field{align-items:center}.cw-mcp-field>.cw-label{align-self:center}.cw-subfield{margin:0;padding:9px 0;border:0;border-radius:0;background:transparent}.cw-toggle-stack{gap:0}.cw-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:9px 0;border:0;border-radius:0;background:transparent;text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.cw-toggle:hover{background:hsl(var(--muted) / .18)}.cw-toggle.is-on{background:hsl(var(--muted) / .24);box-shadow:none}.cw-toggle-text{grid-column:1;grid-row:1;margin-left:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-toggle-title{font-size:14px;font-weight:600}.cw-toggle-help{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-switch{grid-column:2;grid-row:1;justify-self:end;flex-shrink:0;display:flex;align-items:center;width:42px;height:24px;padding:2px;border-radius:999px;background:hsl(var(--border));transition:background .18s}.cw-toggle.is-on .cw-switch{background:hsl(var(--primary));justify-content:flex-end}.cw-switch-knob{display:block;width:20px;height:20px;border-radius:50%;background:hsl(var(--background));box-shadow:0 1px 2px hsl(var(--foreground) / .2)}.cw-sub-list{display:flex;flex-direction:column;gap:14px}.cw-sub{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .03)}.cw-sub-head{display:flex;align-items:center;justify-content:space-between}.cw-sub-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.cw-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-icon-btn:not(:disabled):hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cw-icon-danger:not(:disabled):hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.cw-sub-head-actions{display:inline-flex;align-items:center;gap:2px}.cw-sub-list-wrap{display:flex;flex-direction:column}.cw-agent-type-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:14px 0}.cw-agent-type-option{position:relative;min-width:0;min-height:42px;display:flex;align-items:center;gap:10px;padding:0;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.cw-agent-type-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-agent-type-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-agent-type-option.is-disabled{color:hsl(var(--muted-foreground) / .52);cursor:not-allowed}.cw-agent-type-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-agent-type-control{align-self:stretch;flex:1;width:100%;min-width:0;min-height:100%;box-sizing:border-box;padding:10px 12px;color:inherit;cursor:inherit}.cw-agent-type-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-agent-type-copy strong{font-size:13px;font-weight:650}.cw-agent-type-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.cw-agent-type-disabled-hint{position:absolute;top:calc(100% + 17px);right:0;width:max-content;max-width:220px;padding:7px 10px;border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--popover));box-shadow:0 8px 24px hsl(var(--foreground) / .1);color:hsl(var(--popover-foreground));font-size:12px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease}.cw-agent-type-option.is-disabled:hover .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus-visible .cw-agent-type-disabled-hint{opacity:1;transform:translateY(0)}.cw-agent-type-option:focus-within,.cw-agent-type-option:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-add-sub{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:12px;width:100%;border:1px dashed hsl(var(--border));border-radius:12px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cw-add-sub:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-banner{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:var(--radius);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-review{display:flex;flex-direction:column;border:1px solid hsl(var(--border));border-radius:14px;overflow:hidden;background:hsl(var(--card))}.cw-review-row{display:flex;gap:18px;padding:13px 16px;border-bottom:1px solid hsl(var(--border))}.cw-review-row:last-child{border-bottom:none}.cw-review-key{flex-shrink:0;width:110px;font-size:13px;font-weight:500;color:hsl(var(--muted-foreground))}.cw-review-val{flex:1;min-width:0;font-size:13.5px}.cw-review-strong{font-weight:600}.cw-review-muted{color:hsl(var(--muted-foreground))}.cw-review-pre{margin:0;padding:10px 12px;background:hsl(var(--muted));border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.cw-review-chips,.cw-review-subs{display:flex;flex-wrap:wrap;gap:6px}.cw-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.cw-tag-on{background:#22c35d24;color:#1c7d3f}.cw-tag-off{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.cw-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid transparent;font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;transition:background .13s,opacity .13s,border-color .13s,transform .1s}.cw-btn:active{transform:scale(.98)}.cw-btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-btn-primary:hover:not(:disabled){opacity:.88}.cw-btn-primary:disabled{opacity:.4;cursor:default}.cw-btn-ghost{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.cw-btn-ghost:hover{background:hsl(var(--accent))}.cw-btn-soft{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));flex-shrink:0}.cw-btn-soft:hover:not(:disabled){background:hsl(var(--accent))}.cw-btn-soft:disabled{opacity:.45;cursor:default}.cw-i{width:16px;height:16px;flex-shrink:0}.cw-i-sm{width:14px;height:14px}.cw-root-preview{height:100%}.cw-preview-body{flex:1;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-preview-body>*{flex:1;min-height:0}.cw-environment-workspace{flex:1;min-width:0;min-height:0;display:flex;align-items:flex-start;overflow-x:hidden;overflow-y:auto;padding:20px 0 24px}.cw-skillhub{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px}.cw-skill-searchrow{display:flex;gap:8px}.cw-skill-searchbox{position:relative;flex:1;min-width:0;display:flex;align-items:center}.cw-skill-searchicon{position:absolute;left:11px;color:hsl(var(--muted-foreground));pointer-events:none}.cw-skill-input{padding-left:36px}.cw-skill-input:focus,.cw-skill-input:focus-visible{outline:2px solid hsl(var(--ring) / .38);outline-offset:1px;border-color:hsl(var(--ring) / .48);background:hsl(var(--background));box-shadow:none}.cw-skill-selected{display:flex;flex-direction:column;gap:8px}.cw-skill-selected-label{font-size:11.5px;font-weight:600;color:hsl(var(--muted-foreground))}.cw-skill-results{display:flex;flex-direction:column;gap:8px;max-height:472px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-skill-result{flex-shrink:0;display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s;min-height:72px}.cw-skill-result:hover{background:hsl(var(--foreground) / .05)}.cw-skill-result.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-skill-result-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));transition:background .12s,border-color .12s,color .12s}.cw-skill-result.is-on .cw-skill-result-icon{background:hsl(var(--foreground));border-color:hsl(var(--foreground));color:hsl(var(--background))}.cw-skill-result-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-skill-result-name{font-size:13.5px;font-weight:600;color:hsl(var(--foreground));word-break:break-word}.cw-skill-result-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-skill-result-repo{font-size:11px;font-family:inherit;line-height:1.4;color:hsl(var(--muted-foreground));word-break:break-all}.cw-skill-loading{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.cw-spin{animation:cw-spin .8s linear infinite}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-skillspane{display:flex;flex-direction:column;gap:10px;padding:10px 0 12px}.cw-skill-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.cw-skill-add:hover{border-color:hsl(var(--foreground) / .34);background:transparent;color:hsl(var(--foreground))}.cw-skill-add:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .25)}.cw-skill-add-icon{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.cw-skill-dialog-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#15181e47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cw-skill-dialog{width:min(680px,calc(100vw - 32px));height:min(640px,calc(100dvh - 40px));min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 72px #10131933}.cw-skill-dialog-head{flex-shrink:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 20px;border-bottom:1px solid hsl(var(--border))}.cw-skill-dialog-head h3{margin:0;font-size:16px;font-weight:650;letter-spacing:-.01em}.cw-skill-dialog-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-skill-dialog-close:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-skill-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px}.cw-skill-sourcetabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:44px;padding:4px;overflow:hidden;border:1px solid hsl(var(--border) / .55);border-radius:10px;background:hsl(var(--secondary) / .58)}.cw-skill-tab-slider{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:var(--cw-skill-tab-slider-width);border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--background));transform:translate(var(--cw-active-skill-tab-offset));transition:transform .24s cubic-bezier(.22,1,.36,1)}.cw-skill-pickertab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:34px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background .16s,color .16s}.cw-skill-pickertab:hover{background:hsl(var(--foreground) / .035);color:hsl(var(--foreground))}.cw-skill-pickertab.is-on{background:transparent;color:hsl(var(--foreground))}.cw-skill-pickertab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-skill-tabbody{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.cw-selected-skill-list{display:flex;flex-direction:column;gap:7px;max-height:347px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-selected-skill-row{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:9px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card))}.cw-selected-skill-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-selected-skill-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-selected-skill-name{overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-detail{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-selected-skill-remove:hover{background:hsl(var(--destructive) / .09);color:hsl(var(--destructive))}.cw-local{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px}.cw-local-dropzone{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px 14px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .15s,color .15s}.cw-local-drop-icon{width:20px;height:20px;color:hsl(var(--muted-foreground))}.cw-local-dropzone.is-dragging{border-color:hsl(var(--foreground) / .48);color:hsl(var(--foreground))}.cw-local-drop-hint{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px}.cw-local-dropzone.is-dragging .cw-local-drop-hint,.cw-local-dropzone.is-dragging .cw-local-drop-icon{color:hsl(var(--foreground))}.cw-local-hint{margin:0;font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-skillspace{height:100%;min-height:0;display:flex;flex-direction:column}.cw-skillspace-header{display:flex;gap:8px;align-items:center;margin-bottom:10px}.cw-skillspace-select{width:100%;flex:1;min-width:0}.cw-skillspace-region-label{flex-shrink:0;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted) / .52);color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;white-space:nowrap}.cw-skillspace-console-link{flex-shrink:0;padding:9px 12px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.cw-skillspace-console-link .cw-i{display:block}.cw-skill-result-version{color:hsl(var(--muted-foreground));font-weight:400;font-size:11px;margin-left:4px}.cw-skill-result-repo .cw-i{vertical-align:-2px;margin-right:2px}@media (max-width: 1280px){.cw-root{--cw-workspace-width: calc(100% - 48px) }.cw-workspace-header{padding-inline:16px}.cw-debug{width:280px}.cw-tree{width:208px}}@media (max-width: 1080px){.cw-editor{overflow:hidden}.cw-tree{height:auto}.cw-detail{flex:1 1 auto;width:100%;max-width:none;min-height:0}.cw-debug{flex:0 0 100%;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px;border-left:none;border-top:1px solid hsl(var(--border))}.cw-debug.is-collapsed{flex:0 0 48px;width:100%;min-width:0;height:48px;min-height:48px;align-items:flex-end;padding:7px 12px}.cw-debug.is-collapsed .cw-debug-expand{width:34px;min-height:34px}.cw-lower{gap:0}.cw-detail .cw-form-col{max-width:100%}}@media (max-width: 860px){.cw-root{--cw-workspace-gutter: 8px;--cw-workspace-width: calc(100% - 16px) }.cw-workspace-header{min-height:50px;padding:6px 10px}.cw-workspace-header h1{font-size:17px}.cw-validation-workspace{display:flex}.cw-ab-stage{padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr))}.cw-ab-composer{padding-inline:var(--cw-workspace-gutter)}.cw-editor{flex-direction:column;overflow-x:hidden;overflow-y:hidden}.cw-editor>.abc-root{flex:0 0 180px;width:100%;min-width:0;min-height:180px}.cw-tree{width:100%;height:auto;max-height:220px;border-right:0;border-bottom:1px solid hsl(var(--border))}.cw-detail{flex:1 1 auto;width:100%;max-width:none;height:auto;min-height:0;border-left:0}.cw-detail-scroll{padding:16px 12px 20px}.cw-debug{flex:none;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px}.cw-debug.is-collapsed{width:100%;height:48px;min-height:48px}.cw-center{gap:0;padding:24px 16px 64px}.cw-form-col{max-width:100%}}@media (max-width: 700px){.cw-workspace-header h1{text-align:center}.cw-workspace-nav-actions{grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr)}.cw-workspace-nav-button{padding-inline:12px}.cw-form>.cw-more-options,.cw-dependency-hint{margin-left:0}.cw-field{grid-template-columns:minmax(0,1fr);row-gap:8px}.cw-field>.cw-label,.cw-field>.cw-remote-center-head,.cw-field>:not(.cw-label):not(.cw-remote-center-head),.cw-field>.cw-dependency-hint{grid-column:1}.cw-optimization-list,.cw-ab-grid,.cw-ab-config,.cw-ab-profile-options,.cw-optimize-profile-options,.cw-optimize-option-list{grid-template-columns:minmax(0,1fr)}.cw-optimize-panel{padding:4px 0 12px}.cw-ab-composer{grid-template-columns:minmax(0,1fr);padding-bottom:12px}.cw-ab-add{width:100%}.cw-dataset-summary>div+div{border-top:1px solid hsl(var(--border));border-left:0}}.package-create{flex:1;min-width:0;min-height:0;display:flex;color:hsl(var(--foreground))}.package-create-preview{height:100%}.package-create-preview>*{flex:1;min-width:0;min-height:0}.package-source-pane{padding:16px 18px 18px}.package-source-label{margin-bottom:10px;color:hsl(var(--foreground));font-size:15px;font-weight:650}.package-dropzone{min-height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;border:1px dashed hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);text-align:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.package-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:3px}.package-dropzone.is-dragging{border-color:hsl(var(--primary) / .62);background:hsl(var(--primary) / .045)}.package-dropzone.is-ready{background:hsl(var(--background))}.package-dropzone>strong{max-width:100%;overflow:hidden;font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.package-dropzone>span{max-width:420px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.package-upload-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:5px}.package-upload-actions button{min-height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.package-upload-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.package-upload-secondary:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary))}.package-upload-actions button:disabled{cursor:default;opacity:.45}.package-upload-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.package-dropzone input{display:none}.package-create-error{flex:0 0 auto;margin-top:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));font-size:13px;line-height:1.5}@media (max-width: 860px){.package-dropzone{min-height:140px}}@media (prefers-reduced-motion: reduce){.package-dropzone,.package-upload-actions button{transition:none}}.migration-workspace{--migration-content-width: 1180px;width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template-columns:244px minmax(0,1fr);overflow:hidden;background:hsl(var(--canvas));color:hsl(var(--foreground));font-size:14px;letter-spacing:0}.migration-history{min-width:0;min-height:0;display:grid;grid-template-rows:64px auto minmax(0,1fr);padding:0 12px 14px;overflow:hidden;border-right:1px solid hsl(var(--border));background:hsl(var(--canvas) / .42)}.migration-history>header{display:flex;align-items:center;gap:8px;padding:0 4px}.migration-history h1{margin:0;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:0}.migration-icon-button{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-icon-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.migration-icon-button svg,.migration-new-button svg,.migration-file-chip svg,.migration-composer__file svg,.migration-attach-button svg,.migration-result__actions svg{width:17px;height:17px;flex:0 0 auto;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.migration-new-button{min-height:38px;display:flex;align-items:center;justify-content:flex-start;gap:9px;margin:2px 0 12px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.migration-new-button:hover:not(:disabled){background:hsl(var(--secondary));border-color:hsl(var(--border) / .72)}.migration-new-button:disabled,.migration-history nav>button:disabled{cursor:not-allowed;opacity:.5}.migration-history nav{min-height:0;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.migration-history nav>button{width:100%;min-height:58px;display:grid;align-content:center;gap:6px;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-history nav>button:hover:not(:disabled),.migration-history nav>button.is-active{background:hsl(var(--secondary))}.migration-history nav>button>span{overflow:hidden;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.migration-history nav small{display:flex;align-items:center;justify-content:space-between;gap:6px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.migration-history nav small span[data-state=failed],.migration-history nav small span[data-state=expired]{color:hsl(var(--destructive))}.migration-history nav small span[data-state=succeeded],.migration-history nav small span[data-state=succeeded_with_warnings]{color:#2a8457}.migration-history__empty{margin:16px 8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.migration-main{min-width:0;min-height:0;display:grid;grid-template-rows:64px minmax(0,1fr) auto;overflow:hidden;background:hsl(var(--background))}.migration-main__header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 28px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.migration-main__header>div{min-width:0}.migration-main__header>div:first-child{flex:1 1 auto}.migration-main__header h2{margin:0;overflow:hidden;font-size:15px;font-weight:600;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}.migration-main__header p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.migration-ttl{flex:0 0 auto;display:grid;justify-items:end;gap:1px;text-align:right;white-space:nowrap}.migration-ttl strong{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.4;font-variant-numeric:tabular-nums}.migration-ttl small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.migration-main__header-actions{flex:0 0 auto;display:flex;align-items:center;gap:12px}.migration-stop-button{min-height:32px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:transparent;color:hsl(var(--destructive));font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.migration-stop-button:hover:not(:disabled){border-color:hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .05)}.migration-stop-button:disabled{cursor:not-allowed;opacity:.45}.migration-conversation{min-height:0;overflow-y:auto;padding:32px clamp(24px,3vw,48px) 44px;scrollbar-gutter:stable}.migration-turn,.migration-confirmation,.migration-result,.migration-system-state,.migration-inline-error{max-width:var(--migration-content-width)}.migration-turn{width:100%;display:flex;gap:14px;margin:0 auto 28px}.migration-turn.is-user{justify-content:flex-end}.migration-assistant-mark{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.migration-turn.is-assistant>div:last-child,.migration-assistant-content{min-width:0;flex:1;color:hsl(var(--foreground));font-size:14.5px;line-height:1.65;overflow-wrap:anywhere}.migration-turn p{margin:0}.migration-turn small{display:block;margin-top:7px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.migration-user-message{min-width:0;max-width:min(680px,85%);display:grid;gap:8px;padding:10px 16px;border-radius:18px;background:hsl(var(--secondary));font-size:14px;line-height:1.6;overflow-wrap:anywhere}.migration-file-chip,.migration-composer__file{min-width:0;display:flex;align-items:center;gap:7px}.migration-file-chip{font-size:12.5px;font-weight:600}.migration-file-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-running-note{margin-top:10px!important;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.migration-activity{width:100%;display:grid;gap:10px;margin-top:18px}.migration-activity__heading{display:flex;align-items:center;gap:8px;min-height:30px;color:hsl(var(--muted-foreground))}.migration-activity__heading strong{font-size:13px;font-weight:550}.migration-activity__marker{width:7px;height:7px;flex:0 0 7px;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.migration-activity__marker.is-complete{border-color:hsl(var(--foreground) / .45);background:hsl(var(--foreground) / .45)}.migration-activity .block-thinking,.migration-activity .bubble,.migration-activity .block-plan,.migration-activity .block-tool{max-width:100%}.migration-activity__stream{display:grid;gap:8px}.migration-activity__error{margin:2px 0 0!important;color:hsl(var(--muted-foreground));font-size:12px}.migration-transfer-progress{width:100%;max-width:var(--migration-content-width);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;box-sizing:border-box;margin:0 auto 24px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .45)}.migration-assistant-content .migration-transfer-progress{margin:4px 0 2px}.migration-transfer-progress>div{min-width:0;display:flex;align-items:center;gap:8px;color:hsl(var(--muted-foreground))}.migration-transfer-progress__marker{width:8px;height:8px;flex:0 0 8px;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.migration-transfer-progress strong,.migration-transfer-progress .text-shimmer{min-width:0;overflow:hidden;font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.migration-transfer-progress>div.is-complete{color:hsl(var(--foreground))}.migration-transfer-progress>div.is-complete>.migration-transfer-progress__marker{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.migration-transfer-progress>div.is-active>.migration-transfer-progress__marker{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.migration-analysis{display:grid;gap:16px;margin-top:16px}.migration-analysis__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;padding:16px 0;border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border))}.migration-analysis h3{margin:0 0 6px;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.migration-analysis strong{font-size:13.5px;font-weight:600}.migration-analysis__facts p,.migration-analysis__facts ul{margin:4px 0 0;padding:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.migration-analysis__facts ul{padding-left:17px}.migration-analysis__evidence summary{width:max-content;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;cursor:pointer}.migration-analysis__evidence ul{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.migration-analysis__evidence li{display:grid;gap:3px;font-size:12px;line-height:1.5}.migration-analysis__evidence code{color:hsl(var(--foreground));overflow-wrap:anywhere}.migration-analysis__evidence span,.migration-analysis__warnings{color:hsl(var(--muted-foreground))}.migration-analysis__warnings{padding:11px 13px;border:1px solid hsl(38 80% 52% / .25);border-radius:8px;background:#eea62b12;font-size:12.5px;line-height:1.55}.migration-confirmation,.migration-result{width:100%;box-sizing:border-box;margin:0 auto 24px;border:1px solid hsl(var(--foreground) / .12);border-radius:8px;background:hsl(var(--panel))}.migration-confirmation{display:grid;gap:18px;padding:20px}.migration-confirmation__heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.migration-confirmation__heading strong{font-size:15px;font-weight:600}.migration-confirmation__heading span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;text-align:right;overflow-wrap:anywhere}.migration-confirmation__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.migration-confirmation .new-chat-compact-select{align-self:end}.migration-confirmation .new-chat-compact-select__trigger{width:100%;min-height:40px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background))}.migration-confirmation .new-chat-compact-select__menu{width:100%}.migration-field{min-width:0;display:grid;gap:7px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600;overflow-wrap:anywhere}.migration-field b{margin-left:3px;color:hsl(var(--destructive))}.migration-field input,.migration-field textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13.5px;font-weight:400}.migration-field input{height:40px;padding:0 11px}.migration-field textarea{min-height:88px;padding:10px 11px;line-height:1.55;resize:vertical}.migration-field input:focus,.migration-field textarea:focus{border-color:hsl(var(--ring) / .7);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.migration-field input:disabled,.migration-field textarea:disabled{cursor:not-allowed;opacity:.6}.migration-field small{color:hsl(var(--destructive));font-size:11.5px;font-weight:400}.migration-confirmation__actions{display:flex;justify-content:flex-end}.migration-primary-button,.migration-result__actions button,.migration-running-actions button,.migration-inline-error button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease}.migration-primary-button,.migration-result__actions button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.migration-primary-button:hover:not(:disabled),.migration-result__actions button.is-primary:hover:not(:disabled){opacity:.86}.migration-result__actions button:not(.is-primary):hover:not(:disabled),.migration-running-actions button:hover:not(:disabled),.migration-inline-error button:hover:not(:disabled){background:hsl(var(--secondary))}.migration-primary-button:disabled,.migration-result__actions button:disabled,.migration-running-actions button:disabled{cursor:not-allowed;opacity:.45}.migration-result{overflow:hidden}.migration-result>header{min-height:68px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:12px 16px;border-bottom:1px solid hsl(var(--border))}.migration-result>header>div:first-child{min-width:0;flex:1 1 280px;display:grid;gap:4px}.migration-result>header strong{font-size:14.5px;font-weight:600}.migration-result>header span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;overflow-wrap:anywhere}.migration-result__actions{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto}.migration-result__actions button span{color:inherit}.migration-result__summary{display:flex;align-items:center;flex-wrap:wrap;gap:7px 20px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.migration-result__summary span{min-width:0;overflow-wrap:anywhere}.migration-artifact-browser{height:min(58vh,620px);min-height:360px;display:grid;grid-template-columns:232px minmax(0,1fr)}.migration-artifact-browser>aside{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-right:1px solid hsl(var(--border));background:hsl(var(--canvas) / .3)}.migration-artifact-browser__search{padding:10px}.migration-artifact-browser__search input{width:100%;height:34px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px}.migration-artifact-browser__files{min-height:0;overflow-y:auto}.migration-artifact-browser__files button{width:100%;min-height:34px;display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 10px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.migration-artifact-browser__files button:hover,.migration-artifact-browser__files button.is-active{background:hsl(var(--secondary))}.migration-artifact-browser__files svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.migration-artifact-browser__files span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-artifact-browser__files small,.migration-artifact-browser__limit{color:hsl(var(--muted-foreground));font-size:10.5px}.migration-artifact-browser__limit{margin:0;padding:8px 10px;border-top:1px solid hsl(var(--border))}.migration-artifact-browser>section{min-width:0;min-height:0;display:grid;grid-template-rows:40px minmax(0,1fr)}.migration-artifact-browser>section>header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;border-bottom:1px solid hsl(var(--border));font-size:12px}.migration-artifact-browser>section>header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-artifact-browser>section>header small{flex:0 0 auto;color:hsl(var(--muted-foreground))}.migration-artifact-browser__preview{min-width:0;min-height:0;display:grid;place-items:stretch;overflow:hidden;background:hsl(var(--background));color:hsl(var(--muted-foreground));font-size:12px}.migration-artifact-browser__preview>.cm-theme-light,.migration-artifact-browser__preview .cm-editor{width:100%;height:100%;min-width:0;min-height:0}.migration-artifact-browser__preview .cm-scroller{overflow:auto}.migration-artifact-browser__preview>p,.migration-artifact-browser__preview>.text-shimmer,.migration-artifact-browser__preview>img{place-self:center}.migration-artifact-browser__preview img{max-width:100%;max-height:100%;object-fit:contain}.migration-system-state,.migration-inline-error{width:100%;box-sizing:border-box;margin:0 auto 22px;padding:12px 14px;border-radius:8px;font-size:12.5px;line-height:1.55}.migration-system-state.is-error,.migration-inline-error{border:1px solid hsl(var(--destructive) / .2);background:hsl(var(--destructive) / .045)}.migration-system-state.is-error{color:hsl(var(--foreground))}.migration-inline-error,.migration-system-state.is-error>strong{color:hsl(var(--destructive))}.migration-system-state strong{font-size:13.5px;font-weight:600}.migration-system-state p{margin:5px 0 0}.migration-system-state ul{margin:8px 0 0;padding-left:18px;color:hsl(var(--muted-foreground))}.migration-retry-button{min-height:32px;margin-top:8px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.migration-retry-button:hover{background:hsl(var(--secondary))}.migration-inline-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.migration-inline-error>span{min-width:0;overflow-wrap:anywhere}.migration-inline-error button{min-height:30px;flex:0 0 auto;color:inherit;font-size:11.5px}.migration-inline-error button[aria-label]{width:30px;padding:0;border:0;background:transparent}.migration-inline-error button svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.migration-expired{display:grid;gap:4px}.migration-composer{width:min(var(--migration-content-width),calc(100% - 64px));justify-self:center;padding:0 0 16px}.migration-composer__box{min-height:104px;position:relative;display:grid;grid-template-rows:minmax(40px,auto) 36px;gap:10px;box-sizing:border-box;padding:12px 14px;border:1px solid hsl(var(--foreground) / .14);border-radius:16px;background:hsl(var(--panel));box-shadow:0 8px 32px hsl(var(--foreground) / .028),0 24px 72px 8px hsl(var(--foreground) / .02);transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.migration-composer__box.is-dragging{border-color:hsl(var(--ring) / .7);background:hsl(var(--secondary) / .35)}.migration-composer__content{min-width:0;display:flex;align-items:center}.migration-composer__content>p{margin:0 2px;color:hsl(var(--muted-foreground));font-size:14px;line-height:1.5}.migration-composer__file{width:max-content;max-width:100%;min-height:36px;padding:0 8px 0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary));font-size:12.5px}.migration-composer__file span{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-composer__file small{color:hsl(var(--muted-foreground))}.migration-composer__file button{width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-composer__file button:hover{background:hsl(var(--background));color:hsl(var(--foreground))}.migration-composer__file button svg{width:14px;height:14px}.migration-composer__actions{display:flex;align-items:center;justify-content:space-between}.migration-attach-button{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-attach-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.migration-confirm-upload-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .14s ease,transform .14s ease}.migration-confirm-upload-button:hover:not(:disabled){opacity:.86}.migration-confirm-upload-button:disabled,.migration-attach-button:disabled{cursor:not-allowed;opacity:.42}.migration-composer input[type=file]{display:none}.migration-composer>p{margin:8px 4px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.migration-deployment{width:100%;height:100%;min-width:0;min-height:0;display:flex}.migration-deployment>*{flex:1;min-width:0;min-height:0}.migration-deployment-summary{display:grid;gap:9px;padding:20px}.migration-deployment-summary>strong{font-size:15px;font-weight:600}.migration-deployment-summary>span{color:hsl(var(--muted-foreground));font-size:12.5px}.migration-deployment-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:10px 0 0}.migration-deployment-summary dl>div{display:grid;gap:4px}.migration-deployment-summary dt{color:hsl(var(--muted-foreground));font-size:11px}.migration-deployment-summary dd{margin:0;overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.migration-icon-button:focus-visible,.migration-new-button:focus-visible,.migration-history button:focus-visible,.migration-stop-button:focus-visible,.migration-primary-button:focus-visible,.migration-result__actions button:focus-visible,.migration-attach-button:focus-visible,.migration-confirm-upload-button:focus-visible,.migration-retry-button:focus-visible,.migration-artifact-browser button:focus-visible,.migration-artifact-browser__search input:focus-visible{outline:2px solid hsl(var(--ring) / .5);outline-offset:2px}@media (max-width: 1120px){.migration-workspace{grid-template-columns:210px minmax(0,1fr)}.migration-main__header{padding-inline:18px}.migration-conversation{padding-inline:20px}.migration-confirmation__grid,.migration-analysis__facts{grid-template-columns:minmax(0,1fr)}.migration-artifact-browser{height:min(68vh,640px);min-height:480px;grid-template-columns:minmax(0,1fr);grid-template-rows:168px minmax(0,1fr)}.migration-artifact-browser>aside{border-right:0;border-bottom:1px solid hsl(var(--border))}.migration-result__actions{width:100%}.migration-result__actions button{flex:1 1 auto}}@media (prefers-reduced-motion: reduce){.migration-icon-button,.migration-new-button,.migration-attach-button,.migration-confirm-upload-button{transition:none}}.studio-update-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:32px;padding:0 10px;border:1px solid #1664ff;border-radius:8px;background:#1664ff;color:#fff;font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle{gap:0;width:32px;min-width:32px;padding:0;overflow:hidden;white-space:nowrap;transition:width .18s ease,gap .18s ease,padding .18s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle:hover,.studio-update-trigger.is-idle:focus-visible{gap:7px;width:124px;padding:0 10px;border-color:#1664ff;background:#1664ff;color:#fff}.studio-update-trigger.is-idle>span{max-width:0;overflow:hidden;opacity:0;transform:translate(-4px);transition:max-width .18s ease,opacity .12s ease,transform .18s ease}.studio-update-trigger.is-idle:hover>span,.studio-update-trigger.is-idle:focus-visible>span{max-width:86px;opacity:1;transform:translate(0)}.studio-update-trigger.is-submitting{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.studio-update-trigger.is-error{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--destructive))}.studio-update-trigger.is-published{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.studio-update-icon{width:17px;height:17px;flex:0 0 17px}.studio-update-dialog{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;width:min(500px,calc(100vw - 32px));max-width:calc(100vw - 32px);min-width:0;overflow:hidden}.studio-update-dialog.is-progress{width:min(760px,calc(100vw - 32px));height:min(700px,calc(100dvh - 32px));grid-template-rows:auto minmax(0,1fr) auto}.studio-update-dialog.is-progress>.studio-update-progress-body,.studio-update-dialog.is-progress>.studio-update-error-panel{grid-row:2;min-height:0}.studio-update-dialog.is-progress>.confirm-actions{grid-row:3}.studio-update-progress-body{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-height:0}.studio-update-progress-body .studio-update-live-log,.studio-update-error-panel .studio-update-live-log{display:flex;min-height:0;flex-direction:column}.studio-update-progress-body .studio-update-log-lines,.studio-update-error-panel .studio-update-log-lines{min-height:0;max-height:none;flex:1;overflow-y:auto}.studio-update-dialog>.studio-update-dialog-mark{grid-column:1;grid-row:1}.studio-update-dialog>.confirm-title{grid-column:2;grid-row:1;align-self:start;margin:5px 0 12px}.studio-update-dialog>:not(.studio-update-dialog-mark,.confirm-title){grid-column:1 / -1;width:100%;max-width:100%;min-width:0}.studio-update-dialog .confirm-text,.studio-update-dialog .studio-update-changelog li,.studio-update-dialog .studio-update-changelog p,.studio-update-dialog .studio-update-error,.studio-update-dialog .studio-update-progress small,.studio-update-dialog .studio-update-progress-note,.studio-update-dialog .studio-update-console-link{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.studio-update-field{position:relative;display:grid;gap:6px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-version-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.studio-update-version-trigger:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.studio-update-version-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.studio-update-version-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.studio-update-version-trigger>svg{width:16px;height:16px;flex:0 0 16px;color:hsl(var(--muted-foreground));stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}.studio-update-version-trigger>span,.studio-update-version-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-update-version-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.studio-update-version-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:100%;max-height:190px;padding:4px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel, var(--background)));box-shadow:0 12px 28px hsl(var(--foreground) / .1),0 2px 8px hsl(var(--foreground) / .05);overscroll-behavior:contain}.studio-update-version-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer}.studio-update-version-option:hover,.studio-update-version-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.studio-update-version-option.is-selected{background:hsl(var(--primary) / .08)}.studio-update-version-option>svg{width:15px;height:15px;flex:0 0 15px;color:hsl(var(--primary));stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.studio-update-dialog-mark{display:inline-grid;flex:0 0 30px;width:30px;height:30px;margin-bottom:12px;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.studio-update-dialog-mark svg{width:18px;height:18px}.studio-update-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas) / .5)}.studio-update-versions div:last-child{grid-column:1 / -1}.studio-update-versions dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-versions dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.studio-update-changelog{margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px}.studio-update-changelog>div{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:500}.studio-update-changelog ul{display:block;max-height:min(180px,25vh);margin:0;padding:0 6px 0 18px;overflow-y:auto;list-style:disc outside;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-changelog li{display:list-item;margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-changelog li+li{margin-top:5px}.studio-update-changelog p{margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-confirm{border-color:transparent;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.studio-update-confirm:hover{background:hsl(var(--primary) / .88)}.studio-update-error{margin-bottom:12px;color:hsl(var(--destructive))}.studio-update-error-panel{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-width:0;min-height:0}.studio-update-error-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.studio-update-error-meta>div{min-width:0;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-error-meta dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-error-meta dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.studio-update-log-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid hsl(var(--border));border-bottom:0;border-radius:8px 8px 0 0;background:hsl(var(--muted) / .28);color:hsl(var(--foreground));font-size:11px;font-weight:500}.studio-update-log-header>span{display:inline-flex;align-items:center;gap:6px}.studio-update-log-header i{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground))}.studio-update-log-header i.is-active{background:#1664ff;box-shadow:0 0 0 3px #1664ff1c}.studio-update-log-header i.is-complete{background:#29ae60}.studio-update-log-header i.is-error{background:hsl(var(--destructive))}.studio-update-log-header small{color:hsl(var(--muted-foreground));font-size:10px;font-weight:400}.studio-update-log-header button{padding:2px 0;border:0;background:transparent;color:hsl(var(--primary));font:inherit;cursor:pointer}.studio-update-log-header button:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-log-header button:disabled{color:hsl(var(--muted-foreground));cursor:default;text-decoration:none}.studio-update-log-lines{min-height:92px;max-height:min(210px,29vh);padding:11px 12px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:0 0 8px 8px;background:hsl(var(--foreground) / .035);color:hsl(var(--foreground));font-family:inherit;font-size:11px;line-height:1.55;overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-log-lines:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-2px}.studio-update-log-lines>div+div{margin-top:3px}.studio-update-log-lines p{margin:0;color:hsl(var(--muted-foreground))}.studio-update-console-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:hsl(var(--primary));font-size:11px;font-weight:500;text-decoration:none}.studio-update-console-link:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-console-link svg,.studio-update-permission-notice svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.studio-update-permission-notice{display:grid;align-content:center;gap:8px;min-height:92px;padding:12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--muted) / .22);color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.studio-update-permission-notice p{margin:0}.studio-update-permission-notice code{margin:0 3px;color:hsl(var(--foreground));font-family:inherit;font-weight:500}.studio-update-permission-notice a{display:inline-flex;align-items:center;gap:5px;width:fit-content;color:hsl(var(--primary));font-weight:500;text-decoration:none}.studio-update-permission-notice a:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-permission-checking{display:grid;gap:8px;padding:14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas) / .5)}.studio-update-permission-checking p{margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-authorization-panel{display:grid;gap:12px;min-width:0}.studio-update-authorization-panel .confirm-text{margin-bottom:0}.studio-update-authorization-principal{display:grid;gap:8px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-authorization-principal div{display:grid;gap:3px;min-width:0}.studio-update-authorization-principal dt,.studio-update-missing-actions>span{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-authorization-principal dd{overflow:hidden;margin:0;color:hsl(var(--foreground));font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.studio-update-authorization-steps{margin:0;padding-left:20px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.6}.studio-update-missing-actions{display:grid;gap:7px}.studio-update-missing-actions ul{display:grid;gap:4px;max-height:204px;margin:0;padding:9px 12px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--muted) / .22);list-style:none}.studio-update-missing-actions code{color:hsl(var(--foreground));font-size:11px;overflow-wrap:anywhere}.studio-update-authorization-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:fit-content;min-height:34px;padding:0 12px;border-radius:7px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:12px;font-weight:500;text-decoration:none}.studio-update-authorization-link:hover{background:hsl(var(--primary) / .88)}.studio-update-authorization-link svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.studio-update-authorization-note{margin:-4px 0 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.studio-update-progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.studio-update-progress-summary>div{display:grid;gap:4px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-progress-summary span{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-summary strong{overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.studio-update-progress{display:grid;gap:0;margin:0 0 14px;padding:0;list-style:none}.studio-update-progress li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;min-height:38px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-progress li:not(:last-child):after{position:absolute;top:14px;bottom:-2px;left:5px;width:1px;background:hsl(var(--border));content:""}.studio-update-progress li.is-complete:not(:last-child):after{background:#1664ff}.studio-update-progress-dot{position:relative;z-index:1;width:11px;height:11px;margin-top:2px;border:2px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.studio-update-progress li.is-active,.studio-update-progress li.is-complete{color:hsl(var(--foreground))}.studio-update-progress li.is-active .studio-update-progress-dot{border-color:#1664ff;box-shadow:0 0 0 3px #1664ff1f}.studio-update-progress li.is-complete .studio-update-progress-dot{border-color:#1664ff;background:#1664ff}.studio-update-progress li>div{display:grid;gap:3px;min-width:0}.studio-update-progress small{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-note{margin:12px 0 18px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.new-chat-video-task-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:new-chat-video-task-fade .14s ease-out}.new-chat-video-task-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:new-chat-video-task-rise .18s cubic-bezier(.2,.8,.2,1)}.new-chat-video-task-dialog__head{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 20px;border-bottom:1px solid hsl(var(--border))}.new-chat-video-task-dialog__close svg{width:17px;height:17px}.new-chat-video-task-dialog__head h2,.new-chat-video-task-dialog__head p{margin:0}.new-chat-video-task-dialog__head h2{width:fit-content;color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35;outline:0}.new-chat-video-task-dialog__head p{overflow:hidden;margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-dialog__close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.new-chat-video-task-dialog__close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.new-chat-video-task-dialog button:focus-visible,.new-chat-video-task-dialog a:focus-visible,.new-chat-video-task-dialog video:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.new-chat-video-task-dialog__body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;overscroll-behavior:contain}.new-chat-video-task-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.new-chat-video-task-steps li{min-width:0;padding:0 0 8px;border-bottom:2px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.4}.new-chat-video-task-step__label{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-step__label>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.new-chat-video-task-step__loading{width:13px;height:13px;flex:0 0 auto;animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-steps li.is-active,.new-chat-video-task-steps li.is-done,.new-chat-video-task-steps li.is-failed{color:hsl(var(--foreground))}.new-chat-video-task-steps li.is-active{border-color:hsl(var(--primary))}.new-chat-video-task-steps li.is-done{border-color:#91cab1}.new-chat-video-task-steps li.is-failed{border-color:hsl(var(--destructive))}.new-chat-video-task-error{max-height:220px;min-width:0;overflow-y:auto;padding:12px 14px;border:1px solid hsl(var(--destructive) / .22);border-radius:9px;background:hsl(var(--destructive) / .05);color:hsl(var(--foreground))}.new-chat-video-task-error p{margin:0;color:hsl(var(--foreground));font-size:13px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-prompt{min-width:0;padding:13px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas))}.new-chat-video-task-prompt h3,.new-chat-video-task-prompt p{margin:0}.new-chat-video-task-prompt h3{color:hsl(var(--foreground));font-size:12px;font-weight:620}.new-chat-video-task-prompt p{max-height:144px;overflow-y:auto;margin-top:7px;color:hsl(var(--foreground) / .78);font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-preview{min-height:224px;display:grid;place-items:center;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:#161618}.new-chat-video-task-preview video{width:100%;max-height:360px;display:block;object-fit:contain}.new-chat-video-task-preview.is-loading{align-content:center;gap:8px;padding:24px;background:hsl(var(--canvas));color:hsl(var(--muted-foreground));text-align:center}.new-chat-video-task-preview__loading{width:20px;height:20px;color:hsl(var(--muted-foreground));animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-preview.is-loading strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.new-chat-video-task-progress,.new-chat-video-task-progress__meta{width:min(320px,100%)}.new-chat-video-task-progress{height:4px;overflow:hidden;margin-top:4px;border-radius:999px;background:hsl(var(--secondary))}.new-chat-video-task-progress>span{width:38%;height:100%;display:block;border-radius:inherit;background:hsl(var(--primary) / .76);transform:translate3d(-70%,0,0);animation:new-chat-video-task-progress 1.7s cubic-bezier(.4,0,.2,1) infinite}.new-chat-video-task-progress__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-progress__meta span:last-child{flex:0 0 auto;font-variant-numeric:tabular-nums}.new-chat-video-task-preview.is-loading>span:last-child{font-size:12px}.new-chat-video-task-dialog__actions{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.new-chat-video-task-dialog__actions p{min-width:0;margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-dialog__actions>div{display:flex;flex:0 0 auto;gap:8px}.new-chat-video-task-button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}.new-chat-video-task-button:hover{background:hsl(var(--secondary))}.new-chat-video-task-button.is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.new-chat-video-task-button.is-primary:hover{background:hsl(var(--primary) / .9)}.new-chat-video-task-button svg{width:15px;height:15px}@keyframes new-chat-video-task-fade{0%{opacity:0}to{opacity:1}}@keyframes new-chat-video-task-rise{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes new-chat-video-task-spin{to{transform:rotate(360deg)}}@keyframes new-chat-video-task-progress{0%{transform:translate3d(-70%,0,0)}to{transform:translate3d(200%,0,0)}}@media (max-width: 620px){.new-chat-video-task-backdrop{padding:12px}.new-chat-video-task-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.new-chat-video-task-steps{grid-template-columns:minmax(0,1fr);gap:10px}.new-chat-video-task-dialog__actions{align-items:stretch;flex-direction:column}.new-chat-video-task-dialog__actions>div{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.new-chat-video-task-backdrop,.new-chat-video-task-dialog,.new-chat-video-task-step__loading,.new-chat-video-task-preview__loading{animation:none}.new-chat-video-task-progress>span{animation:none;transform:translate3d(80%,0,0)}}.sandbox-entry{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid hsl(268 58% 58% / .34);background:#f4eefb;color:#5b318c;font:inherit;font-weight:600;cursor:pointer;transition:background-color .14s ease-out,border-color .14s ease-out}.sandbox-entry svg{width:15px;height:15px;flex:0 0 auto}.sandbox-entry:hover:not(:disabled){border-color:#803ecc85;background:#ece2f9}.sandbox-entry:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-entry:disabled{cursor:default;opacity:.72}.sandbox-entry--composer{min-height:30px;padding:0 13px;border-radius:999px;font-size:12px}.sandbox-entry--header{min-height:32px;padding:0 10px;border-radius:7px;font-size:12px}.sandbox-entry.is-active{border-style:dashed}.sandbox-new-chat-entry{display:flex;justify-content:center;min-height:30px}.composer-slot{width:100%;min-width:0}.sandbox-composer-wrap{position:relative;z-index:50}.sandbox-session-warning{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;width:calc(100% - 32px);max-width:736px;min-height:24px;margin:0 auto 6px;color:#c7840f;font-size:12px}.sandbox-session-warning-dot{display:none}.sandbox-session-warning-copy{grid-column:2;white-space:nowrap;text-align:center}.sandbox-session-warning.is-expiring .sandbox-session-warning-copy{min-width:0;overflow-wrap:anywhere;white-space:normal}.sandbox-session-warning.is-expiring{grid-template-columns:minmax(0,1fr) auto;max-width:768px}.sandbox-session-warning.is-expiring .sandbox-session-warning-copy{grid-column:1;text-align:center}.sandbox-session-warning.is-expiring button{grid-column:2}.sandbox-session-warning button{grid-column:3;justify-self:end;padding:3px 5px;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-weight:580;white-space:nowrap;cursor:pointer}.sandbox-session-warning button:hover{background:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.sandbox-composer-wrap .composer-box{display:grid;grid-template-columns:1fr auto;grid-template-rows:minmax(44px,auto) 36px;align-items:center;gap:2px 8px;min-height:104px;padding:10px 8px 8px;border-radius:24px}.sandbox-composer-wrap .comp-input{grid-row:1;grid-column:1 / -1;align-self:stretch;width:100%;min-height:44px;padding:8px 10px 4px}.sandbox-composer-wrap .sandbox-composer-input{grid-row:1;grid-column:1 / -1;align-self:stretch;display:flex;flex-flow:row wrap;align-content:flex-start;align-items:center;gap:6px;min-height:44px;padding:5px 10px 2px}.sandbox-composer-input>.invocation-chips{flex:0 1 auto}.sandbox-composer-input>.comp-input{flex:1 1 180px;min-width:120px;min-height:28px;padding:4px 0;line-height:20px}.sandbox-codex-composer .composer-command-menu{z-index:100;display:flex;max-height:min(420px,calc(100vh - 180px));flex-direction:column}.sandbox-codex-composer .composer-command-list{min-height:0;max-height:none}.sandbox-composer-wrap .composer-left-controls{grid-row:2;grid-column:1;justify-self:start}.composer-left-controls{display:flex;align-items:center;gap:2px;min-width:0}.sandbox-composer-control{width:32px;height:32px}.sandbox-composer-control svg{width:16px;height:16px}.sandbox-composer-control.is-locked{color:hsl(var(--muted-foreground) / .56)}.sandbox-codex-composer .composer-menu-separator{height:1px;margin:4px 6px;background:hsl(var(--border))}.turn--system{width:100%;align-items:stretch;margin-bottom:16px}.sandbox-activity-record{width:100%;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--muted-foreground))}.sandbox-activity-summary{display:grid;grid-template-columns:7px auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;font-size:12px;line-height:1.45}.sandbox-activity-dot{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .68)}.sandbox-activity-label{padding-right:7px;border-right:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11px;font-weight:600}.sandbox-activity-summary strong{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-weight:560}.sandbox-activity-summary time{color:hsl(var(--muted-foreground));font-size:11px;white-space:nowrap}.sandbox-activity-details{display:grid;gap:5px;margin:8px 0 0 21px}.sandbox-activity-details>div{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px;font-size:12px;line-height:1.5}.sandbox-activity-details dt,.sandbox-activity-details dd{min-width:0;margin:0}.sandbox-activity-details dt{color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-activity-details dd{overflow-wrap:break-word;color:hsl(var(--foreground))}.sandbox-activity-details code{font:inherit;font-size:11px;line-height:1.5;white-space:pre-wrap}.sandbox-composer-wrap .comp-send{grid-row:2;grid-column:2}.main.is-sandbox-session{position:relative;isolation:isolate;background:linear-gradient(to bottom,#f4edfd,#f8f3fc,#fbf8fc 48%,hsl(var(--panel)) 76%)}.main.is-sandbox-session:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 78% 40% at 18% 0%,hsl(244 82% 84% / .24),transparent 70%),radial-gradient(ellipse 70% 36% at 52% 0%,hsl(284 70% 86% / .2),transparent 72%),radial-gradient(ellipse 64% 38% at 88% 2%,hsl(324 66% 88% / .16),transparent 72%),linear-gradient(to bottom,hsl(var(--panel) / 0),hsl(var(--panel) / .18) 42%,hsl(var(--panel)) 76%);filter:blur(24px);opacity:1;animation:sandbox-smoke-enter .42s ease-out both}.main.is-sandbox-session.is-intelligent-development{background:hsl(var(--panel))}.main.is-sandbox-session.is-intelligent-development:before{display:none}.main.is-sandbox-session>*{position:relative;z-index:1}.sandbox-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-dialog{width:min(440px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-dialog-enter .18s ease-out both}.sandbox-dialog-visual{position:relative;display:grid;height:112px;place-items:center;overflow:hidden;border-bottom:1px solid hsl(var(--border));background:radial-gradient(circle at 35% 70%,hsl(256 68% 78% / .34),transparent 40%),radial-gradient(circle at 68% 30%,hsl(276 66% 72% / .28),transparent 42%),#f9f8fc}.sandbox-dialog-orbit{position:absolute;width:104px;height:44px;border:1px solid hsl(268 52% 54% / .22);border-radius:50%;transform:rotate(-12deg)}.sandbox-dialog-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid hsl(268 58% 58% / .3);border-radius:14px;background:hsl(var(--panel) / .9);color:#68389f;box-shadow:0 8px 24px #6c38a824}.sandbox-dialog-icon svg{width:23px;height:23px}.sandbox-spinner{width:21px;height:21px;border:2px solid hsl(268 48% 42% / .2);border-top-color:currentColor;border-radius:50%;animation:sandbox-spin .8s linear infinite}.sandbox-dialog-copy{padding:22px 24px 20px;text-align:center}.sandbox-dialog-copy h2{margin:0 0 8px;color:hsl(var(--foreground));font-size:17px;font-weight:650}.sandbox-dialog-copy p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.65}.sandbox-dialog-copy .sandbox-dialog-error{color:hsl(var(--destructive))}.sandbox-dialog-field{display:grid;gap:6px;margin-top:16px;text-align:left}.sandbox-dialog-field-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.sandbox-dialog-field-label>:last-child{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400}.sandbox-dialog-field input{width:100%;height:36px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.sandbox-dialog-field input:focus-visible{border-color:hsl(var(--primary) / .64);box-shadow:0 0 0 2px hsl(var(--primary) / .14)}.sandbox-dialog-field input:disabled{cursor:default;opacity:.66}.sandbox-dialog-persistence{display:grid;gap:3px;margin-top:12px;text-align:left}.sandbox-dialog-persistence-control{justify-self:start;color:hsl(var(--foreground));font-weight:550}.sandbox-dialog-persistence-description{margin:0 0 0 26px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.sandbox-dialog-persistence-description.is-warning{color:#9e6b1a}.sandbox-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-dialog-actions button{min-width:80px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-dialog-actions button:hover{background:hsl(var(--secondary))}.sandbox-dialog-actions button:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-dialog-actions .is-primary{border-color:#68389f;background:#68389f;color:hsl(var(--primary-foreground))}.sandbox-dialog-actions .is-primary:hover{background:#5b318c}@keyframes sandbox-spin{to{transform:rotate(360deg)}}@keyframes sandbox-dialog-enter{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-smoke-enter{0%{opacity:0}to{opacity:1}}.sandbox-codex-composer .composer-command-head small{max-width:210px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sandbox-codex-composer .composer-command-icon--command,.sandbox-codex-composer .composer-command-icon--model{font-size:16px;font-weight:700;line-height:1}.sandbox-codex-composer .composer-command-icon--command{background:hsl(var(--accent));color:hsl(var(--foreground))}.sandbox-codex-composer .composer-command-icon--model{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-token-usage{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-right:auto}.sandbox-token-usage>span{display:inline-flex;align-items:baseline;gap:4px;padding:3px 7px;border:1px solid hsl(var(--border) / .76);border-radius:6px;background:hsl(var(--muted) / .42);color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-token-usage small{font-size:9px;font-weight:560}.sandbox-token-usage strong{color:hsl(var(--foreground) / .76);font-size:10px;font-weight:600;line-height:1.2}@media (max-width: 700px){.sandbox-entry--header span{display:none}.sandbox-entry--header{width:32px;padding:0}.sandbox-session-warning{grid-template-columns:1fr auto;width:calc(100% - 16px)}.sandbox-session-warning-copy{grid-column:1;white-space:normal;text-align:left}.sandbox-session-warning button{grid-column:2}.sandbox-activity-summary{grid-template-columns:7px auto minmax(0,1fr)}.sandbox-activity-summary time{grid-column:3}.sandbox-activity-details>div{grid-template-columns:1fr;gap:1px}}@media (prefers-reduced-motion: reduce){.sandbox-entry,.sandbox-dialog,.main.is-sandbox-session:before{animation:none;transition:none}}.sandbox-control-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sandbox-control-fade .14s ease-out}.sandbox-control-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:sandbox-control-rise .18s cubic-bezier(.2,.8,.2,1)}.sandbox-control-head{min-height:60px;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 17px;border-bottom:1px solid hsl(var(--border))}.sandbox-control-head-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-head-icon svg{width:17px;height:17px}.sandbox-control-head h2,.sandbox-control-head p{margin:0}.sandbox-control-head h2{color:hsl(var(--foreground));font-size:14px;font-weight:660;line-height:1.35}.sandbox-control-head p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-control-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-control-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-dialog button:focus-visible,.sandbox-control-dialog input:focus-visible,.sandbox-control-dialog iframe:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.sandbox-control-close svg{width:16px;height:16px}.sandbox-control-body{min-height:0;overflow:auto;padding:18px}.sandbox-control-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.sandbox-control-actions button,.sandbox-control-state button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:590;text-decoration:none;cursor:pointer}.sandbox-control-actions button:hover:not(:disabled),.sandbox-control-state button:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary))}.sandbox-control-actions button.is-primary,.sandbox-control-state button{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.sandbox-control-actions button:disabled{cursor:default;opacity:.5}.sandbox-control-actions svg{width:13px;height:13px}.sandbox-choice-group{margin:0 0 18px;padding:0;border:0}.sandbox-settings-dialog{width:min(720px,calc(100vw - 40px))}.sandbox-choice-group legend{margin-bottom:8px;color:hsl(var(--foreground));font-size:12px;font-weight:650}.sandbox-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sandbox-choice-list button{min-width:0;min-height:72px;display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-choice-list button:hover:not(:disabled),.sandbox-choice-list button.is-active{border-color:hsl(var(--primary) / .42);background:hsl(var(--accent))}.sandbox-choice-list button.is-danger:hover:not(:disabled),.sandbox-choice-list button.is-danger.is-active{border-color:hsl(var(--destructive) / .38);background:hsl(var(--destructive) / .06)}.sandbox-choice-list button>i{width:12px;height:12px;flex:0 0 auto;margin-top:2px;border:1px solid hsl(var(--border));border-radius:50%}.sandbox-choice-list button.is-active>i{border:3px solid hsl(var(--primary));background:hsl(var(--background))}.sandbox-choice-list button>span{min-width:0;display:grid;gap:5px}.sandbox-choice-list strong{color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-choice-list small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.sandbox-network-toggle{min-height:54px;display:flex;align-items:center;gap:12px;margin-top:2px;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .24)}.sandbox-network-toggle>span{min-width:0;flex:1;display:grid;gap:3px}.sandbox-network-toggle strong{font-size:11px}.sandbox-network-toggle small{color:hsl(var(--muted-foreground));font-size:11px}.sandbox-network-toggle input{width:16px;height:16px;accent-color:hsl(var(--primary))}.sandbox-network-toggle.is-disabled{opacity:.62}.sandbox-control-note,.sandbox-control-error{margin-top:12px;padding:9px 11px;border:1px solid hsl(42 70% 52% / .25);border-radius:8px;background:#fcf8ed;color:#916622;font-size:12px;line-height:1.55}.sandbox-control-note.is-danger,.sandbox-control-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.sandbox-workspace-dialog{width:min(600px,calc(100vw - 40px))}.sandbox-workspace-input{display:grid;gap:7px;color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-workspace-input>div{display:flex;gap:7px}.sandbox-workspace-input input{min-width:0;height:36px;flex:1;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.sandbox-workspace-input input:focus{border-color:hsl(var(--primary) / .55);box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.sandbox-workspace-input button{width:64px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .35);color:hsl(var(--foreground));font:inherit;font-size:11px;cursor:pointer}.sandbox-directory-browser{height:268px;margin-top:14px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .14)}.sandbox-directory-head{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;font-size:10px}.sandbox-directory-head span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-head svg{width:13px}.sandbox-directory-list{height:calc(100% - 36px);overflow:auto;padding:5px}.sandbox-directory-list button{width:100%;min-height:34px;display:grid;grid-template-columns:18px minmax(0,auto) minmax(0,1fr) 16px;align-items:center;gap:7px;padding:5px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11px;text-align:left;cursor:pointer}.sandbox-directory-list button:hover{background:hsl(var(--foreground) / .05)}.sandbox-directory-list button>svg:first-child{width:15px;color:hsl(var(--foreground))}.sandbox-directory-list button>svg:last-child{width:13px;color:hsl(var(--muted-foreground))}.sandbox-directory-list button small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-empty{display:grid;min-height:120px;place-items:center;color:hsl(var(--muted-foreground));font-size:11px}.sandbox-tool-dialog{width:min(1120px,calc(100vw - 44px));height:min(760px,calc(100vh - 48px));max-height:none}.sandbox-tool-toolbar{min-height:42px;display:flex;align-items:center;gap:12px;padding:5px 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .2)}.sandbox-tool-toolbar>span{display:inline-flex;align-items:center;gap:7px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.sandbox-tool-toolbar>span i{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .5)}.sandbox-tool-toolbar>span i.is-ready{background:#2ab262}.sandbox-tool-toolbar>span i.is-loading{background:#e9ab1c}.sandbox-tool-surface{flex:1;min-height:0;display:grid;overflow:hidden;background:hsl(var(--secondary) / .2)}.sandbox-tool-dialog--terminal .sandbox-tool-surface{background:#15171e}.sandbox-tool-surface iframe{width:100%;height:100%;border:0;background:hsl(var(--background))}.sandbox-control-state{display:grid;place-items:center;align-content:center;gap:8px;padding:28px;color:hsl(var(--muted-foreground));text-align:center}.sandbox-control-state>svg{width:22px;height:22px;color:hsl(var(--foreground))}.sandbox-control-state strong{color:hsl(var(--foreground));font-size:13px}.sandbox-control-state span{max-width:420px;font-size:11px;line-height:1.55}.sandbox-approval-dialog{width:min(560px,calc(100vw - 40px))}.sandbox-approval-reason{margin-bottom:11px;color:hsl(var(--foreground));font-size:12px;line-height:1.55}.sandbox-approval-dialog pre{max-height:240px;margin:0 0 10px;overflow:auto;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:#181a21;color:#e0e6eb;font:inherit;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.sandbox-approval-meta{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-approval-meta code{color:hsl(var(--foreground));font:inherit;font-size:10px}.sandbox-approval-actions{flex-wrap:wrap}.sandbox-threads-dialog{width:min(620px,calc(100vw - 40px))}.sandbox-thread-list{display:grid;max-height:min(520px,64vh);overflow-y:auto;padding:7px}.sandbox-thread-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:62px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-thread-list>button:hover{background:hsl(var(--accent))}.sandbox-thread-list>button.is-active{background:hsl(var(--muted) / .7);cursor:default}.sandbox-thread-list>button>span{display:grid;min-width:0;gap:4px}.sandbox-thread-list strong,.sandbox-thread-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-thread-list strong{font-size:12px;font-weight:620}.sandbox-thread-list small,.sandbox-thread-list time{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-thread-list svg{width:14px;height:14px;color:hsl(var(--muted-foreground))}@keyframes sandbox-control-fade{0%{opacity:0}to{opacity:1}}@keyframes sandbox-control-rise{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.sandbox-control-backdrop{padding:10px}.sandbox-control-dialog{width:100%;max-height:calc(100vh - 20px)}.sandbox-tool-dialog{height:calc(100vh - 20px)}.sandbox-choice-list,.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:1fr}.sandbox-choice-list button{min-height:58px}.sandbox-control-head p{display:none}.sandbox-control-actions>button{flex:1}}@media (prefers-reduced-motion: reduce){.sandbox-control-backdrop,.sandbox-control-dialog{animation:none}}.sandbox-agent-details{display:grid;align-content:start;gap:20px;width:min(920px,100%);height:100%;min-height:0;margin:0 auto;padding:28px 32px;overflow:auto}.sandbox-agent-details-header{display:flex;align-items:center;gap:8px}.sandbox-agent-details-header>div{min-width:0}.sandbox-agent-details-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650}.sandbox-agent-details-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px}.sandbox-agent-detail-error{padding:10px 12px;border:1px solid hsl(var(--destructive) / .3);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px}.sandbox-agent-detail-panel{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.sandbox-agent-detail-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:8px 24px}.sandbox-agent-detail-panel dl>div{min-width:0;padding:16px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:nth-last-child(-n+2){border-bottom:0}.sandbox-agent-detail-panel dl>div:nth-child(odd){padding-right:24px}.sandbox-agent-detail-panel dl>div:nth-child(2n){padding-left:24px}.sandbox-agent-detail-panel dl>.is-wide{grid-column:1 / -1;padding-right:0}.sandbox-agent-detail-panel dt{margin-bottom:6px;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-detail-panel dd{min-width:0;margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:13px;font-weight:520}.sandbox-agent-detail-panel footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .25)}.sandbox-agent-detail-panel footer button{height:34px;padding:0 14px;border-radius:8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-agent-delete{border:1px solid hsl(var(--destructive) / .34);background:hsl(var(--panel));color:hsl(var(--destructive))}.sandbox-agent-open{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.sandbox-agent-detail-panel footer button:disabled{cursor:default;opacity:.58}@media (max-width: 720px){.sandbox-agent-details{padding:20px 16px}.sandbox-agent-detail-panel dl{grid-template-columns:1fr;padding:8px 16px}.sandbox-agent-detail-panel dl>div,.sandbox-agent-detail-panel dl>div:nth-child(odd),.sandbox-agent-detail-panel dl>div:nth-child(2n){padding:14px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:last-child{border-bottom:0}}.sandbox-agent-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;background:hsl(var(--canvas))}.sandbox-agent-workspace>header{display:flex;min-width:0;min-height:62px;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.sandbox-agent-workspace-title{display:flex;min-width:0;align-items:center;gap:10px}.sandbox-agent-workspace-title>button{display:inline-grid;width:24px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-agent-workspace-title>button:hover{color:hsl(var(--foreground))}.sandbox-agent-workspace-title svg{width:17px;height:17px}.sandbox-agent-workspace-title>div{min-width:0}.sandbox-agent-workspace-title h1{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:15px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.sandbox-agent-workspace-title p{display:flex;align-items:center;gap:7px;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-workspace-status{display:inline-flex;min-height:18px;align-items:center;padding:0 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:550;line-height:1}.sandbox-agent-workspace-status[data-ready]{border-color:#428a5c38;background:#e9f6ee;color:#206f3d}.sandbox-agent-workspace-tabs{width:200px;flex:0 0 auto}.sandbox-agent-workspace button:focus-visible{outline:2px solid hsl(var(--foreground) / .3);outline-offset:2px}.sandbox-agent-workspace-surface{min-width:0;min-height:0;overflow:hidden}.sandbox-agent-workspace-surface iframe{display:block;width:100%;height:100%;border:0;background:hsl(var(--panel))}.sandbox-agent-workspace-state{display:grid;height:100%;place-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.sandbox-agent-workspace-state p{margin:0}.sandbox-agent-workspace-state.is-error{color:hsl(var(--destructive))}.sandbox-agent-workspace-state button{justify-self:center;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}@media (max-width: 720px){.sandbox-agent-workspace>header{align-items:stretch;flex-direction:column}.sandbox-agent-workspace-tabs{width:100%}}.sandbox-project-upload-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-project-upload-dialog{width:min(680px,calc(100vw - 40px));max-height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-project-upload-enter .18s ease-out both}.sandbox-project-upload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid hsl(var(--border))}.sandbox-project-upload-head h2,.sandbox-project-upload-head p{margin:0}.sandbox-project-upload-title-row{display:flex;align-items:center;gap:8px}.sandbox-project-upload-title-row .sandbox-project-upload-beta{height:18px;padding-inline:6px;font-size:10px;font-weight:600;line-height:1.2}.sandbox-project-upload-head h2{font-size:17px;font-weight:650;line-height:1.3}.sandbox-project-upload-head p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.sandbox-project-upload-close{width:32px;height:32px;display:inline-grid;flex:0 0 32px;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-project-upload-close:hover{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-project-upload-close svg{width:17px;height:17px}.sandbox-project-upload-body{min-height:0;overflow-y:auto;display:grid;gap:14px;padding:16px 22px 20px}.sandbox-project-upload-pairing-notice{min-height:38px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 6px 12px;border:1px solid hsl(43 90% 48% / .28);border-radius:8px;background:#fabf0f1f;color:#885c11;font-size:12px;line-height:1.45;white-space:nowrap}.sandbox-project-upload-pairing-notice time{font-variant-numeric:tabular-nums;font-weight:650}.sandbox-project-upload-pairing-notice button{height:26px;display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.sandbox-project-upload-pairing-notice button:hover:not(:disabled){background:#e9aa0c1f}.sandbox-project-upload-pairing-notice button:disabled{cursor:default;opacity:.6}.sandbox-project-upload-pairing-notice svg{width:14px;height:14px}.sandbox-project-upload-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .22);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.sandbox-project-upload-error span{min-width:0;overflow-wrap:anywhere}.sandbox-project-upload-stage{overflow:hidden;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background))}.sandbox-project-upload-stage-head{min-height:64px;box-sizing:border-box;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid hsl(var(--border))}.sandbox-project-upload-stage-number{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:650;line-height:1}.sandbox-project-upload-stage-head>div{min-width:0}.sandbox-project-upload-stage-head h3{margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.4}.sandbox-project-upload-stage-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.sandbox-project-upload-stage-head button,.sandbox-project-upload-error button,.sandbox-project-upload-actions button{height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-project-upload-stage-head button,.sandbox-project-upload-error button{padding:0 10px}.sandbox-project-upload-stage-head button:hover:not(:disabled),.sandbox-project-upload-error button:hover,.sandbox-project-upload-actions button:hover{background:hsl(var(--secondary))}.sandbox-project-upload-stage-head button:disabled{cursor:default;opacity:.56}.sandbox-project-upload-stage-head svg,.sandbox-project-upload-error svg,.sandbox-project-upload-actions svg{width:14px;height:14px;flex:0 0 14px}.sandbox-project-upload-install-tabs{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:36px;margin:10px 10px 0;padding:3px;box-sizing:border-box;border:1px solid hsl(var(--border) / .58);border-radius:8px;background:hsl(var(--secondary) / .58)}.sandbox-project-upload-install-tabs>span{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border:1px solid hsl(var(--border) / .72);border-radius:6px;background:hsl(var(--background));transform:translate(0);transition:transform .18s ease-out}.sandbox-project-upload-install-tabs.is-terminal>span{transform:translate(100%)}.sandbox-project-upload-install-tabs button{position:relative;z-index:1;min-width:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;text-align:center;transition:color .16s ease-out}.sandbox-project-upload-install-tabs button:hover,.sandbox-project-upload-install-tabs button[aria-selected=true]{color:hsl(var(--foreground))}.sandbox-project-upload-prompt{min-height:92px;display:flex}.sandbox-project-upload-prompt pre{width:100%;box-sizing:border-box;margin:0;padding:12px;color:hsl(var(--foreground));font-family:inherit;font-size:13px;font-weight:400;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.sandbox-project-upload-prompt code{font-family:inherit;font-size:13px;font-weight:400}.sandbox-project-upload-prompt.is-command code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.sandbox-project-upload-loading{width:100%;min-height:92px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:0 12px;color:hsl(var(--muted-foreground));font-size:12px}.sandbox-project-upload-loading i{width:14px;height:14px;flex:0 0 14px;border:2px solid hsl(var(--foreground) / .16);border-top-color:hsl(var(--foreground));border-radius:50%;animation:sandbox-project-upload-spin .8s linear infinite}.sandbox-project-upload-stage>.sandbox-project-upload-pairing-notice{margin:10px 10px 0}.sandbox-project-upload-stage>.sandbox-project-upload-pairing-notice+.sandbox-project-upload-prompt{min-height:104px}.sandbox-project-upload-progress{border-top:1px solid hsl(var(--border))}.sandbox-project-upload-progress>header{min-height:58px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 12px;border-bottom:1px solid hsl(var(--border))}.sandbox-project-upload-progress>header div{min-width:0}.sandbox-project-upload-progress>header span{display:block;font-size:12.5px;font-weight:650;line-height:1.4}.sandbox-project-upload-progress>header p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-project-upload-progress>header strong{flex:0 0 auto;padding:4px 8px;border-radius:6px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600;line-height:1.35}.sandbox-project-upload-progress>header strong[data-state=completed]{background:#e9f6ee;color:#206f3d}.sandbox-project-upload-progress>header strong[data-state=running]{background:#e5f0fb;color:#21518c}.sandbox-project-upload-progress>header strong[data-state=failed]{background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.sandbox-project-upload-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:12px;list-style:none}.sandbox-project-upload-progress li{position:relative;min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:7px;padding-right:28px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.sandbox-project-upload-progress li>span:last-child{min-width:0;white-space:nowrap}.sandbox-project-upload-progress li:not(:last-child):after{position:absolute;top:50%;right:6px;width:16px;height:1px;background:hsl(var(--border));content:""}.sandbox-project-upload-progress li:last-child{padding-right:0}.sandbox-project-upload-progress li[data-state=active]{color:hsl(var(--foreground));font-weight:600}.sandbox-project-upload-progress li[data-state=done]{color:hsl(var(--foreground))}.sandbox-project-upload-progress li[data-state=failed]{color:hsl(var(--destructive));font-weight:600}.sandbox-project-upload-progress-marker{width:18px;height:18px;display:inline-grid;flex:0 0 18px;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel))}.sandbox-project-upload-progress li[data-state=active] .sandbox-project-upload-progress-marker{border:2px solid hsl(var(--foreground) / .2);border-top-color:hsl(var(--foreground));animation:sandbox-project-upload-spin .8s linear infinite}.sandbox-project-upload-progress li[data-state=done] .sandbox-project-upload-progress-marker{border-color:#3b915b4d;background:#e9f6ee;color:#206f3d}.sandbox-project-upload-progress li[data-state=failed] .sandbox-project-upload-progress-marker{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .06)}.sandbox-project-upload-progress-marker svg{width:12px;height:12px}.sandbox-project-upload-progress-error{margin:0;padding:0 12px 12px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.sandbox-project-upload-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-project-upload-actions button{min-width:86px;padding:0 14px}.sandbox-project-upload-actions .is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.sandbox-project-upload-actions .is-primary:hover{background:hsl(var(--foreground) / .9)}.sandbox-project-upload-dialog button:focus-visible,.sandbox-project-upload-install-tabs button:focus-visible,.sandbox-project-upload-prompt pre:focus-visible{outline:2px solid hsl(var(--ring) / .34);outline-offset:2px}@keyframes sandbox-project-upload-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-project-upload-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.sandbox-project-upload-backdrop{padding:10px}.sandbox-project-upload-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.sandbox-project-upload-head,.sandbox-project-upload-body{padding-left:16px;padding-right:16px}.sandbox-project-upload-pairing-notice{gap:6px;padding-left:10px;font-size:11.5px}.sandbox-project-upload-stage-head{grid-template-columns:24px minmax(0,1fr)}.sandbox-project-upload-stage-head button{grid-column:2;justify-self:start}.sandbox-project-upload-actions button{flex:1}.sandbox-project-upload-progress ol{grid-template-columns:1fr 1fr;gap:10px 12px}.sandbox-project-upload-progress li:after{display:none}.sandbox-project-upload-progress li{padding-right:0}}@media (prefers-reduced-motion: reduce){.sandbox-project-upload-dialog,.sandbox-project-upload-install-tabs>span,.sandbox-project-upload-install-tabs button,.sandbox-project-upload-progress li[data-state=active] .sandbox-project-upload-progress-marker,.sandbox-project-upload-loading i{animation:none;transition:none}}.auth-expired-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .22);backdrop-filter:blur(5px) saturate(.88);-webkit-backdrop-filter:blur(5px) saturate(.88)}.auth-expired-dialog{position:relative;width:min(400px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 28px 80px hsl(var(--foreground) / .2),0 2px 8px hsl(var(--foreground) / .06);animation:auth-expired-enter .18s cubic-bezier(.22,1,.36,1) both}.auth-expired-mark{display:grid;width:32px;height:32px;margin:32px auto 0;place-items:center;color:hsl(var(--foreground))}.auth-expired-mark svg{width:21px;height:21px;stroke-width:1.8}.auth-expired-copy{padding:22px 32px 28px;text-align:center}.auth-expired-copy h2{margin:0;color:hsl(var(--foreground));font-size:19px;font-weight:650;letter-spacing:-.01em}.auth-expired-copy>p:last-child{margin:11px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.7}.auth-expired-copy .auth-expired-error{margin-top:10px;color:hsl(var(--destructive))}.auth-expired-actions{padding:0 16px 16px}.auth-expired-actions button{width:100%;height:38px;border:1px solid hsl(var(--foreground));border-radius:9px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.auth-expired-actions button:hover{opacity:.88}.auth-expired-actions button:active{transform:translateY(1px)}.auth-expired-actions button:focus-visible{outline:3px solid hsl(var(--ring) / .28);outline-offset:2px}.auth-expired-actions button:disabled{cursor:wait;opacity:.58}@keyframes auth-expired-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.auth-expired-dialog{animation:none}}.issue-feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:issue-feedback-fade-in .14s ease-out}.issue-feedback-dialog{width:min(480px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:issue-feedback-rise-in .18s cubic-bezier(.2,.8,.2,1)}.issue-feedback-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;border-bottom:1px solid hsl(var(--border))}.issue-feedback-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.issue-feedback-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.issue-feedback-close svg,.issue-feedback-success-mark svg{width:16px;height:16px}.issue-feedback-close:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.issue-feedback-body,.issue-feedback-success{min-height:0;overflow-y:auto;padding:20px}.issue-feedback-intro{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-privacy{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.issue-feedback-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.issue-feedback-chip{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.issue-feedback-chip:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-chip[aria-pressed=true]{border-color:hsl(var(--primary) / .4);background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.issue-feedback-field{display:grid;gap:8px;color:hsl(var(--foreground));font-size:13px;font-weight:550}.issue-feedback-field textarea{width:100%;min-height:112px;resize:vertical;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400;line-height:1.55}.issue-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.issue-feedback-error{margin:12px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.issue-feedback-success{min-height:220px;display:grid;grid-template-columns:36px 1fr;gap:12px;align-content:center;align-items:center;animation:issue-feedback-success-in .18s ease-out}.issue-feedback-success-mark{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#24a8541a;color:#238b49;animation:issue-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.issue-feedback-success-mark:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:12px;content:"";opacity:0;animation:issue-feedback-success-ring .44s ease-out}.issue-feedback-success-mark path{stroke-dasharray:24;stroke-dashoffset:24;animation:issue-feedback-check-draw .28s .1s ease-out forwards}.issue-feedback-success h3{margin:0 0 4px;font-size:15px;font-weight:600}.issue-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.issue-feedback-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.issue-feedback-actions button:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.issue-feedback-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.issue-feedback-close:focus-visible,.issue-feedback-chip:focus-visible,.issue-feedback-field textarea:focus-visible,.issue-feedback-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.issue-feedback-dialog button:disabled,.issue-feedback-dialog textarea:disabled{cursor:not-allowed;opacity:.55}@keyframes issue-feedback-fade-in{0%{opacity:0}to{opacity:1}}@keyframes issue-feedback-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes issue-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes issue-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes issue-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes issue-feedback-check-draw{to{stroke-dashoffset:0}}@media (max-width: 560px){.issue-feedback-backdrop{padding:16px}.issue-feedback-dialog{max-height:calc(100vh - 32px)}}@media (prefers-reduced-motion: reduce){.issue-feedback-backdrop,.issue-feedback-dialog,.issue-feedback-success,.issue-feedback-success-mark,.issue-feedback-success-mark:after,.issue-feedback-success-mark path{animation:none}.issue-feedback-success-mark path{stroke-dashoffset:0}}.share-message-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:share-message-fade-in .14s ease-out}.share-message-dialog{width:min(720px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:share-message-rise-in .18s cubic-bezier(.2,.8,.2,1)}.share-message-export{position:fixed;top:0;left:-100000px;width:816px;box-sizing:border-box;padding:24px;overflow:visible;background:hsl(var(--background));color:hsl(var(--foreground));pointer-events:none}.share-message-export>.turn{width:100%;max-width:100%;margin-right:0;margin-left:0;opacity:1!important;transform:none!important;animation:none!important}.share-message-export>.turn:not(:last-of-type){margin-bottom:24px}.share-message-export>.turn:last-of-type{margin-bottom:0}.share-message-export-note{margin:24px 0 0;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.5;text-align:center}.share-message-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px 10px 20px;border-bottom:1px solid hsl(var(--border));flex:0 0 auto}.share-message-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.share-message-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.share-message-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.share-message-close svg{width:16px;height:16px}.share-message-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.share-message-body{min-height:260px;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px;background:hsl(var(--canvas))}.share-message-generating,.share-message-failure{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px}.share-message-failure p,.share-message-error{margin:0;color:hsl(var(--destructive));font-size:12.5px;line-height:1.55;text-align:center}.share-message-failure button{height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-preview{width:min(100%,816px);margin:0 auto;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.share-message-preview img{display:block;width:100%;height:auto}.share-message-error{margin-top:12px}.share-message-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border));flex:0 0 auto}.share-message-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-actions button:hover:not(:disabled),.share-message-failure button:hover{background:hsl(var(--secondary))}.share-message-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.share-message-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.share-message-actions button:disabled{cursor:not-allowed;opacity:.5}.share-message-close:focus-visible,.share-message-failure button:focus-visible,.share-message-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}@keyframes share-message-fade-in{0%{opacity:0}to{opacity:1}}@keyframes share-message-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 560px){.share-message-backdrop{padding:16px}.share-message-dialog{max-height:calc(100vh - 32px)}.share-message-head p{display:none}.share-message-actions{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.share-message-backdrop,.share-message-dialog{animation:none}}@layer components{._Popover_1wdpp_3{overflow:auto;width:var(--popover-width, auto);min-width:var(--popover-min-width, 300px);max-width:min(var(--popover-max-width, 700px),var(--radix-popover-content-available-width));max-height:var(--radix-popover-content-available-height);border-radius:var(--popover-radius);background:var(--color-surface-elevated);box-shadow:var(--shadow),var(--shadow-hairline);-webkit-overflow-scrolling:touch;transform-origin:var(--radix-popover-content-transform-origin);will-change:transform}._Popover_1wdpp_3:focus{outline:none}._Popover_1wdpp_3[data-translucent]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(360deg,#f7f7f87f,#f7f7f8)}:where([data-theme=dark]) ._Popover_1wdpp_3[data-translucent]{background:linear-gradient(360deg,#56586940,#5658697d)}._Popover_1wdpp_3[data-animate=shake]{animation:_shake_1wdpp_1 .4s ease}._Transition_1wdpp_1[data-entering] ._Popover_1wdpp_3{opacity:0;transform:scale(.95)}._Transition_1wdpp_1[data-entering-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-entering][data-interrupted] ._Popover_1wdpp_3{opacity:1;transform:scale(1);transition-duration:.35s;transition-property:opacity,transform;transition-timing-function:var(--cubic-enter)}._Transition_1wdpp_1[data-exiting] ._Popover_1wdpp_3{opacity:1;transform:scale(1)}._Transition_1wdpp_1[data-exiting-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-exiting][data-interrupted] ._Popover_1wdpp_3{opacity:0;transform:scale(.95);transition-duration:.2s;transition-property:opacity,transform;transition-timing-function:var(--cubic-exit)}@keyframes _shake_1wdpp_1{0%{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}to{transform:translate(0)}}}.response-annotation-anchor{position:fixed;z-index:80;width:1px;pointer-events:none}.response-annotation-popover{--response-annotation-surface: 48 100% 97%;--response-annotation-excerpt: 47 86% 93%;--response-annotation-border: 43 72% 82%;width:min(360px,calc(100vw - 24px));border:1px solid hsl(var(--response-annotation-border));border-radius:12px;background:hsl(var(--response-annotation-surface))}.response-annotation-form{display:grid;gap:12px;padding:12px}.response-annotation-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.response-annotation-header h2{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600}.response-annotation-form blockquote{max-height:82px;margin:0;padding:8px 10px;overflow:auto;border-left:2px solid hsl(var(--response-annotation-border));border-radius:0 7px 7px 0;background:hsl(var(--response-annotation-excerpt));color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;white-space:pre-wrap}.response-annotation-field{display:grid;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.response-annotation-field textarea{min-height:78px;background:hsl(var(--background));font-family:inherit;font-size:13px;font-weight:400;line-height:1.55}.response-annotation-error{margin:-4px 0 0;font-size:11.5px;line-height:1.45}.response-annotation-error{color:hsl(var(--destructive))}.response-annotation-actions{display:flex;justify-content:flex-end;gap:8px}.response-annotation-action{font-size:12px}.response-annotation-success{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px}.response-annotation-success strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.response-annotation-success p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}:where([data-theme=dark]) .response-annotation-popover{--response-annotation-surface: 43 22% 14%;--response-annotation-excerpt: 43 25% 18%;--response-annotation-border: 42 32% 30%}@media (prefers-reduced-motion: reduce){.response-annotation-popover{transition:none}}.platform-feedback-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.platform-feedback-header{flex:0 0 auto}.platform-feedback-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.platform-feedback-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.platform-feedback-scroll{min-height:0;overflow-y:auto;padding:24px 0 40px}.platform-feedback-form,.platform-feedback-success{width:min(720px,100%)}.platform-feedback-form{display:grid;gap:24px}.platform-feedback-section{display:grid;gap:12px}.platform-feedback-section-heading{display:flex;align-items:center;gap:8px}.platform-feedback-section h2,.platform-feedback-field>span{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600;line-height:1.45}.platform-feedback-section-heading>span,.platform-feedback-suggestions>span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.platform-feedback-pills{display:flex;flex-wrap:wrap;gap:8px}.platform-feedback-pills button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;transition:background .14s ease,border-color .14s ease}.platform-feedback-pills button:hover:not(:disabled){background:hsl(var(--secondary))}.platform-feedback-pills button[aria-pressed=true]{border-color:hsl(var(--primary) / .42);background:hsl(var(--primary) / .08)}.platform-feedback-field{display:grid;gap:8px}.platform-feedback-field textarea{width:100%;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:1.55}.platform-feedback-field textarea{min-height:132px;resize:vertical}.platform-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.platform-feedback-suggestions{display:grid;gap:8px}.platform-feedback-privacy{margin:0;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.platform-feedback-error{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.platform-feedback-actions{display:flex;justify-content:flex-end}.platform-feedback-actions button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:1px solid hsl(var(--primary));border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.platform-feedback-actions button:hover:not(:disabled){background:hsl(var(--primary) / .9)}.platform-feedback-success{min-height:280px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-content:center;align-items:center;animation:platform-feedback-success-in .18s ease-out}.platform-feedback-success-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#24a8541a;color:#238b49;animation:platform-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.platform-feedback-success-icon:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:13px;content:"";opacity:0;animation:platform-feedback-success-ring .44s ease-out}.platform-feedback-success-icon svg{width:16px;height:16px}.platform-feedback-success-icon path{stroke-dasharray:24;stroke-dashoffset:24;animation:platform-feedback-check-draw .28s .1s ease-out forwards}.platform-feedback-success h2{margin:0 0 4px;font-size:15px;font-weight:600}.platform-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.platform-feedback-pills button:focus-visible,.platform-feedback-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:2px}.platform-feedback-field textarea:focus-visible{border-color:hsl(var(--ring) / .58);outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .3)}.platform-feedback-page button:disabled,.platform-feedback-page textarea:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 720px){.platform-feedback-page{padding:24px 20px 0}}@media (max-width: 560px){.platform-feedback-page{padding-inline:16px}}@keyframes platform-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes platform-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes platform-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes platform-feedback-check-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.platform-feedback-pills button,.platform-feedback-success,.platform-feedback-success-icon,.platform-feedback-success-icon:after,.platform-feedback-success-icon path{transition:none;animation:none}.platform-feedback-success-icon path{stroke-dashoffset:0}}.PhotoView-Portal{direction:ltr;height:100%;left:0;overflow:hidden;position:fixed;top:0;touch-action:none;width:100%;z-index:2000}@keyframes PhotoView__rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes PhotoView__delayIn{0%,50%{opacity:0}to{opacity:1}}.PhotoView__Spinner{animation:PhotoView__delayIn .4s linear both}.PhotoView__Spinner svg{animation:PhotoView__rotate .6s linear infinite}.PhotoView__Photo{cursor:grab;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PhotoView__Photo:active{cursor:grabbing}.PhotoView__icon{display:inline-block;left:0;position:absolute;top:0;transform:translate(-50%,-50%)}.PhotoView__PhotoBox,.PhotoView__PhotoWrap{bottom:0;direction:ltr;left:0;position:absolute;right:0;top:0;touch-action:none;width:100%}.PhotoView__PhotoWrap{overflow:hidden;z-index:10}.PhotoView__PhotoBox{transform-origin:left top}@keyframes PhotoView__fade{0%{opacity:0}to{opacity:1}}.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft,.PhotoView-Slider__clean .PhotoView-Slider__ArrowRight,.PhotoView-Slider__clean .PhotoView-Slider__BannerWrap,.PhotoView-Slider__clean .PhotoView-Slider__Overlay,.PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover{opacity:0}.PhotoView-Slider__Backdrop{background:#000;height:100%;left:0;position:absolute;top:0;transition-property:background-color;width:100%;z-index:-1}.PhotoView-Slider__fadeIn{animation:PhotoView__fade linear both;opacity:0}.PhotoView-Slider__fadeOut{animation:PhotoView__fade linear reverse both;opacity:0}.PhotoView-Slider__BannerWrap{align-items:center;background-color:#00000080;color:#fff;display:flex;height:44px;justify-content:space-between;left:0;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:20}.PhotoView-Slider__BannerWrap:hover{opacity:1}.PhotoView-Slider__Counter{font-size:14px;opacity:.75;padding:0 10px}.PhotoView-Slider__BannerRight{align-items:center;display:flex;height:100%}.PhotoView-Slider__toolbarIcon{fill:#fff;box-sizing:border-box;cursor:pointer;opacity:.75;padding:10px;transition:opacity .2s linear}.PhotoView-Slider__toolbarIcon:hover{opacity:1}.PhotoView-Slider__ArrowLeft,.PhotoView-Slider__ArrowRight{align-items:center;bottom:0;cursor:pointer;display:flex;height:100px;justify-content:center;margin:auto;opacity:.75;position:absolute;top:0;transition:opacity .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:70px;z-index:20}.PhotoView-Slider__ArrowLeft:hover,.PhotoView-Slider__ArrowRight:hover{opacity:1}.PhotoView-Slider__ArrowLeft svg,.PhotoView-Slider__ArrowRight svg{fill:#fff;background:#0000004d;box-sizing:content-box;height:24px;padding:10px;width:24px}.PhotoView-Slider__ArrowLeft{left:0}.PhotoView-Slider__ArrowRight{right:0} diff --git a/veadk/webui/assets/visualizations/mermaid/abnfDiagram-N423BO3Z-ytavltmL.js b/veadk/webui/assets/visualizations/mermaid/abnfDiagram-N423BO3Z-CwfzxrYk.js similarity index 85% rename from veadk/webui/assets/visualizations/mermaid/abnfDiagram-N423BO3Z-ytavltmL.js rename to veadk/webui/assets/visualizations/mermaid/abnfDiagram-N423BO3Z-CwfzxrYk.js index 852bc3c9d..1448875b9 100644 --- a/veadk/webui/assets/visualizations/mermaid/abnfDiagram-N423BO3Z-ytavltmL.js +++ b/veadk/webui/assets/visualizations/mermaid/abnfDiagram-N423BO3Z-CwfzxrYk.js @@ -1 +1 @@ -import{g as p,r as u,d as n}from"./chunk-6Q2QTUOP-BWy4vQ8l.js";import{p as f}from"./chunk-JWPE2WC7-B2zXTT0G.js";import{a,at as o}from"./mermaid.core-CA8ypPul.js";import"../../app/index-BSfA7-Qp.js";import{M as c,c as d}from"./cynefin-OW5HDTMX-DZwYx8KA.js";var v=d().RailroadAbnf.parser.LangiumParser,i=a(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=a(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=a(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=a(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=a(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=a(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=a(e=>{f(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(P(r)))},"populateDb"),R={parse:a(e=>{n.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:n}},B={parser:R,db:n,renderer:u,styles:p};export{B as diagram}; +import{g as p,r as u,d as n}from"./chunk-6Q2QTUOP-C6-1_k94.js";import{p as f}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{a,at as o}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";import{M as c,c as d}from"./cynefin-OW5HDTMX-CJh-KUCL.js";var v=d().RailroadAbnf.parser.LangiumParser,i=a(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=a(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=a(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=a(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=a(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=a(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=a(e=>{f(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(P(r)))},"populateDb"),R={parse:a(e=>{n.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:n}},B={parser:R,db:n,renderer:u,styles:p};export{B as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/architectureDiagram-T3A2C74G-DDnDuHF5.js b/veadk/webui/assets/visualizations/mermaid/architectureDiagram-T3A2C74G-BGRiJ8DJ.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/architectureDiagram-T3A2C74G-DDnDuHF5.js rename to veadk/webui/assets/visualizations/mermaid/architectureDiagram-T3A2C74G-BGRiJ8DJ.js index 33a7eae12..25e9c6ad2 100644 --- a/veadk/webui/assets/visualizations/mermaid/architectureDiagram-T3A2C74G-DDnDuHF5.js +++ b/veadk/webui/assets/visualizations/mermaid/architectureDiagram-T3A2C74G-BGRiJ8DJ.js @@ -1,4 +1,4 @@ -import{p as qe}from"./chunk-JWPE2WC7-B2zXTT0G.js";import{a as ct,aQ as Qe,aX as Je,at as Se,aS as Ke,W as je,aU as _e,$ as tr,V as er,aR as rr,s as ir,r as ar,X as nr,O as or,Y as me,F as Ee,a2 as ve,aO as sr,a0 as hr,aK as lr,b8 as fr}from"./mermaid.core-CA8ypPul.js";import{p as cr}from"./cynefin-OW5HDTMX-DZwYx8KA.js";import{c as Fe}from"../../chunks/cytoscape.esm-Dz9tvMTw.js";import{q as Te,N as gr,ad as ur}from"../../app/index-BSfA7-Qp.js";var be={exports:{}},ue={exports:{}},de={exports:{}},De;function dr(){return De||(De=1,function(I,M){(function(x,N){I.exports=N()})(Te,function(){return function(C){var x={};function N(v){if(x[v])return x[v].exports;var l=x[v]={i:v,l:!1,exports:{}};return C[v].call(l.exports,l,l.exports,N),l.l=!0,l.exports}return N.m=C,N.c=x,N.i=function(v){return v},N.d=function(v,l,n){N.o(v,l)||Object.defineProperty(v,l,{configurable:!1,enumerable:!0,get:n})},N.n=function(v){var l=v&&v.__esModule?function(){return v.default}:function(){return v};return N.d(l,"a",l),l},N.o=function(v,l){return Object.prototype.hasOwnProperty.call(v,l)},N.p="",N(N.s=28)}([function(C,x,N){function v(){}v.QUALITY=1,v.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,v.DEFAULT_INCREMENTAL=!1,v.DEFAULT_ANIMATION_ON_LAYOUT=!0,v.DEFAULT_ANIMATION_DURING_LAYOUT=!1,v.DEFAULT_ANIMATION_PERIOD=50,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,v.DEFAULT_GRAPH_MARGIN=15,v.NODE_DIMENSIONS_INCLUDE_LABELS=!1,v.SIMPLE_NODE_SIZE=40,v.SIMPLE_NODE_HALF_SIZE=v.SIMPLE_NODE_SIZE/2,v.EMPTY_COMPOUND_NODE_SIZE=40,v.MIN_EDGE_LENGTH=1,v.WORLD_BOUNDARY=1e6,v.INITIAL_WORLD_BOUNDARY=v.WORLD_BOUNDARY/1e3,v.WORLD_CENTER_X=1200,v.WORLD_CENTER_Y=900,C.exports=v},function(C,x,N){var v=N(2),l=N(8),n=N(9);function r(f,e,g){v.call(this,g),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=g,this.bendpoints=[],this.source=f,this.target=e}r.prototype=Object.create(v.prototype);for(var i in v)r[i]=v[i];r.prototype.getSource=function(){return this.source},r.prototype.getTarget=function(){return this.target},r.prototype.isInterGraph=function(){return this.isInterGraph},r.prototype.getLength=function(){return this.length},r.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},r.prototype.getBendpoints=function(){return this.bendpoints},r.prototype.getLca=function(){return this.lca},r.prototype.getSourceInLca=function(){return this.sourceInLca},r.prototype.getTargetInLca=function(){return this.targetInLca},r.prototype.getOtherEnd=function(f){if(this.source===f)return this.target;if(this.target===f)return this.source;throw"Node is not incident with this edge"},r.prototype.getOtherEndInGraph=function(f,e){for(var g=this.getOtherEnd(f),t=e.getGraphManager().getRoot();;){if(g.getOwner()==e)return g;if(g.getOwner()==t)break;g=g.getOwner().getParent()}return null},r.prototype.updateLength=function(){var f=new Array(4);this.isOverlapingSourceAndTarget=l.getIntersection(this.target.getRect(),this.source.getRect(),f),this.isOverlapingSourceAndTarget||(this.lengthX=f[0]-f[2],this.lengthY=f[1]-f[3],Math.abs(this.lengthX)<1&&(this.lengthX=n.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=n.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},r.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=n.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=n.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},C.exports=r},function(C,x,N){function v(l){this.vGraphObject=l}C.exports=v},function(C,x,N){var v=N(2),l=N(10),n=N(13),r=N(0),i=N(16),f=N(5);function e(t,s,o,c){o==null&&c==null&&(c=s),v.call(this,c),t.graphManager!=null&&(t=t.graphManager),this.estimatedSize=l.MIN_VALUE,this.inclusionTreeDepth=l.MAX_VALUE,this.vGraphObject=c,this.edges=[],this.graphManager=t,o!=null&&s!=null?this.rect=new n(s.x,s.y,o.width,o.height):this.rect=new n}e.prototype=Object.create(v.prototype);for(var g in v)e[g]=v[g];e.prototype.getEdges=function(){return this.edges},e.prototype.getChild=function(){return this.child},e.prototype.getOwner=function(){return this.owner},e.prototype.getWidth=function(){return this.rect.width},e.prototype.setWidth=function(t){this.rect.width=t},e.prototype.getHeight=function(){return this.rect.height},e.prototype.setHeight=function(t){this.rect.height=t},e.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},e.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},e.prototype.getCenter=function(){return new f(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},e.prototype.getLocation=function(){return new f(this.rect.x,this.rect.y)},e.prototype.getRect=function(){return this.rect},e.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},e.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},e.prototype.setRect=function(t,s){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=s.width,this.rect.height=s.height},e.prototype.setCenter=function(t,s){this.rect.x=t-this.rect.width/2,this.rect.y=s-this.rect.height/2},e.prototype.setLocation=function(t,s){this.rect.x=t,this.rect.y=s},e.prototype.moveBy=function(t,s){this.rect.x+=t,this.rect.y+=s},e.prototype.getEdgeListToNode=function(t){var s=[],o=this;return o.edges.forEach(function(c){if(c.target==t){if(c.source!=o)throw"Incorrect edge source!";s.push(c)}}),s},e.prototype.getEdgesBetween=function(t){var s=[],o=this;return o.edges.forEach(function(c){if(!(c.source==o||c.target==o))throw"Incorrect edge source and/or target";(c.target==t||c.source==t)&&s.push(c)}),s},e.prototype.getNeighborsList=function(){var t=new Set,s=this;return s.edges.forEach(function(o){if(o.source==s)t.add(o.target);else{if(o.target!=s)throw"Incorrect incidency!";t.add(o.source)}}),t},e.prototype.withChildren=function(){var t=new Set,s,o;if(t.add(this),this.child!=null)for(var c=this.child.getNodes(),h=0;hs?(this.rect.x-=(this.labelWidth-s)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(s+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(o+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>o?(this.rect.y-=(this.labelHeight-o)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(o+this.labelHeight))}}},e.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==l.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},e.prototype.transform=function(t){var s=this.rect.x;s>r.WORLD_BOUNDARY?s=r.WORLD_BOUNDARY:s<-r.WORLD_BOUNDARY&&(s=-r.WORLD_BOUNDARY);var o=this.rect.y;o>r.WORLD_BOUNDARY?o=r.WORLD_BOUNDARY:o<-r.WORLD_BOUNDARY&&(o=-r.WORLD_BOUNDARY);var c=new f(s,o),h=t.inverseTransformPoint(c);this.setLocation(h.x,h.y)},e.prototype.getLeft=function(){return this.rect.x},e.prototype.getRight=function(){return this.rect.x+this.rect.width},e.prototype.getTop=function(){return this.rect.y},e.prototype.getBottom=function(){return this.rect.y+this.rect.height},e.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},C.exports=e},function(C,x,N){var v=N(0);function l(){}for(var n in v)l[n]=v[n];l.MAX_ITERATIONS=2500,l.DEFAULT_EDGE_LENGTH=50,l.DEFAULT_SPRING_STRENGTH=.45,l.DEFAULT_REPULSION_STRENGTH=4500,l.DEFAULT_GRAVITY_STRENGTH=.4,l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,l.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,l.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,l.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,l.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,l.COOLING_ADAPTATION_FACTOR=.33,l.ADAPTATION_LOWER_NODE_LIMIT=1e3,l.ADAPTATION_UPPER_NODE_LIMIT=5e3,l.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,l.MAX_NODE_DISPLACEMENT=l.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,l.MIN_REPULSION_DIST=l.DEFAULT_EDGE_LENGTH/10,l.CONVERGENCE_CHECK_PERIOD=100,l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,l.MIN_EDGE_LENGTH=1,l.GRID_CALCULATION_CHECK_PERIOD=10,C.exports=l},function(C,x,N){function v(l,n){l==null&&n==null?(this.x=0,this.y=0):(this.x=l,this.y=n)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(l){this.x=l},v.prototype.setY=function(l){this.y=l},v.prototype.getDifference=function(l){return new DimensionD(this.x-l.x,this.y-l.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(l){return this.x+=l.width,this.y+=l.height,this},C.exports=v},function(C,x,N){var v=N(2),l=N(10),n=N(0),r=N(7),i=N(3),f=N(1),e=N(13),g=N(12),t=N(11);function s(c,h,T){v.call(this,T),this.estimatedSize=l.MIN_VALUE,this.margin=n.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=c,h!=null&&h instanceof r?this.graphManager=h:h!=null&&h instanceof Layout&&(this.graphManager=h.graphManager)}s.prototype=Object.create(v.prototype);for(var o in v)s[o]=v[o];s.prototype.getNodes=function(){return this.nodes},s.prototype.getEdges=function(){return this.edges},s.prototype.getGraphManager=function(){return this.graphManager},s.prototype.getParent=function(){return this.parent},s.prototype.getLeft=function(){return this.left},s.prototype.getRight=function(){return this.right},s.prototype.getTop=function(){return this.top},s.prototype.getBottom=function(){return this.bottom},s.prototype.isConnected=function(){return this.isConnected},s.prototype.add=function(c,h,T){if(h==null&&T==null){var u=c;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var d=c;if(!(this.getNodes().indexOf(h)>-1&&this.getNodes().indexOf(T)>-1))throw"Source or target not in graph!";if(!(h.owner==T.owner&&h.owner==this))throw"Both owners must be this graph!";return h.owner!=T.owner?null:(d.source=h,d.target=T,d.isInterGraph=!1,this.getEdges().push(d),h.edges.push(d),T!=h&&T.edges.push(d),d)}},s.prototype.remove=function(c){var h=c;if(c instanceof i){if(h==null)throw"Node is null!";if(!(h.owner!=null&&h.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var T=h.edges.slice(),u,d=T.length,L=0;L-1&&P>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(w,1),u.target!=u.source&&u.target.edges.splice(P,1);var b=u.source.owner.getEdges().indexOf(u);if(b==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(b,1)}},s.prototype.updateLeftTop=function(){for(var c=l.MAX_VALUE,h=l.MAX_VALUE,T,u,d,L=this.getNodes(),b=L.length,w=0;wT&&(c=T),h>u&&(h=u)}return c==l.MAX_VALUE?null:(L[0].getParent().paddingLeft!=null?d=L[0].getParent().paddingLeft:d=this.margin,this.left=h-d,this.top=c-d,new g(this.left,this.top))},s.prototype.updateBounds=function(c){for(var h=l.MAX_VALUE,T=-l.MAX_VALUE,u=l.MAX_VALUE,d=-l.MAX_VALUE,L,b,w,P,V,Y=this.nodes,B=Y.length,A=0;AL&&(h=L),Tw&&(u=w),dL&&(h=L),Tw&&(u=w),d=this.nodes.length){var B=0;T.forEach(function(A){A.owner==c&&B++}),B==this.nodes.length&&(this.isConnected=!0)}},C.exports=s},function(C,x,N){var v,l=N(1);function n(r){v=N(6),this.layout=r,this.graphs=[],this.edges=[]}n.prototype.addRoot=function(){var r=this.layout.newGraph(),i=this.layout.newNode(null),f=this.add(r,i);return this.setRootGraph(f),this.rootGraph},n.prototype.add=function(r,i,f,e,g){if(f==null&&e==null&&g==null){if(r==null)throw"Graph is null!";if(i==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(i.child!=null)throw"Already has a child!";return r.parent=i,i.child=r,r}else{g=f,e=i,f=r;var t=e.getOwner(),s=g.getOwner();if(!(t!=null&&t.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(s!=null&&s.getGraphManager()==this))throw"Target not in this graph mgr!";if(t==s)return f.isInterGraph=!1,t.add(f,e,g);if(f.isInterGraph=!0,f.source=e,f.target=g,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},n.prototype.remove=function(r){if(r instanceof v){var i=r;if(i.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(i==this.rootGraph||i.parent!=null&&i.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(i.getEdges());for(var e,g=f.length,t=0;t=r.getRight()?i[0]+=Math.min(r.getX()-n.getX(),n.getRight()-r.getRight()):r.getX()<=n.getX()&&r.getRight()>=n.getRight()&&(i[0]+=Math.min(n.getX()-r.getX(),r.getRight()-n.getRight())),n.getY()<=r.getY()&&n.getBottom()>=r.getBottom()?i[1]+=Math.min(r.getY()-n.getY(),n.getBottom()-r.getBottom()):r.getY()<=n.getY()&&r.getBottom()>=n.getBottom()&&(i[1]+=Math.min(n.getY()-r.getY(),r.getBottom()-n.getBottom()));var g=Math.abs((r.getCenterY()-n.getCenterY())/(r.getCenterX()-n.getCenterX()));r.getCenterY()===n.getCenterY()&&r.getCenterX()===n.getCenterX()&&(g=1);var t=g*i[0],s=i[1]/g;i[0]t)return i[0]=f,i[1]=o,i[2]=g,i[3]=Y,!1;if(eg)return i[0]=s,i[1]=e,i[2]=P,i[3]=t,!1;if(fg?(i[0]=h,i[1]=T,a=!0):(i[0]=c,i[1]=o,a=!0):p===y&&(f>g?(i[0]=s,i[1]=o,a=!0):(i[0]=u,i[1]=T,a=!0)),-m===y?g>f?(i[2]=V,i[3]=Y,E=!0):(i[2]=P,i[3]=w,E=!0):m===y&&(g>f?(i[2]=b,i[3]=w,E=!0):(i[2]=B,i[3]=Y,E=!0)),a&&E)return!1;if(f>g?e>t?(S=this.getCardinalDirection(p,y,4),D=this.getCardinalDirection(m,y,2)):(S=this.getCardinalDirection(-p,y,3),D=this.getCardinalDirection(-m,y,1)):e>t?(S=this.getCardinalDirection(-p,y,1),D=this.getCardinalDirection(-m,y,3)):(S=this.getCardinalDirection(p,y,2),D=this.getCardinalDirection(m,y,4)),!a)switch(S){case 1:W=o,F=f+-L/y,i[0]=F,i[1]=W;break;case 2:F=u,W=e+d*y,i[0]=F,i[1]=W;break;case 3:W=T,F=f+L/y,i[0]=F,i[1]=W;break;case 4:F=h,W=e+-d*y,i[0]=F,i[1]=W;break}if(!E)switch(D){case 1:Q=w,R=g+-j/y,i[2]=R,i[3]=Q;break;case 2:R=B,Q=t+A*y,i[2]=R,i[3]=Q;break;case 3:Q=Y,R=g+j/y,i[2]=R,i[3]=Q;break;case 4:R=V,Q=t+-A*y,i[2]=R,i[3]=Q;break}}return!1},l.getCardinalDirection=function(n,r,i){return n>r?i:1+i%4},l.getIntersection=function(n,r,i,f){if(f==null)return this.getIntersection2(n,r,i);var e=n.x,g=n.y,t=r.x,s=r.y,o=i.x,c=i.y,h=f.x,T=f.y,u=void 0,d=void 0,L=void 0,b=void 0,w=void 0,P=void 0,V=void 0,Y=void 0,B=void 0;return L=s-g,w=e-t,V=t*g-e*s,b=T-c,P=o-h,Y=h*c-o*T,B=L*P-b*w,B===0?null:(u=(w*Y-P*V)/B,d=(b*V-L*Y)/B,new v(u,d))},l.angleOfVector=function(n,r,i,f){var e=void 0;return n!==i?(e=Math.atan((f-r)/(i-n)),i=0){var T=(-o+Math.sqrt(o*o-4*s*c))/(2*s),u=(-o-Math.sqrt(o*o-4*s*c))/(2*s),d=null;return T>=0&&T<=1?[T]:u>=0&&u<=1?[u]:d}else return null},l.HALF_PI=.5*Math.PI,l.ONE_AND_HALF_PI=1.5*Math.PI,l.TWO_PI=2*Math.PI,l.THREE_PI=3*Math.PI,C.exports=l},function(C,x,N){function v(){}v.sign=function(l){return l>0?1:l<0?-1:0},v.floor=function(l){return l<0?Math.ceil(l):Math.floor(l)},v.ceil=function(l){return l<0?Math.floor(l):Math.ceil(l)},C.exports=v},function(C,x,N){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,C.exports=v},function(C,x,N){var v=function(){function e(g,t){for(var s=0;s"u"?"undefined":v(n);return n==null||r!="object"&&r!="function"},C.exports=l},function(C,x,N){function v(o){if(Array.isArray(o)){for(var c=0,h=Array(o.length);c0&&c;){for(L.push(w[0]);L.length>0&&c;){var P=L[0];L.splice(0,1),d.add(P);for(var V=P.getEdges(),u=0;u-1&&w.splice(j,1)}d=new Set,b=new Map}}return o},s.prototype.createDummyNodesForBendpoints=function(o){for(var c=[],h=o.source,T=this.graphManager.calcLowestCommonAncestor(o.source,o.target),u=0;u0){for(var T=this.edgeToDummyNodes.get(h),u=0;u=0&&c.splice(Y,1);var B=b.getNeighborsList();B.forEach(function(a){if(h.indexOf(a)<0){var E=T.get(a),p=E-1;p==1&&P.push(a),T.set(a,p)}})}h=h.concat(P),(c.length==1||c.length==2)&&(u=!0,d=c[0])}return d},s.prototype.setGraphManager=function(o){this.graphManager=o},C.exports=s},function(C,x,N){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},C.exports=v},function(C,x,N){var v=N(5);function l(n,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}l.prototype.getWorldOrgX=function(){return this.lworldOrgX},l.prototype.setWorldOrgX=function(n){this.lworldOrgX=n},l.prototype.getWorldOrgY=function(){return this.lworldOrgY},l.prototype.setWorldOrgY=function(n){this.lworldOrgY=n},l.prototype.getWorldExtX=function(){return this.lworldExtX},l.prototype.setWorldExtX=function(n){this.lworldExtX=n},l.prototype.getWorldExtY=function(){return this.lworldExtY},l.prototype.setWorldExtY=function(n){this.lworldExtY=n},l.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},l.prototype.setDeviceOrgX=function(n){this.ldeviceOrgX=n},l.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},l.prototype.setDeviceOrgY=function(n){this.ldeviceOrgY=n},l.prototype.getDeviceExtX=function(){return this.ldeviceExtX},l.prototype.setDeviceExtX=function(n){this.ldeviceExtX=n},l.prototype.getDeviceExtY=function(){return this.ldeviceExtY},l.prototype.setDeviceExtY=function(n){this.ldeviceExtY=n},l.prototype.transformX=function(n){var r=0,i=this.lworldExtX;return i!=0&&(r=this.ldeviceOrgX+(n-this.lworldOrgX)*this.ldeviceExtX/i),r},l.prototype.transformY=function(n){var r=0,i=this.lworldExtY;return i!=0&&(r=this.ldeviceOrgY+(n-this.lworldOrgY)*this.ldeviceExtY/i),r},l.prototype.inverseTransformX=function(n){var r=0,i=this.ldeviceExtX;return i!=0&&(r=this.lworldOrgX+(n-this.ldeviceOrgX)*this.lworldExtX/i),r},l.prototype.inverseTransformY=function(n){var r=0,i=this.ldeviceExtY;return i!=0&&(r=this.lworldOrgY+(n-this.ldeviceOrgY)*this.lworldExtY/i),r},l.prototype.inverseTransformPoint=function(n){var r=new v(this.inverseTransformX(n.x),this.inverseTransformY(n.y));return r},C.exports=l},function(C,x,N){function v(t){if(Array.isArray(t)){for(var s=0,o=Array(t.length);sn.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},e.prototype.calcSpringForces=function(){for(var t=this.getAllEdges(),s,o=0;o0&&arguments[0]!==void 0?arguments[0]:!0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o,c,h,T,u=this.getAllNodes(),d;if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&t&&this.updateGrid(),d=new Set,o=0;oL||d>L)&&(t.gravitationForceX=-this.gravityConstant*h,t.gravitationForceY=-this.gravityConstant*T)):(L=s.getEstimatedSize()*this.compoundGravityRangeFactor,(u>L||d>L)&&(t.gravitationForceX=-this.gravityConstant*h*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*T*this.compoundGravityConstant))},e.prototype.isConverged=function(){var t,s=!1;return this.totalIterations>this.maxIterations/3&&(s=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=u.length||L>=u[0].length)){for(var b=0;be}}]),i}();C.exports=r},function(C,x,N){function v(){}v.svd=function(l){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=l.length,this.n=l[0].length;var n=Math.min(this.m,this.n);this.s=function(Tt){for(var wt=[];Tt-- >0;)wt.push(0);return wt}(Math.min(this.m+1,this.n)),this.U=function(Tt){var wt=function $t(bt){if(bt.length==0)return 0;for(var zt=[],St=0;St0;)wt.push(0);return wt}(this.n),i=function(Tt){for(var wt=[];Tt-- >0;)wt.push(0);return wt}(this.m),f=!0,e=Math.min(this.m-1,this.n),g=Math.max(0,Math.min(this.n-2,this.m)),t=0;t=0;m--)if(this.s[m]!==0){for(var y=m+1;y=0;z--){if(function(Tt,wt){return Tt&&wt}(z0;){var J=void 0,It=void 0;for(J=a-2;J>=-1&&J!==-1;J--)if(Math.abs(r[J])<=ht+tt*(Math.abs(this.s[J])+Math.abs(this.s[J+1]))){r[J]=0;break}if(J===a-2)It=4;else{var Nt=void 0;for(Nt=a-1;Nt>=J&&Nt!==J;Nt--){var vt=(Nt!==a?Math.abs(r[Nt]):0)+(Nt!==J+1?Math.abs(r[Nt-1]):0);if(Math.abs(this.s[Nt])<=ht+tt*vt){this.s[Nt]=0;break}}Nt===J?It=3:Nt===a-1?It=1:(It=2,J=Nt)}switch(J++,It){case 1:{var it=r[a-2];r[a-2]=0;for(var ut=a-2;ut>=J;ut--){var Et=v.hypot(this.s[ut],it),Ct=this.s[ut]/Et,Dt=it/Et;this.s[ut]=Et,ut!==J&&(it=-Dt*r[ut-1],r[ut-1]=Ct*r[ut-1]);for(var mt=0;mt=this.s[J+1]);){var Lt=this.s[J];if(this.s[J]=this.s[J+1],this.s[J+1]=Lt,JMath.abs(n)?(r=n/l,r=Math.abs(l)*Math.sqrt(1+r*r)):n!=0?(r=l/n,r=Math.abs(n)*Math.sqrt(1+r*r)):r=0,r},C.exports=v},function(C,x,N){var v=function(){function r(i,f){for(var e=0;e2&&arguments[2]!==void 0?arguments[2]:1,g=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;l(this,r),this.sequence1=i,this.sequence2=f,this.match_score=e,this.mismatch_penalty=g,this.gap_penalty=t,this.iMax=i.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var s=0;s=0;i--){var f=this.listeners[i];f.event===n&&f.callback===r&&this.listeners.splice(i,1)}},l.emit=function(n,r){for(var i=0;i{var x={45:(n,r,i)=>{var f={};f.layoutBase=i(551),f.CoSEConstants=i(806),f.CoSEEdge=i(767),f.CoSEGraph=i(880),f.CoSEGraphManager=i(578),f.CoSELayout=i(765),f.CoSENode=i(991),f.ConstraintHandler=i(902),n.exports=f},806:(n,r,i)=>{var f=i(551).FDLayoutConstants;function e(){}for(var g in f)e[g]=f[g];e.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,e.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH,e.DEFAULT_COMPONENT_SEPERATION=60,e.TILE=!0,e.TILING_PADDING_VERTICAL=10,e.TILING_PADDING_HORIZONTAL=10,e.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,e.ENFORCE_CONSTRAINTS=!0,e.APPLY_LAYOUT=!0,e.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,e.TREE_REDUCTION_ON_INCREMENTAL=!0,e.PURE_INCREMENTAL=e.DEFAULT_INCREMENTAL,n.exports=e},767:(n,r,i)=>{var f=i(551).FDLayoutEdge;function e(t,s,o){f.call(this,t,s,o)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e},880:(n,r,i)=>{var f=i(551).LGraph;function e(t,s,o){f.call(this,t,s,o)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e},578:(n,r,i)=>{var f=i(551).LGraphManager;function e(t){f.call(this,t)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e},765:(n,r,i)=>{var f=i(551).FDLayout,e=i(578),g=i(880),t=i(991),s=i(767),o=i(806),c=i(902),h=i(551).FDLayoutConstants,T=i(551).LayoutConstants,u=i(551).Point,d=i(551).PointD,L=i(551).DimensionD,b=i(551).Layout,w=i(551).Integer,P=i(551).IGeometry,V=i(551).LGraph,Y=i(551).Transform,B=i(551).LinkedList;function A(){f.call(this),this.toBeTiled={},this.constraints={}}A.prototype=Object.create(f.prototype);for(var j in f)A[j]=f[j];A.prototype.newGraphManager=function(){var a=new e(this);return this.graphManager=a,a},A.prototype.newGraph=function(a){return new g(null,this.graphManager,a)},A.prototype.newNode=function(a){return new t(this.graphManager,a)},A.prototype.newEdge=function(a){return new s(null,null,a)},A.prototype.initParameters=function(){f.prototype.initParameters.call(this,arguments),this.isSubLayout||(o.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=h.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=h.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=h.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},A.prototype.initSpringEmbedder=function(){f.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/h.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},A.prototype.layout=function(){var a=T.DEFAULT_CREATE_BENDS_AS_NEEDED;return a&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},A.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(o.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(S){return E.has(S)});this.graphManager.setAllNodesToApplyGravitation(p)}}else{var a=this.getFlatForest();if(a.length>0)this.positionNodesRadially(a);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(m){return E.has(m)});this.graphManager.setAllNodesToApplyGravitation(p),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(c.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),o.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},A.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%h.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(y){return a.has(y)});this.graphManager.setAllNodesToApplyGravitation(E),this.graphManager.updateBounds(),this.updateGrid(),o.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),o.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var p=!this.isTreeGrowing&&!this.isGrowthFinished,m=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(p,m),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},A.prototype.getPositionsData=function(){for(var a=this.graphManager.getAllNodes(),E={},p=0;p0&&this.updateDisplacements();for(var p=0;p0&&(m.fixedNodeWeight=S)}}if(this.constraints.relativePlacementConstraint){var D=new Map,F=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(O){a.fixedNodesOnHorizontal.add(O),a.fixedNodesOnVertical.add(O)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var W=this.constraints.alignmentConstraint.vertical,p=0;p=2*O.length/3;tt--)H=Math.floor(Math.random()*(tt+1)),Z=O[tt],O[tt]=O[H],O[H]=Z;return O},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=D.has(O.left)?D.get(O.left):O.left,Z=D.has(O.right)?D.get(O.right):O.right;a.nodesInRelativeHorizontal.includes(H)||(a.nodesInRelativeHorizontal.push(H),a.nodeToRelativeConstraintMapHorizontal.set(H,[]),a.dummyToNodeForVerticalAlignment.has(H)?a.nodeToTempPositionMapHorizontal.set(H,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(H)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(H,a.idToNodeMap.get(H).getCenterX())),a.nodesInRelativeHorizontal.includes(Z)||(a.nodesInRelativeHorizontal.push(Z),a.nodeToRelativeConstraintMapHorizontal.set(Z,[]),a.dummyToNodeForVerticalAlignment.has(Z)?a.nodeToTempPositionMapHorizontal.set(Z,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(Z)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(Z,a.idToNodeMap.get(Z).getCenterX())),a.nodeToRelativeConstraintMapHorizontal.get(H).push({right:Z,gap:O.gap}),a.nodeToRelativeConstraintMapHorizontal.get(Z).push({left:H,gap:O.gap})}else{var tt=F.has(O.top)?F.get(O.top):O.top,ht=F.has(O.bottom)?F.get(O.bottom):O.bottom;a.nodesInRelativeVertical.includes(tt)||(a.nodesInRelativeVertical.push(tt),a.nodeToRelativeConstraintMapVertical.set(tt,[]),a.dummyToNodeForHorizontalAlignment.has(tt)?a.nodeToTempPositionMapVertical.set(tt,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(tt)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(tt,a.idToNodeMap.get(tt).getCenterY())),a.nodesInRelativeVertical.includes(ht)||(a.nodesInRelativeVertical.push(ht),a.nodeToRelativeConstraintMapVertical.set(ht,[]),a.dummyToNodeForHorizontalAlignment.has(ht)?a.nodeToTempPositionMapVertical.set(ht,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(ht)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(ht,a.idToNodeMap.get(ht).getCenterY())),a.nodeToRelativeConstraintMapVertical.get(tt).push({bottom:ht,gap:O.gap}),a.nodeToRelativeConstraintMapVertical.get(ht).push({top:tt,gap:O.gap})}});else{var Q=new Map,z=new Map;this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=D.has(O.left)?D.get(O.left):O.left,Z=D.has(O.right)?D.get(O.right):O.right;Q.has(H)?Q.get(H).push(Z):Q.set(H,[Z]),Q.has(Z)?Q.get(Z).push(H):Q.set(Z,[H])}else{var tt=F.has(O.top)?F.get(O.top):O.top,ht=F.has(O.bottom)?F.get(O.bottom):O.bottom;z.has(tt)?z.get(tt).push(ht):z.set(tt,[ht]),z.has(ht)?z.get(ht).push(tt):z.set(ht,[tt])}});var X=function(H,Z){var tt=[],ht=[],J=new B,It=new Set,Nt=0;return H.forEach(function(vt,it){if(!It.has(it)){tt[Nt]=[],ht[Nt]=!1;var ut=it;for(J.push(ut),It.add(ut),tt[Nt].push(ut);J.length!=0;){ut=J.shift(),Z.has(ut)&&(ht[Nt]=!0);var Et=H.get(ut);Et.forEach(function(Ct){It.has(Ct)||(J.push(Ct),It.add(Ct),tt[Nt].push(Ct))})}Nt++}}),{components:tt,isFixed:ht}},rt=X(Q,a.fixedNodesOnHorizontal);this.componentsOnHorizontal=rt.components,this.fixedComponentsOnHorizontal=rt.isFixed;var $=X(z,a.fixedNodesOnVertical);this.componentsOnVertical=$.components,this.fixedComponentsOnVertical=$.isFixed}}},A.prototype.updateDisplacements=function(){var a=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function($){var O=a.idToNodeMap.get($.nodeId);O.displacementX=0,O.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var E=this.constraints.alignmentConstraint.vertical,p=0;p1){var F;for(F=0;Fm&&(m=Math.floor(D.y)),S=Math.floor(D.x+o.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(T.WORLD_CENTER_X-D.x/2,T.WORLD_CENTER_Y-D.y/2))},A.radialLayout=function(a,E,p){var m=Math.max(this.maxDiagonalInTree(a),o.DEFAULT_RADIAL_SEPARATION);A.branchRadialLayout(E,null,0,359,0,m);var y=V.calculateBounds(a),S=new Y;S.setDeviceOrgX(y.getMinX()),S.setDeviceOrgY(y.getMinY()),S.setWorldOrgX(p.x),S.setWorldOrgY(p.y);for(var D=0;D1;){var Z=H[0];H.splice(0,1);var tt=z.indexOf(Z);tt>=0&&z.splice(tt,1),$--,X--}E!=null?O=(z.indexOf(H[0])+1)%$:O=0;for(var ht=Math.abs(m-p)/X,J=O;rt!=X;J=++J%$){var It=z[J].getOtherEnd(a);if(It!=E){var Nt=(p+rt*ht)%360,vt=(Nt+ht)%360;A.branchRadialLayout(It,a,Nt,vt,y+S,S),rt++}}},A.maxDiagonalInTree=function(a){for(var E=w.MIN_VALUE,p=0;pE&&(E=y)}return E},A.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},A.prototype.groupZeroDegreeMembers=function(){var a=this,E={};this.memberGroups={},this.idToDummyNode={};for(var p=[],m=this.graphManager.getAllNodes(),y=0;y"u"&&(E[F]=[]),E[F]=E[F].concat(S)}Object.keys(E).forEach(function(W){if(E[W].length>1){var R="DummyCompound_"+W;a.memberGroups[R]=E[W];var Q=E[W][0].getParent(),z=new t(a.graphManager);z.id=R,z.paddingLeft=Q.paddingLeft||0,z.paddingRight=Q.paddingRight||0,z.paddingBottom=Q.paddingBottom||0,z.paddingTop=Q.paddingTop||0,a.idToDummyNode[R]=z;var X=a.getGraphManager().add(a.newGraph(),z),rt=Q.getChild();rt.add(z);for(var $=0;$y?(m.rect.x-=(m.labelWidth-y)/2,m.setWidth(m.labelWidth),m.labelMarginLeft=(m.labelWidth-y)/2):m.labelPosHorizontal=="right"&&m.setWidth(y+m.labelWidth)),m.labelHeight&&(m.labelPosVertical=="top"?(m.rect.y-=m.labelHeight,m.setHeight(S+m.labelHeight),m.labelMarginTop=m.labelHeight):m.labelPosVertical=="center"&&m.labelHeight>S?(m.rect.y-=(m.labelHeight-S)/2,m.setHeight(m.labelHeight),m.labelMarginTop=(m.labelHeight-S)/2):m.labelPosVertical=="bottom"&&m.setHeight(S+m.labelHeight))}})},A.prototype.repopulateCompounds=function(){for(var a=this.compoundOrder.length-1;a>=0;a--){var E=this.compoundOrder[a],p=E.id,m=E.paddingLeft,y=E.paddingTop,S=E.labelMarginLeft,D=E.labelMarginTop;this.adjustLocations(this.tiledMemberPack[p],E.rect.x,E.rect.y,m,y,S,D)}},A.prototype.repopulateZeroDegreeMembers=function(){var a=this,E=this.tiledZeroDegreePack;Object.keys(E).forEach(function(p){var m=a.idToDummyNode[p],y=m.paddingLeft,S=m.paddingTop,D=m.labelMarginLeft,F=m.labelMarginTop;a.adjustLocations(E[p],m.rect.x,m.rect.y,y,S,D,F)})},A.prototype.getToBeTiled=function(a){var E=a.id;if(this.toBeTiled[E]!=null)return this.toBeTiled[E];var p=a.getChild();if(p==null)return this.toBeTiled[E]=!1,!1;for(var m=p.getNodes(),y=0;y0)return this.toBeTiled[E]=!1,!1;if(S.getChild()==null){this.toBeTiled[S.id]=!1;continue}if(!this.getToBeTiled(S))return this.toBeTiled[E]=!1,!1}return this.toBeTiled[E]=!0,!0},A.prototype.getNodeDegree=function(a){a.id;for(var E=a.getEdges(),p=0,m=0;mQ&&(Q=X.rect.height)}p+=Q+a.verticalPadding}},A.prototype.tileCompoundMembers=function(a,E){var p=this;this.tiledMemberPack=[],Object.keys(a).forEach(function(m){var y=E[m];if(p.tiledMemberPack[m]=p.tileNodes(a[m],y.paddingLeft+y.paddingRight),y.rect.width=p.tiledMemberPack[m].width,y.rect.height=p.tiledMemberPack[m].height,y.setCenter(p.tiledMemberPack[m].centerX,p.tiledMemberPack[m].centerY),y.labelMarginLeft=0,y.labelMarginTop=0,o.NODE_DIMENSIONS_INCLUDE_LABELS){var S=y.rect.width,D=y.rect.height;y.labelWidth&&(y.labelPosHorizontal=="left"?(y.rect.x-=y.labelWidth,y.setWidth(S+y.labelWidth),y.labelMarginLeft=y.labelWidth):y.labelPosHorizontal=="center"&&y.labelWidth>S?(y.rect.x-=(y.labelWidth-S)/2,y.setWidth(y.labelWidth),y.labelMarginLeft=(y.labelWidth-S)/2):y.labelPosHorizontal=="right"&&y.setWidth(S+y.labelWidth)),y.labelHeight&&(y.labelPosVertical=="top"?(y.rect.y-=y.labelHeight,y.setHeight(D+y.labelHeight),y.labelMarginTop=y.labelHeight):y.labelPosVertical=="center"&&y.labelHeight>D?(y.rect.y-=(y.labelHeight-D)/2,y.setHeight(y.labelHeight),y.labelMarginTop=(y.labelHeight-D)/2):y.labelPosVertical=="bottom"&&y.setHeight(D+y.labelHeight))}})},A.prototype.tileNodes=function(a,E){var p=this.tileNodesByFavoringDim(a,E,!0),m=this.tileNodesByFavoringDim(a,E,!1),y=this.getOrgRatio(p),S=this.getOrgRatio(m),D;return SF&&(F=$.getWidth())});var W=S/y,R=D/y,Q=Math.pow(p-m,2)+4*(W+m)*(R+p)*y,z=(m-p+Math.sqrt(Q))/(2*(W+m)),X;E?(X=Math.ceil(z),X==z&&X++):X=Math.floor(z);var rt=X*(W+m)-m;return F>rt&&(rt=F),rt+=m*2,rt},A.prototype.tileNodesByFavoringDim=function(a,E,p){var m=o.TILING_PADDING_VERTICAL,y=o.TILING_PADDING_HORIZONTAL,S=o.TILING_COMPARE_BY,D={rows:[],rowWidth:[],rowHeight:[],width:0,height:E,verticalPadding:m,horizontalPadding:y,centerX:0,centerY:0};S&&(D.idealRowWidth=this.calcIdealRowWidth(a,p));var F=function(O){return O.rect.width*O.rect.height},W=function(O,H){return F(H)-F(O)};a.sort(function($,O){var H=W;return D.idealRowWidth?(H=S,H($.id,O.id)):H($,O)});for(var R=0,Q=0,z=0;z0&&(D+=a.horizontalPadding),a.rowWidth[p]=D,a.width0&&(F+=a.verticalPadding);var W=0;F>a.rowHeight[p]&&(W=a.rowHeight[p],a.rowHeight[p]=F,W=a.rowHeight[p]-W),a.height+=W,a.rows[p].push(E)},A.prototype.getShortestRowIndex=function(a){for(var E=-1,p=Number.MAX_VALUE,m=0;mp&&(E=m,p=a.rowWidth[m]);return E},A.prototype.canAddHorizontal=function(a,E,p){if(a.idealRowWidth){var m=a.rows.length-1,y=a.rowWidth[m];return y+E+a.horizontalPadding<=a.idealRowWidth}var S=this.getShortestRowIndex(a);if(S<0)return!0;var D=a.rowWidth[S];if(D+a.horizontalPadding+E<=a.width)return!0;var F=0;a.rowHeight[S]0&&(F=p+a.verticalPadding-a.rowHeight[S]);var W;a.width-D>=E+a.horizontalPadding?W=(a.height+F)/(D+E+a.horizontalPadding):W=(a.height+F)/a.width,F=p+a.verticalPadding;var R;return a.widthS&&E!=p){m.splice(-1,1),a.rows[p].push(y),a.rowWidth[E]=a.rowWidth[E]-S,a.rowWidth[p]=a.rowWidth[p]+S,a.width=a.rowWidth[instance.getLongestRowIndex(a)];for(var D=Number.MIN_VALUE,F=0;FD&&(D=m[F].height);E>0&&(D+=a.verticalPadding);var W=a.rowHeight[E]+a.rowHeight[p];a.rowHeight[E]=D,a.rowHeight[p]0)for(var rt=y;rt<=S;rt++)X[0]+=this.grid[rt][D-1].length+this.grid[rt][D].length-1;if(S0)for(var rt=D;rt<=F;rt++)X[3]+=this.grid[y-1][rt].length+this.grid[y][rt].length-1;for(var $=w.MAX_VALUE,O,H,Z=0;Z{var f=i(551).FDLayoutNode,e=i(551).IMath;function g(s,o,c,h){f.call(this,s,o,c,h)}g.prototype=Object.create(f.prototype);for(var t in f)g[t]=f[t];g.prototype.calculateDisplacement=function(){var s=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementX=s.coolingFactor*s.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementY=s.coolingFactor*s.maxNodeDisplacement*e.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},g.prototype.propogateDisplacementToChildren=function(s,o){for(var c=this.getChild().getNodes(),h,T=0;T{function f(c){if(Array.isArray(c)){for(var h=0,T=Array(c.length);h0){var Lt=0;ot.forEach(function(st){k=="horizontal"?(et.set(st,u.has(st)?d[u.get(st)]:q.get(st)),Lt+=et.get(st)):(et.set(st,u.has(st)?L[u.get(st)]:q.get(st)),Lt+=et.get(st))}),Lt=Lt/ot.length,lt.forEach(function(st){K.has(st)||et.set(st,Lt)})}else{var ft=0;lt.forEach(function(st){k=="horizontal"?ft+=u.has(st)?d[u.get(st)]:q.get(st):ft+=u.has(st)?L[u.get(st)]:q.get(st)}),ft=ft/lt.length,lt.forEach(function(st){et.set(st,ft)})}});for(var Mt=function(){var ot=dt.shift(),Lt=U.get(ot);Lt.forEach(function(ft){if(et.get(ft.id)st&&(st=Zt),KtXt&&(Xt=Kt)}}catch(ee){wt=!0,$t=ee}finally{try{!Tt&&bt.return&&bt.return()}finally{if(wt)throw $t}}var he=(Lt+st)/2-(ft+Xt)/2,Qt=!0,jt=!1,_t=void 0;try{for(var Jt=lt[Symbol.iterator](),oe;!(Qt=(oe=Jt.next()).done);Qt=!0){var te=oe.value;et.set(te,et.get(te)+he)}}catch(ee){jt=!0,_t=ee}finally{try{!Qt&&Jt.return&&Jt.return()}finally{if(jt)throw _t}}})}return et},j=function(U){var k=0,K=0,q=0,at=0;if(U.forEach(function(_){_.left?d[u.get(_.left)]-d[u.get(_.right)]>=0?k++:K++:L[u.get(_.top)]-L[u.get(_.bottom)]>=0?q++:at++}),k>K&&q>at)for(var gt=0;gtK)for(var nt=0;ntat)for(var et=0;et1)h.fixedNodeConstraint.forEach(function(G,U){m[U]=[G.position.x,G.position.y],y[U]=[d[u.get(G.nodeId)],L[u.get(G.nodeId)]]}),S=!0;else if(h.alignmentConstraint)(function(){var G=0;if(h.alignmentConstraint.vertical){for(var U=h.alignmentConstraint.vertical,k=function(et){var _=new Set;U[et].forEach(function(pt){_.add(pt)});var dt=new Set([].concat(f(_)).filter(function(pt){return F.has(pt)})),Mt=void 0;dt.size>0?Mt=d[u.get(dt.values().next().value)]:Mt=B(_).x,U[et].forEach(function(pt){m[G]=[Mt,L[u.get(pt)]],y[G]=[d[u.get(pt)],L[u.get(pt)]],G++})},K=0;K0?Mt=d[u.get(dt.values().next().value)]:Mt=B(_).y,q[et].forEach(function(pt){m[G]=[d[u.get(pt)],Mt],y[G]=[d[u.get(pt)],L[u.get(pt)]],G++})},gt=0;gtz&&(z=Q[rt].length,X=rt);if(z0){var mt={x:0,y:0};h.fixedNodeConstraint.forEach(function(G,U){var k={x:d[u.get(G.nodeId)],y:L[u.get(G.nodeId)]},K=G.position,q=Y(K,k);mt.x+=q.x,mt.y+=q.y}),mt.x/=h.fixedNodeConstraint.length,mt.y/=h.fixedNodeConstraint.length,d.forEach(function(G,U){d[U]+=mt.x}),L.forEach(function(G,U){L[U]+=mt.y}),h.fixedNodeConstraint.forEach(function(G){d[u.get(G.nodeId)]=G.position.x,L[u.get(G.nodeId)]=G.position.y})}if(h.alignmentConstraint){if(h.alignmentConstraint.vertical)for(var Ot=h.alignmentConstraint.vertical,Rt=function(U){var k=new Set;Ot[U].forEach(function(at){k.add(at)});var K=new Set([].concat(f(k)).filter(function(at){return F.has(at)})),q=void 0;K.size>0?q=d[u.get(K.values().next().value)]:q=B(k).x,k.forEach(function(at){F.has(at)||(d[u.get(at)]=q)})},Ht=0;Ht0?q=L[u.get(K.values().next().value)]:q=B(k).y,k.forEach(function(at){F.has(at)||(L[u.get(at)]=q)})},Ft=0;Ft{n.exports=C}},N={};function v(n){var r=N[n];if(r!==void 0)return r.exports;var i=N[n]={exports:{}};return x[n](i,i.exports,v),i.exports}var l=v(45);return l})()})}(ue)),ue.exports}(function(I,M){(function(x,N){I.exports=N(vr())})(Te,function(C){return(()=>{var x={658:n=>{n.exports=Object.assign!=null?Object.assign.bind(Object):function(r){for(var i=arguments.length,f=Array(i>1?i-1:0),e=1;e{var f=function(){function t(s,o){var c=[],h=!0,T=!1,u=void 0;try{for(var d=s[Symbol.iterator](),L;!(h=(L=d.next()).done)&&(c.push(L.value),!(o&&c.length===o));h=!0);}catch(b){T=!0,u=b}finally{try{!h&&d.return&&d.return()}finally{if(T)throw u}}return c}return function(s,o){if(Array.isArray(s))return s;if(Symbol.iterator in Object(s))return t(s,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),e=i(140).layoutBase.LinkedList,g={};g.getTopMostNodes=function(t){for(var s={},o=0;o0&&S.merge(R)});for(var D=0;D1){L=u[0],b=L.connectedEdges().length,u.forEach(function(y){y.connectedEdges().length0&&c.set("dummy"+(c.size+1),V),Y},g.relocateComponent=function(t,s,o){if(!o.fixedNodeConstraint){var c=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY,T=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;if(o.quality=="draft"){var d=!0,L=!1,b=void 0;try{for(var w=s.nodeIndexes[Symbol.iterator](),P;!(d=(P=w.next()).done);d=!0){var V=P.value,Y=f(V,2),B=Y[0],A=Y[1],j=o.cy.getElementById(B);if(j){var a=j.boundingBox(),E=s.xCoords[A]-a.w/2,p=s.xCoords[A]+a.w/2,m=s.yCoords[A]-a.h/2,y=s.yCoords[A]+a.h/2;Eh&&(h=p),mu&&(u=y)}}}catch(R){L=!0,b=R}finally{try{!d&&w.return&&w.return()}finally{if(L)throw b}}var S=t.x-(h+c)/2,D=t.y-(u+T)/2;s.xCoords=s.xCoords.map(function(R){return R+S}),s.yCoords=s.yCoords.map(function(R){return R+D})}else{Object.keys(s).forEach(function(R){var Q=s[R],z=Q.getRect().x,X=Q.getRect().x+Q.getRect().width,rt=Q.getRect().y,$=Q.getRect().y+Q.getRect().height;zh&&(h=X),rtu&&(u=$)});var F=t.x-(h+c)/2,W=t.y-(u+T)/2;Object.keys(s).forEach(function(R){var Q=s[R];Q.setCenter(Q.getCenterX()+F,Q.getCenterY()+W)})}}},g.calcBoundingBox=function(t,s,o,c){for(var h=Number.MAX_SAFE_INTEGER,T=Number.MIN_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,d=Number.MIN_SAFE_INTEGER,L=void 0,b=void 0,w=void 0,P=void 0,V=t.descendants().not(":parent"),Y=V.length,B=0;BL&&(h=L),Tw&&(u=w),d{var f=i(548),e=i(140).CoSELayout,g=i(140).CoSENode,t=i(140).layoutBase.PointD,s=i(140).layoutBase.DimensionD,o=i(140).layoutBase.LayoutConstants,c=i(140).layoutBase.FDLayoutConstants,h=i(140).CoSEConstants,T=function(d,L){var b=d.cy,w=d.eles,P=w.nodes(),V=w.edges(),Y=void 0,B=void 0,A=void 0,j={};d.randomize&&(Y=L.nodeIndexes,B=L.xCoords,A=L.yCoords);var a=function(R){return typeof R=="function"},E=function(R,Q){return a(R)?R(Q):R},p=f.calcParentsWithoutChildren(b,w),m=function W(R,Q,z,X){for(var rt=Q.length,$=0;$0){var J=void 0;J=z.getGraphManager().add(z.newGraph(),Z),W(J,H,z,X)}}},y=function(R,Q,z){for(var X=0,rt=0,$=0;$0?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=X/rt:a(d.idealEdgeLength)?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=50:h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=d.idealEdgeLength,h.MIN_REPULSION_DIST=c.MIN_REPULSION_DIST=c.DEFAULT_EDGE_LENGTH/10,h.DEFAULT_RADIAL_SEPARATION=c.DEFAULT_EDGE_LENGTH)},S=function(R,Q){Q.fixedNodeConstraint&&(R.constraints.fixedNodeConstraint=Q.fixedNodeConstraint),Q.alignmentConstraint&&(R.constraints.alignmentConstraint=Q.alignmentConstraint),Q.relativePlacementConstraint&&(R.constraints.relativePlacementConstraint=Q.relativePlacementConstraint)};d.nestingFactor!=null&&(h.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=d.nestingFactor),d.gravity!=null&&(h.DEFAULT_GRAVITY_STRENGTH=c.DEFAULT_GRAVITY_STRENGTH=d.gravity),d.numIter!=null&&(h.MAX_ITERATIONS=c.MAX_ITERATIONS=d.numIter),d.gravityRange!=null&&(h.DEFAULT_GRAVITY_RANGE_FACTOR=c.DEFAULT_GRAVITY_RANGE_FACTOR=d.gravityRange),d.gravityCompound!=null&&(h.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=d.gravityCompound),d.gravityRangeCompound!=null&&(h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=d.gravityRangeCompound),d.initialEnergyOnIncremental!=null&&(h.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.DEFAULT_COOLING_FACTOR_INCREMENTAL=d.initialEnergyOnIncremental),d.tilingCompareBy!=null&&(h.TILING_COMPARE_BY=d.tilingCompareBy),d.quality=="proof"?o.QUALITY=2:o.QUALITY=0,h.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=o.NODE_DIMENSIONS_INCLUDE_LABELS=d.nodeDimensionsIncludeLabels,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!d.randomize,h.ANIMATE=c.ANIMATE=o.ANIMATE=d.animate,h.TILE=d.tile,h.TILING_PADDING_VERTICAL=typeof d.tilingPaddingVertical=="function"?d.tilingPaddingVertical.call():d.tilingPaddingVertical,h.TILING_PADDING_HORIZONTAL=typeof d.tilingPaddingHorizontal=="function"?d.tilingPaddingHorizontal.call():d.tilingPaddingHorizontal,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!0,h.PURE_INCREMENTAL=!d.randomize,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=d.uniformNodeDimensions,d.step=="transformed"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!1),d.step=="enforced"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!1),d.step=="cose"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!0),d.step=="all"&&(d.randomize?h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0),d.fixedNodeConstraint||d.alignmentConstraint||d.relativePlacementConstraint?h.TREE_REDUCTION_ON_INCREMENTAL=!1:h.TREE_REDUCTION_ON_INCREMENTAL=!0;var D=new e,F=D.newGraphManager();return m(F.addRoot(),f.getTopMostNodes(P),D,d),y(D,F,V),S(D,d),D.runLayout(),j};n.exports={coseLayout:T}},212:(n,r,i)=>{var f=function(){function d(L,b){for(var w=0;w0)if(p){var S=t.getTopMostNodes(w.eles.nodes());if(A=t.connectComponents(P,w.eles,S),A.forEach(function(vt){var it=vt.boundingBox();j.push({x:it.x1+it.w/2,y:it.y1+it.h/2})}),w.randomize&&A.forEach(function(vt){w.eles=vt,Y.push(o(w))}),w.quality=="default"||w.quality=="proof"){var D=P.collection();if(w.tile){var F=new Map,W=[],R=[],Q=0,z={nodeIndexes:F,xCoords:W,yCoords:R},X=[];if(A.forEach(function(vt,it){vt.edges().length==0&&(vt.nodes().forEach(function(ut,Et){D.merge(vt.nodes()[Et]),ut.isParent()||(z.nodeIndexes.set(vt.nodes()[Et].id(),Q++),z.xCoords.push(vt.nodes()[0].position().x),z.yCoords.push(vt.nodes()[0].position().y))}),X.push(it))}),D.length>1){var rt=D.boundingBox();j.push({x:rt.x1+rt.w/2,y:rt.y1+rt.h/2}),A.push(D),Y.push(z);for(var $=X.length-1;$>=0;$--)A.splice(X[$],1),Y.splice(X[$],1),j.splice(X[$],1)}}A.forEach(function(vt,it){w.eles=vt,B.push(h(w,Y[it])),t.relocateComponent(j[it],B[it],w)})}else A.forEach(function(vt,it){t.relocateComponent(j[it],Y[it],w)});var O=new Set;if(A.length>1){var H=[],Z=V.filter(function(vt){return vt.css("display")=="none"});A.forEach(function(vt,it){var ut=void 0;if(w.quality=="draft"&&(ut=Y[it].nodeIndexes),vt.nodes().not(Z).length>0){var Et={};Et.edges=[],Et.nodes=[];var Ct=void 0;vt.nodes().not(Z).forEach(function(Dt){if(w.quality=="draft")if(!Dt.isParent())Ct=ut.get(Dt.id()),Et.nodes.push({x:Y[it].xCoords[Ct]-Dt.boundingbox().w/2,y:Y[it].yCoords[Ct]-Dt.boundingbox().h/2,width:Dt.boundingbox().w,height:Dt.boundingbox().h});else{var mt=t.calcBoundingBox(Dt,Y[it].xCoords,Y[it].yCoords,ut);Et.nodes.push({x:mt.topLeftX,y:mt.topLeftY,width:mt.width,height:mt.height})}else B[it][Dt.id()]&&Et.nodes.push({x:B[it][Dt.id()].getLeft(),y:B[it][Dt.id()].getTop(),width:B[it][Dt.id()].getWidth(),height:B[it][Dt.id()].getHeight()})}),vt.edges().forEach(function(Dt){var mt=Dt.source(),Ot=Dt.target();if(mt.css("display")!="none"&&Ot.css("display")!="none")if(w.quality=="draft"){var Rt=ut.get(mt.id()),Ht=ut.get(Ot.id()),Ut=[],Gt=[];if(mt.isParent()){var Ft=t.calcBoundingBox(mt,Y[it].xCoords,Y[it].yCoords,ut);Ut.push(Ft.topLeftX+Ft.width/2),Ut.push(Ft.topLeftY+Ft.height/2)}else Ut.push(Y[it].xCoords[Rt]),Ut.push(Y[it].yCoords[Rt]);if(Ot.isParent()){var Yt=t.calcBoundingBox(Ot,Y[it].xCoords,Y[it].yCoords,ut);Gt.push(Yt.topLeftX+Yt.width/2),Gt.push(Yt.topLeftY+Yt.height/2)}else Gt.push(Y[it].xCoords[Ht]),Gt.push(Y[it].yCoords[Ht]);Et.edges.push({startX:Ut[0],startY:Ut[1],endX:Gt[0],endY:Gt[1]})}else B[it][mt.id()]&&B[it][Ot.id()]&&Et.edges.push({startX:B[it][mt.id()].getCenterX(),startY:B[it][mt.id()].getCenterY(),endX:B[it][Ot.id()].getCenterX(),endY:B[it][Ot.id()].getCenterY()})}),Et.nodes.length>0&&(H.push(Et),O.add(it))}});var tt=E.packComponents(H,w.randomize).shifts;if(w.quality=="draft")Y.forEach(function(vt,it){var ut=vt.xCoords.map(function(Ct){return Ct+tt[it].dx}),Et=vt.yCoords.map(function(Ct){return Ct+tt[it].dy});vt.xCoords=ut,vt.yCoords=Et});else{var ht=0;O.forEach(function(vt){Object.keys(B[vt]).forEach(function(it){var ut=B[vt][it];ut.setCenter(ut.getCenterX()+tt[ht].dx,ut.getCenterY()+tt[ht].dy)}),ht++})}}}else{var m=w.eles.boundingBox();if(j.push({x:m.x1+m.w/2,y:m.y1+m.h/2}),w.randomize){var y=o(w);Y.push(y)}w.quality=="default"||w.quality=="proof"?(B.push(h(w,Y[0])),t.relocateComponent(j[0],B[0],w)):t.relocateComponent(j[0],Y[0],w)}var J=function(it,ut){if(w.quality=="default"||w.quality=="proof"){typeof it=="number"&&(it=ut);var Et=void 0,Ct=void 0,Dt=it.data("id");return B.forEach(function(Ot){Dt in Ot&&(Et={x:Ot[Dt].getRect().getCenterX(),y:Ot[Dt].getRect().getCenterY()},Ct=Ot[Dt])}),w.nodeDimensionsIncludeLabels&&(Ct.labelWidth&&(Ct.labelPosHorizontal=="left"?Et.x+=Ct.labelWidth/2:Ct.labelPosHorizontal=="right"&&(Et.x-=Ct.labelWidth/2)),Ct.labelHeight&&(Ct.labelPosVertical=="top"?Et.y+=Ct.labelHeight/2:Ct.labelPosVertical=="bottom"&&(Et.y-=Ct.labelHeight/2))),Et==null&&(Et={x:it.position("x"),y:it.position("y")}),{x:Et.x,y:Et.y}}else{var mt=void 0;return Y.forEach(function(Ot){var Rt=Ot.nodeIndexes.get(it.id());Rt!=null&&(mt={x:Ot.xCoords[Rt],y:Ot.yCoords[Rt]})}),mt==null&&(mt={x:it.position("x"),y:it.position("y")}),{x:mt.x,y:mt.y}}};if(w.quality=="default"||w.quality=="proof"||w.randomize){var It=t.calcParentsWithoutChildren(P,V),Nt=V.filter(function(vt){return vt.css("display")=="none"});w.eles=V.not(Nt),V.nodes().not(":parent").not(Nt).layoutPositions(b,w,J),It.length>0&&It.forEach(function(vt){vt.position(J(vt))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),d}();n.exports=u},657:(n,r,i)=>{var f=i(548),e=i(140).layoutBase.Matrix,g=i(140).layoutBase.SVD,t=function(o){var c=o.cy,h=o.eles,T=h.nodes(),u=h.nodes(":parent"),d=new Map,L=new Map,b=new Map,w=[],P=[],V=[],Y=[],B=[],A=[],j=[],a=[],E=void 0,p=1e8,m=1e-9,y=o.piTol,S=o.samplingType,D=o.nodeSeparation,F=void 0,W=function(){for(var U=0,k=0,K=!1;k=at;){nt=q[at++];for(var xt=w[nt],lt=0;ltdt&&(dt=B[Lt],Mt=Lt)}return Mt},Q=function(U){var k=void 0;if(U){k=Math.floor(Math.random()*E);for(var q=0;q=1)break;_=et}for(var pt=0;pt=1)break;_=et}for(var lt=0;lt0&&(k.isParent()?w[U].push(b.get(k.id())):w[U].push(k.id()))})});var Nt=function(U){var k=L.get(U),K=void 0;d.get(U).forEach(function(q){c.getElementById(q).isParent()?K=b.get(q):K=q,w[k].push(K),w[L.get(K)].push(U)})},vt=!0,it=!1,ut=void 0;try{for(var Et=d.keys()[Symbol.iterator](),Ct;!(vt=(Ct=Et.next()).done);vt=!0){var Dt=Ct.value;Nt(Dt)}}catch(G){it=!0,ut=G}finally{try{!vt&&Et.return&&Et.return()}finally{if(it)throw ut}}E=L.size;var mt=void 0;if(E>2){F=E{var f=i(212),e=function(t){t&&t("layout","fcose",f)};typeof cytoscape<"u"&&e(cytoscape),n.exports=e},140:n=>{n.exports=C}},N={};function v(n){var r=N[n];if(r!==void 0)return r.exports;var i=N[n]={exports:{}};return x[n](i,i.exports,v),i.exports}var l=v(579);return l})()})})(be);var pr=be.exports;const yr=gr(pr);var xe={L:"left",R:"right",T:"top",B:"bottom"},Ie={L:ct(I=>`${I},${I/2} 0,${I} 0,0`,"L"),R:ct(I=>`0,${I/2} ${I},0 ${I},${I}`,"R"),T:ct(I=>`0,0 ${I},0 ${I/2},${I}`,"T"),B:ct(I=>`${I/2},0 ${I},${I} 0,${I}`,"B")},se={L:ct((I,M)=>I-M+2,"L"),R:ct((I,M)=>I-2,"R"),T:ct((I,M)=>I-M+2,"T"),B:ct((I,M)=>I-2,"B")},mr=ct(function(I){return Wt(I)?I==="L"?"R":"L":I==="T"?"B":"T"},"getOppositeArchitectureDirection"),Re=ct(function(I){const M=I;return M==="L"||M==="R"||M==="T"||M==="B"},"isArchitectureDirection"),Wt=ct(function(I){const M=I;return M==="L"||M==="R"},"isArchitectureDirectionX"),qt=ct(function(I){const M=I;return M==="T"||M==="B"},"isArchitectureDirectionY"),Ne=ct(function(I,M){const C=Wt(I)&&qt(M),x=qt(I)&&Wt(M);return C||x},"isArchitectureDirectionXY"),Er=ct(function(I){const M=I[0],C=I[1],x=Wt(M)&&qt(C),N=qt(M)&&Wt(C);return x||N},"isArchitecturePairXY"),Tr=ct(function(I){return I!=="LL"&&I!=="RR"&&I!=="TT"&&I!=="BB"},"isValidArchitectureDirectionPair"),pe=ct(function(I,M){const C=`${I}${M}`;return Tr(C)?C:void 0},"getArchitectureDirectionPair"),Nr=ct(function([I,M],C){const x=C[0],N=C[1];return Wt(x)?qt(N)?[I+(x==="L"?-1:1),M+(N==="T"?1:-1)]:[I+(x==="L"?-1:1),M]:Wt(N)?[I+(N==="L"?1:-1),M+(x==="T"?1:-1)]:[I,M+(x==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Lr=ct(function(I){return I==="LT"||I==="TL"?[1,1]:I==="BL"||I==="LB"?[1,-1]:I==="BR"||I==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),wr=ct(function(I,M){return Ne(I,M)?"bend":Wt(I)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),Cr=ct(function(I){return I.type==="service"},"isArchitectureService"),Mr=ct(function(I){return I.type==="junction"},"isArchitectureJunction"),Ge=ct((I,M)=>{const[C,x]=[I,M].sort();return`${JSON.stringify(C)}-${JSON.stringify(x)}`},"architectureGroupAlignmentKey"),Pe=ct(I=>I.data(),"edgeData"),ie=ct(I=>I.data(),"nodeData"),Ar=or.architecture,ae,Ue=(ae=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=Ke,this.getAccTitle=je,this.setDiagramTitle=_e,this.getDiagramTitle=tr,this.getAccDescription=er,this.setAccDescription=rr,this.clear()}setDiagramId(M){this.diagramId=M}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",ir()}addService({id:M,icon:C,in:x,title:N,iconText:v}){if(this.registeredIds.has(M))throw new Error(`The service id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(x!==void 0){if(M===x)throw new Error(`The service [${M}] cannot be placed within itself`);if(!this.registeredIds.has(x))throw new Error(`The service [${M}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds.get(x)==="node")throw new Error(`The service [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"service",icon:C,iconText:v,title:N,edges:[],in:x})}getServices(){return[...this.nodes.values()].filter(Cr)}addJunction({id:M,in:C}){if(this.registeredIds.has(M))throw new Error(`The junction id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(C!==void 0){if(M===C)throw new Error(`The junction [${M}] cannot be placed within itself`);if(!this.registeredIds.has(C))throw new Error(`The junction [${M}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds.get(C)==="node")throw new Error(`The junction [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"junction",edges:[],in:C})}getJunctions(){return[...this.nodes.values()].filter(Mr)}getNodes(){return[...this.nodes.values()]}getNode(M){return this.nodes.get(M)??null}addGroup({id:M,icon:C,in:x,title:N}){if(this.registeredIds.has(M))throw new Error(`The group id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(x!==void 0){if(M===x)throw new Error(`The group [${M}] cannot be placed within itself`);if(!this.registeredIds.has(x))throw new Error(`The group [${M}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds.get(x)==="node")throw new Error(`The group [${M}]'s parent is not a group`)}this.registeredIds.set(M,"group"),this.groups.set(M,{id:M,icon:C,title:N,in:x})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:M,rhsId:C,lhsDir:x,rhsDir:N,lhsInto:v,rhsInto:l,lhsGroup:n,rhsGroup:r,title:i}){if(!Re(x))throw new Error(`Invalid direction given for left hand side of edge ${M}--${C}. Expected (L,R,T,B) got ${String(x)}`);if(!Re(N))throw new Error(`Invalid direction given for right hand side of edge ${M}--${C}. Expected (L,R,T,B) got ${String(N)}`);if(!this.nodes.has(M)&&!this.groups.has(M))throw new Error(`The left-hand id [${M}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(C)&&!this.groups.has(C))throw new Error(`The right-hand id [${C}] does not yet exist. Please create the service/group before declaring an edge to it.`);const f=this.nodes.get(M).in,e=this.nodes.get(C).in;if(n&&f&&e&&f==e)throw new Error(`The left-hand id [${M}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(r&&f&&e&&f==e)throw new Error(`The right-hand id [${C}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const g={lhsId:M,lhsDir:x,lhsInto:v,lhsGroup:n,rhsId:C,rhsDir:N,rhsInto:l,rhsGroup:r,title:i};this.edges.push(g);const t=this.nodes.get(M),s=this.nodes.get(C);t&&s&&(t.edges.push(this.edges[this.edges.length-1]),s.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(M){if(M.members.length<2)throw new Error(`An align directive requires at least two members; got ${M.members.length}`);const C=new Set;M.members.forEach(x=>{if(this.registeredIds.get(x)!=="node")throw new Error(`align ${M.direction} references [${x}], which is not a service or junction`);if(C.has(x))throw new Error(`align ${M.direction} lists [${x}] more than once`);C.add(x)}),this.layoutHints.push(M)}getLayoutHints(){return this.layoutHints}getDataStructures(){var M,C;if(this.dataStructures===void 0){const x=new Map,N=new Map;for(const[i,f]of this.nodes.entries()){const e=new Map;for(const g of f.edges){const t=(M=this.getNode(g.lhsId))==null?void 0:M.in,s=(C=this.getNode(g.rhsId))==null?void 0:C.in;if(t&&s&&t!==s){const o=wr(g.lhsDir,g.rhsDir);o!=="bend"&&x.set(Ge(t,s),o)}if(g.lhsId===i){const o=pe(g.lhsDir,g.rhsDir);o&&e.set(o,g.rhsId)}else{const o=pe(g.rhsDir,g.lhsDir);o&&e.set(o,g.lhsId)}}N.set(i,e)}const v=new Set,l=new Set(N.keys()),n=ct(i=>{const f=new Map([[i,[0,0]]]),e=[i];for(;e.length>0;){const g=e.shift();if(g){v.add(g),l.delete(g);const t=N.get(g);if(!t)throw new Error(`BFS error: adjacency list for id ${g} not found. Please report this as a bug.`);const s=f.get(g);if(!s)throw new Error(`BFS error: position for id ${g} not found in spatial map. Please report this as a bug.`);const[o,c]=s;t.forEach((h,T)=>{v.has(h)||(f.set(h,Nr([o,c],T)),e.push(h))})}}return f},"BFS"),r=[];for(;l.size>0;){const i=l.values().next().value;r.push(n(i))}this.dataStructures={adjList:N,spatialMaps:r,groupAlignments:x}}return this.dataStructures}setElementForId(M,C){this.elements.set(M,C)}getElementById(M){return this.elements.get(M)}getConfig(){return ar({...Ar,...nr().architecture})}getConfigField(M){return this.getConfig()[M]}},ct(ae,"ArchitectureDB"),ae),Dr=ct((I,M)=>{var C;qe(I,M),I.groups.map(x=>M.addGroup(x)),I.services.map(x=>M.addService({...x,type:"service"})),I.junctions.map(x=>M.addJunction({...x,type:"junction"})),I.edges.map(x=>M.addEdge(x)),(C=I.alignments)==null||C.map(x=>M.addLayoutHint({direction:x.direction,members:[...x.members]}))},"populateDb"),Ye={parser:{yy:void 0},parse:ct(async I=>{var x;const M=await cr("architecture",I);Se.debug(M);const C=(x=Ye.parser)==null?void 0:x.yy;if(!(C instanceof Ue))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Dr(M,C)},"parse")},Or=ct(I=>` +import{p as qe}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{a as ct,aQ as Qe,aX as Je,at as Se,aS as Ke,W as je,aU as _e,$ as tr,V as er,aR as rr,s as ir,r as ar,X as nr,O as or,Y as me,F as Ee,a2 as ve,aO as sr,a0 as hr,aK as lr,b8 as fr}from"./mermaid.core-DS1qXbzQ.js";import{p as cr}from"./cynefin-OW5HDTMX-CJh-KUCL.js";import{c as Fe}from"../../chunks/cytoscape.esm-Dz9tvMTw.js";import{q as Te,N as gr,ad as ur}from"../../app/index-B0ly_D9Z.js";var be={exports:{}},ue={exports:{}},de={exports:{}},De;function dr(){return De||(De=1,function(I,M){(function(x,N){I.exports=N()})(Te,function(){return function(C){var x={};function N(v){if(x[v])return x[v].exports;var l=x[v]={i:v,l:!1,exports:{}};return C[v].call(l.exports,l,l.exports,N),l.l=!0,l.exports}return N.m=C,N.c=x,N.i=function(v){return v},N.d=function(v,l,n){N.o(v,l)||Object.defineProperty(v,l,{configurable:!1,enumerable:!0,get:n})},N.n=function(v){var l=v&&v.__esModule?function(){return v.default}:function(){return v};return N.d(l,"a",l),l},N.o=function(v,l){return Object.prototype.hasOwnProperty.call(v,l)},N.p="",N(N.s=28)}([function(C,x,N){function v(){}v.QUALITY=1,v.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,v.DEFAULT_INCREMENTAL=!1,v.DEFAULT_ANIMATION_ON_LAYOUT=!0,v.DEFAULT_ANIMATION_DURING_LAYOUT=!1,v.DEFAULT_ANIMATION_PERIOD=50,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,v.DEFAULT_GRAPH_MARGIN=15,v.NODE_DIMENSIONS_INCLUDE_LABELS=!1,v.SIMPLE_NODE_SIZE=40,v.SIMPLE_NODE_HALF_SIZE=v.SIMPLE_NODE_SIZE/2,v.EMPTY_COMPOUND_NODE_SIZE=40,v.MIN_EDGE_LENGTH=1,v.WORLD_BOUNDARY=1e6,v.INITIAL_WORLD_BOUNDARY=v.WORLD_BOUNDARY/1e3,v.WORLD_CENTER_X=1200,v.WORLD_CENTER_Y=900,C.exports=v},function(C,x,N){var v=N(2),l=N(8),n=N(9);function r(f,e,g){v.call(this,g),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=g,this.bendpoints=[],this.source=f,this.target=e}r.prototype=Object.create(v.prototype);for(var i in v)r[i]=v[i];r.prototype.getSource=function(){return this.source},r.prototype.getTarget=function(){return this.target},r.prototype.isInterGraph=function(){return this.isInterGraph},r.prototype.getLength=function(){return this.length},r.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},r.prototype.getBendpoints=function(){return this.bendpoints},r.prototype.getLca=function(){return this.lca},r.prototype.getSourceInLca=function(){return this.sourceInLca},r.prototype.getTargetInLca=function(){return this.targetInLca},r.prototype.getOtherEnd=function(f){if(this.source===f)return this.target;if(this.target===f)return this.source;throw"Node is not incident with this edge"},r.prototype.getOtherEndInGraph=function(f,e){for(var g=this.getOtherEnd(f),t=e.getGraphManager().getRoot();;){if(g.getOwner()==e)return g;if(g.getOwner()==t)break;g=g.getOwner().getParent()}return null},r.prototype.updateLength=function(){var f=new Array(4);this.isOverlapingSourceAndTarget=l.getIntersection(this.target.getRect(),this.source.getRect(),f),this.isOverlapingSourceAndTarget||(this.lengthX=f[0]-f[2],this.lengthY=f[1]-f[3],Math.abs(this.lengthX)<1&&(this.lengthX=n.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=n.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},r.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=n.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=n.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},C.exports=r},function(C,x,N){function v(l){this.vGraphObject=l}C.exports=v},function(C,x,N){var v=N(2),l=N(10),n=N(13),r=N(0),i=N(16),f=N(5);function e(t,s,o,c){o==null&&c==null&&(c=s),v.call(this,c),t.graphManager!=null&&(t=t.graphManager),this.estimatedSize=l.MIN_VALUE,this.inclusionTreeDepth=l.MAX_VALUE,this.vGraphObject=c,this.edges=[],this.graphManager=t,o!=null&&s!=null?this.rect=new n(s.x,s.y,o.width,o.height):this.rect=new n}e.prototype=Object.create(v.prototype);for(var g in v)e[g]=v[g];e.prototype.getEdges=function(){return this.edges},e.prototype.getChild=function(){return this.child},e.prototype.getOwner=function(){return this.owner},e.prototype.getWidth=function(){return this.rect.width},e.prototype.setWidth=function(t){this.rect.width=t},e.prototype.getHeight=function(){return this.rect.height},e.prototype.setHeight=function(t){this.rect.height=t},e.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},e.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},e.prototype.getCenter=function(){return new f(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},e.prototype.getLocation=function(){return new f(this.rect.x,this.rect.y)},e.prototype.getRect=function(){return this.rect},e.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},e.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},e.prototype.setRect=function(t,s){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=s.width,this.rect.height=s.height},e.prototype.setCenter=function(t,s){this.rect.x=t-this.rect.width/2,this.rect.y=s-this.rect.height/2},e.prototype.setLocation=function(t,s){this.rect.x=t,this.rect.y=s},e.prototype.moveBy=function(t,s){this.rect.x+=t,this.rect.y+=s},e.prototype.getEdgeListToNode=function(t){var s=[],o=this;return o.edges.forEach(function(c){if(c.target==t){if(c.source!=o)throw"Incorrect edge source!";s.push(c)}}),s},e.prototype.getEdgesBetween=function(t){var s=[],o=this;return o.edges.forEach(function(c){if(!(c.source==o||c.target==o))throw"Incorrect edge source and/or target";(c.target==t||c.source==t)&&s.push(c)}),s},e.prototype.getNeighborsList=function(){var t=new Set,s=this;return s.edges.forEach(function(o){if(o.source==s)t.add(o.target);else{if(o.target!=s)throw"Incorrect incidency!";t.add(o.source)}}),t},e.prototype.withChildren=function(){var t=new Set,s,o;if(t.add(this),this.child!=null)for(var c=this.child.getNodes(),h=0;hs?(this.rect.x-=(this.labelWidth-s)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(s+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(o+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>o?(this.rect.y-=(this.labelHeight-o)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(o+this.labelHeight))}}},e.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==l.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},e.prototype.transform=function(t){var s=this.rect.x;s>r.WORLD_BOUNDARY?s=r.WORLD_BOUNDARY:s<-r.WORLD_BOUNDARY&&(s=-r.WORLD_BOUNDARY);var o=this.rect.y;o>r.WORLD_BOUNDARY?o=r.WORLD_BOUNDARY:o<-r.WORLD_BOUNDARY&&(o=-r.WORLD_BOUNDARY);var c=new f(s,o),h=t.inverseTransformPoint(c);this.setLocation(h.x,h.y)},e.prototype.getLeft=function(){return this.rect.x},e.prototype.getRight=function(){return this.rect.x+this.rect.width},e.prototype.getTop=function(){return this.rect.y},e.prototype.getBottom=function(){return this.rect.y+this.rect.height},e.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},C.exports=e},function(C,x,N){var v=N(0);function l(){}for(var n in v)l[n]=v[n];l.MAX_ITERATIONS=2500,l.DEFAULT_EDGE_LENGTH=50,l.DEFAULT_SPRING_STRENGTH=.45,l.DEFAULT_REPULSION_STRENGTH=4500,l.DEFAULT_GRAVITY_STRENGTH=.4,l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,l.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,l.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,l.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,l.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,l.COOLING_ADAPTATION_FACTOR=.33,l.ADAPTATION_LOWER_NODE_LIMIT=1e3,l.ADAPTATION_UPPER_NODE_LIMIT=5e3,l.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,l.MAX_NODE_DISPLACEMENT=l.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,l.MIN_REPULSION_DIST=l.DEFAULT_EDGE_LENGTH/10,l.CONVERGENCE_CHECK_PERIOD=100,l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,l.MIN_EDGE_LENGTH=1,l.GRID_CALCULATION_CHECK_PERIOD=10,C.exports=l},function(C,x,N){function v(l,n){l==null&&n==null?(this.x=0,this.y=0):(this.x=l,this.y=n)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(l){this.x=l},v.prototype.setY=function(l){this.y=l},v.prototype.getDifference=function(l){return new DimensionD(this.x-l.x,this.y-l.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(l){return this.x+=l.width,this.y+=l.height,this},C.exports=v},function(C,x,N){var v=N(2),l=N(10),n=N(0),r=N(7),i=N(3),f=N(1),e=N(13),g=N(12),t=N(11);function s(c,h,T){v.call(this,T),this.estimatedSize=l.MIN_VALUE,this.margin=n.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=c,h!=null&&h instanceof r?this.graphManager=h:h!=null&&h instanceof Layout&&(this.graphManager=h.graphManager)}s.prototype=Object.create(v.prototype);for(var o in v)s[o]=v[o];s.prototype.getNodes=function(){return this.nodes},s.prototype.getEdges=function(){return this.edges},s.prototype.getGraphManager=function(){return this.graphManager},s.prototype.getParent=function(){return this.parent},s.prototype.getLeft=function(){return this.left},s.prototype.getRight=function(){return this.right},s.prototype.getTop=function(){return this.top},s.prototype.getBottom=function(){return this.bottom},s.prototype.isConnected=function(){return this.isConnected},s.prototype.add=function(c,h,T){if(h==null&&T==null){var u=c;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var d=c;if(!(this.getNodes().indexOf(h)>-1&&this.getNodes().indexOf(T)>-1))throw"Source or target not in graph!";if(!(h.owner==T.owner&&h.owner==this))throw"Both owners must be this graph!";return h.owner!=T.owner?null:(d.source=h,d.target=T,d.isInterGraph=!1,this.getEdges().push(d),h.edges.push(d),T!=h&&T.edges.push(d),d)}},s.prototype.remove=function(c){var h=c;if(c instanceof i){if(h==null)throw"Node is null!";if(!(h.owner!=null&&h.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var T=h.edges.slice(),u,d=T.length,L=0;L-1&&P>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(w,1),u.target!=u.source&&u.target.edges.splice(P,1);var b=u.source.owner.getEdges().indexOf(u);if(b==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(b,1)}},s.prototype.updateLeftTop=function(){for(var c=l.MAX_VALUE,h=l.MAX_VALUE,T,u,d,L=this.getNodes(),b=L.length,w=0;wT&&(c=T),h>u&&(h=u)}return c==l.MAX_VALUE?null:(L[0].getParent().paddingLeft!=null?d=L[0].getParent().paddingLeft:d=this.margin,this.left=h-d,this.top=c-d,new g(this.left,this.top))},s.prototype.updateBounds=function(c){for(var h=l.MAX_VALUE,T=-l.MAX_VALUE,u=l.MAX_VALUE,d=-l.MAX_VALUE,L,b,w,P,V,Y=this.nodes,B=Y.length,A=0;AL&&(h=L),Tw&&(u=w),dL&&(h=L),Tw&&(u=w),d=this.nodes.length){var B=0;T.forEach(function(A){A.owner==c&&B++}),B==this.nodes.length&&(this.isConnected=!0)}},C.exports=s},function(C,x,N){var v,l=N(1);function n(r){v=N(6),this.layout=r,this.graphs=[],this.edges=[]}n.prototype.addRoot=function(){var r=this.layout.newGraph(),i=this.layout.newNode(null),f=this.add(r,i);return this.setRootGraph(f),this.rootGraph},n.prototype.add=function(r,i,f,e,g){if(f==null&&e==null&&g==null){if(r==null)throw"Graph is null!";if(i==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(i.child!=null)throw"Already has a child!";return r.parent=i,i.child=r,r}else{g=f,e=i,f=r;var t=e.getOwner(),s=g.getOwner();if(!(t!=null&&t.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(s!=null&&s.getGraphManager()==this))throw"Target not in this graph mgr!";if(t==s)return f.isInterGraph=!1,t.add(f,e,g);if(f.isInterGraph=!0,f.source=e,f.target=g,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},n.prototype.remove=function(r){if(r instanceof v){var i=r;if(i.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(i==this.rootGraph||i.parent!=null&&i.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(i.getEdges());for(var e,g=f.length,t=0;t=r.getRight()?i[0]+=Math.min(r.getX()-n.getX(),n.getRight()-r.getRight()):r.getX()<=n.getX()&&r.getRight()>=n.getRight()&&(i[0]+=Math.min(n.getX()-r.getX(),r.getRight()-n.getRight())),n.getY()<=r.getY()&&n.getBottom()>=r.getBottom()?i[1]+=Math.min(r.getY()-n.getY(),n.getBottom()-r.getBottom()):r.getY()<=n.getY()&&r.getBottom()>=n.getBottom()&&(i[1]+=Math.min(n.getY()-r.getY(),r.getBottom()-n.getBottom()));var g=Math.abs((r.getCenterY()-n.getCenterY())/(r.getCenterX()-n.getCenterX()));r.getCenterY()===n.getCenterY()&&r.getCenterX()===n.getCenterX()&&(g=1);var t=g*i[0],s=i[1]/g;i[0]t)return i[0]=f,i[1]=o,i[2]=g,i[3]=Y,!1;if(eg)return i[0]=s,i[1]=e,i[2]=P,i[3]=t,!1;if(fg?(i[0]=h,i[1]=T,a=!0):(i[0]=c,i[1]=o,a=!0):p===y&&(f>g?(i[0]=s,i[1]=o,a=!0):(i[0]=u,i[1]=T,a=!0)),-m===y?g>f?(i[2]=V,i[3]=Y,E=!0):(i[2]=P,i[3]=w,E=!0):m===y&&(g>f?(i[2]=b,i[3]=w,E=!0):(i[2]=B,i[3]=Y,E=!0)),a&&E)return!1;if(f>g?e>t?(S=this.getCardinalDirection(p,y,4),D=this.getCardinalDirection(m,y,2)):(S=this.getCardinalDirection(-p,y,3),D=this.getCardinalDirection(-m,y,1)):e>t?(S=this.getCardinalDirection(-p,y,1),D=this.getCardinalDirection(-m,y,3)):(S=this.getCardinalDirection(p,y,2),D=this.getCardinalDirection(m,y,4)),!a)switch(S){case 1:W=o,F=f+-L/y,i[0]=F,i[1]=W;break;case 2:F=u,W=e+d*y,i[0]=F,i[1]=W;break;case 3:W=T,F=f+L/y,i[0]=F,i[1]=W;break;case 4:F=h,W=e+-d*y,i[0]=F,i[1]=W;break}if(!E)switch(D){case 1:Q=w,R=g+-j/y,i[2]=R,i[3]=Q;break;case 2:R=B,Q=t+A*y,i[2]=R,i[3]=Q;break;case 3:Q=Y,R=g+j/y,i[2]=R,i[3]=Q;break;case 4:R=V,Q=t+-A*y,i[2]=R,i[3]=Q;break}}return!1},l.getCardinalDirection=function(n,r,i){return n>r?i:1+i%4},l.getIntersection=function(n,r,i,f){if(f==null)return this.getIntersection2(n,r,i);var e=n.x,g=n.y,t=r.x,s=r.y,o=i.x,c=i.y,h=f.x,T=f.y,u=void 0,d=void 0,L=void 0,b=void 0,w=void 0,P=void 0,V=void 0,Y=void 0,B=void 0;return L=s-g,w=e-t,V=t*g-e*s,b=T-c,P=o-h,Y=h*c-o*T,B=L*P-b*w,B===0?null:(u=(w*Y-P*V)/B,d=(b*V-L*Y)/B,new v(u,d))},l.angleOfVector=function(n,r,i,f){var e=void 0;return n!==i?(e=Math.atan((f-r)/(i-n)),i=0){var T=(-o+Math.sqrt(o*o-4*s*c))/(2*s),u=(-o-Math.sqrt(o*o-4*s*c))/(2*s),d=null;return T>=0&&T<=1?[T]:u>=0&&u<=1?[u]:d}else return null},l.HALF_PI=.5*Math.PI,l.ONE_AND_HALF_PI=1.5*Math.PI,l.TWO_PI=2*Math.PI,l.THREE_PI=3*Math.PI,C.exports=l},function(C,x,N){function v(){}v.sign=function(l){return l>0?1:l<0?-1:0},v.floor=function(l){return l<0?Math.ceil(l):Math.floor(l)},v.ceil=function(l){return l<0?Math.floor(l):Math.ceil(l)},C.exports=v},function(C,x,N){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,C.exports=v},function(C,x,N){var v=function(){function e(g,t){for(var s=0;s"u"?"undefined":v(n);return n==null||r!="object"&&r!="function"},C.exports=l},function(C,x,N){function v(o){if(Array.isArray(o)){for(var c=0,h=Array(o.length);c0&&c;){for(L.push(w[0]);L.length>0&&c;){var P=L[0];L.splice(0,1),d.add(P);for(var V=P.getEdges(),u=0;u-1&&w.splice(j,1)}d=new Set,b=new Map}}return o},s.prototype.createDummyNodesForBendpoints=function(o){for(var c=[],h=o.source,T=this.graphManager.calcLowestCommonAncestor(o.source,o.target),u=0;u0){for(var T=this.edgeToDummyNodes.get(h),u=0;u=0&&c.splice(Y,1);var B=b.getNeighborsList();B.forEach(function(a){if(h.indexOf(a)<0){var E=T.get(a),p=E-1;p==1&&P.push(a),T.set(a,p)}})}h=h.concat(P),(c.length==1||c.length==2)&&(u=!0,d=c[0])}return d},s.prototype.setGraphManager=function(o){this.graphManager=o},C.exports=s},function(C,x,N){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},C.exports=v},function(C,x,N){var v=N(5);function l(n,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}l.prototype.getWorldOrgX=function(){return this.lworldOrgX},l.prototype.setWorldOrgX=function(n){this.lworldOrgX=n},l.prototype.getWorldOrgY=function(){return this.lworldOrgY},l.prototype.setWorldOrgY=function(n){this.lworldOrgY=n},l.prototype.getWorldExtX=function(){return this.lworldExtX},l.prototype.setWorldExtX=function(n){this.lworldExtX=n},l.prototype.getWorldExtY=function(){return this.lworldExtY},l.prototype.setWorldExtY=function(n){this.lworldExtY=n},l.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},l.prototype.setDeviceOrgX=function(n){this.ldeviceOrgX=n},l.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},l.prototype.setDeviceOrgY=function(n){this.ldeviceOrgY=n},l.prototype.getDeviceExtX=function(){return this.ldeviceExtX},l.prototype.setDeviceExtX=function(n){this.ldeviceExtX=n},l.prototype.getDeviceExtY=function(){return this.ldeviceExtY},l.prototype.setDeviceExtY=function(n){this.ldeviceExtY=n},l.prototype.transformX=function(n){var r=0,i=this.lworldExtX;return i!=0&&(r=this.ldeviceOrgX+(n-this.lworldOrgX)*this.ldeviceExtX/i),r},l.prototype.transformY=function(n){var r=0,i=this.lworldExtY;return i!=0&&(r=this.ldeviceOrgY+(n-this.lworldOrgY)*this.ldeviceExtY/i),r},l.prototype.inverseTransformX=function(n){var r=0,i=this.ldeviceExtX;return i!=0&&(r=this.lworldOrgX+(n-this.ldeviceOrgX)*this.lworldExtX/i),r},l.prototype.inverseTransformY=function(n){var r=0,i=this.ldeviceExtY;return i!=0&&(r=this.lworldOrgY+(n-this.ldeviceOrgY)*this.lworldExtY/i),r},l.prototype.inverseTransformPoint=function(n){var r=new v(this.inverseTransformX(n.x),this.inverseTransformY(n.y));return r},C.exports=l},function(C,x,N){function v(t){if(Array.isArray(t)){for(var s=0,o=Array(t.length);sn.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},e.prototype.calcSpringForces=function(){for(var t=this.getAllEdges(),s,o=0;o0&&arguments[0]!==void 0?arguments[0]:!0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o,c,h,T,u=this.getAllNodes(),d;if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&t&&this.updateGrid(),d=new Set,o=0;oL||d>L)&&(t.gravitationForceX=-this.gravityConstant*h,t.gravitationForceY=-this.gravityConstant*T)):(L=s.getEstimatedSize()*this.compoundGravityRangeFactor,(u>L||d>L)&&(t.gravitationForceX=-this.gravityConstant*h*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*T*this.compoundGravityConstant))},e.prototype.isConverged=function(){var t,s=!1;return this.totalIterations>this.maxIterations/3&&(s=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=u.length||L>=u[0].length)){for(var b=0;be}}]),i}();C.exports=r},function(C,x,N){function v(){}v.svd=function(l){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=l.length,this.n=l[0].length;var n=Math.min(this.m,this.n);this.s=function(Tt){for(var wt=[];Tt-- >0;)wt.push(0);return wt}(Math.min(this.m+1,this.n)),this.U=function(Tt){var wt=function $t(bt){if(bt.length==0)return 0;for(var zt=[],St=0;St0;)wt.push(0);return wt}(this.n),i=function(Tt){for(var wt=[];Tt-- >0;)wt.push(0);return wt}(this.m),f=!0,e=Math.min(this.m-1,this.n),g=Math.max(0,Math.min(this.n-2,this.m)),t=0;t=0;m--)if(this.s[m]!==0){for(var y=m+1;y=0;z--){if(function(Tt,wt){return Tt&&wt}(z0;){var J=void 0,It=void 0;for(J=a-2;J>=-1&&J!==-1;J--)if(Math.abs(r[J])<=ht+tt*(Math.abs(this.s[J])+Math.abs(this.s[J+1]))){r[J]=0;break}if(J===a-2)It=4;else{var Nt=void 0;for(Nt=a-1;Nt>=J&&Nt!==J;Nt--){var vt=(Nt!==a?Math.abs(r[Nt]):0)+(Nt!==J+1?Math.abs(r[Nt-1]):0);if(Math.abs(this.s[Nt])<=ht+tt*vt){this.s[Nt]=0;break}}Nt===J?It=3:Nt===a-1?It=1:(It=2,J=Nt)}switch(J++,It){case 1:{var it=r[a-2];r[a-2]=0;for(var ut=a-2;ut>=J;ut--){var Et=v.hypot(this.s[ut],it),Ct=this.s[ut]/Et,Dt=it/Et;this.s[ut]=Et,ut!==J&&(it=-Dt*r[ut-1],r[ut-1]=Ct*r[ut-1]);for(var mt=0;mt=this.s[J+1]);){var Lt=this.s[J];if(this.s[J]=this.s[J+1],this.s[J+1]=Lt,JMath.abs(n)?(r=n/l,r=Math.abs(l)*Math.sqrt(1+r*r)):n!=0?(r=l/n,r=Math.abs(n)*Math.sqrt(1+r*r)):r=0,r},C.exports=v},function(C,x,N){var v=function(){function r(i,f){for(var e=0;e2&&arguments[2]!==void 0?arguments[2]:1,g=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;l(this,r),this.sequence1=i,this.sequence2=f,this.match_score=e,this.mismatch_penalty=g,this.gap_penalty=t,this.iMax=i.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var s=0;s=0;i--){var f=this.listeners[i];f.event===n&&f.callback===r&&this.listeners.splice(i,1)}},l.emit=function(n,r){for(var i=0;i{var x={45:(n,r,i)=>{var f={};f.layoutBase=i(551),f.CoSEConstants=i(806),f.CoSEEdge=i(767),f.CoSEGraph=i(880),f.CoSEGraphManager=i(578),f.CoSELayout=i(765),f.CoSENode=i(991),f.ConstraintHandler=i(902),n.exports=f},806:(n,r,i)=>{var f=i(551).FDLayoutConstants;function e(){}for(var g in f)e[g]=f[g];e.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,e.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH,e.DEFAULT_COMPONENT_SEPERATION=60,e.TILE=!0,e.TILING_PADDING_VERTICAL=10,e.TILING_PADDING_HORIZONTAL=10,e.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,e.ENFORCE_CONSTRAINTS=!0,e.APPLY_LAYOUT=!0,e.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,e.TREE_REDUCTION_ON_INCREMENTAL=!0,e.PURE_INCREMENTAL=e.DEFAULT_INCREMENTAL,n.exports=e},767:(n,r,i)=>{var f=i(551).FDLayoutEdge;function e(t,s,o){f.call(this,t,s,o)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e},880:(n,r,i)=>{var f=i(551).LGraph;function e(t,s,o){f.call(this,t,s,o)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e},578:(n,r,i)=>{var f=i(551).LGraphManager;function e(t){f.call(this,t)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e},765:(n,r,i)=>{var f=i(551).FDLayout,e=i(578),g=i(880),t=i(991),s=i(767),o=i(806),c=i(902),h=i(551).FDLayoutConstants,T=i(551).LayoutConstants,u=i(551).Point,d=i(551).PointD,L=i(551).DimensionD,b=i(551).Layout,w=i(551).Integer,P=i(551).IGeometry,V=i(551).LGraph,Y=i(551).Transform,B=i(551).LinkedList;function A(){f.call(this),this.toBeTiled={},this.constraints={}}A.prototype=Object.create(f.prototype);for(var j in f)A[j]=f[j];A.prototype.newGraphManager=function(){var a=new e(this);return this.graphManager=a,a},A.prototype.newGraph=function(a){return new g(null,this.graphManager,a)},A.prototype.newNode=function(a){return new t(this.graphManager,a)},A.prototype.newEdge=function(a){return new s(null,null,a)},A.prototype.initParameters=function(){f.prototype.initParameters.call(this,arguments),this.isSubLayout||(o.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=h.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=h.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=h.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},A.prototype.initSpringEmbedder=function(){f.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/h.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},A.prototype.layout=function(){var a=T.DEFAULT_CREATE_BENDS_AS_NEEDED;return a&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},A.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(o.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(S){return E.has(S)});this.graphManager.setAllNodesToApplyGravitation(p)}}else{var a=this.getFlatForest();if(a.length>0)this.positionNodesRadially(a);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(m){return E.has(m)});this.graphManager.setAllNodesToApplyGravitation(p),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(c.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),o.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},A.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%h.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(y){return a.has(y)});this.graphManager.setAllNodesToApplyGravitation(E),this.graphManager.updateBounds(),this.updateGrid(),o.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),o.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var p=!this.isTreeGrowing&&!this.isGrowthFinished,m=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(p,m),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},A.prototype.getPositionsData=function(){for(var a=this.graphManager.getAllNodes(),E={},p=0;p0&&this.updateDisplacements();for(var p=0;p0&&(m.fixedNodeWeight=S)}}if(this.constraints.relativePlacementConstraint){var D=new Map,F=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(O){a.fixedNodesOnHorizontal.add(O),a.fixedNodesOnVertical.add(O)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var W=this.constraints.alignmentConstraint.vertical,p=0;p=2*O.length/3;tt--)H=Math.floor(Math.random()*(tt+1)),Z=O[tt],O[tt]=O[H],O[H]=Z;return O},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=D.has(O.left)?D.get(O.left):O.left,Z=D.has(O.right)?D.get(O.right):O.right;a.nodesInRelativeHorizontal.includes(H)||(a.nodesInRelativeHorizontal.push(H),a.nodeToRelativeConstraintMapHorizontal.set(H,[]),a.dummyToNodeForVerticalAlignment.has(H)?a.nodeToTempPositionMapHorizontal.set(H,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(H)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(H,a.idToNodeMap.get(H).getCenterX())),a.nodesInRelativeHorizontal.includes(Z)||(a.nodesInRelativeHorizontal.push(Z),a.nodeToRelativeConstraintMapHorizontal.set(Z,[]),a.dummyToNodeForVerticalAlignment.has(Z)?a.nodeToTempPositionMapHorizontal.set(Z,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(Z)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(Z,a.idToNodeMap.get(Z).getCenterX())),a.nodeToRelativeConstraintMapHorizontal.get(H).push({right:Z,gap:O.gap}),a.nodeToRelativeConstraintMapHorizontal.get(Z).push({left:H,gap:O.gap})}else{var tt=F.has(O.top)?F.get(O.top):O.top,ht=F.has(O.bottom)?F.get(O.bottom):O.bottom;a.nodesInRelativeVertical.includes(tt)||(a.nodesInRelativeVertical.push(tt),a.nodeToRelativeConstraintMapVertical.set(tt,[]),a.dummyToNodeForHorizontalAlignment.has(tt)?a.nodeToTempPositionMapVertical.set(tt,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(tt)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(tt,a.idToNodeMap.get(tt).getCenterY())),a.nodesInRelativeVertical.includes(ht)||(a.nodesInRelativeVertical.push(ht),a.nodeToRelativeConstraintMapVertical.set(ht,[]),a.dummyToNodeForHorizontalAlignment.has(ht)?a.nodeToTempPositionMapVertical.set(ht,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(ht)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(ht,a.idToNodeMap.get(ht).getCenterY())),a.nodeToRelativeConstraintMapVertical.get(tt).push({bottom:ht,gap:O.gap}),a.nodeToRelativeConstraintMapVertical.get(ht).push({top:tt,gap:O.gap})}});else{var Q=new Map,z=new Map;this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=D.has(O.left)?D.get(O.left):O.left,Z=D.has(O.right)?D.get(O.right):O.right;Q.has(H)?Q.get(H).push(Z):Q.set(H,[Z]),Q.has(Z)?Q.get(Z).push(H):Q.set(Z,[H])}else{var tt=F.has(O.top)?F.get(O.top):O.top,ht=F.has(O.bottom)?F.get(O.bottom):O.bottom;z.has(tt)?z.get(tt).push(ht):z.set(tt,[ht]),z.has(ht)?z.get(ht).push(tt):z.set(ht,[tt])}});var X=function(H,Z){var tt=[],ht=[],J=new B,It=new Set,Nt=0;return H.forEach(function(vt,it){if(!It.has(it)){tt[Nt]=[],ht[Nt]=!1;var ut=it;for(J.push(ut),It.add(ut),tt[Nt].push(ut);J.length!=0;){ut=J.shift(),Z.has(ut)&&(ht[Nt]=!0);var Et=H.get(ut);Et.forEach(function(Ct){It.has(Ct)||(J.push(Ct),It.add(Ct),tt[Nt].push(Ct))})}Nt++}}),{components:tt,isFixed:ht}},rt=X(Q,a.fixedNodesOnHorizontal);this.componentsOnHorizontal=rt.components,this.fixedComponentsOnHorizontal=rt.isFixed;var $=X(z,a.fixedNodesOnVertical);this.componentsOnVertical=$.components,this.fixedComponentsOnVertical=$.isFixed}}},A.prototype.updateDisplacements=function(){var a=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function($){var O=a.idToNodeMap.get($.nodeId);O.displacementX=0,O.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var E=this.constraints.alignmentConstraint.vertical,p=0;p1){var F;for(F=0;Fm&&(m=Math.floor(D.y)),S=Math.floor(D.x+o.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(T.WORLD_CENTER_X-D.x/2,T.WORLD_CENTER_Y-D.y/2))},A.radialLayout=function(a,E,p){var m=Math.max(this.maxDiagonalInTree(a),o.DEFAULT_RADIAL_SEPARATION);A.branchRadialLayout(E,null,0,359,0,m);var y=V.calculateBounds(a),S=new Y;S.setDeviceOrgX(y.getMinX()),S.setDeviceOrgY(y.getMinY()),S.setWorldOrgX(p.x),S.setWorldOrgY(p.y);for(var D=0;D1;){var Z=H[0];H.splice(0,1);var tt=z.indexOf(Z);tt>=0&&z.splice(tt,1),$--,X--}E!=null?O=(z.indexOf(H[0])+1)%$:O=0;for(var ht=Math.abs(m-p)/X,J=O;rt!=X;J=++J%$){var It=z[J].getOtherEnd(a);if(It!=E){var Nt=(p+rt*ht)%360,vt=(Nt+ht)%360;A.branchRadialLayout(It,a,Nt,vt,y+S,S),rt++}}},A.maxDiagonalInTree=function(a){for(var E=w.MIN_VALUE,p=0;pE&&(E=y)}return E},A.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},A.prototype.groupZeroDegreeMembers=function(){var a=this,E={};this.memberGroups={},this.idToDummyNode={};for(var p=[],m=this.graphManager.getAllNodes(),y=0;y"u"&&(E[F]=[]),E[F]=E[F].concat(S)}Object.keys(E).forEach(function(W){if(E[W].length>1){var R="DummyCompound_"+W;a.memberGroups[R]=E[W];var Q=E[W][0].getParent(),z=new t(a.graphManager);z.id=R,z.paddingLeft=Q.paddingLeft||0,z.paddingRight=Q.paddingRight||0,z.paddingBottom=Q.paddingBottom||0,z.paddingTop=Q.paddingTop||0,a.idToDummyNode[R]=z;var X=a.getGraphManager().add(a.newGraph(),z),rt=Q.getChild();rt.add(z);for(var $=0;$y?(m.rect.x-=(m.labelWidth-y)/2,m.setWidth(m.labelWidth),m.labelMarginLeft=(m.labelWidth-y)/2):m.labelPosHorizontal=="right"&&m.setWidth(y+m.labelWidth)),m.labelHeight&&(m.labelPosVertical=="top"?(m.rect.y-=m.labelHeight,m.setHeight(S+m.labelHeight),m.labelMarginTop=m.labelHeight):m.labelPosVertical=="center"&&m.labelHeight>S?(m.rect.y-=(m.labelHeight-S)/2,m.setHeight(m.labelHeight),m.labelMarginTop=(m.labelHeight-S)/2):m.labelPosVertical=="bottom"&&m.setHeight(S+m.labelHeight))}})},A.prototype.repopulateCompounds=function(){for(var a=this.compoundOrder.length-1;a>=0;a--){var E=this.compoundOrder[a],p=E.id,m=E.paddingLeft,y=E.paddingTop,S=E.labelMarginLeft,D=E.labelMarginTop;this.adjustLocations(this.tiledMemberPack[p],E.rect.x,E.rect.y,m,y,S,D)}},A.prototype.repopulateZeroDegreeMembers=function(){var a=this,E=this.tiledZeroDegreePack;Object.keys(E).forEach(function(p){var m=a.idToDummyNode[p],y=m.paddingLeft,S=m.paddingTop,D=m.labelMarginLeft,F=m.labelMarginTop;a.adjustLocations(E[p],m.rect.x,m.rect.y,y,S,D,F)})},A.prototype.getToBeTiled=function(a){var E=a.id;if(this.toBeTiled[E]!=null)return this.toBeTiled[E];var p=a.getChild();if(p==null)return this.toBeTiled[E]=!1,!1;for(var m=p.getNodes(),y=0;y0)return this.toBeTiled[E]=!1,!1;if(S.getChild()==null){this.toBeTiled[S.id]=!1;continue}if(!this.getToBeTiled(S))return this.toBeTiled[E]=!1,!1}return this.toBeTiled[E]=!0,!0},A.prototype.getNodeDegree=function(a){a.id;for(var E=a.getEdges(),p=0,m=0;mQ&&(Q=X.rect.height)}p+=Q+a.verticalPadding}},A.prototype.tileCompoundMembers=function(a,E){var p=this;this.tiledMemberPack=[],Object.keys(a).forEach(function(m){var y=E[m];if(p.tiledMemberPack[m]=p.tileNodes(a[m],y.paddingLeft+y.paddingRight),y.rect.width=p.tiledMemberPack[m].width,y.rect.height=p.tiledMemberPack[m].height,y.setCenter(p.tiledMemberPack[m].centerX,p.tiledMemberPack[m].centerY),y.labelMarginLeft=0,y.labelMarginTop=0,o.NODE_DIMENSIONS_INCLUDE_LABELS){var S=y.rect.width,D=y.rect.height;y.labelWidth&&(y.labelPosHorizontal=="left"?(y.rect.x-=y.labelWidth,y.setWidth(S+y.labelWidth),y.labelMarginLeft=y.labelWidth):y.labelPosHorizontal=="center"&&y.labelWidth>S?(y.rect.x-=(y.labelWidth-S)/2,y.setWidth(y.labelWidth),y.labelMarginLeft=(y.labelWidth-S)/2):y.labelPosHorizontal=="right"&&y.setWidth(S+y.labelWidth)),y.labelHeight&&(y.labelPosVertical=="top"?(y.rect.y-=y.labelHeight,y.setHeight(D+y.labelHeight),y.labelMarginTop=y.labelHeight):y.labelPosVertical=="center"&&y.labelHeight>D?(y.rect.y-=(y.labelHeight-D)/2,y.setHeight(y.labelHeight),y.labelMarginTop=(y.labelHeight-D)/2):y.labelPosVertical=="bottom"&&y.setHeight(D+y.labelHeight))}})},A.prototype.tileNodes=function(a,E){var p=this.tileNodesByFavoringDim(a,E,!0),m=this.tileNodesByFavoringDim(a,E,!1),y=this.getOrgRatio(p),S=this.getOrgRatio(m),D;return SF&&(F=$.getWidth())});var W=S/y,R=D/y,Q=Math.pow(p-m,2)+4*(W+m)*(R+p)*y,z=(m-p+Math.sqrt(Q))/(2*(W+m)),X;E?(X=Math.ceil(z),X==z&&X++):X=Math.floor(z);var rt=X*(W+m)-m;return F>rt&&(rt=F),rt+=m*2,rt},A.prototype.tileNodesByFavoringDim=function(a,E,p){var m=o.TILING_PADDING_VERTICAL,y=o.TILING_PADDING_HORIZONTAL,S=o.TILING_COMPARE_BY,D={rows:[],rowWidth:[],rowHeight:[],width:0,height:E,verticalPadding:m,horizontalPadding:y,centerX:0,centerY:0};S&&(D.idealRowWidth=this.calcIdealRowWidth(a,p));var F=function(O){return O.rect.width*O.rect.height},W=function(O,H){return F(H)-F(O)};a.sort(function($,O){var H=W;return D.idealRowWidth?(H=S,H($.id,O.id)):H($,O)});for(var R=0,Q=0,z=0;z0&&(D+=a.horizontalPadding),a.rowWidth[p]=D,a.width0&&(F+=a.verticalPadding);var W=0;F>a.rowHeight[p]&&(W=a.rowHeight[p],a.rowHeight[p]=F,W=a.rowHeight[p]-W),a.height+=W,a.rows[p].push(E)},A.prototype.getShortestRowIndex=function(a){for(var E=-1,p=Number.MAX_VALUE,m=0;mp&&(E=m,p=a.rowWidth[m]);return E},A.prototype.canAddHorizontal=function(a,E,p){if(a.idealRowWidth){var m=a.rows.length-1,y=a.rowWidth[m];return y+E+a.horizontalPadding<=a.idealRowWidth}var S=this.getShortestRowIndex(a);if(S<0)return!0;var D=a.rowWidth[S];if(D+a.horizontalPadding+E<=a.width)return!0;var F=0;a.rowHeight[S]0&&(F=p+a.verticalPadding-a.rowHeight[S]);var W;a.width-D>=E+a.horizontalPadding?W=(a.height+F)/(D+E+a.horizontalPadding):W=(a.height+F)/a.width,F=p+a.verticalPadding;var R;return a.widthS&&E!=p){m.splice(-1,1),a.rows[p].push(y),a.rowWidth[E]=a.rowWidth[E]-S,a.rowWidth[p]=a.rowWidth[p]+S,a.width=a.rowWidth[instance.getLongestRowIndex(a)];for(var D=Number.MIN_VALUE,F=0;FD&&(D=m[F].height);E>0&&(D+=a.verticalPadding);var W=a.rowHeight[E]+a.rowHeight[p];a.rowHeight[E]=D,a.rowHeight[p]0)for(var rt=y;rt<=S;rt++)X[0]+=this.grid[rt][D-1].length+this.grid[rt][D].length-1;if(S0)for(var rt=D;rt<=F;rt++)X[3]+=this.grid[y-1][rt].length+this.grid[y][rt].length-1;for(var $=w.MAX_VALUE,O,H,Z=0;Z{var f=i(551).FDLayoutNode,e=i(551).IMath;function g(s,o,c,h){f.call(this,s,o,c,h)}g.prototype=Object.create(f.prototype);for(var t in f)g[t]=f[t];g.prototype.calculateDisplacement=function(){var s=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementX=s.coolingFactor*s.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementY=s.coolingFactor*s.maxNodeDisplacement*e.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},g.prototype.propogateDisplacementToChildren=function(s,o){for(var c=this.getChild().getNodes(),h,T=0;T{function f(c){if(Array.isArray(c)){for(var h=0,T=Array(c.length);h0){var Lt=0;ot.forEach(function(st){k=="horizontal"?(et.set(st,u.has(st)?d[u.get(st)]:q.get(st)),Lt+=et.get(st)):(et.set(st,u.has(st)?L[u.get(st)]:q.get(st)),Lt+=et.get(st))}),Lt=Lt/ot.length,lt.forEach(function(st){K.has(st)||et.set(st,Lt)})}else{var ft=0;lt.forEach(function(st){k=="horizontal"?ft+=u.has(st)?d[u.get(st)]:q.get(st):ft+=u.has(st)?L[u.get(st)]:q.get(st)}),ft=ft/lt.length,lt.forEach(function(st){et.set(st,ft)})}});for(var Mt=function(){var ot=dt.shift(),Lt=U.get(ot);Lt.forEach(function(ft){if(et.get(ft.id)st&&(st=Zt),KtXt&&(Xt=Kt)}}catch(ee){wt=!0,$t=ee}finally{try{!Tt&&bt.return&&bt.return()}finally{if(wt)throw $t}}var he=(Lt+st)/2-(ft+Xt)/2,Qt=!0,jt=!1,_t=void 0;try{for(var Jt=lt[Symbol.iterator](),oe;!(Qt=(oe=Jt.next()).done);Qt=!0){var te=oe.value;et.set(te,et.get(te)+he)}}catch(ee){jt=!0,_t=ee}finally{try{!Qt&&Jt.return&&Jt.return()}finally{if(jt)throw _t}}})}return et},j=function(U){var k=0,K=0,q=0,at=0;if(U.forEach(function(_){_.left?d[u.get(_.left)]-d[u.get(_.right)]>=0?k++:K++:L[u.get(_.top)]-L[u.get(_.bottom)]>=0?q++:at++}),k>K&&q>at)for(var gt=0;gtK)for(var nt=0;ntat)for(var et=0;et1)h.fixedNodeConstraint.forEach(function(G,U){m[U]=[G.position.x,G.position.y],y[U]=[d[u.get(G.nodeId)],L[u.get(G.nodeId)]]}),S=!0;else if(h.alignmentConstraint)(function(){var G=0;if(h.alignmentConstraint.vertical){for(var U=h.alignmentConstraint.vertical,k=function(et){var _=new Set;U[et].forEach(function(pt){_.add(pt)});var dt=new Set([].concat(f(_)).filter(function(pt){return F.has(pt)})),Mt=void 0;dt.size>0?Mt=d[u.get(dt.values().next().value)]:Mt=B(_).x,U[et].forEach(function(pt){m[G]=[Mt,L[u.get(pt)]],y[G]=[d[u.get(pt)],L[u.get(pt)]],G++})},K=0;K0?Mt=d[u.get(dt.values().next().value)]:Mt=B(_).y,q[et].forEach(function(pt){m[G]=[d[u.get(pt)],Mt],y[G]=[d[u.get(pt)],L[u.get(pt)]],G++})},gt=0;gtz&&(z=Q[rt].length,X=rt);if(z0){var mt={x:0,y:0};h.fixedNodeConstraint.forEach(function(G,U){var k={x:d[u.get(G.nodeId)],y:L[u.get(G.nodeId)]},K=G.position,q=Y(K,k);mt.x+=q.x,mt.y+=q.y}),mt.x/=h.fixedNodeConstraint.length,mt.y/=h.fixedNodeConstraint.length,d.forEach(function(G,U){d[U]+=mt.x}),L.forEach(function(G,U){L[U]+=mt.y}),h.fixedNodeConstraint.forEach(function(G){d[u.get(G.nodeId)]=G.position.x,L[u.get(G.nodeId)]=G.position.y})}if(h.alignmentConstraint){if(h.alignmentConstraint.vertical)for(var Ot=h.alignmentConstraint.vertical,Rt=function(U){var k=new Set;Ot[U].forEach(function(at){k.add(at)});var K=new Set([].concat(f(k)).filter(function(at){return F.has(at)})),q=void 0;K.size>0?q=d[u.get(K.values().next().value)]:q=B(k).x,k.forEach(function(at){F.has(at)||(d[u.get(at)]=q)})},Ht=0;Ht0?q=L[u.get(K.values().next().value)]:q=B(k).y,k.forEach(function(at){F.has(at)||(L[u.get(at)]=q)})},Ft=0;Ft{n.exports=C}},N={};function v(n){var r=N[n];if(r!==void 0)return r.exports;var i=N[n]={exports:{}};return x[n](i,i.exports,v),i.exports}var l=v(45);return l})()})}(ue)),ue.exports}(function(I,M){(function(x,N){I.exports=N(vr())})(Te,function(C){return(()=>{var x={658:n=>{n.exports=Object.assign!=null?Object.assign.bind(Object):function(r){for(var i=arguments.length,f=Array(i>1?i-1:0),e=1;e{var f=function(){function t(s,o){var c=[],h=!0,T=!1,u=void 0;try{for(var d=s[Symbol.iterator](),L;!(h=(L=d.next()).done)&&(c.push(L.value),!(o&&c.length===o));h=!0);}catch(b){T=!0,u=b}finally{try{!h&&d.return&&d.return()}finally{if(T)throw u}}return c}return function(s,o){if(Array.isArray(s))return s;if(Symbol.iterator in Object(s))return t(s,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),e=i(140).layoutBase.LinkedList,g={};g.getTopMostNodes=function(t){for(var s={},o=0;o0&&S.merge(R)});for(var D=0;D1){L=u[0],b=L.connectedEdges().length,u.forEach(function(y){y.connectedEdges().length0&&c.set("dummy"+(c.size+1),V),Y},g.relocateComponent=function(t,s,o){if(!o.fixedNodeConstraint){var c=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY,T=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;if(o.quality=="draft"){var d=!0,L=!1,b=void 0;try{for(var w=s.nodeIndexes[Symbol.iterator](),P;!(d=(P=w.next()).done);d=!0){var V=P.value,Y=f(V,2),B=Y[0],A=Y[1],j=o.cy.getElementById(B);if(j){var a=j.boundingBox(),E=s.xCoords[A]-a.w/2,p=s.xCoords[A]+a.w/2,m=s.yCoords[A]-a.h/2,y=s.yCoords[A]+a.h/2;Eh&&(h=p),mu&&(u=y)}}}catch(R){L=!0,b=R}finally{try{!d&&w.return&&w.return()}finally{if(L)throw b}}var S=t.x-(h+c)/2,D=t.y-(u+T)/2;s.xCoords=s.xCoords.map(function(R){return R+S}),s.yCoords=s.yCoords.map(function(R){return R+D})}else{Object.keys(s).forEach(function(R){var Q=s[R],z=Q.getRect().x,X=Q.getRect().x+Q.getRect().width,rt=Q.getRect().y,$=Q.getRect().y+Q.getRect().height;zh&&(h=X),rtu&&(u=$)});var F=t.x-(h+c)/2,W=t.y-(u+T)/2;Object.keys(s).forEach(function(R){var Q=s[R];Q.setCenter(Q.getCenterX()+F,Q.getCenterY()+W)})}}},g.calcBoundingBox=function(t,s,o,c){for(var h=Number.MAX_SAFE_INTEGER,T=Number.MIN_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,d=Number.MIN_SAFE_INTEGER,L=void 0,b=void 0,w=void 0,P=void 0,V=t.descendants().not(":parent"),Y=V.length,B=0;BL&&(h=L),Tw&&(u=w),d{var f=i(548),e=i(140).CoSELayout,g=i(140).CoSENode,t=i(140).layoutBase.PointD,s=i(140).layoutBase.DimensionD,o=i(140).layoutBase.LayoutConstants,c=i(140).layoutBase.FDLayoutConstants,h=i(140).CoSEConstants,T=function(d,L){var b=d.cy,w=d.eles,P=w.nodes(),V=w.edges(),Y=void 0,B=void 0,A=void 0,j={};d.randomize&&(Y=L.nodeIndexes,B=L.xCoords,A=L.yCoords);var a=function(R){return typeof R=="function"},E=function(R,Q){return a(R)?R(Q):R},p=f.calcParentsWithoutChildren(b,w),m=function W(R,Q,z,X){for(var rt=Q.length,$=0;$0){var J=void 0;J=z.getGraphManager().add(z.newGraph(),Z),W(J,H,z,X)}}},y=function(R,Q,z){for(var X=0,rt=0,$=0;$0?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=X/rt:a(d.idealEdgeLength)?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=50:h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=d.idealEdgeLength,h.MIN_REPULSION_DIST=c.MIN_REPULSION_DIST=c.DEFAULT_EDGE_LENGTH/10,h.DEFAULT_RADIAL_SEPARATION=c.DEFAULT_EDGE_LENGTH)},S=function(R,Q){Q.fixedNodeConstraint&&(R.constraints.fixedNodeConstraint=Q.fixedNodeConstraint),Q.alignmentConstraint&&(R.constraints.alignmentConstraint=Q.alignmentConstraint),Q.relativePlacementConstraint&&(R.constraints.relativePlacementConstraint=Q.relativePlacementConstraint)};d.nestingFactor!=null&&(h.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=d.nestingFactor),d.gravity!=null&&(h.DEFAULT_GRAVITY_STRENGTH=c.DEFAULT_GRAVITY_STRENGTH=d.gravity),d.numIter!=null&&(h.MAX_ITERATIONS=c.MAX_ITERATIONS=d.numIter),d.gravityRange!=null&&(h.DEFAULT_GRAVITY_RANGE_FACTOR=c.DEFAULT_GRAVITY_RANGE_FACTOR=d.gravityRange),d.gravityCompound!=null&&(h.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=d.gravityCompound),d.gravityRangeCompound!=null&&(h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=d.gravityRangeCompound),d.initialEnergyOnIncremental!=null&&(h.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.DEFAULT_COOLING_FACTOR_INCREMENTAL=d.initialEnergyOnIncremental),d.tilingCompareBy!=null&&(h.TILING_COMPARE_BY=d.tilingCompareBy),d.quality=="proof"?o.QUALITY=2:o.QUALITY=0,h.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=o.NODE_DIMENSIONS_INCLUDE_LABELS=d.nodeDimensionsIncludeLabels,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!d.randomize,h.ANIMATE=c.ANIMATE=o.ANIMATE=d.animate,h.TILE=d.tile,h.TILING_PADDING_VERTICAL=typeof d.tilingPaddingVertical=="function"?d.tilingPaddingVertical.call():d.tilingPaddingVertical,h.TILING_PADDING_HORIZONTAL=typeof d.tilingPaddingHorizontal=="function"?d.tilingPaddingHorizontal.call():d.tilingPaddingHorizontal,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!0,h.PURE_INCREMENTAL=!d.randomize,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=d.uniformNodeDimensions,d.step=="transformed"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!1),d.step=="enforced"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!1),d.step=="cose"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!0),d.step=="all"&&(d.randomize?h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0),d.fixedNodeConstraint||d.alignmentConstraint||d.relativePlacementConstraint?h.TREE_REDUCTION_ON_INCREMENTAL=!1:h.TREE_REDUCTION_ON_INCREMENTAL=!0;var D=new e,F=D.newGraphManager();return m(F.addRoot(),f.getTopMostNodes(P),D,d),y(D,F,V),S(D,d),D.runLayout(),j};n.exports={coseLayout:T}},212:(n,r,i)=>{var f=function(){function d(L,b){for(var w=0;w0)if(p){var S=t.getTopMostNodes(w.eles.nodes());if(A=t.connectComponents(P,w.eles,S),A.forEach(function(vt){var it=vt.boundingBox();j.push({x:it.x1+it.w/2,y:it.y1+it.h/2})}),w.randomize&&A.forEach(function(vt){w.eles=vt,Y.push(o(w))}),w.quality=="default"||w.quality=="proof"){var D=P.collection();if(w.tile){var F=new Map,W=[],R=[],Q=0,z={nodeIndexes:F,xCoords:W,yCoords:R},X=[];if(A.forEach(function(vt,it){vt.edges().length==0&&(vt.nodes().forEach(function(ut,Et){D.merge(vt.nodes()[Et]),ut.isParent()||(z.nodeIndexes.set(vt.nodes()[Et].id(),Q++),z.xCoords.push(vt.nodes()[0].position().x),z.yCoords.push(vt.nodes()[0].position().y))}),X.push(it))}),D.length>1){var rt=D.boundingBox();j.push({x:rt.x1+rt.w/2,y:rt.y1+rt.h/2}),A.push(D),Y.push(z);for(var $=X.length-1;$>=0;$--)A.splice(X[$],1),Y.splice(X[$],1),j.splice(X[$],1)}}A.forEach(function(vt,it){w.eles=vt,B.push(h(w,Y[it])),t.relocateComponent(j[it],B[it],w)})}else A.forEach(function(vt,it){t.relocateComponent(j[it],Y[it],w)});var O=new Set;if(A.length>1){var H=[],Z=V.filter(function(vt){return vt.css("display")=="none"});A.forEach(function(vt,it){var ut=void 0;if(w.quality=="draft"&&(ut=Y[it].nodeIndexes),vt.nodes().not(Z).length>0){var Et={};Et.edges=[],Et.nodes=[];var Ct=void 0;vt.nodes().not(Z).forEach(function(Dt){if(w.quality=="draft")if(!Dt.isParent())Ct=ut.get(Dt.id()),Et.nodes.push({x:Y[it].xCoords[Ct]-Dt.boundingbox().w/2,y:Y[it].yCoords[Ct]-Dt.boundingbox().h/2,width:Dt.boundingbox().w,height:Dt.boundingbox().h});else{var mt=t.calcBoundingBox(Dt,Y[it].xCoords,Y[it].yCoords,ut);Et.nodes.push({x:mt.topLeftX,y:mt.topLeftY,width:mt.width,height:mt.height})}else B[it][Dt.id()]&&Et.nodes.push({x:B[it][Dt.id()].getLeft(),y:B[it][Dt.id()].getTop(),width:B[it][Dt.id()].getWidth(),height:B[it][Dt.id()].getHeight()})}),vt.edges().forEach(function(Dt){var mt=Dt.source(),Ot=Dt.target();if(mt.css("display")!="none"&&Ot.css("display")!="none")if(w.quality=="draft"){var Rt=ut.get(mt.id()),Ht=ut.get(Ot.id()),Ut=[],Gt=[];if(mt.isParent()){var Ft=t.calcBoundingBox(mt,Y[it].xCoords,Y[it].yCoords,ut);Ut.push(Ft.topLeftX+Ft.width/2),Ut.push(Ft.topLeftY+Ft.height/2)}else Ut.push(Y[it].xCoords[Rt]),Ut.push(Y[it].yCoords[Rt]);if(Ot.isParent()){var Yt=t.calcBoundingBox(Ot,Y[it].xCoords,Y[it].yCoords,ut);Gt.push(Yt.topLeftX+Yt.width/2),Gt.push(Yt.topLeftY+Yt.height/2)}else Gt.push(Y[it].xCoords[Ht]),Gt.push(Y[it].yCoords[Ht]);Et.edges.push({startX:Ut[0],startY:Ut[1],endX:Gt[0],endY:Gt[1]})}else B[it][mt.id()]&&B[it][Ot.id()]&&Et.edges.push({startX:B[it][mt.id()].getCenterX(),startY:B[it][mt.id()].getCenterY(),endX:B[it][Ot.id()].getCenterX(),endY:B[it][Ot.id()].getCenterY()})}),Et.nodes.length>0&&(H.push(Et),O.add(it))}});var tt=E.packComponents(H,w.randomize).shifts;if(w.quality=="draft")Y.forEach(function(vt,it){var ut=vt.xCoords.map(function(Ct){return Ct+tt[it].dx}),Et=vt.yCoords.map(function(Ct){return Ct+tt[it].dy});vt.xCoords=ut,vt.yCoords=Et});else{var ht=0;O.forEach(function(vt){Object.keys(B[vt]).forEach(function(it){var ut=B[vt][it];ut.setCenter(ut.getCenterX()+tt[ht].dx,ut.getCenterY()+tt[ht].dy)}),ht++})}}}else{var m=w.eles.boundingBox();if(j.push({x:m.x1+m.w/2,y:m.y1+m.h/2}),w.randomize){var y=o(w);Y.push(y)}w.quality=="default"||w.quality=="proof"?(B.push(h(w,Y[0])),t.relocateComponent(j[0],B[0],w)):t.relocateComponent(j[0],Y[0],w)}var J=function(it,ut){if(w.quality=="default"||w.quality=="proof"){typeof it=="number"&&(it=ut);var Et=void 0,Ct=void 0,Dt=it.data("id");return B.forEach(function(Ot){Dt in Ot&&(Et={x:Ot[Dt].getRect().getCenterX(),y:Ot[Dt].getRect().getCenterY()},Ct=Ot[Dt])}),w.nodeDimensionsIncludeLabels&&(Ct.labelWidth&&(Ct.labelPosHorizontal=="left"?Et.x+=Ct.labelWidth/2:Ct.labelPosHorizontal=="right"&&(Et.x-=Ct.labelWidth/2)),Ct.labelHeight&&(Ct.labelPosVertical=="top"?Et.y+=Ct.labelHeight/2:Ct.labelPosVertical=="bottom"&&(Et.y-=Ct.labelHeight/2))),Et==null&&(Et={x:it.position("x"),y:it.position("y")}),{x:Et.x,y:Et.y}}else{var mt=void 0;return Y.forEach(function(Ot){var Rt=Ot.nodeIndexes.get(it.id());Rt!=null&&(mt={x:Ot.xCoords[Rt],y:Ot.yCoords[Rt]})}),mt==null&&(mt={x:it.position("x"),y:it.position("y")}),{x:mt.x,y:mt.y}}};if(w.quality=="default"||w.quality=="proof"||w.randomize){var It=t.calcParentsWithoutChildren(P,V),Nt=V.filter(function(vt){return vt.css("display")=="none"});w.eles=V.not(Nt),V.nodes().not(":parent").not(Nt).layoutPositions(b,w,J),It.length>0&&It.forEach(function(vt){vt.position(J(vt))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),d}();n.exports=u},657:(n,r,i)=>{var f=i(548),e=i(140).layoutBase.Matrix,g=i(140).layoutBase.SVD,t=function(o){var c=o.cy,h=o.eles,T=h.nodes(),u=h.nodes(":parent"),d=new Map,L=new Map,b=new Map,w=[],P=[],V=[],Y=[],B=[],A=[],j=[],a=[],E=void 0,p=1e8,m=1e-9,y=o.piTol,S=o.samplingType,D=o.nodeSeparation,F=void 0,W=function(){for(var U=0,k=0,K=!1;k=at;){nt=q[at++];for(var xt=w[nt],lt=0;ltdt&&(dt=B[Lt],Mt=Lt)}return Mt},Q=function(U){var k=void 0;if(U){k=Math.floor(Math.random()*E);for(var q=0;q=1)break;_=et}for(var pt=0;pt=1)break;_=et}for(var lt=0;lt0&&(k.isParent()?w[U].push(b.get(k.id())):w[U].push(k.id()))})});var Nt=function(U){var k=L.get(U),K=void 0;d.get(U).forEach(function(q){c.getElementById(q).isParent()?K=b.get(q):K=q,w[k].push(K),w[L.get(K)].push(U)})},vt=!0,it=!1,ut=void 0;try{for(var Et=d.keys()[Symbol.iterator](),Ct;!(vt=(Ct=Et.next()).done);vt=!0){var Dt=Ct.value;Nt(Dt)}}catch(G){it=!0,ut=G}finally{try{!vt&&Et.return&&Et.return()}finally{if(it)throw ut}}E=L.size;var mt=void 0;if(E>2){F=E{var f=i(212),e=function(t){t&&t("layout","fcose",f)};typeof cytoscape<"u"&&e(cytoscape),n.exports=e},140:n=>{n.exports=C}},N={};function v(n){var r=N[n];if(r!==void 0)return r.exports;var i=N[n]={exports:{}};return x[n](i,i.exports,v),i.exports}var l=v(579);return l})()})})(be);var pr=be.exports;const yr=gr(pr);var xe={L:"left",R:"right",T:"top",B:"bottom"},Ie={L:ct(I=>`${I},${I/2} 0,${I} 0,0`,"L"),R:ct(I=>`0,${I/2} ${I},0 ${I},${I}`,"R"),T:ct(I=>`0,0 ${I},0 ${I/2},${I}`,"T"),B:ct(I=>`${I/2},0 ${I},${I} 0,${I}`,"B")},se={L:ct((I,M)=>I-M+2,"L"),R:ct((I,M)=>I-2,"R"),T:ct((I,M)=>I-M+2,"T"),B:ct((I,M)=>I-2,"B")},mr=ct(function(I){return Wt(I)?I==="L"?"R":"L":I==="T"?"B":"T"},"getOppositeArchitectureDirection"),Re=ct(function(I){const M=I;return M==="L"||M==="R"||M==="T"||M==="B"},"isArchitectureDirection"),Wt=ct(function(I){const M=I;return M==="L"||M==="R"},"isArchitectureDirectionX"),qt=ct(function(I){const M=I;return M==="T"||M==="B"},"isArchitectureDirectionY"),Ne=ct(function(I,M){const C=Wt(I)&&qt(M),x=qt(I)&&Wt(M);return C||x},"isArchitectureDirectionXY"),Er=ct(function(I){const M=I[0],C=I[1],x=Wt(M)&&qt(C),N=qt(M)&&Wt(C);return x||N},"isArchitecturePairXY"),Tr=ct(function(I){return I!=="LL"&&I!=="RR"&&I!=="TT"&&I!=="BB"},"isValidArchitectureDirectionPair"),pe=ct(function(I,M){const C=`${I}${M}`;return Tr(C)?C:void 0},"getArchitectureDirectionPair"),Nr=ct(function([I,M],C){const x=C[0],N=C[1];return Wt(x)?qt(N)?[I+(x==="L"?-1:1),M+(N==="T"?1:-1)]:[I+(x==="L"?-1:1),M]:Wt(N)?[I+(N==="L"?1:-1),M+(x==="T"?1:-1)]:[I,M+(x==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Lr=ct(function(I){return I==="LT"||I==="TL"?[1,1]:I==="BL"||I==="LB"?[1,-1]:I==="BR"||I==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),wr=ct(function(I,M){return Ne(I,M)?"bend":Wt(I)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),Cr=ct(function(I){return I.type==="service"},"isArchitectureService"),Mr=ct(function(I){return I.type==="junction"},"isArchitectureJunction"),Ge=ct((I,M)=>{const[C,x]=[I,M].sort();return`${JSON.stringify(C)}-${JSON.stringify(x)}`},"architectureGroupAlignmentKey"),Pe=ct(I=>I.data(),"edgeData"),ie=ct(I=>I.data(),"nodeData"),Ar=or.architecture,ae,Ue=(ae=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=Ke,this.getAccTitle=je,this.setDiagramTitle=_e,this.getDiagramTitle=tr,this.getAccDescription=er,this.setAccDescription=rr,this.clear()}setDiagramId(M){this.diagramId=M}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",ir()}addService({id:M,icon:C,in:x,title:N,iconText:v}){if(this.registeredIds.has(M))throw new Error(`The service id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(x!==void 0){if(M===x)throw new Error(`The service [${M}] cannot be placed within itself`);if(!this.registeredIds.has(x))throw new Error(`The service [${M}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds.get(x)==="node")throw new Error(`The service [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"service",icon:C,iconText:v,title:N,edges:[],in:x})}getServices(){return[...this.nodes.values()].filter(Cr)}addJunction({id:M,in:C}){if(this.registeredIds.has(M))throw new Error(`The junction id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(C!==void 0){if(M===C)throw new Error(`The junction [${M}] cannot be placed within itself`);if(!this.registeredIds.has(C))throw new Error(`The junction [${M}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds.get(C)==="node")throw new Error(`The junction [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"junction",edges:[],in:C})}getJunctions(){return[...this.nodes.values()].filter(Mr)}getNodes(){return[...this.nodes.values()]}getNode(M){return this.nodes.get(M)??null}addGroup({id:M,icon:C,in:x,title:N}){if(this.registeredIds.has(M))throw new Error(`The group id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(x!==void 0){if(M===x)throw new Error(`The group [${M}] cannot be placed within itself`);if(!this.registeredIds.has(x))throw new Error(`The group [${M}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds.get(x)==="node")throw new Error(`The group [${M}]'s parent is not a group`)}this.registeredIds.set(M,"group"),this.groups.set(M,{id:M,icon:C,title:N,in:x})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:M,rhsId:C,lhsDir:x,rhsDir:N,lhsInto:v,rhsInto:l,lhsGroup:n,rhsGroup:r,title:i}){if(!Re(x))throw new Error(`Invalid direction given for left hand side of edge ${M}--${C}. Expected (L,R,T,B) got ${String(x)}`);if(!Re(N))throw new Error(`Invalid direction given for right hand side of edge ${M}--${C}. Expected (L,R,T,B) got ${String(N)}`);if(!this.nodes.has(M)&&!this.groups.has(M))throw new Error(`The left-hand id [${M}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(C)&&!this.groups.has(C))throw new Error(`The right-hand id [${C}] does not yet exist. Please create the service/group before declaring an edge to it.`);const f=this.nodes.get(M).in,e=this.nodes.get(C).in;if(n&&f&&e&&f==e)throw new Error(`The left-hand id [${M}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(r&&f&&e&&f==e)throw new Error(`The right-hand id [${C}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const g={lhsId:M,lhsDir:x,lhsInto:v,lhsGroup:n,rhsId:C,rhsDir:N,rhsInto:l,rhsGroup:r,title:i};this.edges.push(g);const t=this.nodes.get(M),s=this.nodes.get(C);t&&s&&(t.edges.push(this.edges[this.edges.length-1]),s.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(M){if(M.members.length<2)throw new Error(`An align directive requires at least two members; got ${M.members.length}`);const C=new Set;M.members.forEach(x=>{if(this.registeredIds.get(x)!=="node")throw new Error(`align ${M.direction} references [${x}], which is not a service or junction`);if(C.has(x))throw new Error(`align ${M.direction} lists [${x}] more than once`);C.add(x)}),this.layoutHints.push(M)}getLayoutHints(){return this.layoutHints}getDataStructures(){var M,C;if(this.dataStructures===void 0){const x=new Map,N=new Map;for(const[i,f]of this.nodes.entries()){const e=new Map;for(const g of f.edges){const t=(M=this.getNode(g.lhsId))==null?void 0:M.in,s=(C=this.getNode(g.rhsId))==null?void 0:C.in;if(t&&s&&t!==s){const o=wr(g.lhsDir,g.rhsDir);o!=="bend"&&x.set(Ge(t,s),o)}if(g.lhsId===i){const o=pe(g.lhsDir,g.rhsDir);o&&e.set(o,g.rhsId)}else{const o=pe(g.rhsDir,g.lhsDir);o&&e.set(o,g.lhsId)}}N.set(i,e)}const v=new Set,l=new Set(N.keys()),n=ct(i=>{const f=new Map([[i,[0,0]]]),e=[i];for(;e.length>0;){const g=e.shift();if(g){v.add(g),l.delete(g);const t=N.get(g);if(!t)throw new Error(`BFS error: adjacency list for id ${g} not found. Please report this as a bug.`);const s=f.get(g);if(!s)throw new Error(`BFS error: position for id ${g} not found in spatial map. Please report this as a bug.`);const[o,c]=s;t.forEach((h,T)=>{v.has(h)||(f.set(h,Nr([o,c],T)),e.push(h))})}}return f},"BFS"),r=[];for(;l.size>0;){const i=l.values().next().value;r.push(n(i))}this.dataStructures={adjList:N,spatialMaps:r,groupAlignments:x}}return this.dataStructures}setElementForId(M,C){this.elements.set(M,C)}getElementById(M){return this.elements.get(M)}getConfig(){return ar({...Ar,...nr().architecture})}getConfigField(M){return this.getConfig()[M]}},ct(ae,"ArchitectureDB"),ae),Dr=ct((I,M)=>{var C;qe(I,M),I.groups.map(x=>M.addGroup(x)),I.services.map(x=>M.addService({...x,type:"service"})),I.junctions.map(x=>M.addJunction({...x,type:"junction"})),I.edges.map(x=>M.addEdge(x)),(C=I.alignments)==null||C.map(x=>M.addLayoutHint({direction:x.direction,members:[...x.members]}))},"populateDb"),Ye={parser:{yy:void 0},parse:ct(async I=>{var x;const M=await cr("architecture",I);Se.debug(M);const C=(x=Ye.parser)==null?void 0:x.yy;if(!(C instanceof Ue))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Dr(M,C)},"parse")},Or=ct(I=>` .edge { stroke-width: ${I.archEdgeWidth}; stroke: ${I.archEdgeColor}; diff --git a/veadk/webui/assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-nT3UGRP_.js b/veadk/webui/assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-sH6YloKD.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-nT3UGRP_.js rename to veadk/webui/assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-sH6YloKD.js index 84cc6d3d1..95376ae13 100644 --- a/veadk/webui/assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-nT3UGRP_.js +++ b/veadk/webui/assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-sH6YloKD.js @@ -1,4 +1,4 @@ -import{g as de}from"./chunk-5VM5RSS4-W8IBP72a.js";import{am as fe,a7 as Ut,an as pe,b5 as ye,b4 as xe,b7 as be,b6 as we,b1 as me,a$ as Se,aW as Le,aJ as ve,aB as Ee,aA as _e,au as ke,ai as Te,ah as De,aj as Ne,S as Ie,R as Be,K as Ce,m as Oe,I as Re,g as Ae,h as ze,e as Me,a as u,X as nt,B as Pe,at as v,s as Fe,aN as We,Y as M,a3 as Ye,aq as He,G as Ke,a9 as Ue,a1 as Y,F as Et,z as rt,a6 as Xe,ba as at,x as Ve,a5 as je,aO as Ot,M as Rt,A as Ge}from"./mermaid.core-CA8ypPul.js";import{ad as O}from"../../app/index-BSfA7-Qp.js";import{G as Ze}from"../../chunks/graph-Dqkl27Ch.js";import{c as qe}from"../../chunks/channel-V8FC1PyG.js";function Je(e){return Array.isArray(e)}function Qe(e){if(fe(e))return e;const t=Ut(e);if(!$e(e))return{};if(Je(e)){const s=Array.from(e);return e.length>0&&typeof e[0]=="string"&&Object.hasOwn(e,"index")&&(s.index=e.index,s.input=e.input),s}if(pe(e)){const s=e,i=s.constructor;return new i(s.buffer,s.byteOffset,s.length)}if(t==="[object ArrayBuffer]")return new ArrayBuffer(e.byteLength);if(t==="[object DataView]"){const s=e,i=s.buffer,c=s.byteOffset,r=s.byteLength,n=new ArrayBuffer(r),l=new Uint8Array(i,c,r);return new Uint8Array(n).set(l),new DataView(n)}if(t==="[object Boolean]"||t==="[object Number]"||t==="[object String]"){const s=e.constructor,i=new s(e.valueOf());return t==="[object String]"?er(i,e):xt(i,e),i}if(t==="[object Date]")return new Date(Number(e));if(t==="[object RegExp]"){const s=e,i=new RegExp(s.source,s.flags);return i.lastIndex=s.lastIndex,i}if(t==="[object Symbol]")return Object(Symbol.prototype.valueOf.call(e));if(t==="[object Map]"){const s=e,i=new Map;return s.forEach((c,r)=>{i.set(r,c)}),i}if(t==="[object Set]"){const s=e,i=new Set;return s.forEach(c=>{i.add(c)}),i}if(t==="[object Arguments]"){const s=e,i={};return xt(i,s),i.length=s.length,i[Symbol.iterator]=s[Symbol.iterator],i}const a={};return rr(a,e),xt(a,e),tr(a,e),a}function $e(e){switch(Ut(e)){case Me:case ze:case Ae:case Re:case Oe:case Ce:case Be:case Ie:case Ne:case De:case Te:case ke:case _e:case Ee:case ve:case Le:case Se:case me:case we:case be:case xe:case ye:return!0;default:return!1}}function xt(e,t){for(const a in t)Object.hasOwn(t,a)&&(e[a]=t[a])}function tr(e,t){const a=Object.getOwnPropertySymbols(t);for(let s=0;s=a)&&(e[s]=t[s])}function rr(e,t){const a=Object.getPrototypeOf(t);a!==null&&typeof t.constructor=="function"&&Object.setPrototypeOf(e,a)}var wt=function(){var e=u(function(N,b,d,y){for(d=d||{},y=N.length;y--;d[N[y]]=b);return d},"o"),t=[1,15],a=[1,7],s=[1,13],i=[1,14],c=[1,19],r=[1,16],n=[1,17],l=[1,18],g=[8,30],h=[8,10,21,28,29,30,31,39,43,46],p=[1,23],m=[1,24],x=[8,10,15,16,21,28,29,30,31,39,43,46],S=[8,10,15,16,21,27,28,29,30,31,39,43,46],_=[1,49],L={trace:u(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:u(function(b,d,y,w,D,o,k){var f=o.length-1;switch(D){case 4:w.getLogger().debug("Rule: separator (NL) ");break;case 5:w.getLogger().debug("Rule: separator (Space) ");break;case 6:w.getLogger().debug("Rule: separator (EOF) ");break;case 7:w.getLogger().debug("Rule: hierarchy: ",o[f-1]),w.setHierarchy(o[f-1]);break;case 8:w.getLogger().debug("Stop NL ");break;case 9:w.getLogger().debug("Stop EOF ");break;case 10:w.getLogger().debug("Stop NL2 ");break;case 11:w.getLogger().debug("Stop EOF2 ");break;case 12:w.getLogger().debug("Rule: statement: ",o[f]),typeof o[f].length=="number"?this.$=o[f]:this.$=[o[f]];break;case 13:w.getLogger().debug("Rule: statement #2: ",o[f-1]),this.$=[o[f-1]].concat(o[f]);break;case 14:w.getLogger().debug("Rule: link: ",o[f],b),this.$={edgeTypeStr:o[f],label:""};break;case 15:w.getLogger().debug("Rule: LABEL link: ",o[f-3],o[f-1],o[f]),this.$={edgeTypeStr:o[f],label:o[f-1]};break;case 18:const E=parseInt(o[f]),T=w.generateId();this.$={id:T,type:"space",label:"",width:E,children:[]};break;case 23:w.getLogger().debug("Rule: (nodeStatement link node) ",o[f-2],o[f-1],o[f]," typestr: ",o[f-1].edgeTypeStr);const z=w.edgeStrToEdgeData(o[f-1].edgeTypeStr),F=w.edgeStrToEdgeStartData(o[f-1].edgeTypeStr),q=w.edgeStrToThickness(o[f-1].edgeTypeStr),I=w.edgeStrToPattern(o[f-1].edgeTypeStr);this.$=[{id:o[f-2].id,label:o[f-2].label,type:o[f-2].type,directions:o[f-2].directions},{id:o[f-2].id+"-"+o[f].id,start:o[f-2].id,end:o[f].id,label:o[f-1].label,type:"edge",thickness:q,pattern:I,directions:o[f].directions,arrowTypeEnd:z,arrowTypeStart:F},{id:o[f].id,label:o[f].label,type:w.typeStr2Type(o[f].typeStr),directions:o[f].directions}];break;case 24:w.getLogger().debug("Rule: nodeStatement (abc88 node size) ",o[f-1],o[f]),this.$={id:o[f-1].id,label:o[f-1].label,type:w.typeStr2Type(o[f-1].typeStr),directions:o[f-1].directions,widthInColumns:parseInt(o[f],10)};break;case 25:w.getLogger().debug("Rule: nodeStatement (node) ",o[f]),this.$={id:o[f].id,label:o[f].label,type:w.typeStr2Type(o[f].typeStr),directions:o[f].directions,widthInColumns:1};break;case 26:w.getLogger().debug("APA123",this?this:"na"),w.getLogger().debug("COLUMNS: ",o[f]),this.$={type:"column-setting",columns:o[f]==="auto"?-1:parseInt(o[f])};break;case 27:w.getLogger().debug("Rule: id-block statement : ",o[f-2],o[f-1]),w.generateId(),this.$={...o[f-2],type:"composite",children:o[f-1]};break;case 28:w.getLogger().debug("Rule: blockStatement : ",o[f-2],o[f-1],o[f]);const K=w.generateId();this.$={id:K,type:"composite",label:"",children:o[f-1]};break;case 29:w.getLogger().debug("Rule: node (NODE_ID separator): ",o[f]),this.$={id:o[f]};break;case 30:w.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",o[f-1],o[f]),this.$={id:o[f-1],label:o[f].label,typeStr:o[f].typeStr,directions:o[f].directions};break;case 31:w.getLogger().debug("Rule: dirList: ",o[f]),this.$=[o[f]];break;case 32:w.getLogger().debug("Rule: dirList: ",o[f-1],o[f]),this.$=[o[f-1]].concat(o[f]);break;case 33:w.getLogger().debug("Rule: nodeShapeNLabel: ",o[f-2],o[f-1],o[f]),this.$={typeStr:o[f-2]+o[f],label:o[f-1]};break;case 34:w.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",o[f-3],o[f-2]," #3:",o[f-1],o[f]),this.$={typeStr:o[f-3]+o[f],label:o[f-2],directions:o[f-1]};break;case 35:case 36:this.$={type:"classDef",id:o[f-1].trim(),css:o[f].trim()};break;case 37:this.$={type:"applyClass",id:o[f-1].trim(),styleClass:o[f].trim()};break;case 38:this.$={type:"applyStyles",id:o[f-1].trim(),stylesStr:o[f].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:t,11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{8:[1,20]},e(g,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:t,21:a,28:s,29:i,31:c,39:r,43:n,46:l}),e(h,[2,16],{14:22,15:p,16:m}),e(h,[2,17]),e(h,[2,18]),e(h,[2,19]),e(h,[2,20]),e(h,[2,21]),e(h,[2,22]),e(x,[2,25],{27:[1,25]}),e(h,[2,26]),{19:26,26:12,31:c},{10:t,11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(S,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(g,[2,13]),{26:35,31:c},{31:[2,14]},{17:[1,36]},e(x,[2,24]),{10:t,11:37,13:4,14:22,15:p,16:m,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(S,[2,30]),{18:[1,43]},{18:[1,44]},e(x,[2,23]),{18:[1,45]},{30:[1,46]},e(h,[2,28]),e(h,[2,35]),e(h,[2,36]),e(h,[2,37]),e(h,[2,38]),{36:[1,47]},{33:48,34:_},{15:[1,50]},e(h,[2,27]),e(S,[2,33]),{38:[1,51]},{33:52,34:_,38:[2,31]},{31:[2,15]},e(S,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:u(function(b,d){if(d.recoverable)this.trace(b);else{var y=new Error(b);throw y.hash=d,y}},"parseError"),parse:u(function(b){var d=this,y=[0],w=[],D=[null],o=[],k=this.table,f="",E=0,T=0,z=2,F=1,q=o.slice.call(arguments,1),I=Object.create(this.lexer),K={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(K.yy[J]=this.yy[J]);I.setInput(b,K.yy),K.yy.lexer=I,K.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var et=I.yylloc;o.push(et);var ft=I.options&&I.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ue(U){y.length=y.length-2*U,D.length=D.length-U,o.length=o.length-U}u(ue,"popStack");function Bt(){var U;return U=w.pop()||I.lex()||F,typeof U!="number"&&(U instanceof Array&&(w=U,U=w.pop()),U=d.symbols_[U]||U),U}u(Bt,"lex");for(var H,$,V,pt,tt={},ct,Q,Ct,lt;;){if($=y[y.length-1],this.defaultActions[$]?V=this.defaultActions[$]:((H===null||typeof H>"u")&&(H=Bt()),V=k[$]&&k[$][H]),typeof V>"u"||!V.length||!V[0]){var yt="";lt=[];for(ct in k[$])this.terminals_[ct]&&ct>z&<.push("'"+this.terminals_[ct]+"'");I.showPosition?yt="Parse error on line "+(E+1)+`: +import{g as de}from"./chunk-5VM5RSS4-DdofPBLB.js";import{am as fe,a7 as Ut,an as pe,b5 as ye,b4 as xe,b7 as be,b6 as we,b1 as me,a$ as Se,aW as Le,aJ as ve,aB as Ee,aA as _e,au as ke,ai as Te,ah as De,aj as Ne,S as Ie,R as Be,K as Ce,m as Oe,I as Re,g as Ae,h as ze,e as Me,a as u,X as nt,B as Pe,at as v,s as Fe,aN as We,Y as M,a3 as Ye,aq as He,G as Ke,a9 as Ue,a1 as Y,F as Et,z as rt,a6 as Xe,ba as at,x as Ve,a5 as je,aO as Ot,M as Rt,A as Ge}from"./mermaid.core-DS1qXbzQ.js";import{ad as O}from"../../app/index-B0ly_D9Z.js";import{G as Ze}from"../../chunks/graph-Dqkl27Ch.js";import{c as qe}from"../../chunks/channel-oILNv8b8.js";function Je(e){return Array.isArray(e)}function Qe(e){if(fe(e))return e;const t=Ut(e);if(!$e(e))return{};if(Je(e)){const s=Array.from(e);return e.length>0&&typeof e[0]=="string"&&Object.hasOwn(e,"index")&&(s.index=e.index,s.input=e.input),s}if(pe(e)){const s=e,i=s.constructor;return new i(s.buffer,s.byteOffset,s.length)}if(t==="[object ArrayBuffer]")return new ArrayBuffer(e.byteLength);if(t==="[object DataView]"){const s=e,i=s.buffer,c=s.byteOffset,r=s.byteLength,n=new ArrayBuffer(r),l=new Uint8Array(i,c,r);return new Uint8Array(n).set(l),new DataView(n)}if(t==="[object Boolean]"||t==="[object Number]"||t==="[object String]"){const s=e.constructor,i=new s(e.valueOf());return t==="[object String]"?er(i,e):xt(i,e),i}if(t==="[object Date]")return new Date(Number(e));if(t==="[object RegExp]"){const s=e,i=new RegExp(s.source,s.flags);return i.lastIndex=s.lastIndex,i}if(t==="[object Symbol]")return Object(Symbol.prototype.valueOf.call(e));if(t==="[object Map]"){const s=e,i=new Map;return s.forEach((c,r)=>{i.set(r,c)}),i}if(t==="[object Set]"){const s=e,i=new Set;return s.forEach(c=>{i.add(c)}),i}if(t==="[object Arguments]"){const s=e,i={};return xt(i,s),i.length=s.length,i[Symbol.iterator]=s[Symbol.iterator],i}const a={};return rr(a,e),xt(a,e),tr(a,e),a}function $e(e){switch(Ut(e)){case Me:case ze:case Ae:case Re:case Oe:case Ce:case Be:case Ie:case Ne:case De:case Te:case ke:case _e:case Ee:case ve:case Le:case Se:case me:case we:case be:case xe:case ye:return!0;default:return!1}}function xt(e,t){for(const a in t)Object.hasOwn(t,a)&&(e[a]=t[a])}function tr(e,t){const a=Object.getOwnPropertySymbols(t);for(let s=0;s=a)&&(e[s]=t[s])}function rr(e,t){const a=Object.getPrototypeOf(t);a!==null&&typeof t.constructor=="function"&&Object.setPrototypeOf(e,a)}var wt=function(){var e=u(function(N,b,d,y){for(d=d||{},y=N.length;y--;d[N[y]]=b);return d},"o"),t=[1,15],a=[1,7],s=[1,13],i=[1,14],c=[1,19],r=[1,16],n=[1,17],l=[1,18],g=[8,30],h=[8,10,21,28,29,30,31,39,43,46],p=[1,23],m=[1,24],x=[8,10,15,16,21,28,29,30,31,39,43,46],S=[8,10,15,16,21,27,28,29,30,31,39,43,46],_=[1,49],L={trace:u(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:u(function(b,d,y,w,D,o,k){var f=o.length-1;switch(D){case 4:w.getLogger().debug("Rule: separator (NL) ");break;case 5:w.getLogger().debug("Rule: separator (Space) ");break;case 6:w.getLogger().debug("Rule: separator (EOF) ");break;case 7:w.getLogger().debug("Rule: hierarchy: ",o[f-1]),w.setHierarchy(o[f-1]);break;case 8:w.getLogger().debug("Stop NL ");break;case 9:w.getLogger().debug("Stop EOF ");break;case 10:w.getLogger().debug("Stop NL2 ");break;case 11:w.getLogger().debug("Stop EOF2 ");break;case 12:w.getLogger().debug("Rule: statement: ",o[f]),typeof o[f].length=="number"?this.$=o[f]:this.$=[o[f]];break;case 13:w.getLogger().debug("Rule: statement #2: ",o[f-1]),this.$=[o[f-1]].concat(o[f]);break;case 14:w.getLogger().debug("Rule: link: ",o[f],b),this.$={edgeTypeStr:o[f],label:""};break;case 15:w.getLogger().debug("Rule: LABEL link: ",o[f-3],o[f-1],o[f]),this.$={edgeTypeStr:o[f],label:o[f-1]};break;case 18:const E=parseInt(o[f]),T=w.generateId();this.$={id:T,type:"space",label:"",width:E,children:[]};break;case 23:w.getLogger().debug("Rule: (nodeStatement link node) ",o[f-2],o[f-1],o[f]," typestr: ",o[f-1].edgeTypeStr);const z=w.edgeStrToEdgeData(o[f-1].edgeTypeStr),F=w.edgeStrToEdgeStartData(o[f-1].edgeTypeStr),q=w.edgeStrToThickness(o[f-1].edgeTypeStr),I=w.edgeStrToPattern(o[f-1].edgeTypeStr);this.$=[{id:o[f-2].id,label:o[f-2].label,type:o[f-2].type,directions:o[f-2].directions},{id:o[f-2].id+"-"+o[f].id,start:o[f-2].id,end:o[f].id,label:o[f-1].label,type:"edge",thickness:q,pattern:I,directions:o[f].directions,arrowTypeEnd:z,arrowTypeStart:F},{id:o[f].id,label:o[f].label,type:w.typeStr2Type(o[f].typeStr),directions:o[f].directions}];break;case 24:w.getLogger().debug("Rule: nodeStatement (abc88 node size) ",o[f-1],o[f]),this.$={id:o[f-1].id,label:o[f-1].label,type:w.typeStr2Type(o[f-1].typeStr),directions:o[f-1].directions,widthInColumns:parseInt(o[f],10)};break;case 25:w.getLogger().debug("Rule: nodeStatement (node) ",o[f]),this.$={id:o[f].id,label:o[f].label,type:w.typeStr2Type(o[f].typeStr),directions:o[f].directions,widthInColumns:1};break;case 26:w.getLogger().debug("APA123",this?this:"na"),w.getLogger().debug("COLUMNS: ",o[f]),this.$={type:"column-setting",columns:o[f]==="auto"?-1:parseInt(o[f])};break;case 27:w.getLogger().debug("Rule: id-block statement : ",o[f-2],o[f-1]),w.generateId(),this.$={...o[f-2],type:"composite",children:o[f-1]};break;case 28:w.getLogger().debug("Rule: blockStatement : ",o[f-2],o[f-1],o[f]);const K=w.generateId();this.$={id:K,type:"composite",label:"",children:o[f-1]};break;case 29:w.getLogger().debug("Rule: node (NODE_ID separator): ",o[f]),this.$={id:o[f]};break;case 30:w.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",o[f-1],o[f]),this.$={id:o[f-1],label:o[f].label,typeStr:o[f].typeStr,directions:o[f].directions};break;case 31:w.getLogger().debug("Rule: dirList: ",o[f]),this.$=[o[f]];break;case 32:w.getLogger().debug("Rule: dirList: ",o[f-1],o[f]),this.$=[o[f-1]].concat(o[f]);break;case 33:w.getLogger().debug("Rule: nodeShapeNLabel: ",o[f-2],o[f-1],o[f]),this.$={typeStr:o[f-2]+o[f],label:o[f-1]};break;case 34:w.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",o[f-3],o[f-2]," #3:",o[f-1],o[f]),this.$={typeStr:o[f-3]+o[f],label:o[f-2],directions:o[f-1]};break;case 35:case 36:this.$={type:"classDef",id:o[f-1].trim(),css:o[f].trim()};break;case 37:this.$={type:"applyClass",id:o[f-1].trim(),styleClass:o[f].trim()};break;case 38:this.$={type:"applyStyles",id:o[f-1].trim(),stylesStr:o[f].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:t,11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{8:[1,20]},e(g,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:t,21:a,28:s,29:i,31:c,39:r,43:n,46:l}),e(h,[2,16],{14:22,15:p,16:m}),e(h,[2,17]),e(h,[2,18]),e(h,[2,19]),e(h,[2,20]),e(h,[2,21]),e(h,[2,22]),e(x,[2,25],{27:[1,25]}),e(h,[2,26]),{19:26,26:12,31:c},{10:t,11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(S,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(g,[2,13]),{26:35,31:c},{31:[2,14]},{17:[1,36]},e(x,[2,24]),{10:t,11:37,13:4,14:22,15:p,16:m,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(S,[2,30]),{18:[1,43]},{18:[1,44]},e(x,[2,23]),{18:[1,45]},{30:[1,46]},e(h,[2,28]),e(h,[2,35]),e(h,[2,36]),e(h,[2,37]),e(h,[2,38]),{36:[1,47]},{33:48,34:_},{15:[1,50]},e(h,[2,27]),e(S,[2,33]),{38:[1,51]},{33:52,34:_,38:[2,31]},{31:[2,15]},e(S,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:u(function(b,d){if(d.recoverable)this.trace(b);else{var y=new Error(b);throw y.hash=d,y}},"parseError"),parse:u(function(b){var d=this,y=[0],w=[],D=[null],o=[],k=this.table,f="",E=0,T=0,z=2,F=1,q=o.slice.call(arguments,1),I=Object.create(this.lexer),K={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(K.yy[J]=this.yy[J]);I.setInput(b,K.yy),K.yy.lexer=I,K.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var et=I.yylloc;o.push(et);var ft=I.options&&I.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ue(U){y.length=y.length-2*U,D.length=D.length-U,o.length=o.length-U}u(ue,"popStack");function Bt(){var U;return U=w.pop()||I.lex()||F,typeof U!="number"&&(U instanceof Array&&(w=U,U=w.pop()),U=d.symbols_[U]||U),U}u(Bt,"lex");for(var H,$,V,pt,tt={},ct,Q,Ct,lt;;){if($=y[y.length-1],this.defaultActions[$]?V=this.defaultActions[$]:((H===null||typeof H>"u")&&(H=Bt()),V=k[$]&&k[$][H]),typeof V>"u"||!V.length||!V[0]){var yt="";lt=[];for(ct in k[$])this.terminals_[ct]&&ct>z&<.push("'"+this.terminals_[ct]+"'");I.showPosition?yt="Parse error on line "+(E+1)+`: `+I.showPosition()+` Expecting `+lt.join(", ")+", got '"+(this.terminals_[H]||H)+"'":yt="Parse error on line "+(E+1)+": Unexpected "+(H==F?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(yt,{text:I.match,token:this.terminals_[H]||H,line:I.yylineno,loc:et,expected:lt})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+H);switch(V[0]){case 1:y.push(H),D.push(I.yytext),o.push(I.yylloc),y.push(V[1]),H=null,T=I.yyleng,f=I.yytext,E=I.yylineno,et=I.yylloc;break;case 2:if(Q=this.productions_[V[1]][1],tt.$=D[D.length-Q],tt._$={first_line:o[o.length-(Q||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(Q||1)].first_column,last_column:o[o.length-1].last_column},ft&&(tt._$.range=[o[o.length-(Q||1)].range[0],o[o.length-1].range[1]]),pt=this.performAction.apply(tt,[f,T,E,K.yy,V[1],D,o].concat(q)),typeof pt<"u")return pt;Q&&(y=y.slice(0,-1*Q*2),D=D.slice(0,-1*Q),o=o.slice(0,-1*Q)),y.push(this.productions_[V[1]][0]),D.push(tt.$),o.push(tt._$),Ct=k[y[y.length-2]][y[y.length-1]],y.push(Ct);break;case 3:return!0}}return!0},"parse")},B=function(){var N={EOF:1,parseError:u(function(d,y){if(this.yy.parser)this.yy.parser.parseError(d,y);else throw new Error(d)},"parseError"),setInput:u(function(b,d){return this.yy=d||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:u(function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var d=b.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},"input"),unput:u(function(b){var d=b.length,y=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var w=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var D=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===w.length?this.yylloc.first_column:0)+w[w.length-y.length].length-y[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[D[0],D[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:u(function(){return this._more=!0,this},"more"),reject:u(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:u(function(b){this.unput(this.match.slice(b))},"less"),pastInput:u(function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:u(function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:u(function(){var b=this.pastInput(),d=new Array(b.length+1).join("-");return b+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/c4Diagram-5PPSVZJV-mByelyM0.js b/veadk/webui/assets/visualizations/mermaid/c4Diagram-5PPSVZJV-DxESR6J4.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/c4Diagram-5PPSVZJV-mByelyM0.js rename to veadk/webui/assets/visualizations/mermaid/c4Diagram-5PPSVZJV-DxESR6J4.js index 9feea8d1d..bee77805d 100644 --- a/veadk/webui/assets/visualizations/mermaid/c4Diagram-5PPSVZJV-mByelyM0.js +++ b/veadk/webui/assets/visualizations/mermaid/c4Diagram-5PPSVZJV-DxESR6J4.js @@ -1,4 +1,4 @@ -import{g as Se,e as De}from"./chunk-2GRJ4B5K-BMhlpUDn.js";import{aR as Pe,V as Be,W as Ie,aS as Me,a as y,Y as Bt,at as de,B as Le,j as Ne,q as Tt,aO as ge,aP as Ye,bc as je,x as $t,p as fe}from"./mermaid.core-CA8ypPul.js";import{ad as jt}from"../../app/index-BSfA7-Qp.js";var Ft=function(){var a=y(function(_t,x,v,E){for(v=v||{},E=_t.length;E--;v[_t[E]]=x);return v},"o"),t=[1,24],s=[1,25],o=[1,26],r=[1,27],l=[1,28],e=[1,63],n=[1,64],i=[1,65],u=[1,66],d=[1,67],f=[1,68],g=[1,69],m=[1,29],O=[1,30],S=[1,31],P=[1,32],M=[1,33],U=[1,34],H=[1,35],q=[1,36],G=[1,37],K=[1,38],J=[1,39],Z=[1,40],$=[1,41],tt=[1,42],et=[1,43],at=[1,44],it=[1,45],nt=[1,46],st=[1,47],rt=[1,48],lt=[1,50],ot=[1,51],ct=[1,52],ht=[1,53],ut=[1,54],dt=[1,55],ft=[1,56],pt=[1,57],yt=[1,58],gt=[1,59],bt=[1,60],Ct=[14,42],Qt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],St=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],A=[1,82],k=[1,83],C=[1,84],w=[1,85],T=[12,14,42],le=[12,14,33,42],Mt=[12,14,33,42,76,77,79,80],vt=[12,33],Ht=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:y(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:y(function(x,v,E,b,R,h,Dt){var p=h.length-1;switch(R){case 3:b.setDirection("TB");break;case 4:b.setDirection("BT");break;case 5:b.setDirection("RL");break;case 6:b.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:b.setC4Type(h[p-3]);break;case 19:b.setTitle(h[p].substring(6)),this.$=h[p].substring(6);break;case 20:b.setAccDescription(h[p].substring(15)),this.$=h[p].substring(15);break;case 21:this.$=h[p].trim(),b.setTitle(this.$);break;case 22:case 23:this.$=h[p].trim(),b.setAccDescription(this.$);break;case 28:h[p].splice(2,0,"ENTERPRISE"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 29:h[p].splice(2,0,"SYSTEM"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 30:b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 31:h[p].splice(2,0,"CONTAINER"),b.addContainerBoundary(...h[p]),this.$=h[p];break;case 32:b.addDeploymentNode("node",...h[p]),this.$=h[p];break;case 33:b.addDeploymentNode("nodeL",...h[p]),this.$=h[p];break;case 34:b.addDeploymentNode("nodeR",...h[p]),this.$=h[p];break;case 35:b.popBoundaryParseStack();break;case 39:b.addPersonOrSystem("person",...h[p]),this.$=h[p];break;case 40:b.addPersonOrSystem("external_person",...h[p]),this.$=h[p];break;case 41:b.addPersonOrSystem("system",...h[p]),this.$=h[p];break;case 42:b.addPersonOrSystem("system_db",...h[p]),this.$=h[p];break;case 43:b.addPersonOrSystem("system_queue",...h[p]),this.$=h[p];break;case 44:b.addPersonOrSystem("external_system",...h[p]),this.$=h[p];break;case 45:b.addPersonOrSystem("external_system_db",...h[p]),this.$=h[p];break;case 46:b.addPersonOrSystem("external_system_queue",...h[p]),this.$=h[p];break;case 47:b.addContainer("container",...h[p]),this.$=h[p];break;case 48:b.addContainer("container_db",...h[p]),this.$=h[p];break;case 49:b.addContainer("container_queue",...h[p]),this.$=h[p];break;case 50:b.addContainer("external_container",...h[p]),this.$=h[p];break;case 51:b.addContainer("external_container_db",...h[p]),this.$=h[p];break;case 52:b.addContainer("external_container_queue",...h[p]),this.$=h[p];break;case 53:b.addComponent("component",...h[p]),this.$=h[p];break;case 54:b.addComponent("component_db",...h[p]),this.$=h[p];break;case 55:b.addComponent("component_queue",...h[p]),this.$=h[p];break;case 56:b.addComponent("external_component",...h[p]),this.$=h[p];break;case 57:b.addComponent("external_component_db",...h[p]),this.$=h[p];break;case 58:b.addComponent("external_component_queue",...h[p]),this.$=h[p];break;case 60:b.addRel("rel",...h[p]),this.$=h[p];break;case 61:b.addRel("birel",...h[p]),this.$=h[p];break;case 62:b.addRel("rel_u",...h[p]),this.$=h[p];break;case 63:b.addRel("rel_d",...h[p]),this.$=h[p];break;case 64:b.addRel("rel_l",...h[p]),this.$=h[p];break;case 65:b.addRel("rel_r",...h[p]),this.$=h[p];break;case 66:b.addRel("rel_b",...h[p]),this.$=h[p];break;case 67:h[p].splice(0,1),b.addRel("rel",...h[p]),this.$=h[p];break;case 68:b.updateElStyle("update_el_style",...h[p]),this.$=h[p];break;case 69:b.updateRelStyle("update_rel_style",...h[p]),this.$=h[p];break;case 70:b.updateLayoutConfig("update_layout_config",...h[p]),this.$=h[p];break;case 71:this.$=[h[p]];break;case 72:h[p].unshift(h[p-1]),this.$=h[p];break;case 73:case 75:this.$=h[p].trim();break;case 74:let Et={};Et[h[p-1].trim()]=h[p].trim(),this.$=Et;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:70,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:71,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:72,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:73,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{14:[1,74]},a(Ct,[2,13],{43:23,29:49,30:61,32:62,20:75,34:e,36:n,37:i,38:u,39:d,40:f,41:g,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),a(Ct,[2,14]),a(Qt,[2,16],{12:[1,76]}),a(Ct,[2,36],{12:[1,77]}),a(St,[2,19]),a(St,[2,20]),{25:[1,78]},{27:[1,79]},a(St,[2,23]),{35:80,75:81,76:A,77:k,79:C,80:w},{35:86,75:81,76:A,77:k,79:C,80:w},{35:87,75:81,76:A,77:k,79:C,80:w},{35:88,75:81,76:A,77:k,79:C,80:w},{35:89,75:81,76:A,77:k,79:C,80:w},{35:90,75:81,76:A,77:k,79:C,80:w},{35:91,75:81,76:A,77:k,79:C,80:w},{35:92,75:81,76:A,77:k,79:C,80:w},{35:93,75:81,76:A,77:k,79:C,80:w},{35:94,75:81,76:A,77:k,79:C,80:w},{35:95,75:81,76:A,77:k,79:C,80:w},{35:96,75:81,76:A,77:k,79:C,80:w},{35:97,75:81,76:A,77:k,79:C,80:w},{35:98,75:81,76:A,77:k,79:C,80:w},{35:99,75:81,76:A,77:k,79:C,80:w},{35:100,75:81,76:A,77:k,79:C,80:w},{35:101,75:81,76:A,77:k,79:C,80:w},{35:102,75:81,76:A,77:k,79:C,80:w},{35:103,75:81,76:A,77:k,79:C,80:w},{35:104,75:81,76:A,77:k,79:C,80:w},a(T,[2,59]),{35:105,75:81,76:A,77:k,79:C,80:w},{35:106,75:81,76:A,77:k,79:C,80:w},{35:107,75:81,76:A,77:k,79:C,80:w},{35:108,75:81,76:A,77:k,79:C,80:w},{35:109,75:81,76:A,77:k,79:C,80:w},{35:110,75:81,76:A,77:k,79:C,80:w},{35:111,75:81,76:A,77:k,79:C,80:w},{35:112,75:81,76:A,77:k,79:C,80:w},{35:113,75:81,76:A,77:k,79:C,80:w},{35:114,75:81,76:A,77:k,79:C,80:w},{35:115,75:81,76:A,77:k,79:C,80:w},{20:116,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{12:[1,118],33:[1,117]},{35:119,75:81,76:A,77:k,79:C,80:w},{35:120,75:81,76:A,77:k,79:C,80:w},{35:121,75:81,76:A,77:k,79:C,80:w},{35:122,75:81,76:A,77:k,79:C,80:w},{35:123,75:81,76:A,77:k,79:C,80:w},{35:124,75:81,76:A,77:k,79:C,80:w},{35:125,75:81,76:A,77:k,79:C,80:w},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},a(Ct,[2,15]),a(Qt,[2,17],{21:22,19:130,22:t,23:s,24:o,26:r,28:l}),a(Ct,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:s,24:o,26:r,28:l,34:e,36:n,37:i,38:u,39:d,40:f,41:g,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),a(St,[2,21]),a(St,[2,22]),a(T,[2,39]),a(le,[2,71],{75:81,35:132,76:A,77:k,79:C,80:w}),a(Mt,[2,73]),{78:[1,133]},a(Mt,[2,75]),a(Mt,[2,76]),a(T,[2,40]),a(T,[2,41]),a(T,[2,42]),a(T,[2,43]),a(T,[2,44]),a(T,[2,45]),a(T,[2,46]),a(T,[2,47]),a(T,[2,48]),a(T,[2,49]),a(T,[2,50]),a(T,[2,51]),a(T,[2,52]),a(T,[2,53]),a(T,[2,54]),a(T,[2,55]),a(T,[2,56]),a(T,[2,57]),a(T,[2,58]),a(T,[2,60]),a(T,[2,61]),a(T,[2,62]),a(T,[2,63]),a(T,[2,64]),a(T,[2,65]),a(T,[2,66]),a(T,[2,67]),a(T,[2,68]),a(T,[2,69]),a(T,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},a(vt,[2,28]),a(vt,[2,29]),a(vt,[2,30]),a(vt,[2,31]),a(vt,[2,32]),a(vt,[2,33]),a(vt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},a(Qt,[2,18]),a(Ct,[2,38]),a(le,[2,72]),a(Mt,[2,74]),a(T,[2,24]),a(T,[2,35]),a(Ht,[2,25]),a(Ht,[2,26],{12:[1,138]}),a(Ht,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:y(function(x,v){if(v.recoverable)this.trace(x);else{var E=new Error(x);throw E.hash=v,E}},"parseError"),parse:y(function(x){var v=this,E=[0],b=[],R=[null],h=[],Dt=this.table,p="",Et=0,oe=0,we=2,ce=1,Te=h.slice.call(arguments,1),D=Object.create(this.lexer),At={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(At.yy[Gt]=this.yy[Gt]);D.setInput(x,At.yy),At.yy.lexer=D,At.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Kt=D.yylloc;h.push(Kt);var Oe=D.options&&D.options.ranges;typeof At.yy.parseError=="function"?this.parseError=At.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(L){E.length=E.length-2*L,R.length=R.length-L,h.length=h.length-L}y(Re,"popStack");function he(){var L;return L=b.pop()||D.lex()||ce,typeof L!="number"&&(L instanceof Array&&(b=L,L=b.pop()),L=v.symbols_[L]||L),L}y(he,"lex");for(var I,kt,N,Jt,wt={},Nt,X,ue,Yt;;){if(kt=E[E.length-1],this.defaultActions[kt]?N=this.defaultActions[kt]:((I===null||typeof I>"u")&&(I=he()),N=Dt[kt]&&Dt[kt][I]),typeof N>"u"||!N.length||!N[0]){var Zt="";Yt=[];for(Nt in Dt[kt])this.terminals_[Nt]&&Nt>we&&Yt.push("'"+this.terminals_[Nt]+"'");D.showPosition?Zt="Parse error on line "+(Et+1)+`: +import{g as Se,e as De}from"./chunk-2GRJ4B5K-DFfNskzn.js";import{aR as Pe,V as Be,W as Ie,aS as Me,a as y,Y as Bt,at as de,B as Le,j as Ne,q as Tt,aO as ge,aP as Ye,bc as je,x as $t,p as fe}from"./mermaid.core-DS1qXbzQ.js";import{ad as jt}from"../../app/index-B0ly_D9Z.js";var Ft=function(){var a=y(function(_t,x,v,E){for(v=v||{},E=_t.length;E--;v[_t[E]]=x);return v},"o"),t=[1,24],s=[1,25],o=[1,26],r=[1,27],l=[1,28],e=[1,63],n=[1,64],i=[1,65],u=[1,66],d=[1,67],f=[1,68],g=[1,69],m=[1,29],O=[1,30],S=[1,31],P=[1,32],M=[1,33],U=[1,34],H=[1,35],q=[1,36],G=[1,37],K=[1,38],J=[1,39],Z=[1,40],$=[1,41],tt=[1,42],et=[1,43],at=[1,44],it=[1,45],nt=[1,46],st=[1,47],rt=[1,48],lt=[1,50],ot=[1,51],ct=[1,52],ht=[1,53],ut=[1,54],dt=[1,55],ft=[1,56],pt=[1,57],yt=[1,58],gt=[1,59],bt=[1,60],Ct=[14,42],Qt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],St=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],A=[1,82],k=[1,83],C=[1,84],w=[1,85],T=[12,14,42],le=[12,14,33,42],Mt=[12,14,33,42,76,77,79,80],vt=[12,33],Ht=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:y(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:y(function(x,v,E,b,R,h,Dt){var p=h.length-1;switch(R){case 3:b.setDirection("TB");break;case 4:b.setDirection("BT");break;case 5:b.setDirection("RL");break;case 6:b.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:b.setC4Type(h[p-3]);break;case 19:b.setTitle(h[p].substring(6)),this.$=h[p].substring(6);break;case 20:b.setAccDescription(h[p].substring(15)),this.$=h[p].substring(15);break;case 21:this.$=h[p].trim(),b.setTitle(this.$);break;case 22:case 23:this.$=h[p].trim(),b.setAccDescription(this.$);break;case 28:h[p].splice(2,0,"ENTERPRISE"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 29:h[p].splice(2,0,"SYSTEM"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 30:b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 31:h[p].splice(2,0,"CONTAINER"),b.addContainerBoundary(...h[p]),this.$=h[p];break;case 32:b.addDeploymentNode("node",...h[p]),this.$=h[p];break;case 33:b.addDeploymentNode("nodeL",...h[p]),this.$=h[p];break;case 34:b.addDeploymentNode("nodeR",...h[p]),this.$=h[p];break;case 35:b.popBoundaryParseStack();break;case 39:b.addPersonOrSystem("person",...h[p]),this.$=h[p];break;case 40:b.addPersonOrSystem("external_person",...h[p]),this.$=h[p];break;case 41:b.addPersonOrSystem("system",...h[p]),this.$=h[p];break;case 42:b.addPersonOrSystem("system_db",...h[p]),this.$=h[p];break;case 43:b.addPersonOrSystem("system_queue",...h[p]),this.$=h[p];break;case 44:b.addPersonOrSystem("external_system",...h[p]),this.$=h[p];break;case 45:b.addPersonOrSystem("external_system_db",...h[p]),this.$=h[p];break;case 46:b.addPersonOrSystem("external_system_queue",...h[p]),this.$=h[p];break;case 47:b.addContainer("container",...h[p]),this.$=h[p];break;case 48:b.addContainer("container_db",...h[p]),this.$=h[p];break;case 49:b.addContainer("container_queue",...h[p]),this.$=h[p];break;case 50:b.addContainer("external_container",...h[p]),this.$=h[p];break;case 51:b.addContainer("external_container_db",...h[p]),this.$=h[p];break;case 52:b.addContainer("external_container_queue",...h[p]),this.$=h[p];break;case 53:b.addComponent("component",...h[p]),this.$=h[p];break;case 54:b.addComponent("component_db",...h[p]),this.$=h[p];break;case 55:b.addComponent("component_queue",...h[p]),this.$=h[p];break;case 56:b.addComponent("external_component",...h[p]),this.$=h[p];break;case 57:b.addComponent("external_component_db",...h[p]),this.$=h[p];break;case 58:b.addComponent("external_component_queue",...h[p]),this.$=h[p];break;case 60:b.addRel("rel",...h[p]),this.$=h[p];break;case 61:b.addRel("birel",...h[p]),this.$=h[p];break;case 62:b.addRel("rel_u",...h[p]),this.$=h[p];break;case 63:b.addRel("rel_d",...h[p]),this.$=h[p];break;case 64:b.addRel("rel_l",...h[p]),this.$=h[p];break;case 65:b.addRel("rel_r",...h[p]),this.$=h[p];break;case 66:b.addRel("rel_b",...h[p]),this.$=h[p];break;case 67:h[p].splice(0,1),b.addRel("rel",...h[p]),this.$=h[p];break;case 68:b.updateElStyle("update_el_style",...h[p]),this.$=h[p];break;case 69:b.updateRelStyle("update_rel_style",...h[p]),this.$=h[p];break;case 70:b.updateLayoutConfig("update_layout_config",...h[p]),this.$=h[p];break;case 71:this.$=[h[p]];break;case 72:h[p].unshift(h[p-1]),this.$=h[p];break;case 73:case 75:this.$=h[p].trim();break;case 74:let Et={};Et[h[p-1].trim()]=h[p].trim(),this.$=Et;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:70,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:71,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:72,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:73,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{14:[1,74]},a(Ct,[2,13],{43:23,29:49,30:61,32:62,20:75,34:e,36:n,37:i,38:u,39:d,40:f,41:g,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),a(Ct,[2,14]),a(Qt,[2,16],{12:[1,76]}),a(Ct,[2,36],{12:[1,77]}),a(St,[2,19]),a(St,[2,20]),{25:[1,78]},{27:[1,79]},a(St,[2,23]),{35:80,75:81,76:A,77:k,79:C,80:w},{35:86,75:81,76:A,77:k,79:C,80:w},{35:87,75:81,76:A,77:k,79:C,80:w},{35:88,75:81,76:A,77:k,79:C,80:w},{35:89,75:81,76:A,77:k,79:C,80:w},{35:90,75:81,76:A,77:k,79:C,80:w},{35:91,75:81,76:A,77:k,79:C,80:w},{35:92,75:81,76:A,77:k,79:C,80:w},{35:93,75:81,76:A,77:k,79:C,80:w},{35:94,75:81,76:A,77:k,79:C,80:w},{35:95,75:81,76:A,77:k,79:C,80:w},{35:96,75:81,76:A,77:k,79:C,80:w},{35:97,75:81,76:A,77:k,79:C,80:w},{35:98,75:81,76:A,77:k,79:C,80:w},{35:99,75:81,76:A,77:k,79:C,80:w},{35:100,75:81,76:A,77:k,79:C,80:w},{35:101,75:81,76:A,77:k,79:C,80:w},{35:102,75:81,76:A,77:k,79:C,80:w},{35:103,75:81,76:A,77:k,79:C,80:w},{35:104,75:81,76:A,77:k,79:C,80:w},a(T,[2,59]),{35:105,75:81,76:A,77:k,79:C,80:w},{35:106,75:81,76:A,77:k,79:C,80:w},{35:107,75:81,76:A,77:k,79:C,80:w},{35:108,75:81,76:A,77:k,79:C,80:w},{35:109,75:81,76:A,77:k,79:C,80:w},{35:110,75:81,76:A,77:k,79:C,80:w},{35:111,75:81,76:A,77:k,79:C,80:w},{35:112,75:81,76:A,77:k,79:C,80:w},{35:113,75:81,76:A,77:k,79:C,80:w},{35:114,75:81,76:A,77:k,79:C,80:w},{35:115,75:81,76:A,77:k,79:C,80:w},{20:116,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{12:[1,118],33:[1,117]},{35:119,75:81,76:A,77:k,79:C,80:w},{35:120,75:81,76:A,77:k,79:C,80:w},{35:121,75:81,76:A,77:k,79:C,80:w},{35:122,75:81,76:A,77:k,79:C,80:w},{35:123,75:81,76:A,77:k,79:C,80:w},{35:124,75:81,76:A,77:k,79:C,80:w},{35:125,75:81,76:A,77:k,79:C,80:w},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},a(Ct,[2,15]),a(Qt,[2,17],{21:22,19:130,22:t,23:s,24:o,26:r,28:l}),a(Ct,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:s,24:o,26:r,28:l,34:e,36:n,37:i,38:u,39:d,40:f,41:g,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),a(St,[2,21]),a(St,[2,22]),a(T,[2,39]),a(le,[2,71],{75:81,35:132,76:A,77:k,79:C,80:w}),a(Mt,[2,73]),{78:[1,133]},a(Mt,[2,75]),a(Mt,[2,76]),a(T,[2,40]),a(T,[2,41]),a(T,[2,42]),a(T,[2,43]),a(T,[2,44]),a(T,[2,45]),a(T,[2,46]),a(T,[2,47]),a(T,[2,48]),a(T,[2,49]),a(T,[2,50]),a(T,[2,51]),a(T,[2,52]),a(T,[2,53]),a(T,[2,54]),a(T,[2,55]),a(T,[2,56]),a(T,[2,57]),a(T,[2,58]),a(T,[2,60]),a(T,[2,61]),a(T,[2,62]),a(T,[2,63]),a(T,[2,64]),a(T,[2,65]),a(T,[2,66]),a(T,[2,67]),a(T,[2,68]),a(T,[2,69]),a(T,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},a(vt,[2,28]),a(vt,[2,29]),a(vt,[2,30]),a(vt,[2,31]),a(vt,[2,32]),a(vt,[2,33]),a(vt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},a(Qt,[2,18]),a(Ct,[2,38]),a(le,[2,72]),a(Mt,[2,74]),a(T,[2,24]),a(T,[2,35]),a(Ht,[2,25]),a(Ht,[2,26],{12:[1,138]}),a(Ht,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:y(function(x,v){if(v.recoverable)this.trace(x);else{var E=new Error(x);throw E.hash=v,E}},"parseError"),parse:y(function(x){var v=this,E=[0],b=[],R=[null],h=[],Dt=this.table,p="",Et=0,oe=0,we=2,ce=1,Te=h.slice.call(arguments,1),D=Object.create(this.lexer),At={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(At.yy[Gt]=this.yy[Gt]);D.setInput(x,At.yy),At.yy.lexer=D,At.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Kt=D.yylloc;h.push(Kt);var Oe=D.options&&D.options.ranges;typeof At.yy.parseError=="function"?this.parseError=At.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(L){E.length=E.length-2*L,R.length=R.length-L,h.length=h.length-L}y(Re,"popStack");function he(){var L;return L=b.pop()||D.lex()||ce,typeof L!="number"&&(L instanceof Array&&(b=L,L=b.pop()),L=v.symbols_[L]||L),L}y(he,"lex");for(var I,kt,N,Jt,wt={},Nt,X,ue,Yt;;){if(kt=E[E.length-1],this.defaultActions[kt]?N=this.defaultActions[kt]:((I===null||typeof I>"u")&&(I=he()),N=Dt[kt]&&Dt[kt][I]),typeof N>"u"||!N.length||!N[0]){var Zt="";Yt=[];for(Nt in Dt[kt])this.terminals_[Nt]&&Nt>we&&Yt.push("'"+this.terminals_[Nt]+"'");D.showPosition?Zt="Parse error on line "+(Et+1)+`: `+D.showPosition()+` Expecting `+Yt.join(", ")+", got '"+(this.terminals_[I]||I)+"'":Zt="Parse error on line "+(Et+1)+": Unexpected "+(I==ce?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(Zt,{text:D.match,token:this.terminals_[I]||I,line:D.yylineno,loc:Kt,expected:Yt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+kt+", token: "+I);switch(N[0]){case 1:E.push(I),R.push(D.yytext),h.push(D.yylloc),E.push(N[1]),I=null,oe=D.yyleng,p=D.yytext,Et=D.yylineno,Kt=D.yylloc;break;case 2:if(X=this.productions_[N[1]][1],wt.$=R[R.length-X],wt._$={first_line:h[h.length-(X||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(X||1)].first_column,last_column:h[h.length-1].last_column},Oe&&(wt._$.range=[h[h.length-(X||1)].range[0],h[h.length-1].range[1]]),Jt=this.performAction.apply(wt,[p,oe,Et,At.yy,N[1],R,h].concat(Te)),typeof Jt<"u")return Jt;X&&(E=E.slice(0,-1*X*2),R=R.slice(0,-1*X),h=h.slice(0,-1*X)),E.push(this.productions_[N[1]][0]),R.push(wt.$),h.push(wt._$),ue=Dt[E[E.length-2]][E[E.length-1]],E.push(ue);break;case 3:return!0}}return!0},"parse")},Ce=function(){var _t={EOF:1,parseError:y(function(v,E){if(this.yy.parser)this.yy.parser.parseError(v,E);else throw new Error(v)},"parseError"),setInput:y(function(x,v){return this.yy=v||this.yy||{},this._input=x,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:y(function(){var x=this._input[0];this.yytext+=x,this.yyleng++,this.offset++,this.match+=x,this.matched+=x;var v=x.match(/(?:\r\n?|\n).*/g);return v?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),x},"input"),unput:y(function(x){var v=x.length,E=x.split(/(?:\r\n?|\n)/g);this._input=x+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-v),this.offset-=v;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===b.length?this.yylloc.first_column:0)+b[b.length-E.length].length-E[0].length:this.yylloc.first_column-v},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-v]),this.yyleng=this.yytext.length,this},"unput"),more:y(function(){return this._more=!0,this},"more"),reject:y(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:y(function(x){this.unput(this.match.slice(x))},"less"),pastInput:y(function(){var x=this.matched.substr(0,this.matched.length-this.match.length);return(x.length>20?"...":"")+x.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:y(function(){var x=this.match;return x.length<20&&(x+=this._input.substr(0,20-x.length)),(x.substr(0,20)+(x.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:y(function(){var x=this.pastInput(),v=new Array(x.length+1).join("-");return x+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-2GRJ4B5K-BMhlpUDn.js b/veadk/webui/assets/visualizations/mermaid/chunk-2GRJ4B5K-DFfNskzn.js similarity index 93% rename from veadk/webui/assets/visualizations/mermaid/chunk-2GRJ4B5K-BMhlpUDn.js rename to veadk/webui/assets/visualizations/mermaid/chunk-2GRJ4B5K-DFfNskzn.js index 93c10e2ce..506cca533 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-2GRJ4B5K-BMhlpUDn.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-2GRJ4B5K-DFfNskzn.js @@ -1 +1 @@ -import{a as i,ar as d,aP as o}from"./mermaid.core-CA8ypPul.js";import{ad as l}from"../../app/index-BSfA7-Qp.js";var x=i((r,t)=>{const e=r.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(const a in t.attrs)e.attr(a,t.attrs[a]);return t.class&&e.attr("class",t.class),e},"drawRect"),y=i((r,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};x(r,e).lower()},"drawBackgroundRect"),m=i((r,t)=>{const e=t.text.replace(d," "),a=r.append("text");a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class&&a.attr("class",t.class);const s=a.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),a},"drawText"),g=i((r,t,e,a)=>{const s=r.append("image");s.attr("x",t),s.attr("y",e);const n=o(a);s.attr("xlink:href",n)},"drawImage"),f=i((r,t,e,a)=>{const s=r.append("use");s.attr("x",t),s.attr("y",e);const n=o(a);s.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),h=i(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),w=i(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),k=i(()=>{let r=l(".mermaidTooltip");return r.empty()&&(r=l("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),r},"createTooltip");export{f as a,g as b,k as c,y as d,x as e,m as f,h as g,w as h}; +import{a as i,ar as d,aP as o}from"./mermaid.core-DS1qXbzQ.js";import{ad as l}from"../../app/index-B0ly_D9Z.js";var x=i((r,t)=>{const e=r.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(const a in t.attrs)e.attr(a,t.attrs[a]);return t.class&&e.attr("class",t.class),e},"drawRect"),y=i((r,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};x(r,e).lower()},"drawBackgroundRect"),m=i((r,t)=>{const e=t.text.replace(d," "),a=r.append("text");a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class&&a.attr("class",t.class);const s=a.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),a},"drawText"),g=i((r,t,e,a)=>{const s=r.append("image");s.attr("x",t),s.attr("y",e);const n=o(a);s.attr("xlink:href",n)},"drawImage"),f=i((r,t,e,a)=>{const s=r.append("use");s.attr("x",t),s.attr("y",e);const n=o(a);s.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),h=i(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),w=i(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),k=i(()=>{let r=l(".mermaidTooltip");return r.empty()&&(r=l("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),r},"createTooltip");export{f as a,g as b,k as c,y as d,x as e,m as f,h as g,w as h}; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-2Q5K7J3B-DQ_g_FOP.js b/veadk/webui/assets/visualizations/mermaid/chunk-2Q5K7J3B-CrYepzYZ.js similarity index 66% rename from veadk/webui/assets/visualizations/mermaid/chunk-2Q5K7J3B-DQ_g_FOP.js rename to veadk/webui/assets/visualizations/mermaid/chunk-2Q5K7J3B-CrYepzYZ.js index eb3a291e6..3820f6597 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-2Q5K7J3B-DQ_g_FOP.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-2Q5K7J3B-CrYepzYZ.js @@ -1 +1 @@ -import{a as s}from"./mermaid.core-CA8ypPul.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as I}; +import{a as s}from"./mermaid.core-DS1qXbzQ.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as I}; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-5RXB4S5H-DbJC5G9d.js b/veadk/webui/assets/visualizations/mermaid/chunk-5RXB4S5H-Dm_B4Eqw.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/chunk-5RXB4S5H-DbJC5G9d.js rename to veadk/webui/assets/visualizations/mermaid/chunk-5RXB4S5H-Dm_B4Eqw.js index b2a976e64..80ed271c1 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-5RXB4S5H-DbJC5G9d.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-5RXB4S5H-Dm_B4Eqw.js @@ -1,4 +1,4 @@ -import{g as ee}from"./chunk-XXDRQBXY-4aIfLT7K.js";import{s as se}from"./chunk-KBJHAD2P-BfrlQA_C.js";import{a as S,at as b,Y as F,aL as ie,ba as re,W as ae,aS as ne,V as oe,aR as le,aU as ce,$ as he,T as ue,x as K,s as de,aH as fe}from"./mermaid.core-CA8ypPul.js";import{c as pe}from"./chunk-2GRJ4B5K-BMhlpUDn.js";import{ad as Dt}from"../../app/index-BSfA7-Qp.js";var Ct=function(){var t=S(function(U,l,d,n){for(d=d||{},n=U.length;n--;d[U[n]]=l);return d},"o"),e=[1,2],s=[1,3],a=[1,4],i=[2,4],o=[1,9],h=[1,11],p=[1,16],f=[1,17],T=[1,18],E=[1,19],m=[1,33],R=[1,20],C=[1,21],x=[1,22],$=[1,23],O=[1,24],u=[1,26],L=[1,27],k=[1,28],V=[1,29],P=[1,30],v=[1,31],Y=[1,32],j=[1,35],nt=[1,36],ot=[1,37],lt=[1,38],J=[1,34],y=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],ct=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],Lt=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],gt={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(l,d,n,g,_,r,B){var c=r.length-1;switch(_){case 3:return g.setRootDoc(r[c]),r[c];case 4:this.$=[];break;case 5:r[c]!="nl"&&(r[c-1].push(r[c]),this.$=r[c-1]);break;case 6:case 7:this.$=r[c];break;case 8:this.$="nl";break;case 12:this.$=r[c];break;case 13:const et=r[c-1];et.description=g.trimColon(r[c]),this.$=et;break;case 14:this.$={stmt:"relation",state1:r[c-2],state2:r[c]};break;case 15:const Tt=g.trimColon(r[c]);this.$={stmt:"relation",state1:r[c-3],state2:r[c-1],description:Tt};break;case 19:this.$={stmt:"state",id:r[c-3],type:"default",description:"",doc:r[c-1]};break;case 20:var G=r[c],q=r[c-2].trim();if(r[c].match(":")){var ut=r[c].split(":");G=ut[0],q=[q,ut[1]]}this.$={stmt:"state",id:G,type:"default",description:q};break;case 21:this.$={stmt:"state",id:r[c-3],type:"default",description:r[c-5],doc:r[c-1]};break;case 22:this.$={stmt:"state",id:r[c],type:"fork"};break;case 23:this.$={stmt:"state",id:r[c],type:"join"};break;case 24:this.$={stmt:"state",id:r[c],type:"choice"};break;case 25:this.$={stmt:"state",id:g.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:r[c-1].trim(),note:{position:r[c-2].trim(),text:r[c].trim()}};break;case 29:this.$=r[c].trim(),g.setAccTitle(this.$);break;case 30:case 31:this.$=r[c].trim(),g.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:r[c-3],url:r[c-2],tooltip:r[c-1]};break;case 33:this.$={stmt:"click",id:r[c-3],url:r[c-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:r[c-1].trim(),classes:r[c].trim()};break;case 36:this.$={stmt:"style",id:r[c-1].trim(),styleClass:r[c].trim()};break;case 37:this.$={stmt:"applyClass",id:r[c-1].trim(),styleClass:r[c].trim()};break;case 38:g.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:g.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:g.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:g.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:r[c].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:r[c-2].trim(),classes:[r[c].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:r[c-2].trim(),classes:[r[c].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:s,6:a},{1:[3]},{3:5,4:e,5:s,6:a},{3:6,4:e,5:s,6:a},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:f,19:T,22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:p,17:f,19:T,22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,7]),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(y,[2,11]),t(y,[2,12],{14:[1,40],15:[1,41]}),t(y,[2,16]),{18:[1,42]},t(y,[2,18],{20:[1,43]}),{23:[1,44]},t(y,[2,22]),t(y,[2,23]),t(y,[2,24]),t(y,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(y,[2,28]),{34:[1,49]},{36:[1,50]},t(y,[2,31]),{13:51,24:m,57:J},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(ct,[2,44],{58:[1,56]}),t(ct,[2,45],{58:[1,57]}),t(y,[2,38]),t(y,[2,39]),t(y,[2,40]),t(y,[2,41]),t(y,[2,6]),t(y,[2,13]),{13:58,24:m,57:J},t(y,[2,17]),t(Lt,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(y,[2,29]),t(y,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(y,[2,14],{14:[1,71]}),{4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:f,19:T,21:[1,72],22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),t(ct,[2,46]),t(ct,[2,47]),t(y,[2,15]),t(y,[2,19]),t(Lt,i,{7:78}),t(y,[2,26]),t(y,[2,27]),{5:[1,79]},{5:[1,80]},{4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:f,19:T,21:[1,81],22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,32]),t(y,[2,33]),t(y,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(l,d){if(d.recoverable)this.trace(l);else{var n=new Error(l);throw n.hash=d,n}},"parseError"),parse:S(function(l){var d=this,n=[0],g=[],_=[null],r=[],B=this.table,c="",G=0,q=0,ut=2,et=1,Tt=r.slice.call(arguments,1),D=Object.create(this.lexer),H={yy:{}};for(var Et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Et)&&(H.yy[Et]=this.yy[Et]);D.setInput(l,H.yy),H.yy.lexer=D,H.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var _t=D.yylloc;r.push(_t);var Zt=D.options&&D.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function te(I){n.length=n.length-2*I,_.length=_.length-I,r.length=r.length-I}S(te,"popStack");function wt(){var I;return I=g.pop()||D.lex()||et,typeof I!="number"&&(I instanceof Array&&(g=I,I=g.pop()),I=d.symbols_[I]||I),I}S(wt,"lex");for(var w,z,N,mt,Q={},dt,M,Rt,ft;;){if(z=n[n.length-1],this.defaultActions[z]?N=this.defaultActions[z]:((w===null||typeof w>"u")&&(w=wt()),N=B[z]&&B[z][w]),typeof N>"u"||!N.length||!N[0]){var bt="";ft=[];for(dt in B[z])this.terminals_[dt]&&dt>ut&&ft.push("'"+this.terminals_[dt]+"'");D.showPosition?bt="Parse error on line "+(G+1)+`: +import{g as ee}from"./chunk-XXDRQBXY-kV8dS86B.js";import{s as se}from"./chunk-KBJHAD2P-CUyWjBEZ.js";import{a as S,at as b,Y as F,aL as ie,ba as re,W as ae,aS as ne,V as oe,aR as le,aU as ce,$ as he,T as ue,x as K,s as de,aH as fe}from"./mermaid.core-DS1qXbzQ.js";import{c as pe}from"./chunk-2GRJ4B5K-DFfNskzn.js";import{ad as Dt}from"../../app/index-B0ly_D9Z.js";var Ct=function(){var t=S(function(U,l,d,n){for(d=d||{},n=U.length;n--;d[U[n]]=l);return d},"o"),e=[1,2],s=[1,3],a=[1,4],i=[2,4],o=[1,9],h=[1,11],p=[1,16],f=[1,17],T=[1,18],E=[1,19],m=[1,33],R=[1,20],C=[1,21],x=[1,22],$=[1,23],O=[1,24],u=[1,26],L=[1,27],k=[1,28],V=[1,29],P=[1,30],v=[1,31],Y=[1,32],j=[1,35],nt=[1,36],ot=[1,37],lt=[1,38],J=[1,34],y=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],ct=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],Lt=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],gt={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(l,d,n,g,_,r,B){var c=r.length-1;switch(_){case 3:return g.setRootDoc(r[c]),r[c];case 4:this.$=[];break;case 5:r[c]!="nl"&&(r[c-1].push(r[c]),this.$=r[c-1]);break;case 6:case 7:this.$=r[c];break;case 8:this.$="nl";break;case 12:this.$=r[c];break;case 13:const et=r[c-1];et.description=g.trimColon(r[c]),this.$=et;break;case 14:this.$={stmt:"relation",state1:r[c-2],state2:r[c]};break;case 15:const Tt=g.trimColon(r[c]);this.$={stmt:"relation",state1:r[c-3],state2:r[c-1],description:Tt};break;case 19:this.$={stmt:"state",id:r[c-3],type:"default",description:"",doc:r[c-1]};break;case 20:var G=r[c],q=r[c-2].trim();if(r[c].match(":")){var ut=r[c].split(":");G=ut[0],q=[q,ut[1]]}this.$={stmt:"state",id:G,type:"default",description:q};break;case 21:this.$={stmt:"state",id:r[c-3],type:"default",description:r[c-5],doc:r[c-1]};break;case 22:this.$={stmt:"state",id:r[c],type:"fork"};break;case 23:this.$={stmt:"state",id:r[c],type:"join"};break;case 24:this.$={stmt:"state",id:r[c],type:"choice"};break;case 25:this.$={stmt:"state",id:g.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:r[c-1].trim(),note:{position:r[c-2].trim(),text:r[c].trim()}};break;case 29:this.$=r[c].trim(),g.setAccTitle(this.$);break;case 30:case 31:this.$=r[c].trim(),g.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:r[c-3],url:r[c-2],tooltip:r[c-1]};break;case 33:this.$={stmt:"click",id:r[c-3],url:r[c-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:r[c-1].trim(),classes:r[c].trim()};break;case 36:this.$={stmt:"style",id:r[c-1].trim(),styleClass:r[c].trim()};break;case 37:this.$={stmt:"applyClass",id:r[c-1].trim(),styleClass:r[c].trim()};break;case 38:g.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:g.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:g.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:g.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:r[c].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:r[c-2].trim(),classes:[r[c].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:r[c-2].trim(),classes:[r[c].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:s,6:a},{1:[3]},{3:5,4:e,5:s,6:a},{3:6,4:e,5:s,6:a},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:f,19:T,22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:p,17:f,19:T,22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,7]),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(y,[2,11]),t(y,[2,12],{14:[1,40],15:[1,41]}),t(y,[2,16]),{18:[1,42]},t(y,[2,18],{20:[1,43]}),{23:[1,44]},t(y,[2,22]),t(y,[2,23]),t(y,[2,24]),t(y,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(y,[2,28]),{34:[1,49]},{36:[1,50]},t(y,[2,31]),{13:51,24:m,57:J},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(ct,[2,44],{58:[1,56]}),t(ct,[2,45],{58:[1,57]}),t(y,[2,38]),t(y,[2,39]),t(y,[2,40]),t(y,[2,41]),t(y,[2,6]),t(y,[2,13]),{13:58,24:m,57:J},t(y,[2,17]),t(Lt,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(y,[2,29]),t(y,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(y,[2,14],{14:[1,71]}),{4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:f,19:T,21:[1,72],22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),t(ct,[2,46]),t(ct,[2,47]),t(y,[2,15]),t(y,[2,19]),t(Lt,i,{7:78}),t(y,[2,26]),t(y,[2,27]),{5:[1,79]},{5:[1,80]},{4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:f,19:T,21:[1,81],22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,32]),t(y,[2,33]),t(y,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(l,d){if(d.recoverable)this.trace(l);else{var n=new Error(l);throw n.hash=d,n}},"parseError"),parse:S(function(l){var d=this,n=[0],g=[],_=[null],r=[],B=this.table,c="",G=0,q=0,ut=2,et=1,Tt=r.slice.call(arguments,1),D=Object.create(this.lexer),H={yy:{}};for(var Et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Et)&&(H.yy[Et]=this.yy[Et]);D.setInput(l,H.yy),H.yy.lexer=D,H.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var _t=D.yylloc;r.push(_t);var Zt=D.options&&D.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function te(I){n.length=n.length-2*I,_.length=_.length-I,r.length=r.length-I}S(te,"popStack");function wt(){var I;return I=g.pop()||D.lex()||et,typeof I!="number"&&(I instanceof Array&&(g=I,I=g.pop()),I=d.symbols_[I]||I),I}S(wt,"lex");for(var w,z,N,mt,Q={},dt,M,Rt,ft;;){if(z=n[n.length-1],this.defaultActions[z]?N=this.defaultActions[z]:((w===null||typeof w>"u")&&(w=wt()),N=B[z]&&B[z][w]),typeof N>"u"||!N.length||!N[0]){var bt="";ft=[];for(dt in B[z])this.terminals_[dt]&&dt>ut&&ft.push("'"+this.terminals_[dt]+"'");D.showPosition?bt="Parse error on line "+(G+1)+`: `+D.showPosition()+` Expecting `+ft.join(", ")+", got '"+(this.terminals_[w]||w)+"'":bt="Parse error on line "+(G+1)+": Unexpected "+(w==et?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(bt,{text:D.match,token:this.terminals_[w]||w,line:D.yylineno,loc:_t,expected:ft})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+w);switch(N[0]){case 1:n.push(w),_.push(D.yytext),r.push(D.yylloc),n.push(N[1]),w=null,q=D.yyleng,c=D.yytext,G=D.yylineno,_t=D.yylloc;break;case 2:if(M=this.productions_[N[1]][1],Q.$=_[_.length-M],Q._$={first_line:r[r.length-(M||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(M||1)].first_column,last_column:r[r.length-1].last_column},Zt&&(Q._$.range=[r[r.length-(M||1)].range[0],r[r.length-1].range[1]]),mt=this.performAction.apply(Q,[c,q,G,H.yy,N[1],_,r].concat(Tt)),typeof mt<"u")return mt;M&&(n=n.slice(0,-1*M*2),_=_.slice(0,-1*M),r=r.slice(0,-1*M)),n.push(this.productions_[N[1]][0]),_.push(Q.$),r.push(Q._$),Rt=B[n[n.length-2]][n[n.length-1]],n.push(Rt);break;case 3:return!0}}return!0},"parse")},Qt=function(){var U={EOF:1,parseError:S(function(d,n){if(this.yy.parser)this.yy.parser.parseError(d,n);else throw new Error(d)},"parseError"),setInput:S(function(l,d){return this.yy=d||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var d=l.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:S(function(l){var d=l.length,n=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===g.length?this.yylloc.first_column:0)+g[g.length-n.length].length-n[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(l){this.unput(this.match.slice(l))},"less"),pastInput:S(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var l=this.pastInput(),d=new Array(l.length+1).join("-");return l+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-5VM5RSS4-W8IBP72a.js b/veadk/webui/assets/visualizations/mermaid/chunk-5VM5RSS4-DdofPBLB.js similarity index 83% rename from veadk/webui/assets/visualizations/mermaid/chunk-5VM5RSS4-W8IBP72a.js rename to veadk/webui/assets/visualizations/mermaid/chunk-5VM5RSS4-DdofPBLB.js index 602ee6b7f..af028ea0f 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-5VM5RSS4-W8IBP72a.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-5VM5RSS4-DdofPBLB.js @@ -1,4 +1,4 @@ -import{a as e}from"./mermaid.core-CA8ypPul.js";var l=e(()=>` +import{a as e}from"./mermaid.core-DS1qXbzQ.js";var l=e(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-6Q2QTUOP-BWy4vQ8l.js b/veadk/webui/assets/visualizations/mermaid/chunk-6Q2QTUOP-C6-1_k94.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/chunk-6Q2QTUOP-BWy4vQ8l.js rename to veadk/webui/assets/visualizations/mermaid/chunk-6Q2QTUOP-C6-1_k94.js index 3d8c61182..c8dc81cc1 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-6Q2QTUOP-BWy4vQ8l.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-6Q2QTUOP-C6-1_k94.js @@ -1,4 +1,4 @@ -import{a as p,at as k,aQ as H,X as _,s as q,a8 as G,B as U,aO as j,Y as K}from"./mermaid.core-CA8ypPul.js";var A="",M="",O="",D=[],b=new Map,v=p(e=>j(e,K()),"sanitizeText"),y=p(e=>{switch(e.type){case"terminal":return{...e,value:v(e.value)};case"nonterminal":return{...e,name:v(e.name)};case"sequence":return{...e,elements:e.elements.map(y)};case"choice":return{...e,alternatives:e.alternatives.map(y)};case"optional":return{...e,element:y(e.element)};case"repetition":return{...e,element:y(e.element),separator:e.separator?y(e.separator):void 0};case"special":return{...e,text:v(e.text)}}},"sanitizeAstNode"),Q=p(()=>{A="",M="",O="",D.length=0,b.clear(),q(),k.debug("[Railroad] Database cleared")},"clear"),Y=p(e=>{A=v(e),k.debug("[Railroad] Title set:",e)},"setTitle"),P=p(()=>A,"getTitle"),J=p(e=>{const i={...e,name:v(e.name),definition:y(e.definition),comment:e.comment?v(e.comment):void 0};k.debug("[Railroad] Adding rule:",i.name),b.has(i.name)&&k.warn(`[Railroad] Rule '${i.name}' is already defined. Overwriting.`),D.push(i),b.set(i.name,i)},"addRule"),Z=p(()=>D,"getRules"),V=p(e=>b.get(e),"getRule"),ee=p(e=>{M=v(e).replace(/^\s+/g,""),k.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),te=p(()=>M,"getAccTitle"),re=p(e=>{O=v(e).replace(/\n\s+/g,` +import{a as p,at as k,aQ as H,X as _,s as q,a8 as G,B as U,aO as j,Y as K}from"./mermaid.core-DS1qXbzQ.js";var A="",M="",O="",D=[],b=new Map,v=p(e=>j(e,K()),"sanitizeText"),y=p(e=>{switch(e.type){case"terminal":return{...e,value:v(e.value)};case"nonterminal":return{...e,name:v(e.name)};case"sequence":return{...e,elements:e.elements.map(y)};case"choice":return{...e,alternatives:e.alternatives.map(y)};case"optional":return{...e,element:y(e.element)};case"repetition":return{...e,element:y(e.element),separator:e.separator?y(e.separator):void 0};case"special":return{...e,text:v(e.text)}}},"sanitizeAstNode"),Q=p(()=>{A="",M="",O="",D.length=0,b.clear(),q(),k.debug("[Railroad] Database cleared")},"clear"),Y=p(e=>{A=v(e),k.debug("[Railroad] Title set:",e)},"setTitle"),P=p(()=>A,"getTitle"),J=p(e=>{const i={...e,name:v(e.name),definition:y(e.definition),comment:e.comment?v(e.comment):void 0};k.debug("[Railroad] Adding rule:",i.name),b.has(i.name)&&k.warn(`[Railroad] Rule '${i.name}' is already defined. Overwriting.`),D.push(i),b.set(i.name,i)},"addRule"),Z=p(()=>D,"getRules"),V=p(e=>b.get(e),"getRule"),ee=p(e=>{M=v(e).replace(/^\s+/g,""),k.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),te=p(()=>M,"getAccTitle"),re=p(e=>{O=v(e).replace(/\n\s+/g,` `),k.debug("[Railroad] Accessibility description set:",e)},"setAccDescription"),ie=p(()=>O,"getAccDescription"),ae=Y,ne=P,oe={clear:Q,setTitle:Y,getTitle:P,addRule:J,getRules:Z,getRule:V,setAccTitle:ee,getAccTitle:te,setAccDescription:re,getAccDescription:ie,setDiagramTitle:ae,getDiagramTitle:ne},f={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},le=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,se=/^[\w "',.-]+$/,de=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),L=p(e=>e?Object.keys(e).every(i=>i==="railroad"||de.has(i)):!1,"isRailroadStyleOptions"),ce=p(e=>e?"railroad"in e&&e.railroad?e.railroad:L(e)?e:{}:{},"extractRailroadOverrides"),me=p(e=>{if(!e||L(e))return{};const{railroad:i,svgId:n,theme:a,look:t,...r}=e;return r},"extractThemeOverrides"),m=p((e,i)=>{if(typeof e!="string")return i;const n=e.trim();return le.test(n)?n:i},"sanitizeColorValue"),X=p((e,i)=>{if(typeof e!="string")return i;const n=e.trim();return se.test(n)?n:i},"sanitizeFontFamilyValue"),F=p((e,i)=>{const n=typeof e=="number"?e:typeof e=="string"?Number.parseFloat(e):Number.NaN;return Number.isFinite(n)&&n>=0?n:i},"sanitizeNumberValue"),he=p(e=>{const i=typeof e=="number"?e:typeof e=="string"?Number.parseFloat(e):Number.NaN;return Number.isFinite(i)&&i>0?i:void 0},"parseThemeFontSize"),pe=p(e=>{const i=X(e.fontFamily,f.fontFamily),n=he(e.fontSize)??f.fontSize;return{...f,fontFamily:i,fontSize:n,terminalFill:m(e.secondBkg??e.secondaryColor,f.terminalFill),terminalStroke:m(e.secondaryBorderColor??e.lineColor,f.terminalStroke),terminalTextColor:m(e.secondaryTextColor??e.textColor,f.terminalTextColor),nonTerminalFill:m(e.mainBkg??e.background,f.nonTerminalFill),nonTerminalStroke:m(e.primaryBorderColor??e.lineColor,f.nonTerminalStroke),nonTerminalTextColor:m(e.primaryTextColor??e.textColor,f.nonTerminalTextColor),lineColor:m(e.lineColor,f.lineColor),markerFill:m(e.lineColor,f.markerFill),commentFill:m(e.labelBackground??e.tertiaryColor,f.commentFill),commentStroke:m(e.tertiaryBorderColor??e.lineColor,f.commentStroke),commentTextColor:m(e.tertiaryTextColor??e.textColor,f.commentTextColor),specialFill:m(e.tertiaryColor??e.secondaryColor,f.specialFill),specialStroke:m(e.tertiaryBorderColor??e.secondaryBorderColor,f.specialStroke),ruleNameColor:m(e.titleColor??e.textColor,f.ruleNameColor)}},"buildThemeDefaults"),E=p(e=>{const i=_(),n={...G(),...i.themeVariables??{},...me(e)},a=pe(n),t={...i.railroad??{},...ce(e)};return{compactMode:t.compactMode??a.compactMode,padding:F(t.padding,a.padding),verticalSeparation:F(t.verticalSeparation,a.verticalSeparation),horizontalSeparation:F(t.horizontalSeparation,a.horizontalSeparation),arcRadius:F(t.arcRadius,a.arcRadius),fontSize:F(t.fontSize,a.fontSize),fontFamily:X(t.fontFamily,a.fontFamily),terminalFill:m(t.terminalFill,a.terminalFill),terminalStroke:m(t.terminalStroke,a.terminalStroke),terminalTextColor:m(t.terminalTextColor,a.terminalTextColor),nonTerminalFill:m(t.nonTerminalFill,a.nonTerminalFill),nonTerminalStroke:m(t.nonTerminalStroke,a.nonTerminalStroke),nonTerminalTextColor:m(t.nonTerminalTextColor,a.nonTerminalTextColor),lineColor:m(t.lineColor,a.lineColor),strokeWidth:F(t.strokeWidth,a.strokeWidth),markerFill:m(t.markerFill,a.markerFill),commentFill:m(t.commentFill,a.commentFill),commentStroke:m(t.commentStroke,a.commentStroke),commentTextColor:m(t.commentTextColor,a.commentTextColor),specialFill:m(t.specialFill,a.specialFill),specialStroke:m(t.specialStroke,a.specialStroke),ruleNameColor:m(t.ruleNameColor,a.ruleNameColor),showMarkers:t.showMarkers??a.showMarkers,markerRadius:F(t.markerRadius,a.markerRadius)}},"buildRailroadStyleOptions"),Te=p(e=>{const{fontFamily:i,fontSize:n,terminalFill:a,terminalStroke:t,terminalTextColor:r,nonTerminalFill:o,nonTerminalStroke:g,nonTerminalTextColor:l,lineColor:s,strokeWidth:h,markerFill:u,commentFill:c,commentStroke:w,commentTextColor:d,specialFill:T,specialStroke:z,ruleNameColor:S}=E(e);return` .railroad-diagram { font-family: ${i}; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-GF5L2VYU-BOV9J-a2.js b/veadk/webui/assets/visualizations/mermaid/chunk-GF5L2VYU-BY3KKzJk.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/chunk-GF5L2VYU-BOV9J-a2.js rename to veadk/webui/assets/visualizations/mermaid/chunk-GF5L2VYU-BY3KKzJk.js index aaf79046e..de7fe51eb 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-GF5L2VYU-BOV9J-a2.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-GF5L2VYU-BY3KKzJk.js @@ -1,4 +1,4 @@ -import{g as st}from"./chunk-5VM5RSS4-W8IBP72a.js";import{g as it}from"./chunk-XXDRQBXY-4aIfLT7K.js";import{s as at}from"./chunk-KBJHAD2P-BfrlQA_C.js";import{a as g,at as we,Y as F,a4 as rt,aL as nt,ba as Ve,aH as ut,aS as lt,W as ct,aR as ot,V as ht,aU as dt,$ as pt,x as I,s as At,a0 as ft,aO as gt,aD as z}from"./mermaid.core-CA8ypPul.js";import{c as mt}from"./chunk-2GRJ4B5K-BMhlpUDn.js";import{ad as fe}from"../../app/index-BSfA7-Qp.js";var Pe=function(){var s=g(function(O,o,d,p){for(d=d||{},p=O.length;p--;d[O[p]]=o);return d},"o"),i=[1,18],a=[1,19],r=[1,20],n=[1,41],u=[1,26],h=[1,42],f=[1,24],c=[1,25],m=[1,32],B=[1,33],R=[1,34],b=[1,45],me=[1,35],Ce=[1,36],be=[1,37],ke=[1,38],Ee=[1,27],Te=[1,28],ye=[1,29],De=[1,30],Fe=[1,31],k=[1,44],E=[1,46],T=[1,43],y=[1,47],Be=[1,9],A=[1,8,9],te=[1,58],se=[1,59],ie=[1,60],ae=[1,61],re=[1,62],_e=[1,63],Se=[1,64],S=[1,8,9,41],Me=[1,77],G=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],ne=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],ue=[13,60,86,100,102,103],K=[13,60,73,74,86,100,102,103],Re=[13,60,68,69,70,71,72,86,100,102,103],le=[1,103],W=[1,121],Q=[1,117],j=[1,113],X=[1,119],H=[1,114],q=[1,115],J=[1,116],Z=[1,118],$=[1,120],Ge=[22,50,60,61,82,86,87,88,89,90],Ue=[1,128],ce=[12,39],Ne=[1,8,9,39,41,44,46],oe=[1,8,9,22],ze=[1,153],Ye=[1,8,9,61],x=[1,8,9,22,50,60,61,82,86,87,88,89,90],Le={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:g(function(o,d,p,l,C,e,ee){var t=e.length-1;switch(C){case 8:this.$=e[t-1];break;case 9:case 10:case 13:case 15:this.$=e[t];break;case 11:case 14:this.$=e[t-2]+"."+e[t];break;case 12:case 16:this.$=e[t-1]+e[t];break;case 17:case 18:this.$=e[t-1]+"~"+e[t]+"~";break;case 19:l.addRelation(e[t]);break;case 20:e[t-1].title=l.cleanupLabel(e[t]),l.addRelation(e[t-1]);break;case 31:this.$=e[t].trim(),l.setAccTitle(this.$);break;case 32:case 33:this.$=e[t].trim(),l.setAccDescription(this.$);break;case 34:l.addClassesToNamespace(e[t-3],e[t-1][0],e[t-1][1]),l.popNamespace();break;case 35:l.addClassesToNamespace(e[t-4],e[t-1][0],e[t-1][1]),l.popNamespace();break;case 36:this.$=l.addNamespace(e[t]);break;case 37:this.$=l.addNamespace(e[t-1],e[t]);break;case 38:this.$=[[e[t]],[]];break;case 39:this.$=[[e[t-1]],[]];break;case 40:e[t][0].unshift(e[t-2]),this.$=e[t];break;case 41:this.$=[[],[e[t]]];break;case 42:this.$=[[],[e[t-1]]];break;case 43:e[t][1].unshift(e[t-2]),this.$=e[t];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=e[t];break;case 48:l.setCssClass(e[t-2],e[t]);break;case 49:l.addMembers(e[t-3],e[t-1]);break;case 51:l.setCssClass(e[t-5],e[t-3]),l.addMembers(e[t-5],e[t-1]);break;case 52:l.addAnnotation(e[t-3],e[t-1]);break;case 53:l.addAnnotation(e[t-6],e[t-4]),l.addMembers(e[t-6],e[t-1]);break;case 54:l.addAnnotation(e[t-5],e[t-3]);break;case 55:this.$=e[t],l.addClass(e[t]);break;case 56:this.$=e[t-1],l.addClass(e[t-1]),l.setClassLabel(e[t-1],e[t]);break;case 60:l.addAnnotation(e[t],e[t-2]);break;case 61:case 74:this.$=[e[t]];break;case 62:e[t].push(e[t-1]),this.$=e[t];break;case 63:break;case 64:l.addMember(e[t-1],l.cleanupLabel(e[t]));break;case 65:break;case 66:break;case 67:this.$={id1:e[t-2],id2:e[t],relation:e[t-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:e[t-3],id2:e[t],relation:e[t-1],relationTitle1:e[t-2],relationTitle2:"none"};break;case 69:this.$={id1:e[t-3],id2:e[t],relation:e[t-2],relationTitle1:"none",relationTitle2:e[t-1]};break;case 70:this.$={id1:e[t-4],id2:e[t],relation:e[t-2],relationTitle1:e[t-3],relationTitle2:e[t-1]};break;case 71:this.$=l.addNote(e[t],e[t-1]);break;case 72:this.$=l.addNote(e[t]);break;case 73:this.$=e[t-2],l.defineClass(e[t-1],e[t]);break;case 75:this.$=e[t-2].concat([e[t]]);break;case 76:l.setDirection("TB");break;case 77:l.setDirection("BT");break;case 78:l.setDirection("RL");break;case 79:l.setDirection("LR");break;case 80:this.$={type1:e[t-2],type2:e[t],lineType:e[t-1]};break;case 81:this.$={type1:"none",type2:e[t],lineType:e[t-1]};break;case 82:this.$={type1:e[t-1],type2:"none",lineType:e[t]};break;case 83:this.$={type1:"none",type2:"none",lineType:e[t]};break;case 84:this.$=l.relationType.AGGREGATION;break;case 85:this.$=l.relationType.EXTENSION;break;case 86:this.$=l.relationType.COMPOSITION;break;case 87:this.$=l.relationType.DEPENDENCY;break;case 88:this.$=l.relationType.LOLLIPOP;break;case 89:this.$=l.lineType.LINE;break;case 90:this.$=l.lineType.DOTTED_LINE;break;case 91:case 97:this.$=e[t-2],l.setClickEvent(e[t-1],e[t]);break;case 92:case 98:this.$=e[t-3],l.setClickEvent(e[t-2],e[t-1]),l.setTooltip(e[t-2],e[t]);break;case 93:this.$=e[t-2],l.setLink(e[t-1],e[t]);break;case 94:this.$=e[t-3],l.setLink(e[t-2],e[t-1],e[t]);break;case 95:this.$=e[t-3],l.setLink(e[t-2],e[t-1]),l.setTooltip(e[t-2],e[t]);break;case 96:this.$=e[t-4],l.setLink(e[t-3],e[t-2],e[t]),l.setTooltip(e[t-3],e[t-1]);break;case 99:this.$=e[t-3],l.setClickEvent(e[t-2],e[t-1],e[t]);break;case 100:this.$=e[t-4],l.setClickEvent(e[t-3],e[t-2],e[t-1]),l.setTooltip(e[t-3],e[t]);break;case 101:this.$=e[t-3],l.setLink(e[t-2],e[t]);break;case 102:this.$=e[t-4],l.setLink(e[t-3],e[t-1],e[t]);break;case 103:this.$=e[t-4],l.setLink(e[t-3],e[t-1]),l.setTooltip(e[t-3],e[t]);break;case 104:this.$=e[t-5],l.setLink(e[t-4],e[t-2],e[t]),l.setTooltip(e[t-4],e[t-1]);break;case 105:this.$=e[t-2],l.setCssStyle(e[t-1],e[t]);break;case 106:l.setCssClass(e[t-1],e[t]);break;case 107:this.$=[e[t]];break;case 108:e[t-2].push(e[t]),this.$=e[t-2];break;case 110:this.$=e[t-1]+e[t];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},s(Be,[2,5],{8:[1,48]}),{8:[1,49]},s(A,[2,19],{22:[1,50]}),s(A,[2,21]),s(A,[2,22]),s(A,[2,23]),s(A,[2,24]),s(A,[2,25]),s(A,[2,26]),s(A,[2,27]),s(A,[2,28]),s(A,[2,29]),s(A,[2,30]),{34:[1,51]},{36:[1,52]},s(A,[2,33]),s(A,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:te,69:se,70:ie,71:ae,72:re,73:_e,74:Se}),{39:[1,65]},s(S,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),s(A,[2,65]),s(A,[2,66]),{16:69,60:b,86:k,100:E,102:T},{16:39,17:40,19:70,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:71,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:72,60:b,86:k,100:E,102:T,103:y},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:b,86:k,100:E,102:T,103:y},{13:Me,55:76},{58:78,60:[1,79]},s(A,[2,76]),s(A,[2,77]),s(A,[2,78]),s(A,[2,79]),s(G,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:b,86:k,100:E,102:T,103:y}),s(G,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:87,60:b,86:k,100:E,102:T,103:y},s(ne,[2,133]),s(ne,[2,134]),s(ne,[2,135]),s(ne,[2,136]),s([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),s(Be,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:i,35:a,37:r,42:n,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y},s(A,[2,20]),s(A,[2,31]),s(A,[2,32]),{13:[1,91],16:39,17:40,19:90,60:b,86:k,100:E,102:T,103:y},{53:92,66:56,67:57,68:te,69:se,70:ie,71:ae,72:re,73:_e,74:Se},s(A,[2,64]),{67:93,73:_e,74:Se},s(ue,[2,83],{66:94,68:te,69:se,70:ie,71:ae,72:re}),s(K,[2,84]),s(K,[2,85]),s(K,[2,86]),s(K,[2,87]),s(K,[2,88]),s(Re,[2,89]),s(Re,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:n,43:23,48:h,54:m,56:B},{16:100,60:b,86:k,100:E,102:T},{41:[1,102],45:101,51:le},{16:104,60:b,86:k,100:E,102:T},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:W,50:Q,59:110,60:j,82:X,84:111,85:112,86:H,87:q,88:J,89:Z,90:$},{60:[1,122]},{13:Me,55:123},s(S,[2,72]),s(S,[2,138]),{22:W,50:Q,59:124,60:j,61:[1,125],82:X,84:111,85:112,86:H,87:q,88:J,89:Z,90:$},s(Ge,[2,74]),{16:39,17:40,19:126,60:b,86:k,100:E,102:T,103:y},s(G,[2,16]),s(G,[2,17]),s(G,[2,18]),{11:127,12:Ue,39:[2,36]},s(ce,[2,9],{16:85,17:86,15:130,18:[1,129],60:b,86:k,100:E,102:T,103:y}),s(ce,[2,10]),s(Ne,[2,55],{11:131,12:Ue}),s(Be,[2,7]),{9:[1,132]},s(oe,[2,67]),{16:39,17:40,19:133,60:b,86:k,100:E,102:T,103:y},{13:[1,135],16:39,17:40,19:134,60:b,86:k,100:E,102:T,103:y},s(ue,[2,82],{66:136,68:te,69:se,70:ie,71:ae,72:re}),s(ue,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:n,43:23,48:h,54:m,56:B},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},s(S,[2,48],{39:[1,142]}),{41:[1,143]},s(S,[2,50]),{41:[2,61],45:144,51:le},{47:[1,145]},{16:39,17:40,19:146,60:b,86:k,100:E,102:T,103:y},s(A,[2,91],{13:[1,147]}),s(A,[2,93],{13:[1,149],77:[1,148]}),s(A,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},s(A,[2,105],{61:ze}),s(Ye,[2,107],{85:154,22:W,50:Q,60:j,82:X,86:H,87:q,88:J,89:Z,90:$}),s(x,[2,109]),s(x,[2,111]),s(x,[2,112]),s(x,[2,113]),s(x,[2,114]),s(x,[2,115]),s(x,[2,116]),s(x,[2,117]),s(x,[2,118]),s(x,[2,119]),s(A,[2,106]),s(S,[2,71]),s(A,[2,73],{61:ze}),{60:[1,155]},s(G,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:b,86:k,100:E,102:T,103:y},s(ce,[2,12]),s(Ne,[2,56]),{1:[2,4]},s(oe,[2,69]),s(oe,[2,68]),{16:39,17:40,19:158,60:b,86:k,100:E,102:T,103:y},s(ue,[2,80]),s(S,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:n,43:23,48:h,54:m,56:B},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:n,43:23,48:h,54:m,56:B},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:n,43:23,48:h,54:m,56:B},{45:163,51:le},s(S,[2,49]),{41:[2,62]},s(S,[2,52],{39:[1,164]}),s(A,[2,60]),s(A,[2,92]),s(A,[2,94]),s(A,[2,95],{77:[1,165]}),s(A,[2,98]),s(A,[2,99],{13:[1,166]}),s(A,[2,101],{13:[1,168],77:[1,167]}),{22:W,50:Q,60:j,82:X,84:169,85:112,86:H,87:q,88:J,89:Z,90:$},s(x,[2,110]),s(Ge,[2,75]),{14:[1,170]},s(ce,[2,11]),s(oe,[2,70]),s(S,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:le},s(A,[2,96]),s(A,[2,100]),s(A,[2,102]),s(A,[2,103],{77:[1,174]}),s(Ye,[2,108],{85:154,22:W,50:Q,60:j,82:X,86:H,87:q,88:J,89:Z,90:$}),s(Ne,[2,8]),s(S,[2,51]),{41:[1,175]},s(S,[2,54]),s(A,[2,104]),s(S,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:g(function(o,d){if(d.recoverable)this.trace(o);else{var p=new Error(o);throw p.hash=d,p}},"parseError"),parse:g(function(o){var d=this,p=[0],l=[],C=[null],e=[],ee=this.table,t="",de=0,Ke=0,Ze=2,We=1,$e=e.slice.call(arguments,1),D=Object.create(this.lexer),V={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(V.yy[xe]=this.yy[xe]);D.setInput(o,V.yy),V.yy.lexer=D,V.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var ve=D.yylloc;e.push(ve);var et=D.options&&D.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tt(N){p.length=p.length-2*N,C.length=C.length-N,e.length=e.length-N}g(tt,"popStack");function Qe(){var N;return N=l.pop()||D.lex()||We,typeof N!="number"&&(N instanceof Array&&(l=N,N=l.pop()),N=d.symbols_[N]||N),N}g(Qe,"lex");for(var _,P,L,Ie,U={},pe,v,je,Ae;;){if(P=p[p.length-1],this.defaultActions[P]?L=this.defaultActions[P]:((_===null||typeof _>"u")&&(_=Qe()),L=ee[P]&&ee[P][_]),typeof L>"u"||!L.length||!L[0]){var Oe="";Ae=[];for(pe in ee[P])this.terminals_[pe]&&pe>Ze&&Ae.push("'"+this.terminals_[pe]+"'");D.showPosition?Oe="Parse error on line "+(de+1)+`: +import{g as st}from"./chunk-5VM5RSS4-DdofPBLB.js";import{g as it}from"./chunk-XXDRQBXY-kV8dS86B.js";import{s as at}from"./chunk-KBJHAD2P-CUyWjBEZ.js";import{a as g,at as we,Y as F,a4 as rt,aL as nt,ba as Ve,aH as ut,aS as lt,W as ct,aR as ot,V as ht,aU as dt,$ as pt,x as I,s as At,a0 as ft,aO as gt,aD as z}from"./mermaid.core-DS1qXbzQ.js";import{c as mt}from"./chunk-2GRJ4B5K-DFfNskzn.js";import{ad as fe}from"../../app/index-B0ly_D9Z.js";var Pe=function(){var s=g(function(O,o,d,p){for(d=d||{},p=O.length;p--;d[O[p]]=o);return d},"o"),i=[1,18],a=[1,19],r=[1,20],n=[1,41],u=[1,26],h=[1,42],f=[1,24],c=[1,25],m=[1,32],B=[1,33],R=[1,34],b=[1,45],me=[1,35],Ce=[1,36],be=[1,37],ke=[1,38],Ee=[1,27],Te=[1,28],ye=[1,29],De=[1,30],Fe=[1,31],k=[1,44],E=[1,46],T=[1,43],y=[1,47],Be=[1,9],A=[1,8,9],te=[1,58],se=[1,59],ie=[1,60],ae=[1,61],re=[1,62],_e=[1,63],Se=[1,64],S=[1,8,9,41],Me=[1,77],G=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],ne=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],ue=[13,60,86,100,102,103],K=[13,60,73,74,86,100,102,103],Re=[13,60,68,69,70,71,72,86,100,102,103],le=[1,103],W=[1,121],Q=[1,117],j=[1,113],X=[1,119],H=[1,114],q=[1,115],J=[1,116],Z=[1,118],$=[1,120],Ge=[22,50,60,61,82,86,87,88,89,90],Ue=[1,128],ce=[12,39],Ne=[1,8,9,39,41,44,46],oe=[1,8,9,22],ze=[1,153],Ye=[1,8,9,61],x=[1,8,9,22,50,60,61,82,86,87,88,89,90],Le={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:g(function(o,d,p,l,C,e,ee){var t=e.length-1;switch(C){case 8:this.$=e[t-1];break;case 9:case 10:case 13:case 15:this.$=e[t];break;case 11:case 14:this.$=e[t-2]+"."+e[t];break;case 12:case 16:this.$=e[t-1]+e[t];break;case 17:case 18:this.$=e[t-1]+"~"+e[t]+"~";break;case 19:l.addRelation(e[t]);break;case 20:e[t-1].title=l.cleanupLabel(e[t]),l.addRelation(e[t-1]);break;case 31:this.$=e[t].trim(),l.setAccTitle(this.$);break;case 32:case 33:this.$=e[t].trim(),l.setAccDescription(this.$);break;case 34:l.addClassesToNamespace(e[t-3],e[t-1][0],e[t-1][1]),l.popNamespace();break;case 35:l.addClassesToNamespace(e[t-4],e[t-1][0],e[t-1][1]),l.popNamespace();break;case 36:this.$=l.addNamespace(e[t]);break;case 37:this.$=l.addNamespace(e[t-1],e[t]);break;case 38:this.$=[[e[t]],[]];break;case 39:this.$=[[e[t-1]],[]];break;case 40:e[t][0].unshift(e[t-2]),this.$=e[t];break;case 41:this.$=[[],[e[t]]];break;case 42:this.$=[[],[e[t-1]]];break;case 43:e[t][1].unshift(e[t-2]),this.$=e[t];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=e[t];break;case 48:l.setCssClass(e[t-2],e[t]);break;case 49:l.addMembers(e[t-3],e[t-1]);break;case 51:l.setCssClass(e[t-5],e[t-3]),l.addMembers(e[t-5],e[t-1]);break;case 52:l.addAnnotation(e[t-3],e[t-1]);break;case 53:l.addAnnotation(e[t-6],e[t-4]),l.addMembers(e[t-6],e[t-1]);break;case 54:l.addAnnotation(e[t-5],e[t-3]);break;case 55:this.$=e[t],l.addClass(e[t]);break;case 56:this.$=e[t-1],l.addClass(e[t-1]),l.setClassLabel(e[t-1],e[t]);break;case 60:l.addAnnotation(e[t],e[t-2]);break;case 61:case 74:this.$=[e[t]];break;case 62:e[t].push(e[t-1]),this.$=e[t];break;case 63:break;case 64:l.addMember(e[t-1],l.cleanupLabel(e[t]));break;case 65:break;case 66:break;case 67:this.$={id1:e[t-2],id2:e[t],relation:e[t-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:e[t-3],id2:e[t],relation:e[t-1],relationTitle1:e[t-2],relationTitle2:"none"};break;case 69:this.$={id1:e[t-3],id2:e[t],relation:e[t-2],relationTitle1:"none",relationTitle2:e[t-1]};break;case 70:this.$={id1:e[t-4],id2:e[t],relation:e[t-2],relationTitle1:e[t-3],relationTitle2:e[t-1]};break;case 71:this.$=l.addNote(e[t],e[t-1]);break;case 72:this.$=l.addNote(e[t]);break;case 73:this.$=e[t-2],l.defineClass(e[t-1],e[t]);break;case 75:this.$=e[t-2].concat([e[t]]);break;case 76:l.setDirection("TB");break;case 77:l.setDirection("BT");break;case 78:l.setDirection("RL");break;case 79:l.setDirection("LR");break;case 80:this.$={type1:e[t-2],type2:e[t],lineType:e[t-1]};break;case 81:this.$={type1:"none",type2:e[t],lineType:e[t-1]};break;case 82:this.$={type1:e[t-1],type2:"none",lineType:e[t]};break;case 83:this.$={type1:"none",type2:"none",lineType:e[t]};break;case 84:this.$=l.relationType.AGGREGATION;break;case 85:this.$=l.relationType.EXTENSION;break;case 86:this.$=l.relationType.COMPOSITION;break;case 87:this.$=l.relationType.DEPENDENCY;break;case 88:this.$=l.relationType.LOLLIPOP;break;case 89:this.$=l.lineType.LINE;break;case 90:this.$=l.lineType.DOTTED_LINE;break;case 91:case 97:this.$=e[t-2],l.setClickEvent(e[t-1],e[t]);break;case 92:case 98:this.$=e[t-3],l.setClickEvent(e[t-2],e[t-1]),l.setTooltip(e[t-2],e[t]);break;case 93:this.$=e[t-2],l.setLink(e[t-1],e[t]);break;case 94:this.$=e[t-3],l.setLink(e[t-2],e[t-1],e[t]);break;case 95:this.$=e[t-3],l.setLink(e[t-2],e[t-1]),l.setTooltip(e[t-2],e[t]);break;case 96:this.$=e[t-4],l.setLink(e[t-3],e[t-2],e[t]),l.setTooltip(e[t-3],e[t-1]);break;case 99:this.$=e[t-3],l.setClickEvent(e[t-2],e[t-1],e[t]);break;case 100:this.$=e[t-4],l.setClickEvent(e[t-3],e[t-2],e[t-1]),l.setTooltip(e[t-3],e[t]);break;case 101:this.$=e[t-3],l.setLink(e[t-2],e[t]);break;case 102:this.$=e[t-4],l.setLink(e[t-3],e[t-1],e[t]);break;case 103:this.$=e[t-4],l.setLink(e[t-3],e[t-1]),l.setTooltip(e[t-3],e[t]);break;case 104:this.$=e[t-5],l.setLink(e[t-4],e[t-2],e[t]),l.setTooltip(e[t-4],e[t-1]);break;case 105:this.$=e[t-2],l.setCssStyle(e[t-1],e[t]);break;case 106:l.setCssClass(e[t-1],e[t]);break;case 107:this.$=[e[t]];break;case 108:e[t-2].push(e[t]),this.$=e[t-2];break;case 110:this.$=e[t-1]+e[t];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},s(Be,[2,5],{8:[1,48]}),{8:[1,49]},s(A,[2,19],{22:[1,50]}),s(A,[2,21]),s(A,[2,22]),s(A,[2,23]),s(A,[2,24]),s(A,[2,25]),s(A,[2,26]),s(A,[2,27]),s(A,[2,28]),s(A,[2,29]),s(A,[2,30]),{34:[1,51]},{36:[1,52]},s(A,[2,33]),s(A,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:te,69:se,70:ie,71:ae,72:re,73:_e,74:Se}),{39:[1,65]},s(S,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),s(A,[2,65]),s(A,[2,66]),{16:69,60:b,86:k,100:E,102:T},{16:39,17:40,19:70,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:71,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:72,60:b,86:k,100:E,102:T,103:y},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:b,86:k,100:E,102:T,103:y},{13:Me,55:76},{58:78,60:[1,79]},s(A,[2,76]),s(A,[2,77]),s(A,[2,78]),s(A,[2,79]),s(G,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:b,86:k,100:E,102:T,103:y}),s(G,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:87,60:b,86:k,100:E,102:T,103:y},s(ne,[2,133]),s(ne,[2,134]),s(ne,[2,135]),s(ne,[2,136]),s([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),s(Be,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:i,35:a,37:r,42:n,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y},s(A,[2,20]),s(A,[2,31]),s(A,[2,32]),{13:[1,91],16:39,17:40,19:90,60:b,86:k,100:E,102:T,103:y},{53:92,66:56,67:57,68:te,69:se,70:ie,71:ae,72:re,73:_e,74:Se},s(A,[2,64]),{67:93,73:_e,74:Se},s(ue,[2,83],{66:94,68:te,69:se,70:ie,71:ae,72:re}),s(K,[2,84]),s(K,[2,85]),s(K,[2,86]),s(K,[2,87]),s(K,[2,88]),s(Re,[2,89]),s(Re,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:n,43:23,48:h,54:m,56:B},{16:100,60:b,86:k,100:E,102:T},{41:[1,102],45:101,51:le},{16:104,60:b,86:k,100:E,102:T},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:W,50:Q,59:110,60:j,82:X,84:111,85:112,86:H,87:q,88:J,89:Z,90:$},{60:[1,122]},{13:Me,55:123},s(S,[2,72]),s(S,[2,138]),{22:W,50:Q,59:124,60:j,61:[1,125],82:X,84:111,85:112,86:H,87:q,88:J,89:Z,90:$},s(Ge,[2,74]),{16:39,17:40,19:126,60:b,86:k,100:E,102:T,103:y},s(G,[2,16]),s(G,[2,17]),s(G,[2,18]),{11:127,12:Ue,39:[2,36]},s(ce,[2,9],{16:85,17:86,15:130,18:[1,129],60:b,86:k,100:E,102:T,103:y}),s(ce,[2,10]),s(Ne,[2,55],{11:131,12:Ue}),s(Be,[2,7]),{9:[1,132]},s(oe,[2,67]),{16:39,17:40,19:133,60:b,86:k,100:E,102:T,103:y},{13:[1,135],16:39,17:40,19:134,60:b,86:k,100:E,102:T,103:y},s(ue,[2,82],{66:136,68:te,69:se,70:ie,71:ae,72:re}),s(ue,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:n,43:23,48:h,54:m,56:B},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},s(S,[2,48],{39:[1,142]}),{41:[1,143]},s(S,[2,50]),{41:[2,61],45:144,51:le},{47:[1,145]},{16:39,17:40,19:146,60:b,86:k,100:E,102:T,103:y},s(A,[2,91],{13:[1,147]}),s(A,[2,93],{13:[1,149],77:[1,148]}),s(A,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},s(A,[2,105],{61:ze}),s(Ye,[2,107],{85:154,22:W,50:Q,60:j,82:X,86:H,87:q,88:J,89:Z,90:$}),s(x,[2,109]),s(x,[2,111]),s(x,[2,112]),s(x,[2,113]),s(x,[2,114]),s(x,[2,115]),s(x,[2,116]),s(x,[2,117]),s(x,[2,118]),s(x,[2,119]),s(A,[2,106]),s(S,[2,71]),s(A,[2,73],{61:ze}),{60:[1,155]},s(G,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:b,86:k,100:E,102:T,103:y},s(ce,[2,12]),s(Ne,[2,56]),{1:[2,4]},s(oe,[2,69]),s(oe,[2,68]),{16:39,17:40,19:158,60:b,86:k,100:E,102:T,103:y},s(ue,[2,80]),s(S,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:n,43:23,48:h,54:m,56:B},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:n,43:23,48:h,54:m,56:B},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:n,43:23,48:h,54:m,56:B},{45:163,51:le},s(S,[2,49]),{41:[2,62]},s(S,[2,52],{39:[1,164]}),s(A,[2,60]),s(A,[2,92]),s(A,[2,94]),s(A,[2,95],{77:[1,165]}),s(A,[2,98]),s(A,[2,99],{13:[1,166]}),s(A,[2,101],{13:[1,168],77:[1,167]}),{22:W,50:Q,60:j,82:X,84:169,85:112,86:H,87:q,88:J,89:Z,90:$},s(x,[2,110]),s(Ge,[2,75]),{14:[1,170]},s(ce,[2,11]),s(oe,[2,70]),s(S,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:le},s(A,[2,96]),s(A,[2,100]),s(A,[2,102]),s(A,[2,103],{77:[1,174]}),s(Ye,[2,108],{85:154,22:W,50:Q,60:j,82:X,86:H,87:q,88:J,89:Z,90:$}),s(Ne,[2,8]),s(S,[2,51]),{41:[1,175]},s(S,[2,54]),s(A,[2,104]),s(S,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:g(function(o,d){if(d.recoverable)this.trace(o);else{var p=new Error(o);throw p.hash=d,p}},"parseError"),parse:g(function(o){var d=this,p=[0],l=[],C=[null],e=[],ee=this.table,t="",de=0,Ke=0,Ze=2,We=1,$e=e.slice.call(arguments,1),D=Object.create(this.lexer),V={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(V.yy[xe]=this.yy[xe]);D.setInput(o,V.yy),V.yy.lexer=D,V.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var ve=D.yylloc;e.push(ve);var et=D.options&&D.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tt(N){p.length=p.length-2*N,C.length=C.length-N,e.length=e.length-N}g(tt,"popStack");function Qe(){var N;return N=l.pop()||D.lex()||We,typeof N!="number"&&(N instanceof Array&&(l=N,N=l.pop()),N=d.symbols_[N]||N),N}g(Qe,"lex");for(var _,P,L,Ie,U={},pe,v,je,Ae;;){if(P=p[p.length-1],this.defaultActions[P]?L=this.defaultActions[P]:((_===null||typeof _>"u")&&(_=Qe()),L=ee[P]&&ee[P][_]),typeof L>"u"||!L.length||!L[0]){var Oe="";Ae=[];for(pe in ee[P])this.terminals_[pe]&&pe>Ze&&Ae.push("'"+this.terminals_[pe]+"'");D.showPosition?Oe="Parse error on line "+(de+1)+`: `+D.showPosition()+` Expecting `+Ae.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Oe="Parse error on line "+(de+1)+": Unexpected "+(_==We?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Oe,{text:D.match,token:this.terminals_[_]||_,line:D.yylineno,loc:ve,expected:Ae})}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+_);switch(L[0]){case 1:p.push(_),C.push(D.yytext),e.push(D.yylloc),p.push(L[1]),_=null,Ke=D.yyleng,t=D.yytext,de=D.yylineno,ve=D.yylloc;break;case 2:if(v=this.productions_[L[1]][1],U.$=C[C.length-v],U._$={first_line:e[e.length-(v||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(v||1)].first_column,last_column:e[e.length-1].last_column},et&&(U._$.range=[e[e.length-(v||1)].range[0],e[e.length-1].range[1]]),Ie=this.performAction.apply(U,[t,Ke,de,V.yy,L[1],C,e].concat($e)),typeof Ie<"u")return Ie;v&&(p=p.slice(0,-1*v*2),C=C.slice(0,-1*v),e=e.slice(0,-1*v)),p.push(this.productions_[L[1]][0]),C.push(U.$),e.push(U._$),je=ee[p[p.length-2]][p[p.length-1]],p.push(je);break;case 3:return!0}}return!0},"parse")},Je=function(){var O={EOF:1,parseError:g(function(d,p){if(this.yy.parser)this.yy.parser.parseError(d,p);else throw new Error(d)},"parseError"),setInput:g(function(o,d){return this.yy=d||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:g(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var d=o.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:g(function(o){var d=o.length,p=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var l=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),p.length-1&&(this.yylineno-=p.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:p?(p.length===l.length?this.yylloc.first_column:0)+l[l.length-p.length].length-p[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:g(function(){return this._more=!0,this},"more"),reject:g(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:g(function(o){this.unput(this.match.slice(o))},"less"),pastInput:g(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:g(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:g(function(){var o=this.pastInput(),d=new Array(o.length+1).join("-");return o+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-JWPE2WC7-B2zXTT0G.js b/veadk/webui/assets/visualizations/mermaid/chunk-JWPE2WC7-Bu7GN1mm.js similarity index 78% rename from veadk/webui/assets/visualizations/mermaid/chunk-JWPE2WC7-B2zXTT0G.js rename to veadk/webui/assets/visualizations/mermaid/chunk-JWPE2WC7-Bu7GN1mm.js index 6e326cd04..a5030e240 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-JWPE2WC7-B2zXTT0G.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-JWPE2WC7-Bu7GN1mm.js @@ -1 +1 @@ -import{a as l}from"./mermaid.core-CA8ypPul.js";function m(e,c){var i,t,o;e.accDescr&&((i=c.setAccDescription)==null||i.call(c,e.accDescr)),e.accTitle&&((t=c.setAccTitle)==null||t.call(c,e.accTitle)),e.title&&((o=c.setDiagramTitle)==null||o.call(c,e.title))}l(m,"populateCommonDb");export{m as p}; +import{a as l}from"./mermaid.core-DS1qXbzQ.js";function m(e,c){var i,t,o;e.accDescr&&((i=c.setAccDescription)==null||i.call(c,e.accDescr)),e.accTitle&&((t=c.setAccTitle)==null||t.call(c,e.accTitle)),e.title&&((o=c.setDiagramTitle)==null||o.call(c,e.title))}l(m,"populateCommonDb");export{m as p}; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-KBJHAD2P-BfrlQA_C.js b/veadk/webui/assets/visualizations/mermaid/chunk-KBJHAD2P-CUyWjBEZ.js similarity index 87% rename from veadk/webui/assets/visualizations/mermaid/chunk-KBJHAD2P-BfrlQA_C.js rename to veadk/webui/assets/visualizations/mermaid/chunk-KBJHAD2P-CUyWjBEZ.js index ced800937..68bf3c305 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-KBJHAD2P-BfrlQA_C.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-KBJHAD2P-CUyWjBEZ.js @@ -1 +1 @@ -import{a,B as w,at as x}from"./mermaid.core-CA8ypPul.js";var g=a((t,e,i,o)=>{t.attr("class",i);const{width:r,height:h,x:n,y:c}=u(t,e);w(t,h,r,o);const s=B(n,c,r,h,e);t.attr("viewBox",s),x.debug(`viewBox configured: ${s} with padding: ${e}`)},"setupViewPortForSVG"),u=a((t,e)=>{var o;const i=((o=t.node())==null?void 0:o.getBBox())||{width:0,height:0,x:0,y:0};return{width:i.width+e*2,height:i.height+e*2,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),B=a((t,e,i,o,r)=>`${t-r} ${e-r} ${i} ${o}`,"createViewBox");export{g as s}; +import{a,B as w,at as x}from"./mermaid.core-DS1qXbzQ.js";var g=a((t,e,i,o)=>{t.attr("class",i);const{width:r,height:h,x:n,y:c}=u(t,e);w(t,h,r,o);const s=B(n,c,r,h,e);t.attr("viewBox",s),x.debug(`viewBox configured: ${s} with padding: ${e}`)},"setupViewPortForSVG"),u=a((t,e)=>{var o;const i=((o=t.node())==null?void 0:o.getBBox())||{width:0,height:0,x:0,y:0};return{width:i.width+e*2,height:i.height+e*2,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),B=a((t,e,i,o,r)=>`${t-r} ${e-r} ${i} ${o}`,"createViewBox");export{g as s}; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-RYQCIY6F-Bc3woq1C.js b/veadk/webui/assets/visualizations/mermaid/chunk-RYQCIY6F-Db1h9bio.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/chunk-RYQCIY6F-Bc3woq1C.js rename to veadk/webui/assets/visualizations/mermaid/chunk-RYQCIY6F-Db1h9bio.js index cb27966d1..4d131e8c7 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-RYQCIY6F-Bc3woq1C.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-RYQCIY6F-Db1h9bio.js @@ -1 +1 @@ -import{a as d,at as i}from"./mermaid.core-CA8ypPul.js";import{Q as C,G as y}from"../../chunks/graph-Dqkl27Ch.js";import{c as j,m as X}from"../../chunks/map-8WAJQ6ap.js";var p=4;function F(e){return j(e,p)}function b(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:R(e)};return C(e.graph())||(r.value=F(e.graph())),r}function M(e){return X(e.nodes(),function(r){var s=e.node(r),n=e.parent(r),a={v:r};return C(s)||(a.value=s),C(n)||(a.parent=n),a})}function R(e){return X(e.edges(),function(r){var s=e.edge(r),n={v:r.v,w:r.w};return C(r.name)||(n.name=r.name),C(s)||(n.value=s),n})}var c=new Map,v=new Map,A=new Map,J=d(()=>{v.clear(),A.clear(),c.clear()},"clear"),g=d((e,r)=>{const s=v.get(r)||[];return i.trace("In isDescendant",r," ",e," = ",s.includes(e)),s.includes(e)},"isDescendant"),_=d((e,r)=>{const s=v.get(r)||[];return i.info("Descendants of ",r," is ",s),i.info("Edge is ",e),e.v===r||e.w===r?!1:s?s.includes(e.v)||g(e.v,r)||g(e.w,r)||s.includes(e.w):(i.debug("Tilt, ",r,",not in descendants"),!1)},"edgeInCluster"),x=d((e,r,s,n)=>{i.warn("Copying children of ",e,"root",n,"data",r.node(e),n);const a=r.children(e)||[];e!==n&&a.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",a),a.forEach(o=>{if(r.children(o).length>0)x(o,r,s,n);else{const l=r.node(o);i.info("cp ",o," to ",n," with parent ",e),s.setNode(o,l),n!==r.parent(o)&&(i.warn("Setting parent",o,r.parent(o)),s.setParent(o,r.parent(o))),e!==n&&o!==e?(i.debug("Setting parent",o,e),s.setParent(o,e)):(i.info("In copy ",e,"root",n,"data",r.node(e),n),i.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==n,"node!==clusterId",o!==e));const u=r.edges(o);i.debug("Copying Edges",u),u.forEach(t=>{i.info("Edge",t);const f=r.edge(t.v,t.w,t.name);i.info("Edge data",f,n);try{if(_(t,n)){const w=v.get(n)||[],m=w.includes(t.v)||g(t.v,n)||t.v===n,D=w.includes(t.w)||g(t.w,n)||t.w===n;if(m&&D)i.info("Copying as ",t.v,t.w,f,t.name),s.setEdge(t.v,t.w,f,t.name),i.info("newGraph edges ",s.edges(),s.edge(s.edges()[0]));else{const N=m?n:t.v,h=D?n:t.w;i.info("Rebinding cross-boundary edge as ",N,h,f,t.name),r.setEdge(N,h,f,t.name)}}else i.info("Skipping copy of edge ",t.v,"-->",t.w," rootId: ",n," clusterId:",e)}catch(w){i.error(w)}})}i.debug("Removing node",o),r.removeNode(o)})},"copy"),O=d((e,r)=>{const s=r.children(e);let n=[...s];for(const a of s)A.set(a,e),n=[...n,...O(a,r)];return n},"extractDescendants"),P=d((e,r,s)=>{const n=e.edges().filter(t=>t.v===r||t.w===r),a=e.edges().filter(t=>t.v===s||t.w===s),o=n.map(t=>({v:t.v===r?s:t.v,w:t.w===r?r:t.w})),l=a.map(t=>({v:t.v,w:t.w}));return o.filter(t=>l.some(f=>t.v===f.v&&t.w===f.w))},"findCommonEdges"),E=d((e,r,s)=>{const n=r.children(e);if(i.trace("Searching children of id ",e,n),n.length<1)return e;let a;for(const o of n){const l=E(o,r,s),u=P(r,s,l);if(l)if(u.length>0)a=l;else return l}return a},"findNonClusterChild"),S=d(e=>!c.has(e)||!c.get(e).externalConnections?e:c.has(e)?c.get(e).id:e,"getAnchorId"),Q=d((e,r)=>{var s;if(!e||r>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",E(n,e,n)),v.set(n,O(n,e)),c.set(n,{id:E(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const a=e.children(n),o=e.edges();a.length>0?(i.debug("Cluster identified",n,v),o.forEach(l=>{const u=g(l.v,n),t=g(l.w,n);u^t&&(i.warn("Edge: ",l," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",v.get(n)),c.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,v)});for(let n of c.keys()){const a=c.get(n).id,o=e.parent(a);o!==n&&c.has(o)&&!c.get(o).externalConnections&&(c.get(n).id=o);const l=e.edges().some(u=>u.v===n);if(a&&((s=c.get(n))!=null&&s.externalConnections)&&l&&L(e,a,n)){const u=T(e,n,e.parent(a));u&&(c.get(n).id=u)}}e.edges().forEach(function(n){const a=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let o=n.v,l=n.w;if(i.warn("Fix XXX",c,"ids:",n.v,n.w,"Translating: ",c.get(n.v)," --- ",c.get(n.w)),c.get(n.v)||c.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),o=S(n.v),l=S(n.w),e.removeEdge(n.v,n.w,n.name),o!==n.v){const u=e.parent(o);c.get(u).externalConnections=!0,a.fromCluster=n.v}if(l!==n.w){const u=e.parent(l);c.get(u).externalConnections=!0,a.toCluster=n.w}i.warn("Fix Replacing with XXX",o,l,n.name),e.setEdge(o,l,a,n.name)}}),i.warn("Adjusted Graph",b(e)),k(e,0),i.trace(c)},"adjustClustersAndEdges"),k=d((e,r)=>{var a,o,l,u;if(i.warn("extractor - ",r,b(e),e.children("D")),r>10){i.error("Bailing out");return}let s=e.nodes(),n=!1;for(const t of s){const f=e.children(t);n=n||f.length>0}if(!n){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",s,r);for(const t of s)if(i.debug("Extracting node",t,c,c.has(t)&&!c.get(t).externalConnections,!e.parent(t),e.node(t),e.children("D")," Depth ",r),!c.has(t))i.debug("Not a cluster",t,r);else if((o=(a=c.get(t))==null?void 0:a.clusterData)!=null&&o.explicitDir&&e.children(t)&&e.children(t).length>0){i.warn("Cluster with explicit dir, creating subgraph for children",t,r);const f=c.get(t).clusterData.dir,w=new y({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});x(t,e,w,t);const m=e.node(t)||{};e.setNode(t,{...m,clusterNode:!0,id:t,clusterData:c.get(t).clusterData,label:c.get(t).label,graph:w}),i.warn("Subgraph for cluster with explicit dir created:",t,b(w))}else if(!c.get(t).externalConnections&&e.children(t)&&e.children(t).length>0){i.warn("Cluster without external connections, without a parent and with children",t,r);let w=e.graph().rankdir==="TB"?"LR":"TB";(u=(l=c.get(t))==null?void 0:l.clusterData)!=null&&u.dir&&(w=c.get(t).clusterData.dir,i.warn("Fixing dir",c.get(t).clusterData.dir,w));const m=new y({multigraph:!0,compound:!0}).setGraph({rankdir:w,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});x(t,e,m,t);const D=e.node(t)||{};e.setNode(t,{...D,clusterNode:!0,id:t,clusterData:c.get(t).clusterData,label:c.get(t).label,graph:m}),i.debug("Old graph after copy",b(e))}else i.warn("Cluster ** ",t," **not meeting the criteria !externalConnections:",!c.get(t).externalConnections," no parent: ",!e.parent(t)," children ",e.children(t)&&e.children(t).length>0,e.children("D"),r),i.debug(c);s=e.nodes(),i.warn("New list of nodes",s);for(const t of s){const f=e.node(t);i.warn(" Now next level",t,f),f!=null&&f.clusterNode&&k(f.graph,r+1)}},"extractor"),B=d((e,r)=>{if(r.length===0)return[];let s=Object.assign([],r);return r.forEach(n=>{const a=e.children(n),o=B(e,a);s=[...s,...o]}),s},"sorter"),U=d(e=>B(e,e.children()),"sortNodesByHierarchy"),L=d((e,r,s)=>{let n=e.parent(r);for(;n&&n!==s;){const a=c.get(n);if(a&&!a.externalConnections)return!0;n=e.parent(n)}return!1},"isNodeInExtractableCluster"),T=d((e,r,s)=>{const n=e.children(r)??[];for(const a of n){if(a===s||g(a,s))continue;const o=E(a,e,r);if(o&&!L(e,o,r))return o}return null},"findSafeAnchorNode");export{Q as a,c as b,J as c,E as f,U as s,b as w}; +import{a as d,at as i}from"./mermaid.core-DS1qXbzQ.js";import{Q as C,G as y}from"../../chunks/graph-Dqkl27Ch.js";import{c as j,m as X}from"../../chunks/map-8WAJQ6ap.js";var p=4;function F(e){return j(e,p)}function b(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:R(e)};return C(e.graph())||(r.value=F(e.graph())),r}function M(e){return X(e.nodes(),function(r){var s=e.node(r),n=e.parent(r),a={v:r};return C(s)||(a.value=s),C(n)||(a.parent=n),a})}function R(e){return X(e.edges(),function(r){var s=e.edge(r),n={v:r.v,w:r.w};return C(r.name)||(n.name=r.name),C(s)||(n.value=s),n})}var c=new Map,v=new Map,A=new Map,J=d(()=>{v.clear(),A.clear(),c.clear()},"clear"),g=d((e,r)=>{const s=v.get(r)||[];return i.trace("In isDescendant",r," ",e," = ",s.includes(e)),s.includes(e)},"isDescendant"),_=d((e,r)=>{const s=v.get(r)||[];return i.info("Descendants of ",r," is ",s),i.info("Edge is ",e),e.v===r||e.w===r?!1:s?s.includes(e.v)||g(e.v,r)||g(e.w,r)||s.includes(e.w):(i.debug("Tilt, ",r,",not in descendants"),!1)},"edgeInCluster"),x=d((e,r,s,n)=>{i.warn("Copying children of ",e,"root",n,"data",r.node(e),n);const a=r.children(e)||[];e!==n&&a.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",a),a.forEach(o=>{if(r.children(o).length>0)x(o,r,s,n);else{const l=r.node(o);i.info("cp ",o," to ",n," with parent ",e),s.setNode(o,l),n!==r.parent(o)&&(i.warn("Setting parent",o,r.parent(o)),s.setParent(o,r.parent(o))),e!==n&&o!==e?(i.debug("Setting parent",o,e),s.setParent(o,e)):(i.info("In copy ",e,"root",n,"data",r.node(e),n),i.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==n,"node!==clusterId",o!==e));const u=r.edges(o);i.debug("Copying Edges",u),u.forEach(t=>{i.info("Edge",t);const f=r.edge(t.v,t.w,t.name);i.info("Edge data",f,n);try{if(_(t,n)){const w=v.get(n)||[],m=w.includes(t.v)||g(t.v,n)||t.v===n,D=w.includes(t.w)||g(t.w,n)||t.w===n;if(m&&D)i.info("Copying as ",t.v,t.w,f,t.name),s.setEdge(t.v,t.w,f,t.name),i.info("newGraph edges ",s.edges(),s.edge(s.edges()[0]));else{const N=m?n:t.v,h=D?n:t.w;i.info("Rebinding cross-boundary edge as ",N,h,f,t.name),r.setEdge(N,h,f,t.name)}}else i.info("Skipping copy of edge ",t.v,"-->",t.w," rootId: ",n," clusterId:",e)}catch(w){i.error(w)}})}i.debug("Removing node",o),r.removeNode(o)})},"copy"),O=d((e,r)=>{const s=r.children(e);let n=[...s];for(const a of s)A.set(a,e),n=[...n,...O(a,r)];return n},"extractDescendants"),P=d((e,r,s)=>{const n=e.edges().filter(t=>t.v===r||t.w===r),a=e.edges().filter(t=>t.v===s||t.w===s),o=n.map(t=>({v:t.v===r?s:t.v,w:t.w===r?r:t.w})),l=a.map(t=>({v:t.v,w:t.w}));return o.filter(t=>l.some(f=>t.v===f.v&&t.w===f.w))},"findCommonEdges"),E=d((e,r,s)=>{const n=r.children(e);if(i.trace("Searching children of id ",e,n),n.length<1)return e;let a;for(const o of n){const l=E(o,r,s),u=P(r,s,l);if(l)if(u.length>0)a=l;else return l}return a},"findNonClusterChild"),S=d(e=>!c.has(e)||!c.get(e).externalConnections?e:c.has(e)?c.get(e).id:e,"getAnchorId"),Q=d((e,r)=>{var s;if(!e||r>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",E(n,e,n)),v.set(n,O(n,e)),c.set(n,{id:E(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const a=e.children(n),o=e.edges();a.length>0?(i.debug("Cluster identified",n,v),o.forEach(l=>{const u=g(l.v,n),t=g(l.w,n);u^t&&(i.warn("Edge: ",l," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",v.get(n)),c.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,v)});for(let n of c.keys()){const a=c.get(n).id,o=e.parent(a);o!==n&&c.has(o)&&!c.get(o).externalConnections&&(c.get(n).id=o);const l=e.edges().some(u=>u.v===n);if(a&&((s=c.get(n))!=null&&s.externalConnections)&&l&&L(e,a,n)){const u=T(e,n,e.parent(a));u&&(c.get(n).id=u)}}e.edges().forEach(function(n){const a=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let o=n.v,l=n.w;if(i.warn("Fix XXX",c,"ids:",n.v,n.w,"Translating: ",c.get(n.v)," --- ",c.get(n.w)),c.get(n.v)||c.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),o=S(n.v),l=S(n.w),e.removeEdge(n.v,n.w,n.name),o!==n.v){const u=e.parent(o);c.get(u).externalConnections=!0,a.fromCluster=n.v}if(l!==n.w){const u=e.parent(l);c.get(u).externalConnections=!0,a.toCluster=n.w}i.warn("Fix Replacing with XXX",o,l,n.name),e.setEdge(o,l,a,n.name)}}),i.warn("Adjusted Graph",b(e)),k(e,0),i.trace(c)},"adjustClustersAndEdges"),k=d((e,r)=>{var a,o,l,u;if(i.warn("extractor - ",r,b(e),e.children("D")),r>10){i.error("Bailing out");return}let s=e.nodes(),n=!1;for(const t of s){const f=e.children(t);n=n||f.length>0}if(!n){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",s,r);for(const t of s)if(i.debug("Extracting node",t,c,c.has(t)&&!c.get(t).externalConnections,!e.parent(t),e.node(t),e.children("D")," Depth ",r),!c.has(t))i.debug("Not a cluster",t,r);else if((o=(a=c.get(t))==null?void 0:a.clusterData)!=null&&o.explicitDir&&e.children(t)&&e.children(t).length>0){i.warn("Cluster with explicit dir, creating subgraph for children",t,r);const f=c.get(t).clusterData.dir,w=new y({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});x(t,e,w,t);const m=e.node(t)||{};e.setNode(t,{...m,clusterNode:!0,id:t,clusterData:c.get(t).clusterData,label:c.get(t).label,graph:w}),i.warn("Subgraph for cluster with explicit dir created:",t,b(w))}else if(!c.get(t).externalConnections&&e.children(t)&&e.children(t).length>0){i.warn("Cluster without external connections, without a parent and with children",t,r);let w=e.graph().rankdir==="TB"?"LR":"TB";(u=(l=c.get(t))==null?void 0:l.clusterData)!=null&&u.dir&&(w=c.get(t).clusterData.dir,i.warn("Fixing dir",c.get(t).clusterData.dir,w));const m=new y({multigraph:!0,compound:!0}).setGraph({rankdir:w,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});x(t,e,m,t);const D=e.node(t)||{};e.setNode(t,{...D,clusterNode:!0,id:t,clusterData:c.get(t).clusterData,label:c.get(t).label,graph:m}),i.debug("Old graph after copy",b(e))}else i.warn("Cluster ** ",t," **not meeting the criteria !externalConnections:",!c.get(t).externalConnections," no parent: ",!e.parent(t)," children ",e.children(t)&&e.children(t).length>0,e.children("D"),r),i.debug(c);s=e.nodes(),i.warn("New list of nodes",s);for(const t of s){const f=e.node(t);i.warn(" Now next level",t,f),f!=null&&f.clusterNode&&k(f.graph,r+1)}},"extractor"),B=d((e,r)=>{if(r.length===0)return[];let s=Object.assign([],r);return r.forEach(n=>{const a=e.children(n),o=B(e,a);s=[...s,...o]}),s},"sorter"),U=d(e=>B(e,e.children()),"sortNodesByHierarchy"),L=d((e,r,s)=>{let n=e.parent(r);for(;n&&n!==s;){const a=c.get(n);if(a&&!a.externalConnections)return!0;n=e.parent(n)}return!1},"isNodeInExtractableCluster"),T=d((e,r,s)=>{const n=e.children(r)??[];for(const a of n){if(a===s||g(a,s))continue;const o=E(a,e,r);if(o&&!L(e,o,r))return o}return null},"findSafeAnchorNode");export{Q as a,c as b,J as c,E as f,U as s,b as w}; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-XXDRQBXY-4aIfLT7K.js b/veadk/webui/assets/visualizations/mermaid/chunk-XXDRQBXY-kV8dS86B.js similarity index 52% rename from veadk/webui/assets/visualizations/mermaid/chunk-XXDRQBXY-4aIfLT7K.js rename to veadk/webui/assets/visualizations/mermaid/chunk-XXDRQBXY-kV8dS86B.js index 9db5a8754..92266841a 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-XXDRQBXY-4aIfLT7K.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-XXDRQBXY-kV8dS86B.js @@ -1 +1 @@ -import{a as n}from"./mermaid.core-CA8ypPul.js";import{ad as o}from"../../app/index-BSfA7-Qp.js";var g=n((t,e)=>{let a;return e==="sandbox"&&(a=o("#i"+t)),(e==="sandbox"?o(a.nodes()[0].contentDocument.body):o("body")).select(`[id="${t}"]`)},"getDiagramElement");export{g}; +import{a as n}from"./mermaid.core-DS1qXbzQ.js";import{ad as o}from"../../app/index-B0ly_D9Z.js";var g=n((t,e)=>{let a;return e==="sandbox"&&(a=o("#i"+t)),(e==="sandbox"?o(a.nodes()[0].contentDocument.body):o("body")).select(`[id="${t}"]`)},"getDiagramElement");export{g}; diff --git a/veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-ChGm3DyL.js b/veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-ChGm3DyL.js deleted file mode 100644 index 275a813d6..000000000 --- a/veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-ChGm3DyL.js +++ /dev/null @@ -1 +0,0 @@ -import{s as a,a as s,c as e,C as t}from"./chunk-GF5L2VYU-BOV9J-a2.js";import{a as i}from"./mermaid.core-CA8ypPul.js";import"../../app/index-BSfA7-Qp.js";import"./chunk-5VM5RSS4-W8IBP72a.js";import"./chunk-XXDRQBXY-4aIfLT7K.js";import"./chunk-KBJHAD2P-BfrlQA_C.js";import"./chunk-2GRJ4B5K-BMhlpUDn.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-DTWbWmk8.js b/veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-DTWbWmk8.js new file mode 100644 index 000000000..a8985a08f --- /dev/null +++ b/veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-DTWbWmk8.js @@ -0,0 +1 @@ +import{s as a,a as s,c as e,C as t}from"./chunk-GF5L2VYU-BY3KKzJk.js";import{a as i}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";import"./chunk-5VM5RSS4-DdofPBLB.js";import"./chunk-XXDRQBXY-kV8dS86B.js";import"./chunk-KBJHAD2P-CUyWjBEZ.js";import"./chunk-2GRJ4B5K-DFfNskzn.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-ChGm3DyL.js b/veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-ChGm3DyL.js deleted file mode 100644 index 275a813d6..000000000 --- a/veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-ChGm3DyL.js +++ /dev/null @@ -1 +0,0 @@ -import{s as a,a as s,c as e,C as t}from"./chunk-GF5L2VYU-BOV9J-a2.js";import{a as i}from"./mermaid.core-CA8ypPul.js";import"../../app/index-BSfA7-Qp.js";import"./chunk-5VM5RSS4-W8IBP72a.js";import"./chunk-XXDRQBXY-4aIfLT7K.js";import"./chunk-KBJHAD2P-BfrlQA_C.js";import"./chunk-2GRJ4B5K-BMhlpUDn.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-DTWbWmk8.js b/veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-DTWbWmk8.js new file mode 100644 index 000000000..a8985a08f --- /dev/null +++ b/veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-DTWbWmk8.js @@ -0,0 +1 @@ +import{s as a,a as s,c as e,C as t}from"./chunk-GF5L2VYU-BY3KKzJk.js";import{a as i}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";import"./chunk-5VM5RSS4-DdofPBLB.js";import"./chunk-XXDRQBXY-kV8dS86B.js";import"./chunk-KBJHAD2P-CUyWjBEZ.js";import"./chunk-2GRJ4B5K-DFfNskzn.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/cose-bilkent-JH36ORCC-TCO9YNQt.js b/veadk/webui/assets/visualizations/mermaid/cose-bilkent-JH36ORCC-DQOYzzyZ.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/cose-bilkent-JH36ORCC-TCO9YNQt.js rename to veadk/webui/assets/visualizations/mermaid/cose-bilkent-JH36ORCC-DQOYzzyZ.js index 696538fd7..2b91b4f72 100644 --- a/veadk/webui/assets/visualizations/mermaid/cose-bilkent-JH36ORCC-TCO9YNQt.js +++ b/veadk/webui/assets/visualizations/mermaid/cose-bilkent-JH36ORCC-DQOYzzyZ.js @@ -1 +1 @@ -import{a as V,at as k}from"./mermaid.core-CA8ypPul.js";import{c as J}from"../../chunks/cytoscape.esm-Dz9tvMTw.js";import{q as $,N as lt,ad as gt}from"../../app/index-BSfA7-Qp.js";var tt={exports:{}},Z={exports:{}},Q={exports:{}},q;function ut(){return q||(q=1,function(G,b){(function(I,T){G.exports=T()})($,function(){return function(N){var I={};function T(o){if(I[o])return I[o].exports;var e=I[o]={i:o,l:!1,exports:{}};return N[o].call(e.exports,e,e.exports,T),e.l=!0,e.exports}return T.m=N,T.c=I,T.i=function(o){return o},T.d=function(o,e,t){T.o(o,e)||Object.defineProperty(o,e,{configurable:!1,enumerable:!0,get:t})},T.n=function(o){var e=o&&o.__esModule?function(){return o.default}:function(){return o};return T.d(e,"a",e),e},T.o=function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},T.p="",T(T.s=26)}([function(N,I,T){function o(){}o.QUALITY=1,o.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,o.DEFAULT_INCREMENTAL=!1,o.DEFAULT_ANIMATION_ON_LAYOUT=!0,o.DEFAULT_ANIMATION_DURING_LAYOUT=!1,o.DEFAULT_ANIMATION_PERIOD=50,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,o.DEFAULT_GRAPH_MARGIN=15,o.NODE_DIMENSIONS_INCLUDE_LABELS=!1,o.SIMPLE_NODE_SIZE=40,o.SIMPLE_NODE_HALF_SIZE=o.SIMPLE_NODE_SIZE/2,o.EMPTY_COMPOUND_NODE_SIZE=40,o.MIN_EDGE_LENGTH=1,o.WORLD_BOUNDARY=1e6,o.INITIAL_WORLD_BOUNDARY=o.WORLD_BOUNDARY/1e3,o.WORLD_CENTER_X=1200,o.WORLD_CENTER_Y=900,N.exports=o},function(N,I,T){var o=T(2),e=T(8),t=T(9);function i(g,n,d){o.call(this,d),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=d,this.bendpoints=[],this.source=g,this.target=n}i.prototype=Object.create(o.prototype);for(var l in o)i[l]=o[l];i.prototype.getSource=function(){return this.source},i.prototype.getTarget=function(){return this.target},i.prototype.isInterGraph=function(){return this.isInterGraph},i.prototype.getLength=function(){return this.length},i.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},i.prototype.getBendpoints=function(){return this.bendpoints},i.prototype.getLca=function(){return this.lca},i.prototype.getSourceInLca=function(){return this.sourceInLca},i.prototype.getTargetInLca=function(){return this.targetInLca},i.prototype.getOtherEnd=function(g){if(this.source===g)return this.target;if(this.target===g)return this.source;throw"Node is not incident with this edge"},i.prototype.getOtherEndInGraph=function(g,n){for(var d=this.getOtherEnd(g),r=n.getGraphManager().getRoot();;){if(d.getOwner()==n)return d;if(d.getOwner()==r)break;d=d.getOwner().getParent()}return null},i.prototype.updateLength=function(){var g=new Array(4);this.isOverlapingSourceAndTarget=e.getIntersection(this.target.getRect(),this.source.getRect(),g),this.isOverlapingSourceAndTarget||(this.lengthX=g[0]-g[2],this.lengthY=g[1]-g[3],Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},i.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},N.exports=i},function(N,I,T){function o(e){this.vGraphObject=e}N.exports=o},function(N,I,T){var o=T(2),e=T(10),t=T(13),i=T(0),l=T(16),g=T(4);function n(r,h,a,p){a==null&&p==null&&(p=h),o.call(this,p),r.graphManager!=null&&(r=r.graphManager),this.estimatedSize=e.MIN_VALUE,this.inclusionTreeDepth=e.MAX_VALUE,this.vGraphObject=p,this.edges=[],this.graphManager=r,a!=null&&h!=null?this.rect=new t(h.x,h.y,a.width,a.height):this.rect=new t}n.prototype=Object.create(o.prototype);for(var d in o)n[d]=o[d];n.prototype.getEdges=function(){return this.edges},n.prototype.getChild=function(){return this.child},n.prototype.getOwner=function(){return this.owner},n.prototype.getWidth=function(){return this.rect.width},n.prototype.setWidth=function(r){this.rect.width=r},n.prototype.getHeight=function(){return this.rect.height},n.prototype.setHeight=function(r){this.rect.height=r},n.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},n.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},n.prototype.getCenter=function(){return new g(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},n.prototype.getLocation=function(){return new g(this.rect.x,this.rect.y)},n.prototype.getRect=function(){return this.rect},n.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},n.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},n.prototype.setRect=function(r,h){this.rect.x=r.x,this.rect.y=r.y,this.rect.width=h.width,this.rect.height=h.height},n.prototype.setCenter=function(r,h){this.rect.x=r-this.rect.width/2,this.rect.y=h-this.rect.height/2},n.prototype.setLocation=function(r,h){this.rect.x=r,this.rect.y=h},n.prototype.moveBy=function(r,h){this.rect.x+=r,this.rect.y+=h},n.prototype.getEdgeListToNode=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(p.target==r){if(p.source!=a)throw"Incorrect edge source!";h.push(p)}}),h},n.prototype.getEdgesBetween=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(!(p.source==a||p.target==a))throw"Incorrect edge source and/or target";(p.target==r||p.source==r)&&h.push(p)}),h},n.prototype.getNeighborsList=function(){var r=new Set,h=this;return h.edges.forEach(function(a){if(a.source==h)r.add(a.target);else{if(a.target!=h)throw"Incorrect incidency!";r.add(a.source)}}),r},n.prototype.withChildren=function(){var r=new Set,h,a;if(r.add(this),this.child!=null)for(var p=this.child.getNodes(),v=0;vh&&(this.rect.x-=(this.labelWidth-h)/2,this.setWidth(this.labelWidth)),this.labelHeight>a&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-a)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-a),this.setHeight(this.labelHeight))}}},n.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==e.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},n.prototype.transform=function(r){var h=this.rect.x;h>i.WORLD_BOUNDARY?h=i.WORLD_BOUNDARY:h<-i.WORLD_BOUNDARY&&(h=-i.WORLD_BOUNDARY);var a=this.rect.y;a>i.WORLD_BOUNDARY?a=i.WORLD_BOUNDARY:a<-i.WORLD_BOUNDARY&&(a=-i.WORLD_BOUNDARY);var p=new g(h,a),v=r.inverseTransformPoint(p);this.setLocation(v.x,v.y)},n.prototype.getLeft=function(){return this.rect.x},n.prototype.getRight=function(){return this.rect.x+this.rect.width},n.prototype.getTop=function(){return this.rect.y},n.prototype.getBottom=function(){return this.rect.y+this.rect.height},n.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},N.exports=n},function(N,I,T){function o(e,t){e==null&&t==null?(this.x=0,this.y=0):(this.x=e,this.y=t)}o.prototype.getX=function(){return this.x},o.prototype.getY=function(){return this.y},o.prototype.setX=function(e){this.x=e},o.prototype.setY=function(e){this.y=e},o.prototype.getDifference=function(e){return new DimensionD(this.x-e.x,this.y-e.y)},o.prototype.getCopy=function(){return new o(this.x,this.y)},o.prototype.translate=function(e){return this.x+=e.width,this.y+=e.height,this},N.exports=o},function(N,I,T){var o=T(2),e=T(10),t=T(0),i=T(6),l=T(3),g=T(1),n=T(13),d=T(12),r=T(11);function h(p,v,D){o.call(this,D),this.estimatedSize=e.MIN_VALUE,this.margin=t.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=p,v!=null&&v instanceof i?this.graphManager=v:v!=null&&v instanceof Layout&&(this.graphManager=v.graphManager)}h.prototype=Object.create(o.prototype);for(var a in o)h[a]=o[a];h.prototype.getNodes=function(){return this.nodes},h.prototype.getEdges=function(){return this.edges},h.prototype.getGraphManager=function(){return this.graphManager},h.prototype.getParent=function(){return this.parent},h.prototype.getLeft=function(){return this.left},h.prototype.getRight=function(){return this.right},h.prototype.getTop=function(){return this.top},h.prototype.getBottom=function(){return this.bottom},h.prototype.isConnected=function(){return this.isConnected},h.prototype.add=function(p,v,D){if(v==null&&D==null){var u=p;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var E=p;if(!(this.getNodes().indexOf(v)>-1&&this.getNodes().indexOf(D)>-1))throw"Source or target not in graph!";if(!(v.owner==D.owner&&v.owner==this))throw"Both owners must be this graph!";return v.owner!=D.owner?null:(E.source=v,E.target=D,E.isInterGraph=!1,this.getEdges().push(E),v.edges.push(E),D!=v&&D.edges.push(E),E)}},h.prototype.remove=function(p){var v=p;if(p instanceof l){if(v==null)throw"Node is null!";if(!(v.owner!=null&&v.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var D=v.edges.slice(),u,E=D.length,y=0;y-1&&f>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(s,1),u.target!=u.source&&u.target.edges.splice(f,1);var O=u.source.owner.getEdges().indexOf(u);if(O==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(O,1)}},h.prototype.updateLeftTop=function(){for(var p=e.MAX_VALUE,v=e.MAX_VALUE,D,u,E,y=this.getNodes(),O=y.length,s=0;sD&&(p=D),v>u&&(v=u)}return p==e.MAX_VALUE?null:(y[0].getParent().paddingLeft!=null?E=y[0].getParent().paddingLeft:E=this.margin,this.left=v-E,this.top=p-E,new d(this.left,this.top))},h.prototype.updateBounds=function(p){for(var v=e.MAX_VALUE,D=-e.MAX_VALUE,u=e.MAX_VALUE,E=-e.MAX_VALUE,y,O,s,f,c,L=this.nodes,A=L.length,m=0;my&&(v=y),Ds&&(u=s),Ey&&(v=y),Ds&&(u=s),E=this.nodes.length){var A=0;D.forEach(function(m){m.owner==p&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},N.exports=h},function(N,I,T){var o,e=T(1);function t(i){o=T(5),this.layout=i,this.graphs=[],this.edges=[]}t.prototype.addRoot=function(){var i=this.layout.newGraph(),l=this.layout.newNode(null),g=this.add(i,l);return this.setRootGraph(g),this.rootGraph},t.prototype.add=function(i,l,g,n,d){if(g==null&&n==null&&d==null){if(i==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(i)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(i),i.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return i.parent=l,l.child=i,i}else{d=g,n=l,g=i;var r=n.getOwner(),h=d.getOwner();if(!(r!=null&&r.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(h!=null&&h.getGraphManager()==this))throw"Target not in this graph mgr!";if(r==h)return g.isInterGraph=!1,r.add(g,n,d);if(g.isInterGraph=!0,g.source=n,g.target=d,this.edges.indexOf(g)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(g),!(g.source!=null&&g.target!=null))throw"Edge source and/or target is null!";if(!(g.source.edges.indexOf(g)==-1&&g.target.edges.indexOf(g)==-1))throw"Edge already in source and/or target incidency list!";return g.source.edges.push(g),g.target.edges.push(g),g}},t.prototype.remove=function(i){if(i instanceof o){var l=i;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var g=[];g=g.concat(l.getEdges());for(var n,d=g.length,r=0;r=i.getRight()?l[0]+=Math.min(i.getX()-t.getX(),t.getRight()-i.getRight()):i.getX()<=t.getX()&&i.getRight()>=t.getRight()&&(l[0]+=Math.min(t.getX()-i.getX(),i.getRight()-t.getRight())),t.getY()<=i.getY()&&t.getBottom()>=i.getBottom()?l[1]+=Math.min(i.getY()-t.getY(),t.getBottom()-i.getBottom()):i.getY()<=t.getY()&&i.getBottom()>=t.getBottom()&&(l[1]+=Math.min(t.getY()-i.getY(),i.getBottom()-t.getBottom()));var d=Math.abs((i.getCenterY()-t.getCenterY())/(i.getCenterX()-t.getCenterX()));i.getCenterY()===t.getCenterY()&&i.getCenterX()===t.getCenterX()&&(d=1);var r=d*l[0],h=l[1]/d;l[0]r)return l[0]=g,l[1]=a,l[2]=d,l[3]=L,!1;if(nd)return l[0]=h,l[1]=n,l[2]=f,l[3]=r,!1;if(gd?(l[0]=v,l[1]=D,C=!0):(l[0]=p,l[1]=a,C=!0):S===w&&(g>d?(l[0]=h,l[1]=a,C=!0):(l[0]=u,l[1]=D,C=!0)),-Y===w?d>g?(l[2]=c,l[3]=L,M=!0):(l[2]=f,l[3]=s,M=!0):Y===w&&(d>g?(l[2]=O,l[3]=s,M=!0):(l[2]=A,l[3]=L,M=!0)),C&&M)return!1;if(g>d?n>r?(x=this.getCardinalDirection(S,w,4),F=this.getCardinalDirection(Y,w,2)):(x=this.getCardinalDirection(-S,w,3),F=this.getCardinalDirection(-Y,w,1)):n>r?(x=this.getCardinalDirection(-S,w,1),F=this.getCardinalDirection(-Y,w,3)):(x=this.getCardinalDirection(S,w,2),F=this.getCardinalDirection(Y,w,4)),!C)switch(x){case 1:P=a,U=g+-y/w,l[0]=U,l[1]=P;break;case 2:U=u,P=n+E*w,l[0]=U,l[1]=P;break;case 3:P=D,U=g+y/w,l[0]=U,l[1]=P;break;case 4:U=v,P=n+-E*w,l[0]=U,l[1]=P;break}if(!M)switch(F){case 1:X=s,_=d+-R/w,l[2]=_,l[3]=X;break;case 2:_=A,X=r+m*w,l[2]=_,l[3]=X;break;case 3:X=L,_=d+R/w,l[2]=_,l[3]=X;break;case 4:_=c,X=r+-m*w,l[2]=_,l[3]=X;break}}return!1},e.getCardinalDirection=function(t,i,l){return t>i?l:1+l%4},e.getIntersection=function(t,i,l,g){if(g==null)return this.getIntersection2(t,i,l);var n=t.x,d=t.y,r=i.x,h=i.y,a=l.x,p=l.y,v=g.x,D=g.y,u=void 0,E=void 0,y=void 0,O=void 0,s=void 0,f=void 0,c=void 0,L=void 0,A=void 0;return y=h-d,s=n-r,c=r*d-n*h,O=D-p,f=a-v,L=v*p-a*D,A=y*f-O*s,A===0?null:(u=(s*L-f*c)/A,E=(O*c-y*L)/A,new o(u,E))},e.angleOfVector=function(t,i,l,g){var n=void 0;return t!==l?(n=Math.atan((g-i)/(l-t)),l0?1:e<0?-1:0},o.floor=function(e){return e<0?Math.ceil(e):Math.floor(e)},o.ceil=function(e){return e<0?Math.floor(e):Math.ceil(e)},N.exports=o},function(N,I,T){function o(){}o.MAX_VALUE=2147483647,o.MIN_VALUE=-2147483648,N.exports=o},function(N,I,T){var o=function(){function n(d,r){for(var h=0;h"u"?"undefined":o(t);return t==null||i!="object"&&i!="function"},N.exports=e},function(N,I,T){function o(a){if(Array.isArray(a)){for(var p=0,v=Array(a.length);p0&&p;){for(y.push(s[0]);y.length>0&&p;){var f=y[0];y.splice(0,1),E.add(f);for(var c=f.getEdges(),u=0;u-1&&s.splice(R,1)}E=new Set,O=new Map}}return a},h.prototype.createDummyNodesForBendpoints=function(a){for(var p=[],v=a.source,D=this.graphManager.calcLowestCommonAncestor(a.source,a.target),u=0;u0){for(var D=this.edgeToDummyNodes.get(v),u=0;u=0&&p.splice(L,1);var A=O.getNeighborsList();A.forEach(function(C){if(v.indexOf(C)<0){var M=D.get(C),S=M-1;S==1&&f.push(C),D.set(C,S)}})}v=v.concat(f),(p.length==1||p.length==2)&&(u=!0,E=p[0])}return E},h.prototype.setGraphManager=function(a){this.graphManager=a},N.exports=h},function(N,I,T){function o(){}o.seed=1,o.x=0,o.nextDouble=function(){return o.x=Math.sin(o.seed++)*1e4,o.x-Math.floor(o.x)},N.exports=o},function(N,I,T){var o=T(4);function e(t,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}e.prototype.getWorldOrgX=function(){return this.lworldOrgX},e.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},e.prototype.getWorldOrgY=function(){return this.lworldOrgY},e.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},e.prototype.getWorldExtX=function(){return this.lworldExtX},e.prototype.setWorldExtX=function(t){this.lworldExtX=t},e.prototype.getWorldExtY=function(){return this.lworldExtY},e.prototype.setWorldExtY=function(t){this.lworldExtY=t},e.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},e.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},e.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},e.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},e.prototype.getDeviceExtX=function(){return this.ldeviceExtX},e.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},e.prototype.getDeviceExtY=function(){return this.ldeviceExtY},e.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},e.prototype.transformX=function(t){var i=0,l=this.lworldExtX;return l!=0&&(i=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/l),i},e.prototype.transformY=function(t){var i=0,l=this.lworldExtY;return l!=0&&(i=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/l),i},e.prototype.inverseTransformX=function(t){var i=0,l=this.ldeviceExtX;return l!=0&&(i=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/l),i},e.prototype.inverseTransformY=function(t){var i=0,l=this.ldeviceExtY;return l!=0&&(i=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/l),i},e.prototype.inverseTransformPoint=function(t){var i=new o(this.inverseTransformX(t.x),this.inverseTransformY(t.y));return i},N.exports=e},function(N,I,T){function o(r){if(Array.isArray(r)){for(var h=0,a=Array(r.length);ht.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*t.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-t.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT_INCREMENTAL):(r>t.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(t.COOLING_ADAPTATION_FACTOR,1-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*(1-t.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},n.prototype.calcSpringForces=function(){for(var r=this.getAllEdges(),h,a=0;a0&&arguments[0]!==void 0?arguments[0]:!0,h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a,p,v,D,u=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%t.GRID_CALCULATION_CHECK_PERIOD==1&&r&&this.updateGrid(),E=new Set,a=0;ay||E>y)&&(r.gravitationForceX=-this.gravityConstant*v,r.gravitationForceY=-this.gravityConstant*D)):(y=h.getEstimatedSize()*this.compoundGravityRangeFactor,(u>y||E>y)&&(r.gravitationForceX=-this.gravityConstant*v*this.compoundGravityConstant,r.gravitationForceY=-this.gravityConstant*D*this.compoundGravityConstant))},n.prototype.isConverged=function(){var r,h=!1;return this.totalIterations>this.maxIterations/3&&(h=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),r=this.totalDisplacement=u.length||y>=u[0].length)){for(var O=0;On}}]),l}();N.exports=i},function(N,I,T){var o=function(){function i(l,g){for(var n=0;n2&&arguments[2]!==void 0?arguments[2]:1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;e(this,i),this.sequence1=l,this.sequence2=g,this.match_score=n,this.mismatch_penalty=d,this.gap_penalty=r,this.iMax=l.length+1,this.jMax=g.length+1,this.grid=new Array(this.iMax);for(var h=0;h=0;l--){var g=this.listeners[l];g.event===t&&g.callback===i&&this.listeners.splice(l,1)}},e.emit=function(t,i){for(var l=0;lg.coolingFactor*g.maxNodeDisplacement&&(this.displacementX=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementX)),Math.abs(this.displacementY)>g.coolingFactor*g.maxNodeDisplacement&&(this.displacementY=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),g.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},i.prototype.propogateDisplacementToChildren=function(g,n){for(var d=this.getChild().getNodes(),r,h=0;h0)this.positionNodesRadially(s);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var f=new Set(this.getAllNodes()),c=this.nodesWithGravity.filter(function(L){return f.has(L)});this.graphManager.setAllNodesToApplyGravitation(c),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var s=new Set(this.getAllNodes()),f=this.nodesWithGravity.filter(function(A){return s.has(A)});this.graphManager.setAllNodesToApplyGravitation(f),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var c=!this.isTreeGrowing&&!this.isGrowthFinished,L=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(c,L),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var s=this.graphManager.getAllNodes(),f={},c=0;c1){var C;for(C=0;CL&&(L=Math.floor(R.y)),m=Math.floor(R.x+n.DEFAULT_COMPONENT_SEPERATION)}this.transform(new a(r.WORLD_CENTER_X-R.x/2,r.WORLD_CENTER_Y-R.y/2))},y.radialLayout=function(s,f,c){var L=Math.max(this.maxDiagonalInTree(s),n.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(f,null,0,359,0,L);var A=u.calculateBounds(s),m=new E;m.setDeviceOrgX(A.getMinX()),m.setDeviceOrgY(A.getMinY()),m.setWorldOrgX(c.x),m.setWorldOrgY(c.y);for(var R=0;R1;){var X=_[0];_.splice(0,1);var H=w.indexOf(X);H>=0&&w.splice(H,1),U--,x--}f!=null?P=(w.indexOf(_[0])+1)%U:P=0;for(var W=Math.abs(L-c)/x,B=P;F!=x;B=++B%U){var K=w[B].getOtherEnd(s);if(K!=f){var j=(c+F*W)%360,ht=(j+W)%360;y.branchRadialLayout(K,s,j,ht,A+m,m),F++}}},y.maxDiagonalInTree=function(s){for(var f=v.MIN_VALUE,c=0;cf&&(f=A)}return f},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var s=this,f={};this.memberGroups={},this.idToDummyNode={};for(var c=[],L=this.graphManager.getAllNodes(),A=0;A"u"&&(f[C]=[]),f[C]=f[C].concat(m)}Object.keys(f).forEach(function(M){if(f[M].length>1){var S="DummyCompound_"+M;s.memberGroups[S]=f[M];var Y=f[M][0].getParent(),w=new l(s.graphManager);w.id=S,w.paddingLeft=Y.paddingLeft||0,w.paddingRight=Y.paddingRight||0,w.paddingBottom=Y.paddingBottom||0,w.paddingTop=Y.paddingTop||0,s.idToDummyNode[S]=w;var x=s.getGraphManager().add(s.newGraph(),w),F=Y.getChild();F.add(w);for(var U=0;U=0;s--){var f=this.compoundOrder[s],c=f.id,L=f.paddingLeft,A=f.paddingTop;this.adjustLocations(this.tiledMemberPack[c],f.rect.x,f.rect.y,L,A)}},y.prototype.repopulateZeroDegreeMembers=function(){var s=this,f=this.tiledZeroDegreePack;Object.keys(f).forEach(function(c){var L=s.idToDummyNode[c],A=L.paddingLeft,m=L.paddingTop;s.adjustLocations(f[c],L.rect.x,L.rect.y,A,m)})},y.prototype.getToBeTiled=function(s){var f=s.id;if(this.toBeTiled[f]!=null)return this.toBeTiled[f];var c=s.getChild();if(c==null)return this.toBeTiled[f]=!1,!1;for(var L=c.getNodes(),A=0;A0)return this.toBeTiled[f]=!1,!1;if(m.getChild()==null){this.toBeTiled[m.id]=!1;continue}if(!this.getToBeTiled(m))return this.toBeTiled[f]=!1,!1}return this.toBeTiled[f]=!0,!0},y.prototype.getNodeDegree=function(s){s.id;for(var f=s.getEdges(),c=0,L=0;LM&&(M=Y.rect.height)}c+=M+s.verticalPadding}},y.prototype.tileCompoundMembers=function(s,f){var c=this;this.tiledMemberPack=[],Object.keys(s).forEach(function(L){var A=f[L];c.tiledMemberPack[L]=c.tileNodes(s[L],A.paddingLeft+A.paddingRight),A.rect.width=c.tiledMemberPack[L].width,A.rect.height=c.tiledMemberPack[L].height})},y.prototype.tileNodes=function(s,f){var c=n.TILING_PADDING_VERTICAL,L=n.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:f,verticalPadding:c,horizontalPadding:L};s.sort(function(C,M){return C.rect.width*C.rect.height>M.rect.width*M.rect.height?-1:C.rect.width*C.rect.height0&&(R+=s.horizontalPadding),s.rowWidth[c]=R,s.width0&&(C+=s.verticalPadding);var M=0;C>s.rowHeight[c]&&(M=s.rowHeight[c],s.rowHeight[c]=C,M=s.rowHeight[c]-M),s.height+=M,s.rows[c].push(f)},y.prototype.getShortestRowIndex=function(s){for(var f=-1,c=Number.MAX_VALUE,L=0;Lc&&(f=L,c=s.rowWidth[L]);return f},y.prototype.canAddHorizontal=function(s,f,c){var L=this.getShortestRowIndex(s);if(L<0)return!0;var A=s.rowWidth[L];if(A+s.horizontalPadding+f<=s.width)return!0;var m=0;s.rowHeight[L]0&&(m=c+s.verticalPadding-s.rowHeight[L]);var R;s.width-A>=f+s.horizontalPadding?R=(s.height+m)/(A+f+s.horizontalPadding):R=(s.height+m)/s.width,m=c+s.verticalPadding;var C;return s.widthm&&f!=c){L.splice(-1,1),s.rows[c].push(A),s.rowWidth[f]=s.rowWidth[f]-m,s.rowWidth[c]=s.rowWidth[c]+m,s.width=s.rowWidth[instance.getLongestRowIndex(s)];for(var R=Number.MIN_VALUE,C=0;CR&&(R=L[C].height);f>0&&(R+=s.verticalPadding);var M=s.rowHeight[f]+s.rowHeight[c];s.rowHeight[f]=R,s.rowHeight[c]0)for(var F=A;F<=m;F++)x[0]+=this.grid[F][R-1].length+this.grid[F][R].length-1;if(m0)for(var F=R;F<=C;F++)x[3]+=this.grid[A-1][F].length+this.grid[A][F].length-1;for(var U=v.MAX_VALUE,P,_,X=0;X0){var C;C=E.getGraphManager().add(E.newGraph(),c),this.processChildrenList(C,f,E)}}},a.prototype.stop=function(){return this.stopped=!0,this};var v=function(u){u("layout","cose-bilkent",a)};typeof cytoscape<"u"&&v(cytoscape),I.exports=v}])})})(tt);var ct=tt.exports;const pt=lt(ct);J.use(pt);function et(G,b){G.forEach(N=>{const I={id:N.id,labelText:N.label,height:N.height,width:N.width,padding:N.padding??0};Object.keys(N).forEach(T=>{["id","label","height","width","padding","x","y"].includes(T)||(I[T]=N[T])}),b.add({group:"nodes",data:I,position:{x:N.x??0,y:N.y??0}})})}V(et,"addNodes");function rt(G,b){G.forEach(N=>{const I={id:N.id,source:N.start,target:N.end};Object.keys(N).forEach(T=>{["id","start","end"].includes(T)||(I[T]=N[T])}),b.add({group:"edges",data:I})})}V(rt,"addEdges");function it(G){return new Promise(b=>{const N=gt("body").append("div").attr("id","cy").attr("style","display:none"),I=J({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});N.remove(),et(G.nodes,I),rt(G.edges,I),I.nodes().forEach(function(o){o.layoutDimensions=()=>{const e=o.data();return{w:e.width,h:e.height}}});const T={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};I.layout(T).run(),I.ready(o=>{k.info("Cytoscape ready",o),b(I)})})}V(it,"createCytoscapeInstance");function nt(G){return G.nodes().map(b=>{const N=b.data(),I=b.position(),T={id:N.id,x:I.x,y:I.y};return Object.keys(N).forEach(o=>{o!=="id"&&(T[o]=N[o])}),T})}V(nt,"extractPositionedNodes");function ot(G){return G.edges().map(b=>{const N=b.data(),I=b._private.rscratch,T={id:N.id,source:N.source,target:N.target,startX:I.startX,startY:I.startY,midX:I.midX,midY:I.midY,endX:I.endX,endY:I.endY};return Object.keys(N).forEach(o=>{["id","source","target"].includes(o)||(T[o]=N[o])}),T})}V(ot,"extractPositionedEdges");async function st(G,b){k.debug("Starting cose-bilkent layout algorithm");try{at(G);const N=await it(G),I=nt(N),T=ot(N);return k.debug(`Layout completed: ${I.length} nodes, ${T.length} edges`),{nodes:I,edges:T}}catch(N){throw k.error("Error in cose-bilkent layout algorithm:",N),N}}V(st,"executeCoseBilkentLayout");function at(G){if(!G)throw new Error("Layout data is required");if(!G.config)throw new Error("Configuration is required in layout data");if(!G.rootNode)throw new Error("Root node is required");if(!G.nodes||!Array.isArray(G.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(G.edges))throw new Error("Edges array is required in layout data");return!0}V(at,"validateLayoutData");var dt=V(async(G,b,{insertCluster:N,insertEdge:I,insertEdgeLabel:T,insertMarkers:o,insertNode:e,log:t,positionEdgeLabel:i},{algorithm:l})=>{const g={},n={},d=b.select("g");o(d,G.markers,G.type,G.diagramId);const r=d.insert("g").attr("class","subgraphs"),h=d.insert("g").attr("class","edgePaths"),a=d.insert("g").attr("class","edgeLabels"),p=d.insert("g").attr("class","nodes");t.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(G.nodes.map(async u=>{if(u.isGroup){const E={...u};n[u.id]=E,g[u.id]=E,await N(r,u)}else{const E={...u};g[u.id]=E;const y=await e(p,u,{config:G.config,dir:G.direction||"TB"}),O=y.node().getBBox();E.width=O.width,E.height=O.height,E.domId=y,t.debug(`Node ${u.id} dimensions: ${O.width}x${O.height}`)}})),t.debug("Running cose-bilkent layout algorithm");const v={...G,nodes:G.nodes.map(u=>{const E=g[u.id];return{...u,width:E.width,height:E.height}})},D=await st(v,G.config);t.debug("Positioning nodes based on layout results"),D.nodes.forEach(u=>{const E=g[u.id];E!=null&&E.domId&&(E.domId.attr("transform",`translate(${u.x}, ${u.y})`),E.x=u.x,E.y=u.y,t.debug(`Positioned node ${E.id} at center (${u.x}, ${u.y})`))}),D.edges.forEach(u=>{const E=G.edges.find(y=>y.id===u.id);E&&(E.points=[{x:u.startX,y:u.startY},{x:u.midX,y:u.midY},{x:u.endX,y:u.endY}])}),t.debug("Inserting and positioning edges"),await Promise.all(G.edges.map(async u=>{await T(a,u);const E=g[u.start??""],y=g[u.end??""];if(E&&y){const O=D.edges.find(s=>s.id===u.id);if(O){t.debug("APA01 positionedEdge",O);const s={...u},f=I(h,s,n,G.type,E,y,G.diagramId);i(s,f)}else{const s={...u,points:[{x:E.x||0,y:E.y||0},{x:y.x||0,y:y.y||0}]},f=I(h,s,n,G.type,E,y,G.diagramId);i(s,f)}}})),t.debug("Cose-bilkent rendering completed")},"render"),Lt=dt;export{Lt as render}; +import{a as V,at as k}from"./mermaid.core-DS1qXbzQ.js";import{c as J}from"../../chunks/cytoscape.esm-Dz9tvMTw.js";import{q as $,N as lt,ad as gt}from"../../app/index-B0ly_D9Z.js";var tt={exports:{}},Z={exports:{}},Q={exports:{}},q;function ut(){return q||(q=1,function(G,b){(function(I,T){G.exports=T()})($,function(){return function(N){var I={};function T(o){if(I[o])return I[o].exports;var e=I[o]={i:o,l:!1,exports:{}};return N[o].call(e.exports,e,e.exports,T),e.l=!0,e.exports}return T.m=N,T.c=I,T.i=function(o){return o},T.d=function(o,e,t){T.o(o,e)||Object.defineProperty(o,e,{configurable:!1,enumerable:!0,get:t})},T.n=function(o){var e=o&&o.__esModule?function(){return o.default}:function(){return o};return T.d(e,"a",e),e},T.o=function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},T.p="",T(T.s=26)}([function(N,I,T){function o(){}o.QUALITY=1,o.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,o.DEFAULT_INCREMENTAL=!1,o.DEFAULT_ANIMATION_ON_LAYOUT=!0,o.DEFAULT_ANIMATION_DURING_LAYOUT=!1,o.DEFAULT_ANIMATION_PERIOD=50,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,o.DEFAULT_GRAPH_MARGIN=15,o.NODE_DIMENSIONS_INCLUDE_LABELS=!1,o.SIMPLE_NODE_SIZE=40,o.SIMPLE_NODE_HALF_SIZE=o.SIMPLE_NODE_SIZE/2,o.EMPTY_COMPOUND_NODE_SIZE=40,o.MIN_EDGE_LENGTH=1,o.WORLD_BOUNDARY=1e6,o.INITIAL_WORLD_BOUNDARY=o.WORLD_BOUNDARY/1e3,o.WORLD_CENTER_X=1200,o.WORLD_CENTER_Y=900,N.exports=o},function(N,I,T){var o=T(2),e=T(8),t=T(9);function i(g,n,d){o.call(this,d),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=d,this.bendpoints=[],this.source=g,this.target=n}i.prototype=Object.create(o.prototype);for(var l in o)i[l]=o[l];i.prototype.getSource=function(){return this.source},i.prototype.getTarget=function(){return this.target},i.prototype.isInterGraph=function(){return this.isInterGraph},i.prototype.getLength=function(){return this.length},i.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},i.prototype.getBendpoints=function(){return this.bendpoints},i.prototype.getLca=function(){return this.lca},i.prototype.getSourceInLca=function(){return this.sourceInLca},i.prototype.getTargetInLca=function(){return this.targetInLca},i.prototype.getOtherEnd=function(g){if(this.source===g)return this.target;if(this.target===g)return this.source;throw"Node is not incident with this edge"},i.prototype.getOtherEndInGraph=function(g,n){for(var d=this.getOtherEnd(g),r=n.getGraphManager().getRoot();;){if(d.getOwner()==n)return d;if(d.getOwner()==r)break;d=d.getOwner().getParent()}return null},i.prototype.updateLength=function(){var g=new Array(4);this.isOverlapingSourceAndTarget=e.getIntersection(this.target.getRect(),this.source.getRect(),g),this.isOverlapingSourceAndTarget||(this.lengthX=g[0]-g[2],this.lengthY=g[1]-g[3],Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},i.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},N.exports=i},function(N,I,T){function o(e){this.vGraphObject=e}N.exports=o},function(N,I,T){var o=T(2),e=T(10),t=T(13),i=T(0),l=T(16),g=T(4);function n(r,h,a,p){a==null&&p==null&&(p=h),o.call(this,p),r.graphManager!=null&&(r=r.graphManager),this.estimatedSize=e.MIN_VALUE,this.inclusionTreeDepth=e.MAX_VALUE,this.vGraphObject=p,this.edges=[],this.graphManager=r,a!=null&&h!=null?this.rect=new t(h.x,h.y,a.width,a.height):this.rect=new t}n.prototype=Object.create(o.prototype);for(var d in o)n[d]=o[d];n.prototype.getEdges=function(){return this.edges},n.prototype.getChild=function(){return this.child},n.prototype.getOwner=function(){return this.owner},n.prototype.getWidth=function(){return this.rect.width},n.prototype.setWidth=function(r){this.rect.width=r},n.prototype.getHeight=function(){return this.rect.height},n.prototype.setHeight=function(r){this.rect.height=r},n.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},n.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},n.prototype.getCenter=function(){return new g(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},n.prototype.getLocation=function(){return new g(this.rect.x,this.rect.y)},n.prototype.getRect=function(){return this.rect},n.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},n.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},n.prototype.setRect=function(r,h){this.rect.x=r.x,this.rect.y=r.y,this.rect.width=h.width,this.rect.height=h.height},n.prototype.setCenter=function(r,h){this.rect.x=r-this.rect.width/2,this.rect.y=h-this.rect.height/2},n.prototype.setLocation=function(r,h){this.rect.x=r,this.rect.y=h},n.prototype.moveBy=function(r,h){this.rect.x+=r,this.rect.y+=h},n.prototype.getEdgeListToNode=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(p.target==r){if(p.source!=a)throw"Incorrect edge source!";h.push(p)}}),h},n.prototype.getEdgesBetween=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(!(p.source==a||p.target==a))throw"Incorrect edge source and/or target";(p.target==r||p.source==r)&&h.push(p)}),h},n.prototype.getNeighborsList=function(){var r=new Set,h=this;return h.edges.forEach(function(a){if(a.source==h)r.add(a.target);else{if(a.target!=h)throw"Incorrect incidency!";r.add(a.source)}}),r},n.prototype.withChildren=function(){var r=new Set,h,a;if(r.add(this),this.child!=null)for(var p=this.child.getNodes(),v=0;vh&&(this.rect.x-=(this.labelWidth-h)/2,this.setWidth(this.labelWidth)),this.labelHeight>a&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-a)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-a),this.setHeight(this.labelHeight))}}},n.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==e.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},n.prototype.transform=function(r){var h=this.rect.x;h>i.WORLD_BOUNDARY?h=i.WORLD_BOUNDARY:h<-i.WORLD_BOUNDARY&&(h=-i.WORLD_BOUNDARY);var a=this.rect.y;a>i.WORLD_BOUNDARY?a=i.WORLD_BOUNDARY:a<-i.WORLD_BOUNDARY&&(a=-i.WORLD_BOUNDARY);var p=new g(h,a),v=r.inverseTransformPoint(p);this.setLocation(v.x,v.y)},n.prototype.getLeft=function(){return this.rect.x},n.prototype.getRight=function(){return this.rect.x+this.rect.width},n.prototype.getTop=function(){return this.rect.y},n.prototype.getBottom=function(){return this.rect.y+this.rect.height},n.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},N.exports=n},function(N,I,T){function o(e,t){e==null&&t==null?(this.x=0,this.y=0):(this.x=e,this.y=t)}o.prototype.getX=function(){return this.x},o.prototype.getY=function(){return this.y},o.prototype.setX=function(e){this.x=e},o.prototype.setY=function(e){this.y=e},o.prototype.getDifference=function(e){return new DimensionD(this.x-e.x,this.y-e.y)},o.prototype.getCopy=function(){return new o(this.x,this.y)},o.prototype.translate=function(e){return this.x+=e.width,this.y+=e.height,this},N.exports=o},function(N,I,T){var o=T(2),e=T(10),t=T(0),i=T(6),l=T(3),g=T(1),n=T(13),d=T(12),r=T(11);function h(p,v,D){o.call(this,D),this.estimatedSize=e.MIN_VALUE,this.margin=t.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=p,v!=null&&v instanceof i?this.graphManager=v:v!=null&&v instanceof Layout&&(this.graphManager=v.graphManager)}h.prototype=Object.create(o.prototype);for(var a in o)h[a]=o[a];h.prototype.getNodes=function(){return this.nodes},h.prototype.getEdges=function(){return this.edges},h.prototype.getGraphManager=function(){return this.graphManager},h.prototype.getParent=function(){return this.parent},h.prototype.getLeft=function(){return this.left},h.prototype.getRight=function(){return this.right},h.prototype.getTop=function(){return this.top},h.prototype.getBottom=function(){return this.bottom},h.prototype.isConnected=function(){return this.isConnected},h.prototype.add=function(p,v,D){if(v==null&&D==null){var u=p;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var E=p;if(!(this.getNodes().indexOf(v)>-1&&this.getNodes().indexOf(D)>-1))throw"Source or target not in graph!";if(!(v.owner==D.owner&&v.owner==this))throw"Both owners must be this graph!";return v.owner!=D.owner?null:(E.source=v,E.target=D,E.isInterGraph=!1,this.getEdges().push(E),v.edges.push(E),D!=v&&D.edges.push(E),E)}},h.prototype.remove=function(p){var v=p;if(p instanceof l){if(v==null)throw"Node is null!";if(!(v.owner!=null&&v.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var D=v.edges.slice(),u,E=D.length,y=0;y-1&&f>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(s,1),u.target!=u.source&&u.target.edges.splice(f,1);var O=u.source.owner.getEdges().indexOf(u);if(O==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(O,1)}},h.prototype.updateLeftTop=function(){for(var p=e.MAX_VALUE,v=e.MAX_VALUE,D,u,E,y=this.getNodes(),O=y.length,s=0;sD&&(p=D),v>u&&(v=u)}return p==e.MAX_VALUE?null:(y[0].getParent().paddingLeft!=null?E=y[0].getParent().paddingLeft:E=this.margin,this.left=v-E,this.top=p-E,new d(this.left,this.top))},h.prototype.updateBounds=function(p){for(var v=e.MAX_VALUE,D=-e.MAX_VALUE,u=e.MAX_VALUE,E=-e.MAX_VALUE,y,O,s,f,c,L=this.nodes,A=L.length,m=0;my&&(v=y),Ds&&(u=s),Ey&&(v=y),Ds&&(u=s),E=this.nodes.length){var A=0;D.forEach(function(m){m.owner==p&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},N.exports=h},function(N,I,T){var o,e=T(1);function t(i){o=T(5),this.layout=i,this.graphs=[],this.edges=[]}t.prototype.addRoot=function(){var i=this.layout.newGraph(),l=this.layout.newNode(null),g=this.add(i,l);return this.setRootGraph(g),this.rootGraph},t.prototype.add=function(i,l,g,n,d){if(g==null&&n==null&&d==null){if(i==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(i)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(i),i.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return i.parent=l,l.child=i,i}else{d=g,n=l,g=i;var r=n.getOwner(),h=d.getOwner();if(!(r!=null&&r.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(h!=null&&h.getGraphManager()==this))throw"Target not in this graph mgr!";if(r==h)return g.isInterGraph=!1,r.add(g,n,d);if(g.isInterGraph=!0,g.source=n,g.target=d,this.edges.indexOf(g)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(g),!(g.source!=null&&g.target!=null))throw"Edge source and/or target is null!";if(!(g.source.edges.indexOf(g)==-1&&g.target.edges.indexOf(g)==-1))throw"Edge already in source and/or target incidency list!";return g.source.edges.push(g),g.target.edges.push(g),g}},t.prototype.remove=function(i){if(i instanceof o){var l=i;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var g=[];g=g.concat(l.getEdges());for(var n,d=g.length,r=0;r=i.getRight()?l[0]+=Math.min(i.getX()-t.getX(),t.getRight()-i.getRight()):i.getX()<=t.getX()&&i.getRight()>=t.getRight()&&(l[0]+=Math.min(t.getX()-i.getX(),i.getRight()-t.getRight())),t.getY()<=i.getY()&&t.getBottom()>=i.getBottom()?l[1]+=Math.min(i.getY()-t.getY(),t.getBottom()-i.getBottom()):i.getY()<=t.getY()&&i.getBottom()>=t.getBottom()&&(l[1]+=Math.min(t.getY()-i.getY(),i.getBottom()-t.getBottom()));var d=Math.abs((i.getCenterY()-t.getCenterY())/(i.getCenterX()-t.getCenterX()));i.getCenterY()===t.getCenterY()&&i.getCenterX()===t.getCenterX()&&(d=1);var r=d*l[0],h=l[1]/d;l[0]r)return l[0]=g,l[1]=a,l[2]=d,l[3]=L,!1;if(nd)return l[0]=h,l[1]=n,l[2]=f,l[3]=r,!1;if(gd?(l[0]=v,l[1]=D,C=!0):(l[0]=p,l[1]=a,C=!0):S===w&&(g>d?(l[0]=h,l[1]=a,C=!0):(l[0]=u,l[1]=D,C=!0)),-Y===w?d>g?(l[2]=c,l[3]=L,M=!0):(l[2]=f,l[3]=s,M=!0):Y===w&&(d>g?(l[2]=O,l[3]=s,M=!0):(l[2]=A,l[3]=L,M=!0)),C&&M)return!1;if(g>d?n>r?(x=this.getCardinalDirection(S,w,4),F=this.getCardinalDirection(Y,w,2)):(x=this.getCardinalDirection(-S,w,3),F=this.getCardinalDirection(-Y,w,1)):n>r?(x=this.getCardinalDirection(-S,w,1),F=this.getCardinalDirection(-Y,w,3)):(x=this.getCardinalDirection(S,w,2),F=this.getCardinalDirection(Y,w,4)),!C)switch(x){case 1:P=a,U=g+-y/w,l[0]=U,l[1]=P;break;case 2:U=u,P=n+E*w,l[0]=U,l[1]=P;break;case 3:P=D,U=g+y/w,l[0]=U,l[1]=P;break;case 4:U=v,P=n+-E*w,l[0]=U,l[1]=P;break}if(!M)switch(F){case 1:X=s,_=d+-R/w,l[2]=_,l[3]=X;break;case 2:_=A,X=r+m*w,l[2]=_,l[3]=X;break;case 3:X=L,_=d+R/w,l[2]=_,l[3]=X;break;case 4:_=c,X=r+-m*w,l[2]=_,l[3]=X;break}}return!1},e.getCardinalDirection=function(t,i,l){return t>i?l:1+l%4},e.getIntersection=function(t,i,l,g){if(g==null)return this.getIntersection2(t,i,l);var n=t.x,d=t.y,r=i.x,h=i.y,a=l.x,p=l.y,v=g.x,D=g.y,u=void 0,E=void 0,y=void 0,O=void 0,s=void 0,f=void 0,c=void 0,L=void 0,A=void 0;return y=h-d,s=n-r,c=r*d-n*h,O=D-p,f=a-v,L=v*p-a*D,A=y*f-O*s,A===0?null:(u=(s*L-f*c)/A,E=(O*c-y*L)/A,new o(u,E))},e.angleOfVector=function(t,i,l,g){var n=void 0;return t!==l?(n=Math.atan((g-i)/(l-t)),l0?1:e<0?-1:0},o.floor=function(e){return e<0?Math.ceil(e):Math.floor(e)},o.ceil=function(e){return e<0?Math.floor(e):Math.ceil(e)},N.exports=o},function(N,I,T){function o(){}o.MAX_VALUE=2147483647,o.MIN_VALUE=-2147483648,N.exports=o},function(N,I,T){var o=function(){function n(d,r){for(var h=0;h"u"?"undefined":o(t);return t==null||i!="object"&&i!="function"},N.exports=e},function(N,I,T){function o(a){if(Array.isArray(a)){for(var p=0,v=Array(a.length);p0&&p;){for(y.push(s[0]);y.length>0&&p;){var f=y[0];y.splice(0,1),E.add(f);for(var c=f.getEdges(),u=0;u-1&&s.splice(R,1)}E=new Set,O=new Map}}return a},h.prototype.createDummyNodesForBendpoints=function(a){for(var p=[],v=a.source,D=this.graphManager.calcLowestCommonAncestor(a.source,a.target),u=0;u0){for(var D=this.edgeToDummyNodes.get(v),u=0;u=0&&p.splice(L,1);var A=O.getNeighborsList();A.forEach(function(C){if(v.indexOf(C)<0){var M=D.get(C),S=M-1;S==1&&f.push(C),D.set(C,S)}})}v=v.concat(f),(p.length==1||p.length==2)&&(u=!0,E=p[0])}return E},h.prototype.setGraphManager=function(a){this.graphManager=a},N.exports=h},function(N,I,T){function o(){}o.seed=1,o.x=0,o.nextDouble=function(){return o.x=Math.sin(o.seed++)*1e4,o.x-Math.floor(o.x)},N.exports=o},function(N,I,T){var o=T(4);function e(t,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}e.prototype.getWorldOrgX=function(){return this.lworldOrgX},e.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},e.prototype.getWorldOrgY=function(){return this.lworldOrgY},e.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},e.prototype.getWorldExtX=function(){return this.lworldExtX},e.prototype.setWorldExtX=function(t){this.lworldExtX=t},e.prototype.getWorldExtY=function(){return this.lworldExtY},e.prototype.setWorldExtY=function(t){this.lworldExtY=t},e.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},e.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},e.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},e.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},e.prototype.getDeviceExtX=function(){return this.ldeviceExtX},e.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},e.prototype.getDeviceExtY=function(){return this.ldeviceExtY},e.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},e.prototype.transformX=function(t){var i=0,l=this.lworldExtX;return l!=0&&(i=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/l),i},e.prototype.transformY=function(t){var i=0,l=this.lworldExtY;return l!=0&&(i=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/l),i},e.prototype.inverseTransformX=function(t){var i=0,l=this.ldeviceExtX;return l!=0&&(i=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/l),i},e.prototype.inverseTransformY=function(t){var i=0,l=this.ldeviceExtY;return l!=0&&(i=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/l),i},e.prototype.inverseTransformPoint=function(t){var i=new o(this.inverseTransformX(t.x),this.inverseTransformY(t.y));return i},N.exports=e},function(N,I,T){function o(r){if(Array.isArray(r)){for(var h=0,a=Array(r.length);ht.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*t.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-t.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT_INCREMENTAL):(r>t.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(t.COOLING_ADAPTATION_FACTOR,1-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*(1-t.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},n.prototype.calcSpringForces=function(){for(var r=this.getAllEdges(),h,a=0;a0&&arguments[0]!==void 0?arguments[0]:!0,h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a,p,v,D,u=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%t.GRID_CALCULATION_CHECK_PERIOD==1&&r&&this.updateGrid(),E=new Set,a=0;ay||E>y)&&(r.gravitationForceX=-this.gravityConstant*v,r.gravitationForceY=-this.gravityConstant*D)):(y=h.getEstimatedSize()*this.compoundGravityRangeFactor,(u>y||E>y)&&(r.gravitationForceX=-this.gravityConstant*v*this.compoundGravityConstant,r.gravitationForceY=-this.gravityConstant*D*this.compoundGravityConstant))},n.prototype.isConverged=function(){var r,h=!1;return this.totalIterations>this.maxIterations/3&&(h=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),r=this.totalDisplacement=u.length||y>=u[0].length)){for(var O=0;On}}]),l}();N.exports=i},function(N,I,T){var o=function(){function i(l,g){for(var n=0;n2&&arguments[2]!==void 0?arguments[2]:1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;e(this,i),this.sequence1=l,this.sequence2=g,this.match_score=n,this.mismatch_penalty=d,this.gap_penalty=r,this.iMax=l.length+1,this.jMax=g.length+1,this.grid=new Array(this.iMax);for(var h=0;h=0;l--){var g=this.listeners[l];g.event===t&&g.callback===i&&this.listeners.splice(l,1)}},e.emit=function(t,i){for(var l=0;lg.coolingFactor*g.maxNodeDisplacement&&(this.displacementX=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementX)),Math.abs(this.displacementY)>g.coolingFactor*g.maxNodeDisplacement&&(this.displacementY=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),g.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},i.prototype.propogateDisplacementToChildren=function(g,n){for(var d=this.getChild().getNodes(),r,h=0;h0)this.positionNodesRadially(s);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var f=new Set(this.getAllNodes()),c=this.nodesWithGravity.filter(function(L){return f.has(L)});this.graphManager.setAllNodesToApplyGravitation(c),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var s=new Set(this.getAllNodes()),f=this.nodesWithGravity.filter(function(A){return s.has(A)});this.graphManager.setAllNodesToApplyGravitation(f),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var c=!this.isTreeGrowing&&!this.isGrowthFinished,L=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(c,L),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var s=this.graphManager.getAllNodes(),f={},c=0;c1){var C;for(C=0;CL&&(L=Math.floor(R.y)),m=Math.floor(R.x+n.DEFAULT_COMPONENT_SEPERATION)}this.transform(new a(r.WORLD_CENTER_X-R.x/2,r.WORLD_CENTER_Y-R.y/2))},y.radialLayout=function(s,f,c){var L=Math.max(this.maxDiagonalInTree(s),n.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(f,null,0,359,0,L);var A=u.calculateBounds(s),m=new E;m.setDeviceOrgX(A.getMinX()),m.setDeviceOrgY(A.getMinY()),m.setWorldOrgX(c.x),m.setWorldOrgY(c.y);for(var R=0;R1;){var X=_[0];_.splice(0,1);var H=w.indexOf(X);H>=0&&w.splice(H,1),U--,x--}f!=null?P=(w.indexOf(_[0])+1)%U:P=0;for(var W=Math.abs(L-c)/x,B=P;F!=x;B=++B%U){var K=w[B].getOtherEnd(s);if(K!=f){var j=(c+F*W)%360,ht=(j+W)%360;y.branchRadialLayout(K,s,j,ht,A+m,m),F++}}},y.maxDiagonalInTree=function(s){for(var f=v.MIN_VALUE,c=0;cf&&(f=A)}return f},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var s=this,f={};this.memberGroups={},this.idToDummyNode={};for(var c=[],L=this.graphManager.getAllNodes(),A=0;A"u"&&(f[C]=[]),f[C]=f[C].concat(m)}Object.keys(f).forEach(function(M){if(f[M].length>1){var S="DummyCompound_"+M;s.memberGroups[S]=f[M];var Y=f[M][0].getParent(),w=new l(s.graphManager);w.id=S,w.paddingLeft=Y.paddingLeft||0,w.paddingRight=Y.paddingRight||0,w.paddingBottom=Y.paddingBottom||0,w.paddingTop=Y.paddingTop||0,s.idToDummyNode[S]=w;var x=s.getGraphManager().add(s.newGraph(),w),F=Y.getChild();F.add(w);for(var U=0;U=0;s--){var f=this.compoundOrder[s],c=f.id,L=f.paddingLeft,A=f.paddingTop;this.adjustLocations(this.tiledMemberPack[c],f.rect.x,f.rect.y,L,A)}},y.prototype.repopulateZeroDegreeMembers=function(){var s=this,f=this.tiledZeroDegreePack;Object.keys(f).forEach(function(c){var L=s.idToDummyNode[c],A=L.paddingLeft,m=L.paddingTop;s.adjustLocations(f[c],L.rect.x,L.rect.y,A,m)})},y.prototype.getToBeTiled=function(s){var f=s.id;if(this.toBeTiled[f]!=null)return this.toBeTiled[f];var c=s.getChild();if(c==null)return this.toBeTiled[f]=!1,!1;for(var L=c.getNodes(),A=0;A0)return this.toBeTiled[f]=!1,!1;if(m.getChild()==null){this.toBeTiled[m.id]=!1;continue}if(!this.getToBeTiled(m))return this.toBeTiled[f]=!1,!1}return this.toBeTiled[f]=!0,!0},y.prototype.getNodeDegree=function(s){s.id;for(var f=s.getEdges(),c=0,L=0;LM&&(M=Y.rect.height)}c+=M+s.verticalPadding}},y.prototype.tileCompoundMembers=function(s,f){var c=this;this.tiledMemberPack=[],Object.keys(s).forEach(function(L){var A=f[L];c.tiledMemberPack[L]=c.tileNodes(s[L],A.paddingLeft+A.paddingRight),A.rect.width=c.tiledMemberPack[L].width,A.rect.height=c.tiledMemberPack[L].height})},y.prototype.tileNodes=function(s,f){var c=n.TILING_PADDING_VERTICAL,L=n.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:f,verticalPadding:c,horizontalPadding:L};s.sort(function(C,M){return C.rect.width*C.rect.height>M.rect.width*M.rect.height?-1:C.rect.width*C.rect.height0&&(R+=s.horizontalPadding),s.rowWidth[c]=R,s.width0&&(C+=s.verticalPadding);var M=0;C>s.rowHeight[c]&&(M=s.rowHeight[c],s.rowHeight[c]=C,M=s.rowHeight[c]-M),s.height+=M,s.rows[c].push(f)},y.prototype.getShortestRowIndex=function(s){for(var f=-1,c=Number.MAX_VALUE,L=0;Lc&&(f=L,c=s.rowWidth[L]);return f},y.prototype.canAddHorizontal=function(s,f,c){var L=this.getShortestRowIndex(s);if(L<0)return!0;var A=s.rowWidth[L];if(A+s.horizontalPadding+f<=s.width)return!0;var m=0;s.rowHeight[L]0&&(m=c+s.verticalPadding-s.rowHeight[L]);var R;s.width-A>=f+s.horizontalPadding?R=(s.height+m)/(A+f+s.horizontalPadding):R=(s.height+m)/s.width,m=c+s.verticalPadding;var C;return s.widthm&&f!=c){L.splice(-1,1),s.rows[c].push(A),s.rowWidth[f]=s.rowWidth[f]-m,s.rowWidth[c]=s.rowWidth[c]+m,s.width=s.rowWidth[instance.getLongestRowIndex(s)];for(var R=Number.MIN_VALUE,C=0;CR&&(R=L[C].height);f>0&&(R+=s.verticalPadding);var M=s.rowHeight[f]+s.rowHeight[c];s.rowHeight[f]=R,s.rowHeight[c]0)for(var F=A;F<=m;F++)x[0]+=this.grid[F][R-1].length+this.grid[F][R].length-1;if(m0)for(var F=R;F<=C;F++)x[3]+=this.grid[A-1][F].length+this.grid[A][F].length-1;for(var U=v.MAX_VALUE,P,_,X=0;X0){var C;C=E.getGraphManager().add(E.newGraph(),c),this.processChildrenList(C,f,E)}}},a.prototype.stop=function(){return this.stopped=!0,this};var v=function(u){u("layout","cose-bilkent",a)};typeof cytoscape<"u"&&v(cytoscape),I.exports=v}])})})(tt);var ct=tt.exports;const pt=lt(ct);J.use(pt);function et(G,b){G.forEach(N=>{const I={id:N.id,labelText:N.label,height:N.height,width:N.width,padding:N.padding??0};Object.keys(N).forEach(T=>{["id","label","height","width","padding","x","y"].includes(T)||(I[T]=N[T])}),b.add({group:"nodes",data:I,position:{x:N.x??0,y:N.y??0}})})}V(et,"addNodes");function rt(G,b){G.forEach(N=>{const I={id:N.id,source:N.start,target:N.end};Object.keys(N).forEach(T=>{["id","start","end"].includes(T)||(I[T]=N[T])}),b.add({group:"edges",data:I})})}V(rt,"addEdges");function it(G){return new Promise(b=>{const N=gt("body").append("div").attr("id","cy").attr("style","display:none"),I=J({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});N.remove(),et(G.nodes,I),rt(G.edges,I),I.nodes().forEach(function(o){o.layoutDimensions=()=>{const e=o.data();return{w:e.width,h:e.height}}});const T={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};I.layout(T).run(),I.ready(o=>{k.info("Cytoscape ready",o),b(I)})})}V(it,"createCytoscapeInstance");function nt(G){return G.nodes().map(b=>{const N=b.data(),I=b.position(),T={id:N.id,x:I.x,y:I.y};return Object.keys(N).forEach(o=>{o!=="id"&&(T[o]=N[o])}),T})}V(nt,"extractPositionedNodes");function ot(G){return G.edges().map(b=>{const N=b.data(),I=b._private.rscratch,T={id:N.id,source:N.source,target:N.target,startX:I.startX,startY:I.startY,midX:I.midX,midY:I.midY,endX:I.endX,endY:I.endY};return Object.keys(N).forEach(o=>{["id","source","target"].includes(o)||(T[o]=N[o])}),T})}V(ot,"extractPositionedEdges");async function st(G,b){k.debug("Starting cose-bilkent layout algorithm");try{at(G);const N=await it(G),I=nt(N),T=ot(N);return k.debug(`Layout completed: ${I.length} nodes, ${T.length} edges`),{nodes:I,edges:T}}catch(N){throw k.error("Error in cose-bilkent layout algorithm:",N),N}}V(st,"executeCoseBilkentLayout");function at(G){if(!G)throw new Error("Layout data is required");if(!G.config)throw new Error("Configuration is required in layout data");if(!G.rootNode)throw new Error("Root node is required");if(!G.nodes||!Array.isArray(G.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(G.edges))throw new Error("Edges array is required in layout data");return!0}V(at,"validateLayoutData");var dt=V(async(G,b,{insertCluster:N,insertEdge:I,insertEdgeLabel:T,insertMarkers:o,insertNode:e,log:t,positionEdgeLabel:i},{algorithm:l})=>{const g={},n={},d=b.select("g");o(d,G.markers,G.type,G.diagramId);const r=d.insert("g").attr("class","subgraphs"),h=d.insert("g").attr("class","edgePaths"),a=d.insert("g").attr("class","edgeLabels"),p=d.insert("g").attr("class","nodes");t.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(G.nodes.map(async u=>{if(u.isGroup){const E={...u};n[u.id]=E,g[u.id]=E,await N(r,u)}else{const E={...u};g[u.id]=E;const y=await e(p,u,{config:G.config,dir:G.direction||"TB"}),O=y.node().getBBox();E.width=O.width,E.height=O.height,E.domId=y,t.debug(`Node ${u.id} dimensions: ${O.width}x${O.height}`)}})),t.debug("Running cose-bilkent layout algorithm");const v={...G,nodes:G.nodes.map(u=>{const E=g[u.id];return{...u,width:E.width,height:E.height}})},D=await st(v,G.config);t.debug("Positioning nodes based on layout results"),D.nodes.forEach(u=>{const E=g[u.id];E!=null&&E.domId&&(E.domId.attr("transform",`translate(${u.x}, ${u.y})`),E.x=u.x,E.y=u.y,t.debug(`Positioned node ${E.id} at center (${u.x}, ${u.y})`))}),D.edges.forEach(u=>{const E=G.edges.find(y=>y.id===u.id);E&&(E.points=[{x:u.startX,y:u.startY},{x:u.midX,y:u.midY},{x:u.endX,y:u.endY}])}),t.debug("Inserting and positioning edges"),await Promise.all(G.edges.map(async u=>{await T(a,u);const E=g[u.start??""],y=g[u.end??""];if(E&&y){const O=D.edges.find(s=>s.id===u.id);if(O){t.debug("APA01 positionedEdge",O);const s={...u},f=I(h,s,n,G.type,E,y,G.diagramId);i(s,f)}else{const s={...u,points:[{x:E.x||0,y:E.y||0},{x:y.x||0,y:y.y||0}]},f=I(h,s,n,G.type,E,y,G.diagramId);i(s,f)}}})),t.debug("Cose-bilkent rendering completed")},"render"),Lt=dt;export{Lt as render}; diff --git a/veadk/webui/assets/visualizations/mermaid/cynefin-OW5HDTMX-DZwYx8KA.js b/veadk/webui/assets/visualizations/mermaid/cynefin-OW5HDTMX-CJh-KUCL.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/cynefin-OW5HDTMX-DZwYx8KA.js rename to veadk/webui/assets/visualizations/mermaid/cynefin-OW5HDTMX-CJh-KUCL.js index 266024819..1671594ec 100644 --- a/veadk/webui/assets/visualizations/mermaid/cynefin-OW5HDTMX-DZwYx8KA.js +++ b/veadk/webui/assets/visualizations/mermaid/cynefin-OW5HDTMX-CJh-KUCL.js @@ -1,4 +1,4 @@ -var dk=Object.defineProperty;var pk=(t,e,r)=>e in t?dk(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var Br=(t,e,r)=>pk(t,typeof e!="symbol"?e+"":e,r);import{_ as ut}from"../../app/index-BSfA7-Qp.js";var mk=Object.create,Du=Object.defineProperty,hk=Object.getOwnPropertyDescriptor,Th=Object.getOwnPropertyNames,yk=Object.getPrototypeOf,gk=Object.prototype.hasOwnProperty,s=(t,e)=>Du(t,"name",{value:e,configurable:!0}),vk=(t,e)=>function(){return t&&(e=(0,t[Th(t)[0]])(t=0)),e},X=(t,e)=>function(){return e||(0,t[Th(t)[0]])((e={exports:{}}).exports,e),e.exports},tn=(t,e)=>{for(var r in e)Du(t,r,{get:e[r],enumerable:!0})},$h=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Th(e))!gk.call(t,a)&&a!==r&&Du(t,a,{get:()=>e[a],enumerable:!(n=hk(e,a))||n.enumerable});return t},Of=(t,e,r)=>($h(t,e,"default"),r),Rh=(t,e,r)=>(r=t!=null?mk(yk(t)):{},$h(Du(r,"default",{value:t,enumerable:!0}),t)),Ah=t=>$h(Du({},"__esModule",{value:!0}),t),Lf={};tn(Lf,{AnnotatedTextEdit:()=>Ar,ChangeAnnotation:()=>mn,ChangeAnnotationIdentifier:()=>et,CodeAction:()=>Qp,CodeActionContext:()=>Zp,CodeActionKind:()=>Jp,CodeActionTriggerKind:()=>Xl,CodeDescription:()=>Ip,CodeLens:()=>em,Color:()=>Ec,ColorInformation:()=>Ep,ColorPresentation:()=>Cp,Command:()=>pn,CompletionItem:()=>Fp,CompletionItemKind:()=>Op,CompletionItemLabelDetails:()=>Gp,CompletionItemTag:()=>Dp,CompletionList:()=>zp,CreateFile:()=>_a,DeleteFile:()=>wa,Diagnostic:()=>Vl,DiagnosticRelatedInformation:()=>Cc,DiagnosticSeverity:()=>Sp,DiagnosticTag:()=>wp,DocumentHighlight:()=>Wp,DocumentHighlightKind:()=>Kp,DocumentLink:()=>rm,DocumentSymbol:()=>Xp,DocumentUri:()=>$p,EOL:()=>x$,FoldingRange:()=>_p,FoldingRangeKind:()=>bp,FormattingOptions:()=>tm,Hover:()=>jp,InlayHint:()=>fm,InlayHintKind:()=>Sc,InlayHintLabelPart:()=>wc,InlineCompletionContext:()=>gm,InlineCompletionItem:()=>pm,InlineCompletionList:()=>mm,InlineCompletionTriggerKind:()=>hm,InlineValueContext:()=>cm,InlineValueEvaluatableExpression:()=>um,InlineValueText:()=>om,InlineValueVariableLookup:()=>lm,InsertReplaceEdit:()=>Mp,InsertTextFormat:()=>Lp,InsertTextMode:()=>xp,Location:()=>Wl,LocationLink:()=>Ap,MarkedString:()=>Yl,MarkupContent:()=>Ia,MarkupKind:()=>_c,OptionalVersionedTextDocumentIdentifier:()=>Hl,ParameterInformation:()=>Bp,Position:()=>oe,Range:()=>te,RenameFile:()=>Sa,SelectedCompletionInfo:()=>ym,SelectionRange:()=>nm,SemanticTokenModifiers:()=>im,SemanticTokenTypes:()=>am,SemanticTokens:()=>sm,SignatureInformation:()=>Up,StringValue:()=>dm,SymbolInformation:()=>Hp,SymbolKind:()=>Vp,SymbolTag:()=>qp,TextDocument:()=>Tm,TextDocumentEdit:()=>ql,TextDocumentIdentifier:()=>Np,TextDocumentItem:()=>kp,TextEdit:()=>ar,URI:()=>Ac,VersionedTextDocumentIdentifier:()=>Pp,WorkspaceChange:()=>M$,WorkspaceEdit:()=>bc,WorkspaceFolder:()=>vm,WorkspaceSymbol:()=>Yp,integer:()=>Rp,uinteger:()=>Kl});var $p,Ac,Rp,Kl,oe,te,Wl,Ap,Ec,Ep,Cp,bp,_p,Cc,Sp,wp,Ip,Vl,pn,ar,mn,et,Ar,ql,_a,Sa,wa,bc,kl,Ud,M$,Np,Pp,Hl,kp,_c,Ia,Op,Lp,Dp,Mp,xp,Gp,Fp,zp,Yl,jp,Bp,Up,Kp,Wp,Vp,qp,Hp,Yp,Xp,Jp,Xl,Zp,Qp,em,tm,rm,nm,am,im,sm,om,lm,um,cm,Sc,wc,fm,dm,pm,mm,hm,ym,gm,vm,x$,Tm,iv,C,Mu=vk({"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){var t,e,r,n;(function(a){function i(o){return typeof o=="string"}s(i,"is"),a.is=i})($p||($p={})),function(a){function i(o){return typeof o=="string"}s(i,"is"),a.is=i}(Ac||(Ac={})),function(a){a.MIN_VALUE=-2147483648,a.MAX_VALUE=2147483647;function i(o){return typeof o=="number"&&a.MIN_VALUE<=o&&o<=a.MAX_VALUE}s(i,"is"),a.is=i}(Rp||(Rp={})),function(a){a.MIN_VALUE=0,a.MAX_VALUE=2147483647;function i(o){return typeof o=="number"&&a.MIN_VALUE<=o&&o<=a.MAX_VALUE}s(i,"is"),a.is=i}(Kl||(Kl={})),function(a){function i(u,l){return u===Number.MAX_VALUE&&(u=Kl.MAX_VALUE),l===Number.MAX_VALUE&&(l=Kl.MAX_VALUE),{line:u,character:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&C.uinteger(l.line)&&C.uinteger(l.character)}s(o,"is"),a.is=o}(oe||(oe={})),function(a){function i(u,l,c,f){if(C.uinteger(u)&&C.uinteger(l)&&C.uinteger(c)&&C.uinteger(f))return{start:oe.create(u,l),end:oe.create(c,f)};if(oe.is(u)&&oe.is(l))return{start:u,end:l};throw new Error(`Range#create called with invalid arguments[${u}, ${l}, ${c}, ${f}]`)}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&oe.is(l.start)&&oe.is(l.end)}s(o,"is"),a.is=o}(te||(te={})),function(a){function i(u,l){return{uri:u,range:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.range)&&(C.string(l.uri)||C.undefined(l.uri))}s(o,"is"),a.is=o}(Wl||(Wl={})),function(a){function i(u,l,c,f){return{targetUri:u,targetRange:l,targetSelectionRange:c,originSelectionRange:f}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.targetRange)&&C.string(l.targetUri)&&te.is(l.targetSelectionRange)&&(te.is(l.originSelectionRange)||C.undefined(l.originSelectionRange))}s(o,"is"),a.is=o}(Ap||(Ap={})),function(a){function i(u,l,c,f){return{red:u,green:l,blue:c,alpha:f}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.numberRange(l.red,0,1)&&C.numberRange(l.green,0,1)&&C.numberRange(l.blue,0,1)&&C.numberRange(l.alpha,0,1)}s(o,"is"),a.is=o}(Ec||(Ec={})),function(a){function i(u,l){return{range:u,color:l}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&te.is(l.range)&&Ec.is(l.color)}s(o,"is"),a.is=o}(Ep||(Ep={})),function(a){function i(u,l,c){return{label:u,textEdit:l,additionalTextEdits:c}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.string(l.label)&&(C.undefined(l.textEdit)||ar.is(l))&&(C.undefined(l.additionalTextEdits)||C.typedArray(l.additionalTextEdits,ar.is))}s(o,"is"),a.is=o}(Cp||(Cp={})),function(a){a.Comment="comment",a.Imports="imports",a.Region="region"}(bp||(bp={})),function(a){function i(u,l,c,f,d,p){const h={startLine:u,endLine:l};return C.defined(c)&&(h.startCharacter=c),C.defined(f)&&(h.endCharacter=f),C.defined(d)&&(h.kind=d),C.defined(p)&&(h.collapsedText=p),h}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.uinteger(l.startLine)&&C.uinteger(l.startLine)&&(C.undefined(l.startCharacter)||C.uinteger(l.startCharacter))&&(C.undefined(l.endCharacter)||C.uinteger(l.endCharacter))&&(C.undefined(l.kind)||C.string(l.kind))}s(o,"is"),a.is=o}(_p||(_p={})),function(a){function i(u,l){return{location:u,message:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&Wl.is(l.location)&&C.string(l.message)}s(o,"is"),a.is=o}(Cc||(Cc={})),function(a){a.Error=1,a.Warning=2,a.Information=3,a.Hint=4}(Sp||(Sp={})),function(a){a.Unnecessary=1,a.Deprecated=2}(wp||(wp={})),function(a){function i(o){const u=o;return C.objectLiteral(u)&&C.string(u.href)}s(i,"is"),a.is=i}(Ip||(Ip={})),function(a){function i(u,l,c,f,d,p){let h={range:u,message:l};return C.defined(c)&&(h.severity=c),C.defined(f)&&(h.code=f),C.defined(d)&&(h.source=d),C.defined(p)&&(h.relatedInformation=p),h}s(i,"create"),a.create=i;function o(u){var l;let c=u;return C.defined(c)&&te.is(c.range)&&C.string(c.message)&&(C.number(c.severity)||C.undefined(c.severity))&&(C.integer(c.code)||C.string(c.code)||C.undefined(c.code))&&(C.undefined(c.codeDescription)||C.string((l=c.codeDescription)===null||l===void 0?void 0:l.href))&&(C.string(c.source)||C.undefined(c.source))&&(C.undefined(c.relatedInformation)||C.typedArray(c.relatedInformation,Cc.is))}s(o,"is"),a.is=o}(Vl||(Vl={})),function(a){function i(u,l,...c){let f={title:u,command:l};return C.defined(c)&&c.length>0&&(f.arguments=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.title)&&C.string(l.command)}s(o,"is"),a.is=o}(pn||(pn={})),function(a){function i(c,f){return{range:c,newText:f}}s(i,"replace"),a.replace=i;function o(c,f){return{range:{start:c,end:c},newText:f}}s(o,"insert"),a.insert=o;function u(c){return{range:c,newText:""}}s(u,"del"),a.del=u;function l(c){const f=c;return C.objectLiteral(f)&&C.string(f.newText)&&te.is(f.range)}s(l,"is"),a.is=l}(ar||(ar={})),function(a){function i(u,l,c){const f={label:u};return l!==void 0&&(f.needsConfirmation=l),c!==void 0&&(f.description=c),f}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.string(l.label)&&(C.boolean(l.needsConfirmation)||l.needsConfirmation===void 0)&&(C.string(l.description)||l.description===void 0)}s(o,"is"),a.is=o}(mn||(mn={})),function(a){function i(o){const u=o;return C.string(u)}s(i,"is"),a.is=i}(et||(et={})),function(a){function i(c,f,d){return{range:c,newText:f,annotationId:d}}s(i,"replace"),a.replace=i;function o(c,f,d){return{range:{start:c,end:c},newText:f,annotationId:d}}s(o,"insert"),a.insert=o;function u(c,f){return{range:c,newText:"",annotationId:f}}s(u,"del"),a.del=u;function l(c){const f=c;return ar.is(f)&&(mn.is(f.annotationId)||et.is(f.annotationId))}s(l,"is"),a.is=l}(Ar||(Ar={})),function(a){function i(u,l){return{textDocument:u,edits:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&Hl.is(l.textDocument)&&Array.isArray(l.edits)}s(o,"is"),a.is=o}(ql||(ql={})),function(a){function i(u,l,c){let f={kind:"create",uri:u};return l!==void 0&&(l.overwrite!==void 0||l.ignoreIfExists!==void 0)&&(f.options=l),c!==void 0&&(f.annotationId=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="create"&&C.string(l.uri)&&(l.options===void 0||(l.options.overwrite===void 0||C.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||C.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o}(_a||(_a={})),function(a){function i(u,l,c,f){let d={kind:"rename",oldUri:u,newUri:l};return c!==void 0&&(c.overwrite!==void 0||c.ignoreIfExists!==void 0)&&(d.options=c),f!==void 0&&(d.annotationId=f),d}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="rename"&&C.string(l.oldUri)&&C.string(l.newUri)&&(l.options===void 0||(l.options.overwrite===void 0||C.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||C.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o}(Sa||(Sa={})),function(a){function i(u,l,c){let f={kind:"delete",uri:u};return l!==void 0&&(l.recursive!==void 0||l.ignoreIfNotExists!==void 0)&&(f.options=l),c!==void 0&&(f.annotationId=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="delete"&&C.string(l.uri)&&(l.options===void 0||(l.options.recursive===void 0||C.boolean(l.options.recursive))&&(l.options.ignoreIfNotExists===void 0||C.boolean(l.options.ignoreIfNotExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o}(wa||(wa={})),function(a){function i(o){let u=o;return u&&(u.changes!==void 0||u.documentChanges!==void 0)&&(u.documentChanges===void 0||u.documentChanges.every(l=>C.string(l.kind)?_a.is(l)||Sa.is(l)||wa.is(l):ql.is(l)))}s(i,"is"),a.is=i}(bc||(bc={})),kl=(t=class{constructor(i,o){this.edits=i,this.changeAnnotations=o}insert(i,o,u){let l,c;if(u===void 0?l=ar.insert(i,o):et.is(u)?(c=u,l=Ar.insert(i,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=Ar.insert(i,o,c)),this.edits.push(l),c!==void 0)return c}replace(i,o,u){let l,c;if(u===void 0?l=ar.replace(i,o):et.is(u)?(c=u,l=Ar.replace(i,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=Ar.replace(i,o,c)),this.edits.push(l),c!==void 0)return c}delete(i,o){let u,l;if(o===void 0?u=ar.del(i):et.is(o)?(l=o,u=Ar.del(i,o)):(this.assertChangeAnnotations(this.changeAnnotations),l=this.changeAnnotations.manage(o),u=Ar.del(i,l)),this.edits.push(u),l!==void 0)return l}add(i){this.edits.push(i)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(i){if(i===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},s(t,"TextEditChangeImpl"),t),Ud=(e=class{constructor(i){this._annotations=i===void 0?Object.create(null):i,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(i,o){let u;if(et.is(i)?u=i:(u=this.nextId(),o=i),this._annotations[u]!==void 0)throw new Error(`Id ${u} is already in use.`);if(o===void 0)throw new Error(`No annotation provided for id ${u}`);return this._annotations[u]=o,this._size++,u}nextId(){return this._counter++,this._counter.toString()}},s(e,"ChangeAnnotations"),e),M$=(r=class{constructor(i){this._textEditChanges=Object.create(null),i!==void 0?(this._workspaceEdit=i,i.documentChanges?(this._changeAnnotations=new Ud(i.changeAnnotations),i.changeAnnotations=this._changeAnnotations.all(),i.documentChanges.forEach(o=>{if(ql.is(o)){const u=new kl(o.edits,this._changeAnnotations);this._textEditChanges[o.textDocument.uri]=u}})):i.changes&&Object.keys(i.changes).forEach(o=>{const u=new kl(i.changes[o]);this._textEditChanges[o]=u})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(i){if(Hl.is(i)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const o={uri:i.uri,version:i.version};let u=this._textEditChanges[o.uri];if(!u){const l=[],c={textDocument:o,edits:l};this._workspaceEdit.documentChanges.push(c),u=new kl(l,this._changeAnnotations),this._textEditChanges[o.uri]=u}return u}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let o=this._textEditChanges[i];if(!o){let u=[];this._workspaceEdit.changes[i]=u,o=new kl(u),this._textEditChanges[i]=o}return o}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Ud,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(i,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;mn.is(o)||et.is(o)?l=o:u=o;let c,f;if(l===void 0?c=_a.create(i,u):(f=et.is(l)?l:this._changeAnnotations.manage(l),c=_a.create(i,u,f)),this._workspaceEdit.documentChanges.push(c),f!==void 0)return f}renameFile(i,o,u,l){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let c;mn.is(u)||et.is(u)?c=u:l=u;let f,d;if(c===void 0?f=Sa.create(i,o,l):(d=et.is(c)?c:this._changeAnnotations.manage(c),f=Sa.create(i,o,l,d)),this._workspaceEdit.documentChanges.push(f),d!==void 0)return d}deleteFile(i,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;mn.is(o)||et.is(o)?l=o:u=o;let c,f;if(l===void 0?c=wa.create(i,u):(f=et.is(l)?l:this._changeAnnotations.manage(l),c=wa.create(i,u,f)),this._workspaceEdit.documentChanges.push(c),f!==void 0)return f}},s(r,"WorkspaceChange"),r),function(a){function i(u){return{uri:u}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)}s(o,"is"),a.is=o}(Np||(Np={})),function(a){function i(u,l){return{uri:u,version:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&C.integer(l.version)}s(o,"is"),a.is=o}(Pp||(Pp={})),function(a){function i(u,l){return{uri:u,version:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&(l.version===null||C.integer(l.version))}s(o,"is"),a.is=o}(Hl||(Hl={})),function(a){function i(u,l,c,f){return{uri:u,languageId:l,version:c,text:f}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&C.string(l.languageId)&&C.integer(l.version)&&C.string(l.text)}s(o,"is"),a.is=o}(kp||(kp={})),function(a){a.PlainText="plaintext",a.Markdown="markdown";function i(o){const u=o;return u===a.PlainText||u===a.Markdown}s(i,"is"),a.is=i}(_c||(_c={})),function(a){function i(o){const u=o;return C.objectLiteral(o)&&_c.is(u.kind)&&C.string(u.value)}s(i,"is"),a.is=i}(Ia||(Ia={})),function(a){a.Text=1,a.Method=2,a.Function=3,a.Constructor=4,a.Field=5,a.Variable=6,a.Class=7,a.Interface=8,a.Module=9,a.Property=10,a.Unit=11,a.Value=12,a.Enum=13,a.Keyword=14,a.Snippet=15,a.Color=16,a.File=17,a.Reference=18,a.Folder=19,a.EnumMember=20,a.Constant=21,a.Struct=22,a.Event=23,a.Operator=24,a.TypeParameter=25}(Op||(Op={})),function(a){a.PlainText=1,a.Snippet=2}(Lp||(Lp={})),function(a){a.Deprecated=1}(Dp||(Dp={})),function(a){function i(u,l,c){return{newText:u,insert:l,replace:c}}s(i,"create"),a.create=i;function o(u){const l=u;return l&&C.string(l.newText)&&te.is(l.insert)&&te.is(l.replace)}s(o,"is"),a.is=o}(Mp||(Mp={})),function(a){a.asIs=1,a.adjustIndentation=2}(xp||(xp={})),function(a){function i(o){const u=o;return u&&(C.string(u.detail)||u.detail===void 0)&&(C.string(u.description)||u.description===void 0)}s(i,"is"),a.is=i}(Gp||(Gp={})),function(a){function i(o){return{label:o}}s(i,"create"),a.create=i}(Fp||(Fp={})),function(a){function i(o,u){return{items:o||[],isIncomplete:!!u}}s(i,"create"),a.create=i}(zp||(zp={})),function(a){function i(u){return u.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(i,"fromPlainText"),a.fromPlainText=i;function o(u){const l=u;return C.string(l)||C.objectLiteral(l)&&C.string(l.language)&&C.string(l.value)}s(o,"is"),a.is=o}(Yl||(Yl={})),function(a){function i(o){let u=o;return!!u&&C.objectLiteral(u)&&(Ia.is(u.contents)||Yl.is(u.contents)||C.typedArray(u.contents,Yl.is))&&(o.range===void 0||te.is(o.range))}s(i,"is"),a.is=i}(jp||(jp={})),function(a){function i(o,u){return u?{label:o,documentation:u}:{label:o}}s(i,"create"),a.create=i}(Bp||(Bp={})),function(a){function i(o,u,...l){let c={label:o};return C.defined(u)&&(c.documentation=u),C.defined(l)?c.parameters=l:c.parameters=[],c}s(i,"create"),a.create=i}(Up||(Up={})),function(a){a.Text=1,a.Read=2,a.Write=3}(Kp||(Kp={})),function(a){function i(o,u){let l={range:o};return C.number(u)&&(l.kind=u),l}s(i,"create"),a.create=i}(Wp||(Wp={})),function(a){a.File=1,a.Module=2,a.Namespace=3,a.Package=4,a.Class=5,a.Method=6,a.Property=7,a.Field=8,a.Constructor=9,a.Enum=10,a.Interface=11,a.Function=12,a.Variable=13,a.Constant=14,a.String=15,a.Number=16,a.Boolean=17,a.Array=18,a.Object=19,a.Key=20,a.Null=21,a.EnumMember=22,a.Struct=23,a.Event=24,a.Operator=25,a.TypeParameter=26}(Vp||(Vp={})),function(a){a.Deprecated=1}(qp||(qp={})),function(a){function i(o,u,l,c,f){let d={name:o,kind:u,location:{uri:c,range:l}};return f&&(d.containerName=f),d}s(i,"create"),a.create=i}(Hp||(Hp={})),function(a){function i(o,u,l,c){return c!==void 0?{name:o,kind:u,location:{uri:l,range:c}}:{name:o,kind:u,location:{uri:l}}}s(i,"create"),a.create=i}(Yp||(Yp={})),function(a){function i(u,l,c,f,d,p){let h={name:u,detail:l,kind:c,range:f,selectionRange:d};return p!==void 0&&(h.children=p),h}s(i,"create"),a.create=i;function o(u){let l=u;return l&&C.string(l.name)&&C.number(l.kind)&&te.is(l.range)&&te.is(l.selectionRange)&&(l.detail===void 0||C.string(l.detail))&&(l.deprecated===void 0||C.boolean(l.deprecated))&&(l.children===void 0||Array.isArray(l.children))&&(l.tags===void 0||Array.isArray(l.tags))}s(o,"is"),a.is=o}(Xp||(Xp={})),function(a){a.Empty="",a.QuickFix="quickfix",a.Refactor="refactor",a.RefactorExtract="refactor.extract",a.RefactorInline="refactor.inline",a.RefactorRewrite="refactor.rewrite",a.Source="source",a.SourceOrganizeImports="source.organizeImports",a.SourceFixAll="source.fixAll"}(Jp||(Jp={})),function(a){a.Invoked=1,a.Automatic=2}(Xl||(Xl={})),function(a){function i(u,l,c){let f={diagnostics:u};return l!=null&&(f.only=l),c!=null&&(f.triggerKind=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.typedArray(l.diagnostics,Vl.is)&&(l.only===void 0||C.typedArray(l.only,C.string))&&(l.triggerKind===void 0||l.triggerKind===Xl.Invoked||l.triggerKind===Xl.Automatic)}s(o,"is"),a.is=o}(Zp||(Zp={})),function(a){function i(u,l,c){let f={title:u},d=!0;return typeof l=="string"?(d=!1,f.kind=l):pn.is(l)?f.command=l:f.edit=l,d&&c!==void 0&&(f.kind=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&C.string(l.title)&&(l.diagnostics===void 0||C.typedArray(l.diagnostics,Vl.is))&&(l.kind===void 0||C.string(l.kind))&&(l.edit!==void 0||l.command!==void 0)&&(l.command===void 0||pn.is(l.command))&&(l.isPreferred===void 0||C.boolean(l.isPreferred))&&(l.edit===void 0||bc.is(l.edit))}s(o,"is"),a.is=o}(Qp||(Qp={})),function(a){function i(u,l){let c={range:u};return C.defined(l)&&(c.data=l),c}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&te.is(l.range)&&(C.undefined(l.command)||pn.is(l.command))}s(o,"is"),a.is=o}(em||(em={})),function(a){function i(u,l){return{tabSize:u,insertSpaces:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.uinteger(l.tabSize)&&C.boolean(l.insertSpaces)}s(o,"is"),a.is=o}(tm||(tm={})),function(a){function i(u,l,c){return{range:u,target:l,data:c}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&te.is(l.range)&&(C.undefined(l.target)||C.string(l.target))}s(o,"is"),a.is=o}(rm||(rm={})),function(a){function i(u,l){return{range:u,parent:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.range)&&(l.parent===void 0||a.is(l.parent))}s(o,"is"),a.is=o}(nm||(nm={})),function(a){a.namespace="namespace",a.type="type",a.class="class",a.enum="enum",a.interface="interface",a.struct="struct",a.typeParameter="typeParameter",a.parameter="parameter",a.variable="variable",a.property="property",a.enumMember="enumMember",a.event="event",a.function="function",a.method="method",a.macro="macro",a.keyword="keyword",a.modifier="modifier",a.comment="comment",a.string="string",a.number="number",a.regexp="regexp",a.operator="operator",a.decorator="decorator"}(am||(am={})),function(a){a.declaration="declaration",a.definition="definition",a.readonly="readonly",a.static="static",a.deprecated="deprecated",a.abstract="abstract",a.async="async",a.modification="modification",a.documentation="documentation",a.defaultLibrary="defaultLibrary"}(im||(im={})),function(a){function i(o){const u=o;return C.objectLiteral(u)&&(u.resultId===void 0||typeof u.resultId=="string")&&Array.isArray(u.data)&&(u.data.length===0||typeof u.data[0]=="number")}s(i,"is"),a.is=i}(sm||(sm={})),function(a){function i(u,l){return{range:u,text:l}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&C.string(l.text)}s(o,"is"),a.is=o}(om||(om={})),function(a){function i(u,l,c){return{range:u,variableName:l,caseSensitiveLookup:c}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&C.boolean(l.caseSensitiveLookup)&&(C.string(l.variableName)||l.variableName===void 0)}s(o,"is"),a.is=o}(lm||(lm={})),function(a){function i(u,l){return{range:u,expression:l}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&(C.string(l.expression)||l.expression===void 0)}s(o,"is"),a.is=o}(um||(um={})),function(a){function i(u,l){return{frameId:u,stoppedLocation:l}}s(i,"create"),a.create=i;function o(u){const l=u;return C.defined(l)&&te.is(u.stoppedLocation)}s(o,"is"),a.is=o}(cm||(cm={})),function(a){a.Type=1,a.Parameter=2;function i(o){return o===1||o===2}s(i,"is"),a.is=i}(Sc||(Sc={})),function(a){function i(u){return{value:u}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&(l.tooltip===void 0||C.string(l.tooltip)||Ia.is(l.tooltip))&&(l.location===void 0||Wl.is(l.location))&&(l.command===void 0||pn.is(l.command))}s(o,"is"),a.is=o}(wc||(wc={})),function(a){function i(u,l,c){const f={position:u,label:l};return c!==void 0&&(f.kind=c),f}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&oe.is(l.position)&&(C.string(l.label)||C.typedArray(l.label,wc.is))&&(l.kind===void 0||Sc.is(l.kind))&&l.textEdits===void 0||C.typedArray(l.textEdits,ar.is)&&(l.tooltip===void 0||C.string(l.tooltip)||Ia.is(l.tooltip))&&(l.paddingLeft===void 0||C.boolean(l.paddingLeft))&&(l.paddingRight===void 0||C.boolean(l.paddingRight))}s(o,"is"),a.is=o}(fm||(fm={})),function(a){function i(o){return{kind:"snippet",value:o}}s(i,"createSnippet"),a.createSnippet=i}(dm||(dm={})),function(a){function i(o,u,l,c){return{insertText:o,filterText:u,range:l,command:c}}s(i,"create"),a.create=i}(pm||(pm={})),function(a){function i(o){return{items:o}}s(i,"create"),a.create=i}(mm||(mm={})),function(a){a.Invoked=0,a.Automatic=1}(hm||(hm={})),function(a){function i(o,u){return{range:o,text:u}}s(i,"create"),a.create=i}(ym||(ym={})),function(a){function i(o,u){return{triggerKind:o,selectedCompletionInfo:u}}s(i,"create"),a.create=i}(gm||(gm={})),function(a){function i(o){const u=o;return C.objectLiteral(u)&&Ac.is(u.uri)&&C.string(u.name)}s(i,"is"),a.is=i}(vm||(vm={})),x$=[` +var dk=Object.defineProperty;var pk=(t,e,r)=>e in t?dk(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var Br=(t,e,r)=>pk(t,typeof e!="symbol"?e+"":e,r);import{_ as ut}from"../../app/index-B0ly_D9Z.js";var mk=Object.create,Du=Object.defineProperty,hk=Object.getOwnPropertyDescriptor,Th=Object.getOwnPropertyNames,yk=Object.getPrototypeOf,gk=Object.prototype.hasOwnProperty,s=(t,e)=>Du(t,"name",{value:e,configurable:!0}),vk=(t,e)=>function(){return t&&(e=(0,t[Th(t)[0]])(t=0)),e},X=(t,e)=>function(){return e||(0,t[Th(t)[0]])((e={exports:{}}).exports,e),e.exports},tn=(t,e)=>{for(var r in e)Du(t,r,{get:e[r],enumerable:!0})},$h=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Th(e))!gk.call(t,a)&&a!==r&&Du(t,a,{get:()=>e[a],enumerable:!(n=hk(e,a))||n.enumerable});return t},Of=(t,e,r)=>($h(t,e,"default"),r),Rh=(t,e,r)=>(r=t!=null?mk(yk(t)):{},$h(Du(r,"default",{value:t,enumerable:!0}),t)),Ah=t=>$h(Du({},"__esModule",{value:!0}),t),Lf={};tn(Lf,{AnnotatedTextEdit:()=>Ar,ChangeAnnotation:()=>mn,ChangeAnnotationIdentifier:()=>et,CodeAction:()=>Qp,CodeActionContext:()=>Zp,CodeActionKind:()=>Jp,CodeActionTriggerKind:()=>Xl,CodeDescription:()=>Ip,CodeLens:()=>em,Color:()=>Ec,ColorInformation:()=>Ep,ColorPresentation:()=>Cp,Command:()=>pn,CompletionItem:()=>Fp,CompletionItemKind:()=>Op,CompletionItemLabelDetails:()=>Gp,CompletionItemTag:()=>Dp,CompletionList:()=>zp,CreateFile:()=>_a,DeleteFile:()=>wa,Diagnostic:()=>Vl,DiagnosticRelatedInformation:()=>Cc,DiagnosticSeverity:()=>Sp,DiagnosticTag:()=>wp,DocumentHighlight:()=>Wp,DocumentHighlightKind:()=>Kp,DocumentLink:()=>rm,DocumentSymbol:()=>Xp,DocumentUri:()=>$p,EOL:()=>x$,FoldingRange:()=>_p,FoldingRangeKind:()=>bp,FormattingOptions:()=>tm,Hover:()=>jp,InlayHint:()=>fm,InlayHintKind:()=>Sc,InlayHintLabelPart:()=>wc,InlineCompletionContext:()=>gm,InlineCompletionItem:()=>pm,InlineCompletionList:()=>mm,InlineCompletionTriggerKind:()=>hm,InlineValueContext:()=>cm,InlineValueEvaluatableExpression:()=>um,InlineValueText:()=>om,InlineValueVariableLookup:()=>lm,InsertReplaceEdit:()=>Mp,InsertTextFormat:()=>Lp,InsertTextMode:()=>xp,Location:()=>Wl,LocationLink:()=>Ap,MarkedString:()=>Yl,MarkupContent:()=>Ia,MarkupKind:()=>_c,OptionalVersionedTextDocumentIdentifier:()=>Hl,ParameterInformation:()=>Bp,Position:()=>oe,Range:()=>te,RenameFile:()=>Sa,SelectedCompletionInfo:()=>ym,SelectionRange:()=>nm,SemanticTokenModifiers:()=>im,SemanticTokenTypes:()=>am,SemanticTokens:()=>sm,SignatureInformation:()=>Up,StringValue:()=>dm,SymbolInformation:()=>Hp,SymbolKind:()=>Vp,SymbolTag:()=>qp,TextDocument:()=>Tm,TextDocumentEdit:()=>ql,TextDocumentIdentifier:()=>Np,TextDocumentItem:()=>kp,TextEdit:()=>ar,URI:()=>Ac,VersionedTextDocumentIdentifier:()=>Pp,WorkspaceChange:()=>M$,WorkspaceEdit:()=>bc,WorkspaceFolder:()=>vm,WorkspaceSymbol:()=>Yp,integer:()=>Rp,uinteger:()=>Kl});var $p,Ac,Rp,Kl,oe,te,Wl,Ap,Ec,Ep,Cp,bp,_p,Cc,Sp,wp,Ip,Vl,pn,ar,mn,et,Ar,ql,_a,Sa,wa,bc,kl,Ud,M$,Np,Pp,Hl,kp,_c,Ia,Op,Lp,Dp,Mp,xp,Gp,Fp,zp,Yl,jp,Bp,Up,Kp,Wp,Vp,qp,Hp,Yp,Xp,Jp,Xl,Zp,Qp,em,tm,rm,nm,am,im,sm,om,lm,um,cm,Sc,wc,fm,dm,pm,mm,hm,ym,gm,vm,x$,Tm,iv,C,Mu=vk({"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){var t,e,r,n;(function(a){function i(o){return typeof o=="string"}s(i,"is"),a.is=i})($p||($p={})),function(a){function i(o){return typeof o=="string"}s(i,"is"),a.is=i}(Ac||(Ac={})),function(a){a.MIN_VALUE=-2147483648,a.MAX_VALUE=2147483647;function i(o){return typeof o=="number"&&a.MIN_VALUE<=o&&o<=a.MAX_VALUE}s(i,"is"),a.is=i}(Rp||(Rp={})),function(a){a.MIN_VALUE=0,a.MAX_VALUE=2147483647;function i(o){return typeof o=="number"&&a.MIN_VALUE<=o&&o<=a.MAX_VALUE}s(i,"is"),a.is=i}(Kl||(Kl={})),function(a){function i(u,l){return u===Number.MAX_VALUE&&(u=Kl.MAX_VALUE),l===Number.MAX_VALUE&&(l=Kl.MAX_VALUE),{line:u,character:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&C.uinteger(l.line)&&C.uinteger(l.character)}s(o,"is"),a.is=o}(oe||(oe={})),function(a){function i(u,l,c,f){if(C.uinteger(u)&&C.uinteger(l)&&C.uinteger(c)&&C.uinteger(f))return{start:oe.create(u,l),end:oe.create(c,f)};if(oe.is(u)&&oe.is(l))return{start:u,end:l};throw new Error(`Range#create called with invalid arguments[${u}, ${l}, ${c}, ${f}]`)}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&oe.is(l.start)&&oe.is(l.end)}s(o,"is"),a.is=o}(te||(te={})),function(a){function i(u,l){return{uri:u,range:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.range)&&(C.string(l.uri)||C.undefined(l.uri))}s(o,"is"),a.is=o}(Wl||(Wl={})),function(a){function i(u,l,c,f){return{targetUri:u,targetRange:l,targetSelectionRange:c,originSelectionRange:f}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.targetRange)&&C.string(l.targetUri)&&te.is(l.targetSelectionRange)&&(te.is(l.originSelectionRange)||C.undefined(l.originSelectionRange))}s(o,"is"),a.is=o}(Ap||(Ap={})),function(a){function i(u,l,c,f){return{red:u,green:l,blue:c,alpha:f}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.numberRange(l.red,0,1)&&C.numberRange(l.green,0,1)&&C.numberRange(l.blue,0,1)&&C.numberRange(l.alpha,0,1)}s(o,"is"),a.is=o}(Ec||(Ec={})),function(a){function i(u,l){return{range:u,color:l}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&te.is(l.range)&&Ec.is(l.color)}s(o,"is"),a.is=o}(Ep||(Ep={})),function(a){function i(u,l,c){return{label:u,textEdit:l,additionalTextEdits:c}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.string(l.label)&&(C.undefined(l.textEdit)||ar.is(l))&&(C.undefined(l.additionalTextEdits)||C.typedArray(l.additionalTextEdits,ar.is))}s(o,"is"),a.is=o}(Cp||(Cp={})),function(a){a.Comment="comment",a.Imports="imports",a.Region="region"}(bp||(bp={})),function(a){function i(u,l,c,f,d,p){const h={startLine:u,endLine:l};return C.defined(c)&&(h.startCharacter=c),C.defined(f)&&(h.endCharacter=f),C.defined(d)&&(h.kind=d),C.defined(p)&&(h.collapsedText=p),h}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.uinteger(l.startLine)&&C.uinteger(l.startLine)&&(C.undefined(l.startCharacter)||C.uinteger(l.startCharacter))&&(C.undefined(l.endCharacter)||C.uinteger(l.endCharacter))&&(C.undefined(l.kind)||C.string(l.kind))}s(o,"is"),a.is=o}(_p||(_p={})),function(a){function i(u,l){return{location:u,message:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&Wl.is(l.location)&&C.string(l.message)}s(o,"is"),a.is=o}(Cc||(Cc={})),function(a){a.Error=1,a.Warning=2,a.Information=3,a.Hint=4}(Sp||(Sp={})),function(a){a.Unnecessary=1,a.Deprecated=2}(wp||(wp={})),function(a){function i(o){const u=o;return C.objectLiteral(u)&&C.string(u.href)}s(i,"is"),a.is=i}(Ip||(Ip={})),function(a){function i(u,l,c,f,d,p){let h={range:u,message:l};return C.defined(c)&&(h.severity=c),C.defined(f)&&(h.code=f),C.defined(d)&&(h.source=d),C.defined(p)&&(h.relatedInformation=p),h}s(i,"create"),a.create=i;function o(u){var l;let c=u;return C.defined(c)&&te.is(c.range)&&C.string(c.message)&&(C.number(c.severity)||C.undefined(c.severity))&&(C.integer(c.code)||C.string(c.code)||C.undefined(c.code))&&(C.undefined(c.codeDescription)||C.string((l=c.codeDescription)===null||l===void 0?void 0:l.href))&&(C.string(c.source)||C.undefined(c.source))&&(C.undefined(c.relatedInformation)||C.typedArray(c.relatedInformation,Cc.is))}s(o,"is"),a.is=o}(Vl||(Vl={})),function(a){function i(u,l,...c){let f={title:u,command:l};return C.defined(c)&&c.length>0&&(f.arguments=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.title)&&C.string(l.command)}s(o,"is"),a.is=o}(pn||(pn={})),function(a){function i(c,f){return{range:c,newText:f}}s(i,"replace"),a.replace=i;function o(c,f){return{range:{start:c,end:c},newText:f}}s(o,"insert"),a.insert=o;function u(c){return{range:c,newText:""}}s(u,"del"),a.del=u;function l(c){const f=c;return C.objectLiteral(f)&&C.string(f.newText)&&te.is(f.range)}s(l,"is"),a.is=l}(ar||(ar={})),function(a){function i(u,l,c){const f={label:u};return l!==void 0&&(f.needsConfirmation=l),c!==void 0&&(f.description=c),f}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.string(l.label)&&(C.boolean(l.needsConfirmation)||l.needsConfirmation===void 0)&&(C.string(l.description)||l.description===void 0)}s(o,"is"),a.is=o}(mn||(mn={})),function(a){function i(o){const u=o;return C.string(u)}s(i,"is"),a.is=i}(et||(et={})),function(a){function i(c,f,d){return{range:c,newText:f,annotationId:d}}s(i,"replace"),a.replace=i;function o(c,f,d){return{range:{start:c,end:c},newText:f,annotationId:d}}s(o,"insert"),a.insert=o;function u(c,f){return{range:c,newText:"",annotationId:f}}s(u,"del"),a.del=u;function l(c){const f=c;return ar.is(f)&&(mn.is(f.annotationId)||et.is(f.annotationId))}s(l,"is"),a.is=l}(Ar||(Ar={})),function(a){function i(u,l){return{textDocument:u,edits:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&Hl.is(l.textDocument)&&Array.isArray(l.edits)}s(o,"is"),a.is=o}(ql||(ql={})),function(a){function i(u,l,c){let f={kind:"create",uri:u};return l!==void 0&&(l.overwrite!==void 0||l.ignoreIfExists!==void 0)&&(f.options=l),c!==void 0&&(f.annotationId=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="create"&&C.string(l.uri)&&(l.options===void 0||(l.options.overwrite===void 0||C.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||C.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o}(_a||(_a={})),function(a){function i(u,l,c,f){let d={kind:"rename",oldUri:u,newUri:l};return c!==void 0&&(c.overwrite!==void 0||c.ignoreIfExists!==void 0)&&(d.options=c),f!==void 0&&(d.annotationId=f),d}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="rename"&&C.string(l.oldUri)&&C.string(l.newUri)&&(l.options===void 0||(l.options.overwrite===void 0||C.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||C.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o}(Sa||(Sa={})),function(a){function i(u,l,c){let f={kind:"delete",uri:u};return l!==void 0&&(l.recursive!==void 0||l.ignoreIfNotExists!==void 0)&&(f.options=l),c!==void 0&&(f.annotationId=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="delete"&&C.string(l.uri)&&(l.options===void 0||(l.options.recursive===void 0||C.boolean(l.options.recursive))&&(l.options.ignoreIfNotExists===void 0||C.boolean(l.options.ignoreIfNotExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o}(wa||(wa={})),function(a){function i(o){let u=o;return u&&(u.changes!==void 0||u.documentChanges!==void 0)&&(u.documentChanges===void 0||u.documentChanges.every(l=>C.string(l.kind)?_a.is(l)||Sa.is(l)||wa.is(l):ql.is(l)))}s(i,"is"),a.is=i}(bc||(bc={})),kl=(t=class{constructor(i,o){this.edits=i,this.changeAnnotations=o}insert(i,o,u){let l,c;if(u===void 0?l=ar.insert(i,o):et.is(u)?(c=u,l=Ar.insert(i,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=Ar.insert(i,o,c)),this.edits.push(l),c!==void 0)return c}replace(i,o,u){let l,c;if(u===void 0?l=ar.replace(i,o):et.is(u)?(c=u,l=Ar.replace(i,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=Ar.replace(i,o,c)),this.edits.push(l),c!==void 0)return c}delete(i,o){let u,l;if(o===void 0?u=ar.del(i):et.is(o)?(l=o,u=Ar.del(i,o)):(this.assertChangeAnnotations(this.changeAnnotations),l=this.changeAnnotations.manage(o),u=Ar.del(i,l)),this.edits.push(u),l!==void 0)return l}add(i){this.edits.push(i)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(i){if(i===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},s(t,"TextEditChangeImpl"),t),Ud=(e=class{constructor(i){this._annotations=i===void 0?Object.create(null):i,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(i,o){let u;if(et.is(i)?u=i:(u=this.nextId(),o=i),this._annotations[u]!==void 0)throw new Error(`Id ${u} is already in use.`);if(o===void 0)throw new Error(`No annotation provided for id ${u}`);return this._annotations[u]=o,this._size++,u}nextId(){return this._counter++,this._counter.toString()}},s(e,"ChangeAnnotations"),e),M$=(r=class{constructor(i){this._textEditChanges=Object.create(null),i!==void 0?(this._workspaceEdit=i,i.documentChanges?(this._changeAnnotations=new Ud(i.changeAnnotations),i.changeAnnotations=this._changeAnnotations.all(),i.documentChanges.forEach(o=>{if(ql.is(o)){const u=new kl(o.edits,this._changeAnnotations);this._textEditChanges[o.textDocument.uri]=u}})):i.changes&&Object.keys(i.changes).forEach(o=>{const u=new kl(i.changes[o]);this._textEditChanges[o]=u})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(i){if(Hl.is(i)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const o={uri:i.uri,version:i.version};let u=this._textEditChanges[o.uri];if(!u){const l=[],c={textDocument:o,edits:l};this._workspaceEdit.documentChanges.push(c),u=new kl(l,this._changeAnnotations),this._textEditChanges[o.uri]=u}return u}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let o=this._textEditChanges[i];if(!o){let u=[];this._workspaceEdit.changes[i]=u,o=new kl(u),this._textEditChanges[i]=o}return o}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Ud,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(i,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;mn.is(o)||et.is(o)?l=o:u=o;let c,f;if(l===void 0?c=_a.create(i,u):(f=et.is(l)?l:this._changeAnnotations.manage(l),c=_a.create(i,u,f)),this._workspaceEdit.documentChanges.push(c),f!==void 0)return f}renameFile(i,o,u,l){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let c;mn.is(u)||et.is(u)?c=u:l=u;let f,d;if(c===void 0?f=Sa.create(i,o,l):(d=et.is(c)?c:this._changeAnnotations.manage(c),f=Sa.create(i,o,l,d)),this._workspaceEdit.documentChanges.push(f),d!==void 0)return d}deleteFile(i,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;mn.is(o)||et.is(o)?l=o:u=o;let c,f;if(l===void 0?c=wa.create(i,u):(f=et.is(l)?l:this._changeAnnotations.manage(l),c=wa.create(i,u,f)),this._workspaceEdit.documentChanges.push(c),f!==void 0)return f}},s(r,"WorkspaceChange"),r),function(a){function i(u){return{uri:u}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)}s(o,"is"),a.is=o}(Np||(Np={})),function(a){function i(u,l){return{uri:u,version:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&C.integer(l.version)}s(o,"is"),a.is=o}(Pp||(Pp={})),function(a){function i(u,l){return{uri:u,version:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&(l.version===null||C.integer(l.version))}s(o,"is"),a.is=o}(Hl||(Hl={})),function(a){function i(u,l,c,f){return{uri:u,languageId:l,version:c,text:f}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&C.string(l.languageId)&&C.integer(l.version)&&C.string(l.text)}s(o,"is"),a.is=o}(kp||(kp={})),function(a){a.PlainText="plaintext",a.Markdown="markdown";function i(o){const u=o;return u===a.PlainText||u===a.Markdown}s(i,"is"),a.is=i}(_c||(_c={})),function(a){function i(o){const u=o;return C.objectLiteral(o)&&_c.is(u.kind)&&C.string(u.value)}s(i,"is"),a.is=i}(Ia||(Ia={})),function(a){a.Text=1,a.Method=2,a.Function=3,a.Constructor=4,a.Field=5,a.Variable=6,a.Class=7,a.Interface=8,a.Module=9,a.Property=10,a.Unit=11,a.Value=12,a.Enum=13,a.Keyword=14,a.Snippet=15,a.Color=16,a.File=17,a.Reference=18,a.Folder=19,a.EnumMember=20,a.Constant=21,a.Struct=22,a.Event=23,a.Operator=24,a.TypeParameter=25}(Op||(Op={})),function(a){a.PlainText=1,a.Snippet=2}(Lp||(Lp={})),function(a){a.Deprecated=1}(Dp||(Dp={})),function(a){function i(u,l,c){return{newText:u,insert:l,replace:c}}s(i,"create"),a.create=i;function o(u){const l=u;return l&&C.string(l.newText)&&te.is(l.insert)&&te.is(l.replace)}s(o,"is"),a.is=o}(Mp||(Mp={})),function(a){a.asIs=1,a.adjustIndentation=2}(xp||(xp={})),function(a){function i(o){const u=o;return u&&(C.string(u.detail)||u.detail===void 0)&&(C.string(u.description)||u.description===void 0)}s(i,"is"),a.is=i}(Gp||(Gp={})),function(a){function i(o){return{label:o}}s(i,"create"),a.create=i}(Fp||(Fp={})),function(a){function i(o,u){return{items:o||[],isIncomplete:!!u}}s(i,"create"),a.create=i}(zp||(zp={})),function(a){function i(u){return u.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(i,"fromPlainText"),a.fromPlainText=i;function o(u){const l=u;return C.string(l)||C.objectLiteral(l)&&C.string(l.language)&&C.string(l.value)}s(o,"is"),a.is=o}(Yl||(Yl={})),function(a){function i(o){let u=o;return!!u&&C.objectLiteral(u)&&(Ia.is(u.contents)||Yl.is(u.contents)||C.typedArray(u.contents,Yl.is))&&(o.range===void 0||te.is(o.range))}s(i,"is"),a.is=i}(jp||(jp={})),function(a){function i(o,u){return u?{label:o,documentation:u}:{label:o}}s(i,"create"),a.create=i}(Bp||(Bp={})),function(a){function i(o,u,...l){let c={label:o};return C.defined(u)&&(c.documentation=u),C.defined(l)?c.parameters=l:c.parameters=[],c}s(i,"create"),a.create=i}(Up||(Up={})),function(a){a.Text=1,a.Read=2,a.Write=3}(Kp||(Kp={})),function(a){function i(o,u){let l={range:o};return C.number(u)&&(l.kind=u),l}s(i,"create"),a.create=i}(Wp||(Wp={})),function(a){a.File=1,a.Module=2,a.Namespace=3,a.Package=4,a.Class=5,a.Method=6,a.Property=7,a.Field=8,a.Constructor=9,a.Enum=10,a.Interface=11,a.Function=12,a.Variable=13,a.Constant=14,a.String=15,a.Number=16,a.Boolean=17,a.Array=18,a.Object=19,a.Key=20,a.Null=21,a.EnumMember=22,a.Struct=23,a.Event=24,a.Operator=25,a.TypeParameter=26}(Vp||(Vp={})),function(a){a.Deprecated=1}(qp||(qp={})),function(a){function i(o,u,l,c,f){let d={name:o,kind:u,location:{uri:c,range:l}};return f&&(d.containerName=f),d}s(i,"create"),a.create=i}(Hp||(Hp={})),function(a){function i(o,u,l,c){return c!==void 0?{name:o,kind:u,location:{uri:l,range:c}}:{name:o,kind:u,location:{uri:l}}}s(i,"create"),a.create=i}(Yp||(Yp={})),function(a){function i(u,l,c,f,d,p){let h={name:u,detail:l,kind:c,range:f,selectionRange:d};return p!==void 0&&(h.children=p),h}s(i,"create"),a.create=i;function o(u){let l=u;return l&&C.string(l.name)&&C.number(l.kind)&&te.is(l.range)&&te.is(l.selectionRange)&&(l.detail===void 0||C.string(l.detail))&&(l.deprecated===void 0||C.boolean(l.deprecated))&&(l.children===void 0||Array.isArray(l.children))&&(l.tags===void 0||Array.isArray(l.tags))}s(o,"is"),a.is=o}(Xp||(Xp={})),function(a){a.Empty="",a.QuickFix="quickfix",a.Refactor="refactor",a.RefactorExtract="refactor.extract",a.RefactorInline="refactor.inline",a.RefactorRewrite="refactor.rewrite",a.Source="source",a.SourceOrganizeImports="source.organizeImports",a.SourceFixAll="source.fixAll"}(Jp||(Jp={})),function(a){a.Invoked=1,a.Automatic=2}(Xl||(Xl={})),function(a){function i(u,l,c){let f={diagnostics:u};return l!=null&&(f.only=l),c!=null&&(f.triggerKind=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.typedArray(l.diagnostics,Vl.is)&&(l.only===void 0||C.typedArray(l.only,C.string))&&(l.triggerKind===void 0||l.triggerKind===Xl.Invoked||l.triggerKind===Xl.Automatic)}s(o,"is"),a.is=o}(Zp||(Zp={})),function(a){function i(u,l,c){let f={title:u},d=!0;return typeof l=="string"?(d=!1,f.kind=l):pn.is(l)?f.command=l:f.edit=l,d&&c!==void 0&&(f.kind=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&C.string(l.title)&&(l.diagnostics===void 0||C.typedArray(l.diagnostics,Vl.is))&&(l.kind===void 0||C.string(l.kind))&&(l.edit!==void 0||l.command!==void 0)&&(l.command===void 0||pn.is(l.command))&&(l.isPreferred===void 0||C.boolean(l.isPreferred))&&(l.edit===void 0||bc.is(l.edit))}s(o,"is"),a.is=o}(Qp||(Qp={})),function(a){function i(u,l){let c={range:u};return C.defined(l)&&(c.data=l),c}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&te.is(l.range)&&(C.undefined(l.command)||pn.is(l.command))}s(o,"is"),a.is=o}(em||(em={})),function(a){function i(u,l){return{tabSize:u,insertSpaces:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.uinteger(l.tabSize)&&C.boolean(l.insertSpaces)}s(o,"is"),a.is=o}(tm||(tm={})),function(a){function i(u,l,c){return{range:u,target:l,data:c}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&te.is(l.range)&&(C.undefined(l.target)||C.string(l.target))}s(o,"is"),a.is=o}(rm||(rm={})),function(a){function i(u,l){return{range:u,parent:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.range)&&(l.parent===void 0||a.is(l.parent))}s(o,"is"),a.is=o}(nm||(nm={})),function(a){a.namespace="namespace",a.type="type",a.class="class",a.enum="enum",a.interface="interface",a.struct="struct",a.typeParameter="typeParameter",a.parameter="parameter",a.variable="variable",a.property="property",a.enumMember="enumMember",a.event="event",a.function="function",a.method="method",a.macro="macro",a.keyword="keyword",a.modifier="modifier",a.comment="comment",a.string="string",a.number="number",a.regexp="regexp",a.operator="operator",a.decorator="decorator"}(am||(am={})),function(a){a.declaration="declaration",a.definition="definition",a.readonly="readonly",a.static="static",a.deprecated="deprecated",a.abstract="abstract",a.async="async",a.modification="modification",a.documentation="documentation",a.defaultLibrary="defaultLibrary"}(im||(im={})),function(a){function i(o){const u=o;return C.objectLiteral(u)&&(u.resultId===void 0||typeof u.resultId=="string")&&Array.isArray(u.data)&&(u.data.length===0||typeof u.data[0]=="number")}s(i,"is"),a.is=i}(sm||(sm={})),function(a){function i(u,l){return{range:u,text:l}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&C.string(l.text)}s(o,"is"),a.is=o}(om||(om={})),function(a){function i(u,l,c){return{range:u,variableName:l,caseSensitiveLookup:c}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&C.boolean(l.caseSensitiveLookup)&&(C.string(l.variableName)||l.variableName===void 0)}s(o,"is"),a.is=o}(lm||(lm={})),function(a){function i(u,l){return{range:u,expression:l}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&(C.string(l.expression)||l.expression===void 0)}s(o,"is"),a.is=o}(um||(um={})),function(a){function i(u,l){return{frameId:u,stoppedLocation:l}}s(i,"create"),a.create=i;function o(u){const l=u;return C.defined(l)&&te.is(u.stoppedLocation)}s(o,"is"),a.is=o}(cm||(cm={})),function(a){a.Type=1,a.Parameter=2;function i(o){return o===1||o===2}s(i,"is"),a.is=i}(Sc||(Sc={})),function(a){function i(u){return{value:u}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&(l.tooltip===void 0||C.string(l.tooltip)||Ia.is(l.tooltip))&&(l.location===void 0||Wl.is(l.location))&&(l.command===void 0||pn.is(l.command))}s(o,"is"),a.is=o}(wc||(wc={})),function(a){function i(u,l,c){const f={position:u,label:l};return c!==void 0&&(f.kind=c),f}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&oe.is(l.position)&&(C.string(l.label)||C.typedArray(l.label,wc.is))&&(l.kind===void 0||Sc.is(l.kind))&&l.textEdits===void 0||C.typedArray(l.textEdits,ar.is)&&(l.tooltip===void 0||C.string(l.tooltip)||Ia.is(l.tooltip))&&(l.paddingLeft===void 0||C.boolean(l.paddingLeft))&&(l.paddingRight===void 0||C.boolean(l.paddingRight))}s(o,"is"),a.is=o}(fm||(fm={})),function(a){function i(o){return{kind:"snippet",value:o}}s(i,"createSnippet"),a.createSnippet=i}(dm||(dm={})),function(a){function i(o,u,l,c){return{insertText:o,filterText:u,range:l,command:c}}s(i,"create"),a.create=i}(pm||(pm={})),function(a){function i(o){return{items:o}}s(i,"create"),a.create=i}(mm||(mm={})),function(a){a.Invoked=0,a.Automatic=1}(hm||(hm={})),function(a){function i(o,u){return{range:o,text:u}}s(i,"create"),a.create=i}(ym||(ym={})),function(a){function i(o,u){return{triggerKind:o,selectedCompletionInfo:u}}s(i,"create"),a.create=i}(gm||(gm={})),function(a){function i(o){const u=o;return C.objectLiteral(u)&&Ac.is(u.uri)&&C.string(u.name)}s(i,"is"),a.is=i}(vm||(vm={})),x$=[` `,`\r `,"\r"],function(a){function i(c,f,d,p){return new iv(c,f,d,p)}s(i,"create"),a.create=i;function o(c){let f=c;return!!(C.defined(f)&&C.string(f.uri)&&(C.undefined(f.languageId)||C.string(f.languageId))&&C.uinteger(f.lineCount)&&C.func(f.getText)&&C.func(f.positionAt)&&C.func(f.offsetAt))}s(o,"is"),a.is=o;function u(c,f){let d=c.getText(),p=l(f,(y,v)=>{let E=y.range.start.line-v.range.start.line;return E===0?y.range.start.character-v.range.start.character:E}),h=d.length;for(let y=p.length-1;y>=0;y--){let v=p[y],E=c.offsetAt(v.range.start),T=c.offsetAt(v.range.end);if(T<=h)d=d.substring(0,E)+v.newText+d.substring(T,d.length);else throw new Error("Overlapping edit");h=E}return d}s(u,"applyEdits"),a.applyEdits=u;function l(c,f){if(c.length<=1)return c;const d=c.length/2|0,p=c.slice(0,d),h=c.slice(d);l(p,f),l(h,f);let y=0,v=0,E=0;for(;y({domains:new Map,transitions:[]}),"createDefaultData"),H=rt(),St=s(()=>H.domains,"getDomains"),Mt=s(()=>H.transitions,"getTransitions"),zt=s(t=>{if(t)for(const e of t){const n=e.domain,a=(e.items??[]).map(c=>({label:c.label}));H.domains.set(n,{name:n,items:a})}},"setDomains"),Lt=s(t=>{t&&(H.transitions=t.filter(e=>e.from===e.to?(X.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},"setTransitions"),Nt=s(()=>q({...At.cynefin,...Q().cynefin}),"getConfig"),Pt=s(()=>{Tt(),H=rt()},"clear"),O={getDomains:St,getTransitions:Mt,setDomains:zt,setTransitions:Lt,getConfig:Nt,clear:Pt,setAccTitle:vt,getAccTitle:Ct,setDiagramTitle:wt,getDiagramTitle:bt,getAccDescription:$t,setAccDescription:gt},Wt=s(t=>{xt(t,O),O.setDomains(t.domains),O.setTransitions(t.transitions)},"populate"),It={parse:s(async t=>{const e=await Bt("cynefin",t);X.debug(e),Wt(e)},"parse")};function E(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}s(E,"seededRandom");function st(t){let e=0;for(let n=0;n{const n=t/2,a=e/2;return{complex:{cx:n/2,cy:a/2,x:0,y:0,w:n,h:a},complicated:{cx:n+n/2,cy:a/2,x:n,y:0,w:n,h:a},chaotic:{cx:n/2,cy:a+a/2,x:0,y:a,w:n,h:a},clear:{cx:n+n/2,cy:a+a/2,x:n,y:a,w:n,h:a},confusion:{cx:n,cy:a,x:n*.7,y:a*.7,w:n*.6,h:a*.6}}},"getDomainLayouts"),Vt=s(()=>{const t=ot(),e=Q();return q(t,e.themeVariables).cynefin},"getCynefinDomainColors"),U=3,Ft=s((t,e,n,a)=>{const c=a.db,m=c.getDomains(),v=c.getTransitions(),I=c.getDiagramTitle(),d=c.getAccTitle(),D=c.getAccDescription(),o=c.getConfig(),p=Vt();X.debug("Rendering Cynefin diagram");const i=o.width,f=o.height,b=o.padding,h=o.showDomainDescriptions,R=o.boundaryAmplitude,V=i+b*2,F=f+b*2,z={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},k=Dt(e);kt(k,F,V,o.useMaxWidth??!0),k.attr("viewBox",`0 0 ${V} ${F}`),d&&k.append("title").text(d),D&&k.append("desc").text(D);const T=k.append("g").attr("transform",`translate(${b}, ${b})`),_=Rt(i,f),Z=it(o.seed,e),mt=T.append("g").attr("class","cynefin-backgrounds"),Y=["complex","complicated","chaotic","clear"];for(const l of Y){const r=_[l];mt.append("rect").attr("class","cynefinDomain").attr("x",r.x).attr("y",r.y).attr("width",r.w).attr("height",r.h).attr("fill",z[l]).attr("fill-opacity",.4).attr("stroke","none")}const j=T.append("g").attr("class","cynefin-boundaries");j.append("path").attr("class","cynefinBoundary").attr("d",ct(i,f,Z,R)).attr("fill","none"),j.append("path").attr("class","cynefinBoundary").attr("d",lt(i,f,Z+100,R)).attr("fill","none"),j.append("path").attr("class","cynefinCliff").attr("d",dt(i,f)).attr("fill","none");const pt=i*.15,yt=f*.15;T.append("path").attr("class","cynefinConfusion").attr("d",ft(i/2,f/2,pt,yt)).attr("fill",z.confusion).attr("fill-opacity",.5);const J=T.append("g").attr("class","cynefin-labels");for(const l of Y){const r=_[l];J.append("text").attr("class","cynefinDomainLabel").attr("x",r.cx).attr("y",h?r.cy-30:r.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(l.charAt(0).toUpperCase()+l.slice(1))}if(J.append("text").attr("class","cynefinDomainLabel").attr("x",i/2).attr("y",h?f/2-10:f/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),h){const l=T.append("g").attr("class","cynefin-subtitles");for(const r of Y){const u=_[r],y=at[r];l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.model),l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.practice)}l.append("text").attr("class","cynefinSubtitle").attr("x",i/2).attr("y",f/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(at.confusion.practice)}const K=T.append("g").attr("class","cynefin-items"),A=26,tt=10,ut=["complex","complicated","chaotic","clear","confusion"];for(const l of ut){const r=m.get(l);if(!r||r.items.length===0)continue;const u=_[l],y=l==="confusion";let L=r.items,N=0;y&&r.items.length>U&&(N=r.items.length-U,L=r.items.slice(0,U));let B;if(y){const g=h?22:14;B=u.cy+g}else B=u.cy+(h?25:15);if([...L].forEach((g,S)=>{const w=B+S*(A+4),M=K.append("g"),P=M.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",A/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(g.label);let $=g.label.length*7;const x=P.node();if(x&&typeof x.getBBox=="function"){const G=x.getBBox();G.width>0&&($=G.width)}const C=$+tt*2,W=u.cx-C/2;M.attr("transform",`translate(${W}, ${w})`),M.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",C).attr("height",A).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.95),P.attr("x",C/2).attr("y",A/2)}),N>0){const g=B+L.length*(A+4),S=`+${N} more`,w=K.append("g"),M=w.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",A/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(S);let P=S.length*7;const $=M.node();if($&&typeof $.getBBox=="function"){const W=$.getBBox();W.width>0&&(P=W.width)}const x=P+tt*2,C=u.cx-x/2;w.attr("transform",`translate(${C}, ${g})`),w.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",x).attr("height",A).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.6),M.attr("x",x/2).attr("y",A/2)}}if(v.length>0){const l=k.select("defs").empty()?k.append("defs"):k.select("defs"),r=`cynefin-arrow-${e}`;l.append("marker").attr("id",r).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const u=T.append("g").attr("class","cynefin-arrows");v.forEach(y=>{const L=_[y.from],N=_[y.to];if(!L||!N)return;if(y.from===y.to){X.warn(`Cynefin renderer: skipping self-loop on domain "${y.from}"`);return}const B=L.cx,g=L.cy,S=N.cx,w=N.cy,M=(B+S)/2,P=(g+w)/2,$=S-B,x=w-g,C=Math.sqrt($*$+x*x),W=C*.15,G=-x/C,ht=$/C,et=M+G*W,nt=P+ht*W;u.append("path").attr("class","cynefinArrowLine").attr("d",`M${B},${g} Q${et},${nt} ${S},${w}`).attr("fill","none").attr("marker-end",`url(#${r})`),y.label&&u.append("text").attr("class","cynefinArrowLabel").attr("x",et).attr("y",nt-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(y.label)})}I&&T.append("text").attr("class","cynefinTitle").attr("x",i/2).attr("y",-b/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(I)},"draw"),_t={draw:Ft},Et=s(()=>{const t=ot(),e=Q();return q(t,e.themeVariables).cynefin},"getCynefinTheme"),Ht=s(()=>{const t=Et();return` +import{p as xt}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{aR as gt,V as $t,$ as bt,aU as wt,W as Ct,aS as vt,a as s,at as X,aQ as Dt,B as kt,s as Tt,r as q,X as Q,O as At,a8 as ot}from"./mermaid.core-DS1qXbzQ.js";import{p as Bt}from"./cynefin-OW5HDTMX-CJh-KUCL.js";import"../../app/index-B0ly_D9Z.js";var rt=s(()=>({domains:new Map,transitions:[]}),"createDefaultData"),H=rt(),St=s(()=>H.domains,"getDomains"),Mt=s(()=>H.transitions,"getTransitions"),zt=s(t=>{if(t)for(const e of t){const n=e.domain,a=(e.items??[]).map(c=>({label:c.label}));H.domains.set(n,{name:n,items:a})}},"setDomains"),Lt=s(t=>{t&&(H.transitions=t.filter(e=>e.from===e.to?(X.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},"setTransitions"),Nt=s(()=>q({...At.cynefin,...Q().cynefin}),"getConfig"),Pt=s(()=>{Tt(),H=rt()},"clear"),O={getDomains:St,getTransitions:Mt,setDomains:zt,setTransitions:Lt,getConfig:Nt,clear:Pt,setAccTitle:vt,getAccTitle:Ct,setDiagramTitle:wt,getDiagramTitle:bt,getAccDescription:$t,setAccDescription:gt},Wt=s(t=>{xt(t,O),O.setDomains(t.domains),O.setTransitions(t.transitions)},"populate"),It={parse:s(async t=>{const e=await Bt("cynefin",t);X.debug(e),Wt(e)},"parse")};function E(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}s(E,"seededRandom");function st(t){let e=0;for(let n=0;n{const n=t/2,a=e/2;return{complex:{cx:n/2,cy:a/2,x:0,y:0,w:n,h:a},complicated:{cx:n+n/2,cy:a/2,x:n,y:0,w:n,h:a},chaotic:{cx:n/2,cy:a+a/2,x:0,y:a,w:n,h:a},clear:{cx:n+n/2,cy:a+a/2,x:n,y:a,w:n,h:a},confusion:{cx:n,cy:a,x:n*.7,y:a*.7,w:n*.6,h:a*.6}}},"getDomainLayouts"),Vt=s(()=>{const t=ot(),e=Q();return q(t,e.themeVariables).cynefin},"getCynefinDomainColors"),U=3,Ft=s((t,e,n,a)=>{const c=a.db,m=c.getDomains(),v=c.getTransitions(),I=c.getDiagramTitle(),d=c.getAccTitle(),D=c.getAccDescription(),o=c.getConfig(),p=Vt();X.debug("Rendering Cynefin diagram");const i=o.width,f=o.height,b=o.padding,h=o.showDomainDescriptions,R=o.boundaryAmplitude,V=i+b*2,F=f+b*2,z={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},k=Dt(e);kt(k,F,V,o.useMaxWidth??!0),k.attr("viewBox",`0 0 ${V} ${F}`),d&&k.append("title").text(d),D&&k.append("desc").text(D);const T=k.append("g").attr("transform",`translate(${b}, ${b})`),_=Rt(i,f),Z=it(o.seed,e),mt=T.append("g").attr("class","cynefin-backgrounds"),Y=["complex","complicated","chaotic","clear"];for(const l of Y){const r=_[l];mt.append("rect").attr("class","cynefinDomain").attr("x",r.x).attr("y",r.y).attr("width",r.w).attr("height",r.h).attr("fill",z[l]).attr("fill-opacity",.4).attr("stroke","none")}const j=T.append("g").attr("class","cynefin-boundaries");j.append("path").attr("class","cynefinBoundary").attr("d",ct(i,f,Z,R)).attr("fill","none"),j.append("path").attr("class","cynefinBoundary").attr("d",lt(i,f,Z+100,R)).attr("fill","none"),j.append("path").attr("class","cynefinCliff").attr("d",dt(i,f)).attr("fill","none");const pt=i*.15,yt=f*.15;T.append("path").attr("class","cynefinConfusion").attr("d",ft(i/2,f/2,pt,yt)).attr("fill",z.confusion).attr("fill-opacity",.5);const J=T.append("g").attr("class","cynefin-labels");for(const l of Y){const r=_[l];J.append("text").attr("class","cynefinDomainLabel").attr("x",r.cx).attr("y",h?r.cy-30:r.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(l.charAt(0).toUpperCase()+l.slice(1))}if(J.append("text").attr("class","cynefinDomainLabel").attr("x",i/2).attr("y",h?f/2-10:f/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),h){const l=T.append("g").attr("class","cynefin-subtitles");for(const r of Y){const u=_[r],y=at[r];l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.model),l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.practice)}l.append("text").attr("class","cynefinSubtitle").attr("x",i/2).attr("y",f/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(at.confusion.practice)}const K=T.append("g").attr("class","cynefin-items"),A=26,tt=10,ut=["complex","complicated","chaotic","clear","confusion"];for(const l of ut){const r=m.get(l);if(!r||r.items.length===0)continue;const u=_[l],y=l==="confusion";let L=r.items,N=0;y&&r.items.length>U&&(N=r.items.length-U,L=r.items.slice(0,U));let B;if(y){const g=h?22:14;B=u.cy+g}else B=u.cy+(h?25:15);if([...L].forEach((g,S)=>{const w=B+S*(A+4),M=K.append("g"),P=M.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",A/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(g.label);let $=g.label.length*7;const x=P.node();if(x&&typeof x.getBBox=="function"){const G=x.getBBox();G.width>0&&($=G.width)}const C=$+tt*2,W=u.cx-C/2;M.attr("transform",`translate(${W}, ${w})`),M.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",C).attr("height",A).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.95),P.attr("x",C/2).attr("y",A/2)}),N>0){const g=B+L.length*(A+4),S=`+${N} more`,w=K.append("g"),M=w.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",A/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(S);let P=S.length*7;const $=M.node();if($&&typeof $.getBBox=="function"){const W=$.getBBox();W.width>0&&(P=W.width)}const x=P+tt*2,C=u.cx-x/2;w.attr("transform",`translate(${C}, ${g})`),w.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",x).attr("height",A).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.6),M.attr("x",x/2).attr("y",A/2)}}if(v.length>0){const l=k.select("defs").empty()?k.append("defs"):k.select("defs"),r=`cynefin-arrow-${e}`;l.append("marker").attr("id",r).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const u=T.append("g").attr("class","cynefin-arrows");v.forEach(y=>{const L=_[y.from],N=_[y.to];if(!L||!N)return;if(y.from===y.to){X.warn(`Cynefin renderer: skipping self-loop on domain "${y.from}"`);return}const B=L.cx,g=L.cy,S=N.cx,w=N.cy,M=(B+S)/2,P=(g+w)/2,$=S-B,x=w-g,C=Math.sqrt($*$+x*x),W=C*.15,G=-x/C,ht=$/C,et=M+G*W,nt=P+ht*W;u.append("path").attr("class","cynefinArrowLine").attr("d",`M${B},${g} Q${et},${nt} ${S},${w}`).attr("fill","none").attr("marker-end",`url(#${r})`),y.label&&u.append("text").attr("class","cynefinArrowLabel").attr("x",et).attr("y",nt-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(y.label)})}I&&T.append("text").attr("class","cynefinTitle").attr("x",i/2).attr("y",-b/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(I)},"draw"),_t={draw:Ft},Et=s(()=>{const t=ot(),e=Q();return q(t,e.themeVariables).cynefin},"getCynefinTheme"),Ht=s(()=>{const t=Et();return` .cynefinDomain { stroke: none; } diff --git a/veadk/webui/assets/visualizations/mermaid/dagre-VZM6K2ZE-CaZltdDs.js b/veadk/webui/assets/visualizations/mermaid/dagre-VZM6K2ZE-DOKD1IJy.js similarity index 97% rename from veadk/webui/assets/visualizations/mermaid/dagre-VZM6K2ZE-CaZltdDs.js rename to veadk/webui/assets/visualizations/mermaid/dagre-VZM6K2ZE-DOKD1IJy.js index 9e3fcb631..54c896b48 100644 --- a/veadk/webui/assets/visualizations/mermaid/dagre-VZM6K2ZE-CaZltdDs.js +++ b/veadk/webui/assets/visualizations/mermaid/dagre-VZM6K2ZE-DOKD1IJy.js @@ -1,4 +1,4 @@ -import{c as O,w as M,a as J,f as P,b as N,s as A}from"./chunk-RYQCIY6F-Bc3woq1C.js";import{a as X,aw as v,v as D,t as Y,u as H,at as d,Y as _,b9 as F,aV as W,ag as $,a6 as j,aG as R,ad as V,ae as q,aF as z,af as G}from"./mermaid.core-CA8ypPul.js";import{G as K}from"../../chunks/graph-Dqkl27Ch.js";import{l as Q}from"../../chunks/layout-B6FSD_Du.js";import"../../chunks/map-8WAJQ6ap.js";import"../../app/index-BSfA7-Qp.js";var C=X((o,s,l)=>Math.max(s,Math.min(l,o)),"clamp"),B=X((o="TB")=>{switch(o){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),U=X(o=>o==="flowchart"||o==="flowchart-v2"||o==="stateDiagram","shouldMergeSelfLoopSegments"),Z=X((o,s,l,y,a)=>{const f=[],p=new Set;if(l.forEach(({start:r,end:t})=>{r!==y&&p.add(r),t!==y&&p.add(t)}),p.forEach(r=>{const t=o.node(r);typeof(t==null?void 0:t.x)=="number"&&typeof(t==null?void 0:t.y)=="number"&&f.push(t)}),f.length===0&&l.forEach(({edge:r})=>{(r.points??[]).forEach(t=>{typeof(t==null?void 0:t.x)=="number"&&typeof(t==null?void 0:t.y)=="number"&&f.push(t)})}),f.length===0)return B(a);const c=f.reduce((r,t)=>({x:r.x+t.x/f.length,y:r.y+t.y/f.length}),{x:0,y:0}),h=c.x-s.x,i=c.y-s.y;return Math.abs(h)>Math.abs(i)?h>0?"right":"left":Math.abs(i)>0?i>0?"bottom":"top":B(a)},"getSelfLoopSide"),ee=X((o,s="top",l=0,y=0)=>{const a=o.x,f=o.y-l,p=o.width/2,c=o.height/2,h=Math.max(36,Math.min(100,o.width*.8)),i=C(Math.max(y,o.width*.35),36,h),r=C(Math.min(o.width,o.height)*.45,24,48);switch(s){case"bottom":{const t=f+c;return[{x:a-i/2,y:t},{x:a-i/2,y:t+r},{x:a+i/2,y:t+r},{x:a+i/2,y:t}]}case"right":{const t=a+p;return[{x:t,y:f-i/2},{x:t+r,y:f-i/2},{x:t+r,y:f+i/2},{x:t,y:f+i/2}]}case"left":{const t=a-p;return[{x:t,y:f-i/2},{x:t-r,y:f-i/2},{x:t-r,y:f+i/2},{x:t,y:f+i/2}]}case"top":default:{const t=f-c;return[{x:a-i/2,y:t},{x:a-i/2,y:t-r},{x:a+i/2,y:t-r},{x:a+i/2,y:t}]}}},"getSelfLoopPoints"),te=X((o,s,l="top",y=0,a={})=>{const p=o.x,c=o.y-y,h=a.width??0,i=a.height??0;switch(l){case"bottom":return{x:p,y:Math.max(...s.map(r=>r.y))+i/2+4};case"right":return{x:Math.max(...s.map(r=>r.x))+h/2+4,y:c};case"left":return{x:Math.min(...s.map(r=>r.x))-h/2-4,y:c};case"top":default:return{x:p,y:Math.min(...s.map(r=>r.y))-i/2-4}}},"getSelfLoopLabelPosition"),se=X((o,s=0,{mergeSelfLoops:l=!0}={})=>{var p;const y=new Map,a=[],f=(p=o.graph())==null?void 0:p.rankdir;return o.edges().forEach(c=>{const h=o.edge(c);if(l&&h.selfLoop){const i=h.selfLoop.id;y.has(i)||y.set(i,[]),y.get(i).push({edge:h,start:c.v,end:c.w})}else a.push({edge:h,start:c.v,end:c.w})}),y.forEach(c=>{if(c.length!==3){c.forEach(n=>a.push(n));return}c.sort((n,e)=>n.edge.selfLoop.order-e.edge.selfLoop.order);const[h,i,r]=c,t=h.edge.originalEdge??i.edge.originalEdge??r.edge.originalEdge??i.edge,g=o.node(t.start);if(!g){c.forEach(n=>a.push(n));return}const S={width:i.edge.width,height:i.edge.height},w=Z(o,g,c,t.start,f),b=ee(g,w,s,S.width??0),E=te(g,b,w,s,S),m={...i.edge,...t,id:t.id,points:b,start:t.start,end:t.end,x:E.x,y:E.y,width:S.width,height:S.height,labelStyle:i.edge.labelStyle,fromCluster:h.edge.fromCluster??i.edge.fromCluster??r.edge.fromCluster,toCluster:h.edge.toCluster??i.edge.toCluster??r.edge.toCluster};delete m.selfLoop,delete m.originalEdge,a.push({edge:m,start:m.start,end:m.end})}),a},"getEdgesToRender"),T=X(async(o,s,l,y,a,f)=>{d.warn("Graph in recursive render:XAX",M(s),a);const p=s.graph().rankdir;d.trace("Dir in recursive render - dir:",p);const c=o.insert("g").attr("class","root");s.nodes()?d.info("Recursive render XXX",s.nodes()):d.info("No nodes found for",s),s.edges().length>0&&d.info("Recursive edges",s.edge(s.edges()[0]));const h=c.insert("g").attr("class","clusters"),i=c.insert("g").attr("class","edgePaths"),r=c.insert("g").attr("class","edgeLabels"),t=c.insert("g").attr("class","nodes"),g=U(l);await Promise.all(s.nodes().map(async function(n){const e=s.node(n);if(a!==void 0){const u=JSON.parse(JSON.stringify(a.clusterData));d.trace(`Setting data for parent cluster XXX +import{c as O,w as M,a as J,f as P,b as N,s as A}from"./chunk-RYQCIY6F-Db1h9bio.js";import{a as X,aw as v,v as D,t as Y,u as H,at as d,Y as _,b9 as F,aV as W,ag as $,a6 as j,aG as R,ad as V,ae as q,aF as z,af as G}from"./mermaid.core-DS1qXbzQ.js";import{G as K}from"../../chunks/graph-Dqkl27Ch.js";import{l as Q}from"../../chunks/layout-B6FSD_Du.js";import"../../chunks/map-8WAJQ6ap.js";import"../../app/index-B0ly_D9Z.js";var C=X((o,s,l)=>Math.max(s,Math.min(l,o)),"clamp"),B=X((o="TB")=>{switch(o){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),U=X(o=>o==="flowchart"||o==="flowchart-v2"||o==="stateDiagram","shouldMergeSelfLoopSegments"),Z=X((o,s,l,y,a)=>{const f=[],p=new Set;if(l.forEach(({start:r,end:t})=>{r!==y&&p.add(r),t!==y&&p.add(t)}),p.forEach(r=>{const t=o.node(r);typeof(t==null?void 0:t.x)=="number"&&typeof(t==null?void 0:t.y)=="number"&&f.push(t)}),f.length===0&&l.forEach(({edge:r})=>{(r.points??[]).forEach(t=>{typeof(t==null?void 0:t.x)=="number"&&typeof(t==null?void 0:t.y)=="number"&&f.push(t)})}),f.length===0)return B(a);const c=f.reduce((r,t)=>({x:r.x+t.x/f.length,y:r.y+t.y/f.length}),{x:0,y:0}),h=c.x-s.x,i=c.y-s.y;return Math.abs(h)>Math.abs(i)?h>0?"right":"left":Math.abs(i)>0?i>0?"bottom":"top":B(a)},"getSelfLoopSide"),ee=X((o,s="top",l=0,y=0)=>{const a=o.x,f=o.y-l,p=o.width/2,c=o.height/2,h=Math.max(36,Math.min(100,o.width*.8)),i=C(Math.max(y,o.width*.35),36,h),r=C(Math.min(o.width,o.height)*.45,24,48);switch(s){case"bottom":{const t=f+c;return[{x:a-i/2,y:t},{x:a-i/2,y:t+r},{x:a+i/2,y:t+r},{x:a+i/2,y:t}]}case"right":{const t=a+p;return[{x:t,y:f-i/2},{x:t+r,y:f-i/2},{x:t+r,y:f+i/2},{x:t,y:f+i/2}]}case"left":{const t=a-p;return[{x:t,y:f-i/2},{x:t-r,y:f-i/2},{x:t-r,y:f+i/2},{x:t,y:f+i/2}]}case"top":default:{const t=f-c;return[{x:a-i/2,y:t},{x:a-i/2,y:t-r},{x:a+i/2,y:t-r},{x:a+i/2,y:t}]}}},"getSelfLoopPoints"),te=X((o,s,l="top",y=0,a={})=>{const p=o.x,c=o.y-y,h=a.width??0,i=a.height??0;switch(l){case"bottom":return{x:p,y:Math.max(...s.map(r=>r.y))+i/2+4};case"right":return{x:Math.max(...s.map(r=>r.x))+h/2+4,y:c};case"left":return{x:Math.min(...s.map(r=>r.x))-h/2-4,y:c};case"top":default:return{x:p,y:Math.min(...s.map(r=>r.y))-i/2-4}}},"getSelfLoopLabelPosition"),se=X((o,s=0,{mergeSelfLoops:l=!0}={})=>{var p;const y=new Map,a=[],f=(p=o.graph())==null?void 0:p.rankdir;return o.edges().forEach(c=>{const h=o.edge(c);if(l&&h.selfLoop){const i=h.selfLoop.id;y.has(i)||y.set(i,[]),y.get(i).push({edge:h,start:c.v,end:c.w})}else a.push({edge:h,start:c.v,end:c.w})}),y.forEach(c=>{if(c.length!==3){c.forEach(n=>a.push(n));return}c.sort((n,e)=>n.edge.selfLoop.order-e.edge.selfLoop.order);const[h,i,r]=c,t=h.edge.originalEdge??i.edge.originalEdge??r.edge.originalEdge??i.edge,g=o.node(t.start);if(!g){c.forEach(n=>a.push(n));return}const S={width:i.edge.width,height:i.edge.height},w=Z(o,g,c,t.start,f),b=ee(g,w,s,S.width??0),E=te(g,b,w,s,S),m={...i.edge,...t,id:t.id,points:b,start:t.start,end:t.end,x:E.x,y:E.y,width:S.width,height:S.height,labelStyle:i.edge.labelStyle,fromCluster:h.edge.fromCluster??i.edge.fromCluster??r.edge.fromCluster,toCluster:h.edge.toCluster??i.edge.toCluster??r.edge.toCluster};delete m.selfLoop,delete m.originalEdge,a.push({edge:m,start:m.start,end:m.end})}),a},"getEdgesToRender"),T=X(async(o,s,l,y,a,f)=>{d.warn("Graph in recursive render:XAX",M(s),a);const p=s.graph().rankdir;d.trace("Dir in recursive render - dir:",p);const c=o.insert("g").attr("class","root");s.nodes()?d.info("Recursive render XXX",s.nodes()):d.info("No nodes found for",s),s.edges().length>0&&d.info("Recursive edges",s.edge(s.edges()[0]));const h=c.insert("g").attr("class","clusters"),i=c.insert("g").attr("class","edgePaths"),r=c.insert("g").attr("class","edgeLabels"),t=c.insert("g").attr("class","nodes"),g=U(l);await Promise.all(s.nodes().map(async function(n){const e=s.node(n);if(a!==void 0){const u=JSON.parse(JSON.stringify(a.clusterData));d.trace(`Setting data for parent cluster XXX Node.id = `,n,` data=`,u.height,` Parent cluster`,a.height),s.setNode(a.id,u),s.parent(n)||(d.trace("Setting parent",n,a.id),s.setParent(n,a.id,u))}if(d.info("(Insert) Node XXX"+n+": "+JSON.stringify(s.node(n))),e!=null&&e.clusterNode){d.info("Cluster identified XBX",n,e.width,s.node(n));const{ranksep:u,nodesep:x}=s.graph();e.graph.setGraph({...e.graph.graph(),ranksep:u+25,nodesep:x});const L=await T(t,e.graph,l,y,s.node(n),f),I=L.elem;F(e,I),e.diff=L.diff||0,d.info("New compound node after recursive render XAX",n,"width",e.width,"height",e.height),W(I,e)}else s.children(n).length>0?(d.trace("Cluster - the non recursive path XBX",n,e.id,e,e.width,"Graph:",s),d.trace(P(e.id,s)),N.set(e.id,{id:P(e.id,s),node:e})):(d.trace("Node - the non recursive path XAX",n,t,s.node(n),p),await $(t,s.node(n),{config:f,dir:p}))})),await X(async()=>{const n=s.edges().map(async function(e){const u=s.edge(e.v,e.w,e.name);if(d.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),d.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(s.edge(e))),d.info("Fix",N,"ids:",e.v,e.w,"Translating: ",N.get(e.v),N.get(e.w)),g&&u.selfLoop){if(u.selfLoop.order!==1)return;const x=u.id;u.id=u.selfLoop.id,await G(r,u),u.id=x;return}await G(r,u)});await Promise.all(n)},"processEdges")(),d.info("Graph before layout:",JSON.stringify(M(s))),d.info("############################################# XXX"),d.info("### Layout ### XXX"),d.info("############################################# XXX"),Q(s),d.info("Graph after layout:",JSON.stringify(M(s)));let w=0,{subGraphTitleTotalMargin:b}=j(f);await Promise.all(A(s).map(async function(n){var u;const e=s.node(n);if(d.info("Position XBX => "+n+": ("+e.x,","+e.y,") width: ",e.width," height: ",e.height),e!=null&&e.clusterNode)e.y+=b,d.info("A tainted cluster node XBX1",n,e.id,e.width,e.height,e.x,e.y,s.parent(n)),N.get(e.id).node=e,R(e);else if(s.children(n).length>0){d.info("A pure cluster node XBX1",n,e.id,e.x,e.y,e.width,e.height,s.parent(n)),e.height+=b,s.node(e.parentId);const x=(e==null?void 0:e.padding)/2||0,L=((u=e==null?void 0:e.labelBBox)==null?void 0:u.height)||0,I=L-x||0;d.debug("OffsetY",I,"labelHeight",L,"halfPadding",x),await V(h,e),N.get(e.id).node=e}else{const x=s.node(e.parentId);e.y+=b/2,d.info("A regular node XBX1 - using the padding",e.id,"parent",e.parentId,e.width,e.height,e.x,e.y,"offsetY",e.offsetY,"parent",x,x==null?void 0:x.offsetY,e),R(e)}}));const E=b/2;return se(s,E,{mergeSelfLoops:g}).forEach(function({edge:n,start:e,end:u}){d.info("Edge "+e+" -> "+u+": "+JSON.stringify(n),n),n.points.forEach(k=>k.y+=E);const x=s.node(e),L=s.node(u),I=q(i,n,N,l,x,L,y);z(n,I)}),s.nodes().forEach(function(n){const e=s.node(n);d.info(n,e.type,e.diff),e.isGroup&&(w=e.diff)}),d.warn("Returning from recursive render XAX",c,w),{elem:c,diff:w}},"recursiveRender"),ce=X(async(o,s)=>{var f,p,c,h,i,r;const l=new K({multigraph:!0,compound:!0}).setGraph({rankdir:o.direction,nodesep:((f=o.config)==null?void 0:f.nodeSpacing)||((c=(p=o.config)==null?void 0:p.flowchart)==null?void 0:c.nodeSpacing)||o.nodeSpacing,ranksep:((h=o.config)==null?void 0:h.rankSpacing)||((r=(i=o.config)==null?void 0:i.flowchart)==null?void 0:r.rankSpacing)||o.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),y=s.select("g");v(y,o.markers,o.type,o.diagramId),D(),Y(),H(),O(),o.nodes.forEach(t=>{l.setNode(t.id,{...t}),t.parentId&&l.setParent(t.id,t.parentId)}),d.debug("Edges:",o.edges),o.edges.forEach(t=>{if(t.start===t.end){const g=t.start,S=g+"---"+g+"---1",w=g+"---"+g+"---2",b=l.node(g);l.setNode(S,{domId:S,id:S,parentId:b.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),l.setParent(S,b.parentId),l.setNode(w,{domId:w,id:w,parentId:b.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),l.setParent(w,b.parentId);const E=structuredClone(t),m=structuredClone(t),n=structuredClone(t),e=structuredClone(t);m.originalEdge=E,m.selfLoop={id:E.id,order:0},n.originalEdge=E,n.selfLoop={id:E.id,order:1},e.originalEdge=E,e.selfLoop={id:E.id,order:2},m.label="",m.arrowTypeEnd="none",m.endLabelLeft="",m.endLabelRight="",m.startLabelLeft="",m.id=g+"-cyclic-special-1",n.startLabelRight="",n.startLabelLeft="",n.endLabelLeft="",n.endLabelRight="",n.arrowTypeStart="none",n.arrowTypeEnd="none",n.id=g+"-cyclic-special-mid",e.label="",e.startLabelRight="",e.startLabelLeft="",e.arrowTypeStart="none",b.isGroup&&(m.fromCluster=g,e.toCluster=g),e.id=g+"-cyclic-special-2",e.arrowTypeStart="none",l.setEdge(g,S,m,g+"-cyclic-special-0"),l.setEdge(S,w,n,g+"-cyclic-special-1"),l.setEdge(w,g,e,g+"-cyclic-special-2")}else l.setEdge(t.start,t.end,{...t},t.id)}),d.warn("Graph at first:",JSON.stringify(M(l))),J(l),d.warn("Graph after XAX:",JSON.stringify(M(l)));const a=_();await T(y,l,o.type,o.diagramId,void 0,a)},"render");export{se as getEdgesToRender,ce as render}; diff --git a/veadk/webui/assets/visualizations/mermaid/diagram-7IWD3JNH-ChiT9kPC.js b/veadk/webui/assets/visualizations/mermaid/diagram-7IWD3JNH-xdPQoOz8.js similarity index 96% rename from veadk/webui/assets/visualizations/mermaid/diagram-7IWD3JNH-ChiT9kPC.js rename to veadk/webui/assets/visualizations/mermaid/diagram-7IWD3JNH-xdPQoOz8.js index 4fe4d747d..01cb2309e 100644 --- a/veadk/webui/assets/visualizations/mermaid/diagram-7IWD3JNH-ChiT9kPC.js +++ b/veadk/webui/assets/visualizations/mermaid/diagram-7IWD3JNH-xdPQoOz8.js @@ -1,4 +1,4 @@ -import{I as X}from"./chunk-2Q5K7J3B-DQ_g_FOP.js";import{p as z}from"./chunk-JWPE2WC7-B2zXTT0G.js";import{aU as G,aS as Y,aR as P,$ as F,V as j,W as U,a as p,r as N,at as S,aQ as Z,B as q,X as D,s as K,aO as Q,a2 as J,O as ee,aK as te}from"./mermaid.core-CA8ypPul.js";import{p as re}from"./cynefin-OW5HDTMX-DZwYx8KA.js";import"../../app/index-BSfA7-Qp.js";var E=/[─━│┃└┗├┣]/,L=/[└┗├┣]/,ne=/[─━]/,$=/^[\s│┃]+$/,k=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,T=/^\s*%%/,ie=" ";function _(r){return r.some(e=>E.test(e))}p(_,"isBoxDrawingFormat");function M(r){for(const e of r){const t=L.exec(e);if(t!=null&&t.index&&t.index>0)return t.index}return 4}p(M,"inferSegmentWidth");function R(r,e){return r.replace(/\bline\s+(\d+)\b/gi,(t,i)=>{const o=parseInt(i,10),c=e.get(o);return c?`line ${c}`:t})}p(R,"remapErrorLines");function H(r){const e=r.split(` +import{I as X}from"./chunk-2Q5K7J3B-CrYepzYZ.js";import{p as z}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{aU as G,aS as Y,aR as P,$ as F,V as j,W as U,a as p,r as N,at as S,aQ as Z,B as q,X as D,s as K,aO as Q,a2 as J,O as ee,aK as te}from"./mermaid.core-DS1qXbzQ.js";import{p as re}from"./cynefin-OW5HDTMX-CJh-KUCL.js";import"../../app/index-B0ly_D9Z.js";var E=/[─━│┃└┗├┣]/,L=/[└┗├┣]/,ne=/[─━]/,$=/^[\s│┃]+$/,k=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,T=/^\s*%%/,ie=" ";function _(r){return r.some(e=>E.test(e))}p(_,"isBoxDrawingFormat");function M(r){for(const e of r){const t=L.exec(e);if(t!=null&&t.index&&t.index>0)return t.index}return 4}p(M,"inferSegmentWidth");function R(r,e){return r.replace(/\bline\s+(\d+)\b/gi,(t,i)=>{const o=parseInt(i,10),c=e.get(o);return c?`line ${c}`:t})}p(R,"remapErrorLines");function H(r){const e=r.split(` `),t=new Map;let i=-1;for(const[a,s]of e.entries())if(s.trim()==="treeView-beta"){i=a;break}if(i===-1)return{text:r,lineMap:t};const o=[];for(let a=i+1;a({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),oe=p(()=>{x.reset(),K()},"clear"),se=p(()=>x.records.stack[0],"getRoot"),ae=p(()=>x.records.cnt,"getCount"),ce=ee.treeView,le=p(()=>N(ce,D().treeView),"getConfig"),de=p((r,e,t,i,o,c)=>{for(;r<=x.records.stack[x.records.stack.length-1].level;)x.records.stack.pop();const n={id:x.records.cnt++,level:r,name:e,nodeType:t,icon:o,cssClass:i,description:c,children:[]};x.records.stack[x.records.stack.length-1].children.push(n),x.records.stack.push(n)},"addNode"),he={clear:oe,addNode:de,getRoot:se,getCount:ae,getConfig:le,getAccTitle:U,getAccDescription:j,getDiagramTitle:F,setAccDescription:P,setAccTitle:Y,setDiagramTitle:G},y=he,pe=p(r=>{z(r,y);for(const e of r.nodes){const t=typeof e.indent=="number"?e.indent:0;let i=e.name;const o=i.endsWith("/");o&&(i=i.slice(0,-1));const c=o?"directory":"file",n=e.classAnnotation||void 0,l=e.iconAnnotation,a=l!==void 0?l||"none":void 0,s=e.descAnnotation||void 0,u=s?Q(s,D()):void 0;y.addNode(t,i,c,n,a,u)}},"populate"),fe={parse:p(async r=>{const{text:e,lineMap:t}=H(r);try{const i=await re("treeView",e);S.debug(i),pe(i)}catch(i){throw t.size>0&&i instanceof Error&&(i.message=R(i.message,t)),i}},"parse")},C={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:''},file:{body:''}}};function O(r,e){var o;const t=(o=e==null?void 0:e.filenameIcons)==null?void 0:o[r];if(t)return t;const i=r.lastIndexOf(".");if(i>0){const c=r.substring(i).toLowerCase(),n=e==null?void 0:e.extensionIcons;return(n==null?void 0:n[c])??(n==null?void 0:n[c.slice(1)])}}p(O,"detectIcon");function I(r,e){return r.includes(":")?r:r in C.icons||!e?`${C.prefix}:${r}`:`${e}:${r}`}p(I,"qualifyIcon");function V(r,e){if(r.icon!=="none"){if(r.icon)return I(r.icon,e.defaultIconPack);if(e.showIcons){if(r.nodeType==="file"){const t=O(r.name,e);if(t==="none")return;if(t)return I(t,e.defaultIconPack)}return`${C.prefix}:${r.nodeType==="directory"?"folder":"file"}`}}}p(V,"getNodeIcon");te([{name:C.prefix,icons:C}]);var B=14,ge=4,ue=16,W=p((r,e)=>`tv-icon-${r}-${e.replace(/[^\w-]/g,"-")}`,"iconSymbolId"),we=p(async(r,e,t,i)=>{const o=new Set,c=p(a=>{const s=V(a,t);s&&o.add(s),a.children.forEach(c)},"collect");if(c(e),o.size===0)return;const n=await Promise.all([...o].map(async a=>({icon:a,svg:await J(a,{height:B,width:B})}))),l=r.append("defs");for(const{icon:a,svg:s}of n)l.append("g").attr("id",W(i,a)).html(s)},"injectIconDefs"),me=p((r,e,t,i,o,c)=>{var b;const n=i.append("g");let l="treeView-node-label";t.nodeType==="directory"&&(l+=" treeView-node-dir"),t.cssClass&&(l+=` ${t.cssClass}`);const a=B+ge,s=V(t,o),u=s!==void 0;s&&n.append("use").attr("xlink:href",`#${W(c,s)}`).attr("x",r+o.paddingX).attr("y",e+o.paddingY).attr("class","treeView-node-icon");const d=n.append("text").text(t.name).attr("dominant-baseline","middle").attr("class",l),{height:f,width:h}=d.node().getBBox(),m=f+o.paddingY*2,w=r+o.paddingX+(u?a:0);d.attr("x",w),d.attr("y",e+m/2);const g=w+h,v=h+o.paddingX*2+(u?a:0);return t.BBox={x:r,y:e,width:v,height:m},(b=t.cssClass)!=null&&b.split(/\s+/).includes("highlight")&&n.insert("rect",":first-child").attr("x",r).attr("y",e+1).attr("width",0).attr("height",m-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:t,nodeGroup:n,labelRightEdge:g,centerY:e+m/2}},"positionLabel"),A=p((r,e,t,i,o,c)=>r.append("line").attr("x1",e).attr("y1",t).attr("x2",i).attr("y2",o).attr("stroke-width",c).attr("class","treeView-node-line"),"positionLine"),ve=p((r,e,t,i)=>{var u;let o=0,c=0;const n=[],l=p((d,f,h,m)=>{const w=m*(h.rowIndent+h.paddingX),g=me(w,o,f,d,h,i);n.push(g);const{height:v,width:b}=f.BBox;A(d,w-h.rowIndent,o+v/2,w,o+v/2,h.lineThickness),c=Math.max(c,w+b),o+=v},"drawNode"),a=p((d,f=0)=>{l(r,d,t,f),d.children.forEach(g=>{a(g,f+1)});const{x:h,y:m,height:w}=d.BBox;if(d.children.length){const{y:g,height:v}=d.children[d.children.length-1].BBox;A(r,h+t.paddingX,m+w,h+t.paddingX,g+v/2+t.lineThickness/2,t.lineThickness)}},"processNode");a(e);const s=n.filter(d=>d.node.description);if(s.length>0){const f=Math.max(...n.map(h=>h.labelRightEdge))+ue;for(const h of s){const w=h.nodeGroup.append("text").text(h.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",f).attr("y",h.centerY).node().getBBox();c=Math.max(c,f+w.width+t.paddingX)}}for(const d of n)if((u=d.node.cssClass)!=null&&u.split(/\s+/).includes("highlight")){const f=d.nodeGroup.select(".treeView-highlight-bg");if(!f.empty()){const h=c-d.node.BBox.x+8;f.attr("width",h),c=Math.max(c,d.node.BBox.x+h+2)}}return{totalHeight:o,totalWidth:c}},"drawTree"),xe=p(async(r,e,t,i)=>{S.debug(`Rendering treeView diagram `+r);const o=i.db,c=o.getRoot(),n=o.getConfig(),l=Z(e);await we(l,c,n,e);const a=l.append("g");a.attr("class","tree-view");const{totalHeight:s,totalWidth:u}=ve(a,c,n,e);l.attr("viewBox",`-${n.lineThickness/2} 0 ${u} ${s}`),q(l,s,u,n.useMaxWidth)},"draw"),be={draw:xe},Ce=be,ye={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},Ie=p(({treeView:r})=>{const{labelFontSize:e,labelColor:t,lineColor:i,iconColor:o,descriptionColor:c,highlightBg:n,highlightStroke:l}=N(ye,r);return` diff --git a/veadk/webui/assets/visualizations/mermaid/diagram-B4RE2ZJO-gnhe1XTL.js b/veadk/webui/assets/visualizations/mermaid/diagram-B4RE2ZJO-Dnvm1SQ9.js similarity index 97% rename from veadk/webui/assets/visualizations/mermaid/diagram-B4RE2ZJO-gnhe1XTL.js rename to veadk/webui/assets/visualizations/mermaid/diagram-B4RE2ZJO-Dnvm1SQ9.js index 0540c1773..6cb601db1 100644 --- a/veadk/webui/assets/visualizations/mermaid/diagram-B4RE2ZJO-gnhe1XTL.js +++ b/veadk/webui/assets/visualizations/mermaid/diagram-B4RE2ZJO-Dnvm1SQ9.js @@ -1,3 +1,3 @@ -import{p as oe}from"./chunk-JWPE2WC7-B2zXTT0G.js";import{$ as se,aU as de,aR as le,V as ce,W as me,aS as ue,a as o,at as g,Y as T,aY as xe,s as fe,r as ge,X as E,O as he,aO as P,bc as S,o as pe}from"./mermaid.core-CA8ypPul.js";import{p as be,i as ve}from"./cynefin-OW5HDTMX-DZwYx8KA.js";import{ad as we}from"../../app/index-BSfA7-Qp.js";var D="position frame",N="frame positioned",M="position relation",O="relation positioned",ye=o(function(e){g.debug("options str",e)},"setOptions"),Pe=o(function(){return{}},"getOptions"),Se=o(function(){C(),fe()},"clear");function C(){R={}}o(C,"reset");var ke=he.eventmodeling,Me=o(()=>ge({...ke,...E().eventmodeling}),"getConfig"),R={};function W(){let e=Be;const{ast:n}=R,t=A();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,a)=>{const r=L(i,n.dataEntities,t);e=w(e,{$kind:D,index:a,frame:i,textProps:r});let d;q(i)?(g.debug("source frame",i.sourceFrames),d=n.frames.filter(l=>i.sourceFrames.some(c=>c.$refText===l.name)),d.forEach(l=>{e=w(e,{$kind:M,index:a,frame:i,sourceFrame:l})})):e=w(e,{$kind:M,index:a,frame:i})}),e={...e,sortedSwimlanesArray:$(e.swimlanes)},e}o(W,"getState");function I(e){R.ast=e}o(I,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:450-2*10,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function A(){return s}o(A,"getDiagramProps");var Be={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function H(e){const n=e.split(".");if(n.length===2)return n[0]}o(H,"extractNamespace");function U(e){const n=e.split(".");return n.length===2?n[1]:e}o(U,"extractName");function V(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}o(V,"findSwimlaneByNamespace");function v(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const a=Number.parseInt(i);return a>n&&aNumber.parseInt(i)))+1}o(v,"findNextAvailableIndex");function X(e,n){const t=H(e.entityIdentifier),i=V(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:v(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:v(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:v(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}o(X,"calculateSwimlaneProps");function _(e){const{themeVariables:n}=E();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}o(_,"calculateEntityVisualProps");function L(e,n,t){const i=E(),a=P(U(e.entityIdentifier)??"",i);let r;const d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"
"};let c=`${S(a,t.textMaxWidth,d)}`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,d),r=r.replaceAll(" "," ")),e.dataReference){const p=n.find(y=>{var b;return y.name===((b=e.dataReference)==null?void 0:b.$refText)});p&&(r=p.dataBlockValue,r=r.substring(r.indexOf(`{ +import{p as oe}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{$ as se,aU as de,aR as le,V as ce,W as me,aS as ue,a as o,at as g,Y as T,aY as xe,s as fe,r as ge,X as E,O as he,aO as P,bc as S,o as pe}from"./mermaid.core-DS1qXbzQ.js";import{p as be,i as ve}from"./cynefin-OW5HDTMX-CJh-KUCL.js";import{ad as we}from"../../app/index-B0ly_D9Z.js";var D="position frame",N="frame positioned",M="position relation",O="relation positioned",ye=o(function(e){g.debug("options str",e)},"setOptions"),Pe=o(function(){return{}},"getOptions"),Se=o(function(){C(),fe()},"clear");function C(){R={}}o(C,"reset");var ke=he.eventmodeling,Me=o(()=>ge({...ke,...E().eventmodeling}),"getConfig"),R={};function W(){let e=Be;const{ast:n}=R,t=A();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,a)=>{const r=L(i,n.dataEntities,t);e=w(e,{$kind:D,index:a,frame:i,textProps:r});let d;q(i)?(g.debug("source frame",i.sourceFrames),d=n.frames.filter(l=>i.sourceFrames.some(c=>c.$refText===l.name)),d.forEach(l=>{e=w(e,{$kind:M,index:a,frame:i,sourceFrame:l})})):e=w(e,{$kind:M,index:a,frame:i})}),e={...e,sortedSwimlanesArray:$(e.swimlanes)},e}o(W,"getState");function I(e){R.ast=e}o(I,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:450-2*10,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function A(){return s}o(A,"getDiagramProps");var Be={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function H(e){const n=e.split(".");if(n.length===2)return n[0]}o(H,"extractNamespace");function U(e){const n=e.split(".");return n.length===2?n[1]:e}o(U,"extractName");function V(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}o(V,"findSwimlaneByNamespace");function v(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const a=Number.parseInt(i);return a>n&&aNumber.parseInt(i)))+1}o(v,"findNextAvailableIndex");function X(e,n){const t=H(e.entityIdentifier),i=V(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:v(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:v(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:v(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}o(X,"calculateSwimlaneProps");function _(e){const{themeVariables:n}=E();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}o(_,"calculateEntityVisualProps");function L(e,n,t){const i=E(),a=P(U(e.entityIdentifier)??"",i);let r;const d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"
"};let c=`${S(a,t.textMaxWidth,d)}`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,d),r=r.replaceAll(" "," ")),e.dataReference){const p=n.find(y=>{var b;return y.name===((b=e.dataReference)==null?void 0:b.$refText)});p&&(r=p.dataBlockValue,r=r.substring(r.indexOf(`{ `)+2),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,d),r=r.replaceAll(" "," "),r+="
")}const m=r!==void 0;m&&(c+=`

${r}`);const x={fontSize:d.fontSize,fontWeight:d.fontWeight,fontFamily:d.fontFamily},u=pe(c,x),h=m?u.width/3:u.width,f={content:c,width:h,height:u.height};return g.debug(`[${e.name}] ${e.entityIdentifier} text`,f),f}o(L,"calculateTextProps");function Y(e,n){const t=n,i=_(t.frame),a={width:t.textProps.width+2*s.boxTextPadding,height:t.textProps.height+2*s.boxTextPadding};return[{$kind:N,frame:t.frame,index:t.index,visual:i,dimension:a,textProps:t.textProps}]}o(Y,"decidePositionFrame");function G(e,n,t){return n===void 0?s.contentStartX:n.index===e.index&&e.r?e.r+s.boxPadding:t===void 0?s.contentStartX:t.r-s.boxOverlap+s.boxPadding}o(G,"calculateX");function j(e,n){const t=[...e.map(i=>i.r),n];return Math.max(...t)}o(j,"calculateMaxRight");function $(e){return Object.values(e).sort((n,t)=>n.index-t.index)}o($,"sortedSwimlanesArray");function z(e,n){const t=n,i=X(t.frame,e.swimlanes);let a;i.index in e.swimlanes?a=e.swimlanes[i.index]:a={index:i.index,label:i.label,r:0,y:i.index*s.swimlaneMinHeight+s.swimlaneGap,height:s.swimlaneMinHeight,maxHeight:s.swimlaneMinHeight};const r=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,d=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,l={width:Math.max(s.boxMinWidth,Math.min(s.boxMaxWidth,t.dimension.width))+2*s.boxPadding,height:Math.max(s.boxMinHeight,Math.min(s.boxMaxHeight,t.dimension.height))+2*s.boxPadding},c=G(a,d,r),m=c+l.width+s.boxPadding,x=j(Object.values(e.swimlanes),m);a.r=c+l.width,a.maxHeight=Math.max(a.maxHeight,l.height),a.height=Math.max(s.swimlaneMinHeight,a.maxHeight)+2*s.swimlanePadding;const u={x:c,y:s.swimlanePadding+a.y,r:m,dimension:l,leftSibling:!1,swimlane:a,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},h={...e,boxes:[...e.boxes,u],swimlanes:{...e.swimlanes,[`${a.index}`]:a},previousSwimlaneNumber:i.index,previousFrame:t.frame,maxR:x},f=$(h.swimlanes);f.length>0&&(f[0].y=0);for(let p=1;p0}o(q,"hasSourceFrame");function B(e,n){if(n!=null)return e.find(t=>t.frame.name===n.name)}o(B,"findBoxByFrame");function J(e,n,t){if(!(t<0))for(let i=t;i>=0;i--){const a=e[i];if(a.swimlane.index!==n)return a}}o(J,"findBoxByLineIndex");function Q(e,n){const t=n;if(ve(t.frame)||K(t.index,t.frame))return[];const i=B(e.boxes,t.frame);if(i===void 0)throw new Error(`Target box not found for frame ${t.frame.name}`);let a;return t.sourceFrame?a=B(e.boxes,t.sourceFrame):a=J(e.boxes,i.swimlane.index,t.index-1),a===void 0?[]:[{$kind:O,frame:t.frame,index:t.index,sourceBox:a,targetBox:i}]}o(Q,"decidePositionRelation");function Z(e,n){const t=n,i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}o(Z,"evolveRelationPositioned");var Fe={[D]:Y,[M]:Q},Ee={[N]:z,[O]:Z};function ee(e,n){const t=Fe[n.$kind];if(t==null)return[];const i=t(e,n);return g.debug("decided events",i),i}o(ee,"decide");function te(e,n){const t=n.reduce((i,a)=>{const r=Ee[a.$kind];return r==null?i:r(i,a)},e);return g.debug("evolve events",{state:e,newState:t,events:n}),t}o(te,"evolve");function w(e,n){const t=ee(e,n);return te(e,t)}o(w,"dispatch");var F={getConfig:Me,setOptions:ye,getOptions:Pe,clear:Se,setAccTitle:ue,getAccTitle:me,getAccDescription:ce,setAccDescription:le,setDiagramTitle:de,getDiagramTitle:se,setAst:I,getDiagramProps:A,getState:W},Re={parse:o(async e=>{const n=await be("eventmodeling",e);g.debug(n),F.setAst(n),oe(n,F)},"parse")},k=T(),Ae=k==null?void 0:k.eventmodeling;function ne(e,n){return t=>{const i=t.swimlane.y+n.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",t.x).attr("y",i).attr("rx","3").attr("width",t.dimension.width).attr("height",t.dimension.height).attr("stroke",t.visual.stroke).attr("fill",t.visual.fill),a.append("foreignObject").attr("x",t.x+n.boxPadding).attr("y",i+10).attr("width",t.dimension.width-2*n.boxPadding).attr("height",t.dimension.height-2*n.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(t.text)}}o(ne,"renderD3Box");function ie(e,n){return e>n}o(ie,"dirUpwards");function ae(e,n,t,i){return a=>{const r=a.sourceBox.swimlane.y+n.swimlanePadding,d=a.targetBox.swimlane.y+n.swimlanePadding,l=ie(r,d),c=a.sourceBox.x+a.sourceBox.dimension.width*2/3,m=a.targetBox.x+a.targetBox.dimension.width/3;let x,u;g.debug(`rendering relation up=${l} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),l?(x=r,u=d+a.targetBox.dimension.height):(x=r+a.sourceBox.dimension.height,u=d);const h=i.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",h).attr("stroke-width","1").attr("marker-end",`url(#${t})`).attr("d",`M${c} ${x} L${m} ${u}`)}}o(ae,"renderD3Relation");function re(e,n,t,i){return a=>{const r=e.append("g").attr("class","em-swimlane"),d=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",n+t.swimlanePadding).attr("height",a.height).attr("fill",d).attr("stroke",l),r.append("text").attr("font-weight",t.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}o(re,"renderD3Swimlane");var $e=o(function(e,n,t,i){if(g.debug("in eventmodeling renderer",e+` `,"id:",n,t),!Ae)throw new Error("EventModeling config not found");const a=i.db,{themeVariables:r,eventmodeling:d}=T(),l=we(`[id="${n}"]`),c=a.getDiagramProps(),m=a.getState(),x=`em-arrowhead-${n}`,u=r.emArrowhead??"#000000";m.sortedSwimlanesArray.forEach(re(l,m.maxR,c,r)),m.boxes.forEach(ne(l,c)),m.relations.forEach(ae(l,c,x,r)),l.append("defs").append("marker").attr("id",x).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",u),xe(void 0,l,(d==null?void 0:d.padding)??30,d==null?void 0:d.useMaxWidth)},"draw"),Te={draw:$e},De=o(e=>"","getStyles"),Ne=De,He={parser:Re,db:F,renderer:Te,styles:Ne};export{He as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/diagram-LBJQPF4R-Pnfxyn0a.js b/veadk/webui/assets/visualizations/mermaid/diagram-LBJQPF4R-nOwWkPyb.js similarity index 93% rename from veadk/webui/assets/visualizations/mermaid/diagram-LBJQPF4R-Pnfxyn0a.js rename to veadk/webui/assets/visualizations/mermaid/diagram-LBJQPF4R-nOwWkPyb.js index fd5f41add..a1ec96c04 100644 --- a/veadk/webui/assets/visualizations/mermaid/diagram-LBJQPF4R-Pnfxyn0a.js +++ b/veadk/webui/assets/visualizations/mermaid/diagram-LBJQPF4R-nOwWkPyb.js @@ -1,4 +1,4 @@ -import{p as B}from"./chunk-JWPE2WC7-B2zXTT0G.js";import{a as b,r as m,aQ as C,B as S,at as w,aS as D,W as T,aU as P,$ as z,V as E,aR as F,X as A,O as W,s as _}from"./mermaid.core-CA8ypPul.js";import{p as N}from"./cynefin-OW5HDTMX-DZwYx8KA.js";import"../../app/index-BSfA7-Qp.js";var L=W.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=D,this.getAccTitle=T,this.setDiagramTitle=P,this.getDiagramTitle=z,this.getAccDescription=E,this.setAccDescription=F}getConfig(){const t=m({...L,...A().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){_(),this.packet=[]}},b(u,"PacketDB"),u),M=1e4,O=b((e,t)=>{B(e,t);let s=-1,r=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*s)return[e,void 0];const r=t*s-1,n=t*s;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:b(async e=>{var r;const t=await N("packet",e),s=(r=x.parser)==null?void 0:r.yy;if(!(s instanceof v))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),O(t,s)},"parse")},I=b((e,t,s,r)=>{const n=r.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),o=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(o?0:a),k=d*c+2,f=C(t);f.attr("viewBox",`0 0 ${k} ${g}`),S(f,g,k,l.useMaxWidth);for(const[y,$]of p.entries())R(f,$,y,l);f.append("text").text(o).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),R=b((e,t,s,{rowHeight:r,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=s*(r+l)+l;for(const o of t){const h=o.start%i*a+1,g=(o.end-o.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(o.label),!d)continue;const k=o.end===o.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(o.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(o.end)}},"drawWord"),U={draw:I},X={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},j=b(({packet:e}={})=>{const t=m(X,e);return` +import{p as B}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{a as b,r as m,aQ as C,B as S,at as w,aS as D,W as T,aU as P,$ as z,V as E,aR as F,X as A,O as W,s as _}from"./mermaid.core-DS1qXbzQ.js";import{p as N}from"./cynefin-OW5HDTMX-CJh-KUCL.js";import"../../app/index-B0ly_D9Z.js";var L=W.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=D,this.getAccTitle=T,this.setDiagramTitle=P,this.getDiagramTitle=z,this.getAccDescription=E,this.setAccDescription=F}getConfig(){const t=m({...L,...A().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){_(),this.packet=[]}},b(u,"PacketDB"),u),M=1e4,O=b((e,t)=>{B(e,t);let s=-1,r=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*s)return[e,void 0];const r=t*s-1,n=t*s;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:b(async e=>{var r;const t=await N("packet",e),s=(r=x.parser)==null?void 0:r.yy;if(!(s instanceof v))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),O(t,s)},"parse")},I=b((e,t,s,r)=>{const n=r.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),o=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(o?0:a),k=d*c+2,f=C(t);f.attr("viewBox",`0 0 ${k} ${g}`),S(f,g,k,l.useMaxWidth);for(const[y,$]of p.entries())R(f,$,y,l);f.append("text").text(o).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),R=b((e,t,s,{rowHeight:r,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=s*(r+l)+l;for(const o of t){const h=o.start%i*a+1,g=(o.end-o.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(o.label),!d)continue;const k=o.end===o.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(o.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(o.end)}},"drawWord"),U={draw:I},X={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},j=b(({packet:e}={})=>{const t=m(X,e);return` .packetByte { font-size: ${t.byteFontSize}; } diff --git a/veadk/webui/assets/visualizations/mermaid/diagram-Q27KOJAE-DDcULphP.js b/veadk/webui/assets/visualizations/mermaid/diagram-Q27KOJAE-aj9dd-gG.js similarity index 98% rename from veadk/webui/assets/visualizations/mermaid/diagram-Q27KOJAE-DDcULphP.js rename to veadk/webui/assets/visualizations/mermaid/diagram-Q27KOJAE-aj9dd-gG.js index 639881028..20bc397b5 100644 --- a/veadk/webui/assets/visualizations/mermaid/diagram-Q27KOJAE-DDcULphP.js +++ b/veadk/webui/assets/visualizations/mermaid/diagram-Q27KOJAE-aj9dd-gG.js @@ -1,4 +1,4 @@ -import{p as ge}from"./chunk-JWPE2WC7-B2zXTT0G.js";import{a as w,a8 as ye,X as ae,r as ee,aQ as Se,B as ve,at as te,b0 as B,aS as xe,W as be,aU as we,$ as Ce,V as Te,aR as Le,O as $e,al as Ae,s as Fe}from"./mermaid.core-CA8ypPul.js";import{s as Ne}from"./chunk-KBJHAD2P-BfrlQA_C.js";import{p as Me}from"./cynefin-OW5HDTMX-DZwYx8KA.js";import{ad as U}from"../../app/index-BSfA7-Qp.js";import{f as O}from"../../chunks/defaultLocale-CrowFXzY.js";import{o as K}from"../../chunks/ordinal-Cboi1Yqb.js";import"../../chunks/init-Gi6I4Gst.js";function _e(t){var a=0,l=t.children,n=l&&l.length;if(!n)a=1;else for(;--n>=0;)a+=l[n].value;t.value=a}function ke(){return this.eachAfter(_e)}function Ve(t,a){let l=-1;for(const n of this)t.call(a,n,++l,this);return this}function ze(t,a){for(var l=this,n=[l],r,s,h=-1;l=n.pop();)if(t.call(a,l,++h,this),r=l.children)for(s=r.length-1;s>=0;--s)n.push(r[s]);return this}function De(t,a){for(var l=this,n=[l],r=[],s,h,d,g=-1;l=n.pop();)if(r.push(l),s=l.children)for(h=0,d=s.length;h=0;)l+=n[r].value;a.value=l})}function Re(t){return this.eachBefore(function(a){a.children&&a.children.sort(t)})}function We(t){for(var a=this,l=Ee(a,t),n=[a];a!==l;)a=a.parent,n.push(a);for(var r=n.length;t!==l;)n.splice(r,0,t),t=t.parent;return n}function Ee(t,a){if(t===a)return t;var l=t.ancestors(),n=a.ancestors(),r=null;for(t=l.pop(),a=n.pop();t===a;)r=t,t=l.pop(),a=n.pop();return r}function He(){for(var t=this,a=[t];t=t.parent;)a.push(t);return a}function Ie(){return Array.from(this)}function Oe(){var t=[];return this.eachBefore(function(a){a.children||t.push(a)}),t}function Ge(){var t=this,a=[];return t.each(function(l){l!==t&&a.push({source:l.parent,target:l})}),a}function*Xe(){var t=this,a,l=[t],n,r,s;do for(a=l.reverse(),l=[];t=a.pop();)if(yield t,n=t.children)for(r=0,s=n.length;r=0;--d)r.push(s=h[d]=new Q(h[d])),s.parent=n,s.depth=n.depth+1;return l.eachBefore(Qe)}function qe(){return ne(this).eachBefore(Ue)}function Ye(t){return t.children}function je(t){return Array.isArray(t)?t[1]:null}function Ue(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Qe(t){var a=0;do t.height=a;while((t=t.parent)&&t.height<++a)}function Q(t){this.data=t,this.depth=this.height=0,this.parent=null}Q.prototype=ne.prototype={constructor:Q,count:ke,each:Ve,eachAfter:De,eachBefore:ze,find:Pe,sum:Be,sort:Re,path:We,ancestors:He,descendants:Ie,leaves:Oe,links:Ge,copy:qe,[Symbol.iterator]:Xe};function Ze(t){if(typeof t!="function")throw new Error;return t}function G(){return 0}function X(t){return function(){return t}}function Je(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Ke(t,a,l,n,r){for(var s=t.children,h,d=-1,g=s.length,c=t.value&&(n-a)/t.value;++dM&&(M=c),_=p*p*E,A=Math.max(M/_,_/y),A>z){p-=c;break}z=A}h.push(g={value:p,dice:x1?n:1)},l}(tt);function lt(){var t=nt,a=!1,l=1,n=1,r=[0],s=G,h=G,d=G,g=G,c=G;function u(i){return i.x0=i.y0=0,i.x1=l,i.y1=n,i.eachBefore(b),r=[0],a&&i.eachBefore(Je),i}function b(i){var x=r[i.depth],S=i.x0+x,v=i.y0+x,p=i.x1-x,y=i.y1-x;p{Ae(s)&&(n!=null&&n.textStyles?n.textStyles.push(s):n.textStyles=[s]),n!=null&&n.styles?n.styles.push(s):n.styles=[s]}),this.classes.set(a,n)}getClasses(){return this.classes}getStylesForClass(a){var l;return((l=this.classes.get(a))==null?void 0:l.styles)??[]}clear(){Fe(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},w(W,"TreeMapDB"),W);function ce(t){if(!t.length)return[];const a=[],l=[];return t.forEach(n=>{const r={name:n.name,children:n.type==="Leaf"?void 0:[]};for(r.classSelector=n==null?void 0:n.classSelector,n!=null&&n.cssCompiledStyles&&(r.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(r.value=n.value);l.length>0&&l[l.length-1].level>=n.level;)l.pop();if(l.length===0)a.push(r);else{const s=l[l.length-1].node;s.children?s.children.push(r):s.children=[r]}n.type!=="Leaf"&&l.push({node:r,level:n.level})}),a}w(ce,"buildHierarchy");var rt=w((t,a)=>{ge(t,a);const l=[];for(const s of t.TreemapRows??[])s.$type==="ClassDefStatement"&&a.addClass(s.className??"",s.styleText??"");for(const s of t.TreemapRows??[]){const h=s.item;if(!h)continue;const d=s.indent?parseInt(s.indent):0,g=st(h),c=h.classSelector?a.getStylesForClass(h.classSelector):[],u=c.length>0?c:void 0,b={level:d,name:g,type:h.$type,value:h.value,classSelector:h.classSelector,cssCompiledStyles:u};l.push(b)}const n=ce(l),r=w((s,h)=>{for(const d of s)a.addNode(d,h),d.children&&d.children.length>0&&r(d.children,h+1)},"addNodesRecursively");r(n,0)},"populate"),st=w(t=>t.name?String(t.name):"","getItemName"),he={parser:{yy:void 0},parse:w(async t=>{var a;try{const n=await Me("treemap",t);te.debug("Treemap AST:",n);const r=(a=he.parser)==null?void 0:a.yy;if(!(r instanceof oe))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");rt(n,r)}catch(l){throw te.error("Error parsing treemap:",l),l}},"parse")},it=10,R=10,q=25,ot=w((t,a,l,n)=>{const r=n.db,s=r.getConfig(),h=s.padding??it,d=r.getDiagramTitle(),g=r.getRoot(),{themeVariables:c}=ae();if(!g)return;const u=d?30:0,b=Se(a),i=s.nodeWidth?s.nodeWidth*R:960,x=s.nodeHeight?s.nodeHeight*R:500,S=i,v=x+u;b.attr("viewBox",`0 0 ${S} ${v}`),ve(b,v,S,s.useMaxWidth);let p;try{const e=s.valueFormat||",";if(e==="$0,0")p=w(o=>"$"+O(",")(o),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const o=/\.\d+/.exec(e),f=o?o[0]:"";p=w(C=>"$"+O(","+f)(C),"valueFormat")}else if(e.startsWith("$")){const o=e.substring(1);p=w(f=>"$"+O(o||"")(f),"valueFormat")}else p=O(e)}catch(e){te.error("Error creating format function:",e),p=O(",")}const y=K().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),M=K().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),A=K().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);d&&b.append("text").attr("x",S/2).attr("y",u/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(d);const z=b.append("g").attr("transform",`translate(0, ${u})`).attr("class","treemapContainer"),E=ne(g).sum(e=>e.value??0).sort((e,o)=>(o.value??0)-(e.value??0)),le=lt().size([i,x]).paddingTop(e=>e.children&&e.children.length>0?q+R:0).paddingInner(h).paddingLeft(e=>e.children&&e.children.length>0?R:0).paddingRight(e=>e.children&&e.children.length>0?R:0).paddingBottom(e=>e.children&&e.children.length>0?R:0).round(!0)(E),de=le.descendants().filter(e=>e.children&&e.children.length>0),H=z.selectAll(".treemapSection").data(de).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);H.append("rect").attr("width",e=>e.x1-e.x0).attr("height",q).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),H.append("clipPath").attr("id",(e,o)=>`clip-section-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",q),H.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,o)=>`treemapSection section${o}`).attr("fill",e=>y(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>M(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const o=B({cssCompiledStyles:e.data.cssCompiledStyles});return o.nodeStyles+";"+o.borderStyles.join(";")}),H.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",q/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,o)=>`url(#clip-section-${a}-${o})`).attr("style",e=>{if(e.depth===0)return"display: none;";const o="dominant-baseline: middle; font-size: 12px; fill:"+A(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const o=U(this),f=e.data.name;o.text(f);const C=e.x1-e.x0,L=6;let T;s.showValues!==!1&&e.value?T=C-10-30-10-L:T=C-L-6;const m=Math.max(15,T),k=o.node();if(k.getComputedTextLength()>m){const $="...";let V=f;for(;V.length>0;){if(V=f.substring(0,V.length-1),V.length===0){o.text($),k.getComputedTextLength()>m&&o.text("");break}if(o.text(V+$),k.getComputedTextLength()<=m)break}}}),s.showValues!==!1&&H.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",q/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?p(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const o="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+A(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")});const re=le.leaves(),F=re.length>20,ue=F?16:38,Y=F?14:28,D=F?4:8,I=F?4:6,Z=F?2:4,se=F?8:10,J=F?1:2,j=z.selectAll(".treemapLeafGroup").data(re).enter().append("g").attr("class",(e,o)=>`treemapNode treemapLeafGroup leaf${o}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);j.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("style",e=>B({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("stroke-width",3),j.append("clipPath").attr("id",(e,o)=>`clip-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),j.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const o=`text-anchor: middle; dominant-baseline: middle; font-size: ${ue}px;fill:`+A(e.data.name)+";",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,o)=>`url(#clip-${a}-${o})`).text(e=>e.data.name).each(function(e){const o=U(this),f=e.x1-e.x0,C=e.y1-e.y0,L=o.node(),T=f-2*Z,P=C-2*Z;if(TT&&m>D;)m--,o.style("font-size",`${m}px`);let N=Math.max(I,Math.min(Y,Math.round(m*k))),$=m+J+N;for(;$>P&&m>D&&(m--,N=Math.max(I,Math.min(Y,Math.round(m*k))),!(NT||m(o.x1-o.x0)/2).attr("y",function(o){return(o.y1-o.y0)/2}).attr("style",o=>{const f=`text-anchor: middle; dominant-baseline: hanging; font-size: ${Y}px;fill:`+A(o.data.name)+";",C=B({cssCompiledStyles:o.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(o,f)=>`url(#clip-${a}-${f})`).text(o=>o.value?p(o.value):"").each(function(o){const f=U(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=U(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const T=parseFloat(L.style("font-size")),m=Math.max(I,Math.min(Y,Math.round(T*.6)));f.style("font-size",`${m}px`);const N=(o.y1-o.y0)/2+T/2+J;f.attr("y",N);const $=o.x1-o.x0,ie=o.y1-o.y0-4,me=$-2*Z;f.node().getComputedTextLength()>me||N+m>ie||m{const a=ye(),l=ae(),n=ee(a,l.themeVariables),r=ee(dt,t),s=r.titleColor??n.titleColor,h=r.labelColor??n.textColor,d=r.valueColor??n.textColor;return` +import{p as ge}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{a as w,a8 as ye,X as ae,r as ee,aQ as Se,B as ve,at as te,b0 as B,aS as xe,W as be,aU as we,$ as Ce,V as Te,aR as Le,O as $e,al as Ae,s as Fe}from"./mermaid.core-DS1qXbzQ.js";import{s as Ne}from"./chunk-KBJHAD2P-CUyWjBEZ.js";import{p as Me}from"./cynefin-OW5HDTMX-CJh-KUCL.js";import{ad as U}from"../../app/index-B0ly_D9Z.js";import{f as O}from"../../chunks/defaultLocale-CrowFXzY.js";import{o as K}from"../../chunks/ordinal-Cboi1Yqb.js";import"../../chunks/init-Gi6I4Gst.js";function _e(t){var a=0,l=t.children,n=l&&l.length;if(!n)a=1;else for(;--n>=0;)a+=l[n].value;t.value=a}function ke(){return this.eachAfter(_e)}function Ve(t,a){let l=-1;for(const n of this)t.call(a,n,++l,this);return this}function ze(t,a){for(var l=this,n=[l],r,s,h=-1;l=n.pop();)if(t.call(a,l,++h,this),r=l.children)for(s=r.length-1;s>=0;--s)n.push(r[s]);return this}function De(t,a){for(var l=this,n=[l],r=[],s,h,d,g=-1;l=n.pop();)if(r.push(l),s=l.children)for(h=0,d=s.length;h=0;)l+=n[r].value;a.value=l})}function Re(t){return this.eachBefore(function(a){a.children&&a.children.sort(t)})}function We(t){for(var a=this,l=Ee(a,t),n=[a];a!==l;)a=a.parent,n.push(a);for(var r=n.length;t!==l;)n.splice(r,0,t),t=t.parent;return n}function Ee(t,a){if(t===a)return t;var l=t.ancestors(),n=a.ancestors(),r=null;for(t=l.pop(),a=n.pop();t===a;)r=t,t=l.pop(),a=n.pop();return r}function He(){for(var t=this,a=[t];t=t.parent;)a.push(t);return a}function Ie(){return Array.from(this)}function Oe(){var t=[];return this.eachBefore(function(a){a.children||t.push(a)}),t}function Ge(){var t=this,a=[];return t.each(function(l){l!==t&&a.push({source:l.parent,target:l})}),a}function*Xe(){var t=this,a,l=[t],n,r,s;do for(a=l.reverse(),l=[];t=a.pop();)if(yield t,n=t.children)for(r=0,s=n.length;r=0;--d)r.push(s=h[d]=new Q(h[d])),s.parent=n,s.depth=n.depth+1;return l.eachBefore(Qe)}function qe(){return ne(this).eachBefore(Ue)}function Ye(t){return t.children}function je(t){return Array.isArray(t)?t[1]:null}function Ue(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Qe(t){var a=0;do t.height=a;while((t=t.parent)&&t.height<++a)}function Q(t){this.data=t,this.depth=this.height=0,this.parent=null}Q.prototype=ne.prototype={constructor:Q,count:ke,each:Ve,eachAfter:De,eachBefore:ze,find:Pe,sum:Be,sort:Re,path:We,ancestors:He,descendants:Ie,leaves:Oe,links:Ge,copy:qe,[Symbol.iterator]:Xe};function Ze(t){if(typeof t!="function")throw new Error;return t}function G(){return 0}function X(t){return function(){return t}}function Je(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Ke(t,a,l,n,r){for(var s=t.children,h,d=-1,g=s.length,c=t.value&&(n-a)/t.value;++dM&&(M=c),_=p*p*E,A=Math.max(M/_,_/y),A>z){p-=c;break}z=A}h.push(g={value:p,dice:x1?n:1)},l}(tt);function lt(){var t=nt,a=!1,l=1,n=1,r=[0],s=G,h=G,d=G,g=G,c=G;function u(i){return i.x0=i.y0=0,i.x1=l,i.y1=n,i.eachBefore(b),r=[0],a&&i.eachBefore(Je),i}function b(i){var x=r[i.depth],S=i.x0+x,v=i.y0+x,p=i.x1-x,y=i.y1-x;p{Ae(s)&&(n!=null&&n.textStyles?n.textStyles.push(s):n.textStyles=[s]),n!=null&&n.styles?n.styles.push(s):n.styles=[s]}),this.classes.set(a,n)}getClasses(){return this.classes}getStylesForClass(a){var l;return((l=this.classes.get(a))==null?void 0:l.styles)??[]}clear(){Fe(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},w(W,"TreeMapDB"),W);function ce(t){if(!t.length)return[];const a=[],l=[];return t.forEach(n=>{const r={name:n.name,children:n.type==="Leaf"?void 0:[]};for(r.classSelector=n==null?void 0:n.classSelector,n!=null&&n.cssCompiledStyles&&(r.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(r.value=n.value);l.length>0&&l[l.length-1].level>=n.level;)l.pop();if(l.length===0)a.push(r);else{const s=l[l.length-1].node;s.children?s.children.push(r):s.children=[r]}n.type!=="Leaf"&&l.push({node:r,level:n.level})}),a}w(ce,"buildHierarchy");var rt=w((t,a)=>{ge(t,a);const l=[];for(const s of t.TreemapRows??[])s.$type==="ClassDefStatement"&&a.addClass(s.className??"",s.styleText??"");for(const s of t.TreemapRows??[]){const h=s.item;if(!h)continue;const d=s.indent?parseInt(s.indent):0,g=st(h),c=h.classSelector?a.getStylesForClass(h.classSelector):[],u=c.length>0?c:void 0,b={level:d,name:g,type:h.$type,value:h.value,classSelector:h.classSelector,cssCompiledStyles:u};l.push(b)}const n=ce(l),r=w((s,h)=>{for(const d of s)a.addNode(d,h),d.children&&d.children.length>0&&r(d.children,h+1)},"addNodesRecursively");r(n,0)},"populate"),st=w(t=>t.name?String(t.name):"","getItemName"),he={parser:{yy:void 0},parse:w(async t=>{var a;try{const n=await Me("treemap",t);te.debug("Treemap AST:",n);const r=(a=he.parser)==null?void 0:a.yy;if(!(r instanceof oe))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");rt(n,r)}catch(l){throw te.error("Error parsing treemap:",l),l}},"parse")},it=10,R=10,q=25,ot=w((t,a,l,n)=>{const r=n.db,s=r.getConfig(),h=s.padding??it,d=r.getDiagramTitle(),g=r.getRoot(),{themeVariables:c}=ae();if(!g)return;const u=d?30:0,b=Se(a),i=s.nodeWidth?s.nodeWidth*R:960,x=s.nodeHeight?s.nodeHeight*R:500,S=i,v=x+u;b.attr("viewBox",`0 0 ${S} ${v}`),ve(b,v,S,s.useMaxWidth);let p;try{const e=s.valueFormat||",";if(e==="$0,0")p=w(o=>"$"+O(",")(o),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const o=/\.\d+/.exec(e),f=o?o[0]:"";p=w(C=>"$"+O(","+f)(C),"valueFormat")}else if(e.startsWith("$")){const o=e.substring(1);p=w(f=>"$"+O(o||"")(f),"valueFormat")}else p=O(e)}catch(e){te.error("Error creating format function:",e),p=O(",")}const y=K().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),M=K().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),A=K().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);d&&b.append("text").attr("x",S/2).attr("y",u/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(d);const z=b.append("g").attr("transform",`translate(0, ${u})`).attr("class","treemapContainer"),E=ne(g).sum(e=>e.value??0).sort((e,o)=>(o.value??0)-(e.value??0)),le=lt().size([i,x]).paddingTop(e=>e.children&&e.children.length>0?q+R:0).paddingInner(h).paddingLeft(e=>e.children&&e.children.length>0?R:0).paddingRight(e=>e.children&&e.children.length>0?R:0).paddingBottom(e=>e.children&&e.children.length>0?R:0).round(!0)(E),de=le.descendants().filter(e=>e.children&&e.children.length>0),H=z.selectAll(".treemapSection").data(de).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);H.append("rect").attr("width",e=>e.x1-e.x0).attr("height",q).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),H.append("clipPath").attr("id",(e,o)=>`clip-section-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",q),H.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,o)=>`treemapSection section${o}`).attr("fill",e=>y(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>M(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const o=B({cssCompiledStyles:e.data.cssCompiledStyles});return o.nodeStyles+";"+o.borderStyles.join(";")}),H.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",q/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,o)=>`url(#clip-section-${a}-${o})`).attr("style",e=>{if(e.depth===0)return"display: none;";const o="dominant-baseline: middle; font-size: 12px; fill:"+A(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const o=U(this),f=e.data.name;o.text(f);const C=e.x1-e.x0,L=6;let T;s.showValues!==!1&&e.value?T=C-10-30-10-L:T=C-L-6;const m=Math.max(15,T),k=o.node();if(k.getComputedTextLength()>m){const $="...";let V=f;for(;V.length>0;){if(V=f.substring(0,V.length-1),V.length===0){o.text($),k.getComputedTextLength()>m&&o.text("");break}if(o.text(V+$),k.getComputedTextLength()<=m)break}}}),s.showValues!==!1&&H.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",q/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?p(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const o="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+A(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")});const re=le.leaves(),F=re.length>20,ue=F?16:38,Y=F?14:28,D=F?4:8,I=F?4:6,Z=F?2:4,se=F?8:10,J=F?1:2,j=z.selectAll(".treemapLeafGroup").data(re).enter().append("g").attr("class",(e,o)=>`treemapNode treemapLeafGroup leaf${o}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);j.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("style",e=>B({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("stroke-width",3),j.append("clipPath").attr("id",(e,o)=>`clip-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),j.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const o=`text-anchor: middle; dominant-baseline: middle; font-size: ${ue}px;fill:`+A(e.data.name)+";",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,o)=>`url(#clip-${a}-${o})`).text(e=>e.data.name).each(function(e){const o=U(this),f=e.x1-e.x0,C=e.y1-e.y0,L=o.node(),T=f-2*Z,P=C-2*Z;if(TT&&m>D;)m--,o.style("font-size",`${m}px`);let N=Math.max(I,Math.min(Y,Math.round(m*k))),$=m+J+N;for(;$>P&&m>D&&(m--,N=Math.max(I,Math.min(Y,Math.round(m*k))),!(NT||m(o.x1-o.x0)/2).attr("y",function(o){return(o.y1-o.y0)/2}).attr("style",o=>{const f=`text-anchor: middle; dominant-baseline: hanging; font-size: ${Y}px;fill:`+A(o.data.name)+";",C=B({cssCompiledStyles:o.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(o,f)=>`url(#clip-${a}-${f})`).text(o=>o.value?p(o.value):"").each(function(o){const f=U(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=U(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const T=parseFloat(L.style("font-size")),m=Math.max(I,Math.min(Y,Math.round(T*.6)));f.style("font-size",`${m}px`);const N=(o.y1-o.y0)/2+T/2+J;f.attr("y",N);const $=o.x1-o.x0,ie=o.y1-o.y0-4,me=$-2*Z;f.node().getComputedTextLength()>me||N+m>ie||m{const a=ye(),l=ae(),n=ee(a,l.themeVariables),r=ee(dt,t),s=r.titleColor??n.titleColor,h=r.labelColor??n.textColor,d=r.valueColor??n.textColor;return` .treemapNode.section { stroke: ${r.sectionStrokeColor}; stroke-width: ${r.sectionStrokeWidth}; diff --git a/veadk/webui/assets/visualizations/mermaid/diagram-UB23O5K3-BpUtlbYH.js b/veadk/webui/assets/visualizations/mermaid/diagram-UB23O5K3-DIaonUGX.js similarity index 95% rename from veadk/webui/assets/visualizations/mermaid/diagram-UB23O5K3-BpUtlbYH.js rename to veadk/webui/assets/visualizations/mermaid/diagram-UB23O5K3-DIaonUGX.js index 1f55c7585..453cf5486 100644 --- a/veadk/webui/assets/visualizations/mermaid/diagram-UB23O5K3-BpUtlbYH.js +++ b/veadk/webui/assets/visualizations/mermaid/diagram-UB23O5K3-DIaonUGX.js @@ -1,4 +1,4 @@ -import{p as I}from"./chunk-JWPE2WC7-B2zXTT0G.js";import{aR as _,V as E,$ as F,aU as D,W as P,aS as z,a as c,aQ as G,s as B,r as w,X as C,O as W,at as b,a8 as V,B as H}from"./mermaid.core-CA8ypPul.js";import{p as U}from"./cynefin-OW5HDTMX-DZwYx8KA.js";import"../../app/index-BSfA7-Qp.js";var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},y=32,A={axes:[],curves:[],options:x},m=structuredClone(A),X=W.radar,j=c(()=>w({...X,...C().radar}),"getConfig"),M=c(()=>m.axes,"getAxes"),K=c(()=>m.curves,"getCurves"),N=c(()=>m.options,"getOptions"),Q=c(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Y=c(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Z(t.entries)}))},"setCurves"),Z=c(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=M();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>{var n;return((n=s.axis)==null?void 0:n.$refText)===e.name});if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),q=c(a=>{var e,r,s,n,l;const t=a.reduce((o,i)=>(o[i.name]=i,o),{});m.options={showLegend:((e=t.showLegend)==null?void 0:e.value)??x.showLegend,ticks:((r=t.ticks)==null?void 0:r.value)??x.ticks,max:((s=t.max)==null?void 0:s.value)??x.max,min:((n=t.min)==null?void 0:n.value)??x.min,graticule:((l=t.graticule)==null?void 0:l.value)??x.graticule},m.options.ticks>y&&(b.warn(`Radar diagram ticks (${m.options.ticks}) exceeds maximum allowed (${y}). Using ${y} instead.`),m.options.ticks=y)},"setOptions"),J=c(()=>{B(),m=structuredClone(A)},"clear"),$={getAxes:M,getCurves:K,getOptions:N,setAxes:Q,setCurves:Y,setOptions:q,getConfig:j,clear:J,setAccTitle:z,getAccTitle:P,setDiagramTitle:D,getDiagramTitle:F,getAccDescription:E,setAccDescription:_},tt=c(a=>{I(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),et={parse:c(async a=>{const t=await U("radar",a);b.debug(t),tt(t)},"parse")},at=c((a,t,e,r)=>{const s=r.db,n=s.getAxes(),l=s.getCurves(),o=s.getOptions(),i=s.getConfig(),d=s.getDiagramTitle(),p=G(t),u=rt(p,i),g=o.max??Math.max(...l.map(f=>Math.max(...f.entries))),h=o.min,v=Math.min(i.width,i.height)/2;st(u,n,v,o.ticks,o.graticule),nt(u,n,v,i),L(u,n,l,h,g,o.graticule,i),k(u,l,o.showLegend,i),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-i.height/2-i.marginTop)},"draw"),rt=c((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return H(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`).attr("overflow","visible"),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),st=c((a,t,e,r,s)=>{if(s==="circle")for(let n=0;n{const u=2*p*Math.PI/n-Math.PI/2,g=o*Math.cos(u),h=o*Math.sin(u);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",i).attr("class","radarGraticule")}}},"drawGraticule"),nt=c((a,t,e,r)=>{const s=t.length;for(let n=0;n.01?"start":i<-.01?"end":"middle",u=d>.01?"hanging":d<-.01?"auto":"central",g=4;a.append("text").text(l).attr("x",e*r.axisLabelFactor*i+g*i).attr("y",e*r.axisLabelFactor*d+g*d).attr("text-anchor",p).attr("dominant-baseline",u).attr("class","radarAxisLabel")}},"drawAxes");function L(a,t,e,r,s,n,l){const o=t.length,i=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==o)return;const u=d.entries.map((g,h)=>{const v=2*Math.PI*h/o-Math.PI/2,f=T(g,r,s,i),O=f*Math.cos(v),R=f*Math.sin(v);return{x:O,y:R}});n==="circle"?a.append("path").attr("d",S(u,l.curveTension)).attr("class",`radarCurve-${p}`):n==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}c(L,"drawCurves");function T(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}c(T,"relativeRadius");function S(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s{const d=a.append("g").attr("transform",`translate(${s}, ${n+i*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${i}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}c(k,"drawLegend");var ot={draw:at},it=c((a,t)=>{let e="";for(let r=0;rw({...X,...C().radar}),"getConfig"),M=c(()=>m.axes,"getAxes"),K=c(()=>m.curves,"getCurves"),N=c(()=>m.options,"getOptions"),Q=c(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Y=c(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Z(t.entries)}))},"setCurves"),Z=c(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=M();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>{var n;return((n=s.axis)==null?void 0:n.$refText)===e.name});if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),q=c(a=>{var e,r,s,n,l;const t=a.reduce((o,i)=>(o[i.name]=i,o),{});m.options={showLegend:((e=t.showLegend)==null?void 0:e.value)??x.showLegend,ticks:((r=t.ticks)==null?void 0:r.value)??x.ticks,max:((s=t.max)==null?void 0:s.value)??x.max,min:((n=t.min)==null?void 0:n.value)??x.min,graticule:((l=t.graticule)==null?void 0:l.value)??x.graticule},m.options.ticks>y&&(b.warn(`Radar diagram ticks (${m.options.ticks}) exceeds maximum allowed (${y}). Using ${y} instead.`),m.options.ticks=y)},"setOptions"),J=c(()=>{B(),m=structuredClone(A)},"clear"),$={getAxes:M,getCurves:K,getOptions:N,setAxes:Q,setCurves:Y,setOptions:q,getConfig:j,clear:J,setAccTitle:z,getAccTitle:P,setDiagramTitle:D,getDiagramTitle:F,getAccDescription:E,setAccDescription:_},tt=c(a=>{I(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),et={parse:c(async a=>{const t=await U("radar",a);b.debug(t),tt(t)},"parse")},at=c((a,t,e,r)=>{const s=r.db,n=s.getAxes(),l=s.getCurves(),o=s.getOptions(),i=s.getConfig(),d=s.getDiagramTitle(),p=G(t),u=rt(p,i),g=o.max??Math.max(...l.map(f=>Math.max(...f.entries))),h=o.min,v=Math.min(i.width,i.height)/2;st(u,n,v,o.ticks,o.graticule),nt(u,n,v,i),L(u,n,l,h,g,o.graticule,i),k(u,l,o.showLegend,i),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-i.height/2-i.marginTop)},"draw"),rt=c((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return H(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`).attr("overflow","visible"),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),st=c((a,t,e,r,s)=>{if(s==="circle")for(let n=0;n{const u=2*p*Math.PI/n-Math.PI/2,g=o*Math.cos(u),h=o*Math.sin(u);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",i).attr("class","radarGraticule")}}},"drawGraticule"),nt=c((a,t,e,r)=>{const s=t.length;for(let n=0;n.01?"start":i<-.01?"end":"middle",u=d>.01?"hanging":d<-.01?"auto":"central",g=4;a.append("text").text(l).attr("x",e*r.axisLabelFactor*i+g*i).attr("y",e*r.axisLabelFactor*d+g*d).attr("text-anchor",p).attr("dominant-baseline",u).attr("class","radarAxisLabel")}},"drawAxes");function L(a,t,e,r,s,n,l){const o=t.length,i=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==o)return;const u=d.entries.map((g,h)=>{const v=2*Math.PI*h/o-Math.PI/2,f=T(g,r,s,i),O=f*Math.cos(v),R=f*Math.sin(v);return{x:O,y:R}});n==="circle"?a.append("path").attr("d",S(u,l.curveTension)).attr("class",`radarCurve-${p}`):n==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}c(L,"drawCurves");function T(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}c(T,"relativeRadius");function S(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s{const d=a.append("g").attr("transform",`translate(${s}, ${n+i*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${i}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}c(k,"drawLegend");var ot={draw:at},it=c((a,t)=>{let e="";for(let r=0;r{const r=e.alternatives.map(E);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformChoice"),E=t(e=>{const r=e.elements.map(d);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),i=t(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return s(e.element);case"EbnfOptional":return{type:"optional",element:s(e.element)};case"EbnfRepetition":return{type:"repetition",element:s(e.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),b=t((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},i(r.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),d=t(e=>e.postfixes.reduce((r,a)=>b(r,a),i(e.base)),"transformTerm"),y=t(e=>({name:e.name,definition:s(e.definition)}),"transformRule"),v=t(e=>{p(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(y(r)))},"populateDb"),g={parse:t(e=>{n.clear(),o.debug("[EBNF Parser] Starting Langium parse");const r=c.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const a=r.value;o.debug("[EBNF Parser] Parsed rules:",a.rules.length),v(a),o.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n}},R={parser:g,db:n,renderer:m,styles:l};export{R as diagram}; +import{g as l,r as m,d as n}from"./chunk-6Q2QTUOP-C6-1_k94.js";import{p}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{a as t,at as o}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";import{M as u,a as f}from"./cynefin-OW5HDTMX-CJh-KUCL.js";var c=f().RailroadEbnf.parser.LangiumParser,s=t(e=>{const r=e.alternatives.map(E);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformChoice"),E=t(e=>{const r=e.elements.map(d);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),i=t(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return s(e.element);case"EbnfOptional":return{type:"optional",element:s(e.element)};case"EbnfRepetition":return{type:"repetition",element:s(e.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),b=t((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},i(r.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),d=t(e=>e.postfixes.reduce((r,a)=>b(r,a),i(e.base)),"transformTerm"),y=t(e=>({name:e.name,definition:s(e.definition)}),"transformRule"),v=t(e=>{p(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(y(r)))},"populateDb"),g={parse:t(e=>{n.clear(),o.debug("[EBNF Parser] Starting Langium parse");const r=c.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const a=r.value;o.debug("[EBNF Parser] Parsed rules:",a.rules.length),v(a),o.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n}},R={parser:g,db:n,renderer:m,styles:l};export{R as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/erDiagram-JOGREHBK-BFBZrDgK.js b/veadk/webui/assets/visualizations/mermaid/erDiagram-JOGREHBK-CptXdSTl.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/erDiagram-JOGREHBK-BFBZrDgK.js rename to veadk/webui/assets/visualizations/mermaid/erDiagram-JOGREHBK-CptXdSTl.js index d7620956b..b342f600b 100644 --- a/veadk/webui/assets/visualizations/mermaid/erDiagram-JOGREHBK-BFBZrDgK.js +++ b/veadk/webui/assets/visualizations/mermaid/erDiagram-JOGREHBK-CptXdSTl.js @@ -1,4 +1,4 @@ -import{g as Bt}from"./chunk-XXDRQBXY-4aIfLT7K.js";import{s as Ft}from"./chunk-KBJHAD2P-BfrlQA_C.js";import{a as p,aS as Yt,W as Pt,aR as zt,V as Gt,aU as Kt,$ as Ut,Y as rt,at as V,s as Zt,a0 as jt,aN as Wt,_ as Qt,a4 as Xt,aL as qt,ba as Ht}from"./mermaid.core-CA8ypPul.js";import{ad as Jt}from"../../app/index-BSfA7-Qp.js";import{c as $t}from"../../chunks/channel-V8FC1PyG.js";var gt=function(){var s=p(function(R,n,a,l){for(a=a||{},l=R.length;l--;a[R[l]]=n);return a},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],o=[1,10],h=[1,11],c=[1,12],u=[1,13],y=[1,23],d=[1,24],m=[1,25],W=[1,26],Q=[1,27],S=[1,19],X=[1,28],B=[1,29],D=[1,20],I=[1,18],T=[1,21],x=[1,22],at=[1,36],ct=[1,37],ot=[1,38],lt=[1,39],ht=[1,40],F=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,66,67,68,69,70],O=[1,45],N=[1,46],Y=[1,55],P=[40,48,50,51,52,71,72],z=[1,66],G=[1,64],A=[1,61],K=[1,65],U=[1,67],q=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,66,67,68,69,70],bt=[66,67,68,69,70],kt=[1,85],mt=[1,84],Et=[1,82],St=[1,83],Tt=[6,10,42,47],L=[6,10,13,41,42,47,48,49],H=[1,93],J=[1,92],$=[1,91],Z=[19,58],Ot=[1,102],Nt=[1,101],ut=[19,58,61,63],dt={trace:p(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,"?":59,attributeKeyType:60,",":61,ATTRIBUTE_KEY:62,COMMENT:63,cardinality:64,relType:65,ZERO_OR_ONE:66,ZERO_OR_MORE:67,ONE_OR_MORE:68,ONLY_ONE:69,MD_PARENT:70,NON_IDENTIFYING:71,IDENTIFYING:72,WORD:73,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",59:"?",61:",",62:"ATTRIBUTE_KEY",63:"COMMENT",66:"ZERO_OR_ONE",67:"ZERO_OR_MORE",68:"ONE_OR_MORE",69:"ONLY_ONE",70:"MD_PARENT",71:"NON_IDENTIFYING",72:"IDENTIFYING",73:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[54,2],[55,1],[56,1],[56,3],[60,1],[57,1],[12,3],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[14,1],[14,1],[14,1]],performAction:p(function(n,a,l,r,f,t,j){var e=t.length-1;switch(f){case 1:break;case 2:this.$=[];break;case 3:t[e-1].push(t[e]),this.$=t[e-1];break;case 4:case 5:this.$=t[e];break;case 6:case 7:this.$=[];break;case 8:r.addEntity(t[e-4]),r.addEntity(t[e-2]),r.addRelationship(t[e-4],t[e],t[e-2],t[e-3]);break;case 9:r.addEntity(t[e-8]),r.addEntity(t[e-4]),r.addRelationship(t[e-8],t[e],t[e-4],t[e-5]),r.setClass([t[e-8]],t[e-6]),r.setClass([t[e-4]],t[e-2]);break;case 10:r.addEntity(t[e-6]),r.addEntity(t[e-2]),r.addRelationship(t[e-6],t[e],t[e-2],t[e-3]),r.setClass([t[e-6]],t[e-4]);break;case 11:r.addEntity(t[e-6]),r.addEntity(t[e-4]),r.addRelationship(t[e-6],t[e],t[e-4],t[e-5]),r.setClass([t[e-4]],t[e-2]);break;case 12:r.addEntity(t[e-3]),r.addAttributes(t[e-3],t[e-1]);break;case 13:r.addEntity(t[e-5]),r.addAttributes(t[e-5],t[e-1]),r.setClass([t[e-5]],t[e-3]);break;case 14:r.addEntity(t[e-2]);break;case 15:r.addEntity(t[e-4]),r.setClass([t[e-4]],t[e-2]);break;case 16:r.addEntity(t[e]);break;case 17:r.addEntity(t[e-2]),r.setClass([t[e-2]],t[e]);break;case 18:r.addEntity(t[e-6],t[e-4]),r.addAttributes(t[e-6],t[e-1]);break;case 19:r.addEntity(t[e-8],t[e-6]),r.addAttributes(t[e-8],t[e-1]),r.setClass([t[e-8]],t[e-3]);break;case 20:r.addEntity(t[e-5],t[e-3]);break;case 21:r.addEntity(t[e-7],t[e-5]),r.setClass([t[e-7]],t[e-2]);break;case 22:r.addEntity(t[e-3],t[e-1]);break;case 23:r.addEntity(t[e-5],t[e-3]),r.setClass([t[e-5]],t[e]);break;case 24:case 25:this.$=t[e].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=t[e].trim(),r.setAccDescription(this.$);break;case 32:r.setDirection("TB");break;case 33:r.setDirection("BT");break;case 34:r.setDirection("RL");break;case 35:r.setDirection("LR");break;case 36:this.$=t[e-3],r.addClass(t[e-2],t[e-1]);break;case 37:case 38:case 59:case 68:this.$=[t[e]];break;case 39:case 40:this.$=t[e-2].concat([t[e]]);break;case 41:this.$=t[e-2],r.setClass(t[e-1],t[e]);break;case 42:this.$=t[e-3],r.addCssStyles(t[e-2],t[e-1]);break;case 43:this.$=[t[e]];break;case 44:t[e-2].push(t[e]),this.$=t[e-2];break;case 46:this.$=t[e-1]+t[e];break;case 54:case 80:case 81:this.$=t[e].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 82:this.$=t[e];break;case 60:t[e].push(t[e-1]),this.$=t[e];break;case 61:this.$={type:t[e-1],name:t[e]};break;case 62:this.$={type:t[e-2],name:t[e-1],keys:t[e]};break;case 63:this.$={type:t[e-2],name:t[e-1],comment:t[e]};break;case 64:this.$={type:t[e-3],name:t[e-2],keys:t[e-1],comment:t[e]};break;case 65:case 67:case 70:this.$=t[e];break;case 66:this.$=t[e-1]+t[e];break;case 69:t[e-2].push(t[e]),this.$=t[e-2];break;case 71:this.$=t[e].replace(/"/g,"");break;case 72:this.$={cardA:t[e],relType:t[e-1],cardB:t[e-2]};break;case 73:this.$=r.Cardinality.ZERO_OR_ONE;break;case 74:this.$=r.Cardinality.ZERO_OR_MORE;break;case 75:this.$=r.Cardinality.ONE_OR_MORE;break;case 76:this.$=r.Cardinality.ONLY_ONE;break;case 77:this.$=r.Cardinality.MD_PARENT;break;case 78:this.$=r.Identification.NON_IDENTIFYING;break;case 79:this.$=r.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},s(i,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:o,24:h,26:c,28:u,29:14,30:15,31:16,32:17,33:y,34:d,35:m,36:W,37:Q,40:S,43:X,44:B,48:D,50:I,51:T,52:x},s(i,[2,7],{1:[2,1]}),s(i,[2,3]),{9:30,11:9,22:o,24:h,26:c,28:u,29:14,30:15,31:16,32:17,33:y,34:d,35:m,36:W,37:Q,40:S,43:X,44:B,48:D,50:I,51:T,52:x},s(i,[2,5]),s(i,[2,6]),s(i,[2,16],{12:31,64:35,15:[1,32],17:[1,33],20:[1,34],66:at,67:ct,68:ot,69:lt,70:ht}),{23:[1,41]},{25:[1,42]},{27:[1,43]},s(i,[2,27]),s(i,[2,28]),s(i,[2,29]),s(i,[2,30]),s(i,[2,31]),s(F,[2,54]),s(F,[2,55]),s(F,[2,56]),s(F,[2,57]),s(F,[2,58]),s(i,[2,32]),s(i,[2,33]),s(i,[2,34]),s(i,[2,35]),{16:44,40:O,41:N},{16:47,40:O,41:N},{16:48,40:O,41:N},s(i,[2,4]),{11:49,40:S,48:D,50:I,51:T,52:x},{16:50,40:O,41:N},{18:51,19:[1,52],53:53,54:54,58:Y},{11:56,40:S,48:D,50:I,51:T,52:x},{65:57,71:[1,58],72:[1,59]},s(P,[2,73]),s(P,[2,74]),s(P,[2,75]),s(P,[2,76]),s(P,[2,77]),s(i,[2,24]),s(i,[2,25]),s(i,[2,26]),{13:z,38:60,41:G,42:A,45:62,46:63,48:K,49:U},s(q,[2,37]),s(q,[2,38]),{16:68,40:O,41:N,42:A},{13:z,38:69,41:G,42:A,45:62,46:63,48:K,49:U},{13:[1,70],15:[1,71]},s(i,[2,17],{64:35,12:72,17:[1,73],42:A,66:at,67:ct,68:ot,69:lt,70:ht}),{19:[1,74]},s(i,[2,14]),{18:75,19:[2,59],53:53,54:54,58:Y},{55:76,58:[1,77]},{58:[2,65],59:[1,78]},{21:[1,79]},{64:80,66:at,67:ct,68:ot,69:lt,70:ht},s(bt,[2,78]),s(bt,[2,79]),{6:kt,10:mt,39:81,42:Et,47:St},{40:[1,86],41:[1,87]},s(Tt,[2,43],{46:88,13:z,41:G,48:K,49:U}),s(L,[2,45]),s(L,[2,50]),s(L,[2,51]),s(L,[2,52]),s(L,[2,53]),s(i,[2,41],{42:A}),{6:kt,10:mt,39:89,42:Et,47:St},{14:90,40:H,50:J,73:$},{16:94,40:O,41:N},{11:95,40:S,48:D,50:I,51:T,52:x},{18:96,19:[1,97],53:53,54:54,58:Y},s(i,[2,12]),{19:[2,60]},s(Z,[2,61],{56:98,57:99,60:100,62:Ot,63:Nt}),s([19,58,62,63],[2,67]),{58:[2,66]},s(i,[2,22],{15:[1,104],17:[1,103]}),s([40,48,50,51,52],[2,72]),s(i,[2,36]),{13:z,41:G,45:105,46:63,48:K,49:U},s(i,[2,47]),s(i,[2,48]),s(i,[2,49]),s(q,[2,39]),s(q,[2,40]),s(L,[2,46]),s(i,[2,42]),s(i,[2,8]),s(i,[2,80]),s(i,[2,81]),s(i,[2,82]),{13:[1,106],42:A},{13:[1,108],15:[1,107]},{19:[1,109]},s(i,[2,15]),s(Z,[2,62],{57:110,61:[1,111],63:Nt}),s(Z,[2,63]),s(ut,[2,68]),s(Z,[2,71]),s(ut,[2,70]),{18:112,19:[1,113],53:53,54:54,58:Y},{16:114,40:O,41:N},s(Tt,[2,44],{46:88,13:z,41:G,48:K,49:U}),{14:115,40:H,50:J,73:$},{16:116,40:O,41:N},{14:117,40:H,50:J,73:$},s(i,[2,13]),s(Z,[2,64]),{60:118,62:Ot},{19:[1,119]},s(i,[2,20]),s(i,[2,23],{17:[1,120],42:A}),s(i,[2,11]),{13:[1,121],42:A},s(i,[2,10]),s(ut,[2,69]),s(i,[2,18]),{18:122,19:[1,123],53:53,54:54,58:Y},{14:124,40:H,50:J,73:$},{19:[1,125]},s(i,[2,21]),s(i,[2,9]),s(i,[2,19])],defaultActions:{75:[2,60],78:[2,66]},parseError:p(function(n,a){if(a.recoverable)this.trace(n);else{var l=new Error(n);throw l.hash=a,l}},"parseError"),parse:p(function(n){var a=this,l=[0],r=[],f=[null],t=[],j=this.table,e="",et=0,At=0,Lt=2,Rt=1,wt=t.slice.call(arguments,1),_=Object.create(this.lexer),C={yy:{}};for(var pt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,pt)&&(C.yy[pt]=this.yy[pt]);_.setInput(n,C.yy),C.yy.lexer=_,C.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var ft=_.yylloc;t.push(ft);var Vt=_.options&&_.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(b){l.length=l.length-2*b,f.length=f.length-b,t.length=t.length-b}p(Mt,"popStack");function It(){var b;return b=r.pop()||_.lex()||Rt,typeof b!="number"&&(b instanceof Array&&(r=b,b=r.pop()),b=a.symbols_[b]||b),b}p(It,"lex");for(var g,v,k,yt,w={},st,E,xt,it;;){if(v=l[l.length-1],this.defaultActions[v]?k=this.defaultActions[v]:((g===null||typeof g>"u")&&(g=It()),k=j[v]&&j[v][g]),typeof k>"u"||!k.length||!k[0]){var _t="";it=[];for(st in j[v])this.terminals_[st]&&st>Lt&&it.push("'"+this.terminals_[st]+"'");_.showPosition?_t="Parse error on line "+(et+1)+`: +import{g as Bt}from"./chunk-XXDRQBXY-kV8dS86B.js";import{s as Ft}from"./chunk-KBJHAD2P-CUyWjBEZ.js";import{a as p,aS as Yt,W as Pt,aR as zt,V as Gt,aU as Kt,$ as Ut,Y as rt,at as V,s as Zt,a0 as jt,aN as Wt,_ as Qt,a4 as Xt,aL as qt,ba as Ht}from"./mermaid.core-DS1qXbzQ.js";import{ad as Jt}from"../../app/index-B0ly_D9Z.js";import{c as $t}from"../../chunks/channel-oILNv8b8.js";var gt=function(){var s=p(function(R,n,a,l){for(a=a||{},l=R.length;l--;a[R[l]]=n);return a},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],o=[1,10],h=[1,11],c=[1,12],u=[1,13],y=[1,23],d=[1,24],m=[1,25],W=[1,26],Q=[1,27],S=[1,19],X=[1,28],B=[1,29],D=[1,20],I=[1,18],T=[1,21],x=[1,22],at=[1,36],ct=[1,37],ot=[1,38],lt=[1,39],ht=[1,40],F=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,66,67,68,69,70],O=[1,45],N=[1,46],Y=[1,55],P=[40,48,50,51,52,71,72],z=[1,66],G=[1,64],A=[1,61],K=[1,65],U=[1,67],q=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,66,67,68,69,70],bt=[66,67,68,69,70],kt=[1,85],mt=[1,84],Et=[1,82],St=[1,83],Tt=[6,10,42,47],L=[6,10,13,41,42,47,48,49],H=[1,93],J=[1,92],$=[1,91],Z=[19,58],Ot=[1,102],Nt=[1,101],ut=[19,58,61,63],dt={trace:p(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,"?":59,attributeKeyType:60,",":61,ATTRIBUTE_KEY:62,COMMENT:63,cardinality:64,relType:65,ZERO_OR_ONE:66,ZERO_OR_MORE:67,ONE_OR_MORE:68,ONLY_ONE:69,MD_PARENT:70,NON_IDENTIFYING:71,IDENTIFYING:72,WORD:73,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",59:"?",61:",",62:"ATTRIBUTE_KEY",63:"COMMENT",66:"ZERO_OR_ONE",67:"ZERO_OR_MORE",68:"ONE_OR_MORE",69:"ONLY_ONE",70:"MD_PARENT",71:"NON_IDENTIFYING",72:"IDENTIFYING",73:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[54,2],[55,1],[56,1],[56,3],[60,1],[57,1],[12,3],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[14,1],[14,1],[14,1]],performAction:p(function(n,a,l,r,f,t,j){var e=t.length-1;switch(f){case 1:break;case 2:this.$=[];break;case 3:t[e-1].push(t[e]),this.$=t[e-1];break;case 4:case 5:this.$=t[e];break;case 6:case 7:this.$=[];break;case 8:r.addEntity(t[e-4]),r.addEntity(t[e-2]),r.addRelationship(t[e-4],t[e],t[e-2],t[e-3]);break;case 9:r.addEntity(t[e-8]),r.addEntity(t[e-4]),r.addRelationship(t[e-8],t[e],t[e-4],t[e-5]),r.setClass([t[e-8]],t[e-6]),r.setClass([t[e-4]],t[e-2]);break;case 10:r.addEntity(t[e-6]),r.addEntity(t[e-2]),r.addRelationship(t[e-6],t[e],t[e-2],t[e-3]),r.setClass([t[e-6]],t[e-4]);break;case 11:r.addEntity(t[e-6]),r.addEntity(t[e-4]),r.addRelationship(t[e-6],t[e],t[e-4],t[e-5]),r.setClass([t[e-4]],t[e-2]);break;case 12:r.addEntity(t[e-3]),r.addAttributes(t[e-3],t[e-1]);break;case 13:r.addEntity(t[e-5]),r.addAttributes(t[e-5],t[e-1]),r.setClass([t[e-5]],t[e-3]);break;case 14:r.addEntity(t[e-2]);break;case 15:r.addEntity(t[e-4]),r.setClass([t[e-4]],t[e-2]);break;case 16:r.addEntity(t[e]);break;case 17:r.addEntity(t[e-2]),r.setClass([t[e-2]],t[e]);break;case 18:r.addEntity(t[e-6],t[e-4]),r.addAttributes(t[e-6],t[e-1]);break;case 19:r.addEntity(t[e-8],t[e-6]),r.addAttributes(t[e-8],t[e-1]),r.setClass([t[e-8]],t[e-3]);break;case 20:r.addEntity(t[e-5],t[e-3]);break;case 21:r.addEntity(t[e-7],t[e-5]),r.setClass([t[e-7]],t[e-2]);break;case 22:r.addEntity(t[e-3],t[e-1]);break;case 23:r.addEntity(t[e-5],t[e-3]),r.setClass([t[e-5]],t[e]);break;case 24:case 25:this.$=t[e].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=t[e].trim(),r.setAccDescription(this.$);break;case 32:r.setDirection("TB");break;case 33:r.setDirection("BT");break;case 34:r.setDirection("RL");break;case 35:r.setDirection("LR");break;case 36:this.$=t[e-3],r.addClass(t[e-2],t[e-1]);break;case 37:case 38:case 59:case 68:this.$=[t[e]];break;case 39:case 40:this.$=t[e-2].concat([t[e]]);break;case 41:this.$=t[e-2],r.setClass(t[e-1],t[e]);break;case 42:this.$=t[e-3],r.addCssStyles(t[e-2],t[e-1]);break;case 43:this.$=[t[e]];break;case 44:t[e-2].push(t[e]),this.$=t[e-2];break;case 46:this.$=t[e-1]+t[e];break;case 54:case 80:case 81:this.$=t[e].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 82:this.$=t[e];break;case 60:t[e].push(t[e-1]),this.$=t[e];break;case 61:this.$={type:t[e-1],name:t[e]};break;case 62:this.$={type:t[e-2],name:t[e-1],keys:t[e]};break;case 63:this.$={type:t[e-2],name:t[e-1],comment:t[e]};break;case 64:this.$={type:t[e-3],name:t[e-2],keys:t[e-1],comment:t[e]};break;case 65:case 67:case 70:this.$=t[e];break;case 66:this.$=t[e-1]+t[e];break;case 69:t[e-2].push(t[e]),this.$=t[e-2];break;case 71:this.$=t[e].replace(/"/g,"");break;case 72:this.$={cardA:t[e],relType:t[e-1],cardB:t[e-2]};break;case 73:this.$=r.Cardinality.ZERO_OR_ONE;break;case 74:this.$=r.Cardinality.ZERO_OR_MORE;break;case 75:this.$=r.Cardinality.ONE_OR_MORE;break;case 76:this.$=r.Cardinality.ONLY_ONE;break;case 77:this.$=r.Cardinality.MD_PARENT;break;case 78:this.$=r.Identification.NON_IDENTIFYING;break;case 79:this.$=r.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},s(i,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:o,24:h,26:c,28:u,29:14,30:15,31:16,32:17,33:y,34:d,35:m,36:W,37:Q,40:S,43:X,44:B,48:D,50:I,51:T,52:x},s(i,[2,7],{1:[2,1]}),s(i,[2,3]),{9:30,11:9,22:o,24:h,26:c,28:u,29:14,30:15,31:16,32:17,33:y,34:d,35:m,36:W,37:Q,40:S,43:X,44:B,48:D,50:I,51:T,52:x},s(i,[2,5]),s(i,[2,6]),s(i,[2,16],{12:31,64:35,15:[1,32],17:[1,33],20:[1,34],66:at,67:ct,68:ot,69:lt,70:ht}),{23:[1,41]},{25:[1,42]},{27:[1,43]},s(i,[2,27]),s(i,[2,28]),s(i,[2,29]),s(i,[2,30]),s(i,[2,31]),s(F,[2,54]),s(F,[2,55]),s(F,[2,56]),s(F,[2,57]),s(F,[2,58]),s(i,[2,32]),s(i,[2,33]),s(i,[2,34]),s(i,[2,35]),{16:44,40:O,41:N},{16:47,40:O,41:N},{16:48,40:O,41:N},s(i,[2,4]),{11:49,40:S,48:D,50:I,51:T,52:x},{16:50,40:O,41:N},{18:51,19:[1,52],53:53,54:54,58:Y},{11:56,40:S,48:D,50:I,51:T,52:x},{65:57,71:[1,58],72:[1,59]},s(P,[2,73]),s(P,[2,74]),s(P,[2,75]),s(P,[2,76]),s(P,[2,77]),s(i,[2,24]),s(i,[2,25]),s(i,[2,26]),{13:z,38:60,41:G,42:A,45:62,46:63,48:K,49:U},s(q,[2,37]),s(q,[2,38]),{16:68,40:O,41:N,42:A},{13:z,38:69,41:G,42:A,45:62,46:63,48:K,49:U},{13:[1,70],15:[1,71]},s(i,[2,17],{64:35,12:72,17:[1,73],42:A,66:at,67:ct,68:ot,69:lt,70:ht}),{19:[1,74]},s(i,[2,14]),{18:75,19:[2,59],53:53,54:54,58:Y},{55:76,58:[1,77]},{58:[2,65],59:[1,78]},{21:[1,79]},{64:80,66:at,67:ct,68:ot,69:lt,70:ht},s(bt,[2,78]),s(bt,[2,79]),{6:kt,10:mt,39:81,42:Et,47:St},{40:[1,86],41:[1,87]},s(Tt,[2,43],{46:88,13:z,41:G,48:K,49:U}),s(L,[2,45]),s(L,[2,50]),s(L,[2,51]),s(L,[2,52]),s(L,[2,53]),s(i,[2,41],{42:A}),{6:kt,10:mt,39:89,42:Et,47:St},{14:90,40:H,50:J,73:$},{16:94,40:O,41:N},{11:95,40:S,48:D,50:I,51:T,52:x},{18:96,19:[1,97],53:53,54:54,58:Y},s(i,[2,12]),{19:[2,60]},s(Z,[2,61],{56:98,57:99,60:100,62:Ot,63:Nt}),s([19,58,62,63],[2,67]),{58:[2,66]},s(i,[2,22],{15:[1,104],17:[1,103]}),s([40,48,50,51,52],[2,72]),s(i,[2,36]),{13:z,41:G,45:105,46:63,48:K,49:U},s(i,[2,47]),s(i,[2,48]),s(i,[2,49]),s(q,[2,39]),s(q,[2,40]),s(L,[2,46]),s(i,[2,42]),s(i,[2,8]),s(i,[2,80]),s(i,[2,81]),s(i,[2,82]),{13:[1,106],42:A},{13:[1,108],15:[1,107]},{19:[1,109]},s(i,[2,15]),s(Z,[2,62],{57:110,61:[1,111],63:Nt}),s(Z,[2,63]),s(ut,[2,68]),s(Z,[2,71]),s(ut,[2,70]),{18:112,19:[1,113],53:53,54:54,58:Y},{16:114,40:O,41:N},s(Tt,[2,44],{46:88,13:z,41:G,48:K,49:U}),{14:115,40:H,50:J,73:$},{16:116,40:O,41:N},{14:117,40:H,50:J,73:$},s(i,[2,13]),s(Z,[2,64]),{60:118,62:Ot},{19:[1,119]},s(i,[2,20]),s(i,[2,23],{17:[1,120],42:A}),s(i,[2,11]),{13:[1,121],42:A},s(i,[2,10]),s(ut,[2,69]),s(i,[2,18]),{18:122,19:[1,123],53:53,54:54,58:Y},{14:124,40:H,50:J,73:$},{19:[1,125]},s(i,[2,21]),s(i,[2,9]),s(i,[2,19])],defaultActions:{75:[2,60],78:[2,66]},parseError:p(function(n,a){if(a.recoverable)this.trace(n);else{var l=new Error(n);throw l.hash=a,l}},"parseError"),parse:p(function(n){var a=this,l=[0],r=[],f=[null],t=[],j=this.table,e="",et=0,At=0,Lt=2,Rt=1,wt=t.slice.call(arguments,1),_=Object.create(this.lexer),C={yy:{}};for(var pt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,pt)&&(C.yy[pt]=this.yy[pt]);_.setInput(n,C.yy),C.yy.lexer=_,C.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var ft=_.yylloc;t.push(ft);var Vt=_.options&&_.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(b){l.length=l.length-2*b,f.length=f.length-b,t.length=t.length-b}p(Mt,"popStack");function It(){var b;return b=r.pop()||_.lex()||Rt,typeof b!="number"&&(b instanceof Array&&(r=b,b=r.pop()),b=a.symbols_[b]||b),b}p(It,"lex");for(var g,v,k,yt,w={},st,E,xt,it;;){if(v=l[l.length-1],this.defaultActions[v]?k=this.defaultActions[v]:((g===null||typeof g>"u")&&(g=It()),k=j[v]&&j[v][g]),typeof k>"u"||!k.length||!k[0]){var _t="";it=[];for(st in j[v])this.terminals_[st]&&st>Lt&&it.push("'"+this.terminals_[st]+"'");_.showPosition?_t="Parse error on line "+(et+1)+`: `+_.showPosition()+` Expecting `+it.join(", ")+", got '"+(this.terminals_[g]||g)+"'":_t="Parse error on line "+(et+1)+": Unexpected "+(g==Rt?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(_t,{text:_.match,token:this.terminals_[g]||g,line:_.yylineno,loc:ft,expected:it})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+g);switch(k[0]){case 1:l.push(g),f.push(_.yytext),t.push(_.yylloc),l.push(k[1]),g=null,At=_.yyleng,e=_.yytext,et=_.yylineno,ft=_.yylloc;break;case 2:if(E=this.productions_[k[1]][1],w.$=f[f.length-E],w._$={first_line:t[t.length-(E||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(E||1)].first_column,last_column:t[t.length-1].last_column},Vt&&(w._$.range=[t[t.length-(E||1)].range[0],t[t.length-1].range[1]]),yt=this.performAction.apply(w,[e,At,et,C.yy,k[1],f,t].concat(wt)),typeof yt<"u")return yt;E&&(l=l.slice(0,-1*E*2),f=f.slice(0,-1*E),t=t.slice(0,-1*E)),l.push(this.productions_[k[1]][0]),f.push(w.$),t.push(w._$),xt=j[l[l.length-2]][l[l.length-1]],l.push(xt);break;case 3:return!0}}return!0},"parse")},Dt=function(){var R={EOF:1,parseError:p(function(a,l){if(this.yy.parser)this.yy.parser.parseError(a,l);else throw new Error(a)},"parseError"),setInput:p(function(n,a){return this.yy=a||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:p(function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var a=n.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},"input"),unput:p(function(n){var a=n.length,l=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===r.length?this.yylloc.first_column:0)+r[r.length-l.length].length-l[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:p(function(){return this._more=!0,this},"more"),reject:p(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:p(function(n){this.unput(this.match.slice(n))},"less"),pastInput:p(function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:p(function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:p(function(){var n=this.pastInput(),a=new Array(n.length+1).join("-");return n+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/flowDiagram-UKHOOZJN-B8lbbUMJ.js b/veadk/webui/assets/visualizations/mermaid/flowDiagram-UKHOOZJN-BInConF4.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/flowDiagram-UKHOOZJN-B8lbbUMJ.js rename to veadk/webui/assets/visualizations/mermaid/flowDiagram-UKHOOZJN-BInConF4.js index 594df9b10..3a4483991 100644 --- a/veadk/webui/assets/visualizations/mermaid/flowDiagram-UKHOOZJN-B8lbbUMJ.js +++ b/veadk/webui/assets/visualizations/mermaid/flowDiagram-UKHOOZJN-BInConF4.js @@ -1,4 +1,4 @@ -import{g as Xt}from"./chunk-5VM5RSS4-W8IBP72a.js";import{g as Qt}from"./chunk-XXDRQBXY-4aIfLT7K.js";import{s as Jt}from"./chunk-KBJHAD2P-BfrlQA_C.js";import{a as m,aa as Zt,aT as Mt,at as J,Y as g1,a4 as $t,aL as te,ba as rt,aS as ee,aR as se,aU as ie,W as re,V as ae,$ as ne,x as ue,as as le,J as oe,ao as ce,a0 as st,aH as he,s as de,N as pe,aN as fe}from"./mermaid.core-CA8ypPul.js";import{c as ge}from"./chunk-2GRJ4B5K-BMhlpUDn.js";import{ad as it}from"../../app/index-BSfA7-Qp.js";import{c as be}from"../../chunks/channel-V8FC1PyG.js";var Ae="flowchart-",G1,ke=(G1=class{constructor(){this.vertexCounter=0,this.config=g1(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=ee,this.setAccDescription=se,this.setDiagramTitle=ie,this.getAccTitle=re,this.getAccDescription=ae,this.getDiagramTitle=ne,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(i){return ue.sanitizeText(i,this.config)}sanitizeNodeLabelType(i){switch(i){case"markdown":case"string":case"text":return i;default:return"markdown"}}setDiagramId(i){this.diagramId=i}lookUpDomId(i){for(const a of this.vertices.values())if(a.id===i)return this.diagramId?`${this.diagramId}-${a.domId}`:a.domId;return this.diagramId?`${this.diagramId}-${i}`:i}addVertex(i,a,n,u,o,h,c={},g){var L,y;if(!i||i.trim().length===0)return;let r;if(g!==void 0){let f;g.includes(` +import{g as Xt}from"./chunk-5VM5RSS4-DdofPBLB.js";import{g as Qt}from"./chunk-XXDRQBXY-kV8dS86B.js";import{s as Jt}from"./chunk-KBJHAD2P-CUyWjBEZ.js";import{a as m,aa as Zt,aT as Mt,at as J,Y as g1,a4 as $t,aL as te,ba as rt,aS as ee,aR as se,aU as ie,W as re,V as ae,$ as ne,x as ue,as as le,J as oe,ao as ce,a0 as st,aH as he,s as de,N as pe,aN as fe}from"./mermaid.core-DS1qXbzQ.js";import{c as ge}from"./chunk-2GRJ4B5K-DFfNskzn.js";import{ad as it}from"../../app/index-B0ly_D9Z.js";import{c as be}from"../../chunks/channel-oILNv8b8.js";var Ae="flowchart-",G1,ke=(G1=class{constructor(){this.vertexCounter=0,this.config=g1(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=ee,this.setAccDescription=se,this.setDiagramTitle=ie,this.getAccTitle=re,this.getAccDescription=ae,this.getDiagramTitle=ne,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(i){return ue.sanitizeText(i,this.config)}sanitizeNodeLabelType(i){switch(i){case"markdown":case"string":case"text":return i;default:return"markdown"}}setDiagramId(i){this.diagramId=i}lookUpDomId(i){for(const a of this.vertices.values())if(a.id===i)return this.diagramId?`${this.diagramId}-${a.domId}`:a.domId;return this.diagramId?`${this.diagramId}-${i}`:i}addVertex(i,a,n,u,o,h,c={},g){var L,y;if(!i||i.trim().length===0)return;let r;if(g!==void 0){let f;g.includes(` `)?f=g+` `:f=`{ `+g+` diff --git a/veadk/webui/assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-DmNk0elM.js b/veadk/webui/assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-D74iFdfv.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-DmNk0elM.js rename to veadk/webui/assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-D74iFdfv.js index c485b717c..e624c05bc 100644 --- a/veadk/webui/assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-DmNk0elM.js +++ b/veadk/webui/assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-D74iFdfv.js @@ -1,4 +1,4 @@ -import{V as An,aR as Wn,$ as $n,aU as On,W as Hn,aS as Nn,a as d,Y as Yt,B as Vn,L as it,at as Tt,x as Pn,aP as zn,s as Rn,ba as Bn}from"./mermaid.core-CA8ypPul.js";import{h as Ke,ac as Zn,E as tn,H as en,C as nn,a6 as ae,$ as Xn,q as re,N as ie,ad as Xt}from"../../app/index-BSfA7-Qp.js";import{b as qn,t as $e,c as Gn,a as jn,l as Qn}from"../../chunks/linear-D2RiTPZI.js";import{i as Jn}from"../../chunks/init-Gi6I4Gst.js";import"../../chunks/defaultLocale-CrowFXzY.js";const Kn=Math.PI/180,tr=180/Math.PI,Jt=18,rn=.96422,sn=1,an=.82521,on=4/29,Ft=6/29,cn=3*Ft*Ft,er=Ft*Ft*Ft;function un(t){if(t instanceof ft)return new ft(t.l,t.a,t.b,t.opacity);if(t instanceof ht)return ln(t);t instanceof Ke||(t=Zn(t));var e=le(t.r),n=le(t.g),r=le(t.b),i=oe((.2225045*e+.7168786*n+.0606169*r)/sn),s,a;return e===n&&n===r?s=a=i:(s=oe((.4360747*e+.3850649*n+.1430804*r)/rn),a=oe((.0139322*e+.0971045*n+.7141733*r)/an)),new ft(116*i-16,500*(s-i),200*(i-a),t.opacity)}function nr(t,e,n,r){return arguments.length===1?un(t):new ft(t,e,n,r??1)}function ft(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}tn(ft,nr,en(nn,{brighter(t){return new ft(this.l+Jt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ft(this.l-Jt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=rn*ce(e),t=sn*ce(t),n=an*ce(n),new Ke(ue(3.1338561*e-1.6168667*t-.4906146*n),ue(-.9787684*e+1.9161415*t+.033454*n),ue(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function oe(t){return t>er?Math.pow(t,1/3):t/cn+on}function ce(t){return t>Ft?t*t*t:cn*(t-on)}function ue(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function le(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function rr(t){if(t instanceof ht)return new ht(t.h,t.c,t.l,t.opacity);if(t instanceof ft||(t=un(t)),t.a===0&&t.b===0)return new ht(NaN,0=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function or(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function cr(t){return t}var Gt=1,fe=2,ve=3,qt=4,Oe=1e-6;function ur(t){return"translate("+t+",0)"}function lr(t){return"translate(0,"+t+")"}function fr(t){return e=>+t(e)}function dr(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function hr(){return!this.__axis}function fn(t,e){var n=[],r=null,i=null,s=6,a=6,y=3,F=typeof window<"u"&&window.devicePixelRatio>1?0:.5,S=t===Gt||t===qt?-1:1,w=t===qt||t===fe?"x":"y",V=t===Gt||t===ve?ur:lr;function _(Y){var q=r??(e.ticks?e.ticks.apply(e,n):e.domain()),Z=i??(e.tickFormat?e.tickFormat.apply(e,n):cr),v=Math.max(s,0)+y,U=e.range(),z=+U[0]+F,E=+U[U.length-1]+F,R=(e.bandwidth?dr:fr)(e.copy(),F),G=Y.selection?Y.selection():Y,T=G.selectAll(".domain").data([null]),k=G.selectAll(".tick").data(q,e).order(),p=k.exit(),L=k.enter().append("g").attr("class","tick"),x=k.select("line"),C=k.select("text");T=T.merge(T.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(L),x=x.merge(L.append("line").attr("stroke","currentColor").attr(w+"2",S*s)),C=C.merge(L.append("text").attr("fill","currentColor").attr(w,S*v).attr("dy",t===Gt?"0em":t===ve?"0.71em":"0.32em")),Y!==G&&(T=T.transition(Y),k=k.transition(Y),x=x.transition(Y),C=C.transition(Y),p=p.transition(Y).attr("opacity",Oe).attr("transform",function(M){return isFinite(M=R(M))?V(M+F):this.getAttribute("transform")}),L.attr("opacity",Oe).attr("transform",function(M){var D=this.parentNode.__axis;return V((D&&isFinite(D=D(M))?D:R(M))+F)})),p.remove(),T.attr("d",t===qt||t===fe?a?"M"+S*a+","+z+"H"+F+"V"+E+"H"+S*a:"M"+F+","+z+"V"+E:a?"M"+z+","+S*a+"V"+F+"H"+E+"V"+S*a:"M"+z+","+F+"H"+E),k.attr("opacity",1).attr("transform",function(M){return V(R(M)+F)}),x.attr(w+"2",S*s),C.attr(w,S*v).text(Z),G.filter(hr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===fe?"start":t===qt?"end":"middle"),G.each(function(){this.__axis=R})}return _.scale=function(Y){return arguments.length?(e=Y,_):e},_.ticks=function(){return n=Array.from(arguments),_},_.tickArguments=function(Y){return arguments.length?(n=Y==null?[]:Array.from(Y),_):n.slice()},_.tickValues=function(Y){return arguments.length?(r=Y==null?null:Array.from(Y),_):r&&r.slice()},_.tickFormat=function(Y){return arguments.length?(i=Y,_):i},_.tickSize=function(Y){return arguments.length?(s=a=+Y,_):s},_.tickSizeInner=function(Y){return arguments.length?(s=+Y,_):s},_.tickSizeOuter=function(Y){return arguments.length?(a=+Y,_):a},_.tickPadding=function(Y){return arguments.length?(y=+Y,_):y},_.offset=function(Y){return arguments.length?(F=+Y,_):F},_}function mr(t){return fn(Gt,t)}function gr(t){return fn(ve,t)}function yr(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],s=t[r],a;return s(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const a=i(s),y=i.ceil(s);return s-a(e(s=new Date(+s),a==null?1:Math.floor(a)),s),i.range=(s,a,y)=>{const F=[];if(s=i.ceil(s),y=y==null?1:Math.floor(y),!(s0))return F;let S;do F.push(S=new Date(+s)),e(s,y),t(s);while(Snt(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,y)=>{if(a>=a)if(y<0)for(;++y<=0;)for(;e(a,-1),!s(a););else for(;--y>=0;)for(;e(a,1),!s(a););}),n&&(i.count=(s,a)=>(de.setTime(+s),he.setTime(+a),t(de),t(he),Math.floor(n(de,he))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?a=>r(a)%s===0:a=>i.count(0,a)%s===0):i)),i}const Et=nt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Et.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?nt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Et);Et.range;const mt=1e3,ct=mt*60,gt=ct*60,yt=gt*24,De=yt*7,He=yt*30,me=yt*365,vt=nt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getUTCSeconds());vt.range;const Nt=nt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getMinutes());Nt.range;const kr=nt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getUTCMinutes());kr.range;const Vt=nt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt-t.getMinutes()*ct)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getHours());Vt.range;const pr=nt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCHours());pr.range;const xt=nt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ct)/yt,t=>t.getDate()-1);xt.range;const Me=nt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>t.getUTCDate()-1);Me.range;const vr=nt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>Math.floor(t/yt));vr.range;function Dt(t){return nt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*ct)/De)}const Rt=Dt(0),Pt=Dt(1),dn=Dt(2),hn=Dt(3),bt=Dt(4),mn=Dt(5),gn=Dt(6);Rt.range;Pt.range;dn.range;hn.range;bt.range;mn.range;gn.range;function Mt(t){return nt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/De)}const yn=Mt(0),Kt=Mt(1),Tr=Mt(2),xr=Mt(3),It=Mt(4),br=Mt(5),wr=Mt(6);yn.range;Kt.range;Tr.range;xr.range;It.range;br.range;wr.range;const zt=nt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());zt.range;const Dr=nt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Dr.range;const kt=nt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());kt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:nt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});kt.range;const wt=nt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());wt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:nt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});wt.range;function Mr(t,e,n,r,i,s){const a=[[vt,1,mt],[vt,5,5*mt],[vt,15,15*mt],[vt,30,30*mt],[s,1,ct],[s,5,5*ct],[s,15,15*ct],[s,30,30*ct],[i,1,gt],[i,3,3*gt],[i,6,6*gt],[i,12,12*gt],[r,1,yt],[r,2,2*yt],[n,1,De],[e,1,He],[e,3,3*He],[t,1,me]];function y(S,w,V){const _=wv).right(a,_);if(Y===a.length)return t.every($e(S/me,w/me,V));if(Y===0)return Et.every(Math.max($e(S,w,V),1));const[q,Z]=a[_/a[Y-1][2]53)return null;"w"in f||(f.w=1),"Z"in f?(A=ye($t(f.y,0,1)),Q=A.getUTCDay(),A=Q>4||Q===0?Kt.ceil(A):Kt(A),A=Me.offset(A,(f.V-1)*7),f.y=A.getUTCFullYear(),f.m=A.getUTCMonth(),f.d=A.getUTCDate()+(f.w+6)%7):(A=ge($t(f.y,0,1)),Q=A.getDay(),A=Q>4||Q===0?Pt.ceil(A):Pt(A),A=xt.offset(A,(f.V-1)*7),f.y=A.getFullYear(),f.m=A.getMonth(),f.d=A.getDate()+(f.w+6)%7)}else("W"in f||"U"in f)&&("w"in f||(f.w="u"in f?f.u%7:"W"in f?1:0),Q="Z"in f?ye($t(f.y,0,1)).getUTCDay():ge($t(f.y,0,1)).getDay(),f.m=0,f.d="W"in f?(f.w+6)%7+f.W*7-(Q+5)%7:f.w+f.U*7-(Q+6)%7);return"Z"in f?(f.H+=f.Z/100|0,f.M+=f.Z%100,ye(f)):ge(f)}}function p(h,N,P,f){for(var tt=0,A=N.length,Q=P.length,X,st;tt=Q)return-1;if(X=N.charCodeAt(tt++),X===37){if(X=N.charAt(tt++),st=G[X in Ne?N.charAt(tt++):X],!st||(f=st(h,P,f))<0)return-1}else if(X!=P.charCodeAt(f++))return-1}return f}function L(h,N,P){var f=S.exec(N.slice(P));return f?(h.p=w.get(f[0].toLowerCase()),P+f[0].length):-1}function x(h,N,P){var f=Y.exec(N.slice(P));return f?(h.w=q.get(f[0].toLowerCase()),P+f[0].length):-1}function C(h,N,P){var f=V.exec(N.slice(P));return f?(h.w=_.get(f[0].toLowerCase()),P+f[0].length):-1}function M(h,N,P){var f=U.exec(N.slice(P));return f?(h.m=z.get(f[0].toLowerCase()),P+f[0].length):-1}function D(h,N,P){var f=Z.exec(N.slice(P));return f?(h.m=v.get(f[0].toLowerCase()),P+f[0].length):-1}function c(h,N,P){return p(h,e,N,P)}function g(h,N,P){return p(h,n,N,P)}function b(h,N,P){return p(h,r,N,P)}function m(h){return a[h.getDay()]}function I(h){return s[h.getDay()]}function o(h){return F[h.getMonth()]}function W(h){return y[h.getMonth()]}function u(h){return i[+(h.getHours()>=12)]}function K(h){return 1+~~(h.getMonth()/3)}function l(h){return a[h.getUTCDay()]}function $(h){return s[h.getUTCDay()]}function O(h){return F[h.getUTCMonth()]}function j(h){return y[h.getUTCMonth()]}function H(h){return i[+(h.getUTCHours()>=12)]}function J(h){return 1+~~(h.getUTCMonth()/3)}return{format:function(h){var N=T(h+="",E);return N.toString=function(){return h},N},parse:function(h){var N=k(h+="",!1);return N.toString=function(){return h},N},utcFormat:function(h){var N=T(h+="",R);return N.toString=function(){return h},N},utcParse:function(h){var N=k(h+="",!0);return N.toString=function(){return h},N}}}var Ne={"-":"",_:" ",0:"0"},rt=/^\s*\d+/,Yr=/^%/,Fr=/[\\^$*+?|[\]().{}]/g;function B(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function Er(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ir(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Lr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Ar(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Wr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ve(t,e,n){var r=rt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Pe(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function $r(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Or(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Hr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function ze(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Nr(t,e,n){var r=rt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Re(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Vr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Pr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function zr(t,e,n){var r=rt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Rr(t,e,n){var r=rt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Br(t,e,n){var r=Yr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Zr(t,e,n){var r=rt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Xr(t,e,n){var r=rt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Be(t,e){return B(t.getDate(),e,2)}function qr(t,e){return B(t.getHours(),e,2)}function Gr(t,e){return B(t.getHours()%12||12,e,2)}function jr(t,e){return B(1+xt.count(kt(t),t),e,3)}function kn(t,e){return B(t.getMilliseconds(),e,3)}function Qr(t,e){return kn(t,e)+"000"}function Jr(t,e){return B(t.getMonth()+1,e,2)}function Kr(t,e){return B(t.getMinutes(),e,2)}function ti(t,e){return B(t.getSeconds(),e,2)}function ei(t){var e=t.getDay();return e===0?7:e}function ni(t,e){return B(Rt.count(kt(t)-1,t),e,2)}function pn(t){var e=t.getDay();return e>=4||e===0?bt(t):bt.ceil(t)}function ri(t,e){return t=pn(t),B(bt.count(kt(t),t)+(kt(t).getDay()===4),e,2)}function ii(t){return t.getDay()}function si(t,e){return B(Pt.count(kt(t)-1,t),e,2)}function ai(t,e){return B(t.getFullYear()%100,e,2)}function oi(t,e){return t=pn(t),B(t.getFullYear()%100,e,2)}function ci(t,e){return B(t.getFullYear()%1e4,e,4)}function ui(t,e){var n=t.getDay();return t=n>=4||n===0?bt(t):bt.ceil(t),B(t.getFullYear()%1e4,e,4)}function li(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+B(e/60|0,"0",2)+B(e%60,"0",2)}function Ze(t,e){return B(t.getUTCDate(),e,2)}function fi(t,e){return B(t.getUTCHours(),e,2)}function di(t,e){return B(t.getUTCHours()%12||12,e,2)}function hi(t,e){return B(1+Me.count(wt(t),t),e,3)}function vn(t,e){return B(t.getUTCMilliseconds(),e,3)}function mi(t,e){return vn(t,e)+"000"}function gi(t,e){return B(t.getUTCMonth()+1,e,2)}function yi(t,e){return B(t.getUTCMinutes(),e,2)}function ki(t,e){return B(t.getUTCSeconds(),e,2)}function pi(t){var e=t.getUTCDay();return e===0?7:e}function vi(t,e){return B(yn.count(wt(t)-1,t),e,2)}function Tn(t){var e=t.getUTCDay();return e>=4||e===0?It(t):It.ceil(t)}function Ti(t,e){return t=Tn(t),B(It.count(wt(t),t)+(wt(t).getUTCDay()===4),e,2)}function xi(t){return t.getUTCDay()}function bi(t,e){return B(Kt.count(wt(t)-1,t),e,2)}function wi(t,e){return B(t.getUTCFullYear()%100,e,2)}function Di(t,e){return t=Tn(t),B(t.getUTCFullYear()%100,e,2)}function Mi(t,e){return B(t.getUTCFullYear()%1e4,e,4)}function Ci(t,e){var n=t.getUTCDay();return t=n>=4||n===0?It(t):It.ceil(t),B(t.getUTCFullYear()%1e4,e,4)}function Si(){return"+0000"}function Xe(){return"%"}function qe(t){return+t}function Ge(t){return Math.floor(+t/1e3)}var St,te;_i({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function _i(t){return St=_r(t),te=St.format,St.parse,St.utcFormat,St.utcParse,St}function Yi(t){return new Date(t)}function Fi(t){return t instanceof Date?+t:+new Date(+t)}function xn(t,e,n,r,i,s,a,y,F,S){var w=Gn(),V=w.invert,_=w.domain,Y=S(".%L"),q=S(":%S"),Z=S("%I:%M"),v=S("%I %p"),U=S("%a %d"),z=S("%b %d"),E=S("%B"),R=S("%Y");function G(T){return(F(T)4&&(Y+=7),_.add(Y,n));return q.diff(Z,"week")+1},y.isoWeekday=function(S){return this.$utils().u(S)?this.day()||7:this.day(this.day()%7?S:S-7)};var F=y.startOf;y.startOf=function(S,w){var V=this.$utils(),_=!!V.u(w)||w;return V.p(S)==="isoweek"?_?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):F.bind(this)(S,w)}}})})(bn);var Ei=bn.exports;const Ii=ie(Ei);var wn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(re,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,s=/\d\d/,a=/\d\d?/,y=/\d*[^-_:/,()\s\d]+/,F={},S=function(v){return(v=+v)+(v>68?1900:2e3)},w=function(v){return function(U){this[v]=+U}},V=[/[+-]\d\d:?(\d\d)?|Z/,function(v){(this.zone||(this.zone={})).offset=function(U){if(!U||U==="Z")return 0;var z=U.match(/([+-]|\d\d)/g),E=60*z[1]+(+z[2]||0);return E===0?0:z[0]==="+"?-E:E}(v)}],_=function(v){var U=F[v];return U&&(U.indexOf?U:U.s.concat(U.f))},Y=function(v,U){var z,E=F.meridiem;if(E){for(var R=1;R<=24;R+=1)if(v.indexOf(E(R,0,U))>-1){z=R>12;break}}else z=v===(U?"pm":"PM");return z},q={A:[y,function(v){this.afternoon=Y(v,!1)}],a:[y,function(v){this.afternoon=Y(v,!0)}],Q:[i,function(v){this.month=3*(v-1)+1}],S:[i,function(v){this.milliseconds=100*+v}],SS:[s,function(v){this.milliseconds=10*+v}],SSS:[/\d{3}/,function(v){this.milliseconds=+v}],s:[a,w("seconds")],ss:[a,w("seconds")],m:[a,w("minutes")],mm:[a,w("minutes")],H:[a,w("hours")],h:[a,w("hours")],HH:[a,w("hours")],hh:[a,w("hours")],D:[a,w("day")],DD:[s,w("day")],Do:[y,function(v){var U=F.ordinal,z=v.match(/\d+/);if(this.day=z[0],U)for(var E=1;E<=31;E+=1)U(E).replace(/\[|\]/g,"")===v&&(this.day=E)}],w:[a,w("week")],ww:[s,w("week")],M:[a,w("month")],MM:[s,w("month")],MMM:[y,function(v){var U=_("months"),z=(_("monthsShort")||U.map(function(E){return E.slice(0,3)})).indexOf(v)+1;if(z<1)throw new Error;this.month=z%12||z}],MMMM:[y,function(v){var U=_("months").indexOf(v)+1;if(U<1)throw new Error;this.month=U%12||U}],Y:[/[+-]?\d+/,w("year")],YY:[s,function(v){this.year=S(v)}],YYYY:[/\d{4}/,w("year")],Z:V,ZZ:V};function Z(v){var U,z;U=v,z=F&&F.formats;for(var E=(v=U.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(x,C,M){var D=M&&M.toUpperCase();return C||z[M]||n[M]||z[D].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(c,g,b){return g||b.slice(1)})})).match(r),R=E.length,G=0;G-1)return new Date((I==="X"?1e3:1)*m);var u=Z(I)(m),K=u.year,l=u.month,$=u.day,O=u.hours,j=u.minutes,H=u.seconds,J=u.milliseconds,h=u.zone,N=u.week,P=new Date,f=$||(K||l?1:P.getDate()),tt=K||P.getFullYear(),A=0;K&&!l||(A=l>0?l-1:P.getMonth());var Q,X=O||0,st=j||0,at=H||0,pt=J||0;return h?new Date(Date.UTC(tt,A,f,X,st,at,pt+60*h.offset*1e3)):o?new Date(Date.UTC(tt,A,f,X,st,at,pt)):(Q=new Date(tt,A,f,X,st,at,pt),N&&(Q=W(Q).week(N).toDate()),Q)}catch{return new Date("")}}(T,L,k,z),this.init(),D&&D!==!0&&(this.$L=this.locale(D).$L),M&&T!=this.format(L)&&(this.$d=new Date("")),F={}}else if(L instanceof Array)for(var c=L.length,g=1;g<=c;g+=1){p[1]=L[g-1];var b=z.apply(this,p);if(b.isValid()){this.$d=b.$d,this.$L=b.$L,this.init();break}g===c&&(this.$d=new Date(""))}else R.call(this,G)}}})})(wn);var Li=wn.exports;const Ai=ie(Li);var Dn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(re,function(){return function(n,r){var i=r.prototype,s=i.format;i.format=function(a){var y=this,F=this.$locale();if(!this.isValid())return s.bind(this)(a);var S=this.$utils(),w=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(V){switch(V){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return F.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return F.ordinal(y.week(),"W");case"w":case"ww":return S.s(y.week(),V==="w"?1:2,"0");case"W":case"WW":return S.s(y.isoWeek(),V==="W"?1:2,"0");case"k":case"kk":return S.s(String(y.$H===0?24:y.$H),V==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return V}});return s.bind(this)(w)}}})})(Dn);var Wi=Dn.exports;const $i=ie(Wi);var Mn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(re,function(){var n,r,i=1e3,s=6e4,a=36e5,y=864e5,F=31536e6,S=2628e6,w=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,V=/\[([^\]]+)]|YYYY|YY|Y|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS/g,_={years:F,months:S,days:y,hours:a,minutes:s,seconds:i,milliseconds:1,weeks:6048e5},Y=function(T){return T instanceof R},q=function(T,k,p){return new R(T,p,k.$l)},Z=function(T){return r.p(T)+"s"},v=function(T){return T<0},U=function(T){return v(T)?Math.ceil(T):Math.floor(T)},z=function(T){return Math.abs(T)},E=function(T,k){return T?v(T)?{negative:!0,format:""+z(T)+k}:{negative:!1,format:""+T+k}:{negative:!1,format:""}},R=function(){function T(p,L,x){var C=this;if(this.$d={},this.$l=x,p===void 0&&(this.$ms=0,this.parseFromMilliseconds()),L)return q(p*_[Z(L)],this);if(typeof p=="number")return this.$ms=p,this.parseFromMilliseconds(),this;if(typeof p=="object")return Object.keys(p).forEach(function(c){C.$d[Z(c)]=p[c]}),this.calMilliseconds(),this;if(typeof p=="string"){var M=p.match(w);if(M){var D=M.slice(2).map(function(c){return c!=null?Number(c):0});return this.$d.years=D[0],this.$d.months=D[1],this.$d.weeks=D[2],this.$d.days=D[3],this.$d.hours=D[4],this.$d.minutes=D[5],this.$d.seconds=D[6],this.calMilliseconds(),this}}return this}var k=T.prototype;return k.calMilliseconds=function(){var p=this;this.$ms=Object.keys(this.$d).reduce(function(L,x){return L+(p.$d[x]||0)*_[x]},0)},k.parseFromMilliseconds=function(){var p=this.$ms;this.$d.years=U(p/F),p%=F,this.$d.months=U(p/S),p%=S,this.$d.days=U(p/y),p%=y,this.$d.hours=U(p/a),p%=a,this.$d.minutes=U(p/s),p%=s,this.$d.seconds=U(p/i),p%=i,this.$d.milliseconds=p},k.toISOString=function(){var p=E(this.$d.years,"Y"),L=E(this.$d.months,"M"),x=+this.$d.days||0;this.$d.weeks&&(x+=7*this.$d.weeks);var C=E(x,"D"),M=E(this.$d.hours,"H"),D=E(this.$d.minutes,"M"),c=this.$d.seconds||0;this.$d.milliseconds&&(c+=this.$d.milliseconds/1e3,c=Math.round(1e3*c)/1e3);var g=E(c,"S"),b=p.negative||L.negative||C.negative||M.negative||D.negative||g.negative,m=M.format||D.format||g.format?"T":"",I=(b?"-":"")+"P"+p.format+L.format+C.format+m+M.format+D.format+g.format;return I==="P"||I==="-P"?"P0D":I},k.toJSON=function(){return this.toISOString()},k.format=function(p){var L=p||"YYYY-MM-DDTHH:mm:ss",x={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return L.replace(V,function(C,M){return M||String(x[C])})},k.as=function(p){return this.$ms/_[Z(p)]},k.get=function(p){var L=this.$ms,x=Z(p);return x==="milliseconds"?L%=1e3:L=x==="weeks"?U(L/_[x]):this.$d[x],L||0},k.add=function(p,L,x){var C;return C=L?p*_[Z(L)]:Y(p)?p.$ms:q(p,this).$ms,q(this.$ms+C*(x?-1:1),this)},k.subtract=function(p,L){return this.add(p,L,!0)},k.locale=function(p){var L=this.clone();return L.$l=p,L},k.clone=function(){return q(this.$ms,this)},k.humanize=function(p){return n().add(this.$ms,"ms").locale(this.$l).fromNow(!p)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},T}(),G=function(T,k,p){return T.add(k.years()*p,"y").add(k.months()*p,"M").add(k.days()*p,"d").add(k.hours()*p,"h").add(k.minutes()*p,"m").add(k.seconds()*p,"s").add(k.milliseconds()*p,"ms")};return function(T,k,p){n=p,r=p().$utils(),p.duration=function(C,M){var D=p.locale();return q(C,{$l:D},M)},p.isDuration=Y;var L=k.prototype.add,x=k.prototype.subtract;k.prototype.add=function(C,M){return Y(C)?G(this,C,1):L.bind(this)(C,M)},k.prototype.subtract=function(C,M){return Y(C)?G(this,C,-1):x.bind(this)(C,M)}}})})(Mn);var Oi=Mn.exports;const Hi=ie(Oi);var Te=function(){var t=d(function(D,c,g,b){for(g=g||{},b=D.length;b--;g[D[b]]=c);return g},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],n=[1,26],r=[1,27],i=[1,28],s=[1,29],a=[1,30],y=[1,31],F=[1,32],S=[1,33],w=[1,34],V=[1,9],_=[1,10],Y=[1,11],q=[1,12],Z=[1,13],v=[1,14],U=[1,15],z=[1,16],E=[1,19],R=[1,20],G=[1,21],T=[1,22],k=[1,23],p=[1,25],L=[1,35],x={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:d(function(c,g,b,m,I,o,W){var u=o.length-1;switch(I){case 1:return o[u-1];case 2:this.$=[];break;case 3:o[u-1].push(o[u]),this.$=o[u-1];break;case 4:case 5:this.$=o[u];break;case 6:case 7:this.$=[];break;case 8:m.setWeekday("monday");break;case 9:m.setWeekday("tuesday");break;case 10:m.setWeekday("wednesday");break;case 11:m.setWeekday("thursday");break;case 12:m.setWeekday("friday");break;case 13:m.setWeekday("saturday");break;case 14:m.setWeekday("sunday");break;case 15:m.setWeekend("friday");break;case 16:m.setWeekend("saturday");break;case 17:m.setDateFormat(o[u].substr(11)),this.$=o[u].substr(11);break;case 18:m.enableInclusiveEndDates(),this.$=o[u].substr(18);break;case 19:m.TopAxis(),this.$=o[u].substr(8);break;case 20:m.setAxisFormat(o[u].substr(11)),this.$=o[u].substr(11);break;case 21:m.setTickInterval(o[u].substr(13)),this.$=o[u].substr(13);break;case 22:m.setExcludes(o[u].substr(9)),this.$=o[u].substr(9);break;case 23:m.setIncludes(o[u].substr(9)),this.$=o[u].substr(9);break;case 24:m.setTodayMarker(o[u].substr(12)),this.$=o[u].substr(12);break;case 27:m.setDiagramTitle(o[u].substr(6)),this.$=o[u].substr(6);break;case 28:this.$=o[u].trim(),m.setAccTitle(this.$);break;case 29:case 30:this.$=o[u].trim(),m.setAccDescription(this.$);break;case 31:m.addSection(o[u].substr(8)),this.$=o[u].substr(8);break;case 33:m.addTask(o[u-1],o[u]),this.$="task";break;case 34:this.$=o[u-1],m.setClickEvent(o[u-1],o[u],null);break;case 35:this.$=o[u-2],m.setClickEvent(o[u-2],o[u-1],o[u]);break;case 36:this.$=o[u-2],m.setClickEvent(o[u-2],o[u-1],null),m.setLink(o[u-2],o[u]);break;case 37:this.$=o[u-3],m.setClickEvent(o[u-3],o[u-2],o[u-1]),m.setLink(o[u-3],o[u]);break;case 38:this.$=o[u-2],m.setClickEvent(o[u-2],o[u],null),m.setLink(o[u-2],o[u-1]);break;case 39:this.$=o[u-3],m.setClickEvent(o[u-3],o[u-1],o[u]),m.setLink(o[u-3],o[u-2]);break;case 40:this.$=o[u-1],m.setLink(o[u-1],o[u]);break;case 41:case 47:this.$=o[u-1]+" "+o[u];break;case 42:case 43:case 45:this.$=o[u-2]+" "+o[u-1]+" "+o[u];break;case 44:case 46:this.$=o[u-3]+" "+o[u-2]+" "+o[u-1]+" "+o[u];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:F,19:18,20:S,21:w,22:V,23:_,24:Y,25:q,26:Z,27:v,28:U,29:z,30:E,31:R,33:G,35:T,36:k,37:24,38:p,40:L},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:F,19:18,20:S,21:w,22:V,23:_,24:Y,25:q,26:Z,27:v,28:U,29:z,30:E,31:R,33:G,35:T,36:k,37:24,38:p,40:L},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:d(function(c,g){if(g.recoverable)this.trace(c);else{var b=new Error(c);throw b.hash=g,b}},"parseError"),parse:d(function(c){var g=this,b=[0],m=[],I=[null],o=[],W=this.table,u="",K=0,l=0,$=2,O=1,j=o.slice.call(arguments,1),H=Object.create(this.lexer),J={yy:{}};for(var h in this.yy)Object.prototype.hasOwnProperty.call(this.yy,h)&&(J.yy[h]=this.yy[h]);H.setInput(c,J.yy),J.yy.lexer=H,J.yy.parser=this,typeof H.yylloc>"u"&&(H.yylloc={});var N=H.yylloc;o.push(N);var P=H.options&&H.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function f(ot){b.length=b.length-2*ot,I.length=I.length-ot,o.length=o.length-ot}d(f,"popStack");function tt(){var ot;return ot=m.pop()||H.lex()||O,typeof ot!="number"&&(ot instanceof Array&&(m=ot,ot=m.pop()),ot=g.symbols_[ot]||ot),ot}d(tt,"lex");for(var A,Q,X,st,at={},pt,ut,We,Zt;;){if(Q=b[b.length-1],this.defaultActions[Q]?X=this.defaultActions[Q]:((A===null||typeof A>"u")&&(A=tt()),X=W[Q]&&W[Q][A]),typeof X>"u"||!X.length||!X[0]){var se="";Zt=[];for(pt in W[Q])this.terminals_[pt]&&pt>$&&Zt.push("'"+this.terminals_[pt]+"'");H.showPosition?se="Parse error on line "+(K+1)+`: +import{V as An,aR as Wn,$ as $n,aU as On,W as Hn,aS as Nn,a as d,Y as Yt,B as Vn,L as it,at as Tt,x as Pn,aP as zn,s as Rn,ba as Bn}from"./mermaid.core-DS1qXbzQ.js";import{h as Ke,ac as Zn,E as tn,H as en,C as nn,a6 as ae,$ as Xn,q as re,N as ie,ad as Xt}from"../../app/index-B0ly_D9Z.js";import{b as qn,t as $e,c as Gn,a as jn,l as Qn}from"../../chunks/linear-CyFihCT8.js";import{i as Jn}from"../../chunks/init-Gi6I4Gst.js";import"../../chunks/defaultLocale-CrowFXzY.js";const Kn=Math.PI/180,tr=180/Math.PI,Jt=18,rn=.96422,sn=1,an=.82521,on=4/29,Ft=6/29,cn=3*Ft*Ft,er=Ft*Ft*Ft;function un(t){if(t instanceof ft)return new ft(t.l,t.a,t.b,t.opacity);if(t instanceof ht)return ln(t);t instanceof Ke||(t=Zn(t));var e=le(t.r),n=le(t.g),r=le(t.b),i=oe((.2225045*e+.7168786*n+.0606169*r)/sn),s,a;return e===n&&n===r?s=a=i:(s=oe((.4360747*e+.3850649*n+.1430804*r)/rn),a=oe((.0139322*e+.0971045*n+.7141733*r)/an)),new ft(116*i-16,500*(s-i),200*(i-a),t.opacity)}function nr(t,e,n,r){return arguments.length===1?un(t):new ft(t,e,n,r??1)}function ft(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}tn(ft,nr,en(nn,{brighter(t){return new ft(this.l+Jt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ft(this.l-Jt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=rn*ce(e),t=sn*ce(t),n=an*ce(n),new Ke(ue(3.1338561*e-1.6168667*t-.4906146*n),ue(-.9787684*e+1.9161415*t+.033454*n),ue(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function oe(t){return t>er?Math.pow(t,1/3):t/cn+on}function ce(t){return t>Ft?t*t*t:cn*(t-on)}function ue(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function le(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function rr(t){if(t instanceof ht)return new ht(t.h,t.c,t.l,t.opacity);if(t instanceof ft||(t=un(t)),t.a===0&&t.b===0)return new ht(NaN,0=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function or(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function cr(t){return t}var Gt=1,fe=2,ve=3,qt=4,Oe=1e-6;function ur(t){return"translate("+t+",0)"}function lr(t){return"translate(0,"+t+")"}function fr(t){return e=>+t(e)}function dr(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function hr(){return!this.__axis}function fn(t,e){var n=[],r=null,i=null,s=6,a=6,y=3,F=typeof window<"u"&&window.devicePixelRatio>1?0:.5,S=t===Gt||t===qt?-1:1,w=t===qt||t===fe?"x":"y",V=t===Gt||t===ve?ur:lr;function _(Y){var q=r??(e.ticks?e.ticks.apply(e,n):e.domain()),Z=i??(e.tickFormat?e.tickFormat.apply(e,n):cr),v=Math.max(s,0)+y,U=e.range(),z=+U[0]+F,E=+U[U.length-1]+F,R=(e.bandwidth?dr:fr)(e.copy(),F),G=Y.selection?Y.selection():Y,T=G.selectAll(".domain").data([null]),k=G.selectAll(".tick").data(q,e).order(),p=k.exit(),L=k.enter().append("g").attr("class","tick"),x=k.select("line"),C=k.select("text");T=T.merge(T.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(L),x=x.merge(L.append("line").attr("stroke","currentColor").attr(w+"2",S*s)),C=C.merge(L.append("text").attr("fill","currentColor").attr(w,S*v).attr("dy",t===Gt?"0em":t===ve?"0.71em":"0.32em")),Y!==G&&(T=T.transition(Y),k=k.transition(Y),x=x.transition(Y),C=C.transition(Y),p=p.transition(Y).attr("opacity",Oe).attr("transform",function(M){return isFinite(M=R(M))?V(M+F):this.getAttribute("transform")}),L.attr("opacity",Oe).attr("transform",function(M){var D=this.parentNode.__axis;return V((D&&isFinite(D=D(M))?D:R(M))+F)})),p.remove(),T.attr("d",t===qt||t===fe?a?"M"+S*a+","+z+"H"+F+"V"+E+"H"+S*a:"M"+F+","+z+"V"+E:a?"M"+z+","+S*a+"V"+F+"H"+E+"V"+S*a:"M"+z+","+F+"H"+E),k.attr("opacity",1).attr("transform",function(M){return V(R(M)+F)}),x.attr(w+"2",S*s),C.attr(w,S*v).text(Z),G.filter(hr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===fe?"start":t===qt?"end":"middle"),G.each(function(){this.__axis=R})}return _.scale=function(Y){return arguments.length?(e=Y,_):e},_.ticks=function(){return n=Array.from(arguments),_},_.tickArguments=function(Y){return arguments.length?(n=Y==null?[]:Array.from(Y),_):n.slice()},_.tickValues=function(Y){return arguments.length?(r=Y==null?null:Array.from(Y),_):r&&r.slice()},_.tickFormat=function(Y){return arguments.length?(i=Y,_):i},_.tickSize=function(Y){return arguments.length?(s=a=+Y,_):s},_.tickSizeInner=function(Y){return arguments.length?(s=+Y,_):s},_.tickSizeOuter=function(Y){return arguments.length?(a=+Y,_):a},_.tickPadding=function(Y){return arguments.length?(y=+Y,_):y},_.offset=function(Y){return arguments.length?(F=+Y,_):F},_}function mr(t){return fn(Gt,t)}function gr(t){return fn(ve,t)}function yr(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],s=t[r],a;return s(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const a=i(s),y=i.ceil(s);return s-a(e(s=new Date(+s),a==null?1:Math.floor(a)),s),i.range=(s,a,y)=>{const F=[];if(s=i.ceil(s),y=y==null?1:Math.floor(y),!(s0))return F;let S;do F.push(S=new Date(+s)),e(s,y),t(s);while(Snt(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,y)=>{if(a>=a)if(y<0)for(;++y<=0;)for(;e(a,-1),!s(a););else for(;--y>=0;)for(;e(a,1),!s(a););}),n&&(i.count=(s,a)=>(de.setTime(+s),he.setTime(+a),t(de),t(he),Math.floor(n(de,he))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?a=>r(a)%s===0:a=>i.count(0,a)%s===0):i)),i}const Et=nt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Et.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?nt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Et);Et.range;const mt=1e3,ct=mt*60,gt=ct*60,yt=gt*24,De=yt*7,He=yt*30,me=yt*365,vt=nt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getUTCSeconds());vt.range;const Nt=nt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getMinutes());Nt.range;const kr=nt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getUTCMinutes());kr.range;const Vt=nt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt-t.getMinutes()*ct)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getHours());Vt.range;const pr=nt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCHours());pr.range;const xt=nt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ct)/yt,t=>t.getDate()-1);xt.range;const Me=nt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>t.getUTCDate()-1);Me.range;const vr=nt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>Math.floor(t/yt));vr.range;function Dt(t){return nt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*ct)/De)}const Rt=Dt(0),Pt=Dt(1),dn=Dt(2),hn=Dt(3),bt=Dt(4),mn=Dt(5),gn=Dt(6);Rt.range;Pt.range;dn.range;hn.range;bt.range;mn.range;gn.range;function Mt(t){return nt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/De)}const yn=Mt(0),Kt=Mt(1),Tr=Mt(2),xr=Mt(3),It=Mt(4),br=Mt(5),wr=Mt(6);yn.range;Kt.range;Tr.range;xr.range;It.range;br.range;wr.range;const zt=nt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());zt.range;const Dr=nt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Dr.range;const kt=nt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());kt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:nt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});kt.range;const wt=nt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());wt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:nt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});wt.range;function Mr(t,e,n,r,i,s){const a=[[vt,1,mt],[vt,5,5*mt],[vt,15,15*mt],[vt,30,30*mt],[s,1,ct],[s,5,5*ct],[s,15,15*ct],[s,30,30*ct],[i,1,gt],[i,3,3*gt],[i,6,6*gt],[i,12,12*gt],[r,1,yt],[r,2,2*yt],[n,1,De],[e,1,He],[e,3,3*He],[t,1,me]];function y(S,w,V){const _=wv).right(a,_);if(Y===a.length)return t.every($e(S/me,w/me,V));if(Y===0)return Et.every(Math.max($e(S,w,V),1));const[q,Z]=a[_/a[Y-1][2]53)return null;"w"in f||(f.w=1),"Z"in f?(A=ye($t(f.y,0,1)),Q=A.getUTCDay(),A=Q>4||Q===0?Kt.ceil(A):Kt(A),A=Me.offset(A,(f.V-1)*7),f.y=A.getUTCFullYear(),f.m=A.getUTCMonth(),f.d=A.getUTCDate()+(f.w+6)%7):(A=ge($t(f.y,0,1)),Q=A.getDay(),A=Q>4||Q===0?Pt.ceil(A):Pt(A),A=xt.offset(A,(f.V-1)*7),f.y=A.getFullYear(),f.m=A.getMonth(),f.d=A.getDate()+(f.w+6)%7)}else("W"in f||"U"in f)&&("w"in f||(f.w="u"in f?f.u%7:"W"in f?1:0),Q="Z"in f?ye($t(f.y,0,1)).getUTCDay():ge($t(f.y,0,1)).getDay(),f.m=0,f.d="W"in f?(f.w+6)%7+f.W*7-(Q+5)%7:f.w+f.U*7-(Q+6)%7);return"Z"in f?(f.H+=f.Z/100|0,f.M+=f.Z%100,ye(f)):ge(f)}}function p(h,N,P,f){for(var tt=0,A=N.length,Q=P.length,X,st;tt=Q)return-1;if(X=N.charCodeAt(tt++),X===37){if(X=N.charAt(tt++),st=G[X in Ne?N.charAt(tt++):X],!st||(f=st(h,P,f))<0)return-1}else if(X!=P.charCodeAt(f++))return-1}return f}function L(h,N,P){var f=S.exec(N.slice(P));return f?(h.p=w.get(f[0].toLowerCase()),P+f[0].length):-1}function x(h,N,P){var f=Y.exec(N.slice(P));return f?(h.w=q.get(f[0].toLowerCase()),P+f[0].length):-1}function C(h,N,P){var f=V.exec(N.slice(P));return f?(h.w=_.get(f[0].toLowerCase()),P+f[0].length):-1}function M(h,N,P){var f=U.exec(N.slice(P));return f?(h.m=z.get(f[0].toLowerCase()),P+f[0].length):-1}function D(h,N,P){var f=Z.exec(N.slice(P));return f?(h.m=v.get(f[0].toLowerCase()),P+f[0].length):-1}function c(h,N,P){return p(h,e,N,P)}function g(h,N,P){return p(h,n,N,P)}function b(h,N,P){return p(h,r,N,P)}function m(h){return a[h.getDay()]}function I(h){return s[h.getDay()]}function o(h){return F[h.getMonth()]}function W(h){return y[h.getMonth()]}function u(h){return i[+(h.getHours()>=12)]}function K(h){return 1+~~(h.getMonth()/3)}function l(h){return a[h.getUTCDay()]}function $(h){return s[h.getUTCDay()]}function O(h){return F[h.getUTCMonth()]}function j(h){return y[h.getUTCMonth()]}function H(h){return i[+(h.getUTCHours()>=12)]}function J(h){return 1+~~(h.getUTCMonth()/3)}return{format:function(h){var N=T(h+="",E);return N.toString=function(){return h},N},parse:function(h){var N=k(h+="",!1);return N.toString=function(){return h},N},utcFormat:function(h){var N=T(h+="",R);return N.toString=function(){return h},N},utcParse:function(h){var N=k(h+="",!0);return N.toString=function(){return h},N}}}var Ne={"-":"",_:" ",0:"0"},rt=/^\s*\d+/,Yr=/^%/,Fr=/[\\^$*+?|[\]().{}]/g;function B(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function Er(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ir(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Lr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Ar(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Wr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ve(t,e,n){var r=rt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Pe(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function $r(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Or(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Hr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function ze(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Nr(t,e,n){var r=rt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Re(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Vr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Pr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function zr(t,e,n){var r=rt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Rr(t,e,n){var r=rt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Br(t,e,n){var r=Yr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Zr(t,e,n){var r=rt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Xr(t,e,n){var r=rt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Be(t,e){return B(t.getDate(),e,2)}function qr(t,e){return B(t.getHours(),e,2)}function Gr(t,e){return B(t.getHours()%12||12,e,2)}function jr(t,e){return B(1+xt.count(kt(t),t),e,3)}function kn(t,e){return B(t.getMilliseconds(),e,3)}function Qr(t,e){return kn(t,e)+"000"}function Jr(t,e){return B(t.getMonth()+1,e,2)}function Kr(t,e){return B(t.getMinutes(),e,2)}function ti(t,e){return B(t.getSeconds(),e,2)}function ei(t){var e=t.getDay();return e===0?7:e}function ni(t,e){return B(Rt.count(kt(t)-1,t),e,2)}function pn(t){var e=t.getDay();return e>=4||e===0?bt(t):bt.ceil(t)}function ri(t,e){return t=pn(t),B(bt.count(kt(t),t)+(kt(t).getDay()===4),e,2)}function ii(t){return t.getDay()}function si(t,e){return B(Pt.count(kt(t)-1,t),e,2)}function ai(t,e){return B(t.getFullYear()%100,e,2)}function oi(t,e){return t=pn(t),B(t.getFullYear()%100,e,2)}function ci(t,e){return B(t.getFullYear()%1e4,e,4)}function ui(t,e){var n=t.getDay();return t=n>=4||n===0?bt(t):bt.ceil(t),B(t.getFullYear()%1e4,e,4)}function li(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+B(e/60|0,"0",2)+B(e%60,"0",2)}function Ze(t,e){return B(t.getUTCDate(),e,2)}function fi(t,e){return B(t.getUTCHours(),e,2)}function di(t,e){return B(t.getUTCHours()%12||12,e,2)}function hi(t,e){return B(1+Me.count(wt(t),t),e,3)}function vn(t,e){return B(t.getUTCMilliseconds(),e,3)}function mi(t,e){return vn(t,e)+"000"}function gi(t,e){return B(t.getUTCMonth()+1,e,2)}function yi(t,e){return B(t.getUTCMinutes(),e,2)}function ki(t,e){return B(t.getUTCSeconds(),e,2)}function pi(t){var e=t.getUTCDay();return e===0?7:e}function vi(t,e){return B(yn.count(wt(t)-1,t),e,2)}function Tn(t){var e=t.getUTCDay();return e>=4||e===0?It(t):It.ceil(t)}function Ti(t,e){return t=Tn(t),B(It.count(wt(t),t)+(wt(t).getUTCDay()===4),e,2)}function xi(t){return t.getUTCDay()}function bi(t,e){return B(Kt.count(wt(t)-1,t),e,2)}function wi(t,e){return B(t.getUTCFullYear()%100,e,2)}function Di(t,e){return t=Tn(t),B(t.getUTCFullYear()%100,e,2)}function Mi(t,e){return B(t.getUTCFullYear()%1e4,e,4)}function Ci(t,e){var n=t.getUTCDay();return t=n>=4||n===0?It(t):It.ceil(t),B(t.getUTCFullYear()%1e4,e,4)}function Si(){return"+0000"}function Xe(){return"%"}function qe(t){return+t}function Ge(t){return Math.floor(+t/1e3)}var St,te;_i({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function _i(t){return St=_r(t),te=St.format,St.parse,St.utcFormat,St.utcParse,St}function Yi(t){return new Date(t)}function Fi(t){return t instanceof Date?+t:+new Date(+t)}function xn(t,e,n,r,i,s,a,y,F,S){var w=Gn(),V=w.invert,_=w.domain,Y=S(".%L"),q=S(":%S"),Z=S("%I:%M"),v=S("%I %p"),U=S("%a %d"),z=S("%b %d"),E=S("%B"),R=S("%Y");function G(T){return(F(T)4&&(Y+=7),_.add(Y,n));return q.diff(Z,"week")+1},y.isoWeekday=function(S){return this.$utils().u(S)?this.day()||7:this.day(this.day()%7?S:S-7)};var F=y.startOf;y.startOf=function(S,w){var V=this.$utils(),_=!!V.u(w)||w;return V.p(S)==="isoweek"?_?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):F.bind(this)(S,w)}}})})(bn);var Ei=bn.exports;const Ii=ie(Ei);var wn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(re,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,s=/\d\d/,a=/\d\d?/,y=/\d*[^-_:/,()\s\d]+/,F={},S=function(v){return(v=+v)+(v>68?1900:2e3)},w=function(v){return function(U){this[v]=+U}},V=[/[+-]\d\d:?(\d\d)?|Z/,function(v){(this.zone||(this.zone={})).offset=function(U){if(!U||U==="Z")return 0;var z=U.match(/([+-]|\d\d)/g),E=60*z[1]+(+z[2]||0);return E===0?0:z[0]==="+"?-E:E}(v)}],_=function(v){var U=F[v];return U&&(U.indexOf?U:U.s.concat(U.f))},Y=function(v,U){var z,E=F.meridiem;if(E){for(var R=1;R<=24;R+=1)if(v.indexOf(E(R,0,U))>-1){z=R>12;break}}else z=v===(U?"pm":"PM");return z},q={A:[y,function(v){this.afternoon=Y(v,!1)}],a:[y,function(v){this.afternoon=Y(v,!0)}],Q:[i,function(v){this.month=3*(v-1)+1}],S:[i,function(v){this.milliseconds=100*+v}],SS:[s,function(v){this.milliseconds=10*+v}],SSS:[/\d{3}/,function(v){this.milliseconds=+v}],s:[a,w("seconds")],ss:[a,w("seconds")],m:[a,w("minutes")],mm:[a,w("minutes")],H:[a,w("hours")],h:[a,w("hours")],HH:[a,w("hours")],hh:[a,w("hours")],D:[a,w("day")],DD:[s,w("day")],Do:[y,function(v){var U=F.ordinal,z=v.match(/\d+/);if(this.day=z[0],U)for(var E=1;E<=31;E+=1)U(E).replace(/\[|\]/g,"")===v&&(this.day=E)}],w:[a,w("week")],ww:[s,w("week")],M:[a,w("month")],MM:[s,w("month")],MMM:[y,function(v){var U=_("months"),z=(_("monthsShort")||U.map(function(E){return E.slice(0,3)})).indexOf(v)+1;if(z<1)throw new Error;this.month=z%12||z}],MMMM:[y,function(v){var U=_("months").indexOf(v)+1;if(U<1)throw new Error;this.month=U%12||U}],Y:[/[+-]?\d+/,w("year")],YY:[s,function(v){this.year=S(v)}],YYYY:[/\d{4}/,w("year")],Z:V,ZZ:V};function Z(v){var U,z;U=v,z=F&&F.formats;for(var E=(v=U.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(x,C,M){var D=M&&M.toUpperCase();return C||z[M]||n[M]||z[D].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(c,g,b){return g||b.slice(1)})})).match(r),R=E.length,G=0;G-1)return new Date((I==="X"?1e3:1)*m);var u=Z(I)(m),K=u.year,l=u.month,$=u.day,O=u.hours,j=u.minutes,H=u.seconds,J=u.milliseconds,h=u.zone,N=u.week,P=new Date,f=$||(K||l?1:P.getDate()),tt=K||P.getFullYear(),A=0;K&&!l||(A=l>0?l-1:P.getMonth());var Q,X=O||0,st=j||0,at=H||0,pt=J||0;return h?new Date(Date.UTC(tt,A,f,X,st,at,pt+60*h.offset*1e3)):o?new Date(Date.UTC(tt,A,f,X,st,at,pt)):(Q=new Date(tt,A,f,X,st,at,pt),N&&(Q=W(Q).week(N).toDate()),Q)}catch{return new Date("")}}(T,L,k,z),this.init(),D&&D!==!0&&(this.$L=this.locale(D).$L),M&&T!=this.format(L)&&(this.$d=new Date("")),F={}}else if(L instanceof Array)for(var c=L.length,g=1;g<=c;g+=1){p[1]=L[g-1];var b=z.apply(this,p);if(b.isValid()){this.$d=b.$d,this.$L=b.$L,this.init();break}g===c&&(this.$d=new Date(""))}else R.call(this,G)}}})})(wn);var Li=wn.exports;const Ai=ie(Li);var Dn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(re,function(){return function(n,r){var i=r.prototype,s=i.format;i.format=function(a){var y=this,F=this.$locale();if(!this.isValid())return s.bind(this)(a);var S=this.$utils(),w=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(V){switch(V){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return F.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return F.ordinal(y.week(),"W");case"w":case"ww":return S.s(y.week(),V==="w"?1:2,"0");case"W":case"WW":return S.s(y.isoWeek(),V==="W"?1:2,"0");case"k":case"kk":return S.s(String(y.$H===0?24:y.$H),V==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return V}});return s.bind(this)(w)}}})})(Dn);var Wi=Dn.exports;const $i=ie(Wi);var Mn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(re,function(){var n,r,i=1e3,s=6e4,a=36e5,y=864e5,F=31536e6,S=2628e6,w=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,V=/\[([^\]]+)]|YYYY|YY|Y|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS/g,_={years:F,months:S,days:y,hours:a,minutes:s,seconds:i,milliseconds:1,weeks:6048e5},Y=function(T){return T instanceof R},q=function(T,k,p){return new R(T,p,k.$l)},Z=function(T){return r.p(T)+"s"},v=function(T){return T<0},U=function(T){return v(T)?Math.ceil(T):Math.floor(T)},z=function(T){return Math.abs(T)},E=function(T,k){return T?v(T)?{negative:!0,format:""+z(T)+k}:{negative:!1,format:""+T+k}:{negative:!1,format:""}},R=function(){function T(p,L,x){var C=this;if(this.$d={},this.$l=x,p===void 0&&(this.$ms=0,this.parseFromMilliseconds()),L)return q(p*_[Z(L)],this);if(typeof p=="number")return this.$ms=p,this.parseFromMilliseconds(),this;if(typeof p=="object")return Object.keys(p).forEach(function(c){C.$d[Z(c)]=p[c]}),this.calMilliseconds(),this;if(typeof p=="string"){var M=p.match(w);if(M){var D=M.slice(2).map(function(c){return c!=null?Number(c):0});return this.$d.years=D[0],this.$d.months=D[1],this.$d.weeks=D[2],this.$d.days=D[3],this.$d.hours=D[4],this.$d.minutes=D[5],this.$d.seconds=D[6],this.calMilliseconds(),this}}return this}var k=T.prototype;return k.calMilliseconds=function(){var p=this;this.$ms=Object.keys(this.$d).reduce(function(L,x){return L+(p.$d[x]||0)*_[x]},0)},k.parseFromMilliseconds=function(){var p=this.$ms;this.$d.years=U(p/F),p%=F,this.$d.months=U(p/S),p%=S,this.$d.days=U(p/y),p%=y,this.$d.hours=U(p/a),p%=a,this.$d.minutes=U(p/s),p%=s,this.$d.seconds=U(p/i),p%=i,this.$d.milliseconds=p},k.toISOString=function(){var p=E(this.$d.years,"Y"),L=E(this.$d.months,"M"),x=+this.$d.days||0;this.$d.weeks&&(x+=7*this.$d.weeks);var C=E(x,"D"),M=E(this.$d.hours,"H"),D=E(this.$d.minutes,"M"),c=this.$d.seconds||0;this.$d.milliseconds&&(c+=this.$d.milliseconds/1e3,c=Math.round(1e3*c)/1e3);var g=E(c,"S"),b=p.negative||L.negative||C.negative||M.negative||D.negative||g.negative,m=M.format||D.format||g.format?"T":"",I=(b?"-":"")+"P"+p.format+L.format+C.format+m+M.format+D.format+g.format;return I==="P"||I==="-P"?"P0D":I},k.toJSON=function(){return this.toISOString()},k.format=function(p){var L=p||"YYYY-MM-DDTHH:mm:ss",x={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return L.replace(V,function(C,M){return M||String(x[C])})},k.as=function(p){return this.$ms/_[Z(p)]},k.get=function(p){var L=this.$ms,x=Z(p);return x==="milliseconds"?L%=1e3:L=x==="weeks"?U(L/_[x]):this.$d[x],L||0},k.add=function(p,L,x){var C;return C=L?p*_[Z(L)]:Y(p)?p.$ms:q(p,this).$ms,q(this.$ms+C*(x?-1:1),this)},k.subtract=function(p,L){return this.add(p,L,!0)},k.locale=function(p){var L=this.clone();return L.$l=p,L},k.clone=function(){return q(this.$ms,this)},k.humanize=function(p){return n().add(this.$ms,"ms").locale(this.$l).fromNow(!p)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},T}(),G=function(T,k,p){return T.add(k.years()*p,"y").add(k.months()*p,"M").add(k.days()*p,"d").add(k.hours()*p,"h").add(k.minutes()*p,"m").add(k.seconds()*p,"s").add(k.milliseconds()*p,"ms")};return function(T,k,p){n=p,r=p().$utils(),p.duration=function(C,M){var D=p.locale();return q(C,{$l:D},M)},p.isDuration=Y;var L=k.prototype.add,x=k.prototype.subtract;k.prototype.add=function(C,M){return Y(C)?G(this,C,1):L.bind(this)(C,M)},k.prototype.subtract=function(C,M){return Y(C)?G(this,C,-1):x.bind(this)(C,M)}}})})(Mn);var Oi=Mn.exports;const Hi=ie(Oi);var Te=function(){var t=d(function(D,c,g,b){for(g=g||{},b=D.length;b--;g[D[b]]=c);return g},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],n=[1,26],r=[1,27],i=[1,28],s=[1,29],a=[1,30],y=[1,31],F=[1,32],S=[1,33],w=[1,34],V=[1,9],_=[1,10],Y=[1,11],q=[1,12],Z=[1,13],v=[1,14],U=[1,15],z=[1,16],E=[1,19],R=[1,20],G=[1,21],T=[1,22],k=[1,23],p=[1,25],L=[1,35],x={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:d(function(c,g,b,m,I,o,W){var u=o.length-1;switch(I){case 1:return o[u-1];case 2:this.$=[];break;case 3:o[u-1].push(o[u]),this.$=o[u-1];break;case 4:case 5:this.$=o[u];break;case 6:case 7:this.$=[];break;case 8:m.setWeekday("monday");break;case 9:m.setWeekday("tuesday");break;case 10:m.setWeekday("wednesday");break;case 11:m.setWeekday("thursday");break;case 12:m.setWeekday("friday");break;case 13:m.setWeekday("saturday");break;case 14:m.setWeekday("sunday");break;case 15:m.setWeekend("friday");break;case 16:m.setWeekend("saturday");break;case 17:m.setDateFormat(o[u].substr(11)),this.$=o[u].substr(11);break;case 18:m.enableInclusiveEndDates(),this.$=o[u].substr(18);break;case 19:m.TopAxis(),this.$=o[u].substr(8);break;case 20:m.setAxisFormat(o[u].substr(11)),this.$=o[u].substr(11);break;case 21:m.setTickInterval(o[u].substr(13)),this.$=o[u].substr(13);break;case 22:m.setExcludes(o[u].substr(9)),this.$=o[u].substr(9);break;case 23:m.setIncludes(o[u].substr(9)),this.$=o[u].substr(9);break;case 24:m.setTodayMarker(o[u].substr(12)),this.$=o[u].substr(12);break;case 27:m.setDiagramTitle(o[u].substr(6)),this.$=o[u].substr(6);break;case 28:this.$=o[u].trim(),m.setAccTitle(this.$);break;case 29:case 30:this.$=o[u].trim(),m.setAccDescription(this.$);break;case 31:m.addSection(o[u].substr(8)),this.$=o[u].substr(8);break;case 33:m.addTask(o[u-1],o[u]),this.$="task";break;case 34:this.$=o[u-1],m.setClickEvent(o[u-1],o[u],null);break;case 35:this.$=o[u-2],m.setClickEvent(o[u-2],o[u-1],o[u]);break;case 36:this.$=o[u-2],m.setClickEvent(o[u-2],o[u-1],null),m.setLink(o[u-2],o[u]);break;case 37:this.$=o[u-3],m.setClickEvent(o[u-3],o[u-2],o[u-1]),m.setLink(o[u-3],o[u]);break;case 38:this.$=o[u-2],m.setClickEvent(o[u-2],o[u],null),m.setLink(o[u-2],o[u-1]);break;case 39:this.$=o[u-3],m.setClickEvent(o[u-3],o[u-1],o[u]),m.setLink(o[u-3],o[u-2]);break;case 40:this.$=o[u-1],m.setLink(o[u-1],o[u]);break;case 41:case 47:this.$=o[u-1]+" "+o[u];break;case 42:case 43:case 45:this.$=o[u-2]+" "+o[u-1]+" "+o[u];break;case 44:case 46:this.$=o[u-3]+" "+o[u-2]+" "+o[u-1]+" "+o[u];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:F,19:18,20:S,21:w,22:V,23:_,24:Y,25:q,26:Z,27:v,28:U,29:z,30:E,31:R,33:G,35:T,36:k,37:24,38:p,40:L},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:F,19:18,20:S,21:w,22:V,23:_,24:Y,25:q,26:Z,27:v,28:U,29:z,30:E,31:R,33:G,35:T,36:k,37:24,38:p,40:L},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:d(function(c,g){if(g.recoverable)this.trace(c);else{var b=new Error(c);throw b.hash=g,b}},"parseError"),parse:d(function(c){var g=this,b=[0],m=[],I=[null],o=[],W=this.table,u="",K=0,l=0,$=2,O=1,j=o.slice.call(arguments,1),H=Object.create(this.lexer),J={yy:{}};for(var h in this.yy)Object.prototype.hasOwnProperty.call(this.yy,h)&&(J.yy[h]=this.yy[h]);H.setInput(c,J.yy),J.yy.lexer=H,J.yy.parser=this,typeof H.yylloc>"u"&&(H.yylloc={});var N=H.yylloc;o.push(N);var P=H.options&&H.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function f(ot){b.length=b.length-2*ot,I.length=I.length-ot,o.length=o.length-ot}d(f,"popStack");function tt(){var ot;return ot=m.pop()||H.lex()||O,typeof ot!="number"&&(ot instanceof Array&&(m=ot,ot=m.pop()),ot=g.symbols_[ot]||ot),ot}d(tt,"lex");for(var A,Q,X,st,at={},pt,ut,We,Zt;;){if(Q=b[b.length-1],this.defaultActions[Q]?X=this.defaultActions[Q]:((A===null||typeof A>"u")&&(A=tt()),X=W[Q]&&W[Q][A]),typeof X>"u"||!X.length||!X[0]){var se="";Zt=[];for(pt in W[Q])this.terminals_[pt]&&pt>$&&Zt.push("'"+this.terminals_[pt]+"'");H.showPosition?se="Parse error on line "+(K+1)+`: `+H.showPosition()+` Expecting `+Zt.join(", ")+", got '"+(this.terminals_[A]||A)+"'":se="Parse error on line "+(K+1)+": Unexpected "+(A==O?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(se,{text:H.match,token:this.terminals_[A]||A,line:H.yylineno,loc:N,expected:Zt})}if(X[0]instanceof Array&&X.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Q+", token: "+A);switch(X[0]){case 1:b.push(A),I.push(H.yytext),o.push(H.yylloc),b.push(X[1]),A=null,l=H.yyleng,u=H.yytext,K=H.yylineno,N=H.yylloc;break;case 2:if(ut=this.productions_[X[1]][1],at.$=I[I.length-ut],at._$={first_line:o[o.length-(ut||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(ut||1)].first_column,last_column:o[o.length-1].last_column},P&&(at._$.range=[o[o.length-(ut||1)].range[0],o[o.length-1].range[1]]),st=this.performAction.apply(at,[u,l,K,J.yy,X[1],I,o].concat(j)),typeof st<"u")return st;ut&&(b=b.slice(0,-1*ut*2),I=I.slice(0,-1*ut),o=o.slice(0,-1*ut)),b.push(this.productions_[X[1]][0]),I.push(at.$),o.push(at._$),We=W[b[b.length-2]][b[b.length-1]],b.push(We);break;case 3:return!0}}return!0},"parse")},C=function(){var D={EOF:1,parseError:d(function(g,b){if(this.yy.parser)this.yy.parser.parseError(g,b);else throw new Error(g)},"parseError"),setInput:d(function(c,g){return this.yy=g||this.yy||{},this._input=c,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var c=this._input[0];this.yytext+=c,this.yyleng++,this.offset++,this.match+=c,this.matched+=c;var g=c.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),c},"input"),unput:d(function(c){var g=c.length,b=c.split(/(?:\r\n?|\n)/g);this._input=c+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var m=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),b.length-1&&(this.yylineno-=b.length-1);var I=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:b?(b.length===m.length?this.yylloc.first_column:0)+m[m.length-b.length].length-b[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[I[0],I[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(c){this.unput(this.match.slice(c))},"less"),pastInput:d(function(){var c=this.matched.substr(0,this.matched.length-this.match.length);return(c.length>20?"...":"")+c.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var c=this.match;return c.length<20&&(c+=this._input.substr(0,20-c.length)),(c.substr(0,20)+(c.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var c=this.pastInput(),g=new Array(c.length+1).join("-");return c+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-D8t8bnkE.js b/veadk/webui/assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-B8bvHNAY.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-D8t8bnkE.js rename to veadk/webui/assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-B8bvHNAY.js index a38c1751b..5b138dbb1 100644 --- a/veadk/webui/assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-D8t8bnkE.js +++ b/veadk/webui/assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-B8bvHNAY.js @@ -1,4 +1,4 @@ -import{I as he}from"./chunk-2Q5K7J3B-DQ_g_FOP.js";import{p as $e}from"./chunk-JWPE2WC7-B2zXTT0G.js";import{$ as fe,aU as ge,aR as ue,V as ye,W as xe,aS as me,a as $,X as Q,at as k,Y as z,ba as pe,aY as be,s as we,x as L,r as ke,O as ve,aI as Ee}from"./mermaid.core-CA8ypPul.js";import{p as Ce}from"./cynefin-OW5HDTMX-DZwYx8KA.js";import{ad as Be}from"../../app/index-BSfA7-Qp.js";var p={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Te=ve.gitGraph,D=$(()=>ke({...Te,...Q().gitGraph}),"getConfig"),i=new he(()=>{const e=D(),r=e.mainBranchName,t=e.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:t}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function K(){return Ee({length:7})}$(K,"getID");function ae(e,r){const t=Object.create(null);return e.reduce((o,s)=>{const d=r(s);return t[d]||(t[d]=!0,o.push(s)),o},[])}$(ae,"uniqBy");var Le=$(function(e){i.records.direction=e},"setDirection"),Me=$(function(e){k.debug("options str",e),e=e==null?void 0:e.trim(),e=e||"{}";try{i.records.options=JSON.parse(e)}catch(r){k.error("error while parsing gitGraph options",r.message)}},"setOptions"),Re=$(function(){return i.records.options},"getOptions"),Ie=$(function(e){let r=e.msg,t=e.id;const o=e.type;let s=e.tags;k.info("commit",r,t,o,s),k.debug("Entering commit:",r,t,o,s);const d=D();t=L.sanitizeText(t,d),r=L.sanitizeText(r,d),s=s==null?void 0:s.map(a=>L.sanitizeText(a,d));const n={id:t||i.records.seq+"-"+K(),message:r,seq:i.records.seq++,type:o??p.NORMAL,tags:s??[],parents:i.records.head==null?[]:[i.records.head.id],branch:i.records.currBranch};i.records.head=n,k.info("main branch",d.mainBranchName),i.records.commits.has(n.id)&&k.warn(`Commit ID ${n.id} already exists`),i.records.commits.set(n.id,n),i.records.branches.set(i.records.currBranch,n.id),k.debug("in pushCommit "+n.id)},"commit"),Oe=$(function(e){let r=e.name;const t=e.order;if(r=L.sanitizeText(r,D()),i.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);i.records.branches.set(r,i.records.head!=null?i.records.head.id:null),i.records.branchConfig.set(r,{name:r,order:t}),ne(r),k.debug("in createBranch")},"branch"),_e=$(e=>{let r=e.branch,t=e.id;const o=e.type,s=e.tags,d=D();r=L.sanitizeText(r,d),t&&(t=L.sanitizeText(t,d));const n=i.records.branches.get(i.records.currBranch),a=i.records.branches.get(r),l=n?i.records.commits.get(n):void 0,h=a?i.records.commits.get(a):void 0;if(l&&h&&l.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(i.records.currBranch===r){const c=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(l===void 0||!l){const c=new Error(`Incorrect usage of "merge". Current branch (${i.records.currBranch})has no commits`);throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},c}if(!i.records.branches.has(r)){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},c}if(h===void 0||!h){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},c}if(l===h){const c=new Error('Incorrect usage of "merge". Both branches have same head');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(t&&i.records.commits.has(t)){const c=new Error('Incorrect usage of "merge". Commit with id:'+t+" already exists, use different custom id");throw c.hash={text:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,token:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,expected:[`merge ${r} ${t}_UNIQUE ${o} ${s==null?void 0:s.join(" ")}`]},c}const g=a||"",f={id:t||`${i.records.seq}-${K()}`,message:`merged branch ${r} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,g],branch:i.records.currBranch,type:p.MERGE,customType:o,customId:!!t,tags:s??[]};i.records.head=f,i.records.commits.set(f.id,f),i.records.branches.set(i.records.currBranch,f.id),k.debug(i.records.branches),k.debug("in mergeBranch")},"merge"),Ge=$(function(e){let r=e.id,t=e.targetId,o=e.tags,s=e.parent;k.debug("Entering cherryPick:",r,t,o);const d=D();if(r=L.sanitizeText(r,d),t=L.sanitizeText(t,d),o=o==null?void 0:o.map(l=>L.sanitizeText(l,d)),s=L.sanitizeText(s,d),!r||!i.records.commits.has(r)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},l}const n=i.records.commits.get(r);if(n===void 0||!n)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(s&&!(Array.isArray(n.parents)&&n.parents.includes(s)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const a=n.branch;if(n.type===p.MERGE&&!s)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!t||!i.records.commits.has(t)){if(a===i.records.currBranch){const f=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const l=i.records.branches.get(i.records.currBranch);if(l===void 0||!l){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const h=i.records.commits.get(l);if(h===void 0||!h){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const g={id:i.records.seq+"-"+K(),message:`cherry-picked ${n==null?void 0:n.message} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,n.id],branch:i.records.currBranch,type:p.CHERRY_PICK,tags:o?o.filter(Boolean):[`cherry-pick:${n.id}${n.type===p.MERGE?`|parent:${s}`:""}`]};i.records.head=g,i.records.commits.set(g.id,g),i.records.branches.set(i.records.currBranch,g.id),k.debug(i.records.branches),k.debug("in cherryPick")}},"cherryPick"),ne=$(function(e){if(e=L.sanitizeText(e,D()),i.records.branches.has(e)){i.records.currBranch=e;const r=i.records.branches.get(i.records.currBranch);r===void 0||!r?i.records.head=null:i.records.head=i.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}},"checkout");function X(e,r,t){const o=e.indexOf(r);o===-1?e.push(t):e.splice(o,1,t)}$(X,"upsert");function Z(e){const r=e.reduce((s,d)=>s.seq>d.seq?s:d,e[0]);let t="";e.forEach(function(s){s===r?t+=" *":t+=" |"});const o=[t,r.id,r.seq];for(const s in i.records.branches)i.records.branches.get(s)===r.id&&o.push(s);if(k.debug(o.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const s=i.records.commits.get(r.parents[0]);X(e,r,s),r.parents[1]&&e.push(i.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const s=i.records.commits.get(r.parents[0]);X(e,r,s)}}e=ae(e,s=>s.id),Z(e)}$(Z,"prettyPrintCommitHistory");var He=$(function(){k.debug(i.records.commits);const e=se()[0];Z([e])},"prettyPrint"),Se=$(function(){i.reset(),we()},"clear"),Ae=$(function(){return[...i.records.branchConfig.values()].map((r,t)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${t}`)}).sort((r,t)=>(r.order??0)-(t.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),De=$(function(){return i.records.branches},"getBranches"),We=$(function(){return i.records.commits},"getCommits"),se=$(function(){const e=[...i.records.commits.values()];return e.forEach(function(r){k.debug(r.id)}),e.sort((r,t)=>r.seq-t.seq),e},"getCommitsArray"),Pe=$(function(){return i.records.currBranch},"getCurrentBranch"),qe=$(function(){return i.records.direction},"getDirection"),Ne=$(function(){return i.records.head},"getHead"),oe={commitType:p,getConfig:D,setDirection:Le,setOptions:Me,getOptions:Re,commit:Ie,branch:Oe,merge:_e,cherryPick:Ge,checkout:ne,prettyPrint:He,clear:Se,getBranchesAsObjArray:Ae,getBranches:De,getCommits:We,getCommitsArray:se,getCurrentBranch:Pe,getDirection:qe,getHead:Ne,setAccTitle:me,getAccTitle:xe,getAccDescription:ye,setAccDescription:ue,setDiagramTitle:ge,getDiagramTitle:fe},Fe=$((e,r)=>{$e(e,r),e.dir&&r.setDirection(e.dir);for(const t of e.statements)ze(t,r)},"populate"),ze=$((e,r)=>{const o={Commit:$(s=>r.commit(Ye(s)),"Commit"),Branch:$(s=>r.branch(je(s)),"Branch"),Merge:$(s=>r.merge(Ue(s)),"Merge"),Checkout:$(s=>r.checkout(Ke(s)),"Checkout"),CherryPicking:$(s=>r.cherryPick(Ve(s)),"CherryPicking")}[e.$type];o?o(e):k.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),Ye=$(e=>({id:e.id,msg:e.message??"",type:e.type!==void 0?p[e.type]:p.NORMAL,tags:e.tags??void 0}),"parseCommit"),je=$(e=>({name:e.name,order:e.order??0}),"parseBranch"),Ue=$(e=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?p[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ke=$(e=>e.branch,"parseCheckout"),Ve=$(e=>{var t;return{id:e.id,targetId:"",tags:((t=e.tags)==null?void 0:t.length)===0?void 0:e.tags,parent:e.parent}},"parseCherryPicking"),Xe={parse:$(async e=>{const r=await Ce("gitGraph",e);k.debug(r),Fe(r,oe)},"parse")},G=10,H=40,M=4,I=2,S=8,V=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),J=12,ee=new Set(["redux-color","redux-dark-color"]),Je=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),A=$((e,r,t=!1)=>t&&e>0?(e-1)%(r-1)+1:e%r,"calcColorIndex"),B=new Map,T=new Map,j=30,N=new Map,U=[],O=0,y="LR",Qe=$(()=>{B.clear(),T.clear(),N.clear(),O=0,U=[],y="LR"},"clear"),ce=$(e=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e=="string"?e.split(/\\n|\n|/gi):e).forEach(o=>{const s=document.createElementNS("http://www.w3.org/2000/svg","tspan");s.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),s.setAttribute("dy","1em"),s.setAttribute("x","0"),s.setAttribute("class","row"),s.textContent=o.trim(),r.appendChild(s)}),r},"drawText"),ie=$(e=>{let r,t,o;return y==="BT"?(t=$((s,d)=>s<=d,"comparisonFunc"),o=1/0):(t=$((s,d)=>s>=d,"comparisonFunc"),o=0),e.forEach(s=>{var n,a;const d=y==="TB"||y=="BT"?(n=T.get(s))==null?void 0:n.y:(a=T.get(s))==null?void 0:a.x;d!==void 0&&t(d,o)&&(r=s,o=d)}),r},"findClosestParent"),Ze=$(e=>{let r="",t=1/0;return e.forEach(o=>{const s=T.get(o).y;s<=t&&(r=o,t=s)}),r||void 0},"findClosestParentBT"),er=$((e,r,t)=>{let o=t,s=t;const d=[];e.forEach(n=>{const a=r.get(n);if(!a)throw new Error(`Commit not found for key ${n}`);a.parents.length?(o=tr(a),s=Math.max(o,s)):d.push(a),ar(a,o)}),o=s,d.forEach(n=>{nr(n,o,t)}),e.forEach(n=>{const a=r.get(n);if(a!=null&&a.parents.length){const l=Ze(a.parents);o=T.get(l).y-H,o<=s&&(s=o);const h=B.get(a.branch).pos,g=o-G;T.set(a.id,{x:h,y:g})}})},"setParallelBTPos"),rr=$(e=>{var o;const r=ie(e.parents.filter(s=>s!==null));if(!r)throw new Error(`Closest parent not found for commit ${e.id}`);const t=(o=T.get(r))==null?void 0:o.y;if(t===void 0)throw new Error(`Closest parent position not found for commit ${e.id}`);return t},"findClosestParentPos"),tr=$(e=>rr(e)+H,"calculateCommitPosition"),ar=$((e,r)=>{const t=B.get(e.branch);if(!t)throw new Error(`Branch not found for commit ${e.id}`);const o=t.pos,s=r+G;return T.set(e.id,{x:o,y:s}),{x:o,y:s}},"setCommitPosition"),nr=$((e,r,t)=>{const o=B.get(e.branch);if(!o)throw new Error(`Branch not found for commit ${e.id}`);const s=r+t,d=o.pos;T.set(e.id,{x:d,y:s})},"setRootPosition"),sr=$((e,r,t,o,s,d)=>{const{theme:n}=z(),a=V.has(n??""),l=ee.has(n??""),h=Je.has(n??"");if(d===p.HIGHLIGHT)e.append("rect").attr("x",t.x-10+(a?3:0)).attr("y",t.y-10+(a?3:0)).attr("width",a?14:20).attr("height",a?14:20).attr("class",`commit ${r.id} commit-highlight${A(s,S,l)} ${o}-outer`),e.append("rect").attr("x",t.x-6+(a?2:0)).attr("y",t.y-6+(a?2:0)).attr("width",a?8:12).attr("height",a?8:12).attr("class",`commit ${r.id} commit${A(s,S,l)} ${o}-inner`);else if(d===p.CHERRY_PICK)e.append("circle").attr("cx",t.x).attr("cy",t.y).attr("r",a?7:10).attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x-3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x+3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x+3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x-3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`);else{const g=e.append("circle");if(g.attr("cx",t.x),g.attr("cy",t.y),g.attr("r",a?7:10),g.attr("class",`commit ${r.id} commit${A(s,S,l)}`),d===p.MERGE){const f=e.append("circle");f.attr("cx",t.x),f.attr("cy",t.y),f.attr("r",a?5:6),f.attr("class",`commit ${o} ${r.id} commit${A(s,S,l)}`)}if(d===p.REVERSE){const f=e.append("path"),c=a?4:5;f.attr("d",`M ${t.x-c},${t.y-c}L${t.x+c},${t.y+c}M${t.x-c},${t.y+c}L${t.x+c},${t.y-c}`).attr("class",`commit ${o} ${r.id} commit${A(s,S,l)}`)}}},"drawCommitBullet"),or=$((e,r,t,o,s)=>{var d;if(r.type!==p.CHERRY_PICK&&(r.customId&&r.type===p.MERGE||r.type!==p.MERGE)&&s.showCommitLabel){const n=e.append("g"),a=n.insert("rect").attr("class","commit-label-bkg"),l=n.append("text").attr("x",o).attr("y",t.y+25).attr("class","commit-label").text(r.id),h=(d=l.node())==null?void 0:d.getBBox();if(h&&(a.attr("x",t.posWithOffset-h.width/2-I).attr("y",t.y+13.5).attr("width",h.width+2*I).attr("height",h.height+2*I),y==="TB"||y==="BT"?(a.attr("x",t.x-(h.width+4*M+5)).attr("y",t.y-12),l.attr("x",t.x-(h.width+4*M)).attr("y",t.y+h.height-12)):l.attr("x",t.posWithOffset-h.width/2),s.rotateCommitLabel))if(y==="TB"||y==="BT")l.attr("transform","rotate(-45, "+t.x+", "+t.y+")"),a.attr("transform","rotate(-45, "+t.x+", "+t.y+")");else{const g=-7.5-(h.width+10)/25*9.5,f=10+h.width/25*8.5;n.attr("transform","translate("+g+", "+f+") rotate(-45, "+o+", "+t.y+")")}}},"drawCommitLabel"),cr=$((e,r,t,o)=>{var s;if(r.tags.length>0){let d=0,n=0,a=0;const l=[];for(const h of r.tags.reverse()){const g=e.insert("polygon"),f=e.append("circle"),c=e.append("text").attr("y",t.y-16-d).attr("class","tag-label").text(h),x=(s=c.node())==null?void 0:s.getBBox();if(!x)throw new Error("Tag bbox not found");n=Math.max(n,x.width),a=Math.max(a,x.height),c.attr("x",t.posWithOffset-x.width/2),l.push({tag:c,hole:f,rect:g,yOffset:d}),d+=20}for(const{tag:h,hole:g,rect:f,yOffset:c}of l){const x=a/2,u=t.y-19.2-c;if(f.attr("class","tag-label-bkg").attr("points",` +import{I as he}from"./chunk-2Q5K7J3B-CrYepzYZ.js";import{p as $e}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{$ as fe,aU as ge,aR as ue,V as ye,W as xe,aS as me,a as $,X as Q,at as k,Y as z,ba as pe,aY as be,s as we,x as L,r as ke,O as ve,aI as Ee}from"./mermaid.core-DS1qXbzQ.js";import{p as Ce}from"./cynefin-OW5HDTMX-CJh-KUCL.js";import{ad as Be}from"../../app/index-B0ly_D9Z.js";var p={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Te=ve.gitGraph,D=$(()=>ke({...Te,...Q().gitGraph}),"getConfig"),i=new he(()=>{const e=D(),r=e.mainBranchName,t=e.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:t}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function K(){return Ee({length:7})}$(K,"getID");function ae(e,r){const t=Object.create(null);return e.reduce((o,s)=>{const d=r(s);return t[d]||(t[d]=!0,o.push(s)),o},[])}$(ae,"uniqBy");var Le=$(function(e){i.records.direction=e},"setDirection"),Me=$(function(e){k.debug("options str",e),e=e==null?void 0:e.trim(),e=e||"{}";try{i.records.options=JSON.parse(e)}catch(r){k.error("error while parsing gitGraph options",r.message)}},"setOptions"),Re=$(function(){return i.records.options},"getOptions"),Ie=$(function(e){let r=e.msg,t=e.id;const o=e.type;let s=e.tags;k.info("commit",r,t,o,s),k.debug("Entering commit:",r,t,o,s);const d=D();t=L.sanitizeText(t,d),r=L.sanitizeText(r,d),s=s==null?void 0:s.map(a=>L.sanitizeText(a,d));const n={id:t||i.records.seq+"-"+K(),message:r,seq:i.records.seq++,type:o??p.NORMAL,tags:s??[],parents:i.records.head==null?[]:[i.records.head.id],branch:i.records.currBranch};i.records.head=n,k.info("main branch",d.mainBranchName),i.records.commits.has(n.id)&&k.warn(`Commit ID ${n.id} already exists`),i.records.commits.set(n.id,n),i.records.branches.set(i.records.currBranch,n.id),k.debug("in pushCommit "+n.id)},"commit"),Oe=$(function(e){let r=e.name;const t=e.order;if(r=L.sanitizeText(r,D()),i.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);i.records.branches.set(r,i.records.head!=null?i.records.head.id:null),i.records.branchConfig.set(r,{name:r,order:t}),ne(r),k.debug("in createBranch")},"branch"),_e=$(e=>{let r=e.branch,t=e.id;const o=e.type,s=e.tags,d=D();r=L.sanitizeText(r,d),t&&(t=L.sanitizeText(t,d));const n=i.records.branches.get(i.records.currBranch),a=i.records.branches.get(r),l=n?i.records.commits.get(n):void 0,h=a?i.records.commits.get(a):void 0;if(l&&h&&l.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(i.records.currBranch===r){const c=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(l===void 0||!l){const c=new Error(`Incorrect usage of "merge". Current branch (${i.records.currBranch})has no commits`);throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},c}if(!i.records.branches.has(r)){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},c}if(h===void 0||!h){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},c}if(l===h){const c=new Error('Incorrect usage of "merge". Both branches have same head');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(t&&i.records.commits.has(t)){const c=new Error('Incorrect usage of "merge". Commit with id:'+t+" already exists, use different custom id");throw c.hash={text:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,token:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,expected:[`merge ${r} ${t}_UNIQUE ${o} ${s==null?void 0:s.join(" ")}`]},c}const g=a||"",f={id:t||`${i.records.seq}-${K()}`,message:`merged branch ${r} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,g],branch:i.records.currBranch,type:p.MERGE,customType:o,customId:!!t,tags:s??[]};i.records.head=f,i.records.commits.set(f.id,f),i.records.branches.set(i.records.currBranch,f.id),k.debug(i.records.branches),k.debug("in mergeBranch")},"merge"),Ge=$(function(e){let r=e.id,t=e.targetId,o=e.tags,s=e.parent;k.debug("Entering cherryPick:",r,t,o);const d=D();if(r=L.sanitizeText(r,d),t=L.sanitizeText(t,d),o=o==null?void 0:o.map(l=>L.sanitizeText(l,d)),s=L.sanitizeText(s,d),!r||!i.records.commits.has(r)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},l}const n=i.records.commits.get(r);if(n===void 0||!n)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(s&&!(Array.isArray(n.parents)&&n.parents.includes(s)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const a=n.branch;if(n.type===p.MERGE&&!s)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!t||!i.records.commits.has(t)){if(a===i.records.currBranch){const f=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const l=i.records.branches.get(i.records.currBranch);if(l===void 0||!l){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const h=i.records.commits.get(l);if(h===void 0||!h){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const g={id:i.records.seq+"-"+K(),message:`cherry-picked ${n==null?void 0:n.message} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,n.id],branch:i.records.currBranch,type:p.CHERRY_PICK,tags:o?o.filter(Boolean):[`cherry-pick:${n.id}${n.type===p.MERGE?`|parent:${s}`:""}`]};i.records.head=g,i.records.commits.set(g.id,g),i.records.branches.set(i.records.currBranch,g.id),k.debug(i.records.branches),k.debug("in cherryPick")}},"cherryPick"),ne=$(function(e){if(e=L.sanitizeText(e,D()),i.records.branches.has(e)){i.records.currBranch=e;const r=i.records.branches.get(i.records.currBranch);r===void 0||!r?i.records.head=null:i.records.head=i.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}},"checkout");function X(e,r,t){const o=e.indexOf(r);o===-1?e.push(t):e.splice(o,1,t)}$(X,"upsert");function Z(e){const r=e.reduce((s,d)=>s.seq>d.seq?s:d,e[0]);let t="";e.forEach(function(s){s===r?t+=" *":t+=" |"});const o=[t,r.id,r.seq];for(const s in i.records.branches)i.records.branches.get(s)===r.id&&o.push(s);if(k.debug(o.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const s=i.records.commits.get(r.parents[0]);X(e,r,s),r.parents[1]&&e.push(i.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const s=i.records.commits.get(r.parents[0]);X(e,r,s)}}e=ae(e,s=>s.id),Z(e)}$(Z,"prettyPrintCommitHistory");var He=$(function(){k.debug(i.records.commits);const e=se()[0];Z([e])},"prettyPrint"),Se=$(function(){i.reset(),we()},"clear"),Ae=$(function(){return[...i.records.branchConfig.values()].map((r,t)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${t}`)}).sort((r,t)=>(r.order??0)-(t.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),De=$(function(){return i.records.branches},"getBranches"),We=$(function(){return i.records.commits},"getCommits"),se=$(function(){const e=[...i.records.commits.values()];return e.forEach(function(r){k.debug(r.id)}),e.sort((r,t)=>r.seq-t.seq),e},"getCommitsArray"),Pe=$(function(){return i.records.currBranch},"getCurrentBranch"),qe=$(function(){return i.records.direction},"getDirection"),Ne=$(function(){return i.records.head},"getHead"),oe={commitType:p,getConfig:D,setDirection:Le,setOptions:Me,getOptions:Re,commit:Ie,branch:Oe,merge:_e,cherryPick:Ge,checkout:ne,prettyPrint:He,clear:Se,getBranchesAsObjArray:Ae,getBranches:De,getCommits:We,getCommitsArray:se,getCurrentBranch:Pe,getDirection:qe,getHead:Ne,setAccTitle:me,getAccTitle:xe,getAccDescription:ye,setAccDescription:ue,setDiagramTitle:ge,getDiagramTitle:fe},Fe=$((e,r)=>{$e(e,r),e.dir&&r.setDirection(e.dir);for(const t of e.statements)ze(t,r)},"populate"),ze=$((e,r)=>{const o={Commit:$(s=>r.commit(Ye(s)),"Commit"),Branch:$(s=>r.branch(je(s)),"Branch"),Merge:$(s=>r.merge(Ue(s)),"Merge"),Checkout:$(s=>r.checkout(Ke(s)),"Checkout"),CherryPicking:$(s=>r.cherryPick(Ve(s)),"CherryPicking")}[e.$type];o?o(e):k.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),Ye=$(e=>({id:e.id,msg:e.message??"",type:e.type!==void 0?p[e.type]:p.NORMAL,tags:e.tags??void 0}),"parseCommit"),je=$(e=>({name:e.name,order:e.order??0}),"parseBranch"),Ue=$(e=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?p[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ke=$(e=>e.branch,"parseCheckout"),Ve=$(e=>{var t;return{id:e.id,targetId:"",tags:((t=e.tags)==null?void 0:t.length)===0?void 0:e.tags,parent:e.parent}},"parseCherryPicking"),Xe={parse:$(async e=>{const r=await Ce("gitGraph",e);k.debug(r),Fe(r,oe)},"parse")},G=10,H=40,M=4,I=2,S=8,V=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),J=12,ee=new Set(["redux-color","redux-dark-color"]),Je=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),A=$((e,r,t=!1)=>t&&e>0?(e-1)%(r-1)+1:e%r,"calcColorIndex"),B=new Map,T=new Map,j=30,N=new Map,U=[],O=0,y="LR",Qe=$(()=>{B.clear(),T.clear(),N.clear(),O=0,U=[],y="LR"},"clear"),ce=$(e=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e=="string"?e.split(/\\n|\n|/gi):e).forEach(o=>{const s=document.createElementNS("http://www.w3.org/2000/svg","tspan");s.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),s.setAttribute("dy","1em"),s.setAttribute("x","0"),s.setAttribute("class","row"),s.textContent=o.trim(),r.appendChild(s)}),r},"drawText"),ie=$(e=>{let r,t,o;return y==="BT"?(t=$((s,d)=>s<=d,"comparisonFunc"),o=1/0):(t=$((s,d)=>s>=d,"comparisonFunc"),o=0),e.forEach(s=>{var n,a;const d=y==="TB"||y=="BT"?(n=T.get(s))==null?void 0:n.y:(a=T.get(s))==null?void 0:a.x;d!==void 0&&t(d,o)&&(r=s,o=d)}),r},"findClosestParent"),Ze=$(e=>{let r="",t=1/0;return e.forEach(o=>{const s=T.get(o).y;s<=t&&(r=o,t=s)}),r||void 0},"findClosestParentBT"),er=$((e,r,t)=>{let o=t,s=t;const d=[];e.forEach(n=>{const a=r.get(n);if(!a)throw new Error(`Commit not found for key ${n}`);a.parents.length?(o=tr(a),s=Math.max(o,s)):d.push(a),ar(a,o)}),o=s,d.forEach(n=>{nr(n,o,t)}),e.forEach(n=>{const a=r.get(n);if(a!=null&&a.parents.length){const l=Ze(a.parents);o=T.get(l).y-H,o<=s&&(s=o);const h=B.get(a.branch).pos,g=o-G;T.set(a.id,{x:h,y:g})}})},"setParallelBTPos"),rr=$(e=>{var o;const r=ie(e.parents.filter(s=>s!==null));if(!r)throw new Error(`Closest parent not found for commit ${e.id}`);const t=(o=T.get(r))==null?void 0:o.y;if(t===void 0)throw new Error(`Closest parent position not found for commit ${e.id}`);return t},"findClosestParentPos"),tr=$(e=>rr(e)+H,"calculateCommitPosition"),ar=$((e,r)=>{const t=B.get(e.branch);if(!t)throw new Error(`Branch not found for commit ${e.id}`);const o=t.pos,s=r+G;return T.set(e.id,{x:o,y:s}),{x:o,y:s}},"setCommitPosition"),nr=$((e,r,t)=>{const o=B.get(e.branch);if(!o)throw new Error(`Branch not found for commit ${e.id}`);const s=r+t,d=o.pos;T.set(e.id,{x:d,y:s})},"setRootPosition"),sr=$((e,r,t,o,s,d)=>{const{theme:n}=z(),a=V.has(n??""),l=ee.has(n??""),h=Je.has(n??"");if(d===p.HIGHLIGHT)e.append("rect").attr("x",t.x-10+(a?3:0)).attr("y",t.y-10+(a?3:0)).attr("width",a?14:20).attr("height",a?14:20).attr("class",`commit ${r.id} commit-highlight${A(s,S,l)} ${o}-outer`),e.append("rect").attr("x",t.x-6+(a?2:0)).attr("y",t.y-6+(a?2:0)).attr("width",a?8:12).attr("height",a?8:12).attr("class",`commit ${r.id} commit${A(s,S,l)} ${o}-inner`);else if(d===p.CHERRY_PICK)e.append("circle").attr("cx",t.x).attr("cy",t.y).attr("r",a?7:10).attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x-3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x+3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x+3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x-3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`);else{const g=e.append("circle");if(g.attr("cx",t.x),g.attr("cy",t.y),g.attr("r",a?7:10),g.attr("class",`commit ${r.id} commit${A(s,S,l)}`),d===p.MERGE){const f=e.append("circle");f.attr("cx",t.x),f.attr("cy",t.y),f.attr("r",a?5:6),f.attr("class",`commit ${o} ${r.id} commit${A(s,S,l)}`)}if(d===p.REVERSE){const f=e.append("path"),c=a?4:5;f.attr("d",`M ${t.x-c},${t.y-c}L${t.x+c},${t.y+c}M${t.x-c},${t.y+c}L${t.x+c},${t.y-c}`).attr("class",`commit ${o} ${r.id} commit${A(s,S,l)}`)}}},"drawCommitBullet"),or=$((e,r,t,o,s)=>{var d;if(r.type!==p.CHERRY_PICK&&(r.customId&&r.type===p.MERGE||r.type!==p.MERGE)&&s.showCommitLabel){const n=e.append("g"),a=n.insert("rect").attr("class","commit-label-bkg"),l=n.append("text").attr("x",o).attr("y",t.y+25).attr("class","commit-label").text(r.id),h=(d=l.node())==null?void 0:d.getBBox();if(h&&(a.attr("x",t.posWithOffset-h.width/2-I).attr("y",t.y+13.5).attr("width",h.width+2*I).attr("height",h.height+2*I),y==="TB"||y==="BT"?(a.attr("x",t.x-(h.width+4*M+5)).attr("y",t.y-12),l.attr("x",t.x-(h.width+4*M)).attr("y",t.y+h.height-12)):l.attr("x",t.posWithOffset-h.width/2),s.rotateCommitLabel))if(y==="TB"||y==="BT")l.attr("transform","rotate(-45, "+t.x+", "+t.y+")"),a.attr("transform","rotate(-45, "+t.x+", "+t.y+")");else{const g=-7.5-(h.width+10)/25*9.5,f=10+h.width/25*8.5;n.attr("transform","translate("+g+", "+f+") rotate(-45, "+o+", "+t.y+")")}}},"drawCommitLabel"),cr=$((e,r,t,o)=>{var s;if(r.tags.length>0){let d=0,n=0,a=0;const l=[];for(const h of r.tags.reverse()){const g=e.insert("polygon"),f=e.append("circle"),c=e.append("text").attr("y",t.y-16-d).attr("class","tag-label").text(h),x=(s=c.node())==null?void 0:s.getBBox();if(!x)throw new Error("Tag bbox not found");n=Math.max(n,x.width),a=Math.max(a,x.height),c.attr("x",t.posWithOffset-x.width/2),l.push({tag:c,hole:f,rect:g,yOffset:d}),d+=20}for(const{tag:h,hole:g,rect:f,yOffset:c}of l){const x=a/2,u=t.y-19.2-c;if(f.attr("class","tag-label-bkg").attr("points",` ${o-n/2-M/2},${u+I} ${o-n/2-M/2},${u-I} ${t.posWithOffset-n/2-M},${u-x-I} diff --git a/veadk/webui/assets/visualizations/mermaid/infoDiagram-6WML65LV-BoMq5yxg.js b/veadk/webui/assets/visualizations/mermaid/infoDiagram-6WML65LV-Ch8He-nG.js similarity index 67% rename from veadk/webui/assets/visualizations/mermaid/infoDiagram-6WML65LV-BoMq5yxg.js rename to veadk/webui/assets/visualizations/mermaid/infoDiagram-6WML65LV-Ch8He-nG.js index 0bb4fefa4..6f20f74ed 100644 --- a/veadk/webui/assets/visualizations/mermaid/infoDiagram-6WML65LV-BoMq5yxg.js +++ b/veadk/webui/assets/visualizations/mermaid/infoDiagram-6WML65LV-Ch8He-nG.js @@ -1,2 +1,2 @@ -import{a as e,at as s,aQ as o,B as i}from"./mermaid.core-CA8ypPul.js";import{p as g}from"./cynefin-OW5HDTMX-DZwYx8KA.js";import"../../app/index-BSfA7-Qp.js";var p={parse:e(async r=>{const a=await g("info",r);s.debug(a)},"parse")},v={version:"11.16.1"},d=e(()=>v.version,"getVersion"),m={getVersion:d},c=e((r,a,n)=>{s.debug(`rendering info diagram +import{a as e,at as s,aQ as o,B as i}from"./mermaid.core-DS1qXbzQ.js";import{p as g}from"./cynefin-OW5HDTMX-CJh-KUCL.js";import"../../app/index-B0ly_D9Z.js";var p={parse:e(async r=>{const a=await g("info",r);s.debug(a)},"parse")},v={version:"11.16.1"},d=e(()=>v.version,"getVersion"),m={getVersion:d},c=e((r,a,n)=>{s.debug(`rendering info diagram `+r);const t=o(a);i(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${n}`)},"draw"),f={draw:c},b={parser:p,db:m,renderer:f};export{b as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-CdfT-yF9.js b/veadk/webui/assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-BxqmMV-f.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-CdfT-yF9.js rename to veadk/webui/assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-BxqmMV-f.js index add32bab7..8846fbd55 100644 --- a/veadk/webui/assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-CdfT-yF9.js +++ b/veadk/webui/assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-BxqmMV-f.js @@ -1,4 +1,4 @@ -import{a as o,Y as ot,aC as ut,aQ as dt,k as yt,s as ft,x as pt,aU as it,W as gt,aS as kt,V as mt,aR as wt,$ as _t,B as xt}from"./mermaid.core-CA8ypPul.js";import"../../app/index-BSfA7-Qp.js";var tt=function(){var e=o(function(M,t,s,i){for(s=s||{},i=M.length;i--;s[M[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],f=[1,20],d=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],b=[1,6,7,11,13,14],N={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,u,p,n,v){var w=n.length-1;switch(p){case 6:case 7:return u;case 15:u.addNode(n[w-1].length,n[w].trim());break;case 16:u.addNode(0,n[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:f,7:d,10:17,11:m},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:f,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(b,[2,8]),e(b,[2,9]),e(b,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(b,[2,11]),e(b,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],u=[],p=[null],n=[],v=this.table,w="",I=0,S=0,L=2,E=1,R=n.slice.call(arguments,1),x=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);x.setInput(t,C.yy),C.yy.lexer=x,C.yy.parser=this,typeof x.yylloc>"u"&&(x.yylloc={});var T=x.yylloc;n.push(T);var D=x.options&&x.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(B){i.length=i.length-2*B,p.length=p.length-B,n.length=n.length-B}o(j,"popStack");function z(){var B;return B=u.pop()||x.lex()||E,typeof B!="number"&&(B instanceof Array&&(u=B,B=u.pop()),B=s.symbols_[B]||B),B}o(z,"lex");for(var A,W,P,Q,H={},Z,V,et,X;;){if(W=i[i.length-1],this.defaultActions[W]?P=this.defaultActions[W]:((A===null||typeof A>"u")&&(A=z()),P=v[W]&&v[W][A]),typeof P>"u"||!P.length||!P[0]){var q="";X=[];for(Z in v[W])this.terminals_[Z]&&Z>L&&X.push("'"+this.terminals_[Z]+"'");x.showPosition?q="Parse error on line "+(I+1)+`: +import{a as o,Y as ot,aC as ut,aQ as dt,k as yt,s as ft,x as pt,aU as it,W as gt,aS as kt,V as mt,aR as wt,$ as _t,B as xt}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";var tt=function(){var e=o(function(M,t,s,i){for(s=s||{},i=M.length;i--;s[M[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],f=[1,20],d=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],b=[1,6,7,11,13,14],N={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,u,p,n,v){var w=n.length-1;switch(p){case 6:case 7:return u;case 15:u.addNode(n[w-1].length,n[w].trim());break;case 16:u.addNode(0,n[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:f,7:d,10:17,11:m},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:f,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(b,[2,8]),e(b,[2,9]),e(b,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(b,[2,11]),e(b,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],u=[],p=[null],n=[],v=this.table,w="",I=0,S=0,L=2,E=1,R=n.slice.call(arguments,1),x=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);x.setInput(t,C.yy),C.yy.lexer=x,C.yy.parser=this,typeof x.yylloc>"u"&&(x.yylloc={});var T=x.yylloc;n.push(T);var D=x.options&&x.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(B){i.length=i.length-2*B,p.length=p.length-B,n.length=n.length-B}o(j,"popStack");function z(){var B;return B=u.pop()||x.lex()||E,typeof B!="number"&&(B instanceof Array&&(u=B,B=u.pop()),B=s.symbols_[B]||B),B}o(z,"lex");for(var A,W,P,Q,H={},Z,V,et,X;;){if(W=i[i.length-1],this.defaultActions[W]?P=this.defaultActions[W]:((A===null||typeof A>"u")&&(A=z()),P=v[W]&&v[W][A]),typeof P>"u"||!P.length||!P[0]){var q="";X=[];for(Z in v[W])this.terminals_[Z]&&Z>L&&X.push("'"+this.terminals_[Z]+"'");x.showPosition?q="Parse error on line "+(I+1)+`: `+x.showPosition()+` Expecting `+X.join(", ")+", got '"+(this.terminals_[A]||A)+"'":q="Parse error on line "+(I+1)+": Unexpected "+(A==E?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(q,{text:x.match,token:this.terminals_[A]||A,line:x.yylineno,loc:T,expected:X})}if(P[0]instanceof Array&&P.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+A);switch(P[0]){case 1:i.push(A),p.push(x.yytext),n.push(x.yylloc),i.push(P[1]),A=null,S=x.yyleng,w=x.yytext,I=x.yylineno,T=x.yylloc;break;case 2:if(V=this.productions_[P[1]][1],H.$=p[p.length-V],H._$={first_line:n[n.length-(V||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(V||1)].first_column,last_column:n[n.length-1].last_column},D&&(H._$.range=[n[n.length-(V||1)].range[0],n[n.length-1].range[1]]),Q=this.performAction.apply(H,[w,S,I,C.yy,P[1],p,n].concat(R)),typeof Q<"u")return Q;V&&(i=i.slice(0,-1*V*2),p=p.slice(0,-1*V),n=n.slice(0,-1*V)),i.push(this.productions_[P[1]][0]),p.push(H.$),n.push(H._$),et=v[i[i.length-2]][i[i.length-1]],i.push(et);break;case 3:return!0}}return!0},"parse")},O=function(){var M={EOF:1,parseError:o(function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},"parseError"),setInput:o(function(t,s){return this.yy=s||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var s=t.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:o(function(t){var s=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(t){this.unput(this.match.slice(t))},"less"),pastInput:o(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var t=this.pastInput(),s=new Array(t.length+1).join("-");return t+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-lXnJv34U.js b/veadk/webui/assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-tcpH7yji.js similarity index 98% rename from veadk/webui/assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-lXnJv34U.js rename to veadk/webui/assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-tcpH7yji.js index 3f3ebaa38..142ddfb0e 100644 --- a/veadk/webui/assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-lXnJv34U.js +++ b/veadk/webui/assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-tcpH7yji.js @@ -1,4 +1,4 @@ -import{g as gt}from"./chunk-5VM5RSS4-W8IBP72a.js";import{d as mt,g as lt,f as xt,e as kt}from"./chunk-2GRJ4B5K-BMhlpUDn.js";import{V as _t,aR as vt,W as bt,aS as wt,$ as Tt,aU as St,a as s,Y as R,B as $t,s as Mt}from"./mermaid.core-CA8ypPul.js";import{ad as G}from"../../app/index-BSfA7-Qp.js";import{d as it}from"../../chunks/arc-Bd-KWJD_.js";var U=function(){var t=s(function(h,r,n,l){for(n=n||{},l=h.length;l--;n[h[l]]=r);return n},"o"),e=[6,8,10,11,12,14,16,17,18],a=[1,9],f=[1,10],i=[1,11],u=[1,12],p=[1,13],o=[1,14],g={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:s(function(r,n,l,y,d,c,v){var k=c.length-1;switch(d){case 1:return c[k-1];case 2:this.$=[];break;case 3:c[k-1].push(c[k]),this.$=c[k-1];break;case 4:case 5:this.$=c[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 9:this.$=c[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=c[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 13:y.addTask(c[k-1],c[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(r,n){if(n.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=n,l}},"parseError"),parse:s(function(r){var n=this,l=[0],y=[],d=[null],c=[],v=this.table,k="",C=0,Q=0,yt=2,D=1,dt=c.slice.call(arguments,1),_=Object.create(this.lexer),I={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(I.yy[O]=this.yy[O]);_.setInput(r,I.yy),I.yy.lexer=_,I.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Y=_.yylloc;c.push(Y);var ft=_.options&&_.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(w){l.length=l.length-2*w,d.length=d.length-w,c.length=c.length-w}s(pt,"popStack");function tt(){var w;return w=y.pop()||_.lex()||D,typeof w!="number"&&(w instanceof Array&&(y=w,w=y.pop()),w=n.symbols_[w]||w),w}s(tt,"lex");for(var b,A,T,q,F={},N,M,et,W;;){if(A=l[l.length-1],this.defaultActions[A]?T=this.defaultActions[A]:((b===null||typeof b>"u")&&(b=tt()),T=v[A]&&v[A][b]),typeof T>"u"||!T.length||!T[0]){var X="";W=[];for(N in v[A])this.terminals_[N]&&N>yt&&W.push("'"+this.terminals_[N]+"'");_.showPosition?X="Parse error on line "+(C+1)+`: +import{g as gt}from"./chunk-5VM5RSS4-DdofPBLB.js";import{d as mt,g as lt,f as xt,e as kt}from"./chunk-2GRJ4B5K-DFfNskzn.js";import{V as _t,aR as vt,W as bt,aS as wt,$ as Tt,aU as St,a as s,Y as R,B as $t,s as Mt}from"./mermaid.core-DS1qXbzQ.js";import{ad as G}from"../../app/index-B0ly_D9Z.js";import{d as it}from"../../chunks/arc-ClN_EYFb.js";var U=function(){var t=s(function(h,r,n,l){for(n=n||{},l=h.length;l--;n[h[l]]=r);return n},"o"),e=[6,8,10,11,12,14,16,17,18],a=[1,9],f=[1,10],i=[1,11],u=[1,12],p=[1,13],o=[1,14],g={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:s(function(r,n,l,y,d,c,v){var k=c.length-1;switch(d){case 1:return c[k-1];case 2:this.$=[];break;case 3:c[k-1].push(c[k]),this.$=c[k-1];break;case 4:case 5:this.$=c[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 9:this.$=c[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=c[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 13:y.addTask(c[k-1],c[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(r,n){if(n.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=n,l}},"parseError"),parse:s(function(r){var n=this,l=[0],y=[],d=[null],c=[],v=this.table,k="",C=0,Q=0,yt=2,D=1,dt=c.slice.call(arguments,1),_=Object.create(this.lexer),I={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(I.yy[O]=this.yy[O]);_.setInput(r,I.yy),I.yy.lexer=_,I.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Y=_.yylloc;c.push(Y);var ft=_.options&&_.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(w){l.length=l.length-2*w,d.length=d.length-w,c.length=c.length-w}s(pt,"popStack");function tt(){var w;return w=y.pop()||_.lex()||D,typeof w!="number"&&(w instanceof Array&&(y=w,w=y.pop()),w=n.symbols_[w]||w),w}s(tt,"lex");for(var b,A,T,q,F={},N,M,et,W;;){if(A=l[l.length-1],this.defaultActions[A]?T=this.defaultActions[A]:((b===null||typeof b>"u")&&(b=tt()),T=v[A]&&v[A][b]),typeof T>"u"||!T.length||!T[0]){var X="";W=[];for(N in v[A])this.terminals_[N]&&N>yt&&W.push("'"+this.terminals_[N]+"'");_.showPosition?X="Parse error on line "+(C+1)+`: `+_.showPosition()+` Expecting `+W.join(", ")+", got '"+(this.terminals_[b]||b)+"'":X="Parse error on line "+(C+1)+": Unexpected "+(b==D?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(X,{text:_.match,token:this.terminals_[b]||b,line:_.yylineno,loc:Y,expected:W})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+b);switch(T[0]){case 1:l.push(b),d.push(_.yytext),c.push(_.yylloc),l.push(T[1]),b=null,Q=_.yyleng,k=_.yytext,C=_.yylineno,Y=_.yylloc;break;case 2:if(M=this.productions_[T[1]][1],F.$=d[d.length-M],F._$={first_line:c[c.length-(M||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(M||1)].first_column,last_column:c[c.length-1].last_column},ft&&(F._$.range=[c[c.length-(M||1)].range[0],c[c.length-1].range[1]]),q=this.performAction.apply(F,[k,Q,C,I.yy,T[1],d,c].concat(dt)),typeof q<"u")return q;M&&(l=l.slice(0,-1*M*2),d=d.slice(0,-1*M),c=c.slice(0,-1*M)),l.push(this.productions_[T[1]][0]),d.push(F.$),c.push(F._$),et=v[l[l.length-2]][l[l.length-1]],l.push(et);break;case 3:return!0}}return!0},"parse")},m=function(){var h={EOF:1,parseError:s(function(n,l){if(this.yy.parser)this.yy.parser.parseError(n,l);else throw new Error(n)},"parseError"),setInput:s(function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var n=r.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:s(function(r){var n=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===y.length?this.yylloc.first_column:0)+y[y.length-l.length].length-l[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(r){this.unput(this.match.slice(r))},"less"),pastInput:s(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var r=this.pastInput(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/kanban-definition-27J2QSJJ-BmrqdoIU.js b/veadk/webui/assets/visualizations/mermaid/kanban-definition-27J2QSJJ-CbYLYXH5.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/kanban-definition-27J2QSJJ-BmrqdoIU.js rename to veadk/webui/assets/visualizations/mermaid/kanban-definition-27J2QSJJ-CbYLYXH5.js index 2f814f185..552574d67 100644 --- a/veadk/webui/assets/visualizations/mermaid/kanban-definition-27J2QSJJ-BmrqdoIU.js +++ b/veadk/webui/assets/visualizations/mermaid/kanban-definition-27J2QSJJ-CbYLYXH5.js @@ -1,4 +1,4 @@ -import{a as c,at as te,Y as W,aQ as fe,ad as ye,ag as be,aG as me,aX as ke,O as K,aO as F,as as Ee,J as _e,ak as Se,ap as le,H as ce}from"./mermaid.core-CA8ypPul.js";import{g as Ne}from"./chunk-5VM5RSS4-W8IBP72a.js";import"../../app/index-BSfA7-Qp.js";var $=function(){var t=c(function(k,s,n,a){for(n=n||{},a=k.length;a--;n[k[a]]=s);return n},"o"),g=[1,4],d=[1,13],r=[1,12],p=[1,15],E=[1,16],f=[1,20],h=[1,19],L=[6,7,8],C=[1,26],w=[1,24],N=[1,25],i=[6,7,11],H=[1,31],x=[6,7,11,24],P=[1,6,13,16,17,20,23],M=[1,35],U=[1,36],A=[1,6,7,11,13,16,17,20,23],j=[1,38],V={trace:c(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:c(function(s,n,a,o,u,e,B){var l=e.length-1;switch(u){case 6:case 7:return o;case 8:o.getLogger().trace("Stop NL ");break;case 9:o.getLogger().trace("Stop EOF ");break;case 11:o.getLogger().trace("Stop NL2 ");break;case 12:o.getLogger().trace("Stop EOF2 ");break;case 15:o.getLogger().info("Node: ",e[l-1].id),o.addNode(e[l-2].length,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 16:o.getLogger().info("Node: ",e[l].id),o.addNode(e[l-1].length,e[l].id,e[l].descr,e[l].type);break;case 17:o.getLogger().trace("Icon: ",e[l]),o.decorateNode({icon:e[l]});break;case 18:case 23:o.decorateNode({class:e[l]});break;case 19:o.getLogger().trace("SPACELIST");break;case 20:o.getLogger().trace("Node: ",e[l-1].id),o.addNode(0,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 21:o.getLogger().trace("Node: ",e[l].id),o.addNode(0,e[l].id,e[l].descr,e[l].type);break;case 22:o.decorateNode({icon:e[l]});break;case 27:o.getLogger().trace("node found ..",e[l-2]),this.$={id:e[l-1],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 28:this.$={id:e[l],descr:e[l],type:0};break;case 29:o.getLogger().trace("node found ..",e[l-3]),this.$={id:e[l-3],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 30:this.$=e[l-1]+e[l];break;case 31:this.$=e[l];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:g},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:g},{6:d,7:[1,10],9:9,12:11,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},t(L,[2,3]),{1:[2,2]},t(L,[2,4]),t(L,[2,5]),{1:[2,6],6:d,12:21,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},{6:d,9:22,12:11,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},{6:C,7:w,10:23,11:N},t(i,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:f,23:h}),t(i,[2,19]),t(i,[2,21],{15:30,24:H}),t(i,[2,22]),t(i,[2,23]),t(x,[2,25]),t(x,[2,26]),t(x,[2,28],{20:[1,32]}),{21:[1,33]},{6:C,7:w,10:34,11:N},{1:[2,7],6:d,12:21,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},t(P,[2,14],{7:M,11:U}),t(A,[2,8]),t(A,[2,9]),t(A,[2,10]),t(i,[2,16],{15:37,24:H}),t(i,[2,17]),t(i,[2,18]),t(i,[2,20],{24:j}),t(x,[2,31]),{21:[1,39]},{22:[1,40]},t(P,[2,13],{7:M,11:U}),t(A,[2,11]),t(A,[2,12]),t(i,[2,15],{24:j}),t(x,[2,30]),{22:[1,41]},t(x,[2,27]),t(x,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:c(function(s,n){if(n.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=n,a}},"parseError"),parse:c(function(s){var n=this,a=[0],o=[],u=[null],e=[],B=this.table,l="",z=0,ie=0,ue=2,re=1,ge=e.slice.call(arguments,1),m=Object.create(this.lexer),T={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(T.yy[J]=this.yy[J]);m.setInput(s,T.yy),T.yy.lexer=m,T.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Q=m.yylloc;e.push(Q);var de=m.options&&m.options.ranges;typeof T.yy.parseError=="function"?this.parseError=T.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(S){a.length=a.length-2*S,u.length=u.length-S,e.length=e.length-S}c(pe,"popStack");function ae(){var S;return S=o.pop()||m.lex()||re,typeof S!="number"&&(S instanceof Array&&(o=S,S=o.pop()),S=n.symbols_[S]||S),S}c(ae,"lex");for(var _,R,v,q,G={},X,I,oe,Y;;){if(R=a[a.length-1],this.defaultActions[R]?v=this.defaultActions[R]:((_===null||typeof _>"u")&&(_=ae()),v=B[R]&&B[R][_]),typeof v>"u"||!v.length||!v[0]){var Z="";Y=[];for(X in B[R])this.terminals_[X]&&X>ue&&Y.push("'"+this.terminals_[X]+"'");m.showPosition?Z="Parse error on line "+(z+1)+`: +import{a as c,at as te,Y as W,aQ as fe,ad as ye,ag as be,aG as me,aX as ke,O as K,aO as F,as as Ee,J as _e,ak as Se,ap as le,H as ce}from"./mermaid.core-DS1qXbzQ.js";import{g as Ne}from"./chunk-5VM5RSS4-DdofPBLB.js";import"../../app/index-B0ly_D9Z.js";var $=function(){var t=c(function(k,s,n,a){for(n=n||{},a=k.length;a--;n[k[a]]=s);return n},"o"),g=[1,4],d=[1,13],r=[1,12],p=[1,15],E=[1,16],f=[1,20],h=[1,19],L=[6,7,8],C=[1,26],w=[1,24],N=[1,25],i=[6,7,11],H=[1,31],x=[6,7,11,24],P=[1,6,13,16,17,20,23],M=[1,35],U=[1,36],A=[1,6,7,11,13,16,17,20,23],j=[1,38],V={trace:c(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:c(function(s,n,a,o,u,e,B){var l=e.length-1;switch(u){case 6:case 7:return o;case 8:o.getLogger().trace("Stop NL ");break;case 9:o.getLogger().trace("Stop EOF ");break;case 11:o.getLogger().trace("Stop NL2 ");break;case 12:o.getLogger().trace("Stop EOF2 ");break;case 15:o.getLogger().info("Node: ",e[l-1].id),o.addNode(e[l-2].length,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 16:o.getLogger().info("Node: ",e[l].id),o.addNode(e[l-1].length,e[l].id,e[l].descr,e[l].type);break;case 17:o.getLogger().trace("Icon: ",e[l]),o.decorateNode({icon:e[l]});break;case 18:case 23:o.decorateNode({class:e[l]});break;case 19:o.getLogger().trace("SPACELIST");break;case 20:o.getLogger().trace("Node: ",e[l-1].id),o.addNode(0,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 21:o.getLogger().trace("Node: ",e[l].id),o.addNode(0,e[l].id,e[l].descr,e[l].type);break;case 22:o.decorateNode({icon:e[l]});break;case 27:o.getLogger().trace("node found ..",e[l-2]),this.$={id:e[l-1],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 28:this.$={id:e[l],descr:e[l],type:0};break;case 29:o.getLogger().trace("node found ..",e[l-3]),this.$={id:e[l-3],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 30:this.$=e[l-1]+e[l];break;case 31:this.$=e[l];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:g},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:g},{6:d,7:[1,10],9:9,12:11,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},t(L,[2,3]),{1:[2,2]},t(L,[2,4]),t(L,[2,5]),{1:[2,6],6:d,12:21,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},{6:d,9:22,12:11,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},{6:C,7:w,10:23,11:N},t(i,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:f,23:h}),t(i,[2,19]),t(i,[2,21],{15:30,24:H}),t(i,[2,22]),t(i,[2,23]),t(x,[2,25]),t(x,[2,26]),t(x,[2,28],{20:[1,32]}),{21:[1,33]},{6:C,7:w,10:34,11:N},{1:[2,7],6:d,12:21,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},t(P,[2,14],{7:M,11:U}),t(A,[2,8]),t(A,[2,9]),t(A,[2,10]),t(i,[2,16],{15:37,24:H}),t(i,[2,17]),t(i,[2,18]),t(i,[2,20],{24:j}),t(x,[2,31]),{21:[1,39]},{22:[1,40]},t(P,[2,13],{7:M,11:U}),t(A,[2,11]),t(A,[2,12]),t(i,[2,15],{24:j}),t(x,[2,30]),{22:[1,41]},t(x,[2,27]),t(x,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:c(function(s,n){if(n.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=n,a}},"parseError"),parse:c(function(s){var n=this,a=[0],o=[],u=[null],e=[],B=this.table,l="",z=0,ie=0,ue=2,re=1,ge=e.slice.call(arguments,1),m=Object.create(this.lexer),T={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(T.yy[J]=this.yy[J]);m.setInput(s,T.yy),T.yy.lexer=m,T.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Q=m.yylloc;e.push(Q);var de=m.options&&m.options.ranges;typeof T.yy.parseError=="function"?this.parseError=T.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(S){a.length=a.length-2*S,u.length=u.length-S,e.length=e.length-S}c(pe,"popStack");function ae(){var S;return S=o.pop()||m.lex()||re,typeof S!="number"&&(S instanceof Array&&(o=S,S=o.pop()),S=n.symbols_[S]||S),S}c(ae,"lex");for(var _,R,v,q,G={},X,I,oe,Y;;){if(R=a[a.length-1],this.defaultActions[R]?v=this.defaultActions[R]:((_===null||typeof _>"u")&&(_=ae()),v=B[R]&&B[R][_]),typeof v>"u"||!v.length||!v[0]){var Z="";Y=[];for(X in B[R])this.terminals_[X]&&X>ue&&Y.push("'"+this.terminals_[X]+"'");m.showPosition?Z="Parse error on line "+(z+1)+`: `+m.showPosition()+` Expecting `+Y.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Z="Parse error on line "+(z+1)+": Unexpected "+(_==re?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Z,{text:m.match,token:this.terminals_[_]||_,line:m.yylineno,loc:Q,expected:Y})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+_);switch(v[0]){case 1:a.push(_),u.push(m.yytext),e.push(m.yylloc),a.push(v[1]),_=null,ie=m.yyleng,l=m.yytext,z=m.yylineno,Q=m.yylloc;break;case 2:if(I=this.productions_[v[1]][1],G.$=u[u.length-I],G._$={first_line:e[e.length-(I||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(I||1)].first_column,last_column:e[e.length-1].last_column},de&&(G._$.range=[e[e.length-(I||1)].range[0],e[e.length-1].range[1]]),q=this.performAction.apply(G,[l,ie,z,T.yy,v[1],u,e].concat(ge)),typeof q<"u")return q;I&&(a=a.slice(0,-1*I*2),u=u.slice(0,-1*I),e=e.slice(0,-1*I)),a.push(this.productions_[v[1]][0]),u.push(G.$),e.push(G._$),oe=B[a[a.length-2]][a[a.length-1]],a.push(oe);break;case 3:return!0}}return!0},"parse")},y=function(){var k={EOF:1,parseError:c(function(n,a){if(this.yy.parser)this.yy.parser.parseError(n,a);else throw new Error(n)},"parseError"),setInput:c(function(s,n){return this.yy=n||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:c(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var n=s.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:c(function(s){var n=s.length,a=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===o.length?this.yylloc.first_column:0)+o[o.length-a.length].length-a[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:c(function(){return this._more=!0,this},"more"),reject:c(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:c(function(s){this.unput(this.match.slice(s))},"less"),pastInput:c(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:c(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:c(function(){var s=this.pastInput(),n=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/mermaid.core-CA8ypPul.js b/veadk/webui/assets/visualizations/mermaid/mermaid.core-DS1qXbzQ.js similarity index 98% rename from veadk/webui/assets/visualizations/mermaid/mermaid.core-CA8ypPul.js rename to veadk/webui/assets/visualizations/mermaid/mermaid.core-DS1qXbzQ.js index c7dee9bcf..f9bed727a 100644 --- a/veadk/webui/assets/visualizations/mermaid/mermaid.core-CA8ypPul.js +++ b/veadk/webui/assets/visualizations/mermaid/mermaid.core-DS1qXbzQ.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/visualizations/mermaid/dagre-VZM6K2ZE-CaZltdDs.js","assets/visualizations/mermaid/chunk-RYQCIY6F-Bc3woq1C.js","assets/chunks/graph-Dqkl27Ch.js","assets/chunks/map-8WAJQ6ap.js","assets/chunks/layout-B6FSD_Du.js","assets/app/index-BSfA7-Qp.js","assets/styles/index-vChqTa3c.css","assets/visualizations/mermaid/swimlanes-SLNWSIFB-C_QRwND6.js","assets/visualizations/mermaid/cose-bilkent-JH36ORCC-TCO9YNQt.js","assets/chunks/cytoscape.esm-Dz9tvMTw.js","assets/visualizations/mermaid/c4Diagram-5PPSVZJV-mByelyM0.js","assets/visualizations/mermaid/chunk-2GRJ4B5K-BMhlpUDn.js","assets/visualizations/mermaid/flowDiagram-UKHOOZJN-B8lbbUMJ.js","assets/visualizations/mermaid/chunk-5VM5RSS4-W8IBP72a.js","assets/visualizations/mermaid/chunk-XXDRQBXY-4aIfLT7K.js","assets/visualizations/mermaid/chunk-KBJHAD2P-BfrlQA_C.js","assets/chunks/channel-V8FC1PyG.js","assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC--Rr-scI_.js","assets/visualizations/mermaid/erDiagram-JOGREHBK-BFBZrDgK.js","assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-D8t8bnkE.js","assets/visualizations/mermaid/chunk-2Q5K7J3B-DQ_g_FOP.js","assets/visualizations/mermaid/chunk-JWPE2WC7-B2zXTT0G.js","assets/visualizations/mermaid/cynefin-OW5HDTMX-DZwYx8KA.js","assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-DmNk0elM.js","assets/chunks/linear-D2RiTPZI.js","assets/chunks/init-Gi6I4Gst.js","assets/chunks/defaultLocale-CrowFXzY.js","assets/visualizations/mermaid/infoDiagram-6WML65LV-BoMq5yxg.js","assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-DiASGNAe.js","assets/chunks/arc-Bd-KWJD_.js","assets/chunks/ordinal-Cboi1Yqb.js","assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-DJm-gHGj.js","assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-B_eZIbWC.js","assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-DFDVaceD.js","assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-COnTktCB.js","assets/visualizations/mermaid/classDiagram-JCYQIIEL-ChGm3DyL.js","assets/visualizations/mermaid/chunk-GF5L2VYU-BOV9J-a2.js","assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-ChGm3DyL.js","assets/visualizations/mermaid/stateDiagram-OKZ733FA-DlMFQfhX.js","assets/visualizations/mermaid/chunk-5RXB4S5H-DbJC5G9d.js","assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-kqiSvJQU.js","assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-lXnJv34U.js","assets/visualizations/mermaid/timeline-definition-Z64GVDOM-BIYO9h5L.js","assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-DOb0iskj.js","assets/visualizations/mermaid/kanban-definition-27J2QSJJ-BmrqdoIU.js","assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-B2rzdV66.js","assets/visualizations/mermaid/diagram-LBJQPF4R-Pnfxyn0a.js","assets/visualizations/mermaid/diagram-UB23O5K3-BpUtlbYH.js","assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-nT3UGRP_.js","assets/visualizations/mermaid/diagram-7IWD3JNH-ChiT9kPC.js","assets/visualizations/mermaid/architectureDiagram-T3A2C74G-DDnDuHF5.js","assets/visualizations/mermaid/diagram-B4RE2ZJO-gnhe1XTL.js","assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-CdfT-yF9.js","assets/visualizations/mermaid/vennDiagram-T6HMQDX7-DklWiDNN.js","assets/visualizations/mermaid/diagram-Q27KOJAE-DDcULphP.js","assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-_jEObl1h.js","assets/visualizations/mermaid/cynefinDiagram-MW4NZA55-DSdRlYdc.js","assets/visualizations/mermaid/railroadDiagram-AXF67PYL-BRnmPnOB.js","assets/visualizations/mermaid/chunk-6Q2QTUOP-BWy4vQ8l.js","assets/visualizations/mermaid/ebnfDiagram-BXEA7PRR-0NLASbul.js","assets/visualizations/mermaid/abnfDiagram-N423BO3Z-ytavltmL.js","assets/visualizations/mermaid/pegDiagram-VL7TDLO6-C3mfqu29.js"])))=>i.map(i=>d[i]); -var Kf=Object.defineProperty;var Qf=(e,t,r)=>t in e?Kf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ft=(e,t,r)=>Qf(e,typeof t!="symbol"?t+"":t,r);import{N as Jf,q as tm,_ as yt,ad as Ct}from"../../app/index-BSfA7-Qp.js";var Mh=Object.defineProperty,g=(e,t)=>Mh(e,"name",{value:t,configurable:!0}),em=(e,t)=>{for(var r in t)Mh(e,r,{get:t[r],enumerable:!0})},$h={exports:{}};(function(e,t){(function(r,i){e.exports=i()})(tm,function(){var r=1e3,i=6e4,s=36e5,a="millisecond",o="second",n="minute",l="hour",c="day",h="week",d="month",p="quarter",u="year",y="date",m="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,C=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var A=["th","st","nd","rd"],_=D%100;return"["+D+(A[(_-20)%10]||A[_]||A[0])+"]"}},k=function(D,A,_){var I=String(D);return!I||I.length>=A?D:""+Array(A+1-I.length).join(_)+D},S={s:k,z:function(D){var A=-D.utcOffset(),_=Math.abs(A),I=Math.floor(_/60),E=_%60;return(A<=0?"+":"-")+k(I,2,"0")+":"+k(E,2,"0")},m:function D(A,_){if(A.date()<_.date())return-D(_,A);var I=12*(_.year()-A.year())+(_.month()-A.month()),E=A.clone().add(I,d),W=_-E<0,U=A.clone().add(I+(W?-1:1),d);return+(-(I+(_-E)/(W?E-U:U-E))||0)},a:function(D){return D<0?Math.ceil(D)||0:Math.floor(D)},p:function(D){return{M:d,y:u,w:h,d:c,D:y,h:l,m:n,s:o,ms:a,Q:p}[D]||String(D||"").toLowerCase().replace(/s$/,"")},u:function(D){return D===void 0}},w="en",B={};B[w]=b;var F="$isDayjsObject",v=function(D){return D instanceof j||!(!D||!D[F])},N=function D(A,_,I){var E;if(!A)return w;if(typeof A=="string"){var W=A.toLowerCase();B[W]&&(E=W),_&&(B[W]=_,E=W);var U=A.split("-");if(!E&&U.length>1)return D(U[0])}else{var K=A.name;B[K]=A,E=K}return!I&&E&&(w=E),E||!I&&w},P=function(D,A){if(v(D))return D.clone();var _=typeof A=="object"?A:{};return _.date=D,_.args=arguments,new j(_)},O=S;O.l=N,O.i=v,O.w=function(D,A){return P(D,{locale:A.$L,utc:A.$u,x:A.$x,$offset:A.$offset})};var j=function(){function D(_){this.$L=N(_.locale,null,!0),this.parse(_),this.$x=this.$x||_.x||{},this[F]=!0}var A=D.prototype;return A.parse=function(_){this.$d=function(I){var E=I.date,W=I.utc;if(E===null)return new Date(NaN);if(O.u(E))return new Date;if(E instanceof Date)return new Date(E);if(typeof E=="string"&&!/Z$/i.test(E)){var U=E.match(f);if(U){var K=U[2]-1||0,et=(U[7]||"0").substring(0,3);return W?new Date(Date.UTC(U[1],K,U[3]||1,U[4]||0,U[5]||0,U[6]||0,et)):new Date(U[1],K,U[3]||1,U[4]||0,U[5]||0,U[6]||0,et)}}return new Date(E)}(_),this.init()},A.init=function(){var _=this.$d;this.$y=_.getFullYear(),this.$M=_.getMonth(),this.$D=_.getDate(),this.$W=_.getDay(),this.$H=_.getHours(),this.$m=_.getMinutes(),this.$s=_.getSeconds(),this.$ms=_.getMilliseconds()},A.$utils=function(){return O},A.isValid=function(){return this.$d.toString()!==m},A.isSame=function(_,I){var E=P(_);return this.startOf(I)<=E&&E<=this.endOf(I)},A.isAfter=function(_,I){return P(_){},"trace"),debug:g((...e)=>{},"debug"),info:g((...e)=>{},"info"),warn:g((...e)=>{},"warn"),error:g((...e)=>{},"error"),fatal:g((...e)=>{},"fatal")},Ho=g(function(e="fatal"){let t=Re.fatal;typeof e=="string"?e.toLowerCase()in Re&&(t=Re[e]):typeof e=="number"&&(t=e),H.trace=()=>{},H.debug=()=>{},H.info=()=>{},H.warn=()=>{},H.error=()=>{},H.fatal=()=>{},t<=Re.fatal&&(H.fatal=console.error?console.error.bind(console,me("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",me("FATAL"))),t<=Re.error&&(H.error=console.error?console.error.bind(console,me("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",me("ERROR"))),t<=Re.warn&&(H.warn=console.warn?console.warn.bind(console,me("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",me("WARN"))),t<=Re.info&&(H.info=console.info?console.info.bind(console,me("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",me("INFO"))),t<=Re.debug&&(H.debug=console.debug?console.debug.bind(console,me("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",me("DEBUG"))),t<=Re.trace&&(H.trace=console.debug?console.debug.bind(console,me("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",me("TRACE")))},"setLogLevel"),me=g(e=>`%c${im().format("ss.SSS")} : ${e} : `,"format");const ks={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:e=>e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{const t=e/255;return e>.03928?Math.pow((t+.055)/1.055,2.4):t/12.92},hue2rgb:(e,t,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e),hsl2rgb:({h:e,s:t,l:r},i)=>{if(!t)return r*2.55;e/=360,t/=100,r/=100;const s=r<.5?r*(1+t):r+t-r*t,a=2*r-s;switch(i){case"r":return ks.hue2rgb(a,s,e+1/3)*255;case"g":return ks.hue2rgb(a,s,e)*255;case"b":return ks.hue2rgb(a,s,e-1/3)*255}},rgb2hsl:({r:e,g:t,b:r},i)=>{e/=255,t/=255,r/=255;const s=Math.max(e,t,r),a=Math.min(e,t,r),o=(s+a)/2;if(i==="l")return o*100;if(s===a)return 0;const n=s-a,l=o>.5?n/(2-s-a):n/(s+a);if(i==="s")return l*100;switch(s){case e:return((t-r)/n+(tt>r?Math.min(t,Math.max(r,e)):Math.min(r,Math.max(t,e)),round:e=>Math.round(e*1e10)/1e10},am={dec2hex:e=>{const t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}},ft={channel:ks,lang:sm,unit:am},Ve={};for(let e=0;e<=255;e++)Ve[e]=ft.unit.dec2hex(e);const Zt={ALL:0,RGB:1,HSL:2};class om{constructor(){this.type=Zt.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=Zt.ALL}is(t){return this.type===t}}class nm{constructor(t,r){this.color=r,this.changed=!1,this.data=t,this.type=new om}set(t,r){return this.color=r,this.changed=!1,this.data=t,this.type.type=Zt.ALL,this}_ensureHSL(){const t=this.data,{h:r,s:i,l:s}=t;r===void 0&&(t.h=ft.channel.rgb2hsl(t,"h")),i===void 0&&(t.s=ft.channel.rgb2hsl(t,"s")),s===void 0&&(t.l=ft.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r,g:i,b:s}=t;r===void 0&&(t.r=ft.channel.hsl2rgb(t,"r")),i===void 0&&(t.g=ft.channel.hsl2rgb(t,"g")),s===void 0&&(t.b=ft.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,r=t.r;return!this.type.is(Zt.HSL)&&r!==void 0?r:(this._ensureHSL(),ft.channel.hsl2rgb(t,"r"))}get g(){const t=this.data,r=t.g;return!this.type.is(Zt.HSL)&&r!==void 0?r:(this._ensureHSL(),ft.channel.hsl2rgb(t,"g"))}get b(){const t=this.data,r=t.b;return!this.type.is(Zt.HSL)&&r!==void 0?r:(this._ensureHSL(),ft.channel.hsl2rgb(t,"b"))}get h(){const t=this.data,r=t.h;return!this.type.is(Zt.RGB)&&r!==void 0?r:(this._ensureRGB(),ft.channel.rgb2hsl(t,"h"))}get s(){const t=this.data,r=t.s;return!this.type.is(Zt.RGB)&&r!==void 0?r:(this._ensureRGB(),ft.channel.rgb2hsl(t,"s"))}get l(){const t=this.data,r=t.l;return!this.type.is(Zt.RGB)&&r!==void 0?r:(this._ensureRGB(),ft.channel.rgb2hsl(t,"l"))}get a(){return this.data.a}set r(t){this.type.set(Zt.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(Zt.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(Zt.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(Zt.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(Zt.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(Zt.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}const ra=new nm({r:0,g:0,b:0,a:0},"transparent"),Nr={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(e.charCodeAt(0)!==35)return;const t=e.match(Nr.re);if(!t)return;const r=t[1],i=parseInt(r,16),s=r.length,a=s%4===0,o=s>4,n=o?1:17,l=o?8:4,c=a?0:-1,h=o?255:15;return ra.set({r:(i>>l*(c+3)&h)*n,g:(i>>l*(c+2)&h)*n,b:(i>>l*(c+1)&h)*n,a:a?(i&h)*n/255:1},e)},stringify:e=>{const{r:t,g:r,b:i,a:s}=e;return s<1?`#${Ve[Math.round(t)]}${Ve[Math.round(r)]}${Ve[Math.round(i)]}${Ve[Math.round(s*255)]}`:`#${Ve[Math.round(t)]}${Ve[Math.round(r)]}${Ve[Math.round(i)]}`}},gr={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:e=>{const t=e.match(gr.hueRe);if(t){const[,r,i]=t;switch(i){case"grad":return ft.channel.clamp.h(parseFloat(r)*.9);case"rad":return ft.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return ft.channel.clamp.h(parseFloat(r)*360)}}return ft.channel.clamp.h(parseFloat(e))},parse:e=>{const t=e.charCodeAt(0);if(t!==104&&t!==72)return;const r=e.match(gr.re);if(!r)return;const[,i,s,a,o,n]=r;return ra.set({h:gr._hue2deg(i),s:ft.channel.clamp.s(parseFloat(s)),l:ft.channel.clamp.l(parseFloat(a)),a:o?ft.channel.clamp.a(n?parseFloat(o)/100:parseFloat(o)):1},e)},stringify:e=>{const{h:t,s:r,l:i,a:s}=e;return s<1?`hsla(${ft.lang.round(t)}, ${ft.lang.round(r)}%, ${ft.lang.round(i)}%, ${s})`:`hsl(${ft.lang.round(t)}, ${ft.lang.round(r)}%, ${ft.lang.round(i)}%)`}},Ei={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:e=>{e=e.toLowerCase();const t=Ei.colors[e];if(t)return Nr.parse(t)},stringify:e=>{const t=Nr.stringify(e);for(const r in Ei.colors)if(Ei.colors[r]===t)return r}},Bi={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:e=>{const t=e.charCodeAt(0);if(t!==114&&t!==82)return;const r=e.match(Bi.re);if(!r)return;const[,i,s,a,o,n,l,c,h]=r;return ra.set({r:ft.channel.clamp.r(s?parseFloat(i)*2.55:parseFloat(i)),g:ft.channel.clamp.g(o?parseFloat(a)*2.55:parseFloat(a)),b:ft.channel.clamp.b(l?parseFloat(n)*2.55:parseFloat(n)),a:c?ft.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},e)},stringify:e=>{const{r:t,g:r,b:i,a:s}=e;return s<1?`rgba(${ft.lang.round(t)}, ${ft.lang.round(r)}, ${ft.lang.round(i)}, ${ft.lang.round(s)})`:`rgb(${ft.lang.round(t)}, ${ft.lang.round(r)}, ${ft.lang.round(i)})`}},Me={format:{keyword:Ei,hex:Nr,rgb:Bi,rgba:Bi,hsl:gr,hsla:gr},parse:e=>{if(typeof e!="string")return e;const t=Nr.parse(e)||Bi.parse(e)||gr.parse(e)||Ei.parse(e);if(t)return t;throw new Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(Zt.HSL)||e.data.r===void 0?gr.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?Bi.stringify(e):Nr.stringify(e)},Oh=(e,t)=>{const r=Me.parse(e);for(const i in t)r[i]=ft.channel.clamp[i](t[i]);return Me.stringify(r)},Qe=(e,t,r=0,i=1)=>{if(typeof e!="number")return Oh(e,{a:t});const s=ra.set({r:ft.channel.clamp.r(e),g:ft.channel.clamp.g(t),b:ft.channel.clamp.b(r),a:ft.channel.clamp.a(i)});return Me.stringify(s)},lm=e=>{const{r:t,g:r,b:i}=Me.parse(e),s=.2126*ft.channel.toLinear(t)+.7152*ft.channel.toLinear(r)+.0722*ft.channel.toLinear(i);return ft.lang.round(s)},hm=e=>lm(e)>=.5,_e=e=>!hm(e),Ih=(e,t,r)=>{const i=Me.parse(e),s=i[t],a=ft.channel.clamp[t](s+r);return s!==a&&(i[t]=a),Me.stringify(i)},R=(e,t)=>Ih(e,"l",t),q=(e,t)=>Ih(e,"l",-t),x=(e,t)=>{const r=Me.parse(e),i={};for(const s in t)t[s]&&(i[s]=r[s]+t[s]);return Oh(e,i)},cm=(e,t,r=50)=>{const{r:i,g:s,b:a,a:o}=Me.parse(e),{r:n,g:l,b:c,a:h}=Me.parse(t),d=r/100,p=d*2-1,u=o-h,m=((p*u===-1?p:(p+u)/(1+p*u))+1)/2,f=1-m,C=i*m+n*f,b=s*m+l*f,k=a*m+c*f,S=o*d+h*(1-d);return Qe(C,b,k,S)},L=(e,t=100)=>{const r=Me.parse(e);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,cm(r,e,t)};/*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */function ul(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,i=Array(t);ri.map(i=>d[i]); +var Kf=Object.defineProperty;var Qf=(e,t,r)=>t in e?Kf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ft=(e,t,r)=>Qf(e,typeof t!="symbol"?t+"":t,r);import{N as Jf,q as tm,_ as yt,ad as Ct}from"../../app/index-B0ly_D9Z.js";var Mh=Object.defineProperty,g=(e,t)=>Mh(e,"name",{value:t,configurable:!0}),em=(e,t)=>{for(var r in t)Mh(e,r,{get:t[r],enumerable:!0})},$h={exports:{}};(function(e,t){(function(r,i){e.exports=i()})(tm,function(){var r=1e3,i=6e4,s=36e5,a="millisecond",o="second",n="minute",l="hour",c="day",h="week",d="month",p="quarter",u="year",y="date",m="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,C=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var A=["th","st","nd","rd"],_=D%100;return"["+D+(A[(_-20)%10]||A[_]||A[0])+"]"}},k=function(D,A,_){var I=String(D);return!I||I.length>=A?D:""+Array(A+1-I.length).join(_)+D},S={s:k,z:function(D){var A=-D.utcOffset(),_=Math.abs(A),I=Math.floor(_/60),E=_%60;return(A<=0?"+":"-")+k(I,2,"0")+":"+k(E,2,"0")},m:function D(A,_){if(A.date()<_.date())return-D(_,A);var I=12*(_.year()-A.year())+(_.month()-A.month()),E=A.clone().add(I,d),W=_-E<0,U=A.clone().add(I+(W?-1:1),d);return+(-(I+(_-E)/(W?E-U:U-E))||0)},a:function(D){return D<0?Math.ceil(D)||0:Math.floor(D)},p:function(D){return{M:d,y:u,w:h,d:c,D:y,h:l,m:n,s:o,ms:a,Q:p}[D]||String(D||"").toLowerCase().replace(/s$/,"")},u:function(D){return D===void 0}},w="en",B={};B[w]=b;var F="$isDayjsObject",v=function(D){return D instanceof j||!(!D||!D[F])},N=function D(A,_,I){var E;if(!A)return w;if(typeof A=="string"){var W=A.toLowerCase();B[W]&&(E=W),_&&(B[W]=_,E=W);var U=A.split("-");if(!E&&U.length>1)return D(U[0])}else{var K=A.name;B[K]=A,E=K}return!I&&E&&(w=E),E||!I&&w},P=function(D,A){if(v(D))return D.clone();var _=typeof A=="object"?A:{};return _.date=D,_.args=arguments,new j(_)},O=S;O.l=N,O.i=v,O.w=function(D,A){return P(D,{locale:A.$L,utc:A.$u,x:A.$x,$offset:A.$offset})};var j=function(){function D(_){this.$L=N(_.locale,null,!0),this.parse(_),this.$x=this.$x||_.x||{},this[F]=!0}var A=D.prototype;return A.parse=function(_){this.$d=function(I){var E=I.date,W=I.utc;if(E===null)return new Date(NaN);if(O.u(E))return new Date;if(E instanceof Date)return new Date(E);if(typeof E=="string"&&!/Z$/i.test(E)){var U=E.match(f);if(U){var K=U[2]-1||0,et=(U[7]||"0").substring(0,3);return W?new Date(Date.UTC(U[1],K,U[3]||1,U[4]||0,U[5]||0,U[6]||0,et)):new Date(U[1],K,U[3]||1,U[4]||0,U[5]||0,U[6]||0,et)}}return new Date(E)}(_),this.init()},A.init=function(){var _=this.$d;this.$y=_.getFullYear(),this.$M=_.getMonth(),this.$D=_.getDate(),this.$W=_.getDay(),this.$H=_.getHours(),this.$m=_.getMinutes(),this.$s=_.getSeconds(),this.$ms=_.getMilliseconds()},A.$utils=function(){return O},A.isValid=function(){return this.$d.toString()!==m},A.isSame=function(_,I){var E=P(_);return this.startOf(I)<=E&&E<=this.endOf(I)},A.isAfter=function(_,I){return P(_){},"trace"),debug:g((...e)=>{},"debug"),info:g((...e)=>{},"info"),warn:g((...e)=>{},"warn"),error:g((...e)=>{},"error"),fatal:g((...e)=>{},"fatal")},Ho=g(function(e="fatal"){let t=Re.fatal;typeof e=="string"?e.toLowerCase()in Re&&(t=Re[e]):typeof e=="number"&&(t=e),H.trace=()=>{},H.debug=()=>{},H.info=()=>{},H.warn=()=>{},H.error=()=>{},H.fatal=()=>{},t<=Re.fatal&&(H.fatal=console.error?console.error.bind(console,me("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",me("FATAL"))),t<=Re.error&&(H.error=console.error?console.error.bind(console,me("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",me("ERROR"))),t<=Re.warn&&(H.warn=console.warn?console.warn.bind(console,me("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",me("WARN"))),t<=Re.info&&(H.info=console.info?console.info.bind(console,me("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",me("INFO"))),t<=Re.debug&&(H.debug=console.debug?console.debug.bind(console,me("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",me("DEBUG"))),t<=Re.trace&&(H.trace=console.debug?console.debug.bind(console,me("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",me("TRACE")))},"setLogLevel"),me=g(e=>`%c${im().format("ss.SSS")} : ${e} : `,"format");const ks={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:e=>e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{const t=e/255;return e>.03928?Math.pow((t+.055)/1.055,2.4):t/12.92},hue2rgb:(e,t,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e),hsl2rgb:({h:e,s:t,l:r},i)=>{if(!t)return r*2.55;e/=360,t/=100,r/=100;const s=r<.5?r*(1+t):r+t-r*t,a=2*r-s;switch(i){case"r":return ks.hue2rgb(a,s,e+1/3)*255;case"g":return ks.hue2rgb(a,s,e)*255;case"b":return ks.hue2rgb(a,s,e-1/3)*255}},rgb2hsl:({r:e,g:t,b:r},i)=>{e/=255,t/=255,r/=255;const s=Math.max(e,t,r),a=Math.min(e,t,r),o=(s+a)/2;if(i==="l")return o*100;if(s===a)return 0;const n=s-a,l=o>.5?n/(2-s-a):n/(s+a);if(i==="s")return l*100;switch(s){case e:return((t-r)/n+(tt>r?Math.min(t,Math.max(r,e)):Math.min(r,Math.max(t,e)),round:e=>Math.round(e*1e10)/1e10},am={dec2hex:e=>{const t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}},ft={channel:ks,lang:sm,unit:am},Ve={};for(let e=0;e<=255;e++)Ve[e]=ft.unit.dec2hex(e);const Zt={ALL:0,RGB:1,HSL:2};class om{constructor(){this.type=Zt.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=Zt.ALL}is(t){return this.type===t}}class nm{constructor(t,r){this.color=r,this.changed=!1,this.data=t,this.type=new om}set(t,r){return this.color=r,this.changed=!1,this.data=t,this.type.type=Zt.ALL,this}_ensureHSL(){const t=this.data,{h:r,s:i,l:s}=t;r===void 0&&(t.h=ft.channel.rgb2hsl(t,"h")),i===void 0&&(t.s=ft.channel.rgb2hsl(t,"s")),s===void 0&&(t.l=ft.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r,g:i,b:s}=t;r===void 0&&(t.r=ft.channel.hsl2rgb(t,"r")),i===void 0&&(t.g=ft.channel.hsl2rgb(t,"g")),s===void 0&&(t.b=ft.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,r=t.r;return!this.type.is(Zt.HSL)&&r!==void 0?r:(this._ensureHSL(),ft.channel.hsl2rgb(t,"r"))}get g(){const t=this.data,r=t.g;return!this.type.is(Zt.HSL)&&r!==void 0?r:(this._ensureHSL(),ft.channel.hsl2rgb(t,"g"))}get b(){const t=this.data,r=t.b;return!this.type.is(Zt.HSL)&&r!==void 0?r:(this._ensureHSL(),ft.channel.hsl2rgb(t,"b"))}get h(){const t=this.data,r=t.h;return!this.type.is(Zt.RGB)&&r!==void 0?r:(this._ensureRGB(),ft.channel.rgb2hsl(t,"h"))}get s(){const t=this.data,r=t.s;return!this.type.is(Zt.RGB)&&r!==void 0?r:(this._ensureRGB(),ft.channel.rgb2hsl(t,"s"))}get l(){const t=this.data,r=t.l;return!this.type.is(Zt.RGB)&&r!==void 0?r:(this._ensureRGB(),ft.channel.rgb2hsl(t,"l"))}get a(){return this.data.a}set r(t){this.type.set(Zt.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(Zt.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(Zt.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(Zt.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(Zt.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(Zt.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}const ra=new nm({r:0,g:0,b:0,a:0},"transparent"),Nr={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(e.charCodeAt(0)!==35)return;const t=e.match(Nr.re);if(!t)return;const r=t[1],i=parseInt(r,16),s=r.length,a=s%4===0,o=s>4,n=o?1:17,l=o?8:4,c=a?0:-1,h=o?255:15;return ra.set({r:(i>>l*(c+3)&h)*n,g:(i>>l*(c+2)&h)*n,b:(i>>l*(c+1)&h)*n,a:a?(i&h)*n/255:1},e)},stringify:e=>{const{r:t,g:r,b:i,a:s}=e;return s<1?`#${Ve[Math.round(t)]}${Ve[Math.round(r)]}${Ve[Math.round(i)]}${Ve[Math.round(s*255)]}`:`#${Ve[Math.round(t)]}${Ve[Math.round(r)]}${Ve[Math.round(i)]}`}},gr={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:e=>{const t=e.match(gr.hueRe);if(t){const[,r,i]=t;switch(i){case"grad":return ft.channel.clamp.h(parseFloat(r)*.9);case"rad":return ft.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return ft.channel.clamp.h(parseFloat(r)*360)}}return ft.channel.clamp.h(parseFloat(e))},parse:e=>{const t=e.charCodeAt(0);if(t!==104&&t!==72)return;const r=e.match(gr.re);if(!r)return;const[,i,s,a,o,n]=r;return ra.set({h:gr._hue2deg(i),s:ft.channel.clamp.s(parseFloat(s)),l:ft.channel.clamp.l(parseFloat(a)),a:o?ft.channel.clamp.a(n?parseFloat(o)/100:parseFloat(o)):1},e)},stringify:e=>{const{h:t,s:r,l:i,a:s}=e;return s<1?`hsla(${ft.lang.round(t)}, ${ft.lang.round(r)}%, ${ft.lang.round(i)}%, ${s})`:`hsl(${ft.lang.round(t)}, ${ft.lang.round(r)}%, ${ft.lang.round(i)}%)`}},Ei={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:e=>{e=e.toLowerCase();const t=Ei.colors[e];if(t)return Nr.parse(t)},stringify:e=>{const t=Nr.stringify(e);for(const r in Ei.colors)if(Ei.colors[r]===t)return r}},Bi={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:e=>{const t=e.charCodeAt(0);if(t!==114&&t!==82)return;const r=e.match(Bi.re);if(!r)return;const[,i,s,a,o,n,l,c,h]=r;return ra.set({r:ft.channel.clamp.r(s?parseFloat(i)*2.55:parseFloat(i)),g:ft.channel.clamp.g(o?parseFloat(a)*2.55:parseFloat(a)),b:ft.channel.clamp.b(l?parseFloat(n)*2.55:parseFloat(n)),a:c?ft.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},e)},stringify:e=>{const{r:t,g:r,b:i,a:s}=e;return s<1?`rgba(${ft.lang.round(t)}, ${ft.lang.round(r)}, ${ft.lang.round(i)}, ${ft.lang.round(s)})`:`rgb(${ft.lang.round(t)}, ${ft.lang.round(r)}, ${ft.lang.round(i)})`}},Me={format:{keyword:Ei,hex:Nr,rgb:Bi,rgba:Bi,hsl:gr,hsla:gr},parse:e=>{if(typeof e!="string")return e;const t=Nr.parse(e)||Bi.parse(e)||gr.parse(e)||Ei.parse(e);if(t)return t;throw new Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(Zt.HSL)||e.data.r===void 0?gr.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?Bi.stringify(e):Nr.stringify(e)},Oh=(e,t)=>{const r=Me.parse(e);for(const i in t)r[i]=ft.channel.clamp[i](t[i]);return Me.stringify(r)},Qe=(e,t,r=0,i=1)=>{if(typeof e!="number")return Oh(e,{a:t});const s=ra.set({r:ft.channel.clamp.r(e),g:ft.channel.clamp.g(t),b:ft.channel.clamp.b(r),a:ft.channel.clamp.a(i)});return Me.stringify(s)},lm=e=>{const{r:t,g:r,b:i}=Me.parse(e),s=.2126*ft.channel.toLinear(t)+.7152*ft.channel.toLinear(r)+.0722*ft.channel.toLinear(i);return ft.lang.round(s)},hm=e=>lm(e)>=.5,_e=e=>!hm(e),Ih=(e,t,r)=>{const i=Me.parse(e),s=i[t],a=ft.channel.clamp[t](s+r);return s!==a&&(i[t]=a),Me.stringify(i)},R=(e,t)=>Ih(e,"l",t),q=(e,t)=>Ih(e,"l",-t),x=(e,t)=>{const r=Me.parse(e),i={};for(const s in t)t[s]&&(i[s]=r[s]+t[s]);return Oh(e,i)},cm=(e,t,r=50)=>{const{r:i,g:s,b:a,a:o}=Me.parse(e),{r:n,g:l,b:c,a:h}=Me.parse(t),d=r/100,p=d*2-1,u=o-h,m=((p*u===-1?p:(p+u)/(1+p*u))+1)/2,f=1-m,C=i*m+n*f,b=s*m+l*f,k=a*m+c*f,S=o*d+h*(1-d);return Qe(C,b,k,S)},L=(e,t=100)=>{const r=Me.parse(e);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,cm(r,e,t)};/*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */function ul(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,i=Array(t);r2?i-2:0),a=2;a1?r-1:0),s=1;s"u"?null:qt(BigInt.prototype.toString),Cl=typeof Symbol>"u"?null:qt(Symbol.prototype.toString),he=qt(Object.prototype.hasOwnProperty),Ci=qt(Object.prototype.toString),Vt=qt(RegExp.prototype.test),lr=wm(TypeError);function qt(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var r=arguments.length,i=new Array(r>1?r-1:0),s=1;s2&&arguments[2]!==void 0?arguments[2]:_i;if(pl&&pl(e,null),!zr(t))return e;let i=t.length;for(;i--;){let s=t[i];if(typeof s=="string"){const a=r(s);a!==s&&(mm(t)||(t[i]=a),s=a)}e[s]=!0}return e}function Bm(e){for(let t=0;t/g),Mm=Ut(/\${[\w\W]*/g),$m=Ut(/^data-[\-\w.\u00B7-\uFFFF]+$/),Om=Ut(/^aria-[\-\w]+$/),Sl=Ut(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Im=Ut(/^(?:\w+script|data):/i),Dm=Ut(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Pm=Ut(/^html$/i),Rm=Ut(/^[a-z][.\w]*(-[.\w]+)+$/i),wl=Ut(/<[/\w!]/g),Bl=Ut(/<[/\w]/g),qm=Ut(/<\/no(script|embed|frames)/i),Wm=Ut(/\/>/i),ue={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Rh=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],Nm=Nt(St({},Rh)),zm=function(){const e={};return dr(Rh,t=>{e[t]=Ut(new RegExp("])","i"))}),Nt(e)}(),Hm=function(){return typeof window>"u"?null:window},Ym=function(t,r){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null;const s="data-tt-policy-suffix";r&&r.hasAttribute(s)&&(i=r.getAttribute(s));const a="dompurify"+(i?"#"+i:"");try{return t.createPolicy(a,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},_l=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Xe=function(t,r,i,s){return he(t,r)&&zr(t[r])?St(s.base?ge(s.base):{},t[r],s.transform):i},Ia=function(t,r,i){const s=he(t,r)?t[r]:void 0;return s&&typeof s=="object"?ge(s):i()};function qh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Hm();const t=G=>qh(G);if(t.version="3.4.14",t.removed=[],!e||!e.document||e.document.nodeType!==ue.document||!e.Element)return t.isSupported=!1,t;let r=e.document;const i=r,s=i.currentScript;e.DocumentFragment;const a=e.HTMLTemplateElement,o=e.Node,n=e.Element,l=e.NodeFilter,c=e.NamedNodeMap;c===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const h=e.DOMParser,d=e.trustedTypes,p=n.prototype,u=Ce(p,"cloneNode"),y=Ce(p,"remove"),m=Ce(p,"nextSibling"),f=Ce(p,"childNodes"),C=Ce(p,"parentNode"),b=Ce(p,"shadowRoot"),k=Ce(p,"attributes"),S=o&&o.prototype?Ce(o.prototype,"nodeType"):null,w=o&&o.prototype?Ce(o.prototype,"nodeName"):null,B=o&&o.prototype?Ce(o.prototype,"ownerDocument"):null,F=function(T){return S?S(T):T.nodeType},v=function(T){return w?w(T):T.nodeName};if(typeof a=="function"){const G=r.createElement("template");G.content&&G.content.ownerDocument&&(r=G.content.ownerDocument)}let N,P="",O,j=!1,z=0;const D=function(){if(z>0)throw lr('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},A=function(T){D(),z++;try{return N.createHTML(T)}finally{z--}},_=function(T){D(),z++;try{return N.createScriptURL(T)}finally{z--}},I=function(){return j||(O=Ym(d,s),j=!0),O},E=r,W=E.implementation,U=E.createNodeIterator,K=E.createDocumentFragment,et=E.getElementsByTagName,nt=i.importNode;let X=_l();t.isSupported=typeof Dh=="function"&&typeof C=="function"&&W&&W.createHTMLDocument!==void 0;const ct=Am,bt=Em,xt=Mm,vt=$m,Lt=Om,V=Im,st=Dm,mt=Rm;let kt=Sl,$=null;const ht=St({},[...xl,...Ea,...Ma,...$a,...bl]);let At=null;const Ji=St({},[...kl,...Oa,...Tl,...us]);let ae=Object.seal(Ir(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),pi=null,qn=null;const Ue=Object.seal(Ir(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Wn=!0,ya=!0,Nn=!1,zn=!0,je=!1,ar=!0,or=!1,Ca=!1,ts=null,es=null,xa=!1,_r=!1,rs=!1,is=!1,Hn=!0,Yn=!1;const Un="user-content-";let ba=!0,ka=!1,vr={},Lr=null;const jn=St({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Gn=null;const Xn=St({},["audio","video","img","source","image","track"]);let Vn=null;const Zn=St({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ss="http://www.w3.org/1998/Math/MathML",as="http://www.w3.org/2000/svg",ve="http://www.w3.org/1999/xhtml";let Fr=ve,Ta=!1,Sa=null;const If=St({},[ss,as,ve],Aa),Kn=Nt(["mi","mo","mn","ms","mtext"]);let wa=St({},Kn);const Qn=Nt(["annotation-xml"]);let Ba=St({},Qn);const Df=St({},["title","style","font","a","script"]);let gi=null;const Pf=["application/xhtml+xml","text/html"],Rf="text/html";let Dt=null,Ar=null;const qf=r.createElement("form"),Jn=function(T){return T instanceof RegExp||T instanceof Function},_a=function(){let T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Ar&&Ar===T)return;(!T||typeof T!="object")&&(T={}),T=ge(T),gi=Pf.indexOf(T.PARSER_MEDIA_TYPE)===-1?Rf:T.PARSER_MEDIA_TYPE,Dt=gi==="application/xhtml+xml"?Aa:_i,$=Xe(T,"ALLOWED_TAGS",ht,{transform:Dt}),At=Xe(T,"ALLOWED_ATTR",Ji,{transform:Dt}),Sa=Xe(T,"ALLOWED_NAMESPACES",If,{transform:Aa}),Vn=Xe(T,"ADD_URI_SAFE_ATTR",Zn,{transform:Dt,base:Zn}),Gn=Xe(T,"ADD_DATA_URI_TAGS",Xn,{transform:Dt,base:Xn}),Lr=Xe(T,"FORBID_CONTENTS",jn,{transform:Dt}),pi=Xe(T,"FORBID_TAGS",ge({}),{transform:Dt}),qn=Xe(T,"FORBID_ATTR",ge({}),{transform:Dt}),vr=he(T,"USE_PROFILES")?T.USE_PROFILES&&typeof T.USE_PROFILES=="object"?ge(T.USE_PROFILES):T.USE_PROFILES:!1,Wn=T.ALLOW_ARIA_ATTR!==!1,ya=T.ALLOW_DATA_ATTR!==!1,Nn=T.ALLOW_UNKNOWN_PROTOCOLS||!1,zn=T.ALLOW_SELF_CLOSE_IN_ATTR!==!1,je=T.SAFE_FOR_TEMPLATES||!1,ar=T.SAFE_FOR_XML!==!1,or=T.WHOLE_DOCUMENT||!1,_r=T.RETURN_DOM||!1,rs=T.RETURN_DOM_FRAGMENT||!1,is=T.RETURN_TRUSTED_TYPE||!1,xa=T.FORCE_BODY||!1,Hn=T.SANITIZE_DOM!==!1,Yn=T.SANITIZE_NAMED_PROPS||!1,ba=T.KEEP_CONTENT!==!1,ka=T.IN_PLACE||!1,kt=vm(T.ALLOWED_URI_REGEXP)?T.ALLOWED_URI_REGEXP:Sl,Fr=typeof T.NAMESPACE=="string"?T.NAMESPACE:ve,wa=Ia(T,"MATHML_TEXT_INTEGRATION_POINTS",()=>St({},Kn)),Ba=Ia(T,"HTML_INTEGRATION_POINTS",()=>St({},Qn));const M=Ia(T,"CUSTOM_ELEMENT_HANDLING",()=>Ir(null));if(ae=Ir(null),he(M,"tagNameCheck")&&Jn(M.tagNameCheck)&&(ae.tagNameCheck=M.tagNameCheck),he(M,"attributeNameCheck")&&Jn(M.attributeNameCheck)&&(ae.attributeNameCheck=M.attributeNameCheck),he(M,"allowCustomizedBuiltInElements")&&typeof M.allowCustomizedBuiltInElements=="boolean"&&(ae.allowCustomizedBuiltInElements=M.allowCustomizedBuiltInElements),Ut(ae),je&&(ya=!1),rs&&(_r=!0),vr&&($=St({},bl),At=Ir(null),vr.html===!0&&(St($,xl),St(At,kl)),vr.svg===!0&&(St($,Ea),St(At,Oa),St(At,us)),vr.svgFilters===!0&&(St($,Ma),St(At,Oa),St(At,us)),vr.mathMl===!0&&(St($,$a),St(At,Tl),St(At,us))),Ue.tagCheck=null,Ue.attributeCheck=null,he(T,"ADD_TAGS")&&(typeof T.ADD_TAGS=="function"?Ue.tagCheck=T.ADD_TAGS:zr(T.ADD_TAGS)&&($===ht&&($=ge($)),St($,T.ADD_TAGS,Dt))),he(T,"ADD_ATTR")&&(typeof T.ADD_ATTR=="function"?Ue.attributeCheck=T.ADD_ATTR:zr(T.ADD_ATTR)&&(At===Ji&&(At=ge(At)),St(At,T.ADD_ATTR,Dt))),he(T,"ADD_FORBID_CONTENTS")&&zr(T.ADD_FORBID_CONTENTS)&&(Lr===jn&&(Lr=ge(Lr)),St(Lr,T.ADD_FORBID_CONTENTS,Dt)),ba&&($["#text"]=!0),or&&St($,["html","head","body"]),$.table&&(St($,["tbody"]),delete pi.tbody),T.TRUSTED_TYPES_POLICY){if(typeof T.TRUSTED_TYPES_POLICY.createHTML!="function")throw lr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof T.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw lr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const Y=N;N=T.TRUSTED_TYPES_POLICY;try{P=A("")}catch(Z){throw N=Y,Z}}else T.TRUSTED_TYPES_POLICY===null?(N=void 0,P=""):(N===void 0&&(N=I()),N&&typeof P=="string"&&(P=A("")));Nt&&Nt(T),Ar=T},tl=St({},[...Ea,...Ma,...Lm]),el=St({},[...$a,...Fm]),Wf=function(T,M,Y){return M.namespaceURI===ve?T==="svg":M.namespaceURI===ss?T==="svg"&&(Y==="annotation-xml"||wa[Y]):!!tl[T]},Nf=function(T,M,Y){return M.namespaceURI===ve?T==="math":M.namespaceURI===as?T==="math"&&Ba[Y]:!!el[T]},zf=function(T,M,Y){return M.namespaceURI===as&&!Ba[Y]||M.namespaceURI===ss&&!wa[Y]?!1:!el[T]&&(Df[T]||!tl[T])},Hf=function(T){let M=C(T);(!M||!M.tagName)&&(M={namespaceURI:Fr,tagName:"template"});const Y=_i(T.tagName),Z=_i(M.tagName);return Sa[T.namespaceURI]?T.namespaceURI===as?Wf(Y,M,Z):T.namespaceURI===ss?Nf(Y,M,Z):T.namespaceURI===ve?zf(Y,M,Z):!!(gi==="application/xhtml+xml"&&Sa[T.namespaceURI]):!1},Ge=function(T){mi(t.removed,{element:T});try{C(T).removeChild(T)}catch{if(y(T),!C(T))throw lr("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},rl=function(T,M,Y){try{T.removeAttributeNode(M)}catch{try{T.removeAttribute(Y)}catch{}}},os=function(T){ns(T);const M=f(T);if(M){const Z=[];dr(M,at=>{mi(Z,at)}),dr(Z,at=>{try{y(at)}catch{}})}const Y=k(T);if(Y)for(let Z=Y.length-1;Z>=0;--Z){const at=Y[Z],gt=at&&at.name;typeof gt=="string"&&rl(T,at,gt)}},nr=function(T,M,Y){if(!Y)try{Y=M.getAttributeNode(T)}catch{Y=null}mi(t.removed,{attribute:Y||null,from:M});try{Y?M.removeAttributeNode(Y):M.removeAttribute(T)}catch{try{M.removeAttribute(T)}catch{}}if(T==="is")if(_r||rs)try{Ge(M)}catch{}else try{M.setAttribute(T,"")}catch{}},Yf=function(T){const M=k(T);if(M)for(let Y=M.length-1;Y>=0;--Y){const Z=M[Y],at=Z&&Z.name;typeof at!="string"||At[Dt(at)]||rl(T,Z,at)}},ns=function(T){const M=[T];for(;M.length>0;){const Y=M.pop();F(Y)===ue.element&&Yf(Y);const at=f(Y);if(at)for(let gt=at.length-1;gt>=0;--gt)M.push(at[gt])}},il=function(T,M){return ar?T==="patchsrc"?!0:T==="for"&&M!=="label"&&M!=="output":!1},Uf=function(T){if(!ar)return;const M=[T];for(;M.length>0;){const Y=M.pop(),Z=F(Y);if(Z===ue.processingInstruction||Z===ue.comment&&Vt(Bl,Y.data)){try{y(Y)}catch{}continue}if(Z===ue.element){const gt=Y,Et=Dt(v(Y));try{gt.hasAttribute&>.hasAttribute("patchsrc")&>.removeAttribute("patchsrc"),gt.hasAttribute&>.hasAttribute("for")&&il("for",Et)&>.removeAttribute("for")}catch{}}const at=f(Y);if(at)for(let gt=at.length-1;gt>=0;--gt)M.push(at[gt])}},sl=function(T){let M=null,Y=null;if(xa)T=""+T;else{const gt=fl(T,/^[\r\n\t ]+/);Y=gt&>[0]}gi==="application/xhtml+xml"&&Fr===ve&&(T=''+T+"");const Z=N?A(T):T;if(Fr===ve)try{M=new h().parseFromString(Z,gi)}catch{}if(!M||!M.documentElement){M=W.createDocument(Fr,"template",null);try{M.documentElement.innerHTML=Ta?P:Z}catch{}}const at=M.body||M.documentElement;return T&&Y&&at.insertBefore(r.createTextNode(Y),at.childNodes[0]||null),Fr===ve?et.call(M,or?"html":"body")[0]:or?M.documentElement:at},al=function(T){const M=B?B(T):T.ownerDocument;return U.call(M||T,T,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},ls=function(T){return T=yi(T,ct," "),T=yi(T,bt," "),T=yi(T,xt," "),T},va=function(T){var M;T.normalize();const Y=B?B(T):T.ownerDocument,Z=U.call(Y||T,T,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null);let at=Z.nextNode();for(;at;)at.data=ls(at.data),at=Z.nextNode();const gt=(M=T.querySelectorAll)===null||M===void 0?void 0:M.call(T,"template");gt&&dr(gt,Et=>{Er(Et.content)&&va(Et.content)})},hs=function(T){const M=w?w(T):null;return typeof M!="string"||Dt(M)!=="form"?!1:typeof T.nodeName!="string"||typeof T.textContent!="string"||typeof T.removeChild!="function"||T.attributes!==k(T)||typeof T.removeAttribute!="function"||typeof T.setAttribute!="function"||typeof T.namespaceURI!="string"||typeof T.insertBefore!="function"||typeof T.hasChildNodes!="function"||T.nodeType!==S(T)||T.childNodes!==f(T)},Er=function(T){if(!S||typeof T!="object"||T===null)return!1;try{return S(T)===ue.documentFragment}catch{return!1}},fi=function(T){if(!S||typeof T!="object"||T===null)return!1;try{return typeof S(T)=="number"}catch{return!1}};function Le(G,T,M){G.length!==0&&dr(G,Y=>{Y.call(t,T,M,Ar)})}const jf=function(T,M){return!!(ar&&T.hasChildNodes()&&!fi(T.firstElementChild)&&Vt(wl,T.textContent)&&Vt(wl,T.innerHTML)||ar&&T.namespaceURI===ve&&Nm[M]&&(fi(T.firstElementChild)||typeof T.textContent=="string"&&Vt(zm[M],T.textContent))||T.nodeType===ue.processingInstruction||ar&&T.nodeType===ue.comment&&Vt(Bl,T.data))},cs=function(T,M){if(T instanceof RegExp)return Vt(T,M);if(T instanceof Function){for(var Y=arguments.length,Z=new Array(Y>2?Y-2:0),at=2;at=0;--Et){const $t=T===Y?u(at[Et],!0):at[Et];Z.insertBefore($t,m(T))}}}return Ge(T),!0},ol=function(T,M,Y,Z){return T.length===0?M:M===Y||M===Z?ge(M):M},nl=function(T,M){return T===M||C(T)!==null?!1:(ka&&ns(T),!0)},ll=function(T,M){if(Le(X.beforeSanitizeElements,T,null),nl(T,M))return!0;if(hs(T))return Ge(T),!0;const Y=Dt(v(T));if($=ol(X.uponSanitizeElement,$,ht,ts),Le(X.uponSanitizeElement,T,{tagName:Y,allowedTags:$}),nl(T,M))return!0;if(jf(T,Y))return Ge(T),!0;if(pi[Y]||!(Ue.tagCheck instanceof Function&&Ue.tagCheck(Y))&&!$[Y]){const at=Gf(T,Y,M);return at===!1&&Le(X.afterSanitizeElements,T,null),at}if(F(T)===ue.element&&!Hf(T)||(Y==="noscript"||Y==="noembed"||Y==="noframes")&&Vt(qm,T.innerHTML))return Ge(T),!0;if(je&&T.nodeType===ue.text){const at=ls(T.textContent);T.textContent!==at&&(mi(t.removed,{element:T.cloneNode()}),T.textContent=at)}return Le(X.afterSanitizeElements,T,null),!1},hl=function(T,M,Y){if(qn[M]||il(M,T)||Hn&&(M==="id"||M==="name")&&(Y in r||Y in qf))return!1;const Z=At[M]||Ue.attributeCheck instanceof Function&&Ue.attributeCheck(M,T);return ya&&Vt(vt,M)||Wn&&Vt(Lt,M)?!0:Z?Vn[M]||Vt(kt,yi(Y,st,""))||(M==="src"||M==="xlink:href"||M==="href")&&T!=="script"&&ml(Y,"data:")===0&&Gn[T]||Nn&&!Vt(V,yi(Y,st,""))?!0:!Y:cl(T)&&cs(ae.tagNameCheck,T)&&cs(ae.attributeNameCheck,M,T)||M==="is"&&ae.allowCustomizedBuiltInElements&&cs(ae.tagNameCheck,Y)},Xf=St({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),cl=function(T){return!Xf[_i(T)]&&Vt(mt,T)},Vf=function(T,M,Y,Z){if(N&&typeof d=="object"&&typeof d.getAttributeType=="function"&&!Y)switch(d.getAttributeType(T,M)){case"TrustedHTML":return A(Z);case"TrustedScriptURL":return _(Z)}return Z},Zf=function(T,M,Y,Z){try{Y?T.setAttributeNS(Y,M,Z):T.setAttribute(M,Z),hs(T)?Ge(T):gl(t.removed)}catch{nr(M,T)}},dl=function(T){Le(X.beforeSanitizeAttributes,T,null);const M=T.attributes;if(!M||hs(T))return;At=ol(X.uponSanitizeAttribute,At,Ji,es);const Y={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:At,forceKeepAttr:void 0};let Z=M.length;const at=Dt(T.nodeName);for(;Z--;){const gt=M[Z],Et=gt.name,$t=gt.namespaceURI,oe=gt.value,ne=Dt(Et),Fa=oe;let ee=Et==="value"?Fa:km(Fa);if(Y.attrName=ne,Y.attrValue=ee,Y.keepAttr=!0,Y.forceKeepAttr=void 0,Le(X.uponSanitizeAttribute,T,Y),ee=Y.attrValue,Yn&&(ne==="id"||ne==="name")&&ml(ee,Un)!==0&&(nr(Et,T,gt),ee=Un+ee),ar&&Vt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,ee)){nr(Et,T,gt);continue}if(ne==="attributename"&&fl(ee,"href")){nr(Et,T,gt);continue}if(!Y.forceKeepAttr){if(!Y.keepAttr){nr(Et,T,gt);continue}if(!zn&&Vt(Wm,ee)){nr(Et,T,gt);continue}if(je&&(ee=ls(ee)),!hl(at,ne,ee)){nr(Et,T,gt);continue}ee=Vf(at,ne,$t,ee),ee!==Fa&&Zf(T,Et,$t,ee)}}Le(X.afterSanitizeAttributes,T,null)},ds=function(T){let M=null;const Y=al(T);for(Le(X.beforeSanitizeShadowDOM,T,null);M=Y.nextNode();)if(Le(X.uponSanitizeShadowNode,M,null),ll(M,T),dl(M),Er(M.content)&&ds(M.content),F(M)===ue.element){const Z=b(M);Er(Z)&&(La(Z),ds(Z))}Le(X.afterSanitizeShadowDOM,T,null)},La=function(T){const M=[{node:T,shadow:null}];for(;M.length>0;){const Y=M.pop();if(Y.shadow){ds(Y.shadow);continue}const Z=Y.node,gt=F(Z)===ue.element,Et=f(Z);if(Et)for(let $t=Et.length-1;$t>=0;--$t)M.push({node:Et[$t],shadow:null});if(gt){const $t=w?w(Z):null;if(typeof $t=="string"&&Dt($t)==="template"){const oe=Z.content;Er(oe)&&M.push({node:oe,shadow:null})}}if(gt){const $t=b(Z);Er($t)&&M.push({node:null,shadow:$t},{node:$t,shadow:null})}}};return t.sanitize=function(G){let T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},M=null,Y=null,Z=null,at=null;if(Ta=!G,Ta&&(G=""),typeof G!="string"&&!fi(G)&&(G=_m(G),typeof G!="string"))throw lr("dirty is not a string, aborting");if(!t.isSupported)return G;Ca?($=ts,At=es):_a(T),(X.uponSanitizeElement.length>0||X.uponSanitizeAttribute.length>0)&&($=ge($)),X.uponSanitizeAttribute.length>0&&(At=ge(At)),t.removed=[];const gt=ka&&typeof G!="string"&&fi(G);if(gt){Uf(G);const oe=v(G);if(typeof oe=="string"){const ne=Dt(oe);if(!$[ne]||pi[ne])throw os(G),lr("root node is forbidden and cannot be sanitized in-place")}if(hs(G))throw os(G),lr("root node is clobbered and cannot be sanitized in-place");try{La(G)}catch(ne){throw os(G),ne}}else if(fi(G))M=sl(""),Y=M.ownerDocument.importNode(G,!0),Y.nodeType===ue.element&&Y.nodeName==="BODY"||Y.nodeName==="HTML"?M=Y:M.appendChild(Y),La(Y);else{if(!_r&&!je&&!or&&G.indexOf("<")===-1)return N&&is?A(G):G;if(M=sl(G),!M)return _r?null:is?P:""}M&&xa&&Ge(M.firstChild);const Et=gt?G:M;try{const oe=al(Et);for(;Z=oe.nextNode();)ll(Z,Et),dl(Z),Er(Z.content)&&ds(Z.content)}catch(oe){throw gt&&(os(G),dr(t.removed,ne=>{ne.element&&ns(ne.element)})),oe}if(gt)return dr(t.removed,oe=>{oe.element&&ns(oe.element)}),je&&va(G),G;if(_r){if(je&&va(M),rs)for(at=K.call(M.ownerDocument);M.firstChild;)at.appendChild(M.firstChild);else at=M;return(At.shadowroot||At.shadowrootmode)&&(at=nt.call(i,at,!0)),at}let $t=or?M.outerHTML:M.innerHTML;return or&&$["!doctype"]&&M.ownerDocument&&M.ownerDocument.doctype&&M.ownerDocument.doctype.name&&Vt(Pm,M.ownerDocument.doctype.name)&&($t=" `+$t),je&&($t=ls($t)),N&&is?A($t):$t},t.setConfig=function(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};_a(G),Ca=!0,ts=$,es=At},t.clearConfig=function(){Ar=null,Ca=!1,ts=null,es=null,N=O,P=""},t.isValidAttribute=function(G,T,M){Ar||_a({});const Y=Dt(G),Z=Dt(T);return hl(Y,Z,M)},t.addHook=function(G,T){typeof T=="function"&&he(X,G)&&mi(X[G],T)},t.removeHook=function(G,T){if(he(X,G)){if(T!==void 0){const M=xm(X[G],T);return M===-1?void 0:bm(X[G],M,1)[0]}return gl(X[G])}},t.removeHooks=function(G){he(X,G)&&(X[G]=[])},t.removeAllHooks=function(){X=_l()},t}var si=qh(),Ka=g((e,t,{depth:r=2}={})=>{const i={depth:r};if(Array.isArray(t)&&!Array.isArray(e))return t.forEach(s=>Ka(e,s,i)),e;if(Array.isArray(t)&&Array.isArray(e))return t.forEach(s=>{e.includes(s)||e.push(s)}),e;if(e==null||r<=0)return e!=null&&typeof e=="object"&&typeof t=="object"?Object.assign(e,t):t;if(t!=null&&typeof e=="object"&&typeof t=="object"){const s=e;Object.entries(t).forEach(([a,o])=>{if(typeof o=="object"){if(o===null)return;Object.hasOwn(e,a)||Object.defineProperty(e,a,{value:void 0,writable:!0,enumerable:!0,configurable:!0}),s[a]===void 0&&(s[a]=Array.isArray(o)?[]:{}),typeof s[a]=="object"&&(s[a]=Ka(s[a],o,{depth:r-1}))}else typeof s[a]!="object"&&(Object.hasOwn(e,a)?s[a]=o:Object.defineProperty(e,a,{value:o,writable:!0,enumerable:!0,configurable:!0}))})}return e},"assignWithDepth"),Ht=Ka,Oe="#ffffff",Ie="#f2f2f2",pt=g((e,t)=>t?x(e,{s:-40,l:10}):x(e,{s:-40,l:-10}),"mkBorder"),Yr,Um=(Yr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var r,i,s,a,o,n,l,c,h,d,p,u,y,m,f,C,b,k,S,w,B,F,v,N,P,O,j,z,D,A,_,I,E,W,U,K,et,nt,X,ct,bt,xt,vt,Lt,V,st,mt,kt,$;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||R(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||q(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||q(this.mainBkg,10)):(this.rowOdd=this.rowOdd||R(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||R(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.darkMode)for(let ht=0;ht{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Yr,"Theme"),Yr),jm=g(e=>{const t=new Um;return t.calculate(e),t},"getThemeVariables"),Ur,Gm=(Ur=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=R(this.primaryColor,16),this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=L(this.background),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.tertiaryColor),this.lineColor=L(this.background),this.textColor=L(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=R(L("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=Qe(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=q("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=q(this.sectionBkgColor,10),this.taskBorderColor=Qe(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Qe(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||R(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||q(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){var t,r,i,s,a,o,n,l,c,h,d,p,u,y,m,f,C,b,k,S,w,B,F,v,N,P,O,j,z,D,A,_,I,E,W,U,K,et,nt,X,ct,bt,xt,vt,Lt,V,st,mt,kt;this.secondBkg=R(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=R(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.background,this.taskBkgColor=R(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=L(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=x(this.primaryColor,{h:64}),this.fillType3=x(this.secondaryColor,{h:64}),this.fillType4=x(this.primaryColor,{h:-64}),this.fillType5=x(this.secondaryColor,{h:-64}),this.fillType6=x(this.primaryColor,{h:128}),this.fillType7=x(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330});for(let $=0;${this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Ur,"Theme"),Ur),Xm=g(e=>{const t=new Gm;return t.calculate(e),t},"getThemeVariables"),jr,Vm=(jr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=x(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.tertiaryColor),this.lineColor=L(this.background),this.textColor=L(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=pt(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=Qe(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){var t,r,i,s,a,o,n,l,c,h,d,p,u,y,m,f,C,b,k,S,w,B,F,v,N,P,O,j,z,D,A,_,I,E,W,U,K,et,nt,X,ct,bt,xt,vt,Lt,V,st,mt,kt;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||q(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||q(this.tertiaryColor,40);for(let $=0;${this[i]==="calculated"&&(this[i]=void 0)}),typeof t!="object"){this.updateColors();return}const r=Object.keys(t);r.forEach(i=>{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(jr,"Theme"),jr),Zm=g(e=>{const t=new Vm;return t.calculate(e),t},"getThemeVariables"),Gr,Km=(Gr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=R("#cde498",10),this.primaryBorderColor=pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.primaryColor),this.lineColor=L(this.background),this.textColor=L(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){var t,r,i,s,a,o,n,l,c,h,d,p,u,y,m,f,C,b,k,S,w,B,F,v,N,P,O,j,z,D,A,_,I,E,W,U,K,et,nt,X,ct,bt,xt,vt,Lt,V,st,mt,kt;this.actorBorder=q(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||q(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||q(this.tertiaryColor,40);for(let $=0;${this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Gr,"Theme"),Gr),Qm=g(e=>{const t=new Km;return t.calculate(e),t},"getThemeVariables"),Xr,Jm=(Xr=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=R(this.contrast,55),this.background="#ffffff",this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.tertiaryColor),this.lineColor=L(this.background),this.textColor=L(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||R(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var t,r,i,s,a,o,n,l,c,h,d,p,u,y,m,f,C,b,k,S,w,B,F,v,N,P,O,j,z,D,A,_,I,E,W,U,K,et,nt,X,ct,bt,xt,vt,Lt,V,st,mt,kt;this.secondBkg=R(this.contrast,55),this.border2=this.contrast,this.actorBorder=R(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let $=0;${this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Xr,"Theme"),Xr),ty=g(e=>{const t=new Jm;return t.calculate(e),t},"getThemeVariables"),Vr,ey=(Vr=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=pt(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var a,o,n,l,c,h,d,p,u,y,m;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const t="#ECECFE",r="#E9E9F1",i=x(t,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||R(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||t,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||i,this.cScale3=this.cScale3||x(t,{h:30}),this.cScale4=this.cScale4||x(t,{h:60}),this.cScale5=this.cScale5||x(t,{h:90}),this.cScale6=this.cScale6||x(t,{h:120}),this.cScale7=this.cScale7||x(t,{h:150}),this.cScale8=this.cScale8||x(t,{h:210,l:150}),this.cScale9=this.cScale9||x(t,{h:270}),this.cScale10=this.cScale10||x(t,{h:300}),this.cScale11=this.cScale11||x(t,{h:330}),this.darkMode)for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Vr,"Theme"),Vr),ry=g(e=>{const t=new ey;return t.calculate(e),t},"getThemeVariables"),Zr,iy=(Zr=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=R(this.primaryColor,16),this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=L(this.background),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=R(L("#323D47"),10),this.border1="#ccc",this.border2=Qe(255,255,255,.25),this.arrowheadColor=L(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var r,i,s,a,o,n,l,c,h,d,p;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||R(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.darkMode)for(let u=0;u{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Zr,"Theme"),Zr),sy=g(e=>{const t=new iy;return t.calculate(e),t},"getThemeVariables"),Kr,ay=(Kr=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=pt("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){var a,o,n,l,c,h,d,p,u,y,m;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const t="#ECECFE",r="#E9E9F1",i=x(t,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||R(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Kr,"Theme"),Kr),oy=g(e=>{const t=new ay;return t.calculate(e),t},"getThemeVariables"),Qr,ny=(Qr=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=R(this.primaryColor,16),this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=L(this.background),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=R(L("#323D47"),10),this.border1="#ccc",this.border2=Qe(255,255,255,.25),this.arrowheadColor=L(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){var r,i,s,a,o,n,l,c,h,d,p;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||R(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.darkMode)for(let u=0;u{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Qr,"Theme"),Qr),ly=g(e=>{const t=new ny;return t.calculate(e),t},"getThemeVariables"),Jr,hy=(Jr=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=pt(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){var a,o,n,l,c,h,d,p,u,y,m;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const t="#ECECFE",r="#E9E9F1",i=x(t,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||R(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Jr,"Theme"),Jr),cy=g(e=>{const t=new hy;return t.calculate(e),t},"getThemeVariables"),ti,dy=(ti=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=R(this.primaryColor,16),this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=L(this.background),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=R(L("#323D47"),10),this.border1="#ccc",this.border2=Qe(255,255,255,.25),this.arrowheadColor=L(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){var r,i,s,a,o,n,l,c,h,d,p;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||R(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let u=0;u{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(ti,"Theme"),ti),uy=g(e=>{const t=new dy;return t.calculate(e),t},"getThemeVariables"),Ne={base:{getThemeVariables:jm},dark:{getThemeVariables:Xm},default:{getThemeVariables:Zm},forest:{getThemeVariables:Qm},neutral:{getThemeVariables:ty},neo:{getThemeVariables:ry},"neo-dark":{getThemeVariables:sy},redux:{getThemeVariables:oy},"redux-dark":{getThemeVariables:ly},"redux-color":{getThemeVariables:cy},"redux-dark-color":{getThemeVariables:uy}},jt={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},swimlane:{useMaxWidth:!0,lineHops:"arc",ignoreCrossLaneEdges:!0,optimizeRanksByCrossings:!0,automaticLaneOrdering:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75,donutHole:0,legendPosition:"right",highlightSlice:""},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2,labelRotation:0},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2,labelRotation:0},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:"",nodeWidth:10,nodePadding:12,labelStyle:"legacy"},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1,showIcons:!1,defaultIconPack:"",filenameIcons:{},extensionIcons:{}},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1,nodeSeparation:75,idealEdgeLengthMultiplier:1.5,edgeElasticity:.45,numIter:2500,seed:1},eventmodeling:{useMaxWidth:!0,padding:30,rowHeight:32},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},cynefin:{useMaxWidth:!0,width:800,height:600,padding:40,showDomainDescriptions:!0,boundaryAmplitude:8,seed:0},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},Wh={...jt,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:Ne.default.getThemeVariables(),sequence:{...jt.sequence,messageFont:g(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:g(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:g(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},gantt:{...jt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...jt.c4,useWidth:void 0,personFont:g(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...jt.flowchart,inheritDir:!1},external_personFont:g(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:g(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:g(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:g(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:g(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:g(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:g(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:g(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:g(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:g(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:g(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:g(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:g(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:g(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:g(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:g(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:g(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:g(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:g(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:g(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:g(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...jt.pie,useWidth:984},xyChart:{...jt.xyChart,useWidth:void 0},requirement:{...jt.requirement,useWidth:void 0},packet:{...jt.packet},eventmodeling:{...jt.eventmodeling},treeView:{...jt.treeView,useWidth:void 0},radar:{...jt.radar},railroad:{...jt.railroad,fontSize:void 0,fontFamily:void 0,terminalFill:void 0,terminalStroke:void 0,terminalTextColor:void 0,nonTerminalFill:void 0,nonTerminalStroke:void 0,nonTerminalTextColor:void 0,lineColor:void 0,markerFill:void 0,commentFill:void 0,commentStroke:void 0,commentTextColor:void 0,specialFill:void 0,specialStroke:void 0,ruleNameColor:void 0},ishikawa:{...jt.ishikawa},sankey:{...jt.sankey,nodeColors:void 0},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...jt.venn},cynefin:{...jt.cynefin}},Nh=g((e,t="")=>Object.keys(e).reduce((r,i)=>Array.isArray(e[i])?r:typeof e[i]=="object"&&e[i]!==null?[...r,t+i,...Nh(e[i],"")]:[...r,t+i],[]),"keyify"),py=new Set(Nh(Wh,"")),zh=Wh,gy={nodeColors:/^#[\da-f]{3,8}$|^rgb\([\d\s%,.]+\)$|^hsl\([\d\s%,.]+\)$|^[a-z]+$/i,filenameIcons:/^[\w-]+(?::[\w-]+)?$/,extensionIcons:/^[\w-]+(?::[\w-]+)?$/},fy=g((e,t)=>{for(const r of Object.keys(e)){const i=e[r];(r.startsWith("__")||r.includes("proto")||r.includes("constr")||typeof i!="string"||!t.test(i))&&(H.debug("sanitize deleting dictionary entry:",r,i),delete e[r])}},"sanitizeDictionaryConfig"),Es=g(e=>{if(H.debug("sanitizeDirective called with",e),!(typeof e!="object"||e==null)){if(Array.isArray(e)){e.forEach(t=>Es(t));return}for(const t of Object.keys(e)){if(H.debug("Checking key",t),t.startsWith("__")||t.includes("proto")||t.includes("constr")||!py.has(t)||e[t]==null){H.debug("sanitize deleting key: ",t),delete e[t];continue}if(typeof e[t]=="object"){const i=gy[t];i?fy(e[t],i):(H.debug("sanitizing object",t),Es(e[t]));continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const i of r)t.includes(i)&&(H.debug("sanitizing css option",t),e[t]=Hh(e[t]))}if(e.themeVariables)for(const t of Object.keys(e.themeVariables)){const r=e.themeVariables[t];r!=null&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(e.themeVariables[t]="")}H.debug("After sanitization",e)}},"sanitizeDirective"),Hh=g(e=>{let t=0,r=0;for(const i of e){if(t!(e===!1||["false","null","0"].includes(String(e).trim().toLowerCase())),"evaluate"),ce=Ht({},ai),Ms,Cr=[],Mi=Ht({},ai),Ui=g((e,t)=>{let r=Ht({},e),i={};for(const s of t)jh(s),i=Ht(i,s);if(r=Ht(r,i),i.theme&&i.theme in Ne){const s=Ht({},Ms),a=Ht(s.themeVariables||{},i.themeVariables);r.theme&&r.theme in Ne&&(r.themeVariables=Ne[r.theme].getThemeVariables(a))}return Mi=r,ky(Mi),Mi},"updateCurrentConfig"),my=g(e=>(ce=Ht({},ai),ce=Ht(ce,e),e.theme&&Ne[e.theme]&&(ce.themeVariables=Ne[e.theme].getThemeVariables(e.themeVariables)),Ui(ce,Cr),ce),"setSiteConfig"),yy=g(e=>{Ms=Ht({},e)},"saveConfigFromInitialize"),Cy=g(e=>(ce=Ht(ce,e),Ui(ce,Cr),ce),"updateSiteConfig"),Yh=g(()=>Ht({},ce),"getSiteConfig"),Uh=g(e=>(Ui(Mi,[e]),Ot()),"setConfig"),Ot=g(()=>Ht({},Mi),"getConfig"),jh=g(e=>{e&&(["secure",...ce.secure??[]].forEach(t=>{Object.hasOwn(e,t)&&(H.debug(`Denied attempt to modify a secure key ${t}`,e[t]),delete e[t])}),Object.keys(e).forEach(t=>{t.startsWith("__")&&delete e[t]}),Object.keys(e).forEach(t=>{typeof e[t]=="string"&&(e[t].includes("<")||e[t].includes(">")||e[t].includes("url(data:"))&&delete e[t],typeof e[t]=="object"&&jh(e[t])}))},"sanitize"),xy=g(e=>{var t;Es(e),e.fontFamily&&!((t=e.themeVariables)!=null&&t.fontFamily)&&(e.themeVariables={...e.themeVariables,fontFamily:e.fontFamily}),Cr.push(e),Ui(ce,Cr)},"addDirective"),$s=g((e=ce)=>{Cr=[],Ui(e,Cr)},"reset"),by={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},vl={},Gh=g(e=>{vl[e]||(H.warn(by[e]),vl[e]=!0)},"issueWarning"),ky=g(e=>{e&&(e.lazyLoadedDiagrams||e.loadExternalDiagramsAtStartup)&&Gh("LAZY_LOAD_DEPRECATED")},"checkConfig"),XS=g(()=>{let e={};Ms&&(e=Ht(e,Ms));for(const t of Cr)e=Ht(e,t);return e},"getUserDefinedConfig"),se=g(e=>{var t,r;return((t=e.flowchart)==null?void 0:t.htmlLabels)!=null&&Gh("FLOWCHART_HTML_LABELS_DEPRECATED"),De(e.htmlLabels??((r=e.flowchart)==null?void 0:r.htmlLabels)??!0)},"getEffectiveHtmlLabels"),Xh=/^([^\S\n\r]*)-{3}\s*[\n\r](.*?)[\n\r]\1-{3}\s*[\n\r]+/s,$i=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Ty=/\s*%%.*\n/gm,ei,Vh=(ei=class extends Error{constructor(t){super(t),this.name="UnknownDiagramError"}},g(ei,"UnknownDiagramError"),ei),xr={},Yo=g(function(e,t){e=e.replace(Xh,"").replace($i,"").replace(Ty,` `);for(const[r,{detector:i}]of Object.entries(xr))if(i(e,t))return r;throw new Vh(`No diagram type detected matching given configuration for text: ${e}`)},"detectType"),Qa=g((...e)=>{for(const{id:t,detector:r,loader:i}of e)Zh(t,r,i)},"registerLazyLoadedDiagrams"),Zh=g((e,t,r)=>{xr[e]&&H.warn(`Detector with key ${e} already exists. Overwriting.`),xr[e]={detector:t,loader:r},H.debug(`Detector with key ${e} added${r?" with loader":""}`)},"addDetector"),Sy=g(e=>xr[e].loader,"getDiagramLoader"),ji=//gi,wy=g(e=>e?Jh(e).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),By=(()=>{let e=!1;return()=>{e||(Kh(),e=!0)}})();function Kh(){const e="data-temp-href-target";si.addHook("beforeSanitizeAttributes",t=>{t.tagName==="A"&&t.hasAttribute("target")&&t.setAttribute(e,t.getAttribute("target")??"")}),si.addHook("afterSanitizeAttributes",t=>{t.tagName==="A"&&t.hasAttribute(e)&&(t.setAttribute("target",t.getAttribute(e)??""),t.removeAttribute(e),t.getAttribute("target")==="_blank"&&t.setAttribute("rel","noopener"))})}g(Kh,"setupDompurifyHooks");var Qh=g(e=>(By(),si.sanitize(e)),"removeScript"),Ll=g((e,t)=>{if(se(t)){const r=t.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?e=Qh(e):r!=="loose"&&(e=Jh(e),e=e.replace(//g,">"),e=e.replace(/=/g,"="),e=Fy(e))}return e},"sanitizeMore"),Be=g((e,t)=>e&&(t.dompurifyConfig?e=si.sanitize(Ll(e,t),t.dompurifyConfig).toString():e=si.sanitize(Ll(e,t),{FORBID_TAGS:["style"]}).toString(),e),"sanitizeText"),_y=g((e,t)=>typeof e=="string"?Be(e,t):e.flat().map(r=>Be(r,t)),"sanitizeTextOrArray"),vy=g(e=>ji.test(e),"hasBreaks"),Ly=g(e=>e.split(ji),"splitBreaks"),Fy=g(e=>e.replace(/#br#/g,"
"),"placeholderToBreak"),Jh=g(e=>e.replace(ji,"#br#"),"breakToPlaceholder"),Ay=g(e=>{let t="";return e&&(t=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,t=CSS.escape(t)),t},"getUrl"),Ey=g(function(...e){const t=e.filter(r=>!isNaN(r));return Math.max(...t)},"getMax"),My=g(function(...e){const t=e.filter(r=>!isNaN(r));return Math.min(...t)},"getMin"),Fl=g(function(e){const t=e.split(/(,)/),r=[];for(let i=0;i0&&i+1Math.max(0,e.split(t).length-1),"countOccurrence"),$y=g((e,t)=>{const r=Ja(e,"~"),i=Ja(t,"~");return r===1&&i===1},"shouldCombineSets"),Oy=g(e=>{const t=Ja(e,"~");let r=!1;if(t<=1)return e;t%2!==0&&e.startsWith("~")&&(e=e.substring(1),r=!0);const i=[...e];let s=i.indexOf("~"),a=i.lastIndexOf("~");for(;s!==-1&&a!==-1&&s!==a;)i[s]="<",i[a]=">",s=i.indexOf("~"),a=i.lastIndexOf("~");return r&&i.unshift("~"),i.join("")},"processSet"),Al=g(()=>window.MathMLElement!==void 0,"isMathMLSupported"),to=/\$\$(.*?)\$\$/g,Pi=g(e=>{var t;return(((t=e.match(to))==null?void 0:t.length)??0)>0},"hasKatex"),VS=g(async(e,t)=>{const r=document.createElement("div");r.innerHTML=await tc(e,t),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0";const i=document.querySelector("body");i==null||i.insertAdjacentElement("beforeend",r);const s={width:r.clientWidth,height:r.clientHeight};return r.remove(),s},"calculateMathMLDimensions"),Iy=g(async(e,t)=>{if(!Pi(e))return e;if(!(Al()||t.legacyMathML||t.forceLegacyMathML))return e.replace(to,"MathML is unsupported in this environment.");{const{default:r}=await yt(async()=>{const{default:s}=await import("../../chunks/katex-C5jXJg4s.js");return{default:s}},[]),i=t.forceLegacyMathML||!Al()&&t.legacyMathML?"htmlAndMathml":"mathml";return e.split(ji).map(s=>Pi(s)?`
${s}
`:`
${s}
`).join("").replace(to,(s,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:i}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),tc=g(async(e,t)=>Be(await Iy(e,t),t),"renderKatexSanitized"),Gi={getRows:wy,sanitizeText:Be,sanitizeTextOrArray:_y,hasBreaks:vy,splitBreaks:Ly,lineBreakRegex:ji,removeScript:Qh,getUrl:Ay,evaluate:De,getMax:Ey,getMin:My},Dy=g(function(e,t){for(let r of t)e.attr(r[0],r[1])},"d3Attrs"),Py=g(function(e,t,r){let i=new Map;return r?(i.set("width","100%"),i.set("style",`max-width: ${t}px;`)):(i.set("height",e),i.set("width",t)),i},"calculateSvgSizeAttrs"),ec=g(function(e,t,r,i){const s=Py(t,r,i);Dy(e,s)},"configureSvgSize"),Ry=g(function(e,t,r,i){const s=t.node().getBBox(),a=s.width,o=s.height;H.info(`SVG bounds: ${a}x${o}`,s);let n=0,l=0;H.info(`Graph bounds: ${n}x${l}`,e),n=a+r*2,l=o+r*2,H.info(`Calculated bounds: ${n}x${l}`),ec(t,l,n,i);const c=`${s.x-r} ${s.y-r} ${s.width+2*r} ${s.height+2*r}`;t.attr("viewBox",c)},"setupGraphViewbox"),Ts={};function eo(e){return[...e.cssRules].map(t=>t.cssText).join(` @@ -300,8 +300,8 @@ Please report this to https://github.com/markedjs/marked.`,t){let s="

An error L0,20`)},"requirement_arrow"),e1=g((e,t,r)=>{const i=Ot(),{themeVariables:s}=i,{strokeWidth:a}=s;e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),r1=g((e,t,r)=>{const i=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");i.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),i.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),i.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),i1=g((e,t,r)=>{const i=Ot(),{themeVariables:s}=i,{strokeWidth:a}=s,o=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");o.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),o.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),o.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),o.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),s1={extension:Dk,composition:Pk,aggregation:Rk,dependency:qk,lollipop:Wk,point:Nk,circle:zk,cross:Hk,barb:Yk,barbNeo:Uk,only_one:jk,zero_or_one:Gk,one_or_more:Xk,zero_or_more:Vk,only_one_neo:Zk,zero_or_one_neo:Kk,one_or_more_neo:Qk,zero_or_more_neo:Jk,requirement_arrow:t1,requirement_contains:r1,requirement_arrow_neo:e1,requirement_contains_neo:i1},a1=Ik,o1={common:Gi,getConfig:Ot,insertCluster:ek,insertEdge:Ok,insertEdgeLabel:vk,insertMarkers:a1,insertNode:Bg,interpolateToCurve:gn,labelHelper:dt,log:H,positionEdgeLabel:Lk},Hi={},Fg=g(e=>{for(const t of e)Hi[t.name]=t},"registerLayoutLoaders"),n1=g(()=>{Fg([{name:"dagre",loader:g(async()=>await yt(()=>import("./dagre-VZM6K2ZE-CaZltdDs.js"),__vite__mapDeps([0,1,2,3,4,5,6])),"loader")},{name:"swimlane",loader:g(async()=>await yt(()=>import("./swimlanes-SLNWSIFB-C_QRwND6.js"),__vite__mapDeps([7,5,6,1,2,3])),"loader")},{name:"cose-bilkent",loader:g(async()=>await yt(()=>import("./cose-bilkent-JH36ORCC-TCO9YNQt.js"),__vite__mapDeps([8,9,5,6])),"loader")}])},"registerDefaultLayoutLoaders");n1();var xw=g(async(e,t,r)=>{if(!(e.layoutAlgorithm in Hi))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const d of e.nodes){const p=d.domId||d.id;d.domId=`${e.diagramId}-${p}`}const i=Hi[e.layoutAlgorithm],s=await i.loader(),{theme:a,themeVariables:o}=e.config,{useGradient:n,gradientStart:l,gradientStop:c}=o,h=t.attr("id");if(t.append("defs").append("filter").attr("id",`${h}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),t.append("defs").append("filter").attr("id",`${h}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),n){const d=t.append("linearGradient").attr("id",t.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");d.append("svg:stop").attr("offset","0%").attr("stop-color",l).attr("stop-opacity",1),d.append("svg:stop").attr("offset","100%").attr("stop-color",c).attr("stop-opacity",1)}return s.render(e,t,o1,{algorithm:i.algorithm},r)},"render"),bw=g((e="",{fallback:t="dagre"}={})=>{if(e in Hi)return e;if(t in Hi)return H.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),In="comm",Ag="rule",Eg="decl",l1="@media",h1="@import",c1="@supports",d1="@namespace",Po="@keyframes",Mg="@layer",u1="@scope",p1=Math.abs,Di=String.fromCharCode;function $g(e){return e.trim()}function Ro(e,t,r){return e.replace(t,r)}function Hr(e,t){return e.charCodeAt(t)|0}function li(e,t,r){return e.slice(t,r)}function Ee(e){return e.length}function Og(e){return e.length}function xs(e,t){return t.push(e),e}var ga=1,hi=1,Ig=0,ye=0,Rt=0,ui="";function Dn(e,t,r,i,s,a,o,n){return{value:e,root:t,parent:r,type:i,props:s,children:a,line:ga,column:hi,length:o,return:"",siblings:n}}function g1(){return Rt}function f1(){return Rt=ye>0?Hr(ui,--ye):0,hi--,Rt===10&&(hi=1,ga--),Rt}function we(){return Rt=ye2||Yi(Rt)>3?"":" "}function x1(e,t){for(;--t&&we()&&!(Rt<48||Rt>102||Rt>57&&Rt<65||Rt>70&&Rt<97););return fa(e,Fs()+(t<6&&Ke()==32&&we()==32))}function qo(e){for(;we();)switch(Rt){case e:return ye;case 34:case 39:e!==34&&e!==39&&qo(Rt);break;case 40:e===41&&qo(e);break;case 92:we();break}return ye}function b1(e,t){for(;we()&&e+Rt!==57;)if(e+Rt===84&&Ke()===47)break;return"/*"+fa(t,ye-1)+"*"+Di(e===47?e:we())}function k1(e){for(;!Yi(Ke());)we();return fa(e,ye)}function T1(e){return y1(As("",null,null,null,[""],e=m1(e),0,[0],e))}function As(e,t,r,i,s,a,o,n,l){for(var c=0,h=0,d=o,p=0,u=0,y=0,m=1,f=1,C=1,b=0,k=0,S="",w=s,B=a,F=i,v=S;f;)switch(y=k,k=we()){case 40:y!=108&&Hr(v,d-1)==58?(b++,v+="("):v+=Ga(k);break;case 41:b--,v+=")";break;case 34:case 39:case 91:v+=Ga(k);break;case 9:case 10:case 13:case 32:if(b>0){v+=Di(k);break}v+=C1(y);break;case 92:v+=x1(Fs()-1,7);continue;case 47:switch(Ke()){case 42:case 47:xs(S1(b1(we(),Fs()),t,r,l),l),(Yi(y||1)==5||Yi(Ke()||1)==5)&&Ee(v)&&li(v,-1,void 0)!==" "&&(v+=" ");break;default:v+="/"}break;case 123*m:n[c++]=Ee(v)*C;case 125*m:case 59:case 0:if(b>0&&k){v+=Di(k);break}switch(k){case 0:case 125:f=0;case 59+h:C==-1&&(v=Ro(v,/\f/g,"")),u>0&&(Ee(v)-d||m===0)&&xs(u>32?vh(v+";",i,r,d-1,l):vh(Ro(v," ","")+";",i,r,d-2,l),l);break;case 59:v+=";";default:if(xs(F=_h(v,t,r,c,h,s,n,S,w=[],B=[],d,a),a),k===123)if(h===0)As(v,t,F,F,w,a,d,n,B);else{switch(p){case 99:if(Hr(v,3)===110)break;case 108:if(Hr(v,2)===97)break;default:h=0;case 100:case 109:case 115:}h?As(e,F,F,i&&xs(_h(e,F,F,0,0,s,n,S,s,w=[],d,B),B),s,B,d,n,i?w:B):As(v,F,F,F,[""],B,0,n,B)}}c=h=u=0,m=C=1,S=v="",d=o;break;case 58:d=1+Ee(v),u=y;default:if(m<1){if(k==123)--m;else if(k==125&&m++==0&&f1()==125)continue}switch(v+=Di(k),k*m){case 38:C=h>0?1:(v+="\f",-1);break;case 44:if(b>0)break;n[c++]=(Ee(v)-1)*C,C=1;break;case 64:Ke()===45&&(v+=Ga(we())),p=Ke(),h=d=Ee(S=v+=k1(Fs())),k++;break;case 45:y===45&&Ee(v)==2&&(m=0)}}return a}function _h(e,t,r,i,s,a,o,n,l,c,h,d){for(var p=s-1,u=s===0?a:[""],y=Og(u),m=0,f=0,C=0;m0?u[b]+" "+k:Ro(k,/&\f/g,u[b])))&&(l[C++]=S);return Dn(e,t,r,s===0?Ag:n,l,c,h,d)}function S1(e,t,r,i){return Dn(e,t,r,In,Di(g1()),li(e,2,-2),0,i)}function vh(e,t,r,i,s){return Dn(e,t,r,Eg,li(e,0,i),li(e,i+1,-1),i,s)}function Wo(e,t){for(var r="",i=0;i/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),v1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./c4Diagram-5PPSVZJV-mByelyM0.js");return{diagram:t}},__vite__mapDeps([10,11,5,6]));return{id:Dg,diagram:e}},"loader"),L1={id:Dg,detector:_1,loader:v1},F1=L1,Pg="flowchart",A1=g((e,t)=>{var r,i;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),E1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./flowDiagram-UKHOOZJN-B8lbbUMJ.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([12,13,14,5,6,15,11,16]));return{id:Pg,diagram:e}},"loader"),M1={id:Pg,detector:A1,loader:E1},$1=M1,Rg="flowchart-v2",O1=g((e,t)=>{var r,i,s;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((s=t==null?void 0:t.flowchart)==null?void 0:s.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),I1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./flowDiagram-UKHOOZJN-B8lbbUMJ.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([12,13,14,5,6,15,11,16]));return{id:Rg,diagram:e}},"loader"),D1={id:Rg,detector:O1,loader:I1},P1=D1,qg="swimlane",R1=g(e=>/^\s*swimlane-beta\b/.test(e),"detector"),q1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./swimlanesDiagram-ULZ7WXOC--Rr-scI_.js");return{diagram:t}},__vite__mapDeps([17,12,13,14,5,6,15,11,16]));return{id:qg,diagram:e}},"loader"),W1={id:qg,detector:R1,loader:q1},N1=W1,Wg="er",z1=g(e=>/^\s*erDiagram/.test(e),"detector"),H1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./erDiagram-JOGREHBK-BFBZrDgK.js");return{diagram:t}},__vite__mapDeps([18,14,5,6,15,16]));return{id:Wg,diagram:e}},"loader"),Y1={id:Wg,detector:z1,loader:H1},U1=Y1,Ng="gitGraph",j1=g(e=>/^\s*gitGraph/.test(e),"detector"),G1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./gitGraphDiagram-DS77QQ5N-D8t8bnkE.js");return{diagram:t}},__vite__mapDeps([19,20,21,22,5,6]));return{id:Ng,diagram:e}},"loader"),X1={id:Ng,detector:j1,loader:G1},V1=X1,zg="gantt",Z1=g(e=>/^\s*gantt/.test(e),"detector"),K1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./ganttDiagram-PKOTCBZU-DmNk0elM.js");return{diagram:t}},__vite__mapDeps([23,5,6,24,25,26]));return{id:zg,diagram:e}},"loader"),Q1={id:zg,detector:Z1,loader:K1},J1=Q1,Hg="info",t2=g(e=>/^\s*info/.test(e),"detector"),e2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./infoDiagram-6WML65LV-BoMq5yxg.js");return{diagram:t}},__vite__mapDeps([27,22,5,6]));return{id:Hg,diagram:e}},"loader"),r2={id:Hg,detector:t2,loader:e2},Yg="pie",i2=g(e=>/^\s*pie/.test(e),"detector"),s2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./pieDiagram-7S7Q4E2Y-DiASGNAe.js");return{diagram:t}},__vite__mapDeps([28,21,22,5,6,29,30,25]));return{id:Yg,diagram:e}},"loader"),a2={id:Yg,detector:i2,loader:s2},Ug="quadrantChart",o2=g(e=>/^\s*quadrantChart/.test(e),"detector"),n2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./quadrantDiagram-CIZ2JOQS-DJm-gHGj.js");return{diagram:t}},__vite__mapDeps([31,5,6,24,25,26]));return{id:Ug,diagram:e}},"loader"),l2={id:Ug,detector:o2,loader:n2},h2=l2,jg="xychart",c2=g(e=>/^\s*xychart(-beta)?/.test(e),"detector"),d2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./xychartDiagram-ELKLHX3M-B_eZIbWC.js");return{diagram:t}},__vite__mapDeps([32,5,6,25,30,24,26]));return{id:jg,diagram:e}},"loader"),u2={id:jg,detector:c2,loader:d2},p2=u2,Gg="requirement",g2=g(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),f2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./requirementDiagram-LRYGKXZP-DFDVaceD.js");return{diagram:t}},__vite__mapDeps([33,14,5,6,15]));return{id:Gg,diagram:e}},"loader"),m2={id:Gg,detector:g2,loader:f2},y2=m2,Xg="sequence",C2=g(e=>/^\s*sequenceDiagram/.test(e),"detector"),x2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./sequenceDiagram-SI44F4Z6-COnTktCB.js");return{diagram:t}},__vite__mapDeps([34,20,11,5,6]));return{id:Xg,diagram:e}},"loader"),b2={id:Xg,detector:C2,loader:x2},k2=b2,Vg="class",T2=g((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),S2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./classDiagram-JCYQIIEL-ChGm3DyL.js");return{diagram:t}},__vite__mapDeps([35,36,13,14,5,6,15,11]));return{id:Vg,diagram:e}},"loader"),w2={id:Vg,detector:T2,loader:S2},B2=w2,Zg="classDiagram",_2=g((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),v2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./classDiagram-v2-OCEON4UE-ChGm3DyL.js");return{diagram:t}},__vite__mapDeps([37,36,13,14,5,6,15,11]));return{id:Zg,diagram:e}},"loader"),L2={id:Zg,detector:_2,loader:v2},F2=L2,Kg="state",A2=g((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),E2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./stateDiagram-OKZ733FA-DlMFQfhX.js");return{diagram:t}},__vite__mapDeps([38,39,14,5,6,15,11,2,4,3]));return{id:Kg,diagram:e}},"loader"),M2={id:Kg,detector:A2,loader:E2},$2=M2,Qg="stateDiagram",O2=g((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),I2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./stateDiagram-v2-UEYNNEHI-kqiSvJQU.js");return{diagram:t}},__vite__mapDeps([40,39,14,5,6,15,11]));return{id:Qg,diagram:e}},"loader"),D2={id:Qg,detector:O2,loader:I2},P2=D2,Jg="journey",R2=g(e=>/^\s*journey/.test(e),"detector"),q2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./journeyDiagram-NVQOT4AX-lXnJv34U.js");return{diagram:t}},__vite__mapDeps([41,13,11,5,6,29]));return{id:Jg,diagram:e}},"loader"),W2={id:Jg,detector:R2,loader:q2},N2=W2,z2=g((e,t,r)=>{H.debug(`rendering svg for syntax error -`);const i=fC(t),s=i.append("g");i.attr("viewBox","0 0 2412 512"),ec(i,100,512,!0),s.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),s.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),s.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),s.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),s.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),s.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),s.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),s.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),tf={draw:z2},H2=tf,Y2={db:{},renderer:tf,parser:{parse:g(()=>{},"parse")}},U2=Y2,ef="flowchart-elk",j2=g((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),G2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./flowDiagram-UKHOOZJN-B8lbbUMJ.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([12,13,14,5,6,15,11,16]));return{id:ef,diagram:e}},"loader"),X2={id:ef,detector:j2,loader:G2},V2=X2,rf="timeline",Z2=g(e=>/^\s*timeline/.test(e),"detector"),K2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./timeline-definition-Z64GVDOM-BIYO9h5L.js");return{diagram:t}},__vite__mapDeps([42,5,6,29]));return{id:rf,diagram:e}},"loader"),Q2={id:rf,detector:Z2,loader:K2},J2=Q2,sf="mindmap",tT=g(e=>/^\s*mindmap/.test(e),"detector"),eT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./mindmap-definition-FAOFIHXS-DOb0iskj.js");return{diagram:t}},__vite__mapDeps([43,14,5,6,15]));return{id:sf,diagram:e}},"loader"),rT={id:sf,detector:tT,loader:eT},iT=rT,af="kanban",sT=g(e=>/^\s*kanban/.test(e),"detector"),aT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./kanban-definition-27J2QSJJ-BmrqdoIU.js");return{diagram:t}},__vite__mapDeps([44,13,5,6]));return{id:af,diagram:e}},"loader"),oT={id:af,detector:sT,loader:aT},nT=oT,of="sankey",lT=g(e=>/^\s*sankey(-beta)?/.test(e),"detector"),hT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./sankeyDiagram-W5VNT64P-B2rzdV66.js");return{diagram:t}},__vite__mapDeps([45,5,6,30,25]));return{id:of,diagram:e}},"loader"),cT={id:of,detector:lT,loader:hT},dT=cT,nf="packet",uT=g(e=>/^\s*packet(-beta)?/.test(e),"detector"),pT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-LBJQPF4R-Pnfxyn0a.js");return{diagram:t}},__vite__mapDeps([46,21,22,5,6]));return{id:nf,diagram:e}},"loader"),gT={id:nf,detector:uT,loader:pT},lf="radar",fT=g(e=>/^\s*radar-beta/.test(e),"detector"),mT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-UB23O5K3-BpUtlbYH.js");return{diagram:t}},__vite__mapDeps([47,21,22,5,6]));return{id:lf,diagram:e}},"loader"),yT={id:lf,detector:fT,loader:mT},hf="block",CT=g(e=>/^\s*block(-beta)?/.test(e),"detector"),xT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./blockDiagram-VBNYF7ZC-nT3UGRP_.js");return{diagram:t}},__vite__mapDeps([48,13,5,6,2,16]));return{id:hf,diagram:e}},"loader"),bT={id:hf,detector:CT,loader:xT},kT=bT,cf="treeView",TT=g(e=>/^\s*treeView-beta/.test(e),"detector"),ST=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-7IWD3JNH-ChiT9kPC.js");return{diagram:t}},__vite__mapDeps([49,20,21,22,5,6]));return{id:cf,diagram:e}},"loader"),wT={id:cf,detector:TT,loader:ST},BT=wT,df="architecture",_T=g(e=>/^\s*architecture/.test(e),"detector"),vT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./architectureDiagram-T3A2C74G-DDnDuHF5.js");return{diagram:t}},__vite__mapDeps([50,21,22,5,6,9]));return{id:df,diagram:e}},"loader"),LT={id:df,detector:_T,loader:vT},FT=LT,uf="eventmodeling",AT=g(e=>/^\s*eventmodeling/.test(e),"detector"),ET=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-B4RE2ZJO-gnhe1XTL.js");return{diagram:t}},__vite__mapDeps([51,21,22,5,6]));return{id:uf,diagram:e}},"loader"),MT={id:uf,detector:AT,loader:ET},$T=MT,pf="ishikawa",OT=g(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),IT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./ishikawaDiagram-WSZJBQD7-CdfT-yF9.js");return{diagram:t}},__vite__mapDeps([52,5,6]));return{id:pf,diagram:e}},"loader"),DT={id:pf,detector:OT,loader:IT},gf="venn",PT=g(e=>/^\s*venn-beta/.test(e),"detector"),RT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./vennDiagram-T6HMQDX7-DklWiDNN.js");return{diagram:t}},__vite__mapDeps([53,5,6]));return{id:gf,diagram:e}},"loader"),qT={id:gf,detector:PT,loader:RT},WT=qT,ff="treemap",NT=g(e=>/^\s*treemap/.test(e),"detector"),zT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-Q27KOJAE-DDcULphP.js");return{diagram:t}},__vite__mapDeps([54,21,15,22,5,6,26,30,25]));return{id:ff,diagram:e}},"loader"),HT={id:ff,detector:NT,loader:zT},mf="wardley",YT=g(e=>/^\s*wardley-beta/i.test(e),"detector"),UT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./wardleyDiagram-T6FBY63Y-_jEObl1h.js");return{diagram:t}},__vite__mapDeps([55,21,22,5,6]));return{id:mf,diagram:e}},"loader"),jT={id:mf,detector:YT,loader:UT},GT=jT,yf="cynefin",XT=g(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),"detector"),VT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./cynefinDiagram-MW4NZA55-DSdRlYdc.js");return{diagram:t}},__vite__mapDeps([56,21,22,5,6]));return{id:yf,diagram:e}},"loader"),ZT={id:yf,detector:XT,loader:VT},Cf="railroad",KT=g(e=>/^\s*railroad-beta/i.test(e),"detector"),QT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./railroadDiagram-AXF67PYL-BRnmPnOB.js");return{diagram:t}},__vite__mapDeps([57,58,21,5,6,22]));return{id:Cf,diagram:e}},"loader"),JT={id:Cf,detector:KT,loader:QT},xf="railroadEbnf",tS=g(e=>/^\s*railroad-ebnf-beta/i.test(e),"detector"),eS=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./ebnfDiagram-BXEA7PRR-0NLASbul.js");return{diagram:t}},__vite__mapDeps([59,58,21,5,6,22]));return{id:xf,diagram:e}},"loader"),rS={id:xf,detector:tS,loader:eS},bf="railroadAbnf",iS=g(e=>/^\s*railroad-abnf-beta/i.test(e),"detector"),sS=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./abnfDiagram-N423BO3Z-ytavltmL.js");return{diagram:t}},__vite__mapDeps([60,58,21,5,6,22]));return{id:bf,diagram:e}},"loader"),aS={id:bf,detector:iS,loader:sS},kf="railroadPeg",oS=g(e=>/^\s*railroad-peg-beta/i.test(e),"detector"),nS=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./pegDiagram-VL7TDLO6-C3mfqu29.js");return{diagram:t}},__vite__mapDeps([61,58,21,5,6,22]));return{id:kf,diagram:e}},"loader"),lS={id:kf,detector:oS,loader:nS},Lh=!1,ma=g(()=>{Lh||(Lh=!0,Is("error",U2,e=>e.toLowerCase().trim()==="error"),Is("---",{db:{clear:g(()=>{},"clear")},styles:{},renderer:{draw:g(()=>{},"draw")},parser:{parse:g(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:g(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),Qa(V2,iT,FT),Qa(F1,nT,F2,B2,U1,J1,r2,a2,y2,k2,N1,P1,$1,J2,V1,P2,$2,N2,h2,dT,gT,p2,kT,$T,BT,yT,DT,HT,JT,rS,aS,lS,WT,GT,ZT))},"addDiagrams"),hS=g(async()=>{H.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(xr).map(async([r,{detector:i,loader:s}])=>{if(s)try{ro(r)}catch{try{const{diagram:a,id:o}=await s();Is(o,a,i)}catch(a){throw H.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete xr[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){H.error(`Failed to load ${t.length} external diagrams`);for(const r of t)H.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),cS="graphics-document document";function Tf(e,t){e.attr("role",cS),t!==""&&e.attr("aria-roledescription",t)}g(Tf,"setA11yDiagramInfo");function Sf(e,t,r,i){if(e.insert!==void 0){if(r){const s=`chart-desc-${i}`;e.attr("aria-describedby",s),e.insert("desc",":first-child").attr("id",s).text(r)}if(t){const s=`chart-title-${i}`;e.attr("aria-labelledby",s),e.insert("title",":first-child").attr("id",s).text(t)}}}g(Sf,"addSVGa11yTitleDescription");var yr,No=(yr=class{constructor(t,r,i,s,a){this.type=t,this.text=r,this.db=i,this.parser=s,this.renderer=a}static async fromText(t,r={}){var c,h;const i=Ot(),s=Yo(t,i);t=Sx(t)+` + L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),r1=g((e,t,r)=>{const i=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");i.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),i.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),i.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),i1=g((e,t,r)=>{const i=Ot(),{themeVariables:s}=i,{strokeWidth:a}=s,o=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");o.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),o.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),o.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),o.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),s1={extension:Dk,composition:Pk,aggregation:Rk,dependency:qk,lollipop:Wk,point:Nk,circle:zk,cross:Hk,barb:Yk,barbNeo:Uk,only_one:jk,zero_or_one:Gk,one_or_more:Xk,zero_or_more:Vk,only_one_neo:Zk,zero_or_one_neo:Kk,one_or_more_neo:Qk,zero_or_more_neo:Jk,requirement_arrow:t1,requirement_contains:r1,requirement_arrow_neo:e1,requirement_contains_neo:i1},a1=Ik,o1={common:Gi,getConfig:Ot,insertCluster:ek,insertEdge:Ok,insertEdgeLabel:vk,insertMarkers:a1,insertNode:Bg,interpolateToCurve:gn,labelHelper:dt,log:H,positionEdgeLabel:Lk},Hi={},Fg=g(e=>{for(const t of e)Hi[t.name]=t},"registerLayoutLoaders"),n1=g(()=>{Fg([{name:"dagre",loader:g(async()=>await yt(()=>import("./dagre-VZM6K2ZE-DOKD1IJy.js"),__vite__mapDeps([0,1,2,3,4,5,6])),"loader")},{name:"swimlane",loader:g(async()=>await yt(()=>import("./swimlanes-SLNWSIFB-CZjcuSKt.js"),__vite__mapDeps([7,5,6,1,2,3])),"loader")},{name:"cose-bilkent",loader:g(async()=>await yt(()=>import("./cose-bilkent-JH36ORCC-DQOYzzyZ.js"),__vite__mapDeps([8,9,5,6])),"loader")}])},"registerDefaultLayoutLoaders");n1();var xw=g(async(e,t,r)=>{if(!(e.layoutAlgorithm in Hi))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const d of e.nodes){const p=d.domId||d.id;d.domId=`${e.diagramId}-${p}`}const i=Hi[e.layoutAlgorithm],s=await i.loader(),{theme:a,themeVariables:o}=e.config,{useGradient:n,gradientStart:l,gradientStop:c}=o,h=t.attr("id");if(t.append("defs").append("filter").attr("id",`${h}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),t.append("defs").append("filter").attr("id",`${h}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),n){const d=t.append("linearGradient").attr("id",t.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");d.append("svg:stop").attr("offset","0%").attr("stop-color",l).attr("stop-opacity",1),d.append("svg:stop").attr("offset","100%").attr("stop-color",c).attr("stop-opacity",1)}return s.render(e,t,o1,{algorithm:i.algorithm},r)},"render"),bw=g((e="",{fallback:t="dagre"}={})=>{if(e in Hi)return e;if(t in Hi)return H.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),In="comm",Ag="rule",Eg="decl",l1="@media",h1="@import",c1="@supports",d1="@namespace",Po="@keyframes",Mg="@layer",u1="@scope",p1=Math.abs,Di=String.fromCharCode;function $g(e){return e.trim()}function Ro(e,t,r){return e.replace(t,r)}function Hr(e,t){return e.charCodeAt(t)|0}function li(e,t,r){return e.slice(t,r)}function Ee(e){return e.length}function Og(e){return e.length}function xs(e,t){return t.push(e),e}var ga=1,hi=1,Ig=0,ye=0,Rt=0,ui="";function Dn(e,t,r,i,s,a,o,n){return{value:e,root:t,parent:r,type:i,props:s,children:a,line:ga,column:hi,length:o,return:"",siblings:n}}function g1(){return Rt}function f1(){return Rt=ye>0?Hr(ui,--ye):0,hi--,Rt===10&&(hi=1,ga--),Rt}function we(){return Rt=ye2||Yi(Rt)>3?"":" "}function x1(e,t){for(;--t&&we()&&!(Rt<48||Rt>102||Rt>57&&Rt<65||Rt>70&&Rt<97););return fa(e,Fs()+(t<6&&Ke()==32&&we()==32))}function qo(e){for(;we();)switch(Rt){case e:return ye;case 34:case 39:e!==34&&e!==39&&qo(Rt);break;case 40:e===41&&qo(e);break;case 92:we();break}return ye}function b1(e,t){for(;we()&&e+Rt!==57;)if(e+Rt===84&&Ke()===47)break;return"/*"+fa(t,ye-1)+"*"+Di(e===47?e:we())}function k1(e){for(;!Yi(Ke());)we();return fa(e,ye)}function T1(e){return y1(As("",null,null,null,[""],e=m1(e),0,[0],e))}function As(e,t,r,i,s,a,o,n,l){for(var c=0,h=0,d=o,p=0,u=0,y=0,m=1,f=1,C=1,b=0,k=0,S="",w=s,B=a,F=i,v=S;f;)switch(y=k,k=we()){case 40:y!=108&&Hr(v,d-1)==58?(b++,v+="("):v+=Ga(k);break;case 41:b--,v+=")";break;case 34:case 39:case 91:v+=Ga(k);break;case 9:case 10:case 13:case 32:if(b>0){v+=Di(k);break}v+=C1(y);break;case 92:v+=x1(Fs()-1,7);continue;case 47:switch(Ke()){case 42:case 47:xs(S1(b1(we(),Fs()),t,r,l),l),(Yi(y||1)==5||Yi(Ke()||1)==5)&&Ee(v)&&li(v,-1,void 0)!==" "&&(v+=" ");break;default:v+="/"}break;case 123*m:n[c++]=Ee(v)*C;case 125*m:case 59:case 0:if(b>0&&k){v+=Di(k);break}switch(k){case 0:case 125:f=0;case 59+h:C==-1&&(v=Ro(v,/\f/g,"")),u>0&&(Ee(v)-d||m===0)&&xs(u>32?vh(v+";",i,r,d-1,l):vh(Ro(v," ","")+";",i,r,d-2,l),l);break;case 59:v+=";";default:if(xs(F=_h(v,t,r,c,h,s,n,S,w=[],B=[],d,a),a),k===123)if(h===0)As(v,t,F,F,w,a,d,n,B);else{switch(p){case 99:if(Hr(v,3)===110)break;case 108:if(Hr(v,2)===97)break;default:h=0;case 100:case 109:case 115:}h?As(e,F,F,i&&xs(_h(e,F,F,0,0,s,n,S,s,w=[],d,B),B),s,B,d,n,i?w:B):As(v,F,F,F,[""],B,0,n,B)}}c=h=u=0,m=C=1,S=v="",d=o;break;case 58:d=1+Ee(v),u=y;default:if(m<1){if(k==123)--m;else if(k==125&&m++==0&&f1()==125)continue}switch(v+=Di(k),k*m){case 38:C=h>0?1:(v+="\f",-1);break;case 44:if(b>0)break;n[c++]=(Ee(v)-1)*C,C=1;break;case 64:Ke()===45&&(v+=Ga(we())),p=Ke(),h=d=Ee(S=v+=k1(Fs())),k++;break;case 45:y===45&&Ee(v)==2&&(m=0)}}return a}function _h(e,t,r,i,s,a,o,n,l,c,h,d){for(var p=s-1,u=s===0?a:[""],y=Og(u),m=0,f=0,C=0;m0?u[b]+" "+k:Ro(k,/&\f/g,u[b])))&&(l[C++]=S);return Dn(e,t,r,s===0?Ag:n,l,c,h,d)}function S1(e,t,r,i){return Dn(e,t,r,In,Di(g1()),li(e,2,-2),0,i)}function vh(e,t,r,i,s){return Dn(e,t,r,Eg,li(e,0,i),li(e,i+1,-1),i,s)}function Wo(e,t){for(var r="",i=0;i/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),v1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./c4Diagram-5PPSVZJV-DxESR6J4.js");return{diagram:t}},__vite__mapDeps([10,11,5,6]));return{id:Dg,diagram:e}},"loader"),L1={id:Dg,detector:_1,loader:v1},F1=L1,Pg="flowchart",A1=g((e,t)=>{var r,i;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),E1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./flowDiagram-UKHOOZJN-BInConF4.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([12,13,14,5,6,15,11,16]));return{id:Pg,diagram:e}},"loader"),M1={id:Pg,detector:A1,loader:E1},$1=M1,Rg="flowchart-v2",O1=g((e,t)=>{var r,i,s;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((s=t==null?void 0:t.flowchart)==null?void 0:s.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),I1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./flowDiagram-UKHOOZJN-BInConF4.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([12,13,14,5,6,15,11,16]));return{id:Rg,diagram:e}},"loader"),D1={id:Rg,detector:O1,loader:I1},P1=D1,qg="swimlane",R1=g(e=>/^\s*swimlane-beta\b/.test(e),"detector"),q1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./swimlanesDiagram-ULZ7WXOC-BYM1SH1C.js");return{diagram:t}},__vite__mapDeps([17,12,13,14,5,6,15,11,16]));return{id:qg,diagram:e}},"loader"),W1={id:qg,detector:R1,loader:q1},N1=W1,Wg="er",z1=g(e=>/^\s*erDiagram/.test(e),"detector"),H1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./erDiagram-JOGREHBK-CptXdSTl.js");return{diagram:t}},__vite__mapDeps([18,14,5,6,15,16]));return{id:Wg,diagram:e}},"loader"),Y1={id:Wg,detector:z1,loader:H1},U1=Y1,Ng="gitGraph",j1=g(e=>/^\s*gitGraph/.test(e),"detector"),G1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./gitGraphDiagram-DS77QQ5N-B8bvHNAY.js");return{diagram:t}},__vite__mapDeps([19,20,21,22,5,6]));return{id:Ng,diagram:e}},"loader"),X1={id:Ng,detector:j1,loader:G1},V1=X1,zg="gantt",Z1=g(e=>/^\s*gantt/.test(e),"detector"),K1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./ganttDiagram-PKOTCBZU-D74iFdfv.js");return{diagram:t}},__vite__mapDeps([23,5,6,24,25,26]));return{id:zg,diagram:e}},"loader"),Q1={id:zg,detector:Z1,loader:K1},J1=Q1,Hg="info",t2=g(e=>/^\s*info/.test(e),"detector"),e2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./infoDiagram-6WML65LV-Ch8He-nG.js");return{diagram:t}},__vite__mapDeps([27,22,5,6]));return{id:Hg,diagram:e}},"loader"),r2={id:Hg,detector:t2,loader:e2},Yg="pie",i2=g(e=>/^\s*pie/.test(e),"detector"),s2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./pieDiagram-7S7Q4E2Y-CqeHEShc.js");return{diagram:t}},__vite__mapDeps([28,21,22,5,6,29,30,25]));return{id:Yg,diagram:e}},"loader"),a2={id:Yg,detector:i2,loader:s2},Ug="quadrantChart",o2=g(e=>/^\s*quadrantChart/.test(e),"detector"),n2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./quadrantDiagram-CIZ2JOQS-CuJbFelH.js");return{diagram:t}},__vite__mapDeps([31,5,6,24,25,26]));return{id:Ug,diagram:e}},"loader"),l2={id:Ug,detector:o2,loader:n2},h2=l2,jg="xychart",c2=g(e=>/^\s*xychart(-beta)?/.test(e),"detector"),d2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./xychartDiagram-ELKLHX3M-CzH39ePi.js");return{diagram:t}},__vite__mapDeps([32,5,6,25,30,24,26]));return{id:jg,diagram:e}},"loader"),u2={id:jg,detector:c2,loader:d2},p2=u2,Gg="requirement",g2=g(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),f2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./requirementDiagram-LRYGKXZP-DPBEfaZ3.js");return{diagram:t}},__vite__mapDeps([33,14,5,6,15]));return{id:Gg,diagram:e}},"loader"),m2={id:Gg,detector:g2,loader:f2},y2=m2,Xg="sequence",C2=g(e=>/^\s*sequenceDiagram/.test(e),"detector"),x2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./sequenceDiagram-SI44F4Z6-BU4MnRfS.js");return{diagram:t}},__vite__mapDeps([34,20,11,5,6]));return{id:Xg,diagram:e}},"loader"),b2={id:Xg,detector:C2,loader:x2},k2=b2,Vg="class",T2=g((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),S2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./classDiagram-JCYQIIEL-DTWbWmk8.js");return{diagram:t}},__vite__mapDeps([35,36,13,14,5,6,15,11]));return{id:Vg,diagram:e}},"loader"),w2={id:Vg,detector:T2,loader:S2},B2=w2,Zg="classDiagram",_2=g((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),v2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./classDiagram-v2-OCEON4UE-DTWbWmk8.js");return{diagram:t}},__vite__mapDeps([37,36,13,14,5,6,15,11]));return{id:Zg,diagram:e}},"loader"),L2={id:Zg,detector:_2,loader:v2},F2=L2,Kg="state",A2=g((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),E2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./stateDiagram-OKZ733FA-DOwwprGF.js");return{diagram:t}},__vite__mapDeps([38,39,14,5,6,15,11,2,4,3]));return{id:Kg,diagram:e}},"loader"),M2={id:Kg,detector:A2,loader:E2},$2=M2,Qg="stateDiagram",O2=g((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),I2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./stateDiagram-v2-UEYNNEHI-BtniqXTK.js");return{diagram:t}},__vite__mapDeps([40,39,14,5,6,15,11]));return{id:Qg,diagram:e}},"loader"),D2={id:Qg,detector:O2,loader:I2},P2=D2,Jg="journey",R2=g(e=>/^\s*journey/.test(e),"detector"),q2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./journeyDiagram-NVQOT4AX-tcpH7yji.js");return{diagram:t}},__vite__mapDeps([41,13,11,5,6,29]));return{id:Jg,diagram:e}},"loader"),W2={id:Jg,detector:R2,loader:q2},N2=W2,z2=g((e,t,r)=>{H.debug(`rendering svg for syntax error +`);const i=fC(t),s=i.append("g");i.attr("viewBox","0 0 2412 512"),ec(i,100,512,!0),s.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),s.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),s.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),s.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),s.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),s.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),s.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),s.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),tf={draw:z2},H2=tf,Y2={db:{},renderer:tf,parser:{parse:g(()=>{},"parse")}},U2=Y2,ef="flowchart-elk",j2=g((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),G2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./flowDiagram-UKHOOZJN-BInConF4.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([12,13,14,5,6,15,11,16]));return{id:ef,diagram:e}},"loader"),X2={id:ef,detector:j2,loader:G2},V2=X2,rf="timeline",Z2=g(e=>/^\s*timeline/.test(e),"detector"),K2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./timeline-definition-Z64GVDOM-DSBqQCYi.js");return{diagram:t}},__vite__mapDeps([42,5,6,29]));return{id:rf,diagram:e}},"loader"),Q2={id:rf,detector:Z2,loader:K2},J2=Q2,sf="mindmap",tT=g(e=>/^\s*mindmap/.test(e),"detector"),eT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./mindmap-definition-FAOFIHXS-BbqxrTZO.js");return{diagram:t}},__vite__mapDeps([43,14,5,6,15]));return{id:sf,diagram:e}},"loader"),rT={id:sf,detector:tT,loader:eT},iT=rT,af="kanban",sT=g(e=>/^\s*kanban/.test(e),"detector"),aT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./kanban-definition-27J2QSJJ-CbYLYXH5.js");return{diagram:t}},__vite__mapDeps([44,13,5,6]));return{id:af,diagram:e}},"loader"),oT={id:af,detector:sT,loader:aT},nT=oT,of="sankey",lT=g(e=>/^\s*sankey(-beta)?/.test(e),"detector"),hT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./sankeyDiagram-W5VNT64P-D7gEokFT.js");return{diagram:t}},__vite__mapDeps([45,5,6,30,25]));return{id:of,diagram:e}},"loader"),cT={id:of,detector:lT,loader:hT},dT=cT,nf="packet",uT=g(e=>/^\s*packet(-beta)?/.test(e),"detector"),pT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-LBJQPF4R-nOwWkPyb.js");return{diagram:t}},__vite__mapDeps([46,21,22,5,6]));return{id:nf,diagram:e}},"loader"),gT={id:nf,detector:uT,loader:pT},lf="radar",fT=g(e=>/^\s*radar-beta/.test(e),"detector"),mT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-UB23O5K3-DIaonUGX.js");return{diagram:t}},__vite__mapDeps([47,21,22,5,6]));return{id:lf,diagram:e}},"loader"),yT={id:lf,detector:fT,loader:mT},hf="block",CT=g(e=>/^\s*block(-beta)?/.test(e),"detector"),xT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./blockDiagram-VBNYF7ZC-sH6YloKD.js");return{diagram:t}},__vite__mapDeps([48,13,5,6,2,16]));return{id:hf,diagram:e}},"loader"),bT={id:hf,detector:CT,loader:xT},kT=bT,cf="treeView",TT=g(e=>/^\s*treeView-beta/.test(e),"detector"),ST=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-7IWD3JNH-xdPQoOz8.js");return{diagram:t}},__vite__mapDeps([49,20,21,22,5,6]));return{id:cf,diagram:e}},"loader"),wT={id:cf,detector:TT,loader:ST},BT=wT,df="architecture",_T=g(e=>/^\s*architecture/.test(e),"detector"),vT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./architectureDiagram-T3A2C74G-BGRiJ8DJ.js");return{diagram:t}},__vite__mapDeps([50,21,22,5,6,9]));return{id:df,diagram:e}},"loader"),LT={id:df,detector:_T,loader:vT},FT=LT,uf="eventmodeling",AT=g(e=>/^\s*eventmodeling/.test(e),"detector"),ET=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-B4RE2ZJO-Dnvm1SQ9.js");return{diagram:t}},__vite__mapDeps([51,21,22,5,6]));return{id:uf,diagram:e}},"loader"),MT={id:uf,detector:AT,loader:ET},$T=MT,pf="ishikawa",OT=g(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),IT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./ishikawaDiagram-WSZJBQD7-BxqmMV-f.js");return{diagram:t}},__vite__mapDeps([52,5,6]));return{id:pf,diagram:e}},"loader"),DT={id:pf,detector:OT,loader:IT},gf="venn",PT=g(e=>/^\s*venn-beta/.test(e),"detector"),RT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./vennDiagram-T6HMQDX7-C5Lg0gqB.js");return{diagram:t}},__vite__mapDeps([53,5,6]));return{id:gf,diagram:e}},"loader"),qT={id:gf,detector:PT,loader:RT},WT=qT,ff="treemap",NT=g(e=>/^\s*treemap/.test(e),"detector"),zT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-Q27KOJAE-aj9dd-gG.js");return{diagram:t}},__vite__mapDeps([54,21,15,22,5,6,26,30,25]));return{id:ff,diagram:e}},"loader"),HT={id:ff,detector:NT,loader:zT},mf="wardley",YT=g(e=>/^\s*wardley-beta/i.test(e),"detector"),UT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./wardleyDiagram-T6FBY63Y-D69g7FVc.js");return{diagram:t}},__vite__mapDeps([55,21,22,5,6]));return{id:mf,diagram:e}},"loader"),jT={id:mf,detector:YT,loader:UT},GT=jT,yf="cynefin",XT=g(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),"detector"),VT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./cynefinDiagram-MW4NZA55-JixaE9oH.js");return{diagram:t}},__vite__mapDeps([56,21,22,5,6]));return{id:yf,diagram:e}},"loader"),ZT={id:yf,detector:XT,loader:VT},Cf="railroad",KT=g(e=>/^\s*railroad-beta/i.test(e),"detector"),QT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./railroadDiagram-AXF67PYL-CGW6-Zk4.js");return{diagram:t}},__vite__mapDeps([57,58,21,5,6,22]));return{id:Cf,diagram:e}},"loader"),JT={id:Cf,detector:KT,loader:QT},xf="railroadEbnf",tS=g(e=>/^\s*railroad-ebnf-beta/i.test(e),"detector"),eS=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./ebnfDiagram-BXEA7PRR-DISUcB6K.js");return{diagram:t}},__vite__mapDeps([59,58,21,5,6,22]));return{id:xf,diagram:e}},"loader"),rS={id:xf,detector:tS,loader:eS},bf="railroadAbnf",iS=g(e=>/^\s*railroad-abnf-beta/i.test(e),"detector"),sS=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./abnfDiagram-N423BO3Z-CwfzxrYk.js");return{diagram:t}},__vite__mapDeps([60,58,21,5,6,22]));return{id:bf,diagram:e}},"loader"),aS={id:bf,detector:iS,loader:sS},kf="railroadPeg",oS=g(e=>/^\s*railroad-peg-beta/i.test(e),"detector"),nS=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./pegDiagram-VL7TDLO6-DbNsutj1.js");return{diagram:t}},__vite__mapDeps([61,58,21,5,6,22]));return{id:kf,diagram:e}},"loader"),lS={id:kf,detector:oS,loader:nS},Lh=!1,ma=g(()=>{Lh||(Lh=!0,Is("error",U2,e=>e.toLowerCase().trim()==="error"),Is("---",{db:{clear:g(()=>{},"clear")},styles:{},renderer:{draw:g(()=>{},"draw")},parser:{parse:g(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:g(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),Qa(V2,iT,FT),Qa(F1,nT,F2,B2,U1,J1,r2,a2,y2,k2,N1,P1,$1,J2,V1,P2,$2,N2,h2,dT,gT,p2,kT,$T,BT,yT,DT,HT,JT,rS,aS,lS,WT,GT,ZT))},"addDiagrams"),hS=g(async()=>{H.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(xr).map(async([r,{detector:i,loader:s}])=>{if(s)try{ro(r)}catch{try{const{diagram:a,id:o}=await s();Is(o,a,i)}catch(a){throw H.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete xr[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){H.error(`Failed to load ${t.length} external diagrams`);for(const r of t)H.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),cS="graphics-document document";function Tf(e,t){e.attr("role",cS),t!==""&&e.attr("aria-roledescription",t)}g(Tf,"setA11yDiagramInfo");function Sf(e,t,r,i){if(e.insert!==void 0){if(r){const s=`chart-desc-${i}`;e.attr("aria-describedby",s),e.insert("desc",":first-child").attr("id",s).text(r)}if(t){const s=`chart-title-${i}`;e.attr("aria-labelledby",s),e.insert("title",":first-child").attr("id",s).text(t)}}}g(Sf,"addSVGa11yTitleDescription");var yr,No=(yr=class{constructor(t,r,i,s,a){this.type=t,this.text=r,this.db=i,this.parser=s,this.renderer=a}static async fromText(t,r={}){var c,h;const i=Ot(),s=Yo(t,i);t=Sx(t)+` `;try{ro(s)}catch{const d=Sy(s);if(!d)throw new Vh(`Diagram ${s} not found.`);const{id:p,diagram:u}=await d();Is(p,u)}const{db:a,parser:o,renderer:n,init:l}=ro(s);return o.parser&&(o.parser.yy=a),(c=a.clear)==null||c.call(a),l==null||l(i),r.title&&((h=a.setDiagramTitle)==null||h.call(a,r.title)),await o.parse(t),new yr(s,t,a,o,n)}async render(t,r){await this.renderer.draw(this.text,t,r,this)}getParser(){return this.parser}getType(){return this.type}},g(yr,"Diagram"),yr),Fh=[],dS=g(()=>{Fh.forEach(e=>{e()}),Fh=[]},"attachFunctions"),uS=g(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function wf(e){const t=e.match(Xh);if(!t)return{text:e,metadata:{}};const r=t[1],i=r?t[2].split(` `).map(o=>o.startsWith(r)?o.slice(r.length):o).join(` `):t[2];let s=T0(i,{schema:k0})??{};s=typeof s=="object"&&!Array.isArray(s)?s:{};const a={};return s.displayMode&&(a.displayMode=s.displayMode.toString()),s.title&&(a.title=s.title.toString()),s.config&&(a.config=s.config),{text:e.slice(t[0].length),metadata:a}}g(wf,"extractFrontMatter");var pS=g(e=>e.replace(/\r\n?/g,` diff --git a/veadk/webui/assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-DOb0iskj.js b/veadk/webui/assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-BbqxrTZO.js similarity index 98% rename from veadk/webui/assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-DOb0iskj.js rename to veadk/webui/assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-BbqxrTZO.js index a8619b922..bb099366a 100644 --- a/veadk/webui/assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-DOb0iskj.js +++ b/veadk/webui/assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-BbqxrTZO.js @@ -1,4 +1,4 @@ -import{g as oe}from"./chunk-XXDRQBXY-4aIfLT7K.js";import{s as ce}from"./chunk-KBJHAD2P-BfrlQA_C.js";import{a as h,at as R,a4 as le,aL as he,X as de,O as W,Y as U,aO as H,aa as ge,ak as ue,ap as pe,H as fe}from"./mermaid.core-CA8ypPul.js";import"../../app/index-BSfA7-Qp.js";const _=[];for(let t=0;t<256;++t)_.push((t+256).toString(16).slice(1));function me(t,e=0){return(_[t[e+0]]+_[t[e+1]]+_[t[e+2]]+_[t[e+3]]+"-"+_[t[e+4]]+_[t[e+5]]+"-"+_[t[e+6]]+_[t[e+7]]+"-"+_[t[e+8]]+_[t[e+9]]+"-"+_[t[e+10]]+_[t[e+11]]+_[t[e+12]]+_[t[e+13]]+_[t[e+14]]+_[t[e+15]]).toLowerCase()}const ye=new Uint8Array(16);function Ee(){return crypto.getRandomValues(ye)}function _e(t,e,o){return crypto.randomUUID?crypto.randomUUID():ke(t)}function ke(t,e,o){var n;t=t||{};const l=t.random??((n=t.rng)==null?void 0:n.call(t))??Ee();if(l.length<16)throw new Error("Random bytes length must be >= 16");return l[6]=l[6]&15|64,l[8]=l[8]&63|128,me(l)}var K=function(){var t=h(function(O,s,i,a){for(i=i||{},a=O.length;a--;i[O[a]]=s);return i},"o"),e=[1,4],o=[1,13],l=[1,12],n=[1,15],d=[1,16],p=[1,20],y=[1,19],E=[6,7,8],b=[1,26],L=[1,24],D=[1,25],k=[6,7,11],$=[1,6,13,15,16,19,22],f=[1,33],B=[1,34],P=[1,6,7,11,13,15,16,19,22],X={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:h(function(s,i,a,c,u,r,M){var g=r.length-1;switch(u){case 6:case 7:return c;case 8:c.getLogger().trace("Stop NL ");break;case 9:c.getLogger().trace("Stop EOF ");break;case 11:c.getLogger().trace("Stop NL2 ");break;case 12:c.getLogger().trace("Stop EOF2 ");break;case 15:c.getLogger().info("Node: ",r[g].id),c.addNode(r[g-1].length,r[g].id,r[g].descr,r[g].type);break;case 16:c.getLogger().trace("Icon: ",r[g]),c.decorateNode({icon:r[g]});break;case 17:case 21:c.decorateNode({class:r[g]});break;case 18:c.getLogger().trace("SPACELIST");break;case 19:c.getLogger().trace("Node: ",r[g].id),c.addNode(0,r[g].id,r[g].descr,r[g].type);break;case 20:c.decorateNode({icon:r[g]});break;case 25:c.getLogger().trace("node found ..",r[g-2]),this.$={id:r[g-1],descr:r[g-1],type:c.getType(r[g-2],r[g])};break;case 26:this.$={id:r[g],descr:r[g],type:c.nodeType.DEFAULT};break;case 27:c.getLogger().trace("node found ..",r[g-3]),this.$={id:r[g-3],descr:r[g-1],type:c.getType(r[g-2],r[g])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:o,7:[1,10],9:9,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t(E,[2,3]),{1:[2,2]},t(E,[2,4]),t(E,[2,5]),{1:[2,6],6:o,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:o,9:22,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:b,7:L,10:23,11:D},t(k,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:p,22:y}),t(k,[2,18]),t(k,[2,19]),t(k,[2,20]),t(k,[2,21]),t(k,[2,23]),t(k,[2,24]),t(k,[2,26],{19:[1,30]}),{20:[1,31]},{6:b,7:L,10:32,11:D},{1:[2,7],6:o,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t($,[2,14],{7:f,11:B}),t(P,[2,8]),t(P,[2,9]),t(P,[2,10]),t(k,[2,15]),t(k,[2,16]),t(k,[2,17]),{20:[1,35]},{21:[1,36]},t($,[2,13],{7:f,11:B}),t(P,[2,11]),t(P,[2,12]),{21:[1,37]},t(k,[2,25]),t(k,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:h(function(s,i){if(i.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=i,a}},"parseError"),parse:h(function(s){var i=this,a=[0],c=[],u=[null],r=[],M=this.table,g="",F=0,Q=0,ie=2,Z=1,se=r.slice.call(arguments,1),m=Object.create(this.lexer),C={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(C.yy[z]=this.yy[z]);m.setInput(s,C.yy),C.yy.lexer=m,C.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Y=m.yylloc;r.push(Y);var re=m.options&&m.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ae(x){a.length=a.length-2*x,u.length=u.length-x,r.length=r.length-x}h(ae,"popStack");function ee(){var x;return x=c.pop()||m.lex()||Z,typeof x!="number"&&(x instanceof Array&&(c=x,x=c.pop()),x=i.symbols_[x]||x),x}h(ee,"lex");for(var S,I,N,q,w={},G,v,te,j;;){if(I=a[a.length-1],this.defaultActions[I]?N=this.defaultActions[I]:((S===null||typeof S>"u")&&(S=ee()),N=M[I]&&M[I][S]),typeof N>"u"||!N.length||!N[0]){var J="";j=[];for(G in M[I])this.terminals_[G]&&G>ie&&j.push("'"+this.terminals_[G]+"'");m.showPosition?J="Parse error on line "+(F+1)+`: +import{g as oe}from"./chunk-XXDRQBXY-kV8dS86B.js";import{s as ce}from"./chunk-KBJHAD2P-CUyWjBEZ.js";import{a as h,at as R,a4 as le,aL as he,X as de,O as W,Y as U,aO as H,aa as ge,ak as ue,ap as pe,H as fe}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";const _=[];for(let t=0;t<256;++t)_.push((t+256).toString(16).slice(1));function me(t,e=0){return(_[t[e+0]]+_[t[e+1]]+_[t[e+2]]+_[t[e+3]]+"-"+_[t[e+4]]+_[t[e+5]]+"-"+_[t[e+6]]+_[t[e+7]]+"-"+_[t[e+8]]+_[t[e+9]]+"-"+_[t[e+10]]+_[t[e+11]]+_[t[e+12]]+_[t[e+13]]+_[t[e+14]]+_[t[e+15]]).toLowerCase()}const ye=new Uint8Array(16);function Ee(){return crypto.getRandomValues(ye)}function _e(t,e,o){return crypto.randomUUID?crypto.randomUUID():ke(t)}function ke(t,e,o){var n;t=t||{};const l=t.random??((n=t.rng)==null?void 0:n.call(t))??Ee();if(l.length<16)throw new Error("Random bytes length must be >= 16");return l[6]=l[6]&15|64,l[8]=l[8]&63|128,me(l)}var K=function(){var t=h(function(O,s,i,a){for(i=i||{},a=O.length;a--;i[O[a]]=s);return i},"o"),e=[1,4],o=[1,13],l=[1,12],n=[1,15],d=[1,16],p=[1,20],y=[1,19],E=[6,7,8],b=[1,26],L=[1,24],D=[1,25],k=[6,7,11],$=[1,6,13,15,16,19,22],f=[1,33],B=[1,34],P=[1,6,7,11,13,15,16,19,22],X={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:h(function(s,i,a,c,u,r,M){var g=r.length-1;switch(u){case 6:case 7:return c;case 8:c.getLogger().trace("Stop NL ");break;case 9:c.getLogger().trace("Stop EOF ");break;case 11:c.getLogger().trace("Stop NL2 ");break;case 12:c.getLogger().trace("Stop EOF2 ");break;case 15:c.getLogger().info("Node: ",r[g].id),c.addNode(r[g-1].length,r[g].id,r[g].descr,r[g].type);break;case 16:c.getLogger().trace("Icon: ",r[g]),c.decorateNode({icon:r[g]});break;case 17:case 21:c.decorateNode({class:r[g]});break;case 18:c.getLogger().trace("SPACELIST");break;case 19:c.getLogger().trace("Node: ",r[g].id),c.addNode(0,r[g].id,r[g].descr,r[g].type);break;case 20:c.decorateNode({icon:r[g]});break;case 25:c.getLogger().trace("node found ..",r[g-2]),this.$={id:r[g-1],descr:r[g-1],type:c.getType(r[g-2],r[g])};break;case 26:this.$={id:r[g],descr:r[g],type:c.nodeType.DEFAULT};break;case 27:c.getLogger().trace("node found ..",r[g-3]),this.$={id:r[g-3],descr:r[g-1],type:c.getType(r[g-2],r[g])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:o,7:[1,10],9:9,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t(E,[2,3]),{1:[2,2]},t(E,[2,4]),t(E,[2,5]),{1:[2,6],6:o,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:o,9:22,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:b,7:L,10:23,11:D},t(k,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:p,22:y}),t(k,[2,18]),t(k,[2,19]),t(k,[2,20]),t(k,[2,21]),t(k,[2,23]),t(k,[2,24]),t(k,[2,26],{19:[1,30]}),{20:[1,31]},{6:b,7:L,10:32,11:D},{1:[2,7],6:o,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t($,[2,14],{7:f,11:B}),t(P,[2,8]),t(P,[2,9]),t(P,[2,10]),t(k,[2,15]),t(k,[2,16]),t(k,[2,17]),{20:[1,35]},{21:[1,36]},t($,[2,13],{7:f,11:B}),t(P,[2,11]),t(P,[2,12]),{21:[1,37]},t(k,[2,25]),t(k,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:h(function(s,i){if(i.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=i,a}},"parseError"),parse:h(function(s){var i=this,a=[0],c=[],u=[null],r=[],M=this.table,g="",F=0,Q=0,ie=2,Z=1,se=r.slice.call(arguments,1),m=Object.create(this.lexer),C={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(C.yy[z]=this.yy[z]);m.setInput(s,C.yy),C.yy.lexer=m,C.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Y=m.yylloc;r.push(Y);var re=m.options&&m.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ae(x){a.length=a.length-2*x,u.length=u.length-x,r.length=r.length-x}h(ae,"popStack");function ee(){var x;return x=c.pop()||m.lex()||Z,typeof x!="number"&&(x instanceof Array&&(c=x,x=c.pop()),x=i.symbols_[x]||x),x}h(ee,"lex");for(var S,I,N,q,w={},G,v,te,j;;){if(I=a[a.length-1],this.defaultActions[I]?N=this.defaultActions[I]:((S===null||typeof S>"u")&&(S=ee()),N=M[I]&&M[I][S]),typeof N>"u"||!N.length||!N[0]){var J="";j=[];for(G in M[I])this.terminals_[G]&&G>ie&&j.push("'"+this.terminals_[G]+"'");m.showPosition?J="Parse error on line "+(F+1)+`: `+m.showPosition()+` Expecting `+j.join(", ")+", got '"+(this.terminals_[S]||S)+"'":J="Parse error on line "+(F+1)+": Unexpected "+(S==Z?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError(J,{text:m.match,token:this.terminals_[S]||S,line:m.yylineno,loc:Y,expected:j})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+I+", token: "+S);switch(N[0]){case 1:a.push(S),u.push(m.yytext),r.push(m.yylloc),a.push(N[1]),S=null,Q=m.yyleng,g=m.yytext,F=m.yylineno,Y=m.yylloc;break;case 2:if(v=this.productions_[N[1]][1],w.$=u[u.length-v],w._$={first_line:r[r.length-(v||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(v||1)].first_column,last_column:r[r.length-1].last_column},re&&(w._$.range=[r[r.length-(v||1)].range[0],r[r.length-1].range[1]]),q=this.performAction.apply(w,[g,Q,F,C.yy,N[1],u,r].concat(se)),typeof q<"u")return q;v&&(a=a.slice(0,-1*v*2),u=u.slice(0,-1*v),r=r.slice(0,-1*v)),a.push(this.productions_[N[1]][0]),u.push(w.$),r.push(w._$),te=M[a[a.length-2]][a[a.length-1]],a.push(te);break;case 3:return!0}}return!0},"parse")},ne=function(){var O={EOF:1,parseError:h(function(i,a){if(this.yy.parser)this.yy.parser.parseError(i,a);else throw new Error(i)},"parseError"),setInput:h(function(s,i){return this.yy=i||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:h(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var i=s.match(/(?:\r\n?|\n).*/g);return i?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:h(function(s){var i=s.length,a=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var c=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===c.length?this.yylloc.first_column:0)+c[c.length-a.length].length-a[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:h(function(s){this.unput(this.match.slice(s))},"less"),pastInput:h(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var s=this.pastInput(),i=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/pegDiagram-VL7TDLO6-C3mfqu29.js b/veadk/webui/assets/visualizations/mermaid/pegDiagram-VL7TDLO6-DbNsutj1.js similarity index 86% rename from veadk/webui/assets/visualizations/mermaid/pegDiagram-VL7TDLO6-C3mfqu29.js rename to veadk/webui/assets/visualizations/mermaid/pegDiagram-VL7TDLO6-DbNsutj1.js index 72a85e5a9..8d3707451 100644 --- a/veadk/webui/assets/visualizations/mermaid/pegDiagram-VL7TDLO6-C3mfqu29.js +++ b/veadk/webui/assets/visualizations/mermaid/pegDiagram-VL7TDLO6-DbNsutj1.js @@ -1 +1 @@ -import{g as l,r as m,d as a}from"./chunk-6Q2QTUOP-BWy4vQ8l.js";import{p}from"./chunk-JWPE2WC7-B2zXTT0G.js";import{a as t,at as o}from"./mermaid.core-CA8ypPul.js";import"../../app/index-BSfA7-Qp.js";import{M as u,b as c}from"./cynefin-OW5HDTMX-DZwYx8KA.js";var f=c().RailroadPeg.parser.LangiumParser,i=t(e=>{const r=e.alternatives.map(d);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),d=t(e=>{const r=e.elements.map(P);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),P=t(e=>{const r=g(e.suffix);return e.operator?{type:"special",text:e.operator==="&"?`&${s(r)}`:`!${s(r)}`}:r},"transformPrefix"),s=t(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),g=t(e=>{const r=v(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),v=t(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return i(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw new Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=t(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=t(e=>{p(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(y(r)))},"populateDb"),b={parse:t(e=>{a.clear(),o.debug("[PEG Parser] Starting Langium parse");const r=f.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const n=r.value;o.debug("[PEG Parser] Parsed rules:",n.rules.length),h(n),o.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a}},G={parser:b,db:a,renderer:m,styles:l};export{G as diagram}; +import{g as l,r as m,d as a}from"./chunk-6Q2QTUOP-C6-1_k94.js";import{p}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{a as t,at as o}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";import{M as u,b as c}from"./cynefin-OW5HDTMX-CJh-KUCL.js";var f=c().RailroadPeg.parser.LangiumParser,i=t(e=>{const r=e.alternatives.map(d);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),d=t(e=>{const r=e.elements.map(P);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),P=t(e=>{const r=g(e.suffix);return e.operator?{type:"special",text:e.operator==="&"?`&${s(r)}`:`!${s(r)}`}:r},"transformPrefix"),s=t(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),g=t(e=>{const r=v(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),v=t(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return i(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw new Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=t(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=t(e=>{p(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(y(r)))},"populateDb"),b={parse:t(e=>{a.clear(),o.debug("[PEG Parser] Starting Langium parse");const r=f.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const n=r.value;o.debug("[PEG Parser] Parsed rules:",n.rules.length),h(n),o.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a}},G={parser:b,db:a,renderer:m,styles:l};export{G as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-DiASGNAe.js b/veadk/webui/assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-CqeHEShc.js similarity index 95% rename from veadk/webui/assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-DiASGNAe.js rename to veadk/webui/assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-CqeHEShc.js index 1654039fe..aabf997fb 100644 --- a/veadk/webui/assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-DiASGNAe.js +++ b/veadk/webui/assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-CqeHEShc.js @@ -1,4 +1,4 @@ -import{p as rt}from"./chunk-JWPE2WC7-B2zXTT0G.js";import{D as T,b2 as B,f as nt,V as it,aR as st,W as ot,aS as lt,$ as ct,aU as ut,a as d,at as G,Y as gt,r as dt,aQ as pt,aC as ht,B as ft,s as mt,O as vt}from"./mermaid.core-CA8ypPul.js";import{p as xt}from"./cynefin-OW5HDTMX-DZwYx8KA.js";import"../../app/index-BSfA7-Qp.js";import{d as Z}from"../../chunks/arc-Bd-KWJD_.js";import{o as St}from"../../chunks/ordinal-Cboi1Yqb.js";import"../../chunks/init-Gi6I4Gst.js";function yt(t,n){return nt?1:n>=t?0:NaN}function wt(t){return t}function At(){var t=wt,n=yt,y=null,b=T(0),l=T(B),p=T(0);function i(e){var r,o=(e=nt(e)).length,h,w,$=0,f=new Array(o),s=new Array(o),D=+b.apply(this,arguments),E=Math.min(B,Math.max(-B,l.apply(this,arguments)-D)),k,W=Math.min(Math.abs(E)/o,p.apply(this,arguments)),u=W*(E<0?-1:1),A;for(r=0;r0&&($+=A);for(n!=null?f.sort(function(M,m){return n(s[M],s[m])}):y!=null&&f.sort(function(M,m){return y(e[M],e[m])}),r=0,w=$?(E-o*u)/$:0;r0?A*w:0)+u,s[h]={data:e[h],index:r,value:A,startAngle:D,endAngle:k,padAngle:W};return s}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:T(+e),i):t},i.sortValues=function(e){return arguments.length?(n=e,y=null,i):n},i.sort=function(e){return arguments.length?(y=e,n=null,i):y},i.startAngle=function(e){return arguments.length?(b=typeof e=="function"?e:T(+e),i):b},i.endAngle=function(e){return arguments.length?(l=typeof e=="function"?e:T(+e),i):l},i.padAngle=function(e){return arguments.length?(p=typeof e=="function"?e:T(+e),i):p},i}var Ct=vt.pie,I={sections:new Map,showData:!1},F=I.sections,V=I.showData,$t=structuredClone(Ct),Dt=d(()=>structuredClone($t),"getConfig"),Tt=d(()=>{F=new Map,V=I.showData,mt()},"clear"),bt=d(({label:t,value:n})=>{if(n<0)throw new Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);F.has(t)||(F.set(t,n),G.debug(`added new section: ${t}, with value: ${n}`))},"addSection"),kt=d(()=>F,"getSections"),zt=d(t=>{V=t},"setShowData"),Et=d(()=>V,"getShowData"),q={getConfig:Dt,clear:Tt,setDiagramTitle:ut,getDiagramTitle:ct,setAccTitle:lt,getAccTitle:ot,setAccDescription:st,getAccDescription:it,addSection:bt,getSections:kt,setShowData:zt,getShowData:Et},Mt=d((t,n)=>{rt(t,n),n.setShowData(t.showData),t.sections.map(n.addSection)},"populateDb"),Rt={parse:d(async t=>{const n=await xt("pie",t);G.debug(n),Mt(n,q)},"parse")},Wt=d(t=>` +import{p as rt}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{D as T,b2 as B,f as nt,V as it,aR as st,W as ot,aS as lt,$ as ct,aU as ut,a as d,at as G,Y as gt,r as dt,aQ as pt,aC as ht,B as ft,s as mt,O as vt}from"./mermaid.core-DS1qXbzQ.js";import{p as xt}from"./cynefin-OW5HDTMX-CJh-KUCL.js";import"../../app/index-B0ly_D9Z.js";import{d as Z}from"../../chunks/arc-ClN_EYFb.js";import{o as St}from"../../chunks/ordinal-Cboi1Yqb.js";import"../../chunks/init-Gi6I4Gst.js";function yt(t,n){return nt?1:n>=t?0:NaN}function wt(t){return t}function At(){var t=wt,n=yt,y=null,b=T(0),l=T(B),p=T(0);function i(e){var r,o=(e=nt(e)).length,h,w,$=0,f=new Array(o),s=new Array(o),D=+b.apply(this,arguments),E=Math.min(B,Math.max(-B,l.apply(this,arguments)-D)),k,W=Math.min(Math.abs(E)/o,p.apply(this,arguments)),u=W*(E<0?-1:1),A;for(r=0;r0&&($+=A);for(n!=null?f.sort(function(M,m){return n(s[M],s[m])}):y!=null&&f.sort(function(M,m){return y(e[M],e[m])}),r=0,w=$?(E-o*u)/$:0;r0?A*w:0)+u,s[h]={data:e[h],index:r,value:A,startAngle:D,endAngle:k,padAngle:W};return s}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:T(+e),i):t},i.sortValues=function(e){return arguments.length?(n=e,y=null,i):n},i.sort=function(e){return arguments.length?(y=e,n=null,i):y},i.startAngle=function(e){return arguments.length?(b=typeof e=="function"?e:T(+e),i):b},i.endAngle=function(e){return arguments.length?(l=typeof e=="function"?e:T(+e),i):l},i.padAngle=function(e){return arguments.length?(p=typeof e=="function"?e:T(+e),i):p},i}var Ct=vt.pie,I={sections:new Map,showData:!1},F=I.sections,V=I.showData,$t=structuredClone(Ct),Dt=d(()=>structuredClone($t),"getConfig"),Tt=d(()=>{F=new Map,V=I.showData,mt()},"clear"),bt=d(({label:t,value:n})=>{if(n<0)throw new Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);F.has(t)||(F.set(t,n),G.debug(`added new section: ${t}, with value: ${n}`))},"addSection"),kt=d(()=>F,"getSections"),zt=d(t=>{V=t},"setShowData"),Et=d(()=>V,"getShowData"),q={getConfig:Dt,clear:Tt,setDiagramTitle:ut,getDiagramTitle:ct,setAccTitle:lt,getAccTitle:ot,setAccDescription:st,getAccDescription:it,addSection:bt,getSections:kt,setShowData:zt,getShowData:Et},Mt=d((t,n)=>{rt(t,n),n.setShowData(t.showData),t.sections.map(n.addSection)},"populateDb"),Rt={parse:d(async t=>{const n=await xt("pie",t);G.debug(n),Mt(n,q)},"parse")},Wt=d(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; diff --git a/veadk/webui/assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-DJm-gHGj.js b/veadk/webui/assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-CuJbFelH.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-DJm-gHGj.js rename to veadk/webui/assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-CuJbFelH.js index 1df72b1b0..3783abfac 100644 --- a/veadk/webui/assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-DJm-gHGj.js +++ b/veadk/webui/assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-CuJbFelH.js @@ -1,4 +1,4 @@ -import{aR as Ae,V as ke,$ as ae,aU as Fe,W as Pe,aS as ve,a as o,Y as wt,at as At,B as Ce,s as Le,O as V,aO as Ee,a8 as De}from"./mermaid.core-CA8ypPul.js";import{ad as Vt}from"../../app/index-BSfA7-Qp.js";import{l as ie}from"../../chunks/linear-D2RiTPZI.js";import"../../chunks/init-Gi6I4Gst.js";import"../../chunks/defaultLocale-CrowFXzY.js";var zt=function(){var t=o(function(j,r,l,g){for(l=l||{},g=j.length;g--;l[j[g]]=r);return l},"o"),n=[1,3],u=[1,4],c=[1,5],h=[1,6],p=[1,7],y=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],S=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],k=[2,36],d=[1,37],T=[1,36],m=[1,38],q=[1,35],b=[1,43],x=[1,41],_=[1,45],Y=[1,14],G=[1,23],yt=[1,18],Tt=[1,19],dt=[1,20],Ft=[1,21],ut=[1,22],xt=[1,24],ft=[1,25],gt=[1,26],i=[1,27],Bt=[1,28],Rt=[1,29],U=[1,32],O=[1,33],F=[1,34],P=[1,39],v=[1,40],C=[1,42],L=[1,44],H=[1,63],X=[1,62],E=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],Nt=[1,66],Wt=[1,67],Ut=[1,68],Ot=[1,69],Qt=[1,70],Ht=[1,71],Xt=[1,72],Mt=[1,73],Yt=[1,74],jt=[1,75],Gt=[1,76],Kt=[1,77],w=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,91],$=[1,92],tt=[1,93],et=[1,100],it=[1,94],at=[1,97],nt=[1,95],st=[1,96],rt=[1,98],ot=[1,99],Pt=[1,103],Zt=[10,55,56,57],N=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],vt={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(r,l,g,f,A,e,pt){var s=e.length-1;switch(A){case 23:this.$=e[s];break;case 24:this.$=e[s-1]+""+e[s];break;case 26:this.$=e[s-1]+e[s];break;case 27:this.$=[e[s].trim()];break;case 28:e[s-2].push(e[s].trim()),this.$=e[s-2];break;case 29:this.$=e[s-4],f.addClass(e[s-2],e[s]);break;case 37:this.$=[];break;case 42:this.$=e[s].trim(),f.setDiagramTitle(this.$);break;case 43:this.$=e[s].trim(),f.setAccTitle(this.$);break;case 44:case 45:this.$=e[s].trim(),f.setAccDescription(this.$);break;case 46:f.addSection(e[s].substr(8)),this.$=e[s].substr(8);break;case 47:f.addPoint(e[s-3],"",e[s-1],e[s],[]);break;case 48:f.addPoint(e[s-4],e[s-3],e[s-1],e[s],[]);break;case 49:f.addPoint(e[s-4],"",e[s-2],e[s-1],e[s]);break;case 50:f.addPoint(e[s-5],e[s-4],e[s-2],e[s-1],e[s]);break;case 51:f.setXAxisLeftText(e[s-2]),f.setXAxisRightText(e[s]);break;case 52:e[s-1].text+=" ⟶ ",f.setXAxisLeftText(e[s-1]);break;case 53:f.setXAxisLeftText(e[s]);break;case 54:f.setYAxisBottomText(e[s-2]),f.setYAxisTopText(e[s]);break;case 55:e[s-1].text+=" ⟶ ",f.setYAxisBottomText(e[s-1]);break;case 56:f.setYAxisBottomText(e[s]);break;case 57:f.setQuadrant1Text(e[s]);break;case 58:f.setQuadrant2Text(e[s]);break;case 59:f.setQuadrant3Text(e[s]);break;case 60:f.setQuadrant4Text(e[s]);break;case 64:this.$={text:e[s],type:"text"};break;case 65:this.$={text:e[s-1].text+""+e[s],type:e[s-1].type};break;case 66:this.$={text:e[s],type:"text"};break;case 67:this.$={text:e[s],type:"markdown"};break;case 68:this.$=e[s];break;case 69:this.$=e[s-1]+""+e[s];break}},"anonymous"),table:[{18:n,26:1,27:2,28:u,55:c,56:h,57:p},{1:[3]},{18:n,26:8,27:2,28:u,55:c,56:h,57:p},{18:n,26:9,27:2,28:u,55:c,56:h,57:p},t(y,[2,33],{29:10}),t(S,[2,61]),t(S,[2,62]),t(S,[2,63]),{1:[2,30]},{1:[2,31]},t(a,k,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:T,10:m,12:q,13:b,14:x,15:_,18:Y,25:G,35:yt,37:Tt,39:dt,41:Ft,42:ut,48:xt,50:ft,51:gt,52:i,53:Bt,54:Rt,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),t(y,[2,34]),{27:46,55:c,56:h,57:p},t(a,[2,37]),t(a,k,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:d,5:T,10:m,12:q,13:b,14:x,15:_,18:Y,25:G,35:yt,37:Tt,39:dt,41:Ft,42:ut,48:xt,50:ft,51:gt,52:i,53:Bt,54:Rt,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(a,[2,45]),t(a,[2,46]),{18:[1,51]},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:52,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:53,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:54,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:55,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:56,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:57,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,44:[1,58],47:[1,59],58:61,59:60,63:F,64:P,65:v,66:C,67:L},t(E,[2,64]),t(E,[2,66]),t(E,[2,67]),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(E,[2,74]),t(E,[2,75]),t(E,[2,76]),t(E,[2,77]),t(E,[2,78]),t(E,[2,79]),t(E,[2,80]),t(E,[2,81]),t(y,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:65,4:Nt,5:Wt,6:Ut,7:Ot,8:Qt,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,21:64},t(a,[2,53],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,49:[1,78],63:F,64:P,65:v,66:C,67:L}),t(a,[2,56],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,49:[1,79],63:F,64:P,65:v,66:C,67:L}),t(a,[2,57],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,58],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,59],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,60],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),{45:[1,80]},{44:[1,81]},t(E,[2,65]),t(E,[2,82]),t(E,[2,83]),t(E,[2,84]),{3:83,4:Nt,5:Wt,6:Ut,7:Ot,8:Qt,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,18:[1,82]},t(w,[2,23]),t(w,[2,1]),t(w,[2,2]),t(w,[2,3]),t(w,[2,4]),t(w,[2,5]),t(w,[2,6]),t(w,[2,7]),t(w,[2,8]),t(w,[2,9]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(a,[2,52],{58:31,43:84,4:d,5:T,10:m,12:q,13:b,14:x,15:_,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),t(a,[2,55],{58:31,43:85,4:d,5:T,10:m,12:q,13:b,14:x,15:_,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),{46:[1,86]},{45:[1,87]},{4:J,5:$,6:tt,8:et,11:it,13:at,16:90,17:nt,18:st,19:rt,20:ot,22:89,23:88},t(w,[2,24]),t(a,[2,51],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,54],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,47],{22:89,16:90,23:101,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{46:[1,102]},t(a,[2,29],{10:Pt}),t(Zt,[2,27],{16:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),t(N,[2,25]),t(N,[2,13]),t(N,[2,14]),t(N,[2,15]),t(N,[2,16]),t(N,[2,17]),t(N,[2,18]),t(N,[2,19]),t(N,[2,20]),t(N,[2,21]),t(N,[2,22]),t(a,[2,49],{10:Pt}),t(a,[2,48],{22:89,16:90,23:105,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{4:J,5:$,6:tt,8:et,11:it,13:at,16:90,17:nt,18:st,19:rt,20:ot,22:106},t(N,[2,26]),t(a,[2,50],{10:Pt}),t(Zt,[2,28],{16:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(r,l){if(l.recoverable)this.trace(r);else{var g=new Error(r);throw g.hash=l,g}},"parseError"),parse:o(function(r){var l=this,g=[0],f=[],A=[null],e=[],pt=this.table,s="",qt=0,Jt=0,qe=2,$t=1,be=e.slice.call(arguments,1),D=Object.create(this.lexer),K={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(K.yy[Ct]=this.yy[Ct]);D.setInput(r,K.yy),K.yy.lexer=D,K.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Lt=D.yylloc;e.push(Lt);var Se=D.options&&D.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(R){g.length=g.length-2*R,A.length=A.length-R,e.length=e.length-R}o(_e,"popStack");function te(){var R;return R=f.pop()||D.lex()||$t,typeof R!="number"&&(R instanceof Array&&(f=R,R=f.pop()),R=l.symbols_[R]||R),R}o(te,"lex");for(var B,Z,W,Et,lt={},bt,M,ee,St;;){if(Z=g[g.length-1],this.defaultActions[Z]?W=this.defaultActions[Z]:((B===null||typeof B>"u")&&(B=te()),W=pt[Z]&&pt[Z][B]),typeof W>"u"||!W.length||!W[0]){var Dt="";St=[];for(bt in pt[Z])this.terminals_[bt]&&bt>qe&&St.push("'"+this.terminals_[bt]+"'");D.showPosition?Dt="Parse error on line "+(qt+1)+`: +import{aR as Ae,V as ke,$ as ae,aU as Fe,W as Pe,aS as ve,a as o,Y as wt,at as At,B as Ce,s as Le,O as V,aO as Ee,a8 as De}from"./mermaid.core-DS1qXbzQ.js";import{ad as Vt}from"../../app/index-B0ly_D9Z.js";import{l as ie}from"../../chunks/linear-CyFihCT8.js";import"../../chunks/init-Gi6I4Gst.js";import"../../chunks/defaultLocale-CrowFXzY.js";var zt=function(){var t=o(function(j,r,l,g){for(l=l||{},g=j.length;g--;l[j[g]]=r);return l},"o"),n=[1,3],u=[1,4],c=[1,5],h=[1,6],p=[1,7],y=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],S=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],k=[2,36],d=[1,37],T=[1,36],m=[1,38],q=[1,35],b=[1,43],x=[1,41],_=[1,45],Y=[1,14],G=[1,23],yt=[1,18],Tt=[1,19],dt=[1,20],Ft=[1,21],ut=[1,22],xt=[1,24],ft=[1,25],gt=[1,26],i=[1,27],Bt=[1,28],Rt=[1,29],U=[1,32],O=[1,33],F=[1,34],P=[1,39],v=[1,40],C=[1,42],L=[1,44],H=[1,63],X=[1,62],E=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],Nt=[1,66],Wt=[1,67],Ut=[1,68],Ot=[1,69],Qt=[1,70],Ht=[1,71],Xt=[1,72],Mt=[1,73],Yt=[1,74],jt=[1,75],Gt=[1,76],Kt=[1,77],w=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,91],$=[1,92],tt=[1,93],et=[1,100],it=[1,94],at=[1,97],nt=[1,95],st=[1,96],rt=[1,98],ot=[1,99],Pt=[1,103],Zt=[10,55,56,57],N=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],vt={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(r,l,g,f,A,e,pt){var s=e.length-1;switch(A){case 23:this.$=e[s];break;case 24:this.$=e[s-1]+""+e[s];break;case 26:this.$=e[s-1]+e[s];break;case 27:this.$=[e[s].trim()];break;case 28:e[s-2].push(e[s].trim()),this.$=e[s-2];break;case 29:this.$=e[s-4],f.addClass(e[s-2],e[s]);break;case 37:this.$=[];break;case 42:this.$=e[s].trim(),f.setDiagramTitle(this.$);break;case 43:this.$=e[s].trim(),f.setAccTitle(this.$);break;case 44:case 45:this.$=e[s].trim(),f.setAccDescription(this.$);break;case 46:f.addSection(e[s].substr(8)),this.$=e[s].substr(8);break;case 47:f.addPoint(e[s-3],"",e[s-1],e[s],[]);break;case 48:f.addPoint(e[s-4],e[s-3],e[s-1],e[s],[]);break;case 49:f.addPoint(e[s-4],"",e[s-2],e[s-1],e[s]);break;case 50:f.addPoint(e[s-5],e[s-4],e[s-2],e[s-1],e[s]);break;case 51:f.setXAxisLeftText(e[s-2]),f.setXAxisRightText(e[s]);break;case 52:e[s-1].text+=" ⟶ ",f.setXAxisLeftText(e[s-1]);break;case 53:f.setXAxisLeftText(e[s]);break;case 54:f.setYAxisBottomText(e[s-2]),f.setYAxisTopText(e[s]);break;case 55:e[s-1].text+=" ⟶ ",f.setYAxisBottomText(e[s-1]);break;case 56:f.setYAxisBottomText(e[s]);break;case 57:f.setQuadrant1Text(e[s]);break;case 58:f.setQuadrant2Text(e[s]);break;case 59:f.setQuadrant3Text(e[s]);break;case 60:f.setQuadrant4Text(e[s]);break;case 64:this.$={text:e[s],type:"text"};break;case 65:this.$={text:e[s-1].text+""+e[s],type:e[s-1].type};break;case 66:this.$={text:e[s],type:"text"};break;case 67:this.$={text:e[s],type:"markdown"};break;case 68:this.$=e[s];break;case 69:this.$=e[s-1]+""+e[s];break}},"anonymous"),table:[{18:n,26:1,27:2,28:u,55:c,56:h,57:p},{1:[3]},{18:n,26:8,27:2,28:u,55:c,56:h,57:p},{18:n,26:9,27:2,28:u,55:c,56:h,57:p},t(y,[2,33],{29:10}),t(S,[2,61]),t(S,[2,62]),t(S,[2,63]),{1:[2,30]},{1:[2,31]},t(a,k,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:T,10:m,12:q,13:b,14:x,15:_,18:Y,25:G,35:yt,37:Tt,39:dt,41:Ft,42:ut,48:xt,50:ft,51:gt,52:i,53:Bt,54:Rt,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),t(y,[2,34]),{27:46,55:c,56:h,57:p},t(a,[2,37]),t(a,k,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:d,5:T,10:m,12:q,13:b,14:x,15:_,18:Y,25:G,35:yt,37:Tt,39:dt,41:Ft,42:ut,48:xt,50:ft,51:gt,52:i,53:Bt,54:Rt,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(a,[2,45]),t(a,[2,46]),{18:[1,51]},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:52,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:53,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:54,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:55,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:56,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:57,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,44:[1,58],47:[1,59],58:61,59:60,63:F,64:P,65:v,66:C,67:L},t(E,[2,64]),t(E,[2,66]),t(E,[2,67]),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(E,[2,74]),t(E,[2,75]),t(E,[2,76]),t(E,[2,77]),t(E,[2,78]),t(E,[2,79]),t(E,[2,80]),t(E,[2,81]),t(y,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:65,4:Nt,5:Wt,6:Ut,7:Ot,8:Qt,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,21:64},t(a,[2,53],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,49:[1,78],63:F,64:P,65:v,66:C,67:L}),t(a,[2,56],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,49:[1,79],63:F,64:P,65:v,66:C,67:L}),t(a,[2,57],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,58],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,59],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,60],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),{45:[1,80]},{44:[1,81]},t(E,[2,65]),t(E,[2,82]),t(E,[2,83]),t(E,[2,84]),{3:83,4:Nt,5:Wt,6:Ut,7:Ot,8:Qt,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,18:[1,82]},t(w,[2,23]),t(w,[2,1]),t(w,[2,2]),t(w,[2,3]),t(w,[2,4]),t(w,[2,5]),t(w,[2,6]),t(w,[2,7]),t(w,[2,8]),t(w,[2,9]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(a,[2,52],{58:31,43:84,4:d,5:T,10:m,12:q,13:b,14:x,15:_,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),t(a,[2,55],{58:31,43:85,4:d,5:T,10:m,12:q,13:b,14:x,15:_,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),{46:[1,86]},{45:[1,87]},{4:J,5:$,6:tt,8:et,11:it,13:at,16:90,17:nt,18:st,19:rt,20:ot,22:89,23:88},t(w,[2,24]),t(a,[2,51],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,54],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,47],{22:89,16:90,23:101,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{46:[1,102]},t(a,[2,29],{10:Pt}),t(Zt,[2,27],{16:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),t(N,[2,25]),t(N,[2,13]),t(N,[2,14]),t(N,[2,15]),t(N,[2,16]),t(N,[2,17]),t(N,[2,18]),t(N,[2,19]),t(N,[2,20]),t(N,[2,21]),t(N,[2,22]),t(a,[2,49],{10:Pt}),t(a,[2,48],{22:89,16:90,23:105,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{4:J,5:$,6:tt,8:et,11:it,13:at,16:90,17:nt,18:st,19:rt,20:ot,22:106},t(N,[2,26]),t(a,[2,50],{10:Pt}),t(Zt,[2,28],{16:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(r,l){if(l.recoverable)this.trace(r);else{var g=new Error(r);throw g.hash=l,g}},"parseError"),parse:o(function(r){var l=this,g=[0],f=[],A=[null],e=[],pt=this.table,s="",qt=0,Jt=0,qe=2,$t=1,be=e.slice.call(arguments,1),D=Object.create(this.lexer),K={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(K.yy[Ct]=this.yy[Ct]);D.setInput(r,K.yy),K.yy.lexer=D,K.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Lt=D.yylloc;e.push(Lt);var Se=D.options&&D.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(R){g.length=g.length-2*R,A.length=A.length-R,e.length=e.length-R}o(_e,"popStack");function te(){var R;return R=f.pop()||D.lex()||$t,typeof R!="number"&&(R instanceof Array&&(f=R,R=f.pop()),R=l.symbols_[R]||R),R}o(te,"lex");for(var B,Z,W,Et,lt={},bt,M,ee,St;;){if(Z=g[g.length-1],this.defaultActions[Z]?W=this.defaultActions[Z]:((B===null||typeof B>"u")&&(B=te()),W=pt[Z]&&pt[Z][B]),typeof W>"u"||!W.length||!W[0]){var Dt="";St=[];for(bt in pt[Z])this.terminals_[bt]&&bt>qe&&St.push("'"+this.terminals_[bt]+"'");D.showPosition?Dt="Parse error on line "+(qt+1)+`: `+D.showPosition()+` Expecting `+St.join(", ")+", got '"+(this.terminals_[B]||B)+"'":Dt="Parse error on line "+(qt+1)+": Unexpected "+(B==$t?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(Dt,{text:D.match,token:this.terminals_[B]||B,line:D.yylineno,loc:Lt,expected:St})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+B);switch(W[0]){case 1:g.push(B),A.push(D.yytext),e.push(D.yylloc),g.push(W[1]),B=null,Jt=D.yyleng,s=D.yytext,qt=D.yylineno,Lt=D.yylloc;break;case 2:if(M=this.productions_[W[1]][1],lt.$=A[A.length-M],lt._$={first_line:e[e.length-(M||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(M||1)].first_column,last_column:e[e.length-1].last_column},Se&&(lt._$.range=[e[e.length-(M||1)].range[0],e[e.length-1].range[1]]),Et=this.performAction.apply(lt,[s,Jt,qt,K.yy,W[1],A,e].concat(be)),typeof Et<"u")return Et;M&&(g=g.slice(0,-1*M*2),A=A.slice(0,-1*M),e=e.slice(0,-1*M)),g.push(this.productions_[W[1]][0]),A.push(lt.$),e.push(lt._$),ee=pt[g[g.length-2]][g[g.length-1]],g.push(ee);break;case 3:return!0}}return!0},"parse")},me=function(){var j={EOF:1,parseError:o(function(l,g){if(this.yy.parser)this.yy.parser.parseError(l,g);else throw new Error(l)},"parseError"),setInput:o(function(r,l){return this.yy=l||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:o(function(r){var l=r.length,g=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var f=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===f.length?this.yylloc.first_column:0)+f[f.length-g.length].length-g[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(r){this.unput(this.match.slice(r))},"less"),pastInput:o(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/railroadDiagram-AXF67PYL-BRnmPnOB.js b/veadk/webui/assets/visualizations/mermaid/railroadDiagram-AXF67PYL-CGW6-Zk4.js similarity index 84% rename from veadk/webui/assets/visualizations/mermaid/railroadDiagram-AXF67PYL-BRnmPnOB.js rename to veadk/webui/assets/visualizations/mermaid/railroadDiagram-AXF67PYL-CGW6-Zk4.js index 6e59ce87d..4780cfa9f 100644 --- a/veadk/webui/assets/visualizations/mermaid/railroadDiagram-AXF67PYL-BRnmPnOB.js +++ b/veadk/webui/assets/visualizations/mermaid/railroadDiagram-AXF67PYL-CGW6-Zk4.js @@ -1 +1 @@ -import{g as s,r as l,d as t}from"./chunk-6Q2QTUOP-BWy4vQ8l.js";import{p as m}from"./chunk-JWPE2WC7-B2zXTT0G.js";import{a as n,at as i}from"./mermaid.core-CA8ypPul.js";import"../../app/index-BSfA7-Qp.js";import{M as p,d as u}from"./cynefin-OW5HDTMX-DZwYx8KA.js";var d=u().Railroad.parser.LangiumParser,a=n(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{const r=e.elements.map(a);return r.length===1?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{const r=e.alternatives.map(a);return r.length===1?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:a(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:a(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:a(e.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),c=n(e=>({name:e.name,definition:a(e.definition)}),"transformRule"),g=n(e=>{m(e,t),e.title&&t.setTitle(e.title),e.rules.map(r=>t.addRule(c(r)))},"populateDb"),y={parse:n(e=>{t.clear(),i.debug("[Railroad Parser] Starting Langium parse");const r=d.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p(r);const o=r.value;i.debug("[Railroad Parser] Parsed rules:",o.rules.length),g(o),i.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t}},x={parser:y,db:t,renderer:l,styles:s};export{x as diagram}; +import{g as s,r as l,d as t}from"./chunk-6Q2QTUOP-C6-1_k94.js";import{p as m}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{a as n,at as i}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";import{M as p,d as u}from"./cynefin-OW5HDTMX-CJh-KUCL.js";var d=u().Railroad.parser.LangiumParser,a=n(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{const r=e.elements.map(a);return r.length===1?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{const r=e.alternatives.map(a);return r.length===1?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:a(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:a(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:a(e.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),c=n(e=>({name:e.name,definition:a(e.definition)}),"transformRule"),g=n(e=>{m(e,t),e.title&&t.setTitle(e.title),e.rules.map(r=>t.addRule(c(r)))},"populateDb"),y={parse:n(e=>{t.clear(),i.debug("[Railroad Parser] Starting Langium parse");const r=d.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p(r);const o=r.value;i.debug("[Railroad Parser] Parsed rules:",o.rules.length),g(o),i.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t}},x={parser:y,db:t,renderer:l,styles:s};export{x as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-DFDVaceD.js b/veadk/webui/assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-DPBEfaZ3.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-DFDVaceD.js rename to veadk/webui/assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-DPBEfaZ3.js index f0882c974..edecdd147 100644 --- a/veadk/webui/assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-DFDVaceD.js +++ b/veadk/webui/assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-DPBEfaZ3.js @@ -1,4 +1,4 @@ -import{g as ze}from"./chunk-XXDRQBXY-4aIfLT7K.js";import{s as Xe}from"./chunk-KBJHAD2P-BfrlQA_C.js";import{a as d,X as Be,aS as Je,W as Ze,aR as et,V as tt,aU as st,$ as it,Y as Ne,at as qe,s as rt,_ as nt,a4 as at,aL as lt,ba as ct}from"./mermaid.core-CA8ypPul.js";import"../../app/index-BSfA7-Qp.js";var Ce=function(){var e=d(function($,i,n,l){for(n=n||{},l=$.length;l--;n[$[l]]=i);return n},"o"),r=[1,3],u=[1,4],h=[1,5],o=[1,6],c=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],E=[1,22],p=[2,7],f=[1,26],m=[1,27],b=[1,28],k=[1,29],C=[1,33],V=[1,34],A=[1,35],v=[1,36],L=[1,37],x=[1,38],O=[1,24],w=[1,31],D=[1,32],M=[1,30],y=[1,39],_=[1,40],g=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],P=[1,61],X=[89,90],Ve=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Ee=[27,29],Ae=[1,70],ve=[1,71],Le=[1,72],xe=[1,73],Oe=[1,74],we=[1,75],De=[1,76],ee=[1,83],U=[1,80],te=[1,84],se=[1,85],ie=[1,86],re=[1,87],ne=[1,88],ae=[1,89],le=[1,90],ce=[1,91],oe=[1,92],pe=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Y=[63,64],Me=[1,101],Fe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],N=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[1,110],Q=[1,106],H=[1,107],K=[1,108],W=[1,109],j=[1,111],he=[1,116],ue=[1,117],fe=[1,114],me=[1,115],Se={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:d(function(i,n,l,s,R,t,de){var a=t.length-1;switch(R){case 4:this.$=t[a].trim(),s.setAccTitle(this.$);break;case 5:case 6:this.$=t[a].trim(),s.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:s.setDirection("TB");break;case 18:s.setDirection("BT");break;case 19:s.setDirection("RL");break;case 20:s.setDirection("LR");break;case 21:s.addRequirement(t[a-3],t[a-4]);break;case 22:s.addRequirement(t[a-5],t[a-6]),s.setClass([t[a-5]],t[a-3]);break;case 23:s.setNewReqId(t[a-2]);break;case 24:s.setNewReqText(t[a-2]);break;case 25:s.setNewReqRisk(t[a-2]);break;case 26:s.setNewReqVerifyMethod(t[a-2]);break;case 29:this.$=s.RequirementType.REQUIREMENT;break;case 30:this.$=s.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=s.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=s.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=s.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=s.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=s.RiskLevel.LOW_RISK;break;case 36:this.$=s.RiskLevel.MED_RISK;break;case 37:this.$=s.RiskLevel.HIGH_RISK;break;case 38:this.$=s.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=s.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=s.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=s.VerifyType.VERIFY_TEST;break;case 42:s.addElement(t[a-3]);break;case 43:s.addElement(t[a-5]),s.setClass([t[a-5]],t[a-3]);break;case 44:s.setNewElementType(t[a-2]);break;case 45:s.setNewElementDocRef(t[a-2]);break;case 48:s.addRelationship(t[a-2],t[a],t[a-4]);break;case 49:s.addRelationship(t[a-2],t[a-4],t[a]);break;case 50:this.$=s.Relationships.CONTAINS;break;case 51:this.$=s.Relationships.COPIES;break;case 52:this.$=s.Relationships.DERIVES;break;case 53:this.$=s.Relationships.SATISFIES;break;case 54:this.$=s.Relationships.VERIFIES;break;case 55:this.$=s.Relationships.REFINES;break;case 56:this.$=s.Relationships.TRACES;break;case 57:this.$=t[a-2],s.defineClass(t[a-1],t[a]);break;case 58:s.setClass(t[a-1],t[a]);break;case 59:s.setClass([t[a-2]],t[a]);break;case 60:case 62:this.$=[t[a]];break;case 61:case 63:this.$=t[a-2].concat([t[a]]);break;case 64:this.$=t[a-2],s.setCssStyle(t[a-1],t[a]);break;case 65:this.$=[t[a]];break;case 66:t[a-2].push(t[a]),this.$=t[a-2];break;case 68:this.$=t[a-1]+t[a];break}},"anonymous"),table:[{3:1,4:2,6:r,9:u,11:h,13:o},{1:[3]},{3:8,4:2,5:[1,7],6:r,9:u,11:h,13:o},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(c,[2,6]),{3:12,4:2,6:r,9:u,11:h,13:o},{1:[2,2]},{4:17,5:E,7:13,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},e(c,[2,4]),e(c,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:E,7:42,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:43,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:44,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:45,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:46,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:47,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:48,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:49,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:50,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(g,[2,17]),e(g,[2,18]),e(g,[2,19]),e(g,[2,20]),{30:60,33:62,75:P,89:y,90:_},{30:63,33:62,75:P,89:y,90:_},{30:64,33:62,75:P,89:y,90:_},e(X,[2,29]),e(X,[2,30]),e(X,[2,31]),e(X,[2,32]),e(X,[2,33]),e(X,[2,34]),e(Ve,[2,81]),e(Ve,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(Ee,[2,79]),e(Ee,[2,80]),{27:[1,67],29:[1,68]},e(Ee,[2,85]),e(Ee,[2,86]),{62:69,65:Ae,66:ve,67:Le,68:xe,69:Oe,70:we,71:De},{62:77,65:Ae,66:ve,67:Le,68:xe,69:Oe,70:we,71:De},{30:78,33:62,75:P,89:y,90:_},{73:79,75:ee,76:U,78:81,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},e(pe,[2,60]),e(pe,[2,62]),{73:93,75:ee,76:U,78:81,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},{30:94,33:62,75:P,76:U,89:y,90:_},{5:[1,95]},{30:96,33:62,75:P,89:y,90:_},{5:[1,97]},{30:98,33:62,75:P,89:y,90:_},{63:[1,99]},e(Y,[2,50]),e(Y,[2,51]),e(Y,[2,52]),e(Y,[2,53]),e(Y,[2,54]),e(Y,[2,55]),e(Y,[2,56]),{64:[1,100]},e(g,[2,59],{76:U}),e(g,[2,64],{76:Me}),{33:103,75:[1,102],89:y,90:_},e(Fe,[2,65],{79:104,75:ee,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe}),e(N,[2,67]),e(N,[2,69]),e(N,[2,70]),e(N,[2,71]),e(N,[2,72]),e(N,[2,73]),e(N,[2,74]),e(N,[2,75]),e(N,[2,76]),e(N,[2,77]),e(N,[2,78]),e(g,[2,57],{76:Me}),e(g,[2,58],{76:U}),{5:B,28:105,31:Q,34:H,36:K,38:W,40:j},{27:[1,112],76:U},{5:he,40:ue,56:113,57:fe,59:me},{27:[1,118],76:U},{33:119,89:y,90:_},{33:120,89:y,90:_},{75:ee,78:121,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},e(pe,[2,61]),e(pe,[2,63]),e(N,[2,68]),e(g,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:B,28:126,31:Q,34:H,36:K,38:W,40:j},e(g,[2,28]),{5:[1,127]},e(g,[2,42]),{32:[1,128]},{32:[1,129]},{5:he,40:ue,56:130,57:fe,59:me},e(g,[2,47]),{5:[1,131]},e(g,[2,48]),e(g,[2,49]),e(Fe,[2,66],{79:104,75:ee,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe}),{33:132,89:y,90:_},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(g,[2,27]),{5:B,28:145,31:Q,34:H,36:K,38:W,40:j},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(g,[2,46]),{5:he,40:ue,56:152,57:fe,59:me},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(g,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(g,[2,43]),{5:B,28:159,31:Q,34:H,36:K,38:W,40:j},{5:B,28:160,31:Q,34:H,36:K,38:W,40:j},{5:B,28:161,31:Q,34:H,36:K,38:W,40:j},{5:B,28:162,31:Q,34:H,36:K,38:W,40:j},{5:he,40:ue,56:163,57:fe,59:me},{5:he,40:ue,56:164,57:fe,59:me},e(g,[2,23]),e(g,[2,24]),e(g,[2,25]),e(g,[2,26]),e(g,[2,44]),e(g,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:d(function(i,n){if(n.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=n,l}},"parseError"),parse:d(function(i){var n=this,l=[0],s=[],R=[null],t=[],de=this.table,a="",ge=0,$e=0,Ke=2,Pe=1,We=t.slice.call(arguments,1),S=Object.create(this.lexer),G={yy:{}};for(var be in this.yy)Object.prototype.hasOwnProperty.call(this.yy,be)&&(G.yy[be]=this.yy[be]);S.setInput(i,G.yy),G.yy.lexer=S,G.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var Ie=S.yylloc;t.push(Ie);var je=S.options&&S.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ge(T){l.length=l.length-2*T,R.length=R.length-T,t.length=t.length-T}d(Ge,"popStack");function Ue(){var T;return T=s.pop()||S.lex()||Pe,typeof T!="number"&&(T instanceof Array&&(s=T,T=s.pop()),T=n.symbols_[T]||T),T}d(Ue,"lex");for(var I,z,q,Te,J={},ye,F,Ye,_e;;){if(z=l[l.length-1],this.defaultActions[z]?q=this.defaultActions[z]:((I===null||typeof I>"u")&&(I=Ue()),q=de[z]&&de[z][I]),typeof q>"u"||!q.length||!q[0]){var ke="";_e=[];for(ye in de[z])this.terminals_[ye]&&ye>Ke&&_e.push("'"+this.terminals_[ye]+"'");S.showPosition?ke="Parse error on line "+(ge+1)+`: +import{g as ze}from"./chunk-XXDRQBXY-kV8dS86B.js";import{s as Xe}from"./chunk-KBJHAD2P-CUyWjBEZ.js";import{a as d,X as Be,aS as Je,W as Ze,aR as et,V as tt,aU as st,$ as it,Y as Ne,at as qe,s as rt,_ as nt,a4 as at,aL as lt,ba as ct}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";var Ce=function(){var e=d(function($,i,n,l){for(n=n||{},l=$.length;l--;n[$[l]]=i);return n},"o"),r=[1,3],u=[1,4],h=[1,5],o=[1,6],c=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],E=[1,22],p=[2,7],f=[1,26],m=[1,27],b=[1,28],k=[1,29],C=[1,33],V=[1,34],A=[1,35],v=[1,36],L=[1,37],x=[1,38],O=[1,24],w=[1,31],D=[1,32],M=[1,30],y=[1,39],_=[1,40],g=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],P=[1,61],X=[89,90],Ve=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Ee=[27,29],Ae=[1,70],ve=[1,71],Le=[1,72],xe=[1,73],Oe=[1,74],we=[1,75],De=[1,76],ee=[1,83],U=[1,80],te=[1,84],se=[1,85],ie=[1,86],re=[1,87],ne=[1,88],ae=[1,89],le=[1,90],ce=[1,91],oe=[1,92],pe=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Y=[63,64],Me=[1,101],Fe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],N=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[1,110],Q=[1,106],H=[1,107],K=[1,108],W=[1,109],j=[1,111],he=[1,116],ue=[1,117],fe=[1,114],me=[1,115],Se={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:d(function(i,n,l,s,R,t,de){var a=t.length-1;switch(R){case 4:this.$=t[a].trim(),s.setAccTitle(this.$);break;case 5:case 6:this.$=t[a].trim(),s.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:s.setDirection("TB");break;case 18:s.setDirection("BT");break;case 19:s.setDirection("RL");break;case 20:s.setDirection("LR");break;case 21:s.addRequirement(t[a-3],t[a-4]);break;case 22:s.addRequirement(t[a-5],t[a-6]),s.setClass([t[a-5]],t[a-3]);break;case 23:s.setNewReqId(t[a-2]);break;case 24:s.setNewReqText(t[a-2]);break;case 25:s.setNewReqRisk(t[a-2]);break;case 26:s.setNewReqVerifyMethod(t[a-2]);break;case 29:this.$=s.RequirementType.REQUIREMENT;break;case 30:this.$=s.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=s.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=s.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=s.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=s.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=s.RiskLevel.LOW_RISK;break;case 36:this.$=s.RiskLevel.MED_RISK;break;case 37:this.$=s.RiskLevel.HIGH_RISK;break;case 38:this.$=s.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=s.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=s.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=s.VerifyType.VERIFY_TEST;break;case 42:s.addElement(t[a-3]);break;case 43:s.addElement(t[a-5]),s.setClass([t[a-5]],t[a-3]);break;case 44:s.setNewElementType(t[a-2]);break;case 45:s.setNewElementDocRef(t[a-2]);break;case 48:s.addRelationship(t[a-2],t[a],t[a-4]);break;case 49:s.addRelationship(t[a-2],t[a-4],t[a]);break;case 50:this.$=s.Relationships.CONTAINS;break;case 51:this.$=s.Relationships.COPIES;break;case 52:this.$=s.Relationships.DERIVES;break;case 53:this.$=s.Relationships.SATISFIES;break;case 54:this.$=s.Relationships.VERIFIES;break;case 55:this.$=s.Relationships.REFINES;break;case 56:this.$=s.Relationships.TRACES;break;case 57:this.$=t[a-2],s.defineClass(t[a-1],t[a]);break;case 58:s.setClass(t[a-1],t[a]);break;case 59:s.setClass([t[a-2]],t[a]);break;case 60:case 62:this.$=[t[a]];break;case 61:case 63:this.$=t[a-2].concat([t[a]]);break;case 64:this.$=t[a-2],s.setCssStyle(t[a-1],t[a]);break;case 65:this.$=[t[a]];break;case 66:t[a-2].push(t[a]),this.$=t[a-2];break;case 68:this.$=t[a-1]+t[a];break}},"anonymous"),table:[{3:1,4:2,6:r,9:u,11:h,13:o},{1:[3]},{3:8,4:2,5:[1,7],6:r,9:u,11:h,13:o},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(c,[2,6]),{3:12,4:2,6:r,9:u,11:h,13:o},{1:[2,2]},{4:17,5:E,7:13,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},e(c,[2,4]),e(c,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:E,7:42,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:43,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:44,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:45,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:46,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:47,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:48,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:49,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:50,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(g,[2,17]),e(g,[2,18]),e(g,[2,19]),e(g,[2,20]),{30:60,33:62,75:P,89:y,90:_},{30:63,33:62,75:P,89:y,90:_},{30:64,33:62,75:P,89:y,90:_},e(X,[2,29]),e(X,[2,30]),e(X,[2,31]),e(X,[2,32]),e(X,[2,33]),e(X,[2,34]),e(Ve,[2,81]),e(Ve,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(Ee,[2,79]),e(Ee,[2,80]),{27:[1,67],29:[1,68]},e(Ee,[2,85]),e(Ee,[2,86]),{62:69,65:Ae,66:ve,67:Le,68:xe,69:Oe,70:we,71:De},{62:77,65:Ae,66:ve,67:Le,68:xe,69:Oe,70:we,71:De},{30:78,33:62,75:P,89:y,90:_},{73:79,75:ee,76:U,78:81,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},e(pe,[2,60]),e(pe,[2,62]),{73:93,75:ee,76:U,78:81,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},{30:94,33:62,75:P,76:U,89:y,90:_},{5:[1,95]},{30:96,33:62,75:P,89:y,90:_},{5:[1,97]},{30:98,33:62,75:P,89:y,90:_},{63:[1,99]},e(Y,[2,50]),e(Y,[2,51]),e(Y,[2,52]),e(Y,[2,53]),e(Y,[2,54]),e(Y,[2,55]),e(Y,[2,56]),{64:[1,100]},e(g,[2,59],{76:U}),e(g,[2,64],{76:Me}),{33:103,75:[1,102],89:y,90:_},e(Fe,[2,65],{79:104,75:ee,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe}),e(N,[2,67]),e(N,[2,69]),e(N,[2,70]),e(N,[2,71]),e(N,[2,72]),e(N,[2,73]),e(N,[2,74]),e(N,[2,75]),e(N,[2,76]),e(N,[2,77]),e(N,[2,78]),e(g,[2,57],{76:Me}),e(g,[2,58],{76:U}),{5:B,28:105,31:Q,34:H,36:K,38:W,40:j},{27:[1,112],76:U},{5:he,40:ue,56:113,57:fe,59:me},{27:[1,118],76:U},{33:119,89:y,90:_},{33:120,89:y,90:_},{75:ee,78:121,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},e(pe,[2,61]),e(pe,[2,63]),e(N,[2,68]),e(g,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:B,28:126,31:Q,34:H,36:K,38:W,40:j},e(g,[2,28]),{5:[1,127]},e(g,[2,42]),{32:[1,128]},{32:[1,129]},{5:he,40:ue,56:130,57:fe,59:me},e(g,[2,47]),{5:[1,131]},e(g,[2,48]),e(g,[2,49]),e(Fe,[2,66],{79:104,75:ee,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe}),{33:132,89:y,90:_},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(g,[2,27]),{5:B,28:145,31:Q,34:H,36:K,38:W,40:j},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(g,[2,46]),{5:he,40:ue,56:152,57:fe,59:me},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(g,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(g,[2,43]),{5:B,28:159,31:Q,34:H,36:K,38:W,40:j},{5:B,28:160,31:Q,34:H,36:K,38:W,40:j},{5:B,28:161,31:Q,34:H,36:K,38:W,40:j},{5:B,28:162,31:Q,34:H,36:K,38:W,40:j},{5:he,40:ue,56:163,57:fe,59:me},{5:he,40:ue,56:164,57:fe,59:me},e(g,[2,23]),e(g,[2,24]),e(g,[2,25]),e(g,[2,26]),e(g,[2,44]),e(g,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:d(function(i,n){if(n.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=n,l}},"parseError"),parse:d(function(i){var n=this,l=[0],s=[],R=[null],t=[],de=this.table,a="",ge=0,$e=0,Ke=2,Pe=1,We=t.slice.call(arguments,1),S=Object.create(this.lexer),G={yy:{}};for(var be in this.yy)Object.prototype.hasOwnProperty.call(this.yy,be)&&(G.yy[be]=this.yy[be]);S.setInput(i,G.yy),G.yy.lexer=S,G.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var Ie=S.yylloc;t.push(Ie);var je=S.options&&S.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ge(T){l.length=l.length-2*T,R.length=R.length-T,t.length=t.length-T}d(Ge,"popStack");function Ue(){var T;return T=s.pop()||S.lex()||Pe,typeof T!="number"&&(T instanceof Array&&(s=T,T=s.pop()),T=n.symbols_[T]||T),T}d(Ue,"lex");for(var I,z,q,Te,J={},ye,F,Ye,_e;;){if(z=l[l.length-1],this.defaultActions[z]?q=this.defaultActions[z]:((I===null||typeof I>"u")&&(I=Ue()),q=de[z]&&de[z][I]),typeof q>"u"||!q.length||!q[0]){var ke="";_e=[];for(ye in de[z])this.terminals_[ye]&&ye>Ke&&_e.push("'"+this.terminals_[ye]+"'");S.showPosition?ke="Parse error on line "+(ge+1)+`: `+S.showPosition()+` Expecting `+_e.join(", ")+", got '"+(this.terminals_[I]||I)+"'":ke="Parse error on line "+(ge+1)+": Unexpected "+(I==Pe?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(ke,{text:S.match,token:this.terminals_[I]||I,line:S.yylineno,loc:Ie,expected:_e})}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+I);switch(q[0]){case 1:l.push(I),R.push(S.yytext),t.push(S.yylloc),l.push(q[1]),I=null,$e=S.yyleng,a=S.yytext,ge=S.yylineno,Ie=S.yylloc;break;case 2:if(F=this.productions_[q[1]][1],J.$=R[R.length-F],J._$={first_line:t[t.length-(F||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(F||1)].first_column,last_column:t[t.length-1].last_column},je&&(J._$.range=[t[t.length-(F||1)].range[0],t[t.length-1].range[1]]),Te=this.performAction.apply(J,[a,$e,ge,G.yy,q[1],R,t].concat(We)),typeof Te<"u")return Te;F&&(l=l.slice(0,-1*F*2),R=R.slice(0,-1*F),t=t.slice(0,-1*F)),l.push(this.productions_[q[1]][0]),R.push(J.$),t.push(J._$),Ye=de[l[l.length-2]][l[l.length-1]],l.push(Ye);break;case 3:return!0}}return!0},"parse")},He=function(){var $={EOF:1,parseError:d(function(n,l){if(this.yy.parser)this.yy.parser.parseError(n,l);else throw new Error(n)},"parseError"),setInput:d(function(i,n){return this.yy=n||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var n=i.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:d(function(i){var n=i.length,l=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===s.length?this.yylloc.first_column:0)+s[s.length-l.length].length-l[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(i){this.unput(this.match.slice(i))},"less"),pastInput:d(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var i=this.pastInput(),n=new Array(i.length+1).join("-");return i+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-B2rzdV66.js b/veadk/webui/assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-D7gEokFT.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-B2rzdV66.js rename to veadk/webui/assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-D7gEokFT.js index 33c675146..aace74ed3 100644 --- a/veadk/webui/assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-B2rzdV66.js +++ b/veadk/webui/assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-D7gEokFT.js @@ -1,4 +1,4 @@ -import{aU as xt,$ as _t,aR as vt,V as bt,aS as St,W as wt,a as d,Y as lt,N as Lt,aX as Et,s as At,x as Tt}from"./mermaid.core-CA8ypPul.js";import{ad as H}from"../../app/index-BSfA7-Qp.js";import{o as Mt}from"../../chunks/ordinal-Cboi1Yqb.js";import"../../chunks/init-Gi6I4Gst.js";function Nt(t){for(var n=t.length/6|0,s=new Array(n),a=0;a=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s=u)&&(s=u)}return s}function pt(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s>a||s===void 0&&a>=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s>u||s===void 0&&u>=u)&&(s=u)}return s}function nt(t,n){let s=0;if(n===void 0)for(let a of t)(a=+a)&&(s+=a);else{let a=-1;for(let u of t)(u=+n(u,++a,t))&&(s+=u)}return s}function Pt(t){return t.target.depth}function It(t){return t.depth}function Ot(t,n){return n-1-t.height}function kt(t,n){return t.sourceLinks.length?t.depth:n-1}function $t(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?pt(t.sourceLinks,Pt)-1:0}function q(t){return function(){return t}}function ut(t,n){return Q(t.source,n.source)||t.index-n.index}function ht(t,n){return Q(t.target,n.target)||t.index-n.index}function Q(t,n){return t.y0-n.y0}function it(t){return t.value}function Dt(t){return t.index}function jt(t){return t.nodes}function zt(t){return t.links}function ft(t,n){const s=t.get(n);if(!s)throw new Error("missing: "+n);return s}function yt({nodes:t}){for(const n of t){let s=n.y0,a=s;for(const u of n.sourceLinks)u.y0=s+u.width/2,s+=u.width;for(const u of n.targetLinks)u.y1=a+u.width/2,a+=u.width}}function Bt(){let t=0,n=0,s=1,a=1,u=24,y=8,p,m=Dt,o=kt,l,h,x=jt,_=zt,g=6;function v(){const i={nodes:x.apply(null,arguments),links:_.apply(null,arguments)};return T(i),A(i),M(i),I(i),S(i),yt(i),i}v.update=function(i){return yt(i),i},v.nodeId=function(i){return arguments.length?(m=typeof i=="function"?i:q(i),v):m},v.nodeAlign=function(i){return arguments.length?(o=typeof i=="function"?i:q(i),v):o},v.nodeSort=function(i){return arguments.length?(l=i,v):l},v.nodeWidth=function(i){return arguments.length?(u=+i,v):u},v.nodePadding=function(i){return arguments.length?(y=p=+i,v):y},v.nodes=function(i){return arguments.length?(x=typeof i=="function"?i:q(i),v):x},v.links=function(i){return arguments.length?(_=typeof i=="function"?i:q(i),v):_},v.linkSort=function(i){return arguments.length?(h=i,v):h},v.size=function(i){return arguments.length?(t=n=0,s=+i[0],a=+i[1],v):[s-t,a-n]},v.extent=function(i){return arguments.length?(t=+i[0][0],s=+i[1][0],n=+i[0][1],a=+i[1][1],v):[[t,n],[s,a]]},v.iterations=function(i){return arguments.length?(g=+i,v):g};function T({nodes:i,links:f}){for(const[e,r]of i.entries())r.index=e,r.sourceLinks=[],r.targetLinks=[];const c=new Map(i.map((e,r)=>[m(e,r,i),e]));for(const[e,r]of f.entries()){r.index=e;let{source:k,target:b}=r;typeof k!="object"&&(k=r.source=ft(c,k)),typeof b!="object"&&(b=r.target=ft(c,b)),k.sourceLinks.push(r),b.targetLinks.push(r)}if(h!=null)for(const{sourceLinks:e,targetLinks:r}of i)e.sort(h),r.sort(h)}function A({nodes:i}){for(const f of i)f.value=f.fixedValue===void 0?Math.max(nt(f.sourceLinks,it),nt(f.targetLinks,it)):f.fixedValue}function M({nodes:i}){const f=i.length;let c=new Set(i),e=new Set,r=0;for(;c.size;){for(const k of c){k.depth=r;for(const{target:b}of k.sourceLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function I({nodes:i}){const f=i.length;let c=new Set(i),e=new Set,r=0;for(;c.size;){for(const k of c){k.height=r;for(const{source:b}of k.targetLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function N({nodes:i}){const f=ct(i,r=>r.depth)+1,c=(s-t-u)/(f-1),e=new Array(f);for(const r of i){const k=Math.max(0,Math.min(f-1,Math.floor(o.call(null,r,f))));r.layer=k,r.x0=t+k*c,r.x1=r.x0+u,e[k]?e[k].push(r):e[k]=[r]}if(l)for(const r of e)r.sort(l);return e}function D(i){const f=pt(i,c=>(a-n-(c.length-1)*p)/nt(c,it));for(const c of i){let e=n;for(const r of c){r.y0=e,r.y1=e+r.value*f,e=r.y1+p;for(const k of r.sourceLinks)k.width=k.value*f}e=(a-e+p)/(c.length+1);for(let r=0;rc.length)-1)),D(f);for(let c=0;c0))continue;let G=(L/B-b.y0)*f;b.y0+=G,b.y1+=G,z(b)}l===void 0&&k.sort(Q),j(k,c)}}function R(i,f,c){for(let e=i.length,r=e-2;r>=0;--r){const k=i[r];for(const b of k){let L=0,B=0;for(const{target:Y,value:et}of b.sourceLinks){let X=et*(Y.layer-b.layer);L+=E(b,Y)*X,B+=X}if(!(B>0))continue;let G=(L/B-b.y0)*f;b.y0+=G,b.y1+=G,z(b)}l===void 0&&k.sort(Q),j(k,c)}}function j(i,f){const c=i.length>>1,e=i[c];O(i,e.y0-p,c-1,f),V(i,e.y1+p,c+1,f),O(i,a,i.length-1,f),V(i,n,0,f)}function V(i,f,c,e){for(;c1e-6&&(r.y0+=k,r.y1+=k),f=r.y1+p}}function O(i,f,c,e){for(;c>=0;--c){const r=i[c],k=(r.y1-f)*e;k>1e-6&&(r.y0-=k,r.y1-=k),f=r.y0-p}}function z({sourceLinks:i,targetLinks:f}){if(h===void 0){for(const{source:{sourceLinks:c}}of f)c.sort(ht);for(const{target:{targetLinks:c}}of i)c.sort(ut)}}function w(i){if(h===void 0)for(const{sourceLinks:f,targetLinks:c}of i)f.sort(ht),c.sort(ut)}function P(i,f){let c=i.y0-(i.sourceLinks.length-1)*p/2;for(const{target:e,width:r}of i.sourceLinks){if(e===f)break;c+=r+p}for(const{source:e,width:r}of f.targetLinks){if(e===i)break;c-=r}return c}function E(i,f){let c=f.y0-(f.targetLinks.length-1)*p/2;for(const{source:e,width:r}of f.targetLinks){if(e===i)break;c+=r+p}for(const{target:e,width:r}of i.sourceLinks){if(e===f)break;c-=r}return c}return v}var rt=Math.PI,st=2*rt,F=1e-6,Ft=st-F;function ot(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function mt(){return new ot}ot.prototype=mt.prototype={constructor:ot,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,s,a){this._+="Q"+ +t+","+ +n+","+(this._x1=+s)+","+(this._y1=+a)},bezierCurveTo:function(t,n,s,a,u,y){this._+="C"+ +t+","+ +n+","+ +s+","+ +a+","+(this._x1=+u)+","+(this._y1=+y)},arcTo:function(t,n,s,a,u){t=+t,n=+n,s=+s,a=+a,u=+u;var y=this._x1,p=this._y1,m=s-t,o=a-n,l=y-t,h=p-n,x=l*l+h*h;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(x>F)if(!(Math.abs(h*m-o*l)>F)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var _=s-y,g=a-p,v=m*m+o*o,T=_*_+g*g,A=Math.sqrt(v),M=Math.sqrt(x),I=u*Math.tan((rt-Math.acos((v+x-T)/(2*A*M)))/2),N=I/M,D=I/A;Math.abs(N-1)>F&&(this._+="L"+(t+N*l)+","+(n+N*h)),this._+="A"+u+","+u+",0,0,"+ +(h*_>l*g)+","+(this._x1=t+D*m)+","+(this._y1=n+D*o)}},arc:function(t,n,s,a,u,y){t=+t,n=+n,s=+s,y=!!y;var p=s*Math.cos(a),m=s*Math.sin(a),o=t+p,l=n+m,h=1^y,x=y?a-u:u-a;if(s<0)throw new Error("negative radius: "+s);this._x1===null?this._+="M"+o+","+l:(Math.abs(this._x1-o)>F||Math.abs(this._y1-l)>F)&&(this._+="L"+o+","+l),s&&(x<0&&(x=x%st+st),x>Ft?this._+="A"+s+","+s+",0,1,"+h+","+(t-p)+","+(n-m)+"A"+s+","+s+",0,1,"+h+","+(this._x1=o)+","+(this._y1=l):x>F&&(this._+="A"+s+","+s+",0,"+ +(x>=rt)+","+h+","+(this._x1=t+s*Math.cos(u))+","+(this._y1=n+s*Math.sin(u))))},rect:function(t,n,s,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +s+"v"+ +a+"h"+-s+"Z"},toString:function(){return this._}};function dt(t){return function(){return t}}function Rt(t){return t[0]}function Vt(t){return t[1]}var Wt=Array.prototype.slice;function Ut(t){return t.source}function Gt(t){return t.target}function Yt(t){var n=Ut,s=Gt,a=Rt,u=Vt,y=null;function p(){var m,o=Wt.call(arguments),l=n.apply(this,o),h=s.apply(this,o);if(y||(y=m=mt()),t(y,+a.apply(this,(o[0]=l,o)),+u.apply(this,o),+a.apply(this,(o[0]=h,o)),+u.apply(this,o)),m)return y=null,m+""||null}return p.source=function(m){return arguments.length?(n=m,p):n},p.target=function(m){return arguments.length?(s=m,p):s},p.x=function(m){return arguments.length?(a=typeof m=="function"?m:dt(+m),p):a},p.y=function(m){return arguments.length?(u=typeof m=="function"?m:dt(+m),p):u},p.context=function(m){return arguments.length?(y=m??null,p):y},p}function Xt(t,n,s,a,u){t.moveTo(n,s),t.bezierCurveTo(n=(n+a)/2,s,n,u,a,u)}function Ht(){return Yt(Xt)}function qt(t){return[t.source.x1,t.y0]}function Qt(t){return[t.target.x0,t.y1]}function Kt(){return Ht().source(qt).target(Qt)}var at=function(){var t=d(function(m,o,l,h){for(l=l||{},h=m.length;h--;l[m[h]]=o);return l},"o"),n=[1,9],s=[1,10],a=[1,5,10,12],u={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:d(function(o,l,h,x,_,g,v){var T=g.length-1;switch(_){case 7:const A=x.findOrCreateNode(g[T-4].trim().replaceAll('""','"')),M=x.findOrCreateNode(g[T-2].trim().replaceAll('""','"')),I=parseFloat(g[T].trim());x.addLink(A,M,I);break;case 8:case 9:case 11:this.$=g[T];break;case 10:this.$=g[T-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:s},{15:18,16:7,17:8,18:n,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:n,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:d(function(o,l){if(l.recoverable)this.trace(o);else{var h=new Error(o);throw h.hash=l,h}},"parseError"),parse:d(function(o){var l=this,h=[0],x=[],_=[null],g=[],v=this.table,T="",A=0,M=0,I=2,N=1,D=g.slice.call(arguments,1),S=Object.create(this.lexer),C={yy:{}};for(var R in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R)&&(C.yy[R]=this.yy[R]);S.setInput(o,C.yy),C.yy.lexer=S,C.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var j=S.yylloc;g.push(j);var V=S.options&&S.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function O(L){h.length=h.length-2*L,_.length=_.length-L,g.length=g.length-L}d(O,"popStack");function z(){var L;return L=x.pop()||S.lex()||N,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=l.symbols_[L]||L),L}d(z,"lex");for(var w,P,E,i,f={},c,e,r,k;;){if(P=h[h.length-1],this.defaultActions[P]?E=this.defaultActions[P]:((w===null||typeof w>"u")&&(w=z()),E=v[P]&&v[P][w]),typeof E>"u"||!E.length||!E[0]){var b="";k=[];for(c in v[P])this.terminals_[c]&&c>I&&k.push("'"+this.terminals_[c]+"'");S.showPosition?b="Parse error on line "+(A+1)+`: +import{aU as xt,$ as _t,aR as vt,V as bt,aS as St,W as wt,a as d,Y as lt,N as Lt,aX as Et,s as At,x as Tt}from"./mermaid.core-DS1qXbzQ.js";import{ad as H}from"../../app/index-B0ly_D9Z.js";import{o as Mt}from"../../chunks/ordinal-Cboi1Yqb.js";import"../../chunks/init-Gi6I4Gst.js";function Nt(t){for(var n=t.length/6|0,s=new Array(n),a=0;a=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s=u)&&(s=u)}return s}function pt(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s>a||s===void 0&&a>=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s>u||s===void 0&&u>=u)&&(s=u)}return s}function nt(t,n){let s=0;if(n===void 0)for(let a of t)(a=+a)&&(s+=a);else{let a=-1;for(let u of t)(u=+n(u,++a,t))&&(s+=u)}return s}function Pt(t){return t.target.depth}function It(t){return t.depth}function Ot(t,n){return n-1-t.height}function kt(t,n){return t.sourceLinks.length?t.depth:n-1}function $t(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?pt(t.sourceLinks,Pt)-1:0}function q(t){return function(){return t}}function ut(t,n){return Q(t.source,n.source)||t.index-n.index}function ht(t,n){return Q(t.target,n.target)||t.index-n.index}function Q(t,n){return t.y0-n.y0}function it(t){return t.value}function Dt(t){return t.index}function jt(t){return t.nodes}function zt(t){return t.links}function ft(t,n){const s=t.get(n);if(!s)throw new Error("missing: "+n);return s}function yt({nodes:t}){for(const n of t){let s=n.y0,a=s;for(const u of n.sourceLinks)u.y0=s+u.width/2,s+=u.width;for(const u of n.targetLinks)u.y1=a+u.width/2,a+=u.width}}function Bt(){let t=0,n=0,s=1,a=1,u=24,y=8,p,m=Dt,o=kt,l,h,x=jt,_=zt,g=6;function v(){const i={nodes:x.apply(null,arguments),links:_.apply(null,arguments)};return T(i),A(i),M(i),I(i),S(i),yt(i),i}v.update=function(i){return yt(i),i},v.nodeId=function(i){return arguments.length?(m=typeof i=="function"?i:q(i),v):m},v.nodeAlign=function(i){return arguments.length?(o=typeof i=="function"?i:q(i),v):o},v.nodeSort=function(i){return arguments.length?(l=i,v):l},v.nodeWidth=function(i){return arguments.length?(u=+i,v):u},v.nodePadding=function(i){return arguments.length?(y=p=+i,v):y},v.nodes=function(i){return arguments.length?(x=typeof i=="function"?i:q(i),v):x},v.links=function(i){return arguments.length?(_=typeof i=="function"?i:q(i),v):_},v.linkSort=function(i){return arguments.length?(h=i,v):h},v.size=function(i){return arguments.length?(t=n=0,s=+i[0],a=+i[1],v):[s-t,a-n]},v.extent=function(i){return arguments.length?(t=+i[0][0],s=+i[1][0],n=+i[0][1],a=+i[1][1],v):[[t,n],[s,a]]},v.iterations=function(i){return arguments.length?(g=+i,v):g};function T({nodes:i,links:f}){for(const[e,r]of i.entries())r.index=e,r.sourceLinks=[],r.targetLinks=[];const c=new Map(i.map((e,r)=>[m(e,r,i),e]));for(const[e,r]of f.entries()){r.index=e;let{source:k,target:b}=r;typeof k!="object"&&(k=r.source=ft(c,k)),typeof b!="object"&&(b=r.target=ft(c,b)),k.sourceLinks.push(r),b.targetLinks.push(r)}if(h!=null)for(const{sourceLinks:e,targetLinks:r}of i)e.sort(h),r.sort(h)}function A({nodes:i}){for(const f of i)f.value=f.fixedValue===void 0?Math.max(nt(f.sourceLinks,it),nt(f.targetLinks,it)):f.fixedValue}function M({nodes:i}){const f=i.length;let c=new Set(i),e=new Set,r=0;for(;c.size;){for(const k of c){k.depth=r;for(const{target:b}of k.sourceLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function I({nodes:i}){const f=i.length;let c=new Set(i),e=new Set,r=0;for(;c.size;){for(const k of c){k.height=r;for(const{source:b}of k.targetLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function N({nodes:i}){const f=ct(i,r=>r.depth)+1,c=(s-t-u)/(f-1),e=new Array(f);for(const r of i){const k=Math.max(0,Math.min(f-1,Math.floor(o.call(null,r,f))));r.layer=k,r.x0=t+k*c,r.x1=r.x0+u,e[k]?e[k].push(r):e[k]=[r]}if(l)for(const r of e)r.sort(l);return e}function D(i){const f=pt(i,c=>(a-n-(c.length-1)*p)/nt(c,it));for(const c of i){let e=n;for(const r of c){r.y0=e,r.y1=e+r.value*f,e=r.y1+p;for(const k of r.sourceLinks)k.width=k.value*f}e=(a-e+p)/(c.length+1);for(let r=0;rc.length)-1)),D(f);for(let c=0;c0))continue;let G=(L/B-b.y0)*f;b.y0+=G,b.y1+=G,z(b)}l===void 0&&k.sort(Q),j(k,c)}}function R(i,f,c){for(let e=i.length,r=e-2;r>=0;--r){const k=i[r];for(const b of k){let L=0,B=0;for(const{target:Y,value:et}of b.sourceLinks){let X=et*(Y.layer-b.layer);L+=E(b,Y)*X,B+=X}if(!(B>0))continue;let G=(L/B-b.y0)*f;b.y0+=G,b.y1+=G,z(b)}l===void 0&&k.sort(Q),j(k,c)}}function j(i,f){const c=i.length>>1,e=i[c];O(i,e.y0-p,c-1,f),V(i,e.y1+p,c+1,f),O(i,a,i.length-1,f),V(i,n,0,f)}function V(i,f,c,e){for(;c1e-6&&(r.y0+=k,r.y1+=k),f=r.y1+p}}function O(i,f,c,e){for(;c>=0;--c){const r=i[c],k=(r.y1-f)*e;k>1e-6&&(r.y0-=k,r.y1-=k),f=r.y0-p}}function z({sourceLinks:i,targetLinks:f}){if(h===void 0){for(const{source:{sourceLinks:c}}of f)c.sort(ht);for(const{target:{targetLinks:c}}of i)c.sort(ut)}}function w(i){if(h===void 0)for(const{sourceLinks:f,targetLinks:c}of i)f.sort(ht),c.sort(ut)}function P(i,f){let c=i.y0-(i.sourceLinks.length-1)*p/2;for(const{target:e,width:r}of i.sourceLinks){if(e===f)break;c+=r+p}for(const{source:e,width:r}of f.targetLinks){if(e===i)break;c-=r}return c}function E(i,f){let c=f.y0-(f.targetLinks.length-1)*p/2;for(const{source:e,width:r}of f.targetLinks){if(e===i)break;c+=r+p}for(const{target:e,width:r}of i.sourceLinks){if(e===f)break;c-=r}return c}return v}var rt=Math.PI,st=2*rt,F=1e-6,Ft=st-F;function ot(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function mt(){return new ot}ot.prototype=mt.prototype={constructor:ot,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,s,a){this._+="Q"+ +t+","+ +n+","+(this._x1=+s)+","+(this._y1=+a)},bezierCurveTo:function(t,n,s,a,u,y){this._+="C"+ +t+","+ +n+","+ +s+","+ +a+","+(this._x1=+u)+","+(this._y1=+y)},arcTo:function(t,n,s,a,u){t=+t,n=+n,s=+s,a=+a,u=+u;var y=this._x1,p=this._y1,m=s-t,o=a-n,l=y-t,h=p-n,x=l*l+h*h;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(x>F)if(!(Math.abs(h*m-o*l)>F)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var _=s-y,g=a-p,v=m*m+o*o,T=_*_+g*g,A=Math.sqrt(v),M=Math.sqrt(x),I=u*Math.tan((rt-Math.acos((v+x-T)/(2*A*M)))/2),N=I/M,D=I/A;Math.abs(N-1)>F&&(this._+="L"+(t+N*l)+","+(n+N*h)),this._+="A"+u+","+u+",0,0,"+ +(h*_>l*g)+","+(this._x1=t+D*m)+","+(this._y1=n+D*o)}},arc:function(t,n,s,a,u,y){t=+t,n=+n,s=+s,y=!!y;var p=s*Math.cos(a),m=s*Math.sin(a),o=t+p,l=n+m,h=1^y,x=y?a-u:u-a;if(s<0)throw new Error("negative radius: "+s);this._x1===null?this._+="M"+o+","+l:(Math.abs(this._x1-o)>F||Math.abs(this._y1-l)>F)&&(this._+="L"+o+","+l),s&&(x<0&&(x=x%st+st),x>Ft?this._+="A"+s+","+s+",0,1,"+h+","+(t-p)+","+(n-m)+"A"+s+","+s+",0,1,"+h+","+(this._x1=o)+","+(this._y1=l):x>F&&(this._+="A"+s+","+s+",0,"+ +(x>=rt)+","+h+","+(this._x1=t+s*Math.cos(u))+","+(this._y1=n+s*Math.sin(u))))},rect:function(t,n,s,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +s+"v"+ +a+"h"+-s+"Z"},toString:function(){return this._}};function dt(t){return function(){return t}}function Rt(t){return t[0]}function Vt(t){return t[1]}var Wt=Array.prototype.slice;function Ut(t){return t.source}function Gt(t){return t.target}function Yt(t){var n=Ut,s=Gt,a=Rt,u=Vt,y=null;function p(){var m,o=Wt.call(arguments),l=n.apply(this,o),h=s.apply(this,o);if(y||(y=m=mt()),t(y,+a.apply(this,(o[0]=l,o)),+u.apply(this,o),+a.apply(this,(o[0]=h,o)),+u.apply(this,o)),m)return y=null,m+""||null}return p.source=function(m){return arguments.length?(n=m,p):n},p.target=function(m){return arguments.length?(s=m,p):s},p.x=function(m){return arguments.length?(a=typeof m=="function"?m:dt(+m),p):a},p.y=function(m){return arguments.length?(u=typeof m=="function"?m:dt(+m),p):u},p.context=function(m){return arguments.length?(y=m??null,p):y},p}function Xt(t,n,s,a,u){t.moveTo(n,s),t.bezierCurveTo(n=(n+a)/2,s,n,u,a,u)}function Ht(){return Yt(Xt)}function qt(t){return[t.source.x1,t.y0]}function Qt(t){return[t.target.x0,t.y1]}function Kt(){return Ht().source(qt).target(Qt)}var at=function(){var t=d(function(m,o,l,h){for(l=l||{},h=m.length;h--;l[m[h]]=o);return l},"o"),n=[1,9],s=[1,10],a=[1,5,10,12],u={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:d(function(o,l,h,x,_,g,v){var T=g.length-1;switch(_){case 7:const A=x.findOrCreateNode(g[T-4].trim().replaceAll('""','"')),M=x.findOrCreateNode(g[T-2].trim().replaceAll('""','"')),I=parseFloat(g[T].trim());x.addLink(A,M,I);break;case 8:case 9:case 11:this.$=g[T];break;case 10:this.$=g[T-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:s},{15:18,16:7,17:8,18:n,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:n,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:d(function(o,l){if(l.recoverable)this.trace(o);else{var h=new Error(o);throw h.hash=l,h}},"parseError"),parse:d(function(o){var l=this,h=[0],x=[],_=[null],g=[],v=this.table,T="",A=0,M=0,I=2,N=1,D=g.slice.call(arguments,1),S=Object.create(this.lexer),C={yy:{}};for(var R in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R)&&(C.yy[R]=this.yy[R]);S.setInput(o,C.yy),C.yy.lexer=S,C.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var j=S.yylloc;g.push(j);var V=S.options&&S.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function O(L){h.length=h.length-2*L,_.length=_.length-L,g.length=g.length-L}d(O,"popStack");function z(){var L;return L=x.pop()||S.lex()||N,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=l.symbols_[L]||L),L}d(z,"lex");for(var w,P,E,i,f={},c,e,r,k;;){if(P=h[h.length-1],this.defaultActions[P]?E=this.defaultActions[P]:((w===null||typeof w>"u")&&(w=z()),E=v[P]&&v[P][w]),typeof E>"u"||!E.length||!E[0]){var b="";k=[];for(c in v[P])this.terminals_[c]&&c>I&&k.push("'"+this.terminals_[c]+"'");S.showPosition?b="Parse error on line "+(A+1)+`: `+S.showPosition()+` Expecting `+k.join(", ")+", got '"+(this.terminals_[w]||w)+"'":b="Parse error on line "+(A+1)+": Unexpected "+(w==N?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(b,{text:S.match,token:this.terminals_[w]||w,line:S.yylineno,loc:j,expected:k})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+w);switch(E[0]){case 1:h.push(w),_.push(S.yytext),g.push(S.yylloc),h.push(E[1]),w=null,M=S.yyleng,T=S.yytext,A=S.yylineno,j=S.yylloc;break;case 2:if(e=this.productions_[E[1]][1],f.$=_[_.length-e],f._$={first_line:g[g.length-(e||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(e||1)].first_column,last_column:g[g.length-1].last_column},V&&(f._$.range=[g[g.length-(e||1)].range[0],g[g.length-1].range[1]]),i=this.performAction.apply(f,[T,M,A,C.yy,E[1],_,g].concat(D)),typeof i<"u")return i;e&&(h=h.slice(0,-1*e*2),_=_.slice(0,-1*e),g=g.slice(0,-1*e)),h.push(this.productions_[E[1]][0]),_.push(f.$),g.push(f._$),r=v[h[h.length-2]][h[h.length-1]],h.push(r);break;case 3:return!0}}return!0},"parse")},y=function(){var m={EOF:1,parseError:d(function(l,h){if(this.yy.parser)this.yy.parser.parseError(l,h);else throw new Error(l)},"parseError"),setInput:d(function(o,l){return this.yy=l||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var l=o.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:d(function(o){var l=o.length,h=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===x.length?this.yylloc.first_column:0)+x[x.length-h.length].length-h[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(o){this.unput(this.match.slice(o))},"less"),pastInput:d(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var o=this.pastInput(),l=new Array(o.length+1).join("-");return o+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-COnTktCB.js b/veadk/webui/assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-BU4MnRfS.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-COnTktCB.js rename to veadk/webui/assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-BU4MnRfS.js index 3534906b5..fc78ec3fd 100644 --- a/veadk/webui/assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-COnTktCB.js +++ b/veadk/webui/assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-BU4MnRfS.js @@ -1,4 +1,4 @@ -import{I as er}from"./chunk-2Q5K7J3B-DQ_g_FOP.js";import{a as x,aT as rr,Y as j,at as it,aP as Me,B as ar,j as sr,x as m,aS as De,aR as ir,aU as nr,W as or,V as cr,$ as lr,as as hr,J as dr,s as Tr,aO as Yt,ba as Z,ac as Q,n as kt,aC as Be,Z as pr,X as Ft,a9 as Er,aM as Ve}from"./mermaid.core-CA8ypPul.js";import{d as ur,h as se,g as dt,e as fr,a as ie,b as ne}from"./chunk-2GRJ4B5K-BMhlpUDn.js";import{ad as Wt}from"../../app/index-BSfA7-Qp.js";var ee=function(){var e=x(function(ut,N,v,k){for(v=v||{},k=ut.length;k--;v[ut[k]]=N);return v},"o"),t=[1,2],a=[1,3],r=[1,4],i=[2,4],n=[1,9],s=[1,11],o=[1,12],E=[1,14],h=[1,15],p=[1,17],_=[1,18],u=[1,19],O=[1,25],T=[1,26],g=[1,27],f=[1,28],I=[1,29],L=[1,30],b=[1,31],P=[1,32],S=[1,33],w=[1,34],M=[1,35],V=[1,36],Y=[1,37],z=[1,38],K=[1,39],X=[1,40],$=[1,42],tt=[1,43],U=[1,44],nt=[1,45],et=[1,46],W=[1,47],C=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],wt=[1,74],Dt=[1,80],A=[1,81],D=[1,82],rt=[1,83],at=[1,84],F=[1,85],Ot=[1,86],oe=[1,87],ce=[1,88],le=[1,89],he=[1,90],de=[1,91],Te=[1,92],pe=[1,93],Ee=[1,94],ue=[1,95],fe=[1,96],_e=[1,97],ge=[1,98],xe=[1,99],Ie=[1,100],ye=[1,101],Re=[1,102],Oe=[1,103],Le=[1,104],be=[1,105],Ae=[2,78],Nt=[4,5,17,51,53,54],vt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],Gt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],we=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Xt=[5,52],H=[70,71,72,73],ct=[1,151],Jt={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:x(function(N,v,k,y,G,c,mt){var d=c.length-1;switch(G){case 3:return y.apply(c[d]),c[d];case 4:case 10:this.$=[];break;case 5:case 11:c[d-1].push(c[d]),this.$=c[d-1];break;case 6:case 7:case 12:case 13:this.$=c[d];break;case 8:case 9:case 14:this.$=[];break;case 16:c[d].type="createParticipant",this.$=c[d];break;case 17:c[d-1].unshift({type:"boxStart",boxData:y.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:y.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor};break;case 24:this.$={type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-1].actor};break;case 30:y.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 31:y.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 32:this.$=c[d].trim(),y.setAccTitle(this.$);break;case 33:case 34:this.$=c[d].trim(),y.setAccDescription(this.$);break;case 35:c[d-1].unshift({type:"loopStart",loopText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:y.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 36:c[d-1].unshift({type:"rectStart",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_END}),this.$=c[d-1];break;case 37:c[d-1].unshift({type:"optStart",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"altStart",altText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:y.LINETYPE.ALT_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_OVER_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"criticalStart",criticalText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:y.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 42:c[d-1].unshift({type:"breakStart",breakText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 44:this.$=c[d-3].concat([{type:"option",optionText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 46:this.$=c[d-3].concat([{type:"and",parText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.PAR_AND},c[d]]);break;case 48:this.$=c[d-3].concat([{type:"else",altText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.ALT_ELSE},c[d]]);break;case 49:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 50:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 51:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 52:case 57:c[d-1].draw="actor",c[d-1].type="addParticipant",this.$=c[d-1];break;case 53:c[d-1].type="destroyParticipant",this.$=c[d-1];break;case 54:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 55:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 56:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 58:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 59:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:y.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 60:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 61:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 62:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 63:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 66:this.$=[c[d-2],c[d]];break;case 67:this.$=c[d];break;case 68:this.$=y.PLACEMENT.LEFTOF;break;case 69:this.$=y.PLACEMENT.RIGHTOF;break;case 70:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0},{type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor}];break;case 71:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-4].actor}];break;case 72:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor}];break;case 73:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d],activate:!1,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-4].actor}];break;case 74:this.$=[c[d-5],c[d-1],{type:"addMessage",from:c[d-5].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-5].actor}];break;case 75:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 76:this.$={type:"addParticipant",actor:c[d-1],config:c[d]};break;case 77:this.$=c[d-1].trim();break;case 78:this.$={type:"addParticipant",actor:c[d]};break;case 79:this.$=y.LINETYPE.SOLID_OPEN;break;case 80:this.$=y.LINETYPE.DOTTED_OPEN;break;case 81:this.$=y.LINETYPE.SOLID;break;case 82:this.$=y.LINETYPE.SOLID_TOP;break;case 83:this.$=y.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=y.LINETYPE.STICK_TOP;break;case 85:this.$=y.LINETYPE.STICK_BOTTOM;break;case 86:this.$=y.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=y.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=y.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=y.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=y.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=y.LINETYPE.DOTTED;break;case 100:this.$=y.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=y.LINETYPE.SOLID_CROSS;break;case 102:this.$=y.LINETYPE.DOTTED_CROSS;break;case 103:this.$=y.LINETYPE.SOLID_POINT;break;case 104:this.$=y.LINETYPE.DOTTED_POINT;break;case 105:this.$=y.parseMessage(c[d].trim().substring(1));break}},"anonymous"),table:[{3:1,4:t,5:a,6:r},{1:[3]},{3:5,4:t,5:a,6:r},{3:6,4:t,5:a,6:r},e([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},e(C,[2,5]),{9:48,13:13,14:E,15:h,18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},e(C,[2,7]),e(C,[2,8]),e(C,[2,9]),e(C,[2,15]),{13:49,51:z,53:K,54:X},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:W},{23:56,73:W},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},e(C,[2,30]),e(C,[2,31]),{33:[1,62]},{35:[1,63]},e(C,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:wt},{23:75,55:76,73:wt},{23:77,73:W},{69:78,72:[1,79],78:Dt,79:A,80:D,81:rt,82:at,83:F,84:Ot,85:oe,86:ce,87:le,88:he,89:de,90:Te,91:pe,92:Ee,93:ue,94:fe,95:_e,96:ge,97:xe,98:Ie,99:ye,100:Re,101:Oe,102:Le,103:be},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:W},{23:111,73:W},{23:112,73:W},{23:113,73:W},e([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Ae),e(C,[2,6]),e(C,[2,16]),e(Nt,[2,10],{11:114}),e(C,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},e(C,[2,22]),{5:[1,118]},{5:[1,119]},e(C,[2,25]),e(C,[2,26]),e(C,[2,27]),e(C,[2,28]),e(C,[2,29]),e(C,[2,32]),e(C,[2,33]),e(vt,i,{7:120}),e(vt,i,{7:121}),e(vt,i,{7:122}),e(Se,i,{41:123,7:124}),e(Gt,i,{43:125,7:126}),e(Gt,i,{7:126,43:127}),e(we,i,{46:128,7:129}),e(vt,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},e(Xt,Ae,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:W},{69:146,78:Dt,79:A,80:D,81:rt,82:at,83:F,84:Ot,85:oe,86:ce,87:le,88:he,89:de,90:Te,91:pe,92:Ee,93:ue,94:fe,95:_e,96:ge,97:xe,98:Ie,99:ye,100:Re,101:Oe,102:Le,103:be},e(H,[2,79]),e(H,[2,80]),e(H,[2,81]),e(H,[2,82]),e(H,[2,83]),e(H,[2,84]),e(H,[2,85]),e(H,[2,86]),e(H,[2,87]),e(H,[2,88]),e(H,[2,89]),e(H,[2,90]),e(H,[2,91]),e(H,[2,92]),e(H,[2,93]),e(H,[2,94]),e(H,[2,95]),e(H,[2,96]),e(H,[2,97]),e(H,[2,98]),e(H,[2,99]),e(H,[2,100]),e(H,[2,101]),e(H,[2,102]),e(H,[2,103]),e(H,[2,104]),{23:147,73:W},{23:149,60:148,73:W},{73:[2,68]},{73:[2,69]},{58:150,104:ct},{58:152,104:ct},{58:153,104:ct},{58:154,104:ct},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:z,53:K,54:X},{5:[1,160]},e(C,[2,20]),e(C,[2,21]),e(C,[2,23]),e(C,[2,24]),{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,161],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,162],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,163],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,164]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,47],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,50:[1,165],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,166]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,45],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,49:[1,167],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,168]},{17:[1,169]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,43],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,48:[1,170],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,171],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{16:[1,172]},e(C,[2,50]),{16:[1,173]},e(C,[2,55]),e(Xt,[2,76]),{76:[1,174]},{16:[1,175]},e(C,[2,52]),{16:[1,176]},e(C,[2,57]),e(C,[2,53]),{23:177,73:W},{23:178,73:W},{23:179,73:W},{58:180,104:ct},{23:181,72:[1,182],73:W},{58:183,104:ct},{58:184,104:ct},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},e(C,[2,17]),e(Nt,[2,11]),{13:186,51:z,53:K,54:X},e(Nt,[2,13]),e(Nt,[2,14]),e(C,[2,19]),e(C,[2,35]),e(C,[2,36]),e(C,[2,37]),e(C,[2,38]),{16:[1,187]},e(C,[2,39]),{16:[1,188]},e(C,[2,40]),e(C,[2,41]),{16:[1,189]},e(C,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:ct},{58:196,104:ct},{58:197,104:ct},{5:[2,75]},{58:198,104:ct},{23:199,73:W},{5:[2,58]},{5:[2,59]},{23:200,73:W},e(Nt,[2,12]),e(Se,i,{7:124,41:201}),e(Gt,i,{7:126,43:202}),e(we,i,{7:129,46:203}),e(C,[2,49]),e(C,[2,54]),e(Xt,[2,77]),e(C,[2,51]),e(C,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:ct},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:x(function(N,v){if(v.recoverable)this.trace(N);else{var k=new Error(N);throw k.hash=v,k}},"parseError"),parse:x(function(N){var v=this,k=[0],y=[],G=[null],c=[],mt=this.table,d="",Mt=0,Ne=0,Qe=2,me=1,$e=c.slice.call(arguments,1),J=Object.create(this.lexer),gt={yy:{}};for(var Zt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Zt)&&(gt.yy[Zt]=this.yy[Zt]);J.setInput(N,gt.yy),gt.yy.lexer=J,gt.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var Qt=J.yylloc;c.push(Qt);var je=J.options&&J.options.ranges;typeof gt.yy.parseError=="function"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tr(ot){k.length=k.length-2*ot,G.length=G.length-ot,c.length=c.length-ot}x(tr,"popStack");function Pe(){var ot;return ot=y.pop()||J.lex()||me,typeof ot!="number"&&(ot instanceof Array&&(y=ot,ot=y.pop()),ot=v.symbols_[ot]||ot),ot}x(Pe,"lex");for(var st,xt,lt,$t,Lt={},Bt,Tt,ke,Vt;;){if(xt=k[k.length-1],this.defaultActions[xt]?lt=this.defaultActions[xt]:((st===null||typeof st>"u")&&(st=Pe()),lt=mt[xt]&&mt[xt][st]),typeof lt>"u"||!lt.length||!lt[0]){var jt="";Vt=[];for(Bt in mt[xt])this.terminals_[Bt]&&Bt>Qe&&Vt.push("'"+this.terminals_[Bt]+"'");J.showPosition?jt="Parse error on line "+(Mt+1)+`: +import{I as er}from"./chunk-2Q5K7J3B-CrYepzYZ.js";import{a as x,aT as rr,Y as j,at as it,aP as Me,B as ar,j as sr,x as m,aS as De,aR as ir,aU as nr,W as or,V as cr,$ as lr,as as hr,J as dr,s as Tr,aO as Yt,ba as Z,ac as Q,n as kt,aC as Be,Z as pr,X as Ft,a9 as Er,aM as Ve}from"./mermaid.core-DS1qXbzQ.js";import{d as ur,h as se,g as dt,e as fr,a as ie,b as ne}from"./chunk-2GRJ4B5K-DFfNskzn.js";import{ad as Wt}from"../../app/index-B0ly_D9Z.js";var ee=function(){var e=x(function(ut,N,v,k){for(v=v||{},k=ut.length;k--;v[ut[k]]=N);return v},"o"),t=[1,2],a=[1,3],r=[1,4],i=[2,4],n=[1,9],s=[1,11],o=[1,12],E=[1,14],h=[1,15],p=[1,17],_=[1,18],u=[1,19],O=[1,25],T=[1,26],g=[1,27],f=[1,28],I=[1,29],L=[1,30],b=[1,31],P=[1,32],S=[1,33],w=[1,34],M=[1,35],V=[1,36],Y=[1,37],z=[1,38],K=[1,39],X=[1,40],$=[1,42],tt=[1,43],U=[1,44],nt=[1,45],et=[1,46],W=[1,47],C=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],wt=[1,74],Dt=[1,80],A=[1,81],D=[1,82],rt=[1,83],at=[1,84],F=[1,85],Ot=[1,86],oe=[1,87],ce=[1,88],le=[1,89],he=[1,90],de=[1,91],Te=[1,92],pe=[1,93],Ee=[1,94],ue=[1,95],fe=[1,96],_e=[1,97],ge=[1,98],xe=[1,99],Ie=[1,100],ye=[1,101],Re=[1,102],Oe=[1,103],Le=[1,104],be=[1,105],Ae=[2,78],Nt=[4,5,17,51,53,54],vt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],Gt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],we=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Xt=[5,52],H=[70,71,72,73],ct=[1,151],Jt={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:x(function(N,v,k,y,G,c,mt){var d=c.length-1;switch(G){case 3:return y.apply(c[d]),c[d];case 4:case 10:this.$=[];break;case 5:case 11:c[d-1].push(c[d]),this.$=c[d-1];break;case 6:case 7:case 12:case 13:this.$=c[d];break;case 8:case 9:case 14:this.$=[];break;case 16:c[d].type="createParticipant",this.$=c[d];break;case 17:c[d-1].unshift({type:"boxStart",boxData:y.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:y.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor};break;case 24:this.$={type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-1].actor};break;case 30:y.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 31:y.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 32:this.$=c[d].trim(),y.setAccTitle(this.$);break;case 33:case 34:this.$=c[d].trim(),y.setAccDescription(this.$);break;case 35:c[d-1].unshift({type:"loopStart",loopText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:y.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 36:c[d-1].unshift({type:"rectStart",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_END}),this.$=c[d-1];break;case 37:c[d-1].unshift({type:"optStart",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"altStart",altText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:y.LINETYPE.ALT_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_OVER_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"criticalStart",criticalText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:y.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 42:c[d-1].unshift({type:"breakStart",breakText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 44:this.$=c[d-3].concat([{type:"option",optionText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 46:this.$=c[d-3].concat([{type:"and",parText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.PAR_AND},c[d]]);break;case 48:this.$=c[d-3].concat([{type:"else",altText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.ALT_ELSE},c[d]]);break;case 49:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 50:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 51:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 52:case 57:c[d-1].draw="actor",c[d-1].type="addParticipant",this.$=c[d-1];break;case 53:c[d-1].type="destroyParticipant",this.$=c[d-1];break;case 54:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 55:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 56:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 58:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 59:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:y.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 60:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 61:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 62:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 63:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 66:this.$=[c[d-2],c[d]];break;case 67:this.$=c[d];break;case 68:this.$=y.PLACEMENT.LEFTOF;break;case 69:this.$=y.PLACEMENT.RIGHTOF;break;case 70:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0},{type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor}];break;case 71:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-4].actor}];break;case 72:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor}];break;case 73:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d],activate:!1,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-4].actor}];break;case 74:this.$=[c[d-5],c[d-1],{type:"addMessage",from:c[d-5].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-5].actor}];break;case 75:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 76:this.$={type:"addParticipant",actor:c[d-1],config:c[d]};break;case 77:this.$=c[d-1].trim();break;case 78:this.$={type:"addParticipant",actor:c[d]};break;case 79:this.$=y.LINETYPE.SOLID_OPEN;break;case 80:this.$=y.LINETYPE.DOTTED_OPEN;break;case 81:this.$=y.LINETYPE.SOLID;break;case 82:this.$=y.LINETYPE.SOLID_TOP;break;case 83:this.$=y.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=y.LINETYPE.STICK_TOP;break;case 85:this.$=y.LINETYPE.STICK_BOTTOM;break;case 86:this.$=y.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=y.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=y.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=y.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=y.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=y.LINETYPE.DOTTED;break;case 100:this.$=y.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=y.LINETYPE.SOLID_CROSS;break;case 102:this.$=y.LINETYPE.DOTTED_CROSS;break;case 103:this.$=y.LINETYPE.SOLID_POINT;break;case 104:this.$=y.LINETYPE.DOTTED_POINT;break;case 105:this.$=y.parseMessage(c[d].trim().substring(1));break}},"anonymous"),table:[{3:1,4:t,5:a,6:r},{1:[3]},{3:5,4:t,5:a,6:r},{3:6,4:t,5:a,6:r},e([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},e(C,[2,5]),{9:48,13:13,14:E,15:h,18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},e(C,[2,7]),e(C,[2,8]),e(C,[2,9]),e(C,[2,15]),{13:49,51:z,53:K,54:X},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:W},{23:56,73:W},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},e(C,[2,30]),e(C,[2,31]),{33:[1,62]},{35:[1,63]},e(C,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:wt},{23:75,55:76,73:wt},{23:77,73:W},{69:78,72:[1,79],78:Dt,79:A,80:D,81:rt,82:at,83:F,84:Ot,85:oe,86:ce,87:le,88:he,89:de,90:Te,91:pe,92:Ee,93:ue,94:fe,95:_e,96:ge,97:xe,98:Ie,99:ye,100:Re,101:Oe,102:Le,103:be},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:W},{23:111,73:W},{23:112,73:W},{23:113,73:W},e([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Ae),e(C,[2,6]),e(C,[2,16]),e(Nt,[2,10],{11:114}),e(C,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},e(C,[2,22]),{5:[1,118]},{5:[1,119]},e(C,[2,25]),e(C,[2,26]),e(C,[2,27]),e(C,[2,28]),e(C,[2,29]),e(C,[2,32]),e(C,[2,33]),e(vt,i,{7:120}),e(vt,i,{7:121}),e(vt,i,{7:122}),e(Se,i,{41:123,7:124}),e(Gt,i,{43:125,7:126}),e(Gt,i,{7:126,43:127}),e(we,i,{46:128,7:129}),e(vt,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},e(Xt,Ae,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:W},{69:146,78:Dt,79:A,80:D,81:rt,82:at,83:F,84:Ot,85:oe,86:ce,87:le,88:he,89:de,90:Te,91:pe,92:Ee,93:ue,94:fe,95:_e,96:ge,97:xe,98:Ie,99:ye,100:Re,101:Oe,102:Le,103:be},e(H,[2,79]),e(H,[2,80]),e(H,[2,81]),e(H,[2,82]),e(H,[2,83]),e(H,[2,84]),e(H,[2,85]),e(H,[2,86]),e(H,[2,87]),e(H,[2,88]),e(H,[2,89]),e(H,[2,90]),e(H,[2,91]),e(H,[2,92]),e(H,[2,93]),e(H,[2,94]),e(H,[2,95]),e(H,[2,96]),e(H,[2,97]),e(H,[2,98]),e(H,[2,99]),e(H,[2,100]),e(H,[2,101]),e(H,[2,102]),e(H,[2,103]),e(H,[2,104]),{23:147,73:W},{23:149,60:148,73:W},{73:[2,68]},{73:[2,69]},{58:150,104:ct},{58:152,104:ct},{58:153,104:ct},{58:154,104:ct},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:z,53:K,54:X},{5:[1,160]},e(C,[2,20]),e(C,[2,21]),e(C,[2,23]),e(C,[2,24]),{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,161],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,162],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,163],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,164]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,47],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,50:[1,165],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,166]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,45],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,49:[1,167],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,168]},{17:[1,169]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,43],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,48:[1,170],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,171],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{16:[1,172]},e(C,[2,50]),{16:[1,173]},e(C,[2,55]),e(Xt,[2,76]),{76:[1,174]},{16:[1,175]},e(C,[2,52]),{16:[1,176]},e(C,[2,57]),e(C,[2,53]),{23:177,73:W},{23:178,73:W},{23:179,73:W},{58:180,104:ct},{23:181,72:[1,182],73:W},{58:183,104:ct},{58:184,104:ct},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},e(C,[2,17]),e(Nt,[2,11]),{13:186,51:z,53:K,54:X},e(Nt,[2,13]),e(Nt,[2,14]),e(C,[2,19]),e(C,[2,35]),e(C,[2,36]),e(C,[2,37]),e(C,[2,38]),{16:[1,187]},e(C,[2,39]),{16:[1,188]},e(C,[2,40]),e(C,[2,41]),{16:[1,189]},e(C,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:ct},{58:196,104:ct},{58:197,104:ct},{5:[2,75]},{58:198,104:ct},{23:199,73:W},{5:[2,58]},{5:[2,59]},{23:200,73:W},e(Nt,[2,12]),e(Se,i,{7:124,41:201}),e(Gt,i,{7:126,43:202}),e(we,i,{7:129,46:203}),e(C,[2,49]),e(C,[2,54]),e(Xt,[2,77]),e(C,[2,51]),e(C,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:ct},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:x(function(N,v){if(v.recoverable)this.trace(N);else{var k=new Error(N);throw k.hash=v,k}},"parseError"),parse:x(function(N){var v=this,k=[0],y=[],G=[null],c=[],mt=this.table,d="",Mt=0,Ne=0,Qe=2,me=1,$e=c.slice.call(arguments,1),J=Object.create(this.lexer),gt={yy:{}};for(var Zt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Zt)&&(gt.yy[Zt]=this.yy[Zt]);J.setInput(N,gt.yy),gt.yy.lexer=J,gt.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var Qt=J.yylloc;c.push(Qt);var je=J.options&&J.options.ranges;typeof gt.yy.parseError=="function"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tr(ot){k.length=k.length-2*ot,G.length=G.length-ot,c.length=c.length-ot}x(tr,"popStack");function Pe(){var ot;return ot=y.pop()||J.lex()||me,typeof ot!="number"&&(ot instanceof Array&&(y=ot,ot=y.pop()),ot=v.symbols_[ot]||ot),ot}x(Pe,"lex");for(var st,xt,lt,$t,Lt={},Bt,Tt,ke,Vt;;){if(xt=k[k.length-1],this.defaultActions[xt]?lt=this.defaultActions[xt]:((st===null||typeof st>"u")&&(st=Pe()),lt=mt[xt]&&mt[xt][st]),typeof lt>"u"||!lt.length||!lt[0]){var jt="";Vt=[];for(Bt in mt[xt])this.terminals_[Bt]&&Bt>Qe&&Vt.push("'"+this.terminals_[Bt]+"'");J.showPosition?jt="Parse error on line "+(Mt+1)+`: `+J.showPosition()+` Expecting `+Vt.join(", ")+", got '"+(this.terminals_[st]||st)+"'":jt="Parse error on line "+(Mt+1)+": Unexpected "+(st==me?"end of input":"'"+(this.terminals_[st]||st)+"'"),this.parseError(jt,{text:J.match,token:this.terminals_[st]||st,line:J.yylineno,loc:Qt,expected:Vt})}if(lt[0]instanceof Array&<.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xt+", token: "+st);switch(lt[0]){case 1:k.push(st),G.push(J.yytext),c.push(J.yylloc),k.push(lt[1]),st=null,Ne=J.yyleng,d=J.yytext,Mt=J.yylineno,Qt=J.yylloc;break;case 2:if(Tt=this.productions_[lt[1]][1],Lt.$=G[G.length-Tt],Lt._$={first_line:c[c.length-(Tt||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(Tt||1)].first_column,last_column:c[c.length-1].last_column},je&&(Lt._$.range=[c[c.length-(Tt||1)].range[0],c[c.length-1].range[1]]),$t=this.performAction.apply(Lt,[d,Ne,Mt,gt.yy,lt[1],G,c].concat($e)),typeof $t<"u")return $t;Tt&&(k=k.slice(0,-1*Tt*2),G=G.slice(0,-1*Tt),c=c.slice(0,-1*Tt)),k.push(this.productions_[lt[1]][0]),G.push(Lt.$),c.push(Lt._$),ke=mt[k[k.length-2]][k[k.length-1]],k.push(ke);break;case 3:return!0}}return!0},"parse")},Ze=function(){var ut={EOF:1,parseError:x(function(v,k){if(this.yy.parser)this.yy.parser.parseError(v,k);else throw new Error(v)},"parseError"),setInput:x(function(N,v){return this.yy=v||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:x(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var v=N.match(/(?:\r\n?|\n).*/g);return v?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:x(function(N){var v=N.length,k=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-v),this.offset-=v;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var G=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===y.length?this.yylloc.first_column:0)+y[y.length-k.length].length-k[0].length:this.yylloc.first_column-v},this.options.ranges&&(this.yylloc.range=[G[0],G[0]+this.yyleng-v]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:x(function(N){this.unput(this.match.slice(N))},"less"),pastInput:x(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var N=this.pastInput(),v=new Array(N.length+1).join("-");return N+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-BALwA7qs.js b/veadk/webui/assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-DcoaL5Pa.js similarity index 87% rename from veadk/webui/assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-BALwA7qs.js rename to veadk/webui/assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-DcoaL5Pa.js index f59504d9b..2ae91c0b0 100644 --- a/veadk/webui/assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-BALwA7qs.js +++ b/veadk/webui/assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-DcoaL5Pa.js @@ -1 +1 @@ -import{a as n}from"./mermaid.core-CA8ypPul.js";import"../../app/index-BSfA7-Qp.js";var p=1;function a(){if(!(typeof globalThis>"u"))return globalThis}n(a,"getCaptureGlobal");function m(){var o;return!!((o=a())!=null&&o.mermaidCaptureSizes)}n(m,"shouldCaptureSizes");function d(){return typeof location>"u"?"browser-dev":`${location.pathname}${location.search}`}n(d,"capturedFromLocation");function s(o,r){const e=a();if(!e)return;const t=r.node(),i=(t&&"ownerSVGElement"in t?t.ownerSVGElement:null)??t,c=(i==null?void 0:i.id)??"(unknown)";e.mermaidCapturedSizes??(e.mermaidCapturedSizes=[]);const u={svgId:c,sizes:o};e.mermaidCapturedSizes.push(u),e.mermaidLastCapturedSizes=u}n(s,"emitCapturedSizes");function l(o,r){const e=[];for(const t of r.nodes)t.isGroup||e.push({id:t.id,width:t.width??0,height:t.height??0});e.length!==0&&s({metadata:{captureVersion:p,capturedAt:new Date().toISOString(),capturedFrom:d()},nodes:e},o)}n(l,"captureNodeSizes");export{l as captureNodeSizes,m as shouldCaptureSizes}; +import{a as n}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";var p=1;function a(){if(!(typeof globalThis>"u"))return globalThis}n(a,"getCaptureGlobal");function m(){var o;return!!((o=a())!=null&&o.mermaidCaptureSizes)}n(m,"shouldCaptureSizes");function d(){return typeof location>"u"?"browser-dev":`${location.pathname}${location.search}`}n(d,"capturedFromLocation");function s(o,r){const e=a();if(!e)return;const t=r.node(),i=(t&&"ownerSVGElement"in t?t.ownerSVGElement:null)??t,c=(i==null?void 0:i.id)??"(unknown)";e.mermaidCapturedSizes??(e.mermaidCapturedSizes=[]);const u={svgId:c,sizes:o};e.mermaidCapturedSizes.push(u),e.mermaidLastCapturedSizes=u}n(s,"emitCapturedSizes");function l(o,r){const e=[];for(const t of r.nodes)t.isGroup||e.push({id:t.id,width:t.width??0,height:t.height??0});e.length!==0&&s({metadata:{captureVersion:p,capturedAt:new Date().toISOString(),capturedFrom:d()},nodes:e},o)}n(l,"captureNodeSizes");export{l as captureNodeSizes,m as shouldCaptureSizes}; diff --git a/veadk/webui/assets/visualizations/mermaid/stateDiagram-OKZ733FA-DlMFQfhX.js b/veadk/webui/assets/visualizations/mermaid/stateDiagram-OKZ733FA-DOwwprGF.js similarity index 96% rename from veadk/webui/assets/visualizations/mermaid/stateDiagram-OKZ733FA-DlMFQfhX.js rename to veadk/webui/assets/visualizations/mermaid/stateDiagram-OKZ733FA-DOwwprGF.js index 4c6a941d3..449f8b102 100644 --- a/veadk/webui/assets/visualizations/mermaid/stateDiagram-OKZ733FA-DlMFQfhX.js +++ b/veadk/webui/assets/visualizations/mermaid/stateDiagram-OKZ733FA-DOwwprGF.js @@ -1 +1 @@ -import{b as R,s as W,S as N}from"./chunk-5RXB4S5H-DbJC5G9d.js";import{a as f,Y as t,at as S,B as P,x as z,aq as U,G as _,a9 as C,ba as F}from"./mermaid.core-CA8ypPul.js";import{ad as H}from"../../app/index-BSfA7-Qp.js";import{G as O}from"../../chunks/graph-Dqkl27Ch.js";import{l as J}from"../../chunks/layout-B6FSD_Du.js";import"./chunk-XXDRQBXY-4aIfLT7K.js";import"./chunk-KBJHAD2P-BfrlQA_C.js";import"./chunk-2GRJ4B5K-BMhlpUDn.js";import"../../chunks/map-8WAJQ6ap.js";var X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),Y=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),D=f((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),I=f((e,i)=>{const d=f(function(o,B,y){const v=o.append("tspan").attr("x",2*t().state.padding).text(B);y||v.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),l=n.height,p=e.append("text").attr("x",t().state.padding).attr("y",l+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(o){a||(d(p,o,s),s=!1),a=!1});const m=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+l+t().state.dividerMargin/2).attr("y2",t().state.padding+l+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),g=Math.max(x.width,n.width);return m.attr("x2",g+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",g+2*t().state.padding).attr("height",x.height+l+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=f((e,i,d)=>{const c=t().state.padding,n=2*t().state.padding,l=e.node().getBBox(),p=l.width,a=l.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+n;let g=Math.max(x,p);g===p&&(g=g+n);let o;const B=e.node().getBBox();i.doc,o=a-c,x>p&&(o=(p-g)/2+c),Math.abs(a-B.x)p&&(o=a-(x-p)/2);const y=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",o).attr("y",y).attr("class",d?"alt-composit":"composit").attr("width",g).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",o+c),x<=p&&s.attr("x",a+(g-n)/2-x/2+c),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),q=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),Z=f((e,i)=>{let d=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let n=d;d=c,c=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),j=f((e,i,d,c)=>{let n=0;const l=c.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const m of a){const x=m.trim();if(x.length>0){const g=l.append("tspan");if(g.text(x),s===0){const o=g.node().getBBox();s+=o.height}n+=s,g.attr("x",i+t().state.noteMargin),g.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:n}},"_drawLongText"),K=f((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:n,textHeight:l}=j(e,0,0,c);return d.attr("height",l+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),L=f(function(e,i){const d=i.id,c={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&X(n),i.type==="end"&&q(n),(i.type==="fork"||i.type==="join")&&Z(n,i),i.type==="note"&&K(i.note.text,n),i.type==="divider"&&Y(n),i.type==="default"&&i.descriptions.length===0&&D(n,i),i.type==="default"&&i.descriptions.length>0&&I(n,i);const l=n.node().getBBox();return c.width=l.width+2*t().state.padding,c.height=l.height+2*t().state.padding,c},"drawState"),G=0,Q=f(function(e,i,d){const c=f(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,l=U().x(function(s){return s.x}).y(function(s){return s.y}).curve(_),p=e.append("path").attr("d",l(n)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=C(!0)),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:m,y:x}=F.calcLabelPosition(i.points),g=z.getRows(d.title);let o=0;const B=[];let y=0,v=0;for(let u=0;u<=g.length;u++){const h=s.append("text").attr("text-anchor","middle").text(g[u]).attr("x",m).attr("y",x+o),w=h.node().getBBox();y=Math.max(y,w.width),v=Math.min(v,w.x),S.info(w.x,m,x+o),o===0&&(o=h.node().getBBox().height,S.info("Title height",o,x)),B.push(h)}let k=o*g.length;if(g.length>1){const u=(g.length-1)*o*.5;B.forEach((h,w)=>h.attr("y",x+w*o-u)),k=o*g.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",m-y/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",y+t().state.padding).attr("height",k+t().state.padding),S.info(r)}G++},"drawEdge"),b,T={},V=f(function(){},"setConf"),tt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),et=f(function(e,i,d,c){b=t().state;const n=t().securityLevel;let l;n==="sandbox"&&(l=H("#i"+i));const p=n==="sandbox"?H(l.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?l.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=p.select(`[id='${i}']`);tt(s);const m=c.db.getRootDoc(),x=s.append("g").attr("id",i+"-root");A(m,x,void 0,!1,p,a,c);const g=b.padding,o=s.node().getBBox(),B=o.width+g*2,y=o.height+g*2,v=B*1.75;P(s,y,v,b.useMaxWidth),s.attr("viewBox",`${o.x-b.padding} ${o.y-b.padding} `+B+" "+y)},"draw"),at=f(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),A=f((e,i,d,c,n,l,p)=>{const a=new O({compound:!0,multigraph:!0});let s,m=!0;for(s=0;s{const w=h.parentElement;let E=0,M=0;w&&(w.parentElement&&(E=w.parentElement.getBBox().width),M=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let v=y.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),Q(i,a.edge(r),a.edge(r).relation))}),v=y.getBBox();const k={id:d||"root",label:d||"root",width:0,height:0};return k.width=v.width+2*b.padding,k.height=v.height+2*b.padding,S.debug("Doc rendered",k,a),k},"renderDoc"),it={setConf:V,draw:et},pt={parser:W,get db(){return new N(1)},renderer:it,styles:R,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{pt as diagram}; +import{b as R,s as W,S as N}from"./chunk-5RXB4S5H-Dm_B4Eqw.js";import{a as f,Y as t,at as S,B as P,x as z,aq as U,G as _,a9 as C,ba as F}from"./mermaid.core-DS1qXbzQ.js";import{ad as H}from"../../app/index-B0ly_D9Z.js";import{G as O}from"../../chunks/graph-Dqkl27Ch.js";import{l as J}from"../../chunks/layout-B6FSD_Du.js";import"./chunk-XXDRQBXY-kV8dS86B.js";import"./chunk-KBJHAD2P-CUyWjBEZ.js";import"./chunk-2GRJ4B5K-DFfNskzn.js";import"../../chunks/map-8WAJQ6ap.js";var X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),Y=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),D=f((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),I=f((e,i)=>{const d=f(function(o,B,y){const v=o.append("tspan").attr("x",2*t().state.padding).text(B);y||v.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),l=n.height,p=e.append("text").attr("x",t().state.padding).attr("y",l+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(o){a||(d(p,o,s),s=!1),a=!1});const m=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+l+t().state.dividerMargin/2).attr("y2",t().state.padding+l+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),g=Math.max(x.width,n.width);return m.attr("x2",g+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",g+2*t().state.padding).attr("height",x.height+l+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=f((e,i,d)=>{const c=t().state.padding,n=2*t().state.padding,l=e.node().getBBox(),p=l.width,a=l.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+n;let g=Math.max(x,p);g===p&&(g=g+n);let o;const B=e.node().getBBox();i.doc,o=a-c,x>p&&(o=(p-g)/2+c),Math.abs(a-B.x)p&&(o=a-(x-p)/2);const y=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",o).attr("y",y).attr("class",d?"alt-composit":"composit").attr("width",g).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",o+c),x<=p&&s.attr("x",a+(g-n)/2-x/2+c),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),q=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),Z=f((e,i)=>{let d=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let n=d;d=c,c=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),j=f((e,i,d,c)=>{let n=0;const l=c.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const m of a){const x=m.trim();if(x.length>0){const g=l.append("tspan");if(g.text(x),s===0){const o=g.node().getBBox();s+=o.height}n+=s,g.attr("x",i+t().state.noteMargin),g.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:n}},"_drawLongText"),K=f((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:n,textHeight:l}=j(e,0,0,c);return d.attr("height",l+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),L=f(function(e,i){const d=i.id,c={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&X(n),i.type==="end"&&q(n),(i.type==="fork"||i.type==="join")&&Z(n,i),i.type==="note"&&K(i.note.text,n),i.type==="divider"&&Y(n),i.type==="default"&&i.descriptions.length===0&&D(n,i),i.type==="default"&&i.descriptions.length>0&&I(n,i);const l=n.node().getBBox();return c.width=l.width+2*t().state.padding,c.height=l.height+2*t().state.padding,c},"drawState"),G=0,Q=f(function(e,i,d){const c=f(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,l=U().x(function(s){return s.x}).y(function(s){return s.y}).curve(_),p=e.append("path").attr("d",l(n)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=C(!0)),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:m,y:x}=F.calcLabelPosition(i.points),g=z.getRows(d.title);let o=0;const B=[];let y=0,v=0;for(let u=0;u<=g.length;u++){const h=s.append("text").attr("text-anchor","middle").text(g[u]).attr("x",m).attr("y",x+o),w=h.node().getBBox();y=Math.max(y,w.width),v=Math.min(v,w.x),S.info(w.x,m,x+o),o===0&&(o=h.node().getBBox().height,S.info("Title height",o,x)),B.push(h)}let k=o*g.length;if(g.length>1){const u=(g.length-1)*o*.5;B.forEach((h,w)=>h.attr("y",x+w*o-u)),k=o*g.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",m-y/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",y+t().state.padding).attr("height",k+t().state.padding),S.info(r)}G++},"drawEdge"),b,T={},V=f(function(){},"setConf"),tt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),et=f(function(e,i,d,c){b=t().state;const n=t().securityLevel;let l;n==="sandbox"&&(l=H("#i"+i));const p=n==="sandbox"?H(l.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?l.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=p.select(`[id='${i}']`);tt(s);const m=c.db.getRootDoc(),x=s.append("g").attr("id",i+"-root");A(m,x,void 0,!1,p,a,c);const g=b.padding,o=s.node().getBBox(),B=o.width+g*2,y=o.height+g*2,v=B*1.75;P(s,y,v,b.useMaxWidth),s.attr("viewBox",`${o.x-b.padding} ${o.y-b.padding} `+B+" "+y)},"draw"),at=f(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),A=f((e,i,d,c,n,l,p)=>{const a=new O({compound:!0,multigraph:!0});let s,m=!0;for(s=0;s{const w=h.parentElement;let E=0,M=0;w&&(w.parentElement&&(E=w.parentElement.getBBox().width),M=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let v=y.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),Q(i,a.edge(r),a.edge(r).relation))}),v=y.getBBox();const k={id:d||"root",label:d||"root",width:0,height:0};return k.width=v.width+2*b.padding,k.height=v.height+2*b.padding,S.debug("Doc rendered",k,a),k},"renderDoc"),it={setConf:V,draw:et},pt={parser:W,get db(){return new N(1)},renderer:it,styles:R,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{pt as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-BtniqXTK.js b/veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-BtniqXTK.js new file mode 100644 index 000000000..bd4c7b5d2 --- /dev/null +++ b/veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-BtniqXTK.js @@ -0,0 +1 @@ +import{b as r,a as e,s as a,S as s}from"./chunk-5RXB4S5H-Dm_B4Eqw.js";import{a as i}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";import"./chunk-XXDRQBXY-kV8dS86B.js";import"./chunk-KBJHAD2P-CUyWjBEZ.js";import"./chunk-2GRJ4B5K-DFfNskzn.js";var _={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{_ as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-kqiSvJQU.js b/veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-kqiSvJQU.js deleted file mode 100644 index e03ebbef5..000000000 --- a/veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-kqiSvJQU.js +++ /dev/null @@ -1 +0,0 @@ -import{b as r,a as e,s as a,S as s}from"./chunk-5RXB4S5H-DbJC5G9d.js";import{a as i}from"./mermaid.core-CA8ypPul.js";import"../../app/index-BSfA7-Qp.js";import"./chunk-XXDRQBXY-4aIfLT7K.js";import"./chunk-KBJHAD2P-BfrlQA_C.js";import"./chunk-2GRJ4B5K-BMhlpUDn.js";var _={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{_ as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/swimlanes-SLNWSIFB-C_QRwND6.js b/veadk/webui/assets/visualizations/mermaid/swimlanes-SLNWSIFB-CZjcuSKt.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/swimlanes-SLNWSIFB-C_QRwND6.js rename to veadk/webui/assets/visualizations/mermaid/swimlanes-SLNWSIFB-CZjcuSKt.js index 491c67c84..0f28e1599 100644 --- a/veadk/webui/assets/visualizations/mermaid/swimlanes-SLNWSIFB-C_QRwND6.js +++ b/veadk/webui/assets/visualizations/mermaid/swimlanes-SLNWSIFB-CZjcuSKt.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-BALwA7qs.js","assets/visualizations/mermaid/mermaid.core-CA8ypPul.js","assets/app/index-BSfA7-Qp.js","assets/styles/index-vChqTa3c.css"])))=>i.map(i=>d[i]); -import{_ as Rr}from"../../app/index-BSfA7-Qp.js";import{c as Nr}from"./chunk-RYQCIY6F-Bc3woq1C.js";import{aw as Or,v as Pr,t as Br,u as kr,at as Qe,Y as _r,ag as Fr,ad as Dr,aG as Hr,ae as Xr,af as Yr,X as Gr,a6 as $r,P as zr,ba as _e,b3 as Ve,a as d,av as Po}from"./mermaid.core-CA8ypPul.js";import{G as Vr}from"../../chunks/graph-Dqkl27Ch.js";import"../../chunks/map-8WAJQ6ap.js";async function Xo(t,e){const n=new Vr({multigraph:!0,compound:!0}),o=[...e.edges],s=_r(),r=t.insert("g").attr("class","root"),i=r.insert("g").attr("class","clusters"),a=r.insert("g").attr("class","edges edgePath"),c=r.insert("g").attr("class","edgeLabels"),f=r.insert("g").attr("class","nodes"),g=new Map,p=t.node()!=null;await Promise.all(e.nodes.map(async M=>{var u;if(M.isGroup)n.setNode(M.id,{...M});else{if(p){const h=await Fr(f,M,{config:s,dir:M.dir}),l=((u=h.node())==null?void 0:u.getBBox())??{width:0,height:0};g.set(M.id,h),M.width=l.width,M.height=l.height}n.setNode(M.id,{...M})}}));for(const M of o)n.setEdge(M.start,M.end,{...M},M.id),e.edges.some(h=>h.id===M.id)||e.edges.push(M);if(globalThis.mermaidCaptureSizes){const{captureNodeSizes:M}=await Rr(async()=>{const{captureNodeSizes:u}=await import("./sizeCapture-X5ZJPWSS-BALwA7qs.js");return{captureNodeSizes:u}},__vite__mapDeps([0,1,2,3]));M(t,e)}return{graph:n,groups:{clusters:i,edgePaths:a,edgeLabels:c,nodes:f,rootGroups:r},nodeElements:g}}d(Xo,"createGraphWithElements");var Bo=5,je=1e-5,Ue=1e-6;function tn(t){const e=[];for(let n=0;n=1-Ue||M<=Ue||M>=1-Ue?null:{point:{x:t.x+p*s,y:t.y+p*r},tA:p,tB:M}}d(Yo,"segmentIntersection");function wn(t){return Math.abs(t.b.x-t.a.x)>=Math.abs(t.b.y-t.a.y)}d(wn,"isHorizontalSeg");function Go(t){const e=[];for(let n=0;n=Math.abs(n)?e>=0?1:0:n>=0?1:0}d($o,"getArcSweepFlag");var jr=.001;function zo(t,e){if(t.length<2)return t.map(r=>({...r}));const n=t.map(r=>({...r})),o=e.arrowTypeStart&&Po[e.arrowTypeStart];if(o){const r=t[0],i=t[1],a=Math.atan2(i.y-r.y,i.x-r.x);n[0].x=r.x+o*Math.cos(a),n[0].y=r.y+o*Math.sin(a)}const s=e.arrowTypeEnd&&Po[e.arrowTypeEnd];if(s){const r=t.length,i=t[r-2],a=t[r-1],c=Math.atan2(a.y-i.y,a.x-i.x);n[r-1].x=a.x-s*Math.cos(c),n[r-1].y=a.y-s*Math.sin(c)}return n}d(zo,"applyMarkerOffsets");function Vo(t,e,n,o,s){const r=t.point.x,i=t.point.y,a={x:r-e*t.r,y:i-n*t.r},c={x:r+e*t.r,y:i+n*t.r},f=[`L${Oe(a)}`];return s==="arc"?f.push(`A${le(t.r)},${le(t.r)} 0 0 ${o} ${Oe(c)}`):f.push(`M${Oe(c)}`),f}d(Vo,"emitJump");function An(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,i=n.x-e.x,a=n.y-e.y,c=Math.hypot(s,r),f=Math.hypot(i,a);if(c0){const v=An(s[f-1],s[f],s[f+1]??s[f],Bo);v&&(l=v.cutLen)}let x=p,C=null;r&&fv.t-L.t);for(const v of b)v.r=Math.min(v.r,v.d-l,x-v.d);for(let v=0;vL){const y=L/2;b[v].r=Math.min(b[v].r,y),b[v+1].r=Math.min(b[v+1].r,y)}}for(const v of b)v.r=2?o:null}catch{return null}}d(Ko,"decodeDataPoints");function qo(t,e,n){if(!n.enabled)return;const o=t.node();if(!o)return;const s=new Map;for(const f of e)s.set(f.id,f);const r=[],i=new Map;for(const f of e){const g=typeof CSS<"u"&&CSS.escape?CSS.escape(f.id):f.id,p=o.querySelector(`path[data-id="${g}"]`);if(!p)continue;i.set(f.id,p);const u=Ko(p.getAttribute("data-points"))??f.points;r.push({...f,points:u})}const a=Go(r);if(a.length===0)return;const c=new Map;for(const f of a){const g=c.get(f.jumpEdgeId)??[];g.push(f),c.set(f.jumpEdgeId,g)}for(const f of r){const g=c.get(f.id);if(!g||g.length===0)continue;const p=s.get(f.id),M=p==null?void 0:p.curve;if(M!==void 0&&!Wo(M))continue;const u=i.get(f.id);if(!u)continue;if(M===void 0){const v=u.getAttribute("d")??"";if(!Uo(v))continue}const h=u.getAttribute("style")??"",l=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(h),x=l?Number.parseFloat(l[1]):null,C=l?Number.parseFloat(l[2]):null,b=jo(f,g,n);if(u.setAttribute("d",b),x!==null&&C!==null&&typeof u.getTotalLength=="function"){const v=u.getTotalLength(),L=Math.max(0,v-x-C),y=`0 ${x} ${L} ${C}`,I=h.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${y};`).replace(/;\s*;+/g,";");u.setAttribute("style",I)}}}d(qo,"applyLineJumpsToSvg");async function Jo(t,e){var s,r;for(const i of t.nodes)i.isGroup?await Dr(e.clusters,i):Hr(i);const n=new Map;for(const i of t.nodes)i!=null&&i.id&&n.set(i.id,i);for(const i of t.edges){const a=i.start?n.get(i.start)??{}:{},c=i.end?n.get(i.end)??{}:{},f=Xr(e.edgePaths,{...i},{},t.type,a,c,t.diagramId);i.label&&await Yr(e.rootGroups,i),i.label&&Zo(i,f)}const o=(r=(s=t.config)==null?void 0:s.swimlane)==null?void 0:r.lineHops;if(o!==!1){const i=o==="gap"?"gap":"arc",a=t.edges.filter(c=>Array.isArray(c.points)&&c.points.length>=2).map(c=>({id:c.id,points:c.points,curve:c.curve,arrowTypeStart:c.arrowTypeStart,arrowTypeEnd:c.arrowTypeEnd}));qo(e.edgePaths,a,{enabled:!0,jumpRadius:6,jumpStyle:i})}}d(Jo,"adjustLayout");function Zo(t,e){const n=(e==null?void 0:e.updatedPath)??(e==null?void 0:e.originalPath),o=Gr(),{subGraphTitleTotalMargin:s}=$r({flowchart:o.flowchart??{}});if(t.label){const r=zr.get(t.id);let i=t.x,a=t.y;if(n){const c=_e.calcLabelPosition(n);Qe.debug("Moving label "+t.label+" from (",i,",",a,") to (",c.x,",",c.y,") abc88"),e&&(i=c.x,a=c.y)}r.attr("transform",`translate(${i}, ${a+s/2})`)}if(t!=null&&t.startLabelLeft){const r=Ve.get(t.id).startLeft;let i=t==null?void 0:t.x,a=t==null?void 0:t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}if(t.startLabelRight){const r=Ve.get(t.id).startRight;let i=t.x,a=t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}if(t.endLabelLeft){const r=Ve.get(t.id).endLeft;let i=t.x,a=t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}if(t.endLabelRight){const r=Ve.get(t.id).endRight;let i=t.x,a=t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}}d(Zo,"positionEdgeLabel");var vn="__swimlane_default__",Ur=21,ko=20;function Rn(t){return Math.max(t.padding??ko,ko)}d(Rn,"topLaneHorizontalPadding");function Qo(t){const{x:e,y:n,width:o,height:s}=t,r=t.swimlaneContentTop;if(typeof e!="number"||typeof n!="number"||typeof o!="number"||typeof s!="number"||typeof r!="number"||!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(r)||o<=0||s<=0){delete t.groupTitleRect;return}const i=n-s/2,a=Math.min(r,n+s/2),c=Math.min(Ur,Math.max(0,a-i)),f=i+c;if(f<=i){delete t.groupTitleRect;return}t.groupTitleRect={left:e-o/2,right:e+o/2,top:i,bottom:f}}d(Qo,"assignTopLaneTitleRect");function ts(t){const e=t.direction,n=t.nodes??(t.nodes=[]);for(const r of t.nodes??[])r.isGroup&&!r.parentId&&(r.shape="swimlane",e&&(r.direction=e));const o=n.filter(r=>!r.isGroup&&!r.parentId);if(o.length===0)return;let s=n.find(r=>r.id===vn);s?s.isGroup&&(s.shape="swimlane",e&&(s.direction=e)):(s={id:vn,label:"",isGroup:!0,shape:"swimlane",padding:20,...e?{direction:e}:{}},n.push(s));for(const r of o)r.parentId=vn}d(ts,"prepareLayoutForSwimlanes");function es(t){const e=new Map;for(const c of t.nodes??[])e.set(c.id,c);const n=[];for(const c of t.edges??[]){const f=typeof c.start=="string"?c.start:void 0,g=typeof c.end=="string"?c.end:void 0;!f||!g||c.labelNodeId||n.push({id:c.id,src:f,dst:g,ref:c})}const o=t.nodes??[],s=o.filter(c=>c.isGroup),r=o.filter(c=>!c.isGroup);return{nodes:[...[...s].reverse(),...r].map(c=>c.id),edges:n,layout:t,nodeById:e}}d(es,"toGraphView");function ns(t,e,n,o){const{layout:s}=t,r=t.nodeById,i=(o==null?void 0:o.layerGap)??100,a=(o==null?void 0:o.nodeGap)??40;let c=0;for(const M of e.layers){let u=0;for(const h of M){const l=r.get(h);if(!l){u++;continue}l.layer=c,l.order=u;const x=n.x[h]??u*a,C=n.y[h]??c*i;l.x=x,l.y=C,u++}c++}const f=s.nodes??[],g=new Map,p=[];for(const M of f){if(!(M!=null&&M.isGroup))continue;M.parentId||p.push(M);const u=f.filter(b=>b.parentId===M.id);let h=1/0,l=-1/0,x=1/0,C=-1/0;for(const b of u){const v=b.x??n.x[b.id],L=b.y??n.y[b.id],y=b.width??0,I=b.height??0;v!=null&&L!=null&&(h=Math.min(h,v-y/2),l=Math.max(l,v+y/2),x=Math.min(x,L-I/2),C=Math.max(C,L+I/2))}if(h===1/0||x===1/0)M.x=M.x??0,M.y=M.y??0,M.width=M.width??0,M.height=M.height??0;else{const b=M.padding??20,v=M.parentId?b:2*Rn(M),L=b,y=Math.max(0,l-h)+v,I=Math.max(0,C-x)+L,E=(h+l)/2,A=(x+C)/2;M.x=E,M.y=A,M.width=y,M.height=I,g.set(M.id,{minX:h,maxX:l,minY:x,maxY:C})}}if(p.length>0&&g.size>0){let M=1/0,u=-1/0,h=0;for(const l of p){const x=l.padding??20;x>h&&(h=x);const C=g.get(l.id);C&&(M=Math.min(M,C.minY),u=Math.max(u,C.maxY))}if(M!==1/0&&u!==-1/0){const l=Math.max(0,u-M),C=Math.max(h,36),b=l+2*C,v=(M+u)/2;for(const B of p)B.y=v,B.height=b,B.swimlaneContentTop=M;const L=[...p].sort((B,O)=>{const k=B.x??0,H=O.x??0;return k-H}),y=[],I=[],E=[];for(const B of L){const O=g.get(B.id);if(!O)continue;const k=Math.max(0,O.maxX-O.minX)+2*Rn(B),H=(O.minX+O.maxX)/2;y.push(B.id),I.push(H),E.push(k)}const A=y.length;if(A>0){const B=new Map;if(A===1)B.set(y[0],E[0]);else{const O=[];for(let j=0;j0&&s>0?{cx:e,cy:n,rect:Pe(e,n,o,s)}:void 0}d(co,"measuredNodeRect");function ao(t){if(t.isGroup)return;const e=co(t);return e?{id:String(t.id??""),cx:e.cx,cy:e.cy,rect:e.rect}:void 0}d(ao,"nodeBoundsInfoFor");function ce(t,e,n=Yt){return Math.abs(t.x-e.x)n}d(Nt,"isHorizontalSegment");function Ot(t,e,n=Yt){return gt(t,e,n)&&Math.abs(t.y-e.y)>n}d(Ot,"isVerticalSegment");function Wt(t,e,n,o){return Math.max(0,Math.min(Math.max(t,e),Math.max(n,o))-Math.max(Math.min(t,e),Math.min(n,o)))}d(Wt,"overlapLength");function de(t,e,n=Yt){return t.horizontal&&e.horizontal&&yt(t.a,e.a,n)?Wt(t.a.x,t.b.x,e.a.x,e.b.x):t.vertical&&e.vertical&>(t.a,e.a,n)?Wt(t.a.y,t.b.y,e.a.y,e.b.y):0}d(de,"sameAxisSegmentOverlapLength");function Be(t,e=Yt){const n=[];for(let o=0;o0?n[n.length-1]:void 0;(!s||!ce(s,o,e))&&n.push({x:o.x,y:o.y})}return n}d(xt,"dedupeConsecutivePoints");function lo(t,e=Yt){if(!t||t.length!==4)return;const[n,o,s,r]=t;return Nt(n,o,e)&&Ot(o,s,e)&&Nt(s,r,e)?{kind:"HVH",p0:n,p1:o,p2:s,p3:r}:Ot(n,o,e)&&Nt(o,s,e)&&Ot(s,r,e)?{kind:"VHV",p0:n,p1:o,p2:s,p3:r}:void 0}d(lo,"classifyThreeSegmentRoute");function dn(t,e,n,o=0){const s=Math.min(t.x,e.x),r=Math.max(t.x,e.x),i=Math.min(t.y,e.y),a=Math.max(t.y,e.y);return r>n.left-o&&sn.top-o&&ie.left+n&&t.xe.top+n&&t.y=e.right&&t.top<=e.top&&t.bottom>=e.bottom}d(ss,"rectContainsRect");function en(t,e){return t.lefte.left&&t.tope.top}d(en,"rectsOverlap");function Nn(t,e){return{left:t.left-e,right:t.right+e,top:t.top-e,bottom:t.bottom+e}}d(Nn,"inflateRect");function Pe(t,e,n,o){return{left:t-n/2,right:t+n/2,top:e-o/2,bottom:e+o/2}}d(Pe,"rectFromCenterSize");function te(t){var e;return(e=co(t))==null?void 0:e.rect}d(te,"rectOfNodeBounds");function Le(t,e){switch(e){case"top":return{x:t.cx,y:t.rect.top};case"bottom":return{x:t.cx,y:t.rect.bottom};case"left":return{x:t.rect.left,y:t.cy};case"right":return{x:t.rect.right,y:t.cy}}}d(Le,"portForRectSide");function uo(t,e,n,o,s,r=Yt){const i=e==="left"||e==="right",a=o==="left"||o==="right";if(i&&a){if(e==="right"&&o==="left"&&t.xn.x){if(yt(t,n,r))return[t,n];const p=(t.x+n.x)/2;return[t,{x:p,y:t.y},{x:p,y:n.y},n]}if(e===o){if(yt(t,n,r))return;const p=e==="left"?Math.min(t.x,n.x)-s:Math.max(t.x,n.x)+s;return[t,{x:p,y:t.y},{x:p,y:n.y},n]}return}if(!i&&!a){if(e===o){if(gt(t,n,r))return;const M=e==="top"?Math.min(t.y,n.y)-s:Math.max(t.y,n.y)+s;return[t,{x:t.x,y:M},{x:n.x,y:M},n]}if(!(e==="bottom"&&o==="top"&&t.yn.y))return;if(gt(t,n,r))return[t,n];const p=(t.y+n.y)/2;return[t,{x:t.x,y:p},{x:n.x,y:p},n]}if(i&&!a){const g=e==="right"&&n.x>t.x||e==="left"&&n.xn.y;return g&&p?[t,{x:n.x,y:t.y},n]:void 0}const c=e==="bottom"&&n.y>t.y||e==="top"&&n.yn.x;return c&&f?[t,{x:t.x,y:n.y},n]:void 0}d(uo,"buildOrthogonalPortPath");function ho(t,e,n,o){return e==="left"||e==="right"?[t,{x:o,y:t.y},{x:o,y:n.y},n]:[t,{x:t.x,y:o},{x:n.x,y:o},n]}d(ho,"buildSameSideTrackPath");function un(t){const e=new Map,n=[];for(const o of t){if(o.isEdgeLabel)continue;const s=ao(o);s&&(e.set(s.id,s),n.push({id:s.id,rect:s.rect}))}return{nodeInfoById:e,realNodeRects:n}}d(un,"collectRealNodeBounds");function Me(t){const e=[],n=[];for(const o of t){const s=ao(o);if(!s)continue;const r={id:s.id,rect:s.rect};o.isEdgeLabel?n.push(r):e.push(r)}return{realNodeRects:e,labelNodeRects:n}}d(Me,"collectNodeRectEntries");function rs(t,{includeEdgeLabels:e=!0}={}){const n=[];for(const o of t){if(o.isGroup||!e&&o.isEdgeLabel)continue;const s=o.x??0,r=o.y??0,i=o.width??0,a=o.height??0;n.push({nodeId:o.id,...Pe(s,r,i,a)})}return n}d(rs,"collectLayoutNodeRects");function go(t,e,n=Yt){const o=t.start,s=t.end;if(!o||!s)return;const r=e.get(o),i=e.get(s);if(!(!r||!i))return{srcId:o,dstId:s,srcInfo:r,dstInfo:i,collinearX:Math.abs(r.cx-i.cx)h||MC)return!1;const b=Math.abs(l-g.a.x)s:r&&a&&yt(t,n,s)?Wt(t.x,e.x,n.x,o.x)>s:!1}d(is,"sameAxisSegmentsOverlap");function nn(t,e,n,o,{epsilon:s=Yt,skipDegenerateOther:r=!1}={}){for(const i of n){if(i===o||i.isLayoutOnly)continue;const a=i.points;if(!(!a||a.length<2))for(let c=0;cM+s&&hl+s&&po+Yt&&t=2?e[e.length-2]:void 0,c=(i?gt(i,s):!1)?{x:s.x,y:r.y}:{x:r.x,y:s.y};e.push(c)}e.push(r)}const n=[];for(const o of e){const s=n[n.length-1];(!s||!ce(s,o))&&n.push(o)}return n}d(on,"orthogonalizePolyline");function ue(t){if(t.length<3)return t;let e=[...t];for(let n=0;n<32;n++){const o=as(e);if(e=o.points,!o.changed)break}return e}d(ue,"simplifyPolyline");var it=.001,Kr=.5,_o=4;function yo(t,e,n){const o=t;if(o.isLayoutOnly||!o.points||o.points.length=0&&s=t.length)return t;const r=s-o;if(r<0||r>=t.length)return t;const i=ls(t[s],t[r],e);return n?[i,...t.slice(s)]:[...t.slice(0,s+1),i]}d(Pn,"clipEndpoint");function fs(t,e){for(const n of t){const o=yo(n,e,2);if(!o)continue;let s=[...o.points];o.srcRect&&(s=Pn(s,o.srcRect,!0)),o.dstRect&&(s=Pn(s,o.dstRect,!1)),s=ue(on(s)),s=po(s,o.srcRect,o.dstRect),o.edge.points=ue(on(s))}}d(fs,"clipEdgeEndpointsToNodeBoundaries");function Bn(t,e,n,o=!1){if(yt(t,e,it)){if(e.yn.bottom+it)return e;if(o){if(t.xn.right+it)return{x:n.right,y:t.y}}return{x:Math.abs(e.x-n.left)<=Math.abs(e.x-n.right)?n.left:n.right,y:t.y}}if(gt(t,e,it)){if(e.xn.right+it)return e;if(o){if(t.yn.bottom+it)return{x:t.x,y:n.bottom}}const s=Math.abs(e.y-n.top)<=Math.abs(e.y-n.bottom);return{x:t.x,y:s?n.top:n.bottom}}return e}d(Bn,"snapEndpointToBoundary");function sn(t,e,n){const o=t[e];for(let s=e+n;s>=0&&so.lo)),n=Math.min(...t.map(o=>o.hi));if(!(e>n))return{lo:e,hi:n}}d(ds,"intersectRanges");function _n(t,e){return e==="left"||e==="right"?rn(t.top,t.bottom):rn(t.left,t.right)}d(_n,"clearanceRangeForSide");function cn(t,e,n){const o=t.y>=n.top-it&&t.y<=n.bottom+it,s=t.x>=n.left-it&&t.x<=n.right+it;if(yt(t,e,it)&&o){if(Math.abs(t.x-n.left)0?ds(r):void 0}d(us,"straightClearanceRange");function Fn(t,e,n,o,s){const r=us(t,e,n,o,s);if(!r)return;const i=s?t.y:t.x,a=Math.min(r.hi,Math.max(r.lo,i));if(!(Math.abs(a-i)({...a}));for(let a=e;a>=0&&a=n.left-it&&Math.max(t.x,e.x)<=n.right+it,s=Math.min(t.y,e.y)>=n.top-it&&Math.max(t.y,e.y)<=n.bottom+it;if(Math.abs(t.y-n.top)o.bottom+it;case"left":return yt(e,n,it)&&n.xo.right+it}}d(Xn,"leavesOutward");function Yn(t,e,n){if(t.length<3)return t;if(n){const r=Hn(t[0],t[1],e);return r&&Xn(r,t[1],t[2],e)?t.slice(1):t}const o=t.length-1,s=Hn(t[o-1],t[o],e);return s&&Xn(s,t[o-1],t[o-2],e)?t.slice(0,o):t}d(Yn,"collapseOwnBorderStub");function ms(t,e,n){let o=t;if(e){const r=sn(o,0,1);if(r){const i=Bn(r,o[0],e);i!==o[0]&&(o=[i,...o.slice(1)])}o=Yn(o,e,!0)}if(n){const r=o.length-1,i=sn(o,r,-1);if(i){const a=Bn(i,o[r],n,!0);a!==o[r]&&(o=[...o.slice(0,r),a])}o=Yn(o,n,!1)}const s=po(o,e,n);return s!==o||o.length===2?s:(e&&(o=Dn(o,e,!0)),n&&(o=Dn(o,n,!1)),o)}d(ms,"snapAndCollapseEndpoints");function Gn(t,e){for(const n of t){const o=yo(n,e,2);if(!o)continue;const s=xt(o.points,it),r=ms(s,o.srcRect,o.dstRect);if(r.length<3){o.edge.points=r;continue}const i=[r[0],{...r[0]},...r.slice(1,-1),r[r.length-1],{...r[r.length-1]}];o.edge.points=i}}d(Gn,"prepareEdgeEndpointsForRenderer");function xo(t){return new Map(t.map(e=>[e.id,e]))}d(xo,"buildNodeMap");function ys(t,e){let n=t.parentId,o=null;for(;n;){const s=e.get(n);if(!(s!=null&&s.isGroup))break;o=s.id,n=s.parentId}return o}d(ys,"resolveTopLevelGroupId");function $n(t,e){let n=0,o=t.parentId;for(;o;){const s=e.get(o);if(!(s!=null&&s.isGroup))break;n++,o=s.parentId}return n}d($n,"groupDepth");function bo(t){let e=1/0,n=-1/0,o=1/0,s=-1/0;for(const r of t){const i=r.x,a=r.y;if(typeof i!="number"||typeof a!="number")continue;const c=r.width??0,f=r.height??0;e=Math.min(e,i-c/2),n=Math.max(n,i+c/2),o=Math.min(o,a-f/2),s=Math.max(s,a+f/2)}return e===1/0||o===1/0?null:{minX:e,maxX:n,minY:o,maxY:s}}d(bo,"boundsForChildren");function ps(t,e){const n=t.padding??20;t.x=(e.minX+e.maxX)/2,t.y=(e.minY+e.maxY)/2,t.width=Math.max(0,e.maxX-e.minX)+n,t.height=Math.max(0,e.maxY-e.minY)+n}d(ps,"applyGroupBounds");function xs(t){const e=xo(t),n=t.filter(o=>o.isGroup&&o.parentId).sort((o,s)=>$n(s,e)-$n(o,e));for(const o of n){const s=t.filter(i=>i.parentId===o.id),r=bo(s);r&&ps(o,r)}}d(xs,"recomputeNestedGroupBounds");function an(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(c=>!c.isGroup);let r=1/0,i=-1/0;for(const c of s){const f=c[e];typeof f=="number"&&(r=Math.min(r,f),i=Math.max(i,f))}if(!Number.isFinite(r)||!Number.isFinite(i))return!1;const a=d(c=>r+i-c,"mirror");for(const c of n){const f=c[e];typeof f=="number"&&(c[e]=a(f));const g=c.groupTitleRect;g&&(c.groupTitleRect=e==="x"?{...g,left:a(g.right),right:a(g.left)}:{...g,top:a(g.bottom),bottom:a(g.top)})}for(const c of o)for(const f of c.points??[])f[e]=a(f[e]);return!0}d(an,"mirrorAxis");function bs(t){return(t.nodes??[]).some(n=>!n.isGroup)?an(t,"y"):!0}d(bs,"applyBtDirectionTransform");function Ms(t,e="LR"){const n=t.nodes??[],o=t.edges??[],s=n.filter(P=>!P.isGroup);let r=1/0,i=1/0;for(const P of s){const G=P.x??0,j=P.y??0;G0?Math.max(1,g/p):1;for(const P of s){const G=P.x??0,tt=((P.y??0)-i)*M+a,ft=G-r;P.x=tt,P.y=ft}for(const P of o)if(P.points)for(const G of P.points){const j=G.x,ft=(G.y-i)*M+a,Mt=j-r;G.x=ft,G.y=Mt}xs(n);const u=n.filter(P=>P.isGroup&&!P.parentId);if(u.length===0)return e==="RL"&&an(t,"x"),!0;const h=xo(n),l=new Map;for(const P of n){if(P.isGroup)continue;const G=ys(P,h);if(!G)continue;const j=l.get(G)??[];j.push(P),l.set(G,j)}let x=0;for(const P of u){const G=P.padding??0;G>x&&(x=G)}const C=[];let b=1/0,v=-1/0;for(const P of u){const G=l.get(P.id)??[],j=bo(G);j&&(b=Math.min(b,j.minX),v=Math.max(v,j.maxX),C.push({lane:P,contentTop:j.minY,contentBottom:j.maxY,centerY:(j.minY+j.maxY)/2}))}if(b===1/0||v===-1/0)return!0;const L=Math.max(0,v-b),y=Math.max(x,10),I=L+2*y,E=a+I,O=(b+v)/2-I/2-a,k=O+E/2,H=Math.max(x,a);C.sort((P,G)=>P.centerY-G.centerY);for(let P=0;PM.cy?C.bottom:C.top,H=M.cx+b;if(H<=C.left+ae||H>=C.right-ae)continue;v={x:H,y:k},L={x:H,y:a.y},y={x:a.x,y:a.y}}else{const k=u.cx>M.cx?C.right:C.left,H=M.cy+b;if(H<=C.top+ae||H>=C.bottom-ae)continue;v={x:k,y:H},L={x:a.x,y:H},y={x:a.x,y:a.y}}const I=ce(v,L,ae),E=ce(L,y,ae);if(I&&E||!I&&Pt(v,L,o,[g],1)||!E&&Pt(L,y,o,[p],1))continue;const A=!I&&nn(v,L,t,s,{epsilon:ae,skipDegenerateOther:!0}),B=!E&&nn(L,y,t,s,{epsilon:ae,skipDegenerateOther:!0});if(!(A||B)){I?x=[L,y]:E?x=[v,L]:x=[v,L,y];break}}x&&(s.points=x)}}d(Is,"portSwapToLShape");function Ss(t,e){const{realNodeRects:r,labelNodeRects:i}=Me(e.values());for(const a of t){if(a.isLayoutOnly)continue;const c=a.points;if(!c||c.length<4)continue;const f=xt(c,.001);if(f.length<4)continue;const g=f.length-1,p=f[g],M=f[g-1],u=f[g-2],h=p.x-M.x,l=p.y-M.y,x=Math.hypot(h,l);if(x>=10||x<.001)continue;const C=M.x-u.x,b=M.y-u.y;if(Math.hypot(C,b)<.001)continue;const L=Nt(M,p,.001),y=Ot(M,p,.001),I=Nt(u,M,.001),E=Ot(u,M,.001);if(!(L&&E||y&&I))continue;const A=a.end,B=a.start,O=A?e.get(A):void 0;if(!O)continue;const k=O.x??0,H=O.y??0,P=te(O);if(!P)continue;let G,j;if(E){const J=b<0;G={x:k,y:u.y},j={x:k,y:J?P.bottom:P.top}}else{const J=C>0;G={x:u.x,y:H},j={x:J?P.right:P.left,y:H}}if(Pt(G,j,r,A?[A]:[],-2)||Pt(G,j,i,[],-2))continue;if(B){const J=e.get(B),rt=J?te(J):void 0;if(rt&&fo(G,rt,2))continue}const tt=d((J,rt)=>`${J.x.toFixed(3)},${J.y.toFixed(3)}|${rt.x.toFixed(3)},${rt.y.toFixed(3)}`,"ownSegmentKey"),ft=new Set;for(let J=0;J{for(const ut of t){if(ut===a||ut.isLayoutOnly)continue;const pt=ut.points;if(!(!pt||pt.length<2))for(let St=0;St=0){const J=f[g-3],rt=[B,A].filter(ut=>!!ut);if(Pt(J,G,r,rt,-2)||Mt(J,G))continue}const Ft=[...f.slice(0,g-2),G,j];a.points=Ft;const nt=a.labelNodeId;if(nt){const J=e.get(nt);if(J){const rt=J.width??0,ut=J.height??0;if(rt>0&&ut>0){let pt,St,wt=-1;for(let Kt=0;Kt=rt+2||me&&se>=ut+2)&&se>wt&&(wt=se,pt=(qt.x+Jt.x)/2,St=(qt.y+Jt.y)/2)}pt!==void 0&&St!==void 0&&(J.x=pt,J.y=St)}}}}}d(Ss,"collapseShortTerminalStub");var et=.001,Xt=8,at=Be,Ln=d((t,e)=>gt(t,e,et)||yt(t,e,et),"orthogonallyAligned");function Cs(t,e){const s=d((u,h)=>{const l=u.x??0,x=u.y??0,C=h.x-l,b=h.y-x;let v=(u.width??0)/2,L=(u.height??0)/2;return Math.abs(b)*v>Math.abs(C)*L?(b<0&&(L=-L),{x:l+(b===0?0:L*C/b),y:x+L}):(C<0&&(v=-v),{x:l+v,y:x+(C===0?0:v*b/C)})},"rectIntersect"),r=d((u,h)=>{const l=xt(u.points??[]);if(l.length<2)return;const x=h?u.start:u.end,C=x?e.get(x):void 0,b=C?te(C):void 0;if(!C||!x||!b)return;const v=h?l[0]:l[l.length-1],L=h?l[1]:l[l.length-2],y=s(C,v);let I=v;if(Ln(L,y)&&(I=L),gt(y,I,et))return{edge:u,edgeId:String(u.id??""),nodeId:x,atStart:h,orientation:"V",coord:y.x,min:Math.min(y.y,I.y),max:Math.max(y.y,I.y),boundary:y,railEnd:I,rect:b};if(yt(y,I,et))return{edge:u,edgeId:String(u.id??""),nodeId:x,atStart:h,orientation:"H",coord:y.y,min:Math.min(y.x,I.x),max:Math.max(y.x,I.x),boundary:y,railEnd:I,rect:b}},"terminalLaneFor"),i=d((u,h)=>Math.max(0,Math.min(u.max,h.max)-Math.max(u.min,h.min)),"projectedOverlapLength"),a=d((u,h)=>u.nodeId!==h.nodeId||u.orientation!==h.orientation?!1:u.orientation==="H"?(Math.abs(u.boundary.x-u.rect.left)<1||Math.abs(u.boundary.x-u.rect.right)<1)&>(u.boundary,h.boundary,1):(Math.abs(u.boundary.y-u.rect.top)<1||Math.abs(u.boundary.y-u.rect.bottom)<1)&&yt(u.boundary,h.boundary,1),"sameTerminalFace"),c=d((u,h)=>u.nodeId!==h.nodeId||u.orientation!==h.orientation?!1:i(u,h)>=Xt&&Math.abs(u.coord-h.coord)<.5,"exactTerminalLaneConflict"),f=d((u,h)=>{if(u.nodeId!==h.nodeId||u.orientation!==h.orientation||u.orientation!=="H"||u.atStart===h.atStart)return!1;const l=i(u,h);if(l2*x?!1:a(u,h)&&Math.abs(u.coord-h.coord)<16},"nearTerminalLaneConflict"),g=d((u,h)=>{const l=xt(u.edge.points??[]);if(l.length<2)return;const x=u.orientation==="V"?{x:u.boundary.x+h,y:u.boundary.y}:{x:u.boundary.x,y:u.boundary.y+h},C=u.orientation==="V"?{x:u.railEnd.x+h,y:u.railEnd.y}:{x:u.railEnd.x,y:u.railEnd.y+h};if(!d(()=>Math.abs(u.boundary.y-u.rect.top)<1||Math.abs(u.boundary.y-u.rect.bottom)<1?yt(x,u.boundary,et)&&x.x>=u.rect.left+1&&x.x<=u.rect.right-1:Math.abs(u.boundary.x-u.rect.left)<1||Math.abs(u.boundary.x-u.rect.right)<1?gt(x,u.boundary,et)&&x.y>=u.rect.top+1&&x.y<=u.rect.bottom-1:!1,"boundaryStaysOnSameFace")())return;if(u.atStart){const I=l.length>1&&ce(l[1],u.railEnd,et),E=l.slice(I?2:1),A=E[0];return A&&!Ln(A,C)?void 0:[x,C,...E]}const v=l.length>1&&ce(l[l.length-2],u.railEnd,et),L=l.slice(0,v?-2:-1),y=L[L.length-1];if(!(y&&!Ln(y,C)))return[...L,C,x]},"shiftedCandidate"),p=d(u=>{const h=u.edge,l=xt(h.points??[]);if(l.length!==2)return!1;const x=h.start,C=h.end,b=x?e.get(x):void 0,v=C?e.get(C):void 0;if(!b||!v)return!1;const L=b.x??0,y=b.y??0,I=v.x??0,E=v.y??0,[A,B]=l;return yt(A,B,et)&&Math.abs(y-E)<1&&Math.abs(L-I)>1||gt(A,B,et)&&Math.abs(L-I)<1&&Math.abs(y-E)>1},"laneIsStraightCollinearConnector"),M=[-7,7,-2*7,2*7,-3*7,3*7];for(let u=0;u<8;u++){const h=t.filter(x=>!x.isLayoutOnly).flatMap(x=>[r(x,!0),r(x,!1)]).filter(x=>!!x);let l=!1;for(let x=0;x{const A=p(I),B=p(E);return A!==B?Number(A)-Number(B):+!E.atStart-+!I.atStart});for(const I of y){for(const E of M){const A=g(I,E);if(!A)continue;const B=r({...I.edge,points:A},I.atStart);if(!(!B||h.some(O=>O.edge!==I.edge&&(c(B,O)||L&&f(B,O))))){I.edge.points=A,l=!0;break}}if(l)break}}if(!l)return}}d(Cs,"separateSharedRenderedTerminalLanes");function vs(t,e){const{realNodeRects:o,labelNodeRects:s}=Me(e.values()),r=d((a,c)=>{const f=a.start,g=a.end,p=at(c);if(p.length!==c.length-1)return!1;const M=[f,g].filter(u=>!!u);for(const u of p)if(Pt(u.a,u.b,o,M,-2)||Pt(u.a,u.b,s,[],-2))return!1;for(const u of t){if(u===a||u.isLayoutOnly)continue;const h=u.points;if(!(!h||h.length<2)){for(const l of p)for(const x of at(xt(h)))if(de(l,x,.5)>=Xt||he(l.a,l.b,x.a,x.b,et))return!1}}return!0},"candidateIsSafe"),i=d((a,c)=>{if(c+4>=a.length)return;const f=a[c],g=a[c+1],p=a[c+2],M=a[c+3],u=a[c+4],h=Nt(f,g)&&Ot(g,p)&&Nt(p,M)&&Ot(M,u)&>(f,M,et)&>(f,u,et)&>(g,p,et)&&(g.x-f.x)*(M.x-p.x)<0,l=Ot(f,g)&&Nt(g,p)&&Ot(p,M)&&Nt(M,u)&&yt(f,M,et)&&yt(f,u,et)&&yt(g,p,et)&&(g.y-f.y)*(M.y-p.y)<0;if(h||l)return xt([...a.slice(0,c+1),u,...a.slice(c+5)]);if(c+5>=a.length)return;const x=a[c+5],C=Ot(f,g)&&Nt(g,p)&&Ot(p,M)&&Nt(M,u)&&Ot(u,x)&>(f,u,et)&>(f,x,et)&>(p,M,et)&&(p.x-g.x)*(u.x-M.x)<0,b=Nt(f,g)&&Ot(g,p)&&Nt(p,M)&&Ot(M,u)&&Nt(u,x)&&yt(f,u,et)&&yt(f,x,et)&&yt(p,M,et)&&(p.y-g.y)*(u.y-M.y)<0;if(!(!C&&!b))return xt([...a.slice(0,c+1),x,...a.slice(c+6)])},"withoutDogleg");for(let a=0;a<8;a++){let c=!1;for(const f of t){if(f.isLayoutOnly)continue;const g=xt(f.points??[]);for(let p=0;p<=g.length-5;p++){const M=i(g,p);if(!(!M||!r(f,M))){f.points=M,c=!0;break}}if(c)break}if(!c)return}}d(vs,"collapseRedundantRectangularDoglegs");function zn(t,e){const{realNodeRects:r,labelNodeRects:i}=Me(e.values()),a=t.filter(h=>!h.isLayoutOnly),c=d((h,l,x)=>xt(h===l?x??[]:h.points??[]),"pointsFor"),f=d((h,l)=>{let x=0;for(let C=0;C{const l=at(h);if(l.length!==3)return;const x=l[1];if(!(l[0].horizontal===x.horizontal||l[2].horizontal===x.horizontal))return{index:x.index,horizontal:x.horizontal,vertical:x.vertical,segment:x}},"middleRail"),p=d((h,l)=>{const x=[h.start,h.end].filter(C=>!!C);return r.filter(C=>{if(x.includes(C.id))return!1;const b=C.rect;return l.horizontal?Wt(l.a.x,l.b.x,b.left,b.right)>=Xt&&l.a.y>=b.top-2&&l.a.y<=b.bottom+2:Wt(l.a.y,l.b.y,b.top,b.bottom)>=Xt&&l.a.x>=b.left-2&&l.a.x<=b.right+2})},"blockingRectsFor"),M=d((h,l,x)=>{const C=h.map(v=>({...v}));if(l.horizontal)C[l.index].y=x,C[l.index+1].y=x;else if(l.vertical)C[l.index].x=x,C[l.index+1].x=x;else return;const b=ue(xt(C));return at(b).length===b.length-1?b:void 0},"candidateByMovingRail"),u=d((h,l,x)=>{const C=[h.start,h.end].filter(v=>!!v),b=at(l);if(b.length!==l.length-1)return!1;for(const v of b)if(Pt(v.a,v.b,r,C,-2)||Pt(v.a,v.b,i,[],-2))return!1;for(const v of a)if(v!==h){for(const L of b)for(const y of at(c(v)))if(de(L,y,.5)>=Xt)return!1}return f(h,l)<=x},"candidateIsSafe");for(let h=0;h<8;h++){const l=f();let x=!1;for(const C of a){const b=c(C),v=g(b);if(!v)continue;const L=p(C,v.segment);if(L.length===0)continue;const y=v.horizontal?[Math.min(...L.map(I=>I.rect.top))-20,Math.max(...L.map(I=>I.rect.bottom))+20]:[Math.min(...L.map(I=>I.rect.left))-20,Math.max(...L.map(I=>I.rect.right))+20];for(const I of y){const E=M(b,v.segment,I);if(!(!E||!u(C,E,l))){C.points=E,x=!0;break}}if(x)break}if(!x)return}}d(zn,"liftObstacleHuggingSameSideRails");function Vn(t,e){const o=d(c=>{const f=c.groupTitleRect;if(!(!f||typeof f.left!="number"||typeof f.right!="number"||typeof f.top!="number"||typeof f.bottom!="number"||!Number.isFinite(f.left)||!Number.isFinite(f.right)||!Number.isFinite(f.top)||!Number.isFinite(f.bottom)||f.right<=f.left||f.bottom<=f.top))return{left:f.left,right:f.right,top:f.top,bottom:f.bottom}},"validTitleRect"),s=d(c=>{if(!c.isGroup||c.parentId)return;const f=c.direction,g=typeof f=="string"?f.toUpperCase():"";if(g==="LR"||g==="RL"||g==="BT")return;const p=o(c),M=c.y,u=c.height;if(!p||typeof M!="number"||typeof u!="number"||!Number.isFinite(M)||!Number.isFinite(u)||u<=0)return;const h=p.right-p.left,l=p.bottom-p.top;if(!(l<=0||h{if(!c.horizontal)return!1;const g=c.a.y;return g<=f.top+et||g>=f.bottom-et?!1:Wt(c.a.x,c.b.x,f.left,f.right)>=Xt},"horizontalSegmentIntersectsTitle"),i=[...e.values()].map(s).filter(c=>!!c);if(i.length===0)return;let a=0;for(const c of t){if(c.isLayoutOnly)continue;const f=xt(c.points??[]);for(const g of at(f))for(const p of i)r(g,p.rect)&&(a=Math.max(a,p.rect.bottom-g.a.y+4))}if(!(a<=et))for(const c of i){const f=c.node.y,g=c.node.height;typeof f!="number"||typeof g!="number"||!Number.isFinite(f)||!Number.isFinite(g)||g<=0||(c.node.y=f-a/2,c.node.height=g+a,c.node.groupTitleRect={...c.rect,top:c.rect.top-a,bottom:c.rect.bottom-a})}}d(Vn,"liftTopLaneTitleBandsAboveRails");function jn(t,e){const o=d(f=>{const g=f.groupTitleRect;if(!(!g||typeof g.left!="number"||typeof g.right!="number"||typeof g.top!="number"||typeof g.bottom!="number"||!Number.isFinite(g.left)||!Number.isFinite(g.right)||!Number.isFinite(g.top)||!Number.isFinite(g.bottom)||g.right<=g.left||g.bottom<=g.top))return{left:g.left,right:g.right,top:g.top,bottom:g.bottom}},"validTitleRect"),s=d(f=>{if(!f.isGroup||f.parentId||f.direction!=="LR")return;const p=o(f),M=f.x,u=f.width;if(!p||typeof M!="number"||typeof u!="number"||!Number.isFinite(M)||!Number.isFinite(u)||u<=0)return;const h=p.right-p.left,l=p.bottom-p.top;if(!(h<=0||l{if(!f.vertical)return!1;const p=f.a.x;return p<=g.left+et||p>=g.right-et?!1:Wt(f.a.y,f.b.y,g.top,g.bottom)>=Xt},"verticalSegmentIntersectsTitle"),i=d((f,g)=>{if(!f.horizontal)return!1;const p=f.a.y;return p<=g.top+et||p>=g.bottom-et?!1:Wt(f.a.x,f.b.x,g.left,g.right)>=Xt},"horizontalSegmentIntersectsTitle"),a=[...e.values()].map(s).filter(f=>!!f);if(a.length===0)return;let c=0;for(const f of t){if(f.isLayoutOnly)continue;const g=xt(f.points??[]);for(const p of at(g))for(const M of a)if(r(p,M.rect))c=Math.max(c,M.rect.right-p.a.x+4);else if(i(p,M.rect)){const u=Math.min(p.a.x,p.b.x);c=Math.max(c,M.rect.right-u+4)}}if(!(c<=et))for(const f of a){const g=f.node.x,p=f.node.width;typeof g!="number"||typeof p!="number"||!Number.isFinite(g)||!Number.isFinite(p)||p<=0||(f.node.x=g-c/2,f.node.width=p+c,f.node.groupTitleRect={...f.rect,left:f.rect.left-c,right:f.rect.right-c})}}d(jn,"shiftLeftLaneTitleBandsLeftOfRails");function Ls(t,e){const{realNodeRects:o}=Me(e.values()),s=t.filter(h=>!h.isLayoutOnly),r=d((h,l=new Map)=>xt(l.get(h)??h.points??[]),"replacementPointsFor"),i=d((h=new Map)=>{let l=0;for(let x=0;xs.reduce((l,x)=>l+oe(r(x,h)),0),"totalBends"),c=d(h=>{const l=r(h);if(l.length<4)return;const x=l[l.length-2],C=l[l.length-1];if(!(!Nt(x,C,et)&&!Ot(x,C,et)))return{tailStart:x,terminal:C}},"terminalTailFor"),f=d((h,l)=>{const x=r(h);if(x.length<3)return;const C=x[0],b=x[1];let v;if(Nt(C,b,et))v={x:b.x,y:l.tailStart.y};else if(Ot(C,b,et))v={x:l.tailStart.x,y:b.y};else return;const L=ue(xt([C,b,v,l.tailStart,l.terminal]));return at(L).length===L.length-1?L:void 0},"candidateWithDestinationTail"),g=d((h,l)=>{const x=[h.start,h.end].filter(C=>!!C);for(const C of at(l))if(Pt(C.a,C.b,o,x,-2))return!0;return!1},"pathHasNodeHit"),p=d((h,l,x)=>{for(const C of s)if(C!==h){for(const b of at(l))for(const v of at(r(C,x)))if(de(b,v,.5)>=Xt)return!0}return!1},"pathHasSharedTrack"),M=d((h,l,x)=>!g(h,l)&&!p(h,l,x),"candidateIsSafe"),u=d(()=>{const h=new Map;for(const l of s){const x=l.end;if(!x||!e.has(x)||r(l).length<4)continue;const b=h.get(x)??[];b.push(l),h.set(x,b)}return h},"edgesByDestination");for(let h=0;h<4;h++){const l=i();if(l===0)return;const x=a();let C,b=l,v=x;for(const L of u().values())for(let y=0;y=l||G>b||G===b&&j>=v||(C=P,b=G,v=j)}if(!C)return;for(const[L,y]of C)L.points=y}}d(Ls,"swapDestinationTerminalTailsToReduceCrossings");function Es(t,e){const{realNodeRects:r,labelNodeRects:i}=Me(e.values()),a=t.filter(L=>!L.isLayoutOnly),c=d((L,y=new Map)=>xt(y.get(L)??L.points??[]),"replacementPointsFor"),f=d((L=new Map)=>{let y=0;for(let I=0;Ia.reduce((y,I)=>y+oe(c(I,L)),0),"totalBends"),p=d(L=>{const y=L.start,I=L.end,E=y?e.get(y):void 0,A=I?e.get(I):void 0,B=E?te(E):void 0,O=A?te(A):void 0;return B&&O?{src:B,dst:O}:void 0},"endpointRectsFor"),M=d((L,y,I)=>{if(I.index<=0||I.index+1>=y.length-1)return;const E=p(L);if(E){if(I.vertical){const A=I.a.x,B=Math.min(E.src.left,E.dst.left),O=Math.max(E.src.right,E.dst.right),k=AO+et?"right":void 0;return k?{edge:L,points:y,segmentIndex:I.index,axis:"vertical",side:k,coord:A,min:Math.min(I.a.y,I.b.y),max:Math.max(I.a.y,I.b.y)}:void 0}if(I.horizontal){const A=I.a.y,B=Math.min(E.src.top,E.dst.top),O=Math.max(E.src.bottom,E.dst.bottom),k=AO+et?"bottom":void 0;return k?{edge:L,points:y,segmentIndex:I.index,axis:"horizontal",side:k,coord:A,min:Math.min(I.a.x,I.b.x),max:Math.max(I.a.x,I.b.x)}:void 0}}},"externalRailForSegment"),u=d(()=>{const L=[];for(const y of a){const I=c(y);for(const E of at(I)){const A=M(y,I,E);A&&L.push(A)}}return L},"collectExternalRails"),h=d((L,y)=>L.edge!==y.edge&&L.axis===y.axis&&L.side===y.side&&Wt(L.min,L.max,y.min,y.max)>=Xt,"railsInteract"),l=d(L=>{const y=[],I=new Set;for(const E of L){if(I.has(E))continue;const A=[E],B=[];for(I.add(E);A.length>0;){const O=A.pop();B.push(O);for(const k of L)!I.has(k)&&h(O,k)&&(I.add(k),A.push(k))}B.length>1&&y.push(B)}return y},"connectedComponents"),x=d(L=>{const y=[];for(const I of L)y.some(E=>Math.abs(E-I.coord){const y=L.map(A=>A.coord),I=x(L),E=[];if(L.length<=6){const A=new Array(I.length).fill(!1),B=[],O=d(()=>{if(B.length===L.length){B.some((k,H)=>Math.abs(k-y[H])>=et)&&E.push([...B]);return}for(const[k,H]of I.entries())A[k]||(A[k]=!0,B.push(H),O(),B.pop(),A[k]=!1)},"visit");return O(),E}for(let A=0;A{const I=new Map;for(const[A,B]of L.entries()){const O=y[A],k=I.get(B.edge)??B.points.map(H=>({x:H.x,y:H.y}));B.axis==="vertical"?(k[B.segmentIndex].x=O,k[B.segmentIndex+1].x=O):(k[B.segmentIndex].y=O,k[B.segmentIndex+1].y=O),I.set(B.edge,k)}const E=new Map;for(const[A,B]of I){const O=ue(xt(B));if(at(O).length!==O.length-1)return;E.set(A,O)}return E},"replacementsForAssignment"),v=d(L=>{for(const[y,I]of L){const E=[y.start,y.end].filter(A=>!!A);for(const A of at(I))if(Pt(A.a,A.b,r,E,-2)||Pt(A.a,A.b,i,[],-2))return!1}for(let y=0;y=Xt)return!1}}return!0},"candidateIsSafe");for(let L=0;L<4;L++){const y=f();if(y===0)return;let I,E=y,A=g(),B=Number.POSITIVE_INFINITY;for(const O of l(u()))for(const k of C(O)){const H=b(O,k);if(!H||!v(H))continue;const P=f(H);if(P>=y)continue;const G=g(H),j=O.reduce((tt,ft,Mt)=>tt+Math.abs(k[Mt]-ft.coord),0);P>E||P===E&&(G>A||G===A&&j>=B)||(I=H,E=P,A=G,B=j)}if(!I)return;for(const[O,k]of I)O.points=k}}d(Es,"reassignCrossingExternalRailChannels");function Ts(t,e){const{realNodeRects:o,labelNodeRects:s}=Me(e.values()),r=t.filter(u=>!u.isLayoutOnly),i=d((u,h,l)=>xt(u===h?l??[]:u.points??[]),"pointsFor"),a=d(u=>at(u).reduce((h,l)=>{const x=l.a.x-l.b.x,C=l.a.y-l.b.y;return h+Math.hypot(x,C)},0),"pathLength"),c=d((u,h)=>{let l=0;for(let x=0;x{if(u.horizontal){const l=u.a.y;return(Math.abs(l-h.top)<1||Math.abs(l-h.bottom)<1)&&Wt(u.a.x,u.b.x,h.left,h.right)>=Xt}if(u.vertical){const l=u.a.x;return(Math.abs(l-h.left)<1||Math.abs(l-h.right)<1)&&Wt(u.a.y,u.b.y,h.top,h.bottom)>=Xt}return!1},"segmentRunsAlongRectBorder"),g=d(u=>{const h=[u.start,u.end].filter(x=>!!x),l=[];for(const x of h){const C=e.get(x),b=C?te(C):void 0;b&&l.push(b)}return l},"endpointRectsFor"),p=d((u,h)=>{if(h+3>=u.length)return[];const l=u[h],x=u[h+1],C=u[h+2],b=u[h+3],v=Nt(l,x,et)&&Ot(x,C,et)&&Nt(C,b,et),L=Ot(l,x,et)&&Nt(x,C,et)&&Ot(C,b,et);if(!v&&!L)return[];if(!(v?Math.sign(x.x-l.x)!==Math.sign(b.x-C.x):Math.sign(x.y-l.y)!==Math.sign(b.y-C.y)))return[];const I=gt(l,b,et)||yt(l,b,et)?[]:[{x:l.x,y:b.y},{x:b.x,y:l.y}],E=I.length===0?[[...u.slice(0,h+1),...u.slice(h+3)]]:I.map(B=>[...u.slice(0,h+1),B,...u.slice(h+3)]),A=new Set;return E.map(B=>ue(xt(B))).filter(B=>{if(at(B).length!==B.length-1||!B.some(k=>ce(k,b,et)))return!1;const O=B.map(k=>`${k.x.toFixed(3)},${k.y.toFixed(3)}`).join("|");return A.has(O)?!1:(A.add(O),!0)})},"shortcutCandidatesAt"),M=d((u,h,l)=>{const x=[u.start,u.end].filter(b=>!!b),C=g(u);for(const b of at(h))if(Pt(b.a,b.b,o,x,-2)||Pt(b.a,b.b,s,[],-2)||C.some(v=>f(b,v)))return!1;for(const b of r)if(b!==u){for(const v of at(h))for(const L of at(i(b)))if(de(v,L,.5)>=Xt)return!1}return c(u,h)<=l},"candidateIsSafe");for(let u=0;u<8;u++){const h=c();let l,x,C=h,b=Number.POSITIVE_INFINITY,v=Number.POSITIVE_INFINITY;for(const L of r){const y=i(L),I=oe(y,et),E=a(y);for(let A=0;A<=y.length-4;A++)for(const B of p(y,A)){const O=oe(B,et),k=a(B);if(!(OC||P===C&&(O>b||O===b&&k>=v)||(l=L,x=B,C=P,b=O,v=k)}}if(!l||!x)return;l.points=x}}d(Ts,"shortcutRedundantOrthogonalJogs");function ws(t,e){const i=[];for(const R of e.values()){if(R.isGroup||R.isEdgeLabel)continue;const _=R.x??0,F=R.y??0,V=te(R);V&&i.push({id:String(R.id??""),cx:_,cy:F,rect:V})}if(i.length===0)return;const a=new Map(i.map(R=>[R.id,R])),c=i.map(R=>({id:R.id,rect:R.rect})),f=["top","bottom","left","right"],g={top:Math.min(...i.map(R=>R.rect.top))-20,bottom:Math.max(...i.map(R=>R.rect.bottom))+20,left:Math.min(...i.map(R=>R.rect.left))-20,right:Math.max(...i.map(R=>R.rect.right))+20},p=t.filter(R=>!R.isLayoutOnly),M=new Map(p.map((R,_)=>[R,_])),u=d(R=>{const _=R==="left"||R==="top"?-1:1,F=[];for(let V=0;V<=2;V++)F.push(g[R]+_*20*V);return F},"outwardTracksForSide"),h=d((R,_=new Map)=>xt(_.get(R)??R.points??[]),"replacementPointsFor"),l=d((R,_)=>{let F=0;for(const V of R)for(const K of _)he(V.a,V.b,K.a,K.b,et)&&F++;return F},"crossingCountBetweenSegments"),x=d((R,_)=>l(at(R),at(_)),"crossingCountBetweenPaths"),C=d((R=new Map)=>{let _=0;const F=[],V=new Set,K=[],Z=d(Y=>{V.has(Y)||(V.add(Y),K.push(Y))},"addEdge");for(let Y=0;Y0&&(_+=T,F.push({first:q,second:w,count:T}),Z(q),Z(w))}}return K.sort((Y,q)=>(M.get(Y)??0)-(M.get(q)??0)),{count:_,pairs:F,edgeSet:V,edges:K}},"crossingSnapshot"),b=d((R,_)=>{const F=new Set(_.keys());if(F.size===0)return R.count;let V=0;for(const Z of R.pairs)(F.has(Z.first)||F.has(Z.second))&&(V+=Z.count);let K=0;for(let Z=0;Z{const _=new Map;for(const K of R.pairs){const Z=_.get(K.first)??new Set;Z.add(K.second),_.set(K.first,Z);const Y=_.get(K.second)??new Set;Y.add(K.first),_.set(K.second,Y)}const F=[],V=new Set;for(const K of R.edges){if(V.has(K))continue;const Z=[K],Y=[];for(V.add(K);Z.length>0;){const q=Z.pop();Y.push(q);for(const m of _.get(q)??[])V.has(m)||(V.add(m),Z.push(m))}Y.sort((q,m)=>(M.get(q)??0)-(M.get(m)??0)),Y.length>1&&F.push(Y)}return F},"crossingComponents"),L=d(R=>[R.start,R.end].filter(_=>!!_),"endpointIdsFor"),y=d(R=>{const _=[];for(const F of v(R)){const V=new Set(F),K=new Set(F.flatMap(Y=>L(Y))),Z=[...F];for(const Y of p)V.has(Y)||L(Y).some(q=>K.has(q))&&Z.push(Y);Z.sort((Y,q)=>(M.get(Y)??0)-(M.get(q)??0)),_.push(Z)}return _},"pairSearchGroups"),I=d((R,_,F)=>b(R,new Map([[_,F]])),"crossingCountWithSingleReplacement"),E=d(R=>{const _=new Map;for(const F of R.pairs)_.set(F.first,(_.get(F.first)??0)+F.count),_.set(F.second,(_.get(F.second)??0)+F.count);return _},"currentCrossingsByEdge"),A=d(R=>R.slice(1).reduce((_,F,V)=>{const K=R[V];return _+Math.abs(F.x-K.x)+Math.abs(F.y-K.y)},0),"pathLength"),B=d((R=new Map)=>p.reduce((_,F)=>_+oe(h(F,R)),0),"totalBends"),O=d((R=new Map)=>p.reduce((_,F)=>_+A(h(F,R)),0),"totalLength"),k=d((R,_,F=new Map)=>{const V=at(_);for(const K of p)if(K!==R){for(const Z of V)for(const Y of at(h(K,F)))if(de(Z,Y,.5)>=Xt)return!0}return!1},"pathHasSegmentConflict"),H=d((R,_)=>{const F=[R.start,R.end].filter(V=>!!V);for(const V of at(_))if(Pt(V.a,V.b,c,F,-2))return!0;return!1},"pathHitsNode"),P=d((R,_)=>{const F=ue(xt(_));at(F).length===F.length-1&&R.push(F)},"pushOrthogonalCandidate"),G=d(R=>R==="left"||R==="right","sideIsHorizontal"),j=d((R,_,F)=>{switch(_){case"left":return Math.min(R.x,F.x)-20;case"right":return Math.max(R.x,F.x)+20;case"top":return Math.min(R.y,F.y)-20;case"bottom":return Math.max(R.y,F.y)+20}},"localTrackForSameSide"),tt=d((R,_,F,V)=>{const K=F==="left"||F==="top"?-1:1,Z=[j(_,F,V),g[F]];for(const Y of Z)for(let q=0;q<=2;q++)P(R,ho(_,F,V,Y+K*20*q))},"addSameSideCandidates"),ft=d((R,_,F,V,K)=>{for(const Z of u(F))for(const Y of u(K))P(R,[_,{x:Z,y:_.y},{x:Z,y:Y},{x:V.x,y:Y},V])},"addHorizontalToVerticalCandidates"),Mt=d((R,_,F,V,K)=>{for(const Z of u(F))for(const Y of u(K))P(R,[_,{x:_.x,y:Z},{x:Y,y:Z},{x:Y,y:V.y},V])},"addVerticalToHorizontalCandidates"),Ht=d((R,_,F,V,K)=>{const Z=[...u("top"),...u("bottom")];for(const Y of u(F))for(const q of u(K))for(const m of Z)P(R,[_,{x:Y,y:_.y},{x:Y,y:m},{x:q,y:m},{x:q,y:V.y},V])},"addHorizontalPairCandidates"),Ft=d((R,_,F,V,K)=>{const Z=[...u("left"),...u("right")];for(const Y of u(F))for(const q of u(K))for(const m of Z)P(R,[_,{x:_.x,y:Y},{x:m,y:Y},{x:m,y:q},{x:V.x,y:q},V])},"addVerticalPairCandidates"),nt=d(R=>{const _=new Set;return R.map(F=>xt(F)).filter(F=>{const V=F.map(K=>`${K.x.toFixed(3)},${K.y.toFixed(3)}`).join("|");return _.has(V)||F.length<2?!1:(_.add(V),!0)})},"dedupeCandidatePaths"),J=d((R,_,F,V)=>{const K=[],Z=uo(R,_,F,V,20,et);Z&&P(K,Z),_===V&&tt(K,R,_,F);const Y=G(_),q=G(V);return Y&&!q?ft(K,R,_,F,V):!Y&&q?Mt(K,R,_,F,V):Y?Ht(K,R,_,F,V):Ft(K,R,_,F,V),nt(K)},"buildCandidatesForSides"),rt=d((R,_,F,V)=>{const K=[...u("left"),...u("right")],Z=[...u("top"),...u("bottom")];for(const Y of f){const q=Le(V,Y),m=Y==="top"||Y==="bottom"?u(Y):Z;for(const S of K){P(R,[_,F,{x:S,y:F.y},{x:S,y:q.y},q]);for(const w of m)P(R,[_,F,{x:S,y:F.y},{x:S,y:w},{x:q.x,y:w},q])}}},"addVerticalDepartureOuterTrackCandidates"),ut=d((R,_,F,V)=>{const K=[...u("left"),...u("right")],Z=[...u("top"),...u("bottom")];for(const Y of f){const q=Le(V,Y),m=Y==="left"||Y==="right"?u(Y):K;for(const S of Z){P(R,[_,F,{x:F.x,y:S},{x:q.x,y:S},q]);for(const w of m)P(R,[_,F,{x:F.x,y:S},{x:w,y:S},{x:w,y:q.y},q])}}},"addHorizontalDepartureOuterTrackCandidates"),pt=d(R=>{const _=R.start,F=R.end,V=F?a.get(F):void 0;if(!_||!V)return[];const K=xt(R.points??[]);if(K.length<4)return[];const Z=K[0],Y=K[1],q=[];return Ot(Z,Y,et)?rt(q,Z,Y,V):Nt(Z,Y,et)&&ut(q,Z,Y,V),q},"terminalPreservingOuterTrackCandidates"),St=d(R=>{const _=R.start,F=R.end,V=_?a.get(_):void 0,K=F?a.get(F):void 0;if(!V||!K)return[];const Z=[];for(const Y of f){const q=Le(V,Y);for(const m of f)Z.push(...J(q,Y,Le(K,m),m))}return Z.push(...pt(R)),Z},"candidatePathsFor"),wt=d(()=>new Map(p.map(R=>[R,at(h(R))])),"currentSegmentsByEdge"),Kt=d((R,_,F)=>{const V=new Set;for(const K of p){if(K===R)continue;const Z=F.get(K)??at(h(K));_.some(Y=>Z.some(q=>de(Y,q,.5)>=Xt))&&V.add(K)}return V},"sharedTrackConflictsFor"),qt=d((R,_,F,V)=>{const K=new Set;return St(R).map(Y=>ue(xt(Y))).filter(Y=>{if(H(R,Y))return!1;const q=Y.map(m=>`${m.x.toFixed(3)},${m.y.toFixed(3)}`).join("|");return K.has(q)||Y.length<2?!1:(K.add(q),!0)}).map(Y=>{const q=at(Y);let m=0;for(const S of p)S!==R&&(m+=l(q,F.get(S)??at(h(S))));return{candidate:Y,candidateSegments:q,crossings:_.count-(V.get(R)??0)+m,bends:oe(Y,et),totalBends:oe(Y),length:A(Y)}}).filter(({crossings:Y})=>Y<=_.count).sort((Y,q)=>Y.crossings-q.crossings||Y.bends-q.bends||Y.length-q.length).slice(0,48).map(Y=>({path:Y.candidate,segments:Y.candidateSegments,sharedTrackConflicts:Kt(R,Y.candidateSegments,F),totalBends:Y.totalBends,length:Y.length}))},"pairCandidatesFor"),Jt=d((R,_,F,V,K,Z)=>{let Y=0;for(const m of R.pairs)(m.first===_||m.second===_||m.first===V||m.second===V)&&(Y+=m.count);let q=l(F.segments,K.segments);for(const m of p){if(m===_||m===V)continue;const S=Z.get(m)??at(h(m));q+=l(F.segments,S)+l(K.segments,S)}return R.count-Y+q},"pairCrossingCount"),se=d((R,_)=>{for(const F of R.sharedTrackConflicts)if(F!==_)return!1;return!0},"conflictsOnlyWith"),Ee=d((R,_)=>R.segments.some(F=>_.segments.some(V=>de(F,V,.5)>=Xt)),"candidatesShareTrack"),me=d((R,_,F,V)=>se(_,F.edge)&&se(V,R.edge)&&!Ee(_,V),"pairCandidatesAreCompatible"),Te=d((R,_,F,V,K)=>{const Z=Jt(R.current,_.edge,F,V.edge,K,R.baseSegments);if(!(Z>=R.current.count))return{replacements:new Map([[_.edge,F.path],[V.edge,K.path]]),crossings:Z,bends:R.currentBends-(R.baseBendsByEdge.get(_.edge)??0)-(R.baseBendsByEdge.get(V.edge)??0)+F.totalBends+K.totalBends,length:R.currentLength-(R.baseLengthByEdge.get(_.edge)??0)-(R.baseLengthByEdge.get(V.edge)??0)+F.length+K.length}},"scorePairReplacement"),mn=d((R,_)=>R.crossings<_.crossings||R.crossings===_.crossings&&(R.bends<_.bends||R.bends===_.bends&&R.length<_.length),"pairScoreIsBetter"),yn=d((R,_,F,V)=>{let K=V;for(const Z of _.candidates)for(const Y of F.candidates){if(!me(_,Z,F,Y))continue;const q=Te(R,_,Z,F,Y);q&&mn(q,K)&&(K=q)}return K},"bestScoreForOptionPair"),pn=d(R=>{const _=B(),F=O(),V=wt(),K=E(R),Z=new Map(p.map(T=>[T,oe(h(T))])),Y=new Map(p.map(T=>[T,A(h(T))])),q=new Map,m=y(R);for(const T of m)for(const N of T){if(q.has(N))continue;const D=qt(N,R,V,K);D.length>0&&q.set(N,{edge:N,candidates:D})}let S={replacements:new Map,crossings:R.count,bends:_,length:F};const w={current:R,currentBends:_,currentLength:F,baseBendsByEdge:Z,baseLengthByEdge:Y,baseSegments:V};for(const T of m){const N=new Set(T.filter(W=>R.edgeSet.has(W))),D=T.map(W=>q.get(W)).filter(W=>!!W);for(let W=0;W0?S.replacements:void 0},"bestPairedReplacement");for(let R=0;R<4;R++){const _=C(),F=_.count;if(F===0)return;let V,K,Z=F,Y=Number.POSITIVE_INFINITY;for(const m of _.edges){const S=oe(h(m),et);for(const w of St(m)){const T=H(m,w),N=!T&&k(m,w),D=I(_,m,w),W=oe(w,et);T||N||!(DZ||D===Z&&W>=Y||(V=m,K=w,Z=D,Y=W)}}if(V&&K){V.points=K;continue}const q=pn(_);if(!q)return;for(const[m,S]of q)m.points=S}}d(ws,"resolveRenderedOrthogonalCrossings");var be=.001,Zr=8;function As(t,e){const{nodeInfoById:n,realNodeRects:o}=un(e),s=["top","bottom","left","right"],r=20,i={top:Math.min(...o.map(l=>l.rect.top))-r,bottom:Math.max(...o.map(l=>l.rect.bottom))+r,left:Math.min(...o.map(l=>l.rect.left))-r,right:Math.max(...o.map(l=>l.rect.right))+r},a=d((l,x,C,b)=>{const v=[],L=uo(l,x,C,b,r,be);return L&&v.push(L),x===b&&v.push(ho(l,x,C,i[x])),v},"buildOrthogonalPathCandidates"),c=d((l,x)=>{for(let C=0;C{let b=0;const v=Be(l,be),L=x.start,y=x.end;for(const I of t){if(I===x||I.isLayoutOnly)continue;const E=I.start,A=I.end;if(!C&&L&&y&&(E===L||E===y||A===L||A===y))continue;const B=I.points;if(!(!B||B.length<2))for(const O of v)for(const k of Be(B,be)){if(mo(O.a,O.b,k.a,k.b,be,be)){b++;continue}de(O,k,be)>=Zr&&b++}}return b},"pathConflictCount"),g=4,p=d((l,x)=>{const C=Math.abs(l.y-x.rect.top),b=Math.abs(l.y-x.rect.bottom),v=Math.abs(l.x-x.rect.left),L=Math.abs(l.x-x.rect.right);let y="top",I=C;return b{const b=M.get(l)??[];b.push({side:x,edgeId:C}),M.set(l,b)},"addFaceClaim");for(const l of t){if(l.isLayoutOnly)continue;const x=l.points??[];if(x.length<1)continue;const C=l.id??"",b=l.start,v=l.end;if(b){const L=n.get(b);L&&u(b,p(x[0],L),C)}if(v){const L=n.get(v);L&&u(v,p(x[x.length-1],L),C)}}const h=d((l,x,C)=>{var b;return((b=M.get(l))==null?void 0:b.some(v=>v.edgeId!==C&&v.side===x))??!1},"faceIsClaimed");for(const l of t){if(l.isLayoutOnly)continue;const x=l.points;if(!x||x.length<2)continue;const C=oe(x,be);if(C0){const Mt=f(tt,l,!0);if(Mt>O||Mt===O&&ft>=k)continue;O=Mt,k=ft,B=tt;continue}f(tt,l)>A||ftG.edgeId!==I));const P=M.get(v);P&&M.set(v,P.filter(G=>G.edgeId!==I)),u(b,p(B[0],L),I),u(v,p(B[B.length-1],y),I)}}}d(As,"simplifyDetouredEdges");var Qt=.001,Fo=10,Ke=7;function Un(t,e){const n=e?0:t.length-1,o=e?1:-1,s=t[n],r=t[n+o];if(!s||!r)return;const i=r.x-s.x,a=r.y-s.y;if(!(Math.abs(i)+Math.abs(a)r&&en(t,Rs(r)))}d(Wn,"labelOverlapsOwnMarker");function Je(t,e){const n=[];for(const h of t){if(h.isLayoutOnly)continue;const l=h.points;if(!(!l||l.length<2))for(let x=0;x{const x=Nn(l,r);for(const{nodeId:C,rect:b}of o)if(C!==h&&en(x,b))return!0;return!1},"labelOverlapsForeignNode"),f=d((h,l)=>{const x=Nn(l,r);for(const C of n)if(C.edgeId!==h&&dn(C.p1,C.p2,x))return!0;return!1},"labelOverlapsForeignEdge"),g=d((h,l,x)=>c(h,x)||f(l,x),"labelOverlapsAnything"),p=[],M=d(h=>{for(const{id:l,rect:x}of s)if(ss(x,h))return l},"findContainingLane"),u=d((h,l)=>p.some(x=>x.labelId!==h&&en(l,x.rect)),"overlapsPlacedLabel");for(const h of t){if(h.isLayoutOnly)continue;const l=h.labelNodeId;if(!l)continue;const x=e.get(l);if(!x)continue;const C=h.points;if(!C||C.length<2)continue;const b=x.width??0,v=x.height??0;if(b<=0||v<=0)continue;const L=[];for(let nt=0;nt=Qt&&pt>=Qt||L.push({idx:nt,length:ut+pt,orientation:ut>=Qt?"horizontal":"vertical",midX:(J.x+rt.x)/2,midY:(J.y+rt.y)/2})}if(L.length===0)continue;const y=L.length>=3?L.filter(nt=>nt.idx>0&&nt.idx0?y:L,E=b>=v?"horizontal":"vertical",A=d(nt=>[...nt].sort((J,rt)=>{const ut=J.orientation===E,pt=rt.orientation===E;if(ut!==pt)return ut?-1:1;const St=J.length>=(J.orientation==="horizontal"?b:v)+2,wt=rt.length>=(rt.orientation==="horizontal"?b:v)+2;return St!==wt?St?-1:1:rt.length-J.length}),"rankSegments"),B=L[0],O=L[L.length-1],k=[.5,.25,.75,.05,.95,.15,.85,.1,.9],H=d((nt,J)=>{const rt=C[nt.idx],ut=C[nt.idx+1];return{midX:rt.x+(ut.x-rt.x)*J,midY:rt.y+(ut.y-rt.y)*J}},"anchorAtT"),P=d((nt,J,rt)=>Math.min(rt,Math.max(J,nt)),"clamp"),G=d((nt,J)=>nt.midX>=J.left-Qt&&nt.midX<=J.right+Qt&&nt.midY>=J.top-Qt&&nt.midY<=J.bottom+Qt,"pointInsideRectInclusive"),j=d(nt=>{const J=Pe(nt.midX,nt.midY,b,v),rt=M(J);if(rt)return{laneId:rt,anchor:nt,rect:J};const ut=s.find(({rect:se})=>G(nt,se));if(!ut)return;const pt=ut.rect.left+b/2+i,St=ut.rect.right-b/2-i,wt=ut.rect.top+v/2+i,Kt=ut.rect.bottom-v/2-i;if(pt>St||wt>Kt)return;const qt={midX:P(nt.midX,pt,St),midY:P(nt.midY,wt,Kt)},Jt=Pe(qt.midX,qt.midY,b,v);return G(nt,Jt)?{laneId:ut.id,anchor:qt,rect:Jt}:void 0},"placementForAnchor"),tt=d((nt,J,rt)=>nt.orientation==="horizontal"?Math.abs(J.midX-rt.x):Math.abs(J.midY-rt.y),"distanceAlongSegment"),ft=d((nt,J)=>{const ut=(nt.orientation==="horizontal"?b/2:v/2)+a;if(nt===B){const pt=C[nt.idx];if(tt(nt,J,pt)+Qt{const J=A(nt);for(const rt of J)for(const ut of k){const pt=H(rt,ut);if(!ft(rt,pt))continue;const St=j(pt);if(St&&!Wn(St.rect,C)&&!u(l,St.rect)&&!g(l,h.id,St.rect))return{laneId:St.laneId,anchor:St.anchor}}},"tryPool"),Ht=d((nt,J,rt=!1)=>{const ut=A(nt);for(const pt of ut){const St={midX:pt.midX,midY:pt.midY};if(J&&!ft(pt,St))continue;const wt=j(St);if(wt&&!Wn(wt.rect,C)&&!u(l,wt.rect)&&!c(l,wt.rect)&&(rt||!f(h.id,wt.rect)))return{laneId:wt.laneId,anchor:wt.anchor}}},"findLaneContainingFallback"),Ft=Mt(I)??(I.lengthrt.labelId===l);J>=0?p[J]={labelId:l,rect:nt}:p.push({labelId:l,rect:nt})}}}d(Je,"anchorLabelsToPolyline");var En=1e-6,Qr=8,Do=Qr/2,ti=3;function Kn(t,e){return t{const g=Kn(a,c);let p=0;const M=d(u=>{if(!u)return;const h=s.get(u);if(!h)return;const l=f==="x"?h.w/2:h.h/2;l>p&&(p=l)},"consider");M(i.labelNodeId);for(const u of t){if(u===i||u.isLayoutOnly)continue;const h=u.start,l=u.end;!h||!l||Kn(h,l)===g&&M(u.labelNodeId)}return p>0?p+ti:0},"labelClearanceFor");for(const i of t){if(i.isLayoutOnly)continue;const a=i.points;if(!lo(a,En))continue;const c=go(i,n,En);if(!c)continue;const{srcId:f,dstId:g,srcInfo:p,dstInfo:M,collinearX:u,collinearY:h}=c;if(u===h)continue;let l,x;if(u){const y=M.cy>p.cy;l={x:p.cx,y:y?p.rect.bottom:p.rect.top},x={x:M.cx,y:y?M.rect.top:M.rect.bottom}}else{const y=M.cx>p.cx;l={x:y?p.rect.right:p.rect.left,y:p.cy},x={x:y?M.rect.left:M.rect.right,y:M.cy}}if(Pt(l,x,o,[f,g],1))continue;const b=r(i,f,g,u?"x":"y"),v=b>Do?b:Do,L=[0,v,-v];for(const y of L){const I={...l},E={...x};if(u){if(I.x+=y,E.x+=y,I.x<=p.rect.left||I.x>=p.rect.right||E.x<=M.rect.left||E.x>=M.rect.right)continue}else if(I.y+=y,E.y+=y,I.y<=p.rect.top||I.y>=p.rect.bottom||E.y<=M.rect.top||E.y>=M.rect.bottom)continue;if(!Pt(I,E,o,[f,g],1)&&!nn(I,E,t,i,{epsilon:En})){i.points=[I,E];break}}}}d(Ns,"straightenCollinearSiblingDetours");function qn(t,e){const{realNodeRects:c,labelNodeRects:f}=Me(e.values()),g=d((y,I)=>Be(I,.001).map(E=>({...E,edge:y,interior:E.index>=1&&E.index<=I.length-3})),"segmentsFor"),p=d(()=>{const y=[];for(const I of t){if(I.isLayoutOnly)continue;const E=I.points;!E||E.length<2||y.push(...g(I,xt(E)))}return y},"allSegments"),M=d((y,I)=>y.horizontal&&I.horizontal?Wt(y.a.x,y.b.x,I.a.x,I.b.x)>=8&&Math.abs(y.a.y-I.a.y)<7:y.vertical&&I.vertical?Wt(y.a.y,y.b.y,I.a.y,I.b.y)>=8&&Math.abs(y.a.x-I.a.x)<7:!1,"hasCrowdedParallelTrack"),u=d((y,I)=>{const E=y.start,A=y.end,B=g(y,I);if(B.length!==I.length-1)return!1;const O=[E,A].filter(H=>!!H),k=y.labelNodeId?[y.labelNodeId]:[];for(const H of B)if(Pt(H.a,H.b,c,O,-2)||Pt(H.a,H.b,f,k,-2))return!1;for(const H of t){if(H===y||H.isLayoutOnly)continue;const P=H.points;if(!(!P||P.length<2)){for(const G of B)for(const j of g(H,xt(P)))if(M(G,j)||he(G.a,G.b,j.a,j.b,.001))return!1}}return!0},"candidateIsSafe"),h=d((y,I)=>{const E=xt(y.edge.points??[]);if(E.length<4||y.index>=E.length-1)return;const A=E.map(B=>({...B}));if(y.horizontal)A[y.index].y+=I,A[y.index+1].y+=I;else if(y.vertical)A[y.index].x+=I,A[y.index+1].x+=I;else return;return g(y.edge,A).length===A.length-1?A:void 0},"shiftedCandidate"),l=d((y,I)=>({x:y.x??(I.left+I.right)/2,y:y.y??(I.top+I.bottom)/2}),"nodeCenter"),x=d(y=>{const I=y.edge,E=xt(I.points??[]);if(E.length!==4||y.index!==1)return;const A=I.start?e.get(I.start):void 0,B=I.end?e.get(I.end):void 0,O=A?te(A):void 0,k=B?te(B):void 0,H=E.slice(y.index+2);if(!(!A||!B||!O||!k||H.length===0))return{sourceCenter:l(A,O),targetCenter:l(B,k),sourceRect:O,tail:H}},"sourceDetourContextFor"),C=d((y,I,E,A,B,O)=>{const k=A.y>=E.y,H=k?B.bottom:B.top,P=H+(k?20:-20);if(k&&y.b.y<=P+.001||!k&&y.b.y>=P-.001)return;const G=y.a.x+I;return xt([{x:E.x,y:H},{x:E.x,y:P},{x:G,y:P},{x:G,y:y.b.y},...O],.001)},"verticalSourceDetour"),b=d((y,I,E,A,B,O)=>{const k=A.x>=E.x,H=k?B.right:B.left,P=H+(k?20:-20);if(k&&y.b.x<=P+.001||!k&&y.b.x>=P-.001)return;const G=y.a.y+I;return xt([{x:H,y:E.y},{x:P,y:E.y},{x:P,y:G},{x:y.b.x,y:G},...O],.001)},"horizontalSourceDetour"),v=d((y,I)=>{const E=x(y);if(E){if(y.vertical)return C(y,I,E.sourceCenter,E.targetCenter,E.sourceRect,E.tail);if(y.horizontal)return b(y,I,E.sourceCenter,E.targetCenter,E.sourceRect,E.tail)}},"sourceDetourCandidate"),L=[-7,7,-2*7,2*7,-3*7,3*7];for(let y=0;y<12;y++){const I=p();let E=!1;for(let A=0;AP.interior);for(const P of H){for(const G of L){const j=h(P,G);if(j&&u(P.edge,j)){P.edge.points=j,E=!0;break}const tt=v(P,G);if(tt&&u(P.edge,tt)){P.edge.points=tt,E=!0;break}}if(E)break}}if(!E)return}}d(qn,"nudgeSharedInteriorSubpaths");function Os(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,i=o.x-n.x,a=o.y-n.y,c=s*a-r*i;if(Math.abs(c)<1e-10)return!1;const f=n.x-t.x,g=n.y-t.y,p=(f*a-g*i)/c,M=(f*r-g*s)/c,u=.01;return p>u&&p<1-u&&M>u&&M<1-u}d(Os,"segmentsIntersect");function Ps(t){const e=t.nodes??[],n=t.edges??[],o=[];if(!n.length||!e.length)return o;const s=rs(e),r=[];for(const a of n){if(a.isLayoutOnly)continue;const c=a.points;if(!c||c.length<2)continue;const f=a.start,g=a.end,p=a.labelNodeId,M=a.id??`${f}->${g}`;for(const u of s)if(!(u.nodeId===f||u.nodeId===g)&&!(p&&u.nodeId===p)){for(let h=0;h0){const a=o.filter(f=>f.type==="edge-node-overlap").length,c=o.filter(f=>f.type==="edge-edge-crossing").length;Qe.warn(`[SWIMLANE_VALIDATE] ${o.length} issue(s) detected: ${a} edge-node overlap(s), ${c} edge crossing(s)`);for(const f of o)Qe.warn(`[SWIMLANE_VALIDATE] ${f.type}: ${f.detail}`)}return o}d(Ps,"validateSwimlanesLayout");function Bs(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(a=>!a.isGroup);if((e==="LR"||e==="RL")&&s.length>0&&!Ms(t,e)||e==="BT"&&s.length>0&&!bs(t))return;for(const a of o){if(a.isLayoutOnly)continue;const c=a.points;!c||c.length<2||(a.points=ue(on(c)))}As(o,n),Ns(o,n),Is(o,n);const r=new Map;for(const a of n)r.set(String(a.id),a);Je(o,r),fs(o,r),Ss(o,r),qn(o,r),Cs(o,r),vs(o,r),zn(o,r),Ls(o,r);const i=d(()=>{ws(o,r),Es(o,r),Ts(o,r),Je(o,r),Gn(o,r),zn(o,r),Je(o,r),Gn(o,r)},"finalizeRenderedEdges");i(),qn(o,r),i(),Vn(o,r),jn(o,r),Vn(o,r),jn(o,r)}d(Bs,"postProcessSwimlaneLayout");function Ie(t){const e=new Map(t.nodeById),n=new Set,o=[];for(const r of t.edges){if(!e.has(r.src)||!e.has(r.dst))continue;const i=`${r.id}:${r.src}->${r.dst}`;n.has(i)||(n.add(i),o.push(r))}return{nodes:[...e.keys()],edges:o,layout:t.layout,nodeById:e}}d(Ie,"normalizeGraph");function Mo(t,e){return t.edges.filter(n=>n.dst===e)}d(Mo,"incoming");function ks(t){const e=new Map;for(const n of t.nodes)e.set(n,[]);for(const n of t.edges)e.get(n.src).push(n.dst);return e}d(ks,"buildSuccessorMap");function Io(t){const e=ks(t);for(const n of e.values())n.sort((o,s)=>o.localeCompare(s));return e}d(Io,"buildSortedSuccessorMap");function So(t){const e=new Map;for(const n of t.nodes)e.set(n,0);for(const n of t.edges)e.set(n.dst,(e.get(n.dst)??0)+1);return e}d(So,"buildInDegreeMap");function Co(t){return[...t.entries()].filter(([,e])=>e===0).map(([e])=>e).sort((e,n)=>e.localeCompare(n))}d(Co,"sortedZeroInDegreeNodes");function hn(t,e=()=>!0){const n=new Map,o=new Map;for(const s of t.nodes)n.set(s,[]),o.set(s,[]);for(const s of t.edges)e(s)&&(o.get(s.src).push(s.dst),n.get(s.dst).push(s.src));return{preds:n,succs:o}}d(hn,"buildPredecessorSuccessorMaps");function vo(t,e,n,o){var i,a;let s=0;for(const c of t.nodes)o!=null&&o.skipGroups&&((i=t.nodeById.get(c))!=null&&i.isGroup)||(s=Math.max(s,n[c]??0));const r=Array.from({length:s+1},()=>[]);for(const c of e)o!=null&&o.skipGroups&&((a=t.nodeById.get(c))!=null&&a.isGroup)||r[Math.max(0,n[c]??0)].push(c);return r}d(vo,"buildLayersFromRanks");function De(t){const e=So(t),n=Co(e),o=[],s=Io(t);for(;n.length;){const r=n.shift();o.push(r);for(const i of s.get(r)??[])if(e.set(i,(e.get(i)??0)-1),(e.get(i)??0)===0){let a=0;for(;a{if(s-o<=1)return 0;const r=o+s>>1;let i=n(o,r)+n(r,s),a=o,c=r,f=o;for(;a=s||ap.dst===M.dst?p.id.localeCompare(M.id):p.dst.localeCompare(M.dst));const o=Object.create(null);for(const g of e.nodes)o[g]=0;const s=[],r=d(g=>{o[g]=1;for(const p of n.get(g)??[]){const M=p.dst;o[M]===0?r(M):o[M]===1&&s.push(p)}o[g]=2},"dfs"),i=[...e.nodes].sort((g,p)=>g.localeCompare(p));for(const g of i)o[g]===0&&r(g);const a=new Set(s.map(g=>`${g.id}:${g.src}->${g.dst}`)),c=e.edges.map(g=>a.has(`${g.id}:${g.src}->${g.dst}`)?{id:g.id,src:g.dst,dst:g.src,weight:g.weight,ref:g.ref}:g);return{acyclic:{nodes:[...e.nodes],edges:c,layout:e.layout,nodeById:new Map(e.nodeById)},reversed:s}}d(_s,"removeCycles_DFS");function Fs(t){const e=new Map,n=d(o=>{if(e.has(o))return e.get(o);const s=t.nodeById.get(o);if(!s)return e.set(o,null),null;const r=s.parentId;if(!r)return e.set(o,null),null;const a=n(r)??r;return e.set(o,a),a},"resolve");for(const o of t.nodes)n(o);return e}d(Fs,"buildTopLaneMap");function ge(t){const e=Fs(t);return n=>e.get(n)??null}d(ge,"createTopLaneResolver");function gn(t){const e=[];for(const n of t.layout.nodes??[])n.isGroup&&!n.parentId&&e.push(n.id);return[...new Set(e)].reverse()}d(gn,"buildTopLaneOrder");function Eo(t,e){const n=gn(t);if(!e||e.length===0)return n;const o=new Set(n),s=new Set,r=[];for(const i of e)!o.has(i)||s.has(i)||(s.add(i),r.push(i));for(const i of n)s.has(i)||r.push(i);return r}d(Eo,"resolveTopLaneOrder");var ei={EPSILON:1e-6},ln={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},Ho={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};function Ds(t,e){const n=Ie(t),o=(e==null?void 0:e.laneOf)??(()=>null),s=e==null?void 0:e.rankHint,{preds:r}=hn(n);for(const y of r.values())y.sort((I,E)=>I.localeCompare(E));const i=De(n)??[...n.nodes].sort((y,I)=>y.localeCompare(I)),a=new Map;for(const[y,I]of i.entries())a.set(I,y);const c=new Map,f=new Map;for(const y of n.nodes)f.set(y,[]);for(const y of i){const I=(r.get(y)??[]).filter(E=>c.has(E));if(I.length>0){const E=Hs(y,I,{laneOf:o,rankHint:s,topoIndex:a});c.set(y,E),f.get(E).push(y)}else c.has(y)||c.set(y,null)}for(const y of n.nodes)c.has(y)||c.set(y,null);const g=new Set;for(const y of n.nodes)(c.get(y)??null)===null&&g.add(y);const p=[...g].sort((y,I)=>{const E=a.get(y)??0,A=a.get(I)??0;return E===A?y.localeCompare(I):E-A}),M=Xs(n),u=new Map;for(const[y,I]of M.entries())u.set(y,[...I].sort((E,A)=>E.localeCompare(A)));const h=Ys(u),l=Gs(u),x=new Map;for(const y of n.nodes)x.set(y,[]);for(const y of l)for(const I of y.nodes){const E=x.get(I);E?E.push(y.id):x.set(I,[y.id])}const C=[],b=[],v=new Set,L=d(y=>{if(!v.has(y)){v.add(y),C.push(y);for(const I of f.get(y)??[])L(I);b.push(y)}},"walk");for(const y of p)L(y);for(const y of i)L(y);return{parent:c,children:f,roots:p,componentOf:h,blocks:l,nodeBlocks:x,adjacency:u,preorder:C,postorder:b,topologicalOrder:i}}d(Ds,"buildDrivingTree");function Hs(t,e,n){const o=n.laneOf(t);return[...e].sort((r,i)=>{var l,x;const a=n.laneOf(r),c=n.laneOf(i),f=a!=null&&a===o,g=c!=null&&c===o;if(f!==g)return f?-1:1;const p=(l=n.rankHint)==null?void 0:l[r],M=(x=n.rankHint)==null?void 0:x[i];if(p!=null&&M!=null&&p!==M)return M-p;const u=n.topoIndex.get(r)??0,h=n.topoIndex.get(i)??0;return u!==h?u-h:r.localeCompare(i)})[0]}d(Hs,"chooseParent");function Xs(t){const e=new Map;for(const n of t.nodes)e.set(n,new Set);for(const n of t.edges)e.get(n.src).add(n.dst),e.get(n.dst).add(n.src);return e}d(Xs,"buildAdjacency");function Ys(t){const e=new Map;let n=0;for(const o of t.keys()){if(e.has(o))continue;const s=[o];for(;s.length>0;){const r=s.pop();if(!e.has(r)){e.set(r,n);for(const i of t.get(r)??[])e.has(i)||s.push(i)}}n++}return e}d(Ys,"assignComponents");function Gs(t){const e=new Map,n=new Map,o=[],s=[];let r=0;const i=d((a,c)=>{e.set(a,++r),n.set(a,r);for(const f of t.get(a)??[])f!==c&&(e.has(f)?(e.get(f)??0)<(e.get(a)??0)&&(o.push([a,f]),n.set(a,Math.min(n.get(a)??r,e.get(f)??r))):(o.push([a,f]),i(f,a),n.set(a,Math.min(n.get(a)??r,n.get(f)??r)),(n.get(f)??0)>=(e.get(a)??0)&&s.push($s(a,f,o,s.length))))},"visit");for(const a of t.keys())e.has(a)||i(a,null);return s}d(Gs,"computeBlocks");function $s(t,e,n,o){const s=[],r=new Set;for(;n.length>0;){const i=n.pop();if(s.push(i),r.add(i[0]),r.add(i[1]),i[0]===t&&i[1]===e||i[0]===e&&i[1]===t)break}return{id:o,edges:s,nodes:[...r]}}d($s,"popBlock");function zs(t,e,n){const o=[...t.nodes],s=new Map;for(const[b,v]of o.entries())s.set(v,b);const r=o.length,i=new Array(r).fill(-1),a=new Array(r).fill(0),c=[],f=new Set;for(const b of o){const v=n.parent.get(b)??null,L=s.get(b);L!=null&&v==null&&(i[L]=-1,a[L]=0,f.has(b)||(f.add(b),c.push(b)))}for(;c.length>0;){const b=c.shift(),v=s.get(b);if(v==null)continue;const L=n.children.get(b)??[];for(const y of L){if(f.has(y))continue;const I=s.get(y);I!=null&&(i[I]=v,a[I]=a[v]+1,f.add(y),c.push(y))}}for(const b of o){if(f.has(b))continue;const v=s.get(b);v!=null&&(i[v]=-1,a[v]=0,f.add(b))}const g=Math.max(1,Math.ceil(Math.log2(Math.max(1,r)))+1),p=Array.from({length:g},()=>new Array(r).fill(-1));for(let b=0;b{if(b===-1||v===-1)return-1;a[b]>y&1&&(b=p[y][b],b===-1))return-1;if(b===v)return b;for(let y=g-1;y>=0;y--){const I=p[y][b],E=p[y][v];I===-1||E===-1||I!==E&&(b=I,v=E)}return p[0][b]},"lcaIndex"),u=Array.from({length:r},()=>new Map);for(const b of t.edges){let v=b.src,L=b.dst,y=e[v],I=e[L];if(y==null||I==null||(y>I&&([v,L]=[L,v],[y,I]=[I,y]),y==null||I==null||y===I))continue;const E=s.get(v),A=s.get(L);if(E==null||A==null)continue;const B=M(E,A);if(B===-1)continue;const O=u[B];for(let k=y;k{if(v.size!==0)for(const[L,y]of v)b.set(L,(b.get(L)??0)+y)},"mergeInto"),x=new Set,C=d(b=>{const v=s.get(b);x.add(b);const L=v==null?void 0:u[v],y=L?new Map(L):new Map,I=n.children.get(b)??[];for(const E of I){const A=C(E),B=e[b];if(B!=null){let O=h.get(b);O||(O=new Map,h.set(b,O));let k=A.get(B)??0;const H=e[E];H!=null&&H>B&&(k+=1),O.set(E,k)}l(y,A)}return y},"dfs");for(const b of n.roots)x.has(b)||C(b);for(const b of o)x.has(b)||C(b);return h}d(zs,"computeSubtreeCrossCounts");function Vs(t,e,n){const o=new Map,s=d(r=>{let i=n[r]??0;const a=[...e.get(r)??[]];a.sort(To(n));for(const c of a){s(c);const f=o.get(c);f!=null&&(i=Math.min(i,f))}o.set(r,i)},"annotate");for(const r of t)s(r);return o}d(Vs,"annotateMinimumLayers");function To(t){return(e,n)=>{const o=t[e]??0,s=t[n]??0;return o===s?e.localeCompare(n):o-s}}d(To,"compareByRankThenId");function js(t,e,n,o){let s=0;for(const c of e){const f=n[c]??0;f>s&&(s=f)}const r=Array.from({length:s+1},()=>[]),i=new Set,a=d(c=>{if(i.has(c))return;i.add(c);const f=n[c]??0;r[f]||(r[f]=[]),r[f].push(c);for(const g of o(c))a(g)},"emit");for(const c of t)a(c);for(const c of e)if(!i.has(c)){const f=n[c]??0;r[f]||(r[f]=[]),r[f].push(c),i.add(c)}return r}d(js,"emitNodesInTreeOrder");function Us(t){const e=[];for(const n of t){const o=new Set,s=[];for(const r of n)o.has(r)||(o.add(r),s.push(r));e.push(s)}return e}d(Us,"deduplicateLayers");function Ws(t,e,n,o){return s=>{const r=t.get(s)??[];if(r.length===0)return[];const i=e[s]??0,a=[],c=[],f=n.get(s);for(const g of r){const p=o.get(g)??i;p>i?a.push({child:g,min:p}):c.push(g)}return a.sort((g,p)=>g.min===p.min?g.child.localeCompare(p.child):g.min-p.min),c.sort((g,p)=>{const M=(f==null?void 0:f.get(g))??0,u=(f==null?void 0:f.get(p))??0;if(M!==u)return M-u;const h=o.get(g)??i,l=o.get(p)??i;return h!==l?h-l:g.localeCompare(p)}),[...a.map(g=>g.child),...c]}}d(Ws,"createChildOrderer");function fn(t,e,n){const o=Ds(t,{rankHint:e,laneOf:n}),{children:s,roots:r}=o;for(const p of t.nodes)s.has(p)||s.set(p,[]);const i=zs(t,e,o),a=[...r].sort(To(e)),c=Vs(a,s,e),f=Ws(s,e,i,c);let g=js(a,t.nodes,e,f);return g=Us(g),g}d(fn,"buildMultitreeLayerOrder");function Ks(t,e,n){const o=new Set(t),s=new Set(e),r=ke(e),i=[];for(const a of n)o.has(a.src)&&s.has(a.dst)&&i.push(r.get(a.dst));return Lo(i)}d(Ks,"countCrossingsBetweenAdjacent");function Jn(t,e,n){const o=[];for(const r of e){const i=n[r.src],a=n[r.dst];if(i==null||a==null||i===a)continue;let c=r.src,f=r.dst,g=i,p=a;i>a&&(c=r.dst,f=r.src,g=a,p=i);for(let M=g;M(n[M]??0)-(n[p]??0));for(const p of g){const M=n[p]??0;if(M===0)continue;let u=0;for(const C of o.get(p)??[])u=Math.max(u,(n[C]??0)+1);if(u>=M)continue;const h=M;n[p]=u;const l=fn(t,n,s),x=Jn(l,t.edges,n);x(e[s]??0)-(e[r]??0)||s.localeCompare(r));for(const s of o){const r=n(s);if(!r)continue;const i=t.edges.filter(l=>l.src===s);if(i.length===0)continue;let a=!1,c=0;for(const l of i){const x=n(l.dst);x==null||x===r?a=!0:c++}if(c===0||a)continue;let f=0,g=!1;for(const l of t.edges){if(l.dst!==s)continue;const x=n(l.src);x&&(x===r?g=!0:f++)}if(f>0||!g)continue;const p=e[s]??0,M=p+c;let u=0;for(const l of t.edges)l.dst===s&&(u=Math.max(u,(e[l.src]??0)+1));const h=Math.max(p,u,M);h!==p&&(e[s]=h)}}d(Js,"adjustCrossLaneSources");function Zs(t,e){const n=Ie(t),o=De(n)??[...n.nodes].sort(),s=(e==null?void 0:e.compactSingleInput)??!1,r=ge(n);let i=Object.create(null);for(const c of o){const f=Mo(n,c),g=e!=null&&e.ignoreCrossLaneEdges?f.filter(p=>{const M=r(p.src),u=r(c);return!M||!u?!0:M===u}):f;if(g.length===0)i[c]=0;else if(s&&g.length===1){const p=g[0].src,M=r(p),u=r(c);M!==u?i[c]=i[p]??0:i[c]=(i[p]??0)+1}else{let p=-1/0;for(const M of g)p=Math.max(p,(i[M.src]??0)+1);i[c]=p===-1/0?0:p}}return((e==null?void 0:e.optimizeRanksByCrossings)??!1)&&(i=qs(n,i)),e!=null&&e.ignoreCrossLaneEdges&&Js(n,i),{layers:fn(n,i,r),rankOf:i,dummy:new Set}}d(Zs,"assignLayers_LongestPath");function Qs(t,e){const n=Ie(t),s={...Zs(n,{compactSingleInput:e==null?void 0:e.compactSingleInput,ignoreCrossLaneEdges:e==null?void 0:e.ignoreCrossLaneEdges,optimizeRanksByCrossings:e==null?void 0:e.optimizeRanksByCrossings}).rankOf},r=ge(n),{preds:i,succs:a}=hn(n,h=>{if(e!=null&&e.ignoreCrossLaneEdges){const l=r(h.src),x=r(h.dst);if(l&&x&&l!==x)return!1}return!0}),c=De(n)??[...n.nodes],f=[...c].reverse(),g=d((h,l)=>{let x=0;for(const v of i.get(h)??[])x=Math.max(x,(s[v]??0)+1);let C=Number.POSITIVE_INFINITY;const b=a.get(h)??[];return b.length>0&&(C=Math.min(...b.map(v=>(s[v]??0)-1))),Number.isFinite(C)||(C=Math.max(x,l)),Math.min(Math.max(l,x),C)},"clampFeasible"),p=ln.GRAVITY_ITERATIONS,M=d(h=>{let l=!1;for(const x of h){const C=i.get(x)??[],b=a.get(x)??[];if(C.length===0&&b.length===0)continue;const v=C.length>0?C.reduce((E,A)=>E+(s[A]??0)+1,0)/C.length:s[x]??0,L=b.length>0?b.reduce((E,A)=>E+(s[A]??0)-1,0)/b.length:s[x]??0,y=Math.round((v+L)/2),I=g(x,y);I!==s[x]&&(s[x]=I,l=!0)}return l},"relaxOrder");for(let h=0;h0){const x=Math.min(...l.map(C=>(s[C]??0)-1));(s[h]??0)>x&&(s[h]=x)}}return{layers:vo(n,c,s),rankOf:s,dummy:new Set}}d(Qs,"assignLayers_Gravity");function tr(t){const e=So(t),n=Io(t);let o=Co(e);const s=[];for(;o.length>0;){const r=[];for(const i of o){s.push(i);for(const a of n.get(i)??[])e.set(a,(e.get(a)??0)-1),(e.get(a)??0)===0&&r.push(a)}o=r.sort((i,a)=>i.localeCompare(a))}return s.length===t.nodes.length?s:null}d(tr,"topoSortByGenerationIfAcyclic");function er(t,e){const n=Ie(t),o=(e==null?void 0:e.direction)==="LR"?tr(n)??[...n.nodes].sort():De(n)??[...n.nodes].sort(),s=ge(n),r=d(g=>s(g)??g,"laneOf"),i=Object.create(null),a=new Map,c=d((g,p)=>(e==null?void 0:e.ignoreCrossLaneEdges)??!0?r(g)===r(p)?1:0:1,"edgeWeight");for(const g of o){const p=n.nodeById.get(g);if(p!=null&&p.isGroup)continue;const M=Mo(n,g);let u=0;if(M.length>0)for(const C of M){const b=C.src,v=i[b]??0;u=Math.max(u,v+c(b,g))}const h=r(g),l=a.get(h)??0,x=Math.max(u,l);i[g]=x,a.set(h,x+1)}return{layers:vo(n,o,i,{skipGroups:!0}),rankOf:i,dummy:new Set}}d(er,"assignLayers_LaneAwareCompact");function nr(t,e){const n=Ie(e),{rankOf:o}=t,s=t.layers.map(u=>[...u]),r=new Set(t.dummy?[...t.dummy]:[]);let i=0;const a=new Map(n.nodeById),c=d(u=>{const h=`placeholder-${i++}`,l={id:h,isGroup:!1,isDummy:!0,width:0,height:0};for(a.set(h,l),r.add(h);s.length<=u;)s.push([]);return s[u].push(h),o[h]=u,h},"addDummyAt"),f=[...n.edges].sort((u,h)=>u.id===h.id?u.src===h.src?u.dst.localeCompare(h.dst):u.src.localeCompare(h.src):u.id.localeCompare(h.id)),g=[];for(const u of f){const h=o[u.src]??0,l=o[u.dst]??0;if(l-h<=1){g.push(u);continue}let x=u.src;for(let b=h+1,v=0;b!n.nodes.includes(u))],edges:g,layout:n.layout,nodeById:a};return{layering:{layers:s,rankOf:o,dummy:r},graphWithDummies:M}}d(nr,"makeProperLayering");function Zn(t){const e=t.length;if(e===0)return Number.POSITIVE_INFINITY;const n=[...t].sort((o,s)=>o-s);return e%2===1?n[(e-1)/2]:.5*(n[e/2-1]+n[e/2])}d(Zn,"median");function Qn(t){return t.length===0?Number.POSITIVE_INFINITY:t.reduce((n,o)=>n+o,0)/t.length}d(Qn,"barycenter");function or(t,e,n,o){const s=new Map;for(const r of t)s.set(r,[]);for(const r of n)o==="down"?e.has(r.src)&&s.has(r.dst)&&s.get(r.dst).push(e.get(r.src)):e.has(r.dst)&&s.has(r.src)&&s.get(r.src).push(e.get(r.dst));return s}d(or,"neighborPositionsFor");function sr(t,e,n){const o=n.get(t)??0,s=n.get(e)??0;return o!==s?o-s:t.localeCompare(e)}d(sr,"currentOrderTieBreak");function to(t,e,n){const o=new Set(t),s=new Set(e),r=ke(t),i=ke(e),a=[];for(const f of n)o.has(f.src)&&s.has(f.dst)&&a.push({u:r.get(f.src),v:i.get(f.dst)});a.sort((f,g)=>f.u===g.u?f.v-g.v:f.u-g.u);const c=a.map(f=>f.v);return Lo(c)}d(to,"countCrossingsBetweenAdjacent");function Ze(t,e,n){return[...t].sort((o,s)=>{const r=Zn(e.get(o)??[]),i=Zn(e.get(s)??[]);return r===i?sr(o,s,n):isFinite(r)?isFinite(i)?r-i:-1:1})}d(Ze,"sortByHeuristic");function eo(t,e,n,o,s,r){const i=ke(t),a=ke(e),c=or(e,i,n,o);if(!s||!r||r.length===0)return Ze(e,c,a);const f=new Map;for(const M of e){const u=s(M),h=f.get(u)??[];h.push(M),f.set(u,h)}const g=[];for(const M of r){const u=f.get(M);if(!u||u.length===0)continue;const h=Ze(u,c,a);g.push(...h)}const p=f.get(null);if(p&&p.length>0){const M=Ze(p,c,a);for(const u of M){const h=Qn(c.get(u)??[]);let l=g.length;if(isFinite(h))for(const[x,C]of g.entries()){const b=Qn(c.get(C)??[]);if(hi.has(l.src)&&a.has(l.dst)),g=c?n.filter(l=>a.has(l.src)&&c.has(l.dst)):void 0,p=d(l=>{let x=to(t,l,f);return g&&o&&(x+=to(l,o,g)),x},"crossingScore"),M=s?new Map:null;if(s&&M)for(const l of e)M.set(l,s(l));let u=!0,h=p(r);for(;u;){u=!1;for(let l=0;l+1[...a]),s=e.edges,r=ge(e),i=Eo(e,n==null?void 0:n.laneOrder);for(let a=0;a<3;a++){for(let c=1;c=0;c--)o[c]=eo(o[c+1],o[c],s,"up",r,i),o[c]=no(o[c+1],o[c],s,o[c-1],r)}return{layers:o}}d(rr,"orderLayers");function ir(t,e,n){const o=(n==null?void 0:n.layerGap)??Ho.DEFAULT_LAYER_GAP,s=(n==null?void 0:n.nodeGap)??Ho.DEFAULT_NODE_GAP,r=(n==null?void 0:n.laneGap)??s*2,i=(n==null?void 0:n.direction)??"TB",a=i==="LR"||i==="RL",c=t.layers,f=Object.create(null),g=Object.create(null),p=d(O=>e.nodeById.get(O),"getNode"),M=d(O=>{var k;return((k=p(O))==null?void 0:k.width)??0},"getWidth"),u=d(O=>{var k;return((k=p(O))==null?void 0:k.height)??0},"getHeight"),h=ge(e),l=Eo(e,n==null?void 0:n.laneOrder),x=c.map(O=>O.reduce((k,H)=>Math.max(k,u(H)),0)),C=[];if(a)for(let O=0;O+1Math.max(Mt,M(Ht)),0),H=c[O+1].reduce((Mt,Ht)=>Math.max(Mt,M(Ht)),0),P=x[O],G=x[O+1],j=P/2+G/2,tt=(k+H)/2,ft=Math.max(0,tt-j-o);C.push(ft)}const b=new Set;for(const O of c)for(const k of O)b.add(h(k));const v=b.has(null),L=l.filter(O=>b.has(O)),y=[...v?[null]:[],...L],I=Object.create(null);for(const O of L)I[O]=0;v&&(I.null=0);for(const O of c){const k=Object.create(null),H=[];for(const P of O){const G=h(P);G===null?H.push(P):(k[G]||(k[G]=[])).push(P)}for(const[P,G]of Object.entries(k)){const j=G.reduce((tt,ft)=>tt+M(ft),0)+s*Math.max(0,G.length-1);I[P]=Math.max(I[P]??0,j)}if(v&&H.length){const P=H.reduce((G,j)=>G+M(j),0)+s*Math.max(0,H.length-1);I.null=Math.max(I.null??0,P)}}const E=new Map;{const O=y.map(P=>(P===null?I.null:I[P])??0);let H=-(O.reduce((P,G)=>P+G,0)+r*Math.max(0,y.length-1))/2;for(let P=0;PM(nt)),Ht=Mt.reduce((nt,J)=>nt+J,0)+s*(tt.length-1);let Ft=ft-Ht/2;for(const[nt,J]of tt.entries()){const rt=Mt[nt];f[J]=Ft+rt/2,g[J]=A+H/2,Ft+=rt+s}}}const G=C[O]??0;A+=H+o+G}const B=new Map;for(const O of e.edges){const k=O.ref.id;B.has(k)||B.set(k,[]),B.get(k).push(O)}for(const[,O]of B){if(O.length===0)continue;const k=O[0].ref,H=k.start,P=k.end;if(H==null||P==null)continue;const G=Math.round(((f[H]??0)+(f[P]??0))/2),j=new Set;for(const tt of O)j.add(tt.src),j.add(tt.dst);for(const tt of j){if(tt===H||tt===P)continue;const ft=e.nodeById.get(tt);ft!=null&&ft.isDummy&&(f[tt]=G)}}return{x:f,y:g}}d(ir,"assignCoordinates");var cr=8;function ar(t){let e=2166136261;for(let n=0;n>>0}d(ar,"hashString");function lr(t){let e=t>>>0;return()=>{e+=1831565813;let n=e;return n=Math.imul(n^n>>>15,n|1),n^=n+Math.imul(n^n>>>7,n|61),((n^n>>>14)>>>0)/4294967296}}d(lr,"mulberry32");function fr(t,e){const n=[...t],o=lr(e);for(let s=n.length-1;s>0;s--){const r=Math.floor(o()*(s+1));[n[s],n[r]]=[n[r],n[s]]}return n}d(fr,"deterministicShuffle");function dr(t,e){let n=0;for(const[o,s]of t.entries())n+=Math.abs(o-(e.get(s)??o));return n}d(dr,"sourceDistance");function oo(t,e){const n=new Map;for(const[s,r]of t.entries())n.set(r,s);let o=0;for(const{a:s,b:r,weight:i}of e){const a=n.get(s),c=n.get(r);a==null||c==null||(o+=i*Math.abs(a-c))}return o}d(oo,"laneArrangementCost");function ur(t){const e=gn(t);if(e.length<2)return[];const n=new Map(e.map((r,i)=>[r,i])),o=ge(t),s=new Map;for(const r of t.layout.edges??[]){if(r.isLayoutOnly)continue;const i=typeof r.start=="string"?r.start:void 0,a=typeof r.end=="string"?r.end:void 0;if(!i||!a||!t.nodeById.has(i)||!t.nodeById.has(a))continue;const c=o(i),f=o(a);if(!c||!f||c===f)continue;const g=n.get(c),p=n.get(f);if(g==null||p==null)continue;const[M,u]=g<=p?[c,f]:[f,c],h=`${M}\0${u}`,l=s.get(h);l?l.weight++:s.set(h,{a:M,b:u,weight:1})}return[...s.values()]}d(ur,"buildWeightedLaneEdges");function so(t,e,n){const o=[...t];let s=oo(o,e),r=!0,i=0;const a=Math.max(1,o.length);for(;r&&is.a===r.a?s.b.localeCompare(r.b):s.a.localeCompare(r.a)).map(({a:s,b:r,weight:i})=>`${s}:${r}:${i}`).join("|");return ar(`${t.join("|")}#${o}#${n}`)}d(gr,"seedForRestart");function mr(t,e={}){const n=gn(t);if(n.length<2)return n;const o=ur(t);if(o.length===0)return n;const s=new Map(n.map((a,c)=>[a,c]));let r=so(n,o,s);const i=Math.max(0,e.restarts??cr);for(let a=0;alt&&c*3>=a?i>0?"bottom":"top":a>lt?r>0?"right":"left":n}d(ro,"chooseOrthogonalSide");function io(t,e){return Math.abs(t.to-e.from)m.isGroup&&!m.parentId);for(const m of f){const S={id:m.id},w=d(T=>{i.set(T.id,S),n.filter(N=>N.parentId===T.id).forEach(w)},"assignLane");w(m)}const g=n.filter(m=>!m.isGroup&&!m.isEdgeLabel).map(m=>{const S=m.width??10,w=m.height??10,T=m.x??0,N=m.y??0,D=ni;return{nodeId:m.id,minX:T-S/2-D,maxX:T+S/2+D,minY:N-w/2-D,maxY:N+w/2+D,visualXHalfExtent:c?w/2+D:S/2+D}}),p=d((m,S,w,T)=>{let N=a.find(D=>D.orientation===m&&Math.abs(D.coord-S)<1);return N||(N={id:`pipe-${m}-${S.toFixed(0)}`,orientation:m,coord:S,spanMin:w,spanMax:T,tracks:[]},a.push(N)),N.spanMin=Math.min(N.spanMin,w),N.spanMax=Math.max(N.spanMax,T),N},"getOrAddPipe"),M=d((m,S)=>{const w=m.width??10,T=m.height??10,N=m.x??0,D=m.y??0;switch(S){case"top":return{x:N,y:D-T/2};case"bottom":return{x:N,y:D+T/2};case"left":return{x:N-w/2,y:D};case"right":return{x:N+w/2,y:D}}},"portForSide"),u=d((m,S,w)=>M(m,ro(m,S,w?"bottom":"top")),"getOrthogonalPort"),h=[],l=[],x=new Set,C=1e3,b=d((m,S,w)=>{if(h.length===0)return 0;const T=Math.abs(S.y-w.y)U||z.from-lt<=W&&z.to+lt>=W&&(D+=C)}else if(N){const W=S.x,ot=Math.min(S.y,w.y)-lt,U=Math.max(S.y,w.y)+lt;if(U<=ot)return 0;for(const z of h)z.edgeIndex===m||z.orientation!=="horizontal"||z.pipe.coordU||z.from-lt<=W&&z.to+lt>=W&&(D+=C)}return D},"crossingPenalty"),v=s.map((m,S)=>{if(!m.start||!m.end)return{idx:S,crossLane:0,dx:0,dy:0};const w=r.get(m.start),T=r.get(m.end),N=i.get(m.start),D=i.get(m.end),W=N&&D&&N.id!==D.id?1:0,ot=w&&T?Math.abs((T.x??0)-(w.x??0)):0,U=w&&T?Math.abs((T.y??0)-(w.y??0)):0;return{idx:S,crossLane:W,dx:ot,dy:U}}).sort((m,S)=>{if(m.crossLane!==S.crossLane)return S.crossLane-m.crossLane;const w=m.dx+m.dy,T=S.dx+S.dy;return Math.abs(w-T)>1?w-T:m.idx-S.idx}).map(m=>m.idx),L=d((m,S,w,T)=>{const N=Math.min(m.x,S.x),D=Math.max(m.x,S.x),W=Math.min(m.y,S.y),ot=Math.max(m.y,S.y);return!!g.find(z=>w&&z.nodeId===w||T&&z.nodeId===T?!1:Math.abs(m.x-S.x)>lt?z.minYm.y&&z.maxX>N&&z.minXm.x&&z.maxY>W&&z.minYro(m,S,"bottom"),"determineSide"),A=new Map;for(const[m,S]of s.entries()){if(!S.start||!S.end||S.start===S.end||S.points&&S.points.length>0)continue;const w=r.get(S.start),T=r.get(S.end);if(!w||!T)continue;const N=(T.x??0)-(w.x??0),D=(T.y??0)-(w.y??0);A.set(m,{edgeIdx:m,srcId:S.start,dstId:S.end,srcSide:E(w,{x:T.x??0,y:T.y??0}),dstSide:E(T,{x:w.x??0,y:w.y??0}),absDx:Math.abs(N),absDy:Math.abs(D),dxSign:Math.sign(N),dySign:Math.sign(D)})}const B=d(m=>m.srcSide==="top"||m.srcSide==="bottom"?m.absDx===0?1/0:m.absDy/m.absDx:m.absDy===0?1/0:m.absDx/m.absDy,"preferenceStrength"),O=d(m=>m.srcSide==="top"||m.srcSide==="bottom"?m.dxSign>=0?"right":"left":m.dySign>=0?"bottom":"top","secondarySide"),k=new Map;for(const m of A.values()){const S=`${m.srcId}:${m.srcSide}`;k.has(S)||k.set(S,[]),k.get(S).push(m)}const H=new Map,P=d((m,S)=>`${m}:${S}`,"loadKey");for(const m of A.values())H.set(P(m.srcId,m.srcSide),(H.get(P(m.srcId,m.srcSide))??0)+1),H.set(P(m.dstId,m.dstSide),(H.get(P(m.dstId,m.dstSide))??0)+1);for(const m of k.values())if(!(m.length<2)){m.sort((S,w)=>{const T=B(S),N=B(w);return Math.abs(T-N)>1e-9?N-T:S.edgeIdx-w.edgeIdx});for(let S=1;S=N||(H.set(P(w.srcId,w.srcSide),N-1),H.set(P(w.srcId,T),D+1),w.srcSide=T)}}const G=d(m=>{const S=m==null?void 0:m.shape;return S==="question"||S==="diamond"},"isDiamondNode"),j=new Map;for(const m of A.values())j.has(m.dstId)||j.set(m.dstId,new Set),j.get(m.dstId).add(m.dstSide);for(const m of A.values()){if(!G(r.get(m.srcId)))continue;const S=j.get(m.srcId);if(!(S!=null&&S.has(m.srcSide)))continue;const w=O(m);if(S.has(w)||(H.get(P(m.srcId,w))??0)>0)continue;const T=H.get(P(m.srcId,m.srcSide))??0;H.set(P(m.srcId,m.srcSide),Math.max(0,T-1)),H.set(P(m.srcId,w),1),m.srcSide=w}for(const m of A.values()){const{edgeIdx:S,srcId:w,dstId:T,srcSide:N,dstSide:D}=m,W=r.get(w),ot=r.get(T),U=`${w}:${N}:src`,z=N==="top"||N==="bottom"?ot.x??0:ot.y??0;y.has(U)||y.set(U,[]),y.get(U).push({edgeIdx:S,oppositeCoord:z});const bt=`${T}:${D}:dst`,dt=D==="top"||D==="bottom"?W.x??0:W.y??0;y.has(bt)||y.set(bt,[]),y.get(bt).push({edgeIdx:S,oppositeCoord:dt})}const tt=new Map,ft=8;for(const[m,S]of y){if(S.length<2)continue;S.sort((At,Gt)=>At.oppositeCoord-Gt.oppositeCoord);const w=m.split(":"),T=w.slice(0,-2).join(":"),N=w[w.length-2],D=w[w.length-1],W=r.get(T);if(!W)continue;const U=N==="left"||N==="right"?W.height??10:W.width??10,z=W.shape,dt=z==="question"||z==="diamond"?U*.3:U,st=Math.min(20,Math.max(ft,dt/(S.length+1))),Bt=-(st*(S.length-1))/2;for(const[At,Gt]of S.entries()){const ee=Bt+At*st,xn=`${Gt.edgeIdx}:${D}`;tt.set(xn,ee)}}const Mt=d(m=>{var S;return!!((S=s[m])!=null&&S.labelNodeId)},"edgeHasLabelNode"),Ht=d((m,S)=>m?(y.get(`${m}:${S}:src`)??[]).some(({edgeIdx:w})=>Mt(w))||(y.get(`${m}:${S}:dst`)??[]).some(({edgeIdx:w})=>Mt(w)):!1,"faceHasLabelNode"),Ft=d((m,S,w)=>S==="top"||S==="bottom"?{x:m.x+w,y:m.y}:{x:m.x,y:m.y+w},"applyPortOffset"),nt=d((m,S,w)=>{const T=A.get(m),N={x:w.x??0,y:w.y??0},D={x:S.x??0,y:S.y??0},W=(T==null?void 0:T.srcSide)??E(S,N),ot=(T==null?void 0:T.dstSide)??E(w,D);let U=T?M(S,T.srcSide):u(S,N,!0),z=T?M(w,T.dstSide):u(w,D,!1);const bt=tt.get(`${m}:src`),dt=tt.get(`${m}:dst`);return bt!==void 0&&(U=Ft(U,W,bt)),dt!==void 0&&(z=Ft(z,ot,dt)),{pSrcPort:U,pDstPort:z,srcSide:W,dstSide:ot}},"portsForEdge");for(const m of v){const S=s[m];if(l[m]=[],!S.start||!S.end||S.points&&S.points.length>0||S.start===S.end)continue;const w=r.get(S.start),T=r.get(S.end);if(!w||!T)continue;const{pSrcPort:N,pDstPort:D,srcSide:W,dstSide:ot}=nt(m,w,T),U={...N},z={...D},bt=W==="top"||W==="bottom",dt=ot==="top"||ot==="bottom";if(bt){const X=N.y>(w.y??0);U.y=X?N.y+ie:N.y-ie}else{const X=N.x>(w.x??0);U.x=X?N.x+ie:N.x-ie}if(dt){const X=D.y>(T.y??0);z.y=X?D.y+ie:D.y-ie}else{const X=D.x>(T.x??0);z.x=X?D.x+ie:D.x-ie}const ct=d((X,$)=>{for(const Q of g)if(!$.includes(Q.nodeId)&&X.x>Q.minX&&X.xQ.minY&&X.y{if(Tt){const kt=X.y>($.y??0);return{x:(Q.x??0)>=X.x?ht.maxX+Ce:ht.minX-Ce,y:kt?ht.maxY+Ne:ht.minY-Ne,leavesPositiveSide:kt}}const Ct=X.x>($.x??0),Rt=(Q.y??0)>=X.y;return{x:Ct?ht.maxX+Ce:ht.minX-Ce,y:Rt?ht.maxY+Ne:ht.minY-Ne,leavesPositiveSide:Ct}},"obstacleDetour");let It=[];const Bt=[S.start,S.end],At=ct(U,Bt);if(At.inside&&At.obstacle){const X=At.obstacle;if(bt){const $=st(N,w,T,X,!0);U.x=$.x,U.y=$.y;const Q=$.leavesPositiveSide?Math.min(X.minY-2,N.y+ie):Math.max(X.maxY+2,N.y-ie);It=[{x:N.x,y:Q},{x:$.x,y:Q},{x:$.x,y:$.y}]}else{const $=st(N,w,T,X,!1),Q=$.leavesPositiveSide?Math.min(X.minX-2,N.x+ie):Math.max(X.maxX+2,N.x-ie);U.x=$.x,U.y=$.y,It=[{x:Q,y:N.y},{x:Q,y:$.y},{x:$.x,y:$.y}]}}let Gt=[];const ee=ct(z,Bt);if(ee.inside&&ee.obstacle){const X=ee.obstacle;if(dt){const $=st(D,T,w,X,!0);z.x=$.x,z.y=$.y,Gt=[{x:$.x,y:$.y},{x:D.x,y:$.y}]}else{const $=st(D,T,w,X,!1);z.x=$.x,z.y=$.y,Gt=[{x:$.x,y:$.y},{x:$.x,y:D.y}]}}if(It.length===0&&Gt.length===0){const X=Ce,$=Math.abs(U.x-z.x)1||Ct>1,kt=I.get(S.start??"")??0,mt=I.get(S.end??"")??0,Vt=Tt>1&&Ht(S.start,W)||Ct>1&&Ht(S.end,ot),re=Tt<=1||kt<=2,Dt=Ct<=1||mt<=2;if(($||Q)&&!ht&&(!Rt||Rt&&!Vt&&re&&Dt)&&!L(N,D,S.start,S.end)){S.points=[{...N},{...U},{...z},{...D}],x.add(m);const vt=Q?"horizontal":"vertical",Ut=Q?N.y:N.x,Lt=Q?Math.min(N.x,D.x):Math.min(N.y,D.y),Et=Q?Math.max(N.x,D.x):Math.max(N.y,D.y),Zt={id:`fast-path-${vt}-${Ut.toFixed(0)}-${m}`,orientation:vt,coord:Ut,spanMin:Lt,spanMax:Et,tracks:[]};h.push({edgeIndex:m,segmentIndex:0,orientation:vt,pipe:Zt,trackIndex:0,from:Lt,to:Et});continue}}const xn=p("vertical",U.x,U.y,U.y);U.x=xn.coord;const Mr=p("vertical",z.x,z.y,z.y);z.x=Mr.coord;let ye=Math.min(U.x,z.x)-50,pe=Math.max(U.x,z.x)+50,we=Math.min(U.y,z.y)-50,Ae=Math.max(U.y,z.y)+50;for(const X of g){const $=Math.min(U.x,z.x),Q=Math.max(U.x,z.x),ht=Math.min(U.y,z.y),Tt=Math.max(U.y,z.y);X.minX$&&X.minYht&&(ye=Math.min(ye,X.minX-qe),pe=Math.max(pe,X.maxX+qe),we=Math.min(we,X.minY-qe),Ae=Math.max(Ae,X.maxY+qe))}for(const X of g){if(X.maxXpe||X.maxYAe)continue;const $=Ce;p("horizontal",X.minY-$,ye,pe),p("horizontal",X.maxY+$,ye,pe);const Q=Ne;p("vertical",X.minX-Q,we,Ae),p("vertical",X.maxX+Q,we,Ae)}p("horizontal",U.y,ye,pe),p("horizontal",z.y,ye,pe);const Ir=a.filter(X=>X.orientation==="horizontal"&&X.coord>=we&&X.coord<=Ae),Sr=a.filter(X=>X.orientation==="vertical"&&X.coord>=ye&&X.coord<=pe),He=d((X,$)=>`${X.toFixed(1)},${$.toFixed(1)}`,"getKey"),Xe=He(U.x,U.y),wo=He(z.x,z.y),Ye=new Map,bn=new Map,Mn=new Map,Ge=new Set,Se=[];Ye.set(Xe,0),Mn.set(Xe,"n"),Se.push({key:Xe,f:Math.hypot(z.x-U.x,z.y-U.y),pt:U}),Ge.add(Xe);let $t=[];const xe=d((X,$)=>L(X,$,S.start,S.end),"checkSegmentBlocked"),In={x:z.x,y:U.y},Cr=xe(U,In),vr=xe(In,z),Lr=Cr||vr,Sn={x:U.x,y:z.y},Er=xe(U,Sn),Tr=xe(Sn,z);if(Lr?Er||Tr||(Math.abs(U.x-z.x)0;){Se.sort((mt,Vt)=>mt.f-Vt.f);const X=Se.shift();if(Ge.delete(X.key),X.key===wo){let mt=wo,Vt=z;for($t=[Vt];bn.has(mt);){const re=bn.get(mt);$t.unshift(re),Vt=re,mt=He(re.x,re.y)}break}const $=X.pt.x,Q=X.pt.y,ht=Sr.sort((mt,Vt)=>mt.coord-Vt.coord),Tt=ht.findIndex(mt=>Math.abs(mt.coord-$)<1),Ct=Ir.sort((mt,Vt)=>mt.coord-Vt.coord),Rt=Ct.findIndex(mt=>Math.abs(mt.coord-Q)<1),kt=[];Tt>0&&kt.push({x:ht[Tt-1].coord,y:Q}),Tt>=0&&Tt0&&kt.push({x:$,y:Ct[Rt-1].coord}),Rt>=0&&Rtne.nodeId===S.start||ne.nodeId===S.end?!1:Vt!==re?ne.minYQ&&ne.maxX>Vt&&ne.minX$&&ne.maxY>Dt&&ne.minY10&&Cn<-5||Re<-10&&Cn>5)&&(Et=Math.abs(Cn)*100),(Zt>10&&$e<-5||Zt<-10&&$e>5)&&(Et+=Math.abs($e)*50);let Ao=0;const Ro=Mn.get(X.key)??"n",No=Math.abs($e)>lt?"h":"v";Ro!=="n"&&Ro!==No&&(Ao=50);const wr=Ut+Lt+Et+Ao,ze=(Ye.get(X.key)??1/0)+wr,Oo=Math.abs(z.x-mt.x)+Math.abs(z.y-mt.y);if(ze<(Ye.get(vt)??1/0))if(bn.set(vt,X.pt),Ye.set(vt,ze),Mn.set(vt,No),!Ge.has(vt))Se.push({key:vt,f:ze+Oo,pt:mt}),Ge.add(vt);else{const ne=Se.findIndex(Ar=>Ar.key===vt);ne!==-1&&(Se[ne].f=ze+Oo)}}}if($t.length===0&&($t=[U,{x:U.x,y:z.y},z]),$t.length>4){const X=$t[0],$=$t[$t.length-1];let Q=Math.min(X.x,$.x),ht=Math.max(X.x,$.x),Tt=Math.min(X.y,$.y),Ct=Math.max(X.y,$.y);for(const Dt of $t)Q=Math.min(Q,Dt.x),ht=Math.max(ht,Dt.x),Tt=Math.min(Tt,Dt.y),Ct=Math.max(Ct,Dt.y);const Rt=ht>Math.max(X.x,$.x),kt=QLt.minXjt&&Lt.minY_t);if(Ut.length>0){let Lt=Math.max(X.x,$.x);for(const Et of Ut){const Zt=(Et.minX+Et.maxX)/2;if(Et.visualXHalfExtent===void 0||isNaN(Et.visualXHalfExtent))continue;const Re=Zt+Et.visualXHalfExtent+Dt;Lt=Math.max(Lt,Re)}isNaN(Lt)||(ht=Lt)}}if(kt){const jt=g.filter(_t=>_t.minXMath.min(X.y,$.y));if(jt.length>0){let _t=Math.min(X.x,$.x);for(const vt of jt){const Lt=(vt.minX+vt.maxX)/2-vt.visualXHalfExtent-Dt;_t=Math.min(_t,Lt)}Q=_t}}}const mt=d(Dt=>{const jt=$.y>X.y,_t=g.filter(Lt=>{const Et=Math.min(X.x,$.x)Lt.minX,Zt=Math.min(X.y,$.y)Lt.minY;return Et&&Zt});let vt=_t;if(c&&_t.length>0){const Lt=_t.filter(Et=>Et.minXDt);Lt.length>0&&(vt=Lt)}if(vt.length===0)return $.y;const Ut=Ce;if(jt){const Et=Math.max(...vt.map(Zt=>Zt.maxY))+Ut;if(Et<$.y-lt)return Et}else{const Et=Math.min(...vt.map(Zt=>Zt.minY))-Ut;if(Et>$.y+lt)return Et}return $.y},"findBestReturnY"),Vt=d(Dt=>{const jt=mt(Dt),_t={x:Dt,y:X.y},vt={x:Dt,y:jt},Ut={x:$.x,y:jt},Lt=xe(X,_t),Et=xe(_t,vt),Zt=xe(vt,Ut),Re=jt!==$.y?xe(Ut,$):!1;return!Lt&&!Et&&!Zt&&!Re?Math.abs(jt-$.y)=3){const X=zt[zt.length-1],$=zt[zt.length-2],Q=zt[zt.length-3],ht=Math.abs(Q.y-$.y)Math.abs(X.x-Q.x)&&zt.splice(-2,1)}else if(Tt){const Ct=Math.sign($.y-Q.y),Rt=Math.sign(X.y-Q.y);Ct!==0&&Ct===Rt&&Math.abs($.y-Q.y)>Math.abs(X.y-Q.y)&&zt.splice(-2,1)}}const fe=[zt[0]];for(let X=1;X$.x,Ct=ht.x>Q.x;if(Tt!==Ct){fe.push(Q);continue}continue}if(Math.abs($.x-Q.x)$.y,Ct=ht.y>Q.y;if(Tt!==Ct){fe.push(Q);continue}continue}fe.push(Q)}fe.push(zt[zt.length-1]);for(let X=0;Xm.from{const N=!T.segments.some(W=>(W.edgeIndex!==S.edgeIndex||W.segmentIndex!==S.segmentIndex)&&J(W,m)),D=!w.segments.some(W=>(W.edgeIndex!==m.edgeIndex||W.segmentIndex!==m.segmentIndex)&&J(W,S));return N&&D?(m.trackIndex=T.index,S.trackIndex=w.index,w.segments=[...w.segments.filter(W=>W.edgeIndex!==m.edgeIndex||W.segmentIndex!==m.segmentIndex),{edgeIndex:S.edgeIndex,segmentIndex:S.segmentIndex,from:S.from,to:S.to}],T.segments=[...T.segments.filter(W=>W.edgeIndex!==S.edgeIndex||W.segmentIndex!==S.segmentIndex),{edgeIndex:m.edgeIndex,segmentIndex:m.segmentIndex,from:m.from,to:m.to}],!0):!1},"trySwapSegmentsAcrossTracks"),ut=d(m=>{const S=m.tracks.length;return m.tracks[S]={index:S,coord:m.coord,segments:[]},S},"createNewTrack"),pt=d((m,S)=>{const w=m.pipe.tracks[m.trackIndex];w.segments=w.segments.filter(N=>N.edgeIndex!==m.edgeIndex||N.segmentIndex!==m.segmentIndex),m.trackIndex=S,m.pipe.tracks[S].segments.push({edgeIndex:m.edgeIndex,segmentIndex:m.segmentIndex,from:m.from,to:m.to})},"moveSegmentToTrack"),St=d((m,S)=>{const w=l[m.edgeIndex];for(const T of w){const N=h[T];N.pipe===m.pipe&&pt(N,S)}},"moveSegmentChainToTrack"),wt=d(m=>{const S=l[m.edgeIndex],w=S.indexOf(h.indexOf(m)),T=[];return w>0&&T.push(h[S[w-1]]),w{if(m.orientation===S.orientation)return!1;const w=m.orientation==="horizontal"?m:S,T=m.orientation==="horizontal"?S:m;return T.pipe.coord>w.from&&T.pipe.coordT.from&&w.pipe.coord{for(const w of m.tracks)if(!w.segments.some(N=>(N.edgeIndex!==S.edgeIndex||N.segmentIndex!==S.segmentIndex)&&J(N,S)))return w.index;return-1},"findAvailableTrack"),Jt=d((m,S)=>{if(m.trackIndex===S.trackIndex)return J(m,S);const w=wt(m),T=wt(S);return w.some(N=>T.some(D=>Kt(N,D)))},"segmentsConflict"),se=d((m,S,w)=>{if(rt(m,S,m.pipe.tracks[m.trackIndex],S.pipe.tracks[S.trackIndex]))return;const T=qt(m.pipe,S);w(S,T!==-1?T:ut(m.pipe))},"resolveTrackConflict"),Ee=d(m=>{let S=0;for(let w=0;w{if(me.has(m))return me.get(m);const S=l[m];if(S.length===0){const ot={dest:0,deviation:0,base:0,delta:0};return me.set(m,ot),ot}const T=h[S[0]].pipe.coord;let N=T;for(let ot=1;otMath.abs(bt-T)?z:bt;break}}const D=Math.abs(N-T),W={dest:N,deviation:D,base:T,delta:N-T};return me.set(m,W),W},"getDestInfo"),mn=d(()=>{let m=0;const S=new Map;for(const[T,N]of s.entries())l[T].length!==0&&N.start&&(S.has(N.start)||S.set(N.start,[]),S.get(N.start).push(T));const w=d(T=>{const N=s[T];if(!N.start||!N.end)return 0;const D=r.get(N.start),W=r.get(N.end);if(!D||!W)return 0;const ot=(W.x??0)-(D.x??0),U=(W.y??0)-(D.y??0);return Math.abs(ot)+Math.abs(U)},"getEdgeDistance");for(const T of S.values()){T.sort((D,W)=>{const ot=Te(D),U=Te(W);if(Math.abs(ot.deviation-U.deviation)>1)return ot.deviation-U.deviation;if(Math.abs(ot.dest-U.dest)>1)return ot.dest-U.dest;const z=w(D),bt=w(W);if(Math.abs(z-bt)>1)return bt-z;const dt=l[D].length,ct=l[W].length;if(dt!==ct)return dt-ct;if(dt===1){const st=l[D][0],It=l[W][0];if(h[st]&&h[It]){const Bt=h[st],At=h[It],Gt=Math.abs(Bt.to-Bt.from),ee=Math.abs(At.to-At.from);if(Math.abs(Gt-ee)>1)return Gt-ee}}return 0});const N=T.map(D=>h[l[D][0]]);m+=Ee(N)}return m},"fixSourceHandleCrossings"),yn=d(()=>{let m=0;const S=new Map;for(const[w,T]of s.entries())l[w].length!==0&&T.end&&(S.has(T.end)||S.set(T.end,[]),S.get(T.end).push(w));for(const w of S.values()){w.sort((N,D)=>{const W=d(z=>{const bt=l[z];if(bt.length<2)return 0;const dt=h[bt[bt.length-2]];return Math.abs(dt.to-dt.from)},"getDist"),ot=W(N),U=W(D);return Math.abs(ot-U)>.1?ot-U:N-D});const T=w.map(N=>h[l[N][l[N].length-1]]);m+=Ee(T)}return m},"fixTargetHandleCrossings"),pn=d(()=>{let m=0;for(const S of a){const w=[];for(const T of S.tracks)for(const N of T.segments){const D=l[N.edgeIndex].find(W=>h[W].segmentIndex===N.segmentIndex);D!==void 0&&w.push(h[D])}w.sort((T,N)=>T.edgeIndex-N.edgeIndex||T.segmentIndex-N.segmentIndex);for(let T=0;T{T.segments.forEach(N=>{S.push({edgeIndex:N.edgeIndex,segmentIndex:N.segmentIndex,trackIndex:T.index,from:N.from,to:N.to})})}),S.sort((T,N)=>T.from-N.from);const w=[];if(S.length>0){let T=[S[0]],N=S[0].to;for(let D=1;DN.add(st.trackIndex));const D=new Map;T.forEach(st=>{const It=Te(st.edgeIndex);D.set(st.trackIndex,(D.get(st.trackIndex)??0)+It.delta)});const W=[...N].filter(st=>(D.get(st)??0)<-1),ot=[...N].filter(st=>(D.get(st)??0)>1),U=[...N].filter(st=>Math.abs(D.get(st)??0)<=1);W.sort((st,It)=>(D.get(It)??0)-(D.get(st)??0)),ot.sort((st,It)=>(D.get(st)??0)-(D.get(It)??0));const z=d((st,It)=>{T.filter(Bt=>Bt.trackIndex===st).forEach(Bt=>{const At=x.has(Bt.edgeIndex)?m.coord:It;F.set(`${Bt.edgeIndex}-${Bt.segmentIndex}`,At)})},"assignCoord");let bt=0;for(const st of W)bt++,z(st,m.coord-bt*Tn);if(U.length===0&&N.size>0){const st=[...N].sort((At,Gt)=>Math.abs(D.get(At)??0)-Math.abs(D.get(Gt)??0))[0],It=W.indexOf(st);It!==-1&&W.splice(It,1);const Bt=ot.indexOf(st);Bt!==-1&&ot.splice(Bt,1),U.push(st)}let dt=0;for(const st of U){if(dt===0)z(st,m.coord);else{const It=dt%2===1?1:-1,Bt=Math.ceil(dt/2);z(st,m.coord+It*Bt*Tn*.5)}dt++}let ct=0;for(const st of ot)ct++,z(st,m.coord+ct*Tn)}}for(const[m,S]of s.entries()){const w=l[m]??[];if(w.length===0)continue;const T=[],N=r.get(S.start),D=r.get(S.end),{pSrcPort:W,pDstPort:ot}=nt(m,N,D),U=w.map(dt=>{const ct=h[dt],st=F.get(`${ct.edgeIndex}-${ct.segmentIndex}`)??ct.pipe.coord;return{orient:ct.orientation,coord:st,from:ct.from,to:ct.to}});T.push(W);for(let dt=0;dtlt&&T.push(ve(ct,It)),Gt&&At.orient===ct.orient)if(Math.abs(ct.coord-At.coord)>lt){const ee=ct.orient==="vertical"?(It+At.from)/2:io(ct,At);T.push(ve(ct,ee),ve(At,ee))}else(dt===0||dt===U.length-2)&&T.push(ve(ct,io(ct,At)));else if(Gt)T.push(ve(ct,At.coord));else{const ee=Math.abs(ct.from-It)lt||Math.abs(z.y-ot.y)>lt)&&T.push(ot);const bt=[];T.length>0&&bt.push(T[0]);for(let dt=1;dtlt||Math.abs(ct.y-st.y)>lt)&&bt.push(ct)}S.points=bt}for(const m of s){const S=m.__originalEdge;S&&m.points&&(S.points=m.points)}t.edges=(t.edges??[]).filter(m=>!m.isLayoutOnly);const V=d((m,S)=>{const w=S.x??0,T=S.y??0,N=S.width??0,D=S.height??0;if(N<=0||D<=0)return m;const W=w-N/2,ot=w+N/2,U=T-D/2,z=T+D/2;if(m.xot||m.yz)return m;const bt=m.x-W,dt=ot-m.x,ct=m.y-U,st=z-m.y,It=Math.min(bt,dt,ct,st);return It===bt?{x:W,y:m.y}:It===dt?{x:ot,y:m.y}:It===ct?{x:m.x,y:U}:{x:m.x,y:z}},"nodeBoundaryClamp");for(const m of t.edges){const S=m.points;if(!S||S.length<2)continue;const w=m.start,T=m.end,N=w?r.get(w):void 0,D=T?r.get(T):void 0;N&&(S[0]=V(S[0],N)),D&&(S[S.length-1]=V(S[S.length-1],D))}return t}d(pr,"routeEdgesOrthogonal");function xr(t){return t.direction??"TB"}d(xr,"getSwimlaneDirection");function br(t){var g,p,M,u,h;const e=es(t),n=((g=t.config.flowchart)==null?void 0:g.nodeSpacing)??40,o=((p=t.config.flowchart)==null?void 0:p.rankSpacing)??100,s=((M=t.config.swimlane)==null?void 0:M.ignoreCrossLaneEdges)??!0,r=((u=t.config.swimlane)==null?void 0:u.optimizeRanksByCrossings)??!0,i=((h=t.config.swimlane)==null?void 0:h.automaticLaneOrdering)??!1,a=xr(t),{ordered:c,coordinates:f}=yr(e,{nodeGap:n,layerGap:o,ignoreCrossLaneEdges:s,optimizeRanksByCrossings:r,automaticLaneOrdering:i,direction:a});ns(e,c,f,{nodeGap:n,layerGap:o});for(const l of t.edges??[])delete l.points;pr(t,a);for(const l of t.edges??[])(!l.curve||l.curve==="basis")&&(l.curve="rounded");return Bs(t,a),Ps(t),a}d(br,"runSwimlaneLayoutCore");async function oi(t,e){const n=e.select("g");Or(n,t.markers,t.type,t.diagramId),Pr(),Br(),kr(),Nr(),ts(t);const o=os(t);t.nodes=o.nodes,t.edges=o.edges;const{groups:s}=await Xo(n,t);br(t),await Jo(t,s)}d(oi,"render");export{oi as render}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-DcoaL5Pa.js","assets/visualizations/mermaid/mermaid.core-DS1qXbzQ.js","assets/app/index-B0ly_D9Z.js","assets/styles/index-BXHQDNOZ.css"])))=>i.map(i=>d[i]); +import{_ as Rr}from"../../app/index-B0ly_D9Z.js";import{c as Nr}from"./chunk-RYQCIY6F-Db1h9bio.js";import{aw as Or,v as Pr,t as Br,u as kr,at as Qe,Y as _r,ag as Fr,ad as Dr,aG as Hr,ae as Xr,af as Yr,X as Gr,a6 as $r,P as zr,ba as _e,b3 as Ve,a as d,av as Po}from"./mermaid.core-DS1qXbzQ.js";import{G as Vr}from"../../chunks/graph-Dqkl27Ch.js";import"../../chunks/map-8WAJQ6ap.js";async function Xo(t,e){const n=new Vr({multigraph:!0,compound:!0}),o=[...e.edges],s=_r(),r=t.insert("g").attr("class","root"),i=r.insert("g").attr("class","clusters"),a=r.insert("g").attr("class","edges edgePath"),c=r.insert("g").attr("class","edgeLabels"),f=r.insert("g").attr("class","nodes"),g=new Map,p=t.node()!=null;await Promise.all(e.nodes.map(async M=>{var u;if(M.isGroup)n.setNode(M.id,{...M});else{if(p){const h=await Fr(f,M,{config:s,dir:M.dir}),l=((u=h.node())==null?void 0:u.getBBox())??{width:0,height:0};g.set(M.id,h),M.width=l.width,M.height=l.height}n.setNode(M.id,{...M})}}));for(const M of o)n.setEdge(M.start,M.end,{...M},M.id),e.edges.some(h=>h.id===M.id)||e.edges.push(M);if(globalThis.mermaidCaptureSizes){const{captureNodeSizes:M}=await Rr(async()=>{const{captureNodeSizes:u}=await import("./sizeCapture-X5ZJPWSS-DcoaL5Pa.js");return{captureNodeSizes:u}},__vite__mapDeps([0,1,2,3]));M(t,e)}return{graph:n,groups:{clusters:i,edgePaths:a,edgeLabels:c,nodes:f,rootGroups:r},nodeElements:g}}d(Xo,"createGraphWithElements");var Bo=5,je=1e-5,Ue=1e-6;function tn(t){const e=[];for(let n=0;n=1-Ue||M<=Ue||M>=1-Ue?null:{point:{x:t.x+p*s,y:t.y+p*r},tA:p,tB:M}}d(Yo,"segmentIntersection");function wn(t){return Math.abs(t.b.x-t.a.x)>=Math.abs(t.b.y-t.a.y)}d(wn,"isHorizontalSeg");function Go(t){const e=[];for(let n=0;n=Math.abs(n)?e>=0?1:0:n>=0?1:0}d($o,"getArcSweepFlag");var jr=.001;function zo(t,e){if(t.length<2)return t.map(r=>({...r}));const n=t.map(r=>({...r})),o=e.arrowTypeStart&&Po[e.arrowTypeStart];if(o){const r=t[0],i=t[1],a=Math.atan2(i.y-r.y,i.x-r.x);n[0].x=r.x+o*Math.cos(a),n[0].y=r.y+o*Math.sin(a)}const s=e.arrowTypeEnd&&Po[e.arrowTypeEnd];if(s){const r=t.length,i=t[r-2],a=t[r-1],c=Math.atan2(a.y-i.y,a.x-i.x);n[r-1].x=a.x-s*Math.cos(c),n[r-1].y=a.y-s*Math.sin(c)}return n}d(zo,"applyMarkerOffsets");function Vo(t,e,n,o,s){const r=t.point.x,i=t.point.y,a={x:r-e*t.r,y:i-n*t.r},c={x:r+e*t.r,y:i+n*t.r},f=[`L${Oe(a)}`];return s==="arc"?f.push(`A${le(t.r)},${le(t.r)} 0 0 ${o} ${Oe(c)}`):f.push(`M${Oe(c)}`),f}d(Vo,"emitJump");function An(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,i=n.x-e.x,a=n.y-e.y,c=Math.hypot(s,r),f=Math.hypot(i,a);if(c0){const v=An(s[f-1],s[f],s[f+1]??s[f],Bo);v&&(l=v.cutLen)}let x=p,C=null;r&&fv.t-L.t);for(const v of b)v.r=Math.min(v.r,v.d-l,x-v.d);for(let v=0;vL){const y=L/2;b[v].r=Math.min(b[v].r,y),b[v+1].r=Math.min(b[v+1].r,y)}}for(const v of b)v.r=2?o:null}catch{return null}}d(Ko,"decodeDataPoints");function qo(t,e,n){if(!n.enabled)return;const o=t.node();if(!o)return;const s=new Map;for(const f of e)s.set(f.id,f);const r=[],i=new Map;for(const f of e){const g=typeof CSS<"u"&&CSS.escape?CSS.escape(f.id):f.id,p=o.querySelector(`path[data-id="${g}"]`);if(!p)continue;i.set(f.id,p);const u=Ko(p.getAttribute("data-points"))??f.points;r.push({...f,points:u})}const a=Go(r);if(a.length===0)return;const c=new Map;for(const f of a){const g=c.get(f.jumpEdgeId)??[];g.push(f),c.set(f.jumpEdgeId,g)}for(const f of r){const g=c.get(f.id);if(!g||g.length===0)continue;const p=s.get(f.id),M=p==null?void 0:p.curve;if(M!==void 0&&!Wo(M))continue;const u=i.get(f.id);if(!u)continue;if(M===void 0){const v=u.getAttribute("d")??"";if(!Uo(v))continue}const h=u.getAttribute("style")??"",l=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(h),x=l?Number.parseFloat(l[1]):null,C=l?Number.parseFloat(l[2]):null,b=jo(f,g,n);if(u.setAttribute("d",b),x!==null&&C!==null&&typeof u.getTotalLength=="function"){const v=u.getTotalLength(),L=Math.max(0,v-x-C),y=`0 ${x} ${L} ${C}`,I=h.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${y};`).replace(/;\s*;+/g,";");u.setAttribute("style",I)}}}d(qo,"applyLineJumpsToSvg");async function Jo(t,e){var s,r;for(const i of t.nodes)i.isGroup?await Dr(e.clusters,i):Hr(i);const n=new Map;for(const i of t.nodes)i!=null&&i.id&&n.set(i.id,i);for(const i of t.edges){const a=i.start?n.get(i.start)??{}:{},c=i.end?n.get(i.end)??{}:{},f=Xr(e.edgePaths,{...i},{},t.type,a,c,t.diagramId);i.label&&await Yr(e.rootGroups,i),i.label&&Zo(i,f)}const o=(r=(s=t.config)==null?void 0:s.swimlane)==null?void 0:r.lineHops;if(o!==!1){const i=o==="gap"?"gap":"arc",a=t.edges.filter(c=>Array.isArray(c.points)&&c.points.length>=2).map(c=>({id:c.id,points:c.points,curve:c.curve,arrowTypeStart:c.arrowTypeStart,arrowTypeEnd:c.arrowTypeEnd}));qo(e.edgePaths,a,{enabled:!0,jumpRadius:6,jumpStyle:i})}}d(Jo,"adjustLayout");function Zo(t,e){const n=(e==null?void 0:e.updatedPath)??(e==null?void 0:e.originalPath),o=Gr(),{subGraphTitleTotalMargin:s}=$r({flowchart:o.flowchart??{}});if(t.label){const r=zr.get(t.id);let i=t.x,a=t.y;if(n){const c=_e.calcLabelPosition(n);Qe.debug("Moving label "+t.label+" from (",i,",",a,") to (",c.x,",",c.y,") abc88"),e&&(i=c.x,a=c.y)}r.attr("transform",`translate(${i}, ${a+s/2})`)}if(t!=null&&t.startLabelLeft){const r=Ve.get(t.id).startLeft;let i=t==null?void 0:t.x,a=t==null?void 0:t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}if(t.startLabelRight){const r=Ve.get(t.id).startRight;let i=t.x,a=t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}if(t.endLabelLeft){const r=Ve.get(t.id).endLeft;let i=t.x,a=t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}if(t.endLabelRight){const r=Ve.get(t.id).endRight;let i=t.x,a=t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}}d(Zo,"positionEdgeLabel");var vn="__swimlane_default__",Ur=21,ko=20;function Rn(t){return Math.max(t.padding??ko,ko)}d(Rn,"topLaneHorizontalPadding");function Qo(t){const{x:e,y:n,width:o,height:s}=t,r=t.swimlaneContentTop;if(typeof e!="number"||typeof n!="number"||typeof o!="number"||typeof s!="number"||typeof r!="number"||!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(r)||o<=0||s<=0){delete t.groupTitleRect;return}const i=n-s/2,a=Math.min(r,n+s/2),c=Math.min(Ur,Math.max(0,a-i)),f=i+c;if(f<=i){delete t.groupTitleRect;return}t.groupTitleRect={left:e-o/2,right:e+o/2,top:i,bottom:f}}d(Qo,"assignTopLaneTitleRect");function ts(t){const e=t.direction,n=t.nodes??(t.nodes=[]);for(const r of t.nodes??[])r.isGroup&&!r.parentId&&(r.shape="swimlane",e&&(r.direction=e));const o=n.filter(r=>!r.isGroup&&!r.parentId);if(o.length===0)return;let s=n.find(r=>r.id===vn);s?s.isGroup&&(s.shape="swimlane",e&&(s.direction=e)):(s={id:vn,label:"",isGroup:!0,shape:"swimlane",padding:20,...e?{direction:e}:{}},n.push(s));for(const r of o)r.parentId=vn}d(ts,"prepareLayoutForSwimlanes");function es(t){const e=new Map;for(const c of t.nodes??[])e.set(c.id,c);const n=[];for(const c of t.edges??[]){const f=typeof c.start=="string"?c.start:void 0,g=typeof c.end=="string"?c.end:void 0;!f||!g||c.labelNodeId||n.push({id:c.id,src:f,dst:g,ref:c})}const o=t.nodes??[],s=o.filter(c=>c.isGroup),r=o.filter(c=>!c.isGroup);return{nodes:[...[...s].reverse(),...r].map(c=>c.id),edges:n,layout:t,nodeById:e}}d(es,"toGraphView");function ns(t,e,n,o){const{layout:s}=t,r=t.nodeById,i=(o==null?void 0:o.layerGap)??100,a=(o==null?void 0:o.nodeGap)??40;let c=0;for(const M of e.layers){let u=0;for(const h of M){const l=r.get(h);if(!l){u++;continue}l.layer=c,l.order=u;const x=n.x[h]??u*a,C=n.y[h]??c*i;l.x=x,l.y=C,u++}c++}const f=s.nodes??[],g=new Map,p=[];for(const M of f){if(!(M!=null&&M.isGroup))continue;M.parentId||p.push(M);const u=f.filter(b=>b.parentId===M.id);let h=1/0,l=-1/0,x=1/0,C=-1/0;for(const b of u){const v=b.x??n.x[b.id],L=b.y??n.y[b.id],y=b.width??0,I=b.height??0;v!=null&&L!=null&&(h=Math.min(h,v-y/2),l=Math.max(l,v+y/2),x=Math.min(x,L-I/2),C=Math.max(C,L+I/2))}if(h===1/0||x===1/0)M.x=M.x??0,M.y=M.y??0,M.width=M.width??0,M.height=M.height??0;else{const b=M.padding??20,v=M.parentId?b:2*Rn(M),L=b,y=Math.max(0,l-h)+v,I=Math.max(0,C-x)+L,E=(h+l)/2,A=(x+C)/2;M.x=E,M.y=A,M.width=y,M.height=I,g.set(M.id,{minX:h,maxX:l,minY:x,maxY:C})}}if(p.length>0&&g.size>0){let M=1/0,u=-1/0,h=0;for(const l of p){const x=l.padding??20;x>h&&(h=x);const C=g.get(l.id);C&&(M=Math.min(M,C.minY),u=Math.max(u,C.maxY))}if(M!==1/0&&u!==-1/0){const l=Math.max(0,u-M),C=Math.max(h,36),b=l+2*C,v=(M+u)/2;for(const B of p)B.y=v,B.height=b,B.swimlaneContentTop=M;const L=[...p].sort((B,O)=>{const k=B.x??0,H=O.x??0;return k-H}),y=[],I=[],E=[];for(const B of L){const O=g.get(B.id);if(!O)continue;const k=Math.max(0,O.maxX-O.minX)+2*Rn(B),H=(O.minX+O.maxX)/2;y.push(B.id),I.push(H),E.push(k)}const A=y.length;if(A>0){const B=new Map;if(A===1)B.set(y[0],E[0]);else{const O=[];for(let j=0;j0&&s>0?{cx:e,cy:n,rect:Pe(e,n,o,s)}:void 0}d(co,"measuredNodeRect");function ao(t){if(t.isGroup)return;const e=co(t);return e?{id:String(t.id??""),cx:e.cx,cy:e.cy,rect:e.rect}:void 0}d(ao,"nodeBoundsInfoFor");function ce(t,e,n=Yt){return Math.abs(t.x-e.x)n}d(Nt,"isHorizontalSegment");function Ot(t,e,n=Yt){return gt(t,e,n)&&Math.abs(t.y-e.y)>n}d(Ot,"isVerticalSegment");function Wt(t,e,n,o){return Math.max(0,Math.min(Math.max(t,e),Math.max(n,o))-Math.max(Math.min(t,e),Math.min(n,o)))}d(Wt,"overlapLength");function de(t,e,n=Yt){return t.horizontal&&e.horizontal&&yt(t.a,e.a,n)?Wt(t.a.x,t.b.x,e.a.x,e.b.x):t.vertical&&e.vertical&>(t.a,e.a,n)?Wt(t.a.y,t.b.y,e.a.y,e.b.y):0}d(de,"sameAxisSegmentOverlapLength");function Be(t,e=Yt){const n=[];for(let o=0;o0?n[n.length-1]:void 0;(!s||!ce(s,o,e))&&n.push({x:o.x,y:o.y})}return n}d(xt,"dedupeConsecutivePoints");function lo(t,e=Yt){if(!t||t.length!==4)return;const[n,o,s,r]=t;return Nt(n,o,e)&&Ot(o,s,e)&&Nt(s,r,e)?{kind:"HVH",p0:n,p1:o,p2:s,p3:r}:Ot(n,o,e)&&Nt(o,s,e)&&Ot(s,r,e)?{kind:"VHV",p0:n,p1:o,p2:s,p3:r}:void 0}d(lo,"classifyThreeSegmentRoute");function dn(t,e,n,o=0){const s=Math.min(t.x,e.x),r=Math.max(t.x,e.x),i=Math.min(t.y,e.y),a=Math.max(t.y,e.y);return r>n.left-o&&sn.top-o&&ie.left+n&&t.xe.top+n&&t.y=e.right&&t.top<=e.top&&t.bottom>=e.bottom}d(ss,"rectContainsRect");function en(t,e){return t.lefte.left&&t.tope.top}d(en,"rectsOverlap");function Nn(t,e){return{left:t.left-e,right:t.right+e,top:t.top-e,bottom:t.bottom+e}}d(Nn,"inflateRect");function Pe(t,e,n,o){return{left:t-n/2,right:t+n/2,top:e-o/2,bottom:e+o/2}}d(Pe,"rectFromCenterSize");function te(t){var e;return(e=co(t))==null?void 0:e.rect}d(te,"rectOfNodeBounds");function Le(t,e){switch(e){case"top":return{x:t.cx,y:t.rect.top};case"bottom":return{x:t.cx,y:t.rect.bottom};case"left":return{x:t.rect.left,y:t.cy};case"right":return{x:t.rect.right,y:t.cy}}}d(Le,"portForRectSide");function uo(t,e,n,o,s,r=Yt){const i=e==="left"||e==="right",a=o==="left"||o==="right";if(i&&a){if(e==="right"&&o==="left"&&t.xn.x){if(yt(t,n,r))return[t,n];const p=(t.x+n.x)/2;return[t,{x:p,y:t.y},{x:p,y:n.y},n]}if(e===o){if(yt(t,n,r))return;const p=e==="left"?Math.min(t.x,n.x)-s:Math.max(t.x,n.x)+s;return[t,{x:p,y:t.y},{x:p,y:n.y},n]}return}if(!i&&!a){if(e===o){if(gt(t,n,r))return;const M=e==="top"?Math.min(t.y,n.y)-s:Math.max(t.y,n.y)+s;return[t,{x:t.x,y:M},{x:n.x,y:M},n]}if(!(e==="bottom"&&o==="top"&&t.yn.y))return;if(gt(t,n,r))return[t,n];const p=(t.y+n.y)/2;return[t,{x:t.x,y:p},{x:n.x,y:p},n]}if(i&&!a){const g=e==="right"&&n.x>t.x||e==="left"&&n.xn.y;return g&&p?[t,{x:n.x,y:t.y},n]:void 0}const c=e==="bottom"&&n.y>t.y||e==="top"&&n.yn.x;return c&&f?[t,{x:t.x,y:n.y},n]:void 0}d(uo,"buildOrthogonalPortPath");function ho(t,e,n,o){return e==="left"||e==="right"?[t,{x:o,y:t.y},{x:o,y:n.y},n]:[t,{x:t.x,y:o},{x:n.x,y:o},n]}d(ho,"buildSameSideTrackPath");function un(t){const e=new Map,n=[];for(const o of t){if(o.isEdgeLabel)continue;const s=ao(o);s&&(e.set(s.id,s),n.push({id:s.id,rect:s.rect}))}return{nodeInfoById:e,realNodeRects:n}}d(un,"collectRealNodeBounds");function Me(t){const e=[],n=[];for(const o of t){const s=ao(o);if(!s)continue;const r={id:s.id,rect:s.rect};o.isEdgeLabel?n.push(r):e.push(r)}return{realNodeRects:e,labelNodeRects:n}}d(Me,"collectNodeRectEntries");function rs(t,{includeEdgeLabels:e=!0}={}){const n=[];for(const o of t){if(o.isGroup||!e&&o.isEdgeLabel)continue;const s=o.x??0,r=o.y??0,i=o.width??0,a=o.height??0;n.push({nodeId:o.id,...Pe(s,r,i,a)})}return n}d(rs,"collectLayoutNodeRects");function go(t,e,n=Yt){const o=t.start,s=t.end;if(!o||!s)return;const r=e.get(o),i=e.get(s);if(!(!r||!i))return{srcId:o,dstId:s,srcInfo:r,dstInfo:i,collinearX:Math.abs(r.cx-i.cx)h||MC)return!1;const b=Math.abs(l-g.a.x)s:r&&a&&yt(t,n,s)?Wt(t.x,e.x,n.x,o.x)>s:!1}d(is,"sameAxisSegmentsOverlap");function nn(t,e,n,o,{epsilon:s=Yt,skipDegenerateOther:r=!1}={}){for(const i of n){if(i===o||i.isLayoutOnly)continue;const a=i.points;if(!(!a||a.length<2))for(let c=0;cM+s&&hl+s&&po+Yt&&t=2?e[e.length-2]:void 0,c=(i?gt(i,s):!1)?{x:s.x,y:r.y}:{x:r.x,y:s.y};e.push(c)}e.push(r)}const n=[];for(const o of e){const s=n[n.length-1];(!s||!ce(s,o))&&n.push(o)}return n}d(on,"orthogonalizePolyline");function ue(t){if(t.length<3)return t;let e=[...t];for(let n=0;n<32;n++){const o=as(e);if(e=o.points,!o.changed)break}return e}d(ue,"simplifyPolyline");var it=.001,Kr=.5,_o=4;function yo(t,e,n){const o=t;if(o.isLayoutOnly||!o.points||o.points.length=0&&s=t.length)return t;const r=s-o;if(r<0||r>=t.length)return t;const i=ls(t[s],t[r],e);return n?[i,...t.slice(s)]:[...t.slice(0,s+1),i]}d(Pn,"clipEndpoint");function fs(t,e){for(const n of t){const o=yo(n,e,2);if(!o)continue;let s=[...o.points];o.srcRect&&(s=Pn(s,o.srcRect,!0)),o.dstRect&&(s=Pn(s,o.dstRect,!1)),s=ue(on(s)),s=po(s,o.srcRect,o.dstRect),o.edge.points=ue(on(s))}}d(fs,"clipEdgeEndpointsToNodeBoundaries");function Bn(t,e,n,o=!1){if(yt(t,e,it)){if(e.yn.bottom+it)return e;if(o){if(t.xn.right+it)return{x:n.right,y:t.y}}return{x:Math.abs(e.x-n.left)<=Math.abs(e.x-n.right)?n.left:n.right,y:t.y}}if(gt(t,e,it)){if(e.xn.right+it)return e;if(o){if(t.yn.bottom+it)return{x:t.x,y:n.bottom}}const s=Math.abs(e.y-n.top)<=Math.abs(e.y-n.bottom);return{x:t.x,y:s?n.top:n.bottom}}return e}d(Bn,"snapEndpointToBoundary");function sn(t,e,n){const o=t[e];for(let s=e+n;s>=0&&so.lo)),n=Math.min(...t.map(o=>o.hi));if(!(e>n))return{lo:e,hi:n}}d(ds,"intersectRanges");function _n(t,e){return e==="left"||e==="right"?rn(t.top,t.bottom):rn(t.left,t.right)}d(_n,"clearanceRangeForSide");function cn(t,e,n){const o=t.y>=n.top-it&&t.y<=n.bottom+it,s=t.x>=n.left-it&&t.x<=n.right+it;if(yt(t,e,it)&&o){if(Math.abs(t.x-n.left)0?ds(r):void 0}d(us,"straightClearanceRange");function Fn(t,e,n,o,s){const r=us(t,e,n,o,s);if(!r)return;const i=s?t.y:t.x,a=Math.min(r.hi,Math.max(r.lo,i));if(!(Math.abs(a-i)({...a}));for(let a=e;a>=0&&a=n.left-it&&Math.max(t.x,e.x)<=n.right+it,s=Math.min(t.y,e.y)>=n.top-it&&Math.max(t.y,e.y)<=n.bottom+it;if(Math.abs(t.y-n.top)o.bottom+it;case"left":return yt(e,n,it)&&n.xo.right+it}}d(Xn,"leavesOutward");function Yn(t,e,n){if(t.length<3)return t;if(n){const r=Hn(t[0],t[1],e);return r&&Xn(r,t[1],t[2],e)?t.slice(1):t}const o=t.length-1,s=Hn(t[o-1],t[o],e);return s&&Xn(s,t[o-1],t[o-2],e)?t.slice(0,o):t}d(Yn,"collapseOwnBorderStub");function ms(t,e,n){let o=t;if(e){const r=sn(o,0,1);if(r){const i=Bn(r,o[0],e);i!==o[0]&&(o=[i,...o.slice(1)])}o=Yn(o,e,!0)}if(n){const r=o.length-1,i=sn(o,r,-1);if(i){const a=Bn(i,o[r],n,!0);a!==o[r]&&(o=[...o.slice(0,r),a])}o=Yn(o,n,!1)}const s=po(o,e,n);return s!==o||o.length===2?s:(e&&(o=Dn(o,e,!0)),n&&(o=Dn(o,n,!1)),o)}d(ms,"snapAndCollapseEndpoints");function Gn(t,e){for(const n of t){const o=yo(n,e,2);if(!o)continue;const s=xt(o.points,it),r=ms(s,o.srcRect,o.dstRect);if(r.length<3){o.edge.points=r;continue}const i=[r[0],{...r[0]},...r.slice(1,-1),r[r.length-1],{...r[r.length-1]}];o.edge.points=i}}d(Gn,"prepareEdgeEndpointsForRenderer");function xo(t){return new Map(t.map(e=>[e.id,e]))}d(xo,"buildNodeMap");function ys(t,e){let n=t.parentId,o=null;for(;n;){const s=e.get(n);if(!(s!=null&&s.isGroup))break;o=s.id,n=s.parentId}return o}d(ys,"resolveTopLevelGroupId");function $n(t,e){let n=0,o=t.parentId;for(;o;){const s=e.get(o);if(!(s!=null&&s.isGroup))break;n++,o=s.parentId}return n}d($n,"groupDepth");function bo(t){let e=1/0,n=-1/0,o=1/0,s=-1/0;for(const r of t){const i=r.x,a=r.y;if(typeof i!="number"||typeof a!="number")continue;const c=r.width??0,f=r.height??0;e=Math.min(e,i-c/2),n=Math.max(n,i+c/2),o=Math.min(o,a-f/2),s=Math.max(s,a+f/2)}return e===1/0||o===1/0?null:{minX:e,maxX:n,minY:o,maxY:s}}d(bo,"boundsForChildren");function ps(t,e){const n=t.padding??20;t.x=(e.minX+e.maxX)/2,t.y=(e.minY+e.maxY)/2,t.width=Math.max(0,e.maxX-e.minX)+n,t.height=Math.max(0,e.maxY-e.minY)+n}d(ps,"applyGroupBounds");function xs(t){const e=xo(t),n=t.filter(o=>o.isGroup&&o.parentId).sort((o,s)=>$n(s,e)-$n(o,e));for(const o of n){const s=t.filter(i=>i.parentId===o.id),r=bo(s);r&&ps(o,r)}}d(xs,"recomputeNestedGroupBounds");function an(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(c=>!c.isGroup);let r=1/0,i=-1/0;for(const c of s){const f=c[e];typeof f=="number"&&(r=Math.min(r,f),i=Math.max(i,f))}if(!Number.isFinite(r)||!Number.isFinite(i))return!1;const a=d(c=>r+i-c,"mirror");for(const c of n){const f=c[e];typeof f=="number"&&(c[e]=a(f));const g=c.groupTitleRect;g&&(c.groupTitleRect=e==="x"?{...g,left:a(g.right),right:a(g.left)}:{...g,top:a(g.bottom),bottom:a(g.top)})}for(const c of o)for(const f of c.points??[])f[e]=a(f[e]);return!0}d(an,"mirrorAxis");function bs(t){return(t.nodes??[]).some(n=>!n.isGroup)?an(t,"y"):!0}d(bs,"applyBtDirectionTransform");function Ms(t,e="LR"){const n=t.nodes??[],o=t.edges??[],s=n.filter(P=>!P.isGroup);let r=1/0,i=1/0;for(const P of s){const G=P.x??0,j=P.y??0;G0?Math.max(1,g/p):1;for(const P of s){const G=P.x??0,tt=((P.y??0)-i)*M+a,ft=G-r;P.x=tt,P.y=ft}for(const P of o)if(P.points)for(const G of P.points){const j=G.x,ft=(G.y-i)*M+a,Mt=j-r;G.x=ft,G.y=Mt}xs(n);const u=n.filter(P=>P.isGroup&&!P.parentId);if(u.length===0)return e==="RL"&&an(t,"x"),!0;const h=xo(n),l=new Map;for(const P of n){if(P.isGroup)continue;const G=ys(P,h);if(!G)continue;const j=l.get(G)??[];j.push(P),l.set(G,j)}let x=0;for(const P of u){const G=P.padding??0;G>x&&(x=G)}const C=[];let b=1/0,v=-1/0;for(const P of u){const G=l.get(P.id)??[],j=bo(G);j&&(b=Math.min(b,j.minX),v=Math.max(v,j.maxX),C.push({lane:P,contentTop:j.minY,contentBottom:j.maxY,centerY:(j.minY+j.maxY)/2}))}if(b===1/0||v===-1/0)return!0;const L=Math.max(0,v-b),y=Math.max(x,10),I=L+2*y,E=a+I,O=(b+v)/2-I/2-a,k=O+E/2,H=Math.max(x,a);C.sort((P,G)=>P.centerY-G.centerY);for(let P=0;PM.cy?C.bottom:C.top,H=M.cx+b;if(H<=C.left+ae||H>=C.right-ae)continue;v={x:H,y:k},L={x:H,y:a.y},y={x:a.x,y:a.y}}else{const k=u.cx>M.cx?C.right:C.left,H=M.cy+b;if(H<=C.top+ae||H>=C.bottom-ae)continue;v={x:k,y:H},L={x:a.x,y:H},y={x:a.x,y:a.y}}const I=ce(v,L,ae),E=ce(L,y,ae);if(I&&E||!I&&Pt(v,L,o,[g],1)||!E&&Pt(L,y,o,[p],1))continue;const A=!I&&nn(v,L,t,s,{epsilon:ae,skipDegenerateOther:!0}),B=!E&&nn(L,y,t,s,{epsilon:ae,skipDegenerateOther:!0});if(!(A||B)){I?x=[L,y]:E?x=[v,L]:x=[v,L,y];break}}x&&(s.points=x)}}d(Is,"portSwapToLShape");function Ss(t,e){const{realNodeRects:r,labelNodeRects:i}=Me(e.values());for(const a of t){if(a.isLayoutOnly)continue;const c=a.points;if(!c||c.length<4)continue;const f=xt(c,.001);if(f.length<4)continue;const g=f.length-1,p=f[g],M=f[g-1],u=f[g-2],h=p.x-M.x,l=p.y-M.y,x=Math.hypot(h,l);if(x>=10||x<.001)continue;const C=M.x-u.x,b=M.y-u.y;if(Math.hypot(C,b)<.001)continue;const L=Nt(M,p,.001),y=Ot(M,p,.001),I=Nt(u,M,.001),E=Ot(u,M,.001);if(!(L&&E||y&&I))continue;const A=a.end,B=a.start,O=A?e.get(A):void 0;if(!O)continue;const k=O.x??0,H=O.y??0,P=te(O);if(!P)continue;let G,j;if(E){const J=b<0;G={x:k,y:u.y},j={x:k,y:J?P.bottom:P.top}}else{const J=C>0;G={x:u.x,y:H},j={x:J?P.right:P.left,y:H}}if(Pt(G,j,r,A?[A]:[],-2)||Pt(G,j,i,[],-2))continue;if(B){const J=e.get(B),rt=J?te(J):void 0;if(rt&&fo(G,rt,2))continue}const tt=d((J,rt)=>`${J.x.toFixed(3)},${J.y.toFixed(3)}|${rt.x.toFixed(3)},${rt.y.toFixed(3)}`,"ownSegmentKey"),ft=new Set;for(let J=0;J{for(const ut of t){if(ut===a||ut.isLayoutOnly)continue;const pt=ut.points;if(!(!pt||pt.length<2))for(let St=0;St=0){const J=f[g-3],rt=[B,A].filter(ut=>!!ut);if(Pt(J,G,r,rt,-2)||Mt(J,G))continue}const Ft=[...f.slice(0,g-2),G,j];a.points=Ft;const nt=a.labelNodeId;if(nt){const J=e.get(nt);if(J){const rt=J.width??0,ut=J.height??0;if(rt>0&&ut>0){let pt,St,wt=-1;for(let Kt=0;Kt=rt+2||me&&se>=ut+2)&&se>wt&&(wt=se,pt=(qt.x+Jt.x)/2,St=(qt.y+Jt.y)/2)}pt!==void 0&&St!==void 0&&(J.x=pt,J.y=St)}}}}}d(Ss,"collapseShortTerminalStub");var et=.001,Xt=8,at=Be,Ln=d((t,e)=>gt(t,e,et)||yt(t,e,et),"orthogonallyAligned");function Cs(t,e){const s=d((u,h)=>{const l=u.x??0,x=u.y??0,C=h.x-l,b=h.y-x;let v=(u.width??0)/2,L=(u.height??0)/2;return Math.abs(b)*v>Math.abs(C)*L?(b<0&&(L=-L),{x:l+(b===0?0:L*C/b),y:x+L}):(C<0&&(v=-v),{x:l+v,y:x+(C===0?0:v*b/C)})},"rectIntersect"),r=d((u,h)=>{const l=xt(u.points??[]);if(l.length<2)return;const x=h?u.start:u.end,C=x?e.get(x):void 0,b=C?te(C):void 0;if(!C||!x||!b)return;const v=h?l[0]:l[l.length-1],L=h?l[1]:l[l.length-2],y=s(C,v);let I=v;if(Ln(L,y)&&(I=L),gt(y,I,et))return{edge:u,edgeId:String(u.id??""),nodeId:x,atStart:h,orientation:"V",coord:y.x,min:Math.min(y.y,I.y),max:Math.max(y.y,I.y),boundary:y,railEnd:I,rect:b};if(yt(y,I,et))return{edge:u,edgeId:String(u.id??""),nodeId:x,atStart:h,orientation:"H",coord:y.y,min:Math.min(y.x,I.x),max:Math.max(y.x,I.x),boundary:y,railEnd:I,rect:b}},"terminalLaneFor"),i=d((u,h)=>Math.max(0,Math.min(u.max,h.max)-Math.max(u.min,h.min)),"projectedOverlapLength"),a=d((u,h)=>u.nodeId!==h.nodeId||u.orientation!==h.orientation?!1:u.orientation==="H"?(Math.abs(u.boundary.x-u.rect.left)<1||Math.abs(u.boundary.x-u.rect.right)<1)&>(u.boundary,h.boundary,1):(Math.abs(u.boundary.y-u.rect.top)<1||Math.abs(u.boundary.y-u.rect.bottom)<1)&&yt(u.boundary,h.boundary,1),"sameTerminalFace"),c=d((u,h)=>u.nodeId!==h.nodeId||u.orientation!==h.orientation?!1:i(u,h)>=Xt&&Math.abs(u.coord-h.coord)<.5,"exactTerminalLaneConflict"),f=d((u,h)=>{if(u.nodeId!==h.nodeId||u.orientation!==h.orientation||u.orientation!=="H"||u.atStart===h.atStart)return!1;const l=i(u,h);if(l2*x?!1:a(u,h)&&Math.abs(u.coord-h.coord)<16},"nearTerminalLaneConflict"),g=d((u,h)=>{const l=xt(u.edge.points??[]);if(l.length<2)return;const x=u.orientation==="V"?{x:u.boundary.x+h,y:u.boundary.y}:{x:u.boundary.x,y:u.boundary.y+h},C=u.orientation==="V"?{x:u.railEnd.x+h,y:u.railEnd.y}:{x:u.railEnd.x,y:u.railEnd.y+h};if(!d(()=>Math.abs(u.boundary.y-u.rect.top)<1||Math.abs(u.boundary.y-u.rect.bottom)<1?yt(x,u.boundary,et)&&x.x>=u.rect.left+1&&x.x<=u.rect.right-1:Math.abs(u.boundary.x-u.rect.left)<1||Math.abs(u.boundary.x-u.rect.right)<1?gt(x,u.boundary,et)&&x.y>=u.rect.top+1&&x.y<=u.rect.bottom-1:!1,"boundaryStaysOnSameFace")())return;if(u.atStart){const I=l.length>1&&ce(l[1],u.railEnd,et),E=l.slice(I?2:1),A=E[0];return A&&!Ln(A,C)?void 0:[x,C,...E]}const v=l.length>1&&ce(l[l.length-2],u.railEnd,et),L=l.slice(0,v?-2:-1),y=L[L.length-1];if(!(y&&!Ln(y,C)))return[...L,C,x]},"shiftedCandidate"),p=d(u=>{const h=u.edge,l=xt(h.points??[]);if(l.length!==2)return!1;const x=h.start,C=h.end,b=x?e.get(x):void 0,v=C?e.get(C):void 0;if(!b||!v)return!1;const L=b.x??0,y=b.y??0,I=v.x??0,E=v.y??0,[A,B]=l;return yt(A,B,et)&&Math.abs(y-E)<1&&Math.abs(L-I)>1||gt(A,B,et)&&Math.abs(L-I)<1&&Math.abs(y-E)>1},"laneIsStraightCollinearConnector"),M=[-7,7,-2*7,2*7,-3*7,3*7];for(let u=0;u<8;u++){const h=t.filter(x=>!x.isLayoutOnly).flatMap(x=>[r(x,!0),r(x,!1)]).filter(x=>!!x);let l=!1;for(let x=0;x{const A=p(I),B=p(E);return A!==B?Number(A)-Number(B):+!E.atStart-+!I.atStart});for(const I of y){for(const E of M){const A=g(I,E);if(!A)continue;const B=r({...I.edge,points:A},I.atStart);if(!(!B||h.some(O=>O.edge!==I.edge&&(c(B,O)||L&&f(B,O))))){I.edge.points=A,l=!0;break}}if(l)break}}if(!l)return}}d(Cs,"separateSharedRenderedTerminalLanes");function vs(t,e){const{realNodeRects:o,labelNodeRects:s}=Me(e.values()),r=d((a,c)=>{const f=a.start,g=a.end,p=at(c);if(p.length!==c.length-1)return!1;const M=[f,g].filter(u=>!!u);for(const u of p)if(Pt(u.a,u.b,o,M,-2)||Pt(u.a,u.b,s,[],-2))return!1;for(const u of t){if(u===a||u.isLayoutOnly)continue;const h=u.points;if(!(!h||h.length<2)){for(const l of p)for(const x of at(xt(h)))if(de(l,x,.5)>=Xt||he(l.a,l.b,x.a,x.b,et))return!1}}return!0},"candidateIsSafe"),i=d((a,c)=>{if(c+4>=a.length)return;const f=a[c],g=a[c+1],p=a[c+2],M=a[c+3],u=a[c+4],h=Nt(f,g)&&Ot(g,p)&&Nt(p,M)&&Ot(M,u)&>(f,M,et)&>(f,u,et)&>(g,p,et)&&(g.x-f.x)*(M.x-p.x)<0,l=Ot(f,g)&&Nt(g,p)&&Ot(p,M)&&Nt(M,u)&&yt(f,M,et)&&yt(f,u,et)&&yt(g,p,et)&&(g.y-f.y)*(M.y-p.y)<0;if(h||l)return xt([...a.slice(0,c+1),u,...a.slice(c+5)]);if(c+5>=a.length)return;const x=a[c+5],C=Ot(f,g)&&Nt(g,p)&&Ot(p,M)&&Nt(M,u)&&Ot(u,x)&>(f,u,et)&>(f,x,et)&>(p,M,et)&&(p.x-g.x)*(u.x-M.x)<0,b=Nt(f,g)&&Ot(g,p)&&Nt(p,M)&&Ot(M,u)&&Nt(u,x)&&yt(f,u,et)&&yt(f,x,et)&&yt(p,M,et)&&(p.y-g.y)*(u.y-M.y)<0;if(!(!C&&!b))return xt([...a.slice(0,c+1),x,...a.slice(c+6)])},"withoutDogleg");for(let a=0;a<8;a++){let c=!1;for(const f of t){if(f.isLayoutOnly)continue;const g=xt(f.points??[]);for(let p=0;p<=g.length-5;p++){const M=i(g,p);if(!(!M||!r(f,M))){f.points=M,c=!0;break}}if(c)break}if(!c)return}}d(vs,"collapseRedundantRectangularDoglegs");function zn(t,e){const{realNodeRects:r,labelNodeRects:i}=Me(e.values()),a=t.filter(h=>!h.isLayoutOnly),c=d((h,l,x)=>xt(h===l?x??[]:h.points??[]),"pointsFor"),f=d((h,l)=>{let x=0;for(let C=0;C{const l=at(h);if(l.length!==3)return;const x=l[1];if(!(l[0].horizontal===x.horizontal||l[2].horizontal===x.horizontal))return{index:x.index,horizontal:x.horizontal,vertical:x.vertical,segment:x}},"middleRail"),p=d((h,l)=>{const x=[h.start,h.end].filter(C=>!!C);return r.filter(C=>{if(x.includes(C.id))return!1;const b=C.rect;return l.horizontal?Wt(l.a.x,l.b.x,b.left,b.right)>=Xt&&l.a.y>=b.top-2&&l.a.y<=b.bottom+2:Wt(l.a.y,l.b.y,b.top,b.bottom)>=Xt&&l.a.x>=b.left-2&&l.a.x<=b.right+2})},"blockingRectsFor"),M=d((h,l,x)=>{const C=h.map(v=>({...v}));if(l.horizontal)C[l.index].y=x,C[l.index+1].y=x;else if(l.vertical)C[l.index].x=x,C[l.index+1].x=x;else return;const b=ue(xt(C));return at(b).length===b.length-1?b:void 0},"candidateByMovingRail"),u=d((h,l,x)=>{const C=[h.start,h.end].filter(v=>!!v),b=at(l);if(b.length!==l.length-1)return!1;for(const v of b)if(Pt(v.a,v.b,r,C,-2)||Pt(v.a,v.b,i,[],-2))return!1;for(const v of a)if(v!==h){for(const L of b)for(const y of at(c(v)))if(de(L,y,.5)>=Xt)return!1}return f(h,l)<=x},"candidateIsSafe");for(let h=0;h<8;h++){const l=f();let x=!1;for(const C of a){const b=c(C),v=g(b);if(!v)continue;const L=p(C,v.segment);if(L.length===0)continue;const y=v.horizontal?[Math.min(...L.map(I=>I.rect.top))-20,Math.max(...L.map(I=>I.rect.bottom))+20]:[Math.min(...L.map(I=>I.rect.left))-20,Math.max(...L.map(I=>I.rect.right))+20];for(const I of y){const E=M(b,v.segment,I);if(!(!E||!u(C,E,l))){C.points=E,x=!0;break}}if(x)break}if(!x)return}}d(zn,"liftObstacleHuggingSameSideRails");function Vn(t,e){const o=d(c=>{const f=c.groupTitleRect;if(!(!f||typeof f.left!="number"||typeof f.right!="number"||typeof f.top!="number"||typeof f.bottom!="number"||!Number.isFinite(f.left)||!Number.isFinite(f.right)||!Number.isFinite(f.top)||!Number.isFinite(f.bottom)||f.right<=f.left||f.bottom<=f.top))return{left:f.left,right:f.right,top:f.top,bottom:f.bottom}},"validTitleRect"),s=d(c=>{if(!c.isGroup||c.parentId)return;const f=c.direction,g=typeof f=="string"?f.toUpperCase():"";if(g==="LR"||g==="RL"||g==="BT")return;const p=o(c),M=c.y,u=c.height;if(!p||typeof M!="number"||typeof u!="number"||!Number.isFinite(M)||!Number.isFinite(u)||u<=0)return;const h=p.right-p.left,l=p.bottom-p.top;if(!(l<=0||h{if(!c.horizontal)return!1;const g=c.a.y;return g<=f.top+et||g>=f.bottom-et?!1:Wt(c.a.x,c.b.x,f.left,f.right)>=Xt},"horizontalSegmentIntersectsTitle"),i=[...e.values()].map(s).filter(c=>!!c);if(i.length===0)return;let a=0;for(const c of t){if(c.isLayoutOnly)continue;const f=xt(c.points??[]);for(const g of at(f))for(const p of i)r(g,p.rect)&&(a=Math.max(a,p.rect.bottom-g.a.y+4))}if(!(a<=et))for(const c of i){const f=c.node.y,g=c.node.height;typeof f!="number"||typeof g!="number"||!Number.isFinite(f)||!Number.isFinite(g)||g<=0||(c.node.y=f-a/2,c.node.height=g+a,c.node.groupTitleRect={...c.rect,top:c.rect.top-a,bottom:c.rect.bottom-a})}}d(Vn,"liftTopLaneTitleBandsAboveRails");function jn(t,e){const o=d(f=>{const g=f.groupTitleRect;if(!(!g||typeof g.left!="number"||typeof g.right!="number"||typeof g.top!="number"||typeof g.bottom!="number"||!Number.isFinite(g.left)||!Number.isFinite(g.right)||!Number.isFinite(g.top)||!Number.isFinite(g.bottom)||g.right<=g.left||g.bottom<=g.top))return{left:g.left,right:g.right,top:g.top,bottom:g.bottom}},"validTitleRect"),s=d(f=>{if(!f.isGroup||f.parentId||f.direction!=="LR")return;const p=o(f),M=f.x,u=f.width;if(!p||typeof M!="number"||typeof u!="number"||!Number.isFinite(M)||!Number.isFinite(u)||u<=0)return;const h=p.right-p.left,l=p.bottom-p.top;if(!(h<=0||l{if(!f.vertical)return!1;const p=f.a.x;return p<=g.left+et||p>=g.right-et?!1:Wt(f.a.y,f.b.y,g.top,g.bottom)>=Xt},"verticalSegmentIntersectsTitle"),i=d((f,g)=>{if(!f.horizontal)return!1;const p=f.a.y;return p<=g.top+et||p>=g.bottom-et?!1:Wt(f.a.x,f.b.x,g.left,g.right)>=Xt},"horizontalSegmentIntersectsTitle"),a=[...e.values()].map(s).filter(f=>!!f);if(a.length===0)return;let c=0;for(const f of t){if(f.isLayoutOnly)continue;const g=xt(f.points??[]);for(const p of at(g))for(const M of a)if(r(p,M.rect))c=Math.max(c,M.rect.right-p.a.x+4);else if(i(p,M.rect)){const u=Math.min(p.a.x,p.b.x);c=Math.max(c,M.rect.right-u+4)}}if(!(c<=et))for(const f of a){const g=f.node.x,p=f.node.width;typeof g!="number"||typeof p!="number"||!Number.isFinite(g)||!Number.isFinite(p)||p<=0||(f.node.x=g-c/2,f.node.width=p+c,f.node.groupTitleRect={...f.rect,left:f.rect.left-c,right:f.rect.right-c})}}d(jn,"shiftLeftLaneTitleBandsLeftOfRails");function Ls(t,e){const{realNodeRects:o}=Me(e.values()),s=t.filter(h=>!h.isLayoutOnly),r=d((h,l=new Map)=>xt(l.get(h)??h.points??[]),"replacementPointsFor"),i=d((h=new Map)=>{let l=0;for(let x=0;xs.reduce((l,x)=>l+oe(r(x,h)),0),"totalBends"),c=d(h=>{const l=r(h);if(l.length<4)return;const x=l[l.length-2],C=l[l.length-1];if(!(!Nt(x,C,et)&&!Ot(x,C,et)))return{tailStart:x,terminal:C}},"terminalTailFor"),f=d((h,l)=>{const x=r(h);if(x.length<3)return;const C=x[0],b=x[1];let v;if(Nt(C,b,et))v={x:b.x,y:l.tailStart.y};else if(Ot(C,b,et))v={x:l.tailStart.x,y:b.y};else return;const L=ue(xt([C,b,v,l.tailStart,l.terminal]));return at(L).length===L.length-1?L:void 0},"candidateWithDestinationTail"),g=d((h,l)=>{const x=[h.start,h.end].filter(C=>!!C);for(const C of at(l))if(Pt(C.a,C.b,o,x,-2))return!0;return!1},"pathHasNodeHit"),p=d((h,l,x)=>{for(const C of s)if(C!==h){for(const b of at(l))for(const v of at(r(C,x)))if(de(b,v,.5)>=Xt)return!0}return!1},"pathHasSharedTrack"),M=d((h,l,x)=>!g(h,l)&&!p(h,l,x),"candidateIsSafe"),u=d(()=>{const h=new Map;for(const l of s){const x=l.end;if(!x||!e.has(x)||r(l).length<4)continue;const b=h.get(x)??[];b.push(l),h.set(x,b)}return h},"edgesByDestination");for(let h=0;h<4;h++){const l=i();if(l===0)return;const x=a();let C,b=l,v=x;for(const L of u().values())for(let y=0;y=l||G>b||G===b&&j>=v||(C=P,b=G,v=j)}if(!C)return;for(const[L,y]of C)L.points=y}}d(Ls,"swapDestinationTerminalTailsToReduceCrossings");function Es(t,e){const{realNodeRects:r,labelNodeRects:i}=Me(e.values()),a=t.filter(L=>!L.isLayoutOnly),c=d((L,y=new Map)=>xt(y.get(L)??L.points??[]),"replacementPointsFor"),f=d((L=new Map)=>{let y=0;for(let I=0;Ia.reduce((y,I)=>y+oe(c(I,L)),0),"totalBends"),p=d(L=>{const y=L.start,I=L.end,E=y?e.get(y):void 0,A=I?e.get(I):void 0,B=E?te(E):void 0,O=A?te(A):void 0;return B&&O?{src:B,dst:O}:void 0},"endpointRectsFor"),M=d((L,y,I)=>{if(I.index<=0||I.index+1>=y.length-1)return;const E=p(L);if(E){if(I.vertical){const A=I.a.x,B=Math.min(E.src.left,E.dst.left),O=Math.max(E.src.right,E.dst.right),k=AO+et?"right":void 0;return k?{edge:L,points:y,segmentIndex:I.index,axis:"vertical",side:k,coord:A,min:Math.min(I.a.y,I.b.y),max:Math.max(I.a.y,I.b.y)}:void 0}if(I.horizontal){const A=I.a.y,B=Math.min(E.src.top,E.dst.top),O=Math.max(E.src.bottom,E.dst.bottom),k=AO+et?"bottom":void 0;return k?{edge:L,points:y,segmentIndex:I.index,axis:"horizontal",side:k,coord:A,min:Math.min(I.a.x,I.b.x),max:Math.max(I.a.x,I.b.x)}:void 0}}},"externalRailForSegment"),u=d(()=>{const L=[];for(const y of a){const I=c(y);for(const E of at(I)){const A=M(y,I,E);A&&L.push(A)}}return L},"collectExternalRails"),h=d((L,y)=>L.edge!==y.edge&&L.axis===y.axis&&L.side===y.side&&Wt(L.min,L.max,y.min,y.max)>=Xt,"railsInteract"),l=d(L=>{const y=[],I=new Set;for(const E of L){if(I.has(E))continue;const A=[E],B=[];for(I.add(E);A.length>0;){const O=A.pop();B.push(O);for(const k of L)!I.has(k)&&h(O,k)&&(I.add(k),A.push(k))}B.length>1&&y.push(B)}return y},"connectedComponents"),x=d(L=>{const y=[];for(const I of L)y.some(E=>Math.abs(E-I.coord){const y=L.map(A=>A.coord),I=x(L),E=[];if(L.length<=6){const A=new Array(I.length).fill(!1),B=[],O=d(()=>{if(B.length===L.length){B.some((k,H)=>Math.abs(k-y[H])>=et)&&E.push([...B]);return}for(const[k,H]of I.entries())A[k]||(A[k]=!0,B.push(H),O(),B.pop(),A[k]=!1)},"visit");return O(),E}for(let A=0;A{const I=new Map;for(const[A,B]of L.entries()){const O=y[A],k=I.get(B.edge)??B.points.map(H=>({x:H.x,y:H.y}));B.axis==="vertical"?(k[B.segmentIndex].x=O,k[B.segmentIndex+1].x=O):(k[B.segmentIndex].y=O,k[B.segmentIndex+1].y=O),I.set(B.edge,k)}const E=new Map;for(const[A,B]of I){const O=ue(xt(B));if(at(O).length!==O.length-1)return;E.set(A,O)}return E},"replacementsForAssignment"),v=d(L=>{for(const[y,I]of L){const E=[y.start,y.end].filter(A=>!!A);for(const A of at(I))if(Pt(A.a,A.b,r,E,-2)||Pt(A.a,A.b,i,[],-2))return!1}for(let y=0;y=Xt)return!1}}return!0},"candidateIsSafe");for(let L=0;L<4;L++){const y=f();if(y===0)return;let I,E=y,A=g(),B=Number.POSITIVE_INFINITY;for(const O of l(u()))for(const k of C(O)){const H=b(O,k);if(!H||!v(H))continue;const P=f(H);if(P>=y)continue;const G=g(H),j=O.reduce((tt,ft,Mt)=>tt+Math.abs(k[Mt]-ft.coord),0);P>E||P===E&&(G>A||G===A&&j>=B)||(I=H,E=P,A=G,B=j)}if(!I)return;for(const[O,k]of I)O.points=k}}d(Es,"reassignCrossingExternalRailChannels");function Ts(t,e){const{realNodeRects:o,labelNodeRects:s}=Me(e.values()),r=t.filter(u=>!u.isLayoutOnly),i=d((u,h,l)=>xt(u===h?l??[]:u.points??[]),"pointsFor"),a=d(u=>at(u).reduce((h,l)=>{const x=l.a.x-l.b.x,C=l.a.y-l.b.y;return h+Math.hypot(x,C)},0),"pathLength"),c=d((u,h)=>{let l=0;for(let x=0;x{if(u.horizontal){const l=u.a.y;return(Math.abs(l-h.top)<1||Math.abs(l-h.bottom)<1)&&Wt(u.a.x,u.b.x,h.left,h.right)>=Xt}if(u.vertical){const l=u.a.x;return(Math.abs(l-h.left)<1||Math.abs(l-h.right)<1)&&Wt(u.a.y,u.b.y,h.top,h.bottom)>=Xt}return!1},"segmentRunsAlongRectBorder"),g=d(u=>{const h=[u.start,u.end].filter(x=>!!x),l=[];for(const x of h){const C=e.get(x),b=C?te(C):void 0;b&&l.push(b)}return l},"endpointRectsFor"),p=d((u,h)=>{if(h+3>=u.length)return[];const l=u[h],x=u[h+1],C=u[h+2],b=u[h+3],v=Nt(l,x,et)&&Ot(x,C,et)&&Nt(C,b,et),L=Ot(l,x,et)&&Nt(x,C,et)&&Ot(C,b,et);if(!v&&!L)return[];if(!(v?Math.sign(x.x-l.x)!==Math.sign(b.x-C.x):Math.sign(x.y-l.y)!==Math.sign(b.y-C.y)))return[];const I=gt(l,b,et)||yt(l,b,et)?[]:[{x:l.x,y:b.y},{x:b.x,y:l.y}],E=I.length===0?[[...u.slice(0,h+1),...u.slice(h+3)]]:I.map(B=>[...u.slice(0,h+1),B,...u.slice(h+3)]),A=new Set;return E.map(B=>ue(xt(B))).filter(B=>{if(at(B).length!==B.length-1||!B.some(k=>ce(k,b,et)))return!1;const O=B.map(k=>`${k.x.toFixed(3)},${k.y.toFixed(3)}`).join("|");return A.has(O)?!1:(A.add(O),!0)})},"shortcutCandidatesAt"),M=d((u,h,l)=>{const x=[u.start,u.end].filter(b=>!!b),C=g(u);for(const b of at(h))if(Pt(b.a,b.b,o,x,-2)||Pt(b.a,b.b,s,[],-2)||C.some(v=>f(b,v)))return!1;for(const b of r)if(b!==u){for(const v of at(h))for(const L of at(i(b)))if(de(v,L,.5)>=Xt)return!1}return c(u,h)<=l},"candidateIsSafe");for(let u=0;u<8;u++){const h=c();let l,x,C=h,b=Number.POSITIVE_INFINITY,v=Number.POSITIVE_INFINITY;for(const L of r){const y=i(L),I=oe(y,et),E=a(y);for(let A=0;A<=y.length-4;A++)for(const B of p(y,A)){const O=oe(B,et),k=a(B);if(!(OC||P===C&&(O>b||O===b&&k>=v)||(l=L,x=B,C=P,b=O,v=k)}}if(!l||!x)return;l.points=x}}d(Ts,"shortcutRedundantOrthogonalJogs");function ws(t,e){const i=[];for(const R of e.values()){if(R.isGroup||R.isEdgeLabel)continue;const _=R.x??0,F=R.y??0,V=te(R);V&&i.push({id:String(R.id??""),cx:_,cy:F,rect:V})}if(i.length===0)return;const a=new Map(i.map(R=>[R.id,R])),c=i.map(R=>({id:R.id,rect:R.rect})),f=["top","bottom","left","right"],g={top:Math.min(...i.map(R=>R.rect.top))-20,bottom:Math.max(...i.map(R=>R.rect.bottom))+20,left:Math.min(...i.map(R=>R.rect.left))-20,right:Math.max(...i.map(R=>R.rect.right))+20},p=t.filter(R=>!R.isLayoutOnly),M=new Map(p.map((R,_)=>[R,_])),u=d(R=>{const _=R==="left"||R==="top"?-1:1,F=[];for(let V=0;V<=2;V++)F.push(g[R]+_*20*V);return F},"outwardTracksForSide"),h=d((R,_=new Map)=>xt(_.get(R)??R.points??[]),"replacementPointsFor"),l=d((R,_)=>{let F=0;for(const V of R)for(const K of _)he(V.a,V.b,K.a,K.b,et)&&F++;return F},"crossingCountBetweenSegments"),x=d((R,_)=>l(at(R),at(_)),"crossingCountBetweenPaths"),C=d((R=new Map)=>{let _=0;const F=[],V=new Set,K=[],Z=d(Y=>{V.has(Y)||(V.add(Y),K.push(Y))},"addEdge");for(let Y=0;Y0&&(_+=T,F.push({first:q,second:w,count:T}),Z(q),Z(w))}}return K.sort((Y,q)=>(M.get(Y)??0)-(M.get(q)??0)),{count:_,pairs:F,edgeSet:V,edges:K}},"crossingSnapshot"),b=d((R,_)=>{const F=new Set(_.keys());if(F.size===0)return R.count;let V=0;for(const Z of R.pairs)(F.has(Z.first)||F.has(Z.second))&&(V+=Z.count);let K=0;for(let Z=0;Z{const _=new Map;for(const K of R.pairs){const Z=_.get(K.first)??new Set;Z.add(K.second),_.set(K.first,Z);const Y=_.get(K.second)??new Set;Y.add(K.first),_.set(K.second,Y)}const F=[],V=new Set;for(const K of R.edges){if(V.has(K))continue;const Z=[K],Y=[];for(V.add(K);Z.length>0;){const q=Z.pop();Y.push(q);for(const m of _.get(q)??[])V.has(m)||(V.add(m),Z.push(m))}Y.sort((q,m)=>(M.get(q)??0)-(M.get(m)??0)),Y.length>1&&F.push(Y)}return F},"crossingComponents"),L=d(R=>[R.start,R.end].filter(_=>!!_),"endpointIdsFor"),y=d(R=>{const _=[];for(const F of v(R)){const V=new Set(F),K=new Set(F.flatMap(Y=>L(Y))),Z=[...F];for(const Y of p)V.has(Y)||L(Y).some(q=>K.has(q))&&Z.push(Y);Z.sort((Y,q)=>(M.get(Y)??0)-(M.get(q)??0)),_.push(Z)}return _},"pairSearchGroups"),I=d((R,_,F)=>b(R,new Map([[_,F]])),"crossingCountWithSingleReplacement"),E=d(R=>{const _=new Map;for(const F of R.pairs)_.set(F.first,(_.get(F.first)??0)+F.count),_.set(F.second,(_.get(F.second)??0)+F.count);return _},"currentCrossingsByEdge"),A=d(R=>R.slice(1).reduce((_,F,V)=>{const K=R[V];return _+Math.abs(F.x-K.x)+Math.abs(F.y-K.y)},0),"pathLength"),B=d((R=new Map)=>p.reduce((_,F)=>_+oe(h(F,R)),0),"totalBends"),O=d((R=new Map)=>p.reduce((_,F)=>_+A(h(F,R)),0),"totalLength"),k=d((R,_,F=new Map)=>{const V=at(_);for(const K of p)if(K!==R){for(const Z of V)for(const Y of at(h(K,F)))if(de(Z,Y,.5)>=Xt)return!0}return!1},"pathHasSegmentConflict"),H=d((R,_)=>{const F=[R.start,R.end].filter(V=>!!V);for(const V of at(_))if(Pt(V.a,V.b,c,F,-2))return!0;return!1},"pathHitsNode"),P=d((R,_)=>{const F=ue(xt(_));at(F).length===F.length-1&&R.push(F)},"pushOrthogonalCandidate"),G=d(R=>R==="left"||R==="right","sideIsHorizontal"),j=d((R,_,F)=>{switch(_){case"left":return Math.min(R.x,F.x)-20;case"right":return Math.max(R.x,F.x)+20;case"top":return Math.min(R.y,F.y)-20;case"bottom":return Math.max(R.y,F.y)+20}},"localTrackForSameSide"),tt=d((R,_,F,V)=>{const K=F==="left"||F==="top"?-1:1,Z=[j(_,F,V),g[F]];for(const Y of Z)for(let q=0;q<=2;q++)P(R,ho(_,F,V,Y+K*20*q))},"addSameSideCandidates"),ft=d((R,_,F,V,K)=>{for(const Z of u(F))for(const Y of u(K))P(R,[_,{x:Z,y:_.y},{x:Z,y:Y},{x:V.x,y:Y},V])},"addHorizontalToVerticalCandidates"),Mt=d((R,_,F,V,K)=>{for(const Z of u(F))for(const Y of u(K))P(R,[_,{x:_.x,y:Z},{x:Y,y:Z},{x:Y,y:V.y},V])},"addVerticalToHorizontalCandidates"),Ht=d((R,_,F,V,K)=>{const Z=[...u("top"),...u("bottom")];for(const Y of u(F))for(const q of u(K))for(const m of Z)P(R,[_,{x:Y,y:_.y},{x:Y,y:m},{x:q,y:m},{x:q,y:V.y},V])},"addHorizontalPairCandidates"),Ft=d((R,_,F,V,K)=>{const Z=[...u("left"),...u("right")];for(const Y of u(F))for(const q of u(K))for(const m of Z)P(R,[_,{x:_.x,y:Y},{x:m,y:Y},{x:m,y:q},{x:V.x,y:q},V])},"addVerticalPairCandidates"),nt=d(R=>{const _=new Set;return R.map(F=>xt(F)).filter(F=>{const V=F.map(K=>`${K.x.toFixed(3)},${K.y.toFixed(3)}`).join("|");return _.has(V)||F.length<2?!1:(_.add(V),!0)})},"dedupeCandidatePaths"),J=d((R,_,F,V)=>{const K=[],Z=uo(R,_,F,V,20,et);Z&&P(K,Z),_===V&&tt(K,R,_,F);const Y=G(_),q=G(V);return Y&&!q?ft(K,R,_,F,V):!Y&&q?Mt(K,R,_,F,V):Y?Ht(K,R,_,F,V):Ft(K,R,_,F,V),nt(K)},"buildCandidatesForSides"),rt=d((R,_,F,V)=>{const K=[...u("left"),...u("right")],Z=[...u("top"),...u("bottom")];for(const Y of f){const q=Le(V,Y),m=Y==="top"||Y==="bottom"?u(Y):Z;for(const S of K){P(R,[_,F,{x:S,y:F.y},{x:S,y:q.y},q]);for(const w of m)P(R,[_,F,{x:S,y:F.y},{x:S,y:w},{x:q.x,y:w},q])}}},"addVerticalDepartureOuterTrackCandidates"),ut=d((R,_,F,V)=>{const K=[...u("left"),...u("right")],Z=[...u("top"),...u("bottom")];for(const Y of f){const q=Le(V,Y),m=Y==="left"||Y==="right"?u(Y):K;for(const S of Z){P(R,[_,F,{x:F.x,y:S},{x:q.x,y:S},q]);for(const w of m)P(R,[_,F,{x:F.x,y:S},{x:w,y:S},{x:w,y:q.y},q])}}},"addHorizontalDepartureOuterTrackCandidates"),pt=d(R=>{const _=R.start,F=R.end,V=F?a.get(F):void 0;if(!_||!V)return[];const K=xt(R.points??[]);if(K.length<4)return[];const Z=K[0],Y=K[1],q=[];return Ot(Z,Y,et)?rt(q,Z,Y,V):Nt(Z,Y,et)&&ut(q,Z,Y,V),q},"terminalPreservingOuterTrackCandidates"),St=d(R=>{const _=R.start,F=R.end,V=_?a.get(_):void 0,K=F?a.get(F):void 0;if(!V||!K)return[];const Z=[];for(const Y of f){const q=Le(V,Y);for(const m of f)Z.push(...J(q,Y,Le(K,m),m))}return Z.push(...pt(R)),Z},"candidatePathsFor"),wt=d(()=>new Map(p.map(R=>[R,at(h(R))])),"currentSegmentsByEdge"),Kt=d((R,_,F)=>{const V=new Set;for(const K of p){if(K===R)continue;const Z=F.get(K)??at(h(K));_.some(Y=>Z.some(q=>de(Y,q,.5)>=Xt))&&V.add(K)}return V},"sharedTrackConflictsFor"),qt=d((R,_,F,V)=>{const K=new Set;return St(R).map(Y=>ue(xt(Y))).filter(Y=>{if(H(R,Y))return!1;const q=Y.map(m=>`${m.x.toFixed(3)},${m.y.toFixed(3)}`).join("|");return K.has(q)||Y.length<2?!1:(K.add(q),!0)}).map(Y=>{const q=at(Y);let m=0;for(const S of p)S!==R&&(m+=l(q,F.get(S)??at(h(S))));return{candidate:Y,candidateSegments:q,crossings:_.count-(V.get(R)??0)+m,bends:oe(Y,et),totalBends:oe(Y),length:A(Y)}}).filter(({crossings:Y})=>Y<=_.count).sort((Y,q)=>Y.crossings-q.crossings||Y.bends-q.bends||Y.length-q.length).slice(0,48).map(Y=>({path:Y.candidate,segments:Y.candidateSegments,sharedTrackConflicts:Kt(R,Y.candidateSegments,F),totalBends:Y.totalBends,length:Y.length}))},"pairCandidatesFor"),Jt=d((R,_,F,V,K,Z)=>{let Y=0;for(const m of R.pairs)(m.first===_||m.second===_||m.first===V||m.second===V)&&(Y+=m.count);let q=l(F.segments,K.segments);for(const m of p){if(m===_||m===V)continue;const S=Z.get(m)??at(h(m));q+=l(F.segments,S)+l(K.segments,S)}return R.count-Y+q},"pairCrossingCount"),se=d((R,_)=>{for(const F of R.sharedTrackConflicts)if(F!==_)return!1;return!0},"conflictsOnlyWith"),Ee=d((R,_)=>R.segments.some(F=>_.segments.some(V=>de(F,V,.5)>=Xt)),"candidatesShareTrack"),me=d((R,_,F,V)=>se(_,F.edge)&&se(V,R.edge)&&!Ee(_,V),"pairCandidatesAreCompatible"),Te=d((R,_,F,V,K)=>{const Z=Jt(R.current,_.edge,F,V.edge,K,R.baseSegments);if(!(Z>=R.current.count))return{replacements:new Map([[_.edge,F.path],[V.edge,K.path]]),crossings:Z,bends:R.currentBends-(R.baseBendsByEdge.get(_.edge)??0)-(R.baseBendsByEdge.get(V.edge)??0)+F.totalBends+K.totalBends,length:R.currentLength-(R.baseLengthByEdge.get(_.edge)??0)-(R.baseLengthByEdge.get(V.edge)??0)+F.length+K.length}},"scorePairReplacement"),mn=d((R,_)=>R.crossings<_.crossings||R.crossings===_.crossings&&(R.bends<_.bends||R.bends===_.bends&&R.length<_.length),"pairScoreIsBetter"),yn=d((R,_,F,V)=>{let K=V;for(const Z of _.candidates)for(const Y of F.candidates){if(!me(_,Z,F,Y))continue;const q=Te(R,_,Z,F,Y);q&&mn(q,K)&&(K=q)}return K},"bestScoreForOptionPair"),pn=d(R=>{const _=B(),F=O(),V=wt(),K=E(R),Z=new Map(p.map(T=>[T,oe(h(T))])),Y=new Map(p.map(T=>[T,A(h(T))])),q=new Map,m=y(R);for(const T of m)for(const N of T){if(q.has(N))continue;const D=qt(N,R,V,K);D.length>0&&q.set(N,{edge:N,candidates:D})}let S={replacements:new Map,crossings:R.count,bends:_,length:F};const w={current:R,currentBends:_,currentLength:F,baseBendsByEdge:Z,baseLengthByEdge:Y,baseSegments:V};for(const T of m){const N=new Set(T.filter(W=>R.edgeSet.has(W))),D=T.map(W=>q.get(W)).filter(W=>!!W);for(let W=0;W0?S.replacements:void 0},"bestPairedReplacement");for(let R=0;R<4;R++){const _=C(),F=_.count;if(F===0)return;let V,K,Z=F,Y=Number.POSITIVE_INFINITY;for(const m of _.edges){const S=oe(h(m),et);for(const w of St(m)){const T=H(m,w),N=!T&&k(m,w),D=I(_,m,w),W=oe(w,et);T||N||!(DZ||D===Z&&W>=Y||(V=m,K=w,Z=D,Y=W)}}if(V&&K){V.points=K;continue}const q=pn(_);if(!q)return;for(const[m,S]of q)m.points=S}}d(ws,"resolveRenderedOrthogonalCrossings");var be=.001,Zr=8;function As(t,e){const{nodeInfoById:n,realNodeRects:o}=un(e),s=["top","bottom","left","right"],r=20,i={top:Math.min(...o.map(l=>l.rect.top))-r,bottom:Math.max(...o.map(l=>l.rect.bottom))+r,left:Math.min(...o.map(l=>l.rect.left))-r,right:Math.max(...o.map(l=>l.rect.right))+r},a=d((l,x,C,b)=>{const v=[],L=uo(l,x,C,b,r,be);return L&&v.push(L),x===b&&v.push(ho(l,x,C,i[x])),v},"buildOrthogonalPathCandidates"),c=d((l,x)=>{for(let C=0;C{let b=0;const v=Be(l,be),L=x.start,y=x.end;for(const I of t){if(I===x||I.isLayoutOnly)continue;const E=I.start,A=I.end;if(!C&&L&&y&&(E===L||E===y||A===L||A===y))continue;const B=I.points;if(!(!B||B.length<2))for(const O of v)for(const k of Be(B,be)){if(mo(O.a,O.b,k.a,k.b,be,be)){b++;continue}de(O,k,be)>=Zr&&b++}}return b},"pathConflictCount"),g=4,p=d((l,x)=>{const C=Math.abs(l.y-x.rect.top),b=Math.abs(l.y-x.rect.bottom),v=Math.abs(l.x-x.rect.left),L=Math.abs(l.x-x.rect.right);let y="top",I=C;return b{const b=M.get(l)??[];b.push({side:x,edgeId:C}),M.set(l,b)},"addFaceClaim");for(const l of t){if(l.isLayoutOnly)continue;const x=l.points??[];if(x.length<1)continue;const C=l.id??"",b=l.start,v=l.end;if(b){const L=n.get(b);L&&u(b,p(x[0],L),C)}if(v){const L=n.get(v);L&&u(v,p(x[x.length-1],L),C)}}const h=d((l,x,C)=>{var b;return((b=M.get(l))==null?void 0:b.some(v=>v.edgeId!==C&&v.side===x))??!1},"faceIsClaimed");for(const l of t){if(l.isLayoutOnly)continue;const x=l.points;if(!x||x.length<2)continue;const C=oe(x,be);if(C0){const Mt=f(tt,l,!0);if(Mt>O||Mt===O&&ft>=k)continue;O=Mt,k=ft,B=tt;continue}f(tt,l)>A||ftG.edgeId!==I));const P=M.get(v);P&&M.set(v,P.filter(G=>G.edgeId!==I)),u(b,p(B[0],L),I),u(v,p(B[B.length-1],y),I)}}}d(As,"simplifyDetouredEdges");var Qt=.001,Fo=10,Ke=7;function Un(t,e){const n=e?0:t.length-1,o=e?1:-1,s=t[n],r=t[n+o];if(!s||!r)return;const i=r.x-s.x,a=r.y-s.y;if(!(Math.abs(i)+Math.abs(a)r&&en(t,Rs(r)))}d(Wn,"labelOverlapsOwnMarker");function Je(t,e){const n=[];for(const h of t){if(h.isLayoutOnly)continue;const l=h.points;if(!(!l||l.length<2))for(let x=0;x{const x=Nn(l,r);for(const{nodeId:C,rect:b}of o)if(C!==h&&en(x,b))return!0;return!1},"labelOverlapsForeignNode"),f=d((h,l)=>{const x=Nn(l,r);for(const C of n)if(C.edgeId!==h&&dn(C.p1,C.p2,x))return!0;return!1},"labelOverlapsForeignEdge"),g=d((h,l,x)=>c(h,x)||f(l,x),"labelOverlapsAnything"),p=[],M=d(h=>{for(const{id:l,rect:x}of s)if(ss(x,h))return l},"findContainingLane"),u=d((h,l)=>p.some(x=>x.labelId!==h&&en(l,x.rect)),"overlapsPlacedLabel");for(const h of t){if(h.isLayoutOnly)continue;const l=h.labelNodeId;if(!l)continue;const x=e.get(l);if(!x)continue;const C=h.points;if(!C||C.length<2)continue;const b=x.width??0,v=x.height??0;if(b<=0||v<=0)continue;const L=[];for(let nt=0;nt=Qt&&pt>=Qt||L.push({idx:nt,length:ut+pt,orientation:ut>=Qt?"horizontal":"vertical",midX:(J.x+rt.x)/2,midY:(J.y+rt.y)/2})}if(L.length===0)continue;const y=L.length>=3?L.filter(nt=>nt.idx>0&&nt.idx0?y:L,E=b>=v?"horizontal":"vertical",A=d(nt=>[...nt].sort((J,rt)=>{const ut=J.orientation===E,pt=rt.orientation===E;if(ut!==pt)return ut?-1:1;const St=J.length>=(J.orientation==="horizontal"?b:v)+2,wt=rt.length>=(rt.orientation==="horizontal"?b:v)+2;return St!==wt?St?-1:1:rt.length-J.length}),"rankSegments"),B=L[0],O=L[L.length-1],k=[.5,.25,.75,.05,.95,.15,.85,.1,.9],H=d((nt,J)=>{const rt=C[nt.idx],ut=C[nt.idx+1];return{midX:rt.x+(ut.x-rt.x)*J,midY:rt.y+(ut.y-rt.y)*J}},"anchorAtT"),P=d((nt,J,rt)=>Math.min(rt,Math.max(J,nt)),"clamp"),G=d((nt,J)=>nt.midX>=J.left-Qt&&nt.midX<=J.right+Qt&&nt.midY>=J.top-Qt&&nt.midY<=J.bottom+Qt,"pointInsideRectInclusive"),j=d(nt=>{const J=Pe(nt.midX,nt.midY,b,v),rt=M(J);if(rt)return{laneId:rt,anchor:nt,rect:J};const ut=s.find(({rect:se})=>G(nt,se));if(!ut)return;const pt=ut.rect.left+b/2+i,St=ut.rect.right-b/2-i,wt=ut.rect.top+v/2+i,Kt=ut.rect.bottom-v/2-i;if(pt>St||wt>Kt)return;const qt={midX:P(nt.midX,pt,St),midY:P(nt.midY,wt,Kt)},Jt=Pe(qt.midX,qt.midY,b,v);return G(nt,Jt)?{laneId:ut.id,anchor:qt,rect:Jt}:void 0},"placementForAnchor"),tt=d((nt,J,rt)=>nt.orientation==="horizontal"?Math.abs(J.midX-rt.x):Math.abs(J.midY-rt.y),"distanceAlongSegment"),ft=d((nt,J)=>{const ut=(nt.orientation==="horizontal"?b/2:v/2)+a;if(nt===B){const pt=C[nt.idx];if(tt(nt,J,pt)+Qt{const J=A(nt);for(const rt of J)for(const ut of k){const pt=H(rt,ut);if(!ft(rt,pt))continue;const St=j(pt);if(St&&!Wn(St.rect,C)&&!u(l,St.rect)&&!g(l,h.id,St.rect))return{laneId:St.laneId,anchor:St.anchor}}},"tryPool"),Ht=d((nt,J,rt=!1)=>{const ut=A(nt);for(const pt of ut){const St={midX:pt.midX,midY:pt.midY};if(J&&!ft(pt,St))continue;const wt=j(St);if(wt&&!Wn(wt.rect,C)&&!u(l,wt.rect)&&!c(l,wt.rect)&&(rt||!f(h.id,wt.rect)))return{laneId:wt.laneId,anchor:wt.anchor}}},"findLaneContainingFallback"),Ft=Mt(I)??(I.lengthrt.labelId===l);J>=0?p[J]={labelId:l,rect:nt}:p.push({labelId:l,rect:nt})}}}d(Je,"anchorLabelsToPolyline");var En=1e-6,Qr=8,Do=Qr/2,ti=3;function Kn(t,e){return t{const g=Kn(a,c);let p=0;const M=d(u=>{if(!u)return;const h=s.get(u);if(!h)return;const l=f==="x"?h.w/2:h.h/2;l>p&&(p=l)},"consider");M(i.labelNodeId);for(const u of t){if(u===i||u.isLayoutOnly)continue;const h=u.start,l=u.end;!h||!l||Kn(h,l)===g&&M(u.labelNodeId)}return p>0?p+ti:0},"labelClearanceFor");for(const i of t){if(i.isLayoutOnly)continue;const a=i.points;if(!lo(a,En))continue;const c=go(i,n,En);if(!c)continue;const{srcId:f,dstId:g,srcInfo:p,dstInfo:M,collinearX:u,collinearY:h}=c;if(u===h)continue;let l,x;if(u){const y=M.cy>p.cy;l={x:p.cx,y:y?p.rect.bottom:p.rect.top},x={x:M.cx,y:y?M.rect.top:M.rect.bottom}}else{const y=M.cx>p.cx;l={x:y?p.rect.right:p.rect.left,y:p.cy},x={x:y?M.rect.left:M.rect.right,y:M.cy}}if(Pt(l,x,o,[f,g],1))continue;const b=r(i,f,g,u?"x":"y"),v=b>Do?b:Do,L=[0,v,-v];for(const y of L){const I={...l},E={...x};if(u){if(I.x+=y,E.x+=y,I.x<=p.rect.left||I.x>=p.rect.right||E.x<=M.rect.left||E.x>=M.rect.right)continue}else if(I.y+=y,E.y+=y,I.y<=p.rect.top||I.y>=p.rect.bottom||E.y<=M.rect.top||E.y>=M.rect.bottom)continue;if(!Pt(I,E,o,[f,g],1)&&!nn(I,E,t,i,{epsilon:En})){i.points=[I,E];break}}}}d(Ns,"straightenCollinearSiblingDetours");function qn(t,e){const{realNodeRects:c,labelNodeRects:f}=Me(e.values()),g=d((y,I)=>Be(I,.001).map(E=>({...E,edge:y,interior:E.index>=1&&E.index<=I.length-3})),"segmentsFor"),p=d(()=>{const y=[];for(const I of t){if(I.isLayoutOnly)continue;const E=I.points;!E||E.length<2||y.push(...g(I,xt(E)))}return y},"allSegments"),M=d((y,I)=>y.horizontal&&I.horizontal?Wt(y.a.x,y.b.x,I.a.x,I.b.x)>=8&&Math.abs(y.a.y-I.a.y)<7:y.vertical&&I.vertical?Wt(y.a.y,y.b.y,I.a.y,I.b.y)>=8&&Math.abs(y.a.x-I.a.x)<7:!1,"hasCrowdedParallelTrack"),u=d((y,I)=>{const E=y.start,A=y.end,B=g(y,I);if(B.length!==I.length-1)return!1;const O=[E,A].filter(H=>!!H),k=y.labelNodeId?[y.labelNodeId]:[];for(const H of B)if(Pt(H.a,H.b,c,O,-2)||Pt(H.a,H.b,f,k,-2))return!1;for(const H of t){if(H===y||H.isLayoutOnly)continue;const P=H.points;if(!(!P||P.length<2)){for(const G of B)for(const j of g(H,xt(P)))if(M(G,j)||he(G.a,G.b,j.a,j.b,.001))return!1}}return!0},"candidateIsSafe"),h=d((y,I)=>{const E=xt(y.edge.points??[]);if(E.length<4||y.index>=E.length-1)return;const A=E.map(B=>({...B}));if(y.horizontal)A[y.index].y+=I,A[y.index+1].y+=I;else if(y.vertical)A[y.index].x+=I,A[y.index+1].x+=I;else return;return g(y.edge,A).length===A.length-1?A:void 0},"shiftedCandidate"),l=d((y,I)=>({x:y.x??(I.left+I.right)/2,y:y.y??(I.top+I.bottom)/2}),"nodeCenter"),x=d(y=>{const I=y.edge,E=xt(I.points??[]);if(E.length!==4||y.index!==1)return;const A=I.start?e.get(I.start):void 0,B=I.end?e.get(I.end):void 0,O=A?te(A):void 0,k=B?te(B):void 0,H=E.slice(y.index+2);if(!(!A||!B||!O||!k||H.length===0))return{sourceCenter:l(A,O),targetCenter:l(B,k),sourceRect:O,tail:H}},"sourceDetourContextFor"),C=d((y,I,E,A,B,O)=>{const k=A.y>=E.y,H=k?B.bottom:B.top,P=H+(k?20:-20);if(k&&y.b.y<=P+.001||!k&&y.b.y>=P-.001)return;const G=y.a.x+I;return xt([{x:E.x,y:H},{x:E.x,y:P},{x:G,y:P},{x:G,y:y.b.y},...O],.001)},"verticalSourceDetour"),b=d((y,I,E,A,B,O)=>{const k=A.x>=E.x,H=k?B.right:B.left,P=H+(k?20:-20);if(k&&y.b.x<=P+.001||!k&&y.b.x>=P-.001)return;const G=y.a.y+I;return xt([{x:H,y:E.y},{x:P,y:E.y},{x:P,y:G},{x:y.b.x,y:G},...O],.001)},"horizontalSourceDetour"),v=d((y,I)=>{const E=x(y);if(E){if(y.vertical)return C(y,I,E.sourceCenter,E.targetCenter,E.sourceRect,E.tail);if(y.horizontal)return b(y,I,E.sourceCenter,E.targetCenter,E.sourceRect,E.tail)}},"sourceDetourCandidate"),L=[-7,7,-2*7,2*7,-3*7,3*7];for(let y=0;y<12;y++){const I=p();let E=!1;for(let A=0;AP.interior);for(const P of H){for(const G of L){const j=h(P,G);if(j&&u(P.edge,j)){P.edge.points=j,E=!0;break}const tt=v(P,G);if(tt&&u(P.edge,tt)){P.edge.points=tt,E=!0;break}}if(E)break}}if(!E)return}}d(qn,"nudgeSharedInteriorSubpaths");function Os(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,i=o.x-n.x,a=o.y-n.y,c=s*a-r*i;if(Math.abs(c)<1e-10)return!1;const f=n.x-t.x,g=n.y-t.y,p=(f*a-g*i)/c,M=(f*r-g*s)/c,u=.01;return p>u&&p<1-u&&M>u&&M<1-u}d(Os,"segmentsIntersect");function Ps(t){const e=t.nodes??[],n=t.edges??[],o=[];if(!n.length||!e.length)return o;const s=rs(e),r=[];for(const a of n){if(a.isLayoutOnly)continue;const c=a.points;if(!c||c.length<2)continue;const f=a.start,g=a.end,p=a.labelNodeId,M=a.id??`${f}->${g}`;for(const u of s)if(!(u.nodeId===f||u.nodeId===g)&&!(p&&u.nodeId===p)){for(let h=0;h0){const a=o.filter(f=>f.type==="edge-node-overlap").length,c=o.filter(f=>f.type==="edge-edge-crossing").length;Qe.warn(`[SWIMLANE_VALIDATE] ${o.length} issue(s) detected: ${a} edge-node overlap(s), ${c} edge crossing(s)`);for(const f of o)Qe.warn(`[SWIMLANE_VALIDATE] ${f.type}: ${f.detail}`)}return o}d(Ps,"validateSwimlanesLayout");function Bs(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(a=>!a.isGroup);if((e==="LR"||e==="RL")&&s.length>0&&!Ms(t,e)||e==="BT"&&s.length>0&&!bs(t))return;for(const a of o){if(a.isLayoutOnly)continue;const c=a.points;!c||c.length<2||(a.points=ue(on(c)))}As(o,n),Ns(o,n),Is(o,n);const r=new Map;for(const a of n)r.set(String(a.id),a);Je(o,r),fs(o,r),Ss(o,r),qn(o,r),Cs(o,r),vs(o,r),zn(o,r),Ls(o,r);const i=d(()=>{ws(o,r),Es(o,r),Ts(o,r),Je(o,r),Gn(o,r),zn(o,r),Je(o,r),Gn(o,r)},"finalizeRenderedEdges");i(),qn(o,r),i(),Vn(o,r),jn(o,r),Vn(o,r),jn(o,r)}d(Bs,"postProcessSwimlaneLayout");function Ie(t){const e=new Map(t.nodeById),n=new Set,o=[];for(const r of t.edges){if(!e.has(r.src)||!e.has(r.dst))continue;const i=`${r.id}:${r.src}->${r.dst}`;n.has(i)||(n.add(i),o.push(r))}return{nodes:[...e.keys()],edges:o,layout:t.layout,nodeById:e}}d(Ie,"normalizeGraph");function Mo(t,e){return t.edges.filter(n=>n.dst===e)}d(Mo,"incoming");function ks(t){const e=new Map;for(const n of t.nodes)e.set(n,[]);for(const n of t.edges)e.get(n.src).push(n.dst);return e}d(ks,"buildSuccessorMap");function Io(t){const e=ks(t);for(const n of e.values())n.sort((o,s)=>o.localeCompare(s));return e}d(Io,"buildSortedSuccessorMap");function So(t){const e=new Map;for(const n of t.nodes)e.set(n,0);for(const n of t.edges)e.set(n.dst,(e.get(n.dst)??0)+1);return e}d(So,"buildInDegreeMap");function Co(t){return[...t.entries()].filter(([,e])=>e===0).map(([e])=>e).sort((e,n)=>e.localeCompare(n))}d(Co,"sortedZeroInDegreeNodes");function hn(t,e=()=>!0){const n=new Map,o=new Map;for(const s of t.nodes)n.set(s,[]),o.set(s,[]);for(const s of t.edges)e(s)&&(o.get(s.src).push(s.dst),n.get(s.dst).push(s.src));return{preds:n,succs:o}}d(hn,"buildPredecessorSuccessorMaps");function vo(t,e,n,o){var i,a;let s=0;for(const c of t.nodes)o!=null&&o.skipGroups&&((i=t.nodeById.get(c))!=null&&i.isGroup)||(s=Math.max(s,n[c]??0));const r=Array.from({length:s+1},()=>[]);for(const c of e)o!=null&&o.skipGroups&&((a=t.nodeById.get(c))!=null&&a.isGroup)||r[Math.max(0,n[c]??0)].push(c);return r}d(vo,"buildLayersFromRanks");function De(t){const e=So(t),n=Co(e),o=[],s=Io(t);for(;n.length;){const r=n.shift();o.push(r);for(const i of s.get(r)??[])if(e.set(i,(e.get(i)??0)-1),(e.get(i)??0)===0){let a=0;for(;a{if(s-o<=1)return 0;const r=o+s>>1;let i=n(o,r)+n(r,s),a=o,c=r,f=o;for(;a=s||ap.dst===M.dst?p.id.localeCompare(M.id):p.dst.localeCompare(M.dst));const o=Object.create(null);for(const g of e.nodes)o[g]=0;const s=[],r=d(g=>{o[g]=1;for(const p of n.get(g)??[]){const M=p.dst;o[M]===0?r(M):o[M]===1&&s.push(p)}o[g]=2},"dfs"),i=[...e.nodes].sort((g,p)=>g.localeCompare(p));for(const g of i)o[g]===0&&r(g);const a=new Set(s.map(g=>`${g.id}:${g.src}->${g.dst}`)),c=e.edges.map(g=>a.has(`${g.id}:${g.src}->${g.dst}`)?{id:g.id,src:g.dst,dst:g.src,weight:g.weight,ref:g.ref}:g);return{acyclic:{nodes:[...e.nodes],edges:c,layout:e.layout,nodeById:new Map(e.nodeById)},reversed:s}}d(_s,"removeCycles_DFS");function Fs(t){const e=new Map,n=d(o=>{if(e.has(o))return e.get(o);const s=t.nodeById.get(o);if(!s)return e.set(o,null),null;const r=s.parentId;if(!r)return e.set(o,null),null;const a=n(r)??r;return e.set(o,a),a},"resolve");for(const o of t.nodes)n(o);return e}d(Fs,"buildTopLaneMap");function ge(t){const e=Fs(t);return n=>e.get(n)??null}d(ge,"createTopLaneResolver");function gn(t){const e=[];for(const n of t.layout.nodes??[])n.isGroup&&!n.parentId&&e.push(n.id);return[...new Set(e)].reverse()}d(gn,"buildTopLaneOrder");function Eo(t,e){const n=gn(t);if(!e||e.length===0)return n;const o=new Set(n),s=new Set,r=[];for(const i of e)!o.has(i)||s.has(i)||(s.add(i),r.push(i));for(const i of n)s.has(i)||r.push(i);return r}d(Eo,"resolveTopLaneOrder");var ei={EPSILON:1e-6},ln={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},Ho={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};function Ds(t,e){const n=Ie(t),o=(e==null?void 0:e.laneOf)??(()=>null),s=e==null?void 0:e.rankHint,{preds:r}=hn(n);for(const y of r.values())y.sort((I,E)=>I.localeCompare(E));const i=De(n)??[...n.nodes].sort((y,I)=>y.localeCompare(I)),a=new Map;for(const[y,I]of i.entries())a.set(I,y);const c=new Map,f=new Map;for(const y of n.nodes)f.set(y,[]);for(const y of i){const I=(r.get(y)??[]).filter(E=>c.has(E));if(I.length>0){const E=Hs(y,I,{laneOf:o,rankHint:s,topoIndex:a});c.set(y,E),f.get(E).push(y)}else c.has(y)||c.set(y,null)}for(const y of n.nodes)c.has(y)||c.set(y,null);const g=new Set;for(const y of n.nodes)(c.get(y)??null)===null&&g.add(y);const p=[...g].sort((y,I)=>{const E=a.get(y)??0,A=a.get(I)??0;return E===A?y.localeCompare(I):E-A}),M=Xs(n),u=new Map;for(const[y,I]of M.entries())u.set(y,[...I].sort((E,A)=>E.localeCompare(A)));const h=Ys(u),l=Gs(u),x=new Map;for(const y of n.nodes)x.set(y,[]);for(const y of l)for(const I of y.nodes){const E=x.get(I);E?E.push(y.id):x.set(I,[y.id])}const C=[],b=[],v=new Set,L=d(y=>{if(!v.has(y)){v.add(y),C.push(y);for(const I of f.get(y)??[])L(I);b.push(y)}},"walk");for(const y of p)L(y);for(const y of i)L(y);return{parent:c,children:f,roots:p,componentOf:h,blocks:l,nodeBlocks:x,adjacency:u,preorder:C,postorder:b,topologicalOrder:i}}d(Ds,"buildDrivingTree");function Hs(t,e,n){const o=n.laneOf(t);return[...e].sort((r,i)=>{var l,x;const a=n.laneOf(r),c=n.laneOf(i),f=a!=null&&a===o,g=c!=null&&c===o;if(f!==g)return f?-1:1;const p=(l=n.rankHint)==null?void 0:l[r],M=(x=n.rankHint)==null?void 0:x[i];if(p!=null&&M!=null&&p!==M)return M-p;const u=n.topoIndex.get(r)??0,h=n.topoIndex.get(i)??0;return u!==h?u-h:r.localeCompare(i)})[0]}d(Hs,"chooseParent");function Xs(t){const e=new Map;for(const n of t.nodes)e.set(n,new Set);for(const n of t.edges)e.get(n.src).add(n.dst),e.get(n.dst).add(n.src);return e}d(Xs,"buildAdjacency");function Ys(t){const e=new Map;let n=0;for(const o of t.keys()){if(e.has(o))continue;const s=[o];for(;s.length>0;){const r=s.pop();if(!e.has(r)){e.set(r,n);for(const i of t.get(r)??[])e.has(i)||s.push(i)}}n++}return e}d(Ys,"assignComponents");function Gs(t){const e=new Map,n=new Map,o=[],s=[];let r=0;const i=d((a,c)=>{e.set(a,++r),n.set(a,r);for(const f of t.get(a)??[])f!==c&&(e.has(f)?(e.get(f)??0)<(e.get(a)??0)&&(o.push([a,f]),n.set(a,Math.min(n.get(a)??r,e.get(f)??r))):(o.push([a,f]),i(f,a),n.set(a,Math.min(n.get(a)??r,n.get(f)??r)),(n.get(f)??0)>=(e.get(a)??0)&&s.push($s(a,f,o,s.length))))},"visit");for(const a of t.keys())e.has(a)||i(a,null);return s}d(Gs,"computeBlocks");function $s(t,e,n,o){const s=[],r=new Set;for(;n.length>0;){const i=n.pop();if(s.push(i),r.add(i[0]),r.add(i[1]),i[0]===t&&i[1]===e||i[0]===e&&i[1]===t)break}return{id:o,edges:s,nodes:[...r]}}d($s,"popBlock");function zs(t,e,n){const o=[...t.nodes],s=new Map;for(const[b,v]of o.entries())s.set(v,b);const r=o.length,i=new Array(r).fill(-1),a=new Array(r).fill(0),c=[],f=new Set;for(const b of o){const v=n.parent.get(b)??null,L=s.get(b);L!=null&&v==null&&(i[L]=-1,a[L]=0,f.has(b)||(f.add(b),c.push(b)))}for(;c.length>0;){const b=c.shift(),v=s.get(b);if(v==null)continue;const L=n.children.get(b)??[];for(const y of L){if(f.has(y))continue;const I=s.get(y);I!=null&&(i[I]=v,a[I]=a[v]+1,f.add(y),c.push(y))}}for(const b of o){if(f.has(b))continue;const v=s.get(b);v!=null&&(i[v]=-1,a[v]=0,f.add(b))}const g=Math.max(1,Math.ceil(Math.log2(Math.max(1,r)))+1),p=Array.from({length:g},()=>new Array(r).fill(-1));for(let b=0;b{if(b===-1||v===-1)return-1;a[b]>y&1&&(b=p[y][b],b===-1))return-1;if(b===v)return b;for(let y=g-1;y>=0;y--){const I=p[y][b],E=p[y][v];I===-1||E===-1||I!==E&&(b=I,v=E)}return p[0][b]},"lcaIndex"),u=Array.from({length:r},()=>new Map);for(const b of t.edges){let v=b.src,L=b.dst,y=e[v],I=e[L];if(y==null||I==null||(y>I&&([v,L]=[L,v],[y,I]=[I,y]),y==null||I==null||y===I))continue;const E=s.get(v),A=s.get(L);if(E==null||A==null)continue;const B=M(E,A);if(B===-1)continue;const O=u[B];for(let k=y;k{if(v.size!==0)for(const[L,y]of v)b.set(L,(b.get(L)??0)+y)},"mergeInto"),x=new Set,C=d(b=>{const v=s.get(b);x.add(b);const L=v==null?void 0:u[v],y=L?new Map(L):new Map,I=n.children.get(b)??[];for(const E of I){const A=C(E),B=e[b];if(B!=null){let O=h.get(b);O||(O=new Map,h.set(b,O));let k=A.get(B)??0;const H=e[E];H!=null&&H>B&&(k+=1),O.set(E,k)}l(y,A)}return y},"dfs");for(const b of n.roots)x.has(b)||C(b);for(const b of o)x.has(b)||C(b);return h}d(zs,"computeSubtreeCrossCounts");function Vs(t,e,n){const o=new Map,s=d(r=>{let i=n[r]??0;const a=[...e.get(r)??[]];a.sort(To(n));for(const c of a){s(c);const f=o.get(c);f!=null&&(i=Math.min(i,f))}o.set(r,i)},"annotate");for(const r of t)s(r);return o}d(Vs,"annotateMinimumLayers");function To(t){return(e,n)=>{const o=t[e]??0,s=t[n]??0;return o===s?e.localeCompare(n):o-s}}d(To,"compareByRankThenId");function js(t,e,n,o){let s=0;for(const c of e){const f=n[c]??0;f>s&&(s=f)}const r=Array.from({length:s+1},()=>[]),i=new Set,a=d(c=>{if(i.has(c))return;i.add(c);const f=n[c]??0;r[f]||(r[f]=[]),r[f].push(c);for(const g of o(c))a(g)},"emit");for(const c of t)a(c);for(const c of e)if(!i.has(c)){const f=n[c]??0;r[f]||(r[f]=[]),r[f].push(c),i.add(c)}return r}d(js,"emitNodesInTreeOrder");function Us(t){const e=[];for(const n of t){const o=new Set,s=[];for(const r of n)o.has(r)||(o.add(r),s.push(r));e.push(s)}return e}d(Us,"deduplicateLayers");function Ws(t,e,n,o){return s=>{const r=t.get(s)??[];if(r.length===0)return[];const i=e[s]??0,a=[],c=[],f=n.get(s);for(const g of r){const p=o.get(g)??i;p>i?a.push({child:g,min:p}):c.push(g)}return a.sort((g,p)=>g.min===p.min?g.child.localeCompare(p.child):g.min-p.min),c.sort((g,p)=>{const M=(f==null?void 0:f.get(g))??0,u=(f==null?void 0:f.get(p))??0;if(M!==u)return M-u;const h=o.get(g)??i,l=o.get(p)??i;return h!==l?h-l:g.localeCompare(p)}),[...a.map(g=>g.child),...c]}}d(Ws,"createChildOrderer");function fn(t,e,n){const o=Ds(t,{rankHint:e,laneOf:n}),{children:s,roots:r}=o;for(const p of t.nodes)s.has(p)||s.set(p,[]);const i=zs(t,e,o),a=[...r].sort(To(e)),c=Vs(a,s,e),f=Ws(s,e,i,c);let g=js(a,t.nodes,e,f);return g=Us(g),g}d(fn,"buildMultitreeLayerOrder");function Ks(t,e,n){const o=new Set(t),s=new Set(e),r=ke(e),i=[];for(const a of n)o.has(a.src)&&s.has(a.dst)&&i.push(r.get(a.dst));return Lo(i)}d(Ks,"countCrossingsBetweenAdjacent");function Jn(t,e,n){const o=[];for(const r of e){const i=n[r.src],a=n[r.dst];if(i==null||a==null||i===a)continue;let c=r.src,f=r.dst,g=i,p=a;i>a&&(c=r.dst,f=r.src,g=a,p=i);for(let M=g;M(n[M]??0)-(n[p]??0));for(const p of g){const M=n[p]??0;if(M===0)continue;let u=0;for(const C of o.get(p)??[])u=Math.max(u,(n[C]??0)+1);if(u>=M)continue;const h=M;n[p]=u;const l=fn(t,n,s),x=Jn(l,t.edges,n);x(e[s]??0)-(e[r]??0)||s.localeCompare(r));for(const s of o){const r=n(s);if(!r)continue;const i=t.edges.filter(l=>l.src===s);if(i.length===0)continue;let a=!1,c=0;for(const l of i){const x=n(l.dst);x==null||x===r?a=!0:c++}if(c===0||a)continue;let f=0,g=!1;for(const l of t.edges){if(l.dst!==s)continue;const x=n(l.src);x&&(x===r?g=!0:f++)}if(f>0||!g)continue;const p=e[s]??0,M=p+c;let u=0;for(const l of t.edges)l.dst===s&&(u=Math.max(u,(e[l.src]??0)+1));const h=Math.max(p,u,M);h!==p&&(e[s]=h)}}d(Js,"adjustCrossLaneSources");function Zs(t,e){const n=Ie(t),o=De(n)??[...n.nodes].sort(),s=(e==null?void 0:e.compactSingleInput)??!1,r=ge(n);let i=Object.create(null);for(const c of o){const f=Mo(n,c),g=e!=null&&e.ignoreCrossLaneEdges?f.filter(p=>{const M=r(p.src),u=r(c);return!M||!u?!0:M===u}):f;if(g.length===0)i[c]=0;else if(s&&g.length===1){const p=g[0].src,M=r(p),u=r(c);M!==u?i[c]=i[p]??0:i[c]=(i[p]??0)+1}else{let p=-1/0;for(const M of g)p=Math.max(p,(i[M.src]??0)+1);i[c]=p===-1/0?0:p}}return((e==null?void 0:e.optimizeRanksByCrossings)??!1)&&(i=qs(n,i)),e!=null&&e.ignoreCrossLaneEdges&&Js(n,i),{layers:fn(n,i,r),rankOf:i,dummy:new Set}}d(Zs,"assignLayers_LongestPath");function Qs(t,e){const n=Ie(t),s={...Zs(n,{compactSingleInput:e==null?void 0:e.compactSingleInput,ignoreCrossLaneEdges:e==null?void 0:e.ignoreCrossLaneEdges,optimizeRanksByCrossings:e==null?void 0:e.optimizeRanksByCrossings}).rankOf},r=ge(n),{preds:i,succs:a}=hn(n,h=>{if(e!=null&&e.ignoreCrossLaneEdges){const l=r(h.src),x=r(h.dst);if(l&&x&&l!==x)return!1}return!0}),c=De(n)??[...n.nodes],f=[...c].reverse(),g=d((h,l)=>{let x=0;for(const v of i.get(h)??[])x=Math.max(x,(s[v]??0)+1);let C=Number.POSITIVE_INFINITY;const b=a.get(h)??[];return b.length>0&&(C=Math.min(...b.map(v=>(s[v]??0)-1))),Number.isFinite(C)||(C=Math.max(x,l)),Math.min(Math.max(l,x),C)},"clampFeasible"),p=ln.GRAVITY_ITERATIONS,M=d(h=>{let l=!1;for(const x of h){const C=i.get(x)??[],b=a.get(x)??[];if(C.length===0&&b.length===0)continue;const v=C.length>0?C.reduce((E,A)=>E+(s[A]??0)+1,0)/C.length:s[x]??0,L=b.length>0?b.reduce((E,A)=>E+(s[A]??0)-1,0)/b.length:s[x]??0,y=Math.round((v+L)/2),I=g(x,y);I!==s[x]&&(s[x]=I,l=!0)}return l},"relaxOrder");for(let h=0;h0){const x=Math.min(...l.map(C=>(s[C]??0)-1));(s[h]??0)>x&&(s[h]=x)}}return{layers:vo(n,c,s),rankOf:s,dummy:new Set}}d(Qs,"assignLayers_Gravity");function tr(t){const e=So(t),n=Io(t);let o=Co(e);const s=[];for(;o.length>0;){const r=[];for(const i of o){s.push(i);for(const a of n.get(i)??[])e.set(a,(e.get(a)??0)-1),(e.get(a)??0)===0&&r.push(a)}o=r.sort((i,a)=>i.localeCompare(a))}return s.length===t.nodes.length?s:null}d(tr,"topoSortByGenerationIfAcyclic");function er(t,e){const n=Ie(t),o=(e==null?void 0:e.direction)==="LR"?tr(n)??[...n.nodes].sort():De(n)??[...n.nodes].sort(),s=ge(n),r=d(g=>s(g)??g,"laneOf"),i=Object.create(null),a=new Map,c=d((g,p)=>(e==null?void 0:e.ignoreCrossLaneEdges)??!0?r(g)===r(p)?1:0:1,"edgeWeight");for(const g of o){const p=n.nodeById.get(g);if(p!=null&&p.isGroup)continue;const M=Mo(n,g);let u=0;if(M.length>0)for(const C of M){const b=C.src,v=i[b]??0;u=Math.max(u,v+c(b,g))}const h=r(g),l=a.get(h)??0,x=Math.max(u,l);i[g]=x,a.set(h,x+1)}return{layers:vo(n,o,i,{skipGroups:!0}),rankOf:i,dummy:new Set}}d(er,"assignLayers_LaneAwareCompact");function nr(t,e){const n=Ie(e),{rankOf:o}=t,s=t.layers.map(u=>[...u]),r=new Set(t.dummy?[...t.dummy]:[]);let i=0;const a=new Map(n.nodeById),c=d(u=>{const h=`placeholder-${i++}`,l={id:h,isGroup:!1,isDummy:!0,width:0,height:0};for(a.set(h,l),r.add(h);s.length<=u;)s.push([]);return s[u].push(h),o[h]=u,h},"addDummyAt"),f=[...n.edges].sort((u,h)=>u.id===h.id?u.src===h.src?u.dst.localeCompare(h.dst):u.src.localeCompare(h.src):u.id.localeCompare(h.id)),g=[];for(const u of f){const h=o[u.src]??0,l=o[u.dst]??0;if(l-h<=1){g.push(u);continue}let x=u.src;for(let b=h+1,v=0;b!n.nodes.includes(u))],edges:g,layout:n.layout,nodeById:a};return{layering:{layers:s,rankOf:o,dummy:r},graphWithDummies:M}}d(nr,"makeProperLayering");function Zn(t){const e=t.length;if(e===0)return Number.POSITIVE_INFINITY;const n=[...t].sort((o,s)=>o-s);return e%2===1?n[(e-1)/2]:.5*(n[e/2-1]+n[e/2])}d(Zn,"median");function Qn(t){return t.length===0?Number.POSITIVE_INFINITY:t.reduce((n,o)=>n+o,0)/t.length}d(Qn,"barycenter");function or(t,e,n,o){const s=new Map;for(const r of t)s.set(r,[]);for(const r of n)o==="down"?e.has(r.src)&&s.has(r.dst)&&s.get(r.dst).push(e.get(r.src)):e.has(r.dst)&&s.has(r.src)&&s.get(r.src).push(e.get(r.dst));return s}d(or,"neighborPositionsFor");function sr(t,e,n){const o=n.get(t)??0,s=n.get(e)??0;return o!==s?o-s:t.localeCompare(e)}d(sr,"currentOrderTieBreak");function to(t,e,n){const o=new Set(t),s=new Set(e),r=ke(t),i=ke(e),a=[];for(const f of n)o.has(f.src)&&s.has(f.dst)&&a.push({u:r.get(f.src),v:i.get(f.dst)});a.sort((f,g)=>f.u===g.u?f.v-g.v:f.u-g.u);const c=a.map(f=>f.v);return Lo(c)}d(to,"countCrossingsBetweenAdjacent");function Ze(t,e,n){return[...t].sort((o,s)=>{const r=Zn(e.get(o)??[]),i=Zn(e.get(s)??[]);return r===i?sr(o,s,n):isFinite(r)?isFinite(i)?r-i:-1:1})}d(Ze,"sortByHeuristic");function eo(t,e,n,o,s,r){const i=ke(t),a=ke(e),c=or(e,i,n,o);if(!s||!r||r.length===0)return Ze(e,c,a);const f=new Map;for(const M of e){const u=s(M),h=f.get(u)??[];h.push(M),f.set(u,h)}const g=[];for(const M of r){const u=f.get(M);if(!u||u.length===0)continue;const h=Ze(u,c,a);g.push(...h)}const p=f.get(null);if(p&&p.length>0){const M=Ze(p,c,a);for(const u of M){const h=Qn(c.get(u)??[]);let l=g.length;if(isFinite(h))for(const[x,C]of g.entries()){const b=Qn(c.get(C)??[]);if(hi.has(l.src)&&a.has(l.dst)),g=c?n.filter(l=>a.has(l.src)&&c.has(l.dst)):void 0,p=d(l=>{let x=to(t,l,f);return g&&o&&(x+=to(l,o,g)),x},"crossingScore"),M=s?new Map:null;if(s&&M)for(const l of e)M.set(l,s(l));let u=!0,h=p(r);for(;u;){u=!1;for(let l=0;l+1[...a]),s=e.edges,r=ge(e),i=Eo(e,n==null?void 0:n.laneOrder);for(let a=0;a<3;a++){for(let c=1;c=0;c--)o[c]=eo(o[c+1],o[c],s,"up",r,i),o[c]=no(o[c+1],o[c],s,o[c-1],r)}return{layers:o}}d(rr,"orderLayers");function ir(t,e,n){const o=(n==null?void 0:n.layerGap)??Ho.DEFAULT_LAYER_GAP,s=(n==null?void 0:n.nodeGap)??Ho.DEFAULT_NODE_GAP,r=(n==null?void 0:n.laneGap)??s*2,i=(n==null?void 0:n.direction)??"TB",a=i==="LR"||i==="RL",c=t.layers,f=Object.create(null),g=Object.create(null),p=d(O=>e.nodeById.get(O),"getNode"),M=d(O=>{var k;return((k=p(O))==null?void 0:k.width)??0},"getWidth"),u=d(O=>{var k;return((k=p(O))==null?void 0:k.height)??0},"getHeight"),h=ge(e),l=Eo(e,n==null?void 0:n.laneOrder),x=c.map(O=>O.reduce((k,H)=>Math.max(k,u(H)),0)),C=[];if(a)for(let O=0;O+1Math.max(Mt,M(Ht)),0),H=c[O+1].reduce((Mt,Ht)=>Math.max(Mt,M(Ht)),0),P=x[O],G=x[O+1],j=P/2+G/2,tt=(k+H)/2,ft=Math.max(0,tt-j-o);C.push(ft)}const b=new Set;for(const O of c)for(const k of O)b.add(h(k));const v=b.has(null),L=l.filter(O=>b.has(O)),y=[...v?[null]:[],...L],I=Object.create(null);for(const O of L)I[O]=0;v&&(I.null=0);for(const O of c){const k=Object.create(null),H=[];for(const P of O){const G=h(P);G===null?H.push(P):(k[G]||(k[G]=[])).push(P)}for(const[P,G]of Object.entries(k)){const j=G.reduce((tt,ft)=>tt+M(ft),0)+s*Math.max(0,G.length-1);I[P]=Math.max(I[P]??0,j)}if(v&&H.length){const P=H.reduce((G,j)=>G+M(j),0)+s*Math.max(0,H.length-1);I.null=Math.max(I.null??0,P)}}const E=new Map;{const O=y.map(P=>(P===null?I.null:I[P])??0);let H=-(O.reduce((P,G)=>P+G,0)+r*Math.max(0,y.length-1))/2;for(let P=0;PM(nt)),Ht=Mt.reduce((nt,J)=>nt+J,0)+s*(tt.length-1);let Ft=ft-Ht/2;for(const[nt,J]of tt.entries()){const rt=Mt[nt];f[J]=Ft+rt/2,g[J]=A+H/2,Ft+=rt+s}}}const G=C[O]??0;A+=H+o+G}const B=new Map;for(const O of e.edges){const k=O.ref.id;B.has(k)||B.set(k,[]),B.get(k).push(O)}for(const[,O]of B){if(O.length===0)continue;const k=O[0].ref,H=k.start,P=k.end;if(H==null||P==null)continue;const G=Math.round(((f[H]??0)+(f[P]??0))/2),j=new Set;for(const tt of O)j.add(tt.src),j.add(tt.dst);for(const tt of j){if(tt===H||tt===P)continue;const ft=e.nodeById.get(tt);ft!=null&&ft.isDummy&&(f[tt]=G)}}return{x:f,y:g}}d(ir,"assignCoordinates");var cr=8;function ar(t){let e=2166136261;for(let n=0;n>>0}d(ar,"hashString");function lr(t){let e=t>>>0;return()=>{e+=1831565813;let n=e;return n=Math.imul(n^n>>>15,n|1),n^=n+Math.imul(n^n>>>7,n|61),((n^n>>>14)>>>0)/4294967296}}d(lr,"mulberry32");function fr(t,e){const n=[...t],o=lr(e);for(let s=n.length-1;s>0;s--){const r=Math.floor(o()*(s+1));[n[s],n[r]]=[n[r],n[s]]}return n}d(fr,"deterministicShuffle");function dr(t,e){let n=0;for(const[o,s]of t.entries())n+=Math.abs(o-(e.get(s)??o));return n}d(dr,"sourceDistance");function oo(t,e){const n=new Map;for(const[s,r]of t.entries())n.set(r,s);let o=0;for(const{a:s,b:r,weight:i}of e){const a=n.get(s),c=n.get(r);a==null||c==null||(o+=i*Math.abs(a-c))}return o}d(oo,"laneArrangementCost");function ur(t){const e=gn(t);if(e.length<2)return[];const n=new Map(e.map((r,i)=>[r,i])),o=ge(t),s=new Map;for(const r of t.layout.edges??[]){if(r.isLayoutOnly)continue;const i=typeof r.start=="string"?r.start:void 0,a=typeof r.end=="string"?r.end:void 0;if(!i||!a||!t.nodeById.has(i)||!t.nodeById.has(a))continue;const c=o(i),f=o(a);if(!c||!f||c===f)continue;const g=n.get(c),p=n.get(f);if(g==null||p==null)continue;const[M,u]=g<=p?[c,f]:[f,c],h=`${M}\0${u}`,l=s.get(h);l?l.weight++:s.set(h,{a:M,b:u,weight:1})}return[...s.values()]}d(ur,"buildWeightedLaneEdges");function so(t,e,n){const o=[...t];let s=oo(o,e),r=!0,i=0;const a=Math.max(1,o.length);for(;r&&is.a===r.a?s.b.localeCompare(r.b):s.a.localeCompare(r.a)).map(({a:s,b:r,weight:i})=>`${s}:${r}:${i}`).join("|");return ar(`${t.join("|")}#${o}#${n}`)}d(gr,"seedForRestart");function mr(t,e={}){const n=gn(t);if(n.length<2)return n;const o=ur(t);if(o.length===0)return n;const s=new Map(n.map((a,c)=>[a,c]));let r=so(n,o,s);const i=Math.max(0,e.restarts??cr);for(let a=0;alt&&c*3>=a?i>0?"bottom":"top":a>lt?r>0?"right":"left":n}d(ro,"chooseOrthogonalSide");function io(t,e){return Math.abs(t.to-e.from)m.isGroup&&!m.parentId);for(const m of f){const S={id:m.id},w=d(T=>{i.set(T.id,S),n.filter(N=>N.parentId===T.id).forEach(w)},"assignLane");w(m)}const g=n.filter(m=>!m.isGroup&&!m.isEdgeLabel).map(m=>{const S=m.width??10,w=m.height??10,T=m.x??0,N=m.y??0,D=ni;return{nodeId:m.id,minX:T-S/2-D,maxX:T+S/2+D,minY:N-w/2-D,maxY:N+w/2+D,visualXHalfExtent:c?w/2+D:S/2+D}}),p=d((m,S,w,T)=>{let N=a.find(D=>D.orientation===m&&Math.abs(D.coord-S)<1);return N||(N={id:`pipe-${m}-${S.toFixed(0)}`,orientation:m,coord:S,spanMin:w,spanMax:T,tracks:[]},a.push(N)),N.spanMin=Math.min(N.spanMin,w),N.spanMax=Math.max(N.spanMax,T),N},"getOrAddPipe"),M=d((m,S)=>{const w=m.width??10,T=m.height??10,N=m.x??0,D=m.y??0;switch(S){case"top":return{x:N,y:D-T/2};case"bottom":return{x:N,y:D+T/2};case"left":return{x:N-w/2,y:D};case"right":return{x:N+w/2,y:D}}},"portForSide"),u=d((m,S,w)=>M(m,ro(m,S,w?"bottom":"top")),"getOrthogonalPort"),h=[],l=[],x=new Set,C=1e3,b=d((m,S,w)=>{if(h.length===0)return 0;const T=Math.abs(S.y-w.y)U||z.from-lt<=W&&z.to+lt>=W&&(D+=C)}else if(N){const W=S.x,ot=Math.min(S.y,w.y)-lt,U=Math.max(S.y,w.y)+lt;if(U<=ot)return 0;for(const z of h)z.edgeIndex===m||z.orientation!=="horizontal"||z.pipe.coordU||z.from-lt<=W&&z.to+lt>=W&&(D+=C)}return D},"crossingPenalty"),v=s.map((m,S)=>{if(!m.start||!m.end)return{idx:S,crossLane:0,dx:0,dy:0};const w=r.get(m.start),T=r.get(m.end),N=i.get(m.start),D=i.get(m.end),W=N&&D&&N.id!==D.id?1:0,ot=w&&T?Math.abs((T.x??0)-(w.x??0)):0,U=w&&T?Math.abs((T.y??0)-(w.y??0)):0;return{idx:S,crossLane:W,dx:ot,dy:U}}).sort((m,S)=>{if(m.crossLane!==S.crossLane)return S.crossLane-m.crossLane;const w=m.dx+m.dy,T=S.dx+S.dy;return Math.abs(w-T)>1?w-T:m.idx-S.idx}).map(m=>m.idx),L=d((m,S,w,T)=>{const N=Math.min(m.x,S.x),D=Math.max(m.x,S.x),W=Math.min(m.y,S.y),ot=Math.max(m.y,S.y);return!!g.find(z=>w&&z.nodeId===w||T&&z.nodeId===T?!1:Math.abs(m.x-S.x)>lt?z.minYm.y&&z.maxX>N&&z.minXm.x&&z.maxY>W&&z.minYro(m,S,"bottom"),"determineSide"),A=new Map;for(const[m,S]of s.entries()){if(!S.start||!S.end||S.start===S.end||S.points&&S.points.length>0)continue;const w=r.get(S.start),T=r.get(S.end);if(!w||!T)continue;const N=(T.x??0)-(w.x??0),D=(T.y??0)-(w.y??0);A.set(m,{edgeIdx:m,srcId:S.start,dstId:S.end,srcSide:E(w,{x:T.x??0,y:T.y??0}),dstSide:E(T,{x:w.x??0,y:w.y??0}),absDx:Math.abs(N),absDy:Math.abs(D),dxSign:Math.sign(N),dySign:Math.sign(D)})}const B=d(m=>m.srcSide==="top"||m.srcSide==="bottom"?m.absDx===0?1/0:m.absDy/m.absDx:m.absDy===0?1/0:m.absDx/m.absDy,"preferenceStrength"),O=d(m=>m.srcSide==="top"||m.srcSide==="bottom"?m.dxSign>=0?"right":"left":m.dySign>=0?"bottom":"top","secondarySide"),k=new Map;for(const m of A.values()){const S=`${m.srcId}:${m.srcSide}`;k.has(S)||k.set(S,[]),k.get(S).push(m)}const H=new Map,P=d((m,S)=>`${m}:${S}`,"loadKey");for(const m of A.values())H.set(P(m.srcId,m.srcSide),(H.get(P(m.srcId,m.srcSide))??0)+1),H.set(P(m.dstId,m.dstSide),(H.get(P(m.dstId,m.dstSide))??0)+1);for(const m of k.values())if(!(m.length<2)){m.sort((S,w)=>{const T=B(S),N=B(w);return Math.abs(T-N)>1e-9?N-T:S.edgeIdx-w.edgeIdx});for(let S=1;S=N||(H.set(P(w.srcId,w.srcSide),N-1),H.set(P(w.srcId,T),D+1),w.srcSide=T)}}const G=d(m=>{const S=m==null?void 0:m.shape;return S==="question"||S==="diamond"},"isDiamondNode"),j=new Map;for(const m of A.values())j.has(m.dstId)||j.set(m.dstId,new Set),j.get(m.dstId).add(m.dstSide);for(const m of A.values()){if(!G(r.get(m.srcId)))continue;const S=j.get(m.srcId);if(!(S!=null&&S.has(m.srcSide)))continue;const w=O(m);if(S.has(w)||(H.get(P(m.srcId,w))??0)>0)continue;const T=H.get(P(m.srcId,m.srcSide))??0;H.set(P(m.srcId,m.srcSide),Math.max(0,T-1)),H.set(P(m.srcId,w),1),m.srcSide=w}for(const m of A.values()){const{edgeIdx:S,srcId:w,dstId:T,srcSide:N,dstSide:D}=m,W=r.get(w),ot=r.get(T),U=`${w}:${N}:src`,z=N==="top"||N==="bottom"?ot.x??0:ot.y??0;y.has(U)||y.set(U,[]),y.get(U).push({edgeIdx:S,oppositeCoord:z});const bt=`${T}:${D}:dst`,dt=D==="top"||D==="bottom"?W.x??0:W.y??0;y.has(bt)||y.set(bt,[]),y.get(bt).push({edgeIdx:S,oppositeCoord:dt})}const tt=new Map,ft=8;for(const[m,S]of y){if(S.length<2)continue;S.sort((At,Gt)=>At.oppositeCoord-Gt.oppositeCoord);const w=m.split(":"),T=w.slice(0,-2).join(":"),N=w[w.length-2],D=w[w.length-1],W=r.get(T);if(!W)continue;const U=N==="left"||N==="right"?W.height??10:W.width??10,z=W.shape,dt=z==="question"||z==="diamond"?U*.3:U,st=Math.min(20,Math.max(ft,dt/(S.length+1))),Bt=-(st*(S.length-1))/2;for(const[At,Gt]of S.entries()){const ee=Bt+At*st,xn=`${Gt.edgeIdx}:${D}`;tt.set(xn,ee)}}const Mt=d(m=>{var S;return!!((S=s[m])!=null&&S.labelNodeId)},"edgeHasLabelNode"),Ht=d((m,S)=>m?(y.get(`${m}:${S}:src`)??[]).some(({edgeIdx:w})=>Mt(w))||(y.get(`${m}:${S}:dst`)??[]).some(({edgeIdx:w})=>Mt(w)):!1,"faceHasLabelNode"),Ft=d((m,S,w)=>S==="top"||S==="bottom"?{x:m.x+w,y:m.y}:{x:m.x,y:m.y+w},"applyPortOffset"),nt=d((m,S,w)=>{const T=A.get(m),N={x:w.x??0,y:w.y??0},D={x:S.x??0,y:S.y??0},W=(T==null?void 0:T.srcSide)??E(S,N),ot=(T==null?void 0:T.dstSide)??E(w,D);let U=T?M(S,T.srcSide):u(S,N,!0),z=T?M(w,T.dstSide):u(w,D,!1);const bt=tt.get(`${m}:src`),dt=tt.get(`${m}:dst`);return bt!==void 0&&(U=Ft(U,W,bt)),dt!==void 0&&(z=Ft(z,ot,dt)),{pSrcPort:U,pDstPort:z,srcSide:W,dstSide:ot}},"portsForEdge");for(const m of v){const S=s[m];if(l[m]=[],!S.start||!S.end||S.points&&S.points.length>0||S.start===S.end)continue;const w=r.get(S.start),T=r.get(S.end);if(!w||!T)continue;const{pSrcPort:N,pDstPort:D,srcSide:W,dstSide:ot}=nt(m,w,T),U={...N},z={...D},bt=W==="top"||W==="bottom",dt=ot==="top"||ot==="bottom";if(bt){const X=N.y>(w.y??0);U.y=X?N.y+ie:N.y-ie}else{const X=N.x>(w.x??0);U.x=X?N.x+ie:N.x-ie}if(dt){const X=D.y>(T.y??0);z.y=X?D.y+ie:D.y-ie}else{const X=D.x>(T.x??0);z.x=X?D.x+ie:D.x-ie}const ct=d((X,$)=>{for(const Q of g)if(!$.includes(Q.nodeId)&&X.x>Q.minX&&X.xQ.minY&&X.y{if(Tt){const kt=X.y>($.y??0);return{x:(Q.x??0)>=X.x?ht.maxX+Ce:ht.minX-Ce,y:kt?ht.maxY+Ne:ht.minY-Ne,leavesPositiveSide:kt}}const Ct=X.x>($.x??0),Rt=(Q.y??0)>=X.y;return{x:Ct?ht.maxX+Ce:ht.minX-Ce,y:Rt?ht.maxY+Ne:ht.minY-Ne,leavesPositiveSide:Ct}},"obstacleDetour");let It=[];const Bt=[S.start,S.end],At=ct(U,Bt);if(At.inside&&At.obstacle){const X=At.obstacle;if(bt){const $=st(N,w,T,X,!0);U.x=$.x,U.y=$.y;const Q=$.leavesPositiveSide?Math.min(X.minY-2,N.y+ie):Math.max(X.maxY+2,N.y-ie);It=[{x:N.x,y:Q},{x:$.x,y:Q},{x:$.x,y:$.y}]}else{const $=st(N,w,T,X,!1),Q=$.leavesPositiveSide?Math.min(X.minX-2,N.x+ie):Math.max(X.maxX+2,N.x-ie);U.x=$.x,U.y=$.y,It=[{x:Q,y:N.y},{x:Q,y:$.y},{x:$.x,y:$.y}]}}let Gt=[];const ee=ct(z,Bt);if(ee.inside&&ee.obstacle){const X=ee.obstacle;if(dt){const $=st(D,T,w,X,!0);z.x=$.x,z.y=$.y,Gt=[{x:$.x,y:$.y},{x:D.x,y:$.y}]}else{const $=st(D,T,w,X,!1);z.x=$.x,z.y=$.y,Gt=[{x:$.x,y:$.y},{x:$.x,y:D.y}]}}if(It.length===0&&Gt.length===0){const X=Ce,$=Math.abs(U.x-z.x)1||Ct>1,kt=I.get(S.start??"")??0,mt=I.get(S.end??"")??0,Vt=Tt>1&&Ht(S.start,W)||Ct>1&&Ht(S.end,ot),re=Tt<=1||kt<=2,Dt=Ct<=1||mt<=2;if(($||Q)&&!ht&&(!Rt||Rt&&!Vt&&re&&Dt)&&!L(N,D,S.start,S.end)){S.points=[{...N},{...U},{...z},{...D}],x.add(m);const vt=Q?"horizontal":"vertical",Ut=Q?N.y:N.x,Lt=Q?Math.min(N.x,D.x):Math.min(N.y,D.y),Et=Q?Math.max(N.x,D.x):Math.max(N.y,D.y),Zt={id:`fast-path-${vt}-${Ut.toFixed(0)}-${m}`,orientation:vt,coord:Ut,spanMin:Lt,spanMax:Et,tracks:[]};h.push({edgeIndex:m,segmentIndex:0,orientation:vt,pipe:Zt,trackIndex:0,from:Lt,to:Et});continue}}const xn=p("vertical",U.x,U.y,U.y);U.x=xn.coord;const Mr=p("vertical",z.x,z.y,z.y);z.x=Mr.coord;let ye=Math.min(U.x,z.x)-50,pe=Math.max(U.x,z.x)+50,we=Math.min(U.y,z.y)-50,Ae=Math.max(U.y,z.y)+50;for(const X of g){const $=Math.min(U.x,z.x),Q=Math.max(U.x,z.x),ht=Math.min(U.y,z.y),Tt=Math.max(U.y,z.y);X.minX$&&X.minYht&&(ye=Math.min(ye,X.minX-qe),pe=Math.max(pe,X.maxX+qe),we=Math.min(we,X.minY-qe),Ae=Math.max(Ae,X.maxY+qe))}for(const X of g){if(X.maxXpe||X.maxYAe)continue;const $=Ce;p("horizontal",X.minY-$,ye,pe),p("horizontal",X.maxY+$,ye,pe);const Q=Ne;p("vertical",X.minX-Q,we,Ae),p("vertical",X.maxX+Q,we,Ae)}p("horizontal",U.y,ye,pe),p("horizontal",z.y,ye,pe);const Ir=a.filter(X=>X.orientation==="horizontal"&&X.coord>=we&&X.coord<=Ae),Sr=a.filter(X=>X.orientation==="vertical"&&X.coord>=ye&&X.coord<=pe),He=d((X,$)=>`${X.toFixed(1)},${$.toFixed(1)}`,"getKey"),Xe=He(U.x,U.y),wo=He(z.x,z.y),Ye=new Map,bn=new Map,Mn=new Map,Ge=new Set,Se=[];Ye.set(Xe,0),Mn.set(Xe,"n"),Se.push({key:Xe,f:Math.hypot(z.x-U.x,z.y-U.y),pt:U}),Ge.add(Xe);let $t=[];const xe=d((X,$)=>L(X,$,S.start,S.end),"checkSegmentBlocked"),In={x:z.x,y:U.y},Cr=xe(U,In),vr=xe(In,z),Lr=Cr||vr,Sn={x:U.x,y:z.y},Er=xe(U,Sn),Tr=xe(Sn,z);if(Lr?Er||Tr||(Math.abs(U.x-z.x)0;){Se.sort((mt,Vt)=>mt.f-Vt.f);const X=Se.shift();if(Ge.delete(X.key),X.key===wo){let mt=wo,Vt=z;for($t=[Vt];bn.has(mt);){const re=bn.get(mt);$t.unshift(re),Vt=re,mt=He(re.x,re.y)}break}const $=X.pt.x,Q=X.pt.y,ht=Sr.sort((mt,Vt)=>mt.coord-Vt.coord),Tt=ht.findIndex(mt=>Math.abs(mt.coord-$)<1),Ct=Ir.sort((mt,Vt)=>mt.coord-Vt.coord),Rt=Ct.findIndex(mt=>Math.abs(mt.coord-Q)<1),kt=[];Tt>0&&kt.push({x:ht[Tt-1].coord,y:Q}),Tt>=0&&Tt0&&kt.push({x:$,y:Ct[Rt-1].coord}),Rt>=0&&Rtne.nodeId===S.start||ne.nodeId===S.end?!1:Vt!==re?ne.minYQ&&ne.maxX>Vt&&ne.minX$&&ne.maxY>Dt&&ne.minY10&&Cn<-5||Re<-10&&Cn>5)&&(Et=Math.abs(Cn)*100),(Zt>10&&$e<-5||Zt<-10&&$e>5)&&(Et+=Math.abs($e)*50);let Ao=0;const Ro=Mn.get(X.key)??"n",No=Math.abs($e)>lt?"h":"v";Ro!=="n"&&Ro!==No&&(Ao=50);const wr=Ut+Lt+Et+Ao,ze=(Ye.get(X.key)??1/0)+wr,Oo=Math.abs(z.x-mt.x)+Math.abs(z.y-mt.y);if(ze<(Ye.get(vt)??1/0))if(bn.set(vt,X.pt),Ye.set(vt,ze),Mn.set(vt,No),!Ge.has(vt))Se.push({key:vt,f:ze+Oo,pt:mt}),Ge.add(vt);else{const ne=Se.findIndex(Ar=>Ar.key===vt);ne!==-1&&(Se[ne].f=ze+Oo)}}}if($t.length===0&&($t=[U,{x:U.x,y:z.y},z]),$t.length>4){const X=$t[0],$=$t[$t.length-1];let Q=Math.min(X.x,$.x),ht=Math.max(X.x,$.x),Tt=Math.min(X.y,$.y),Ct=Math.max(X.y,$.y);for(const Dt of $t)Q=Math.min(Q,Dt.x),ht=Math.max(ht,Dt.x),Tt=Math.min(Tt,Dt.y),Ct=Math.max(Ct,Dt.y);const Rt=ht>Math.max(X.x,$.x),kt=QLt.minXjt&&Lt.minY_t);if(Ut.length>0){let Lt=Math.max(X.x,$.x);for(const Et of Ut){const Zt=(Et.minX+Et.maxX)/2;if(Et.visualXHalfExtent===void 0||isNaN(Et.visualXHalfExtent))continue;const Re=Zt+Et.visualXHalfExtent+Dt;Lt=Math.max(Lt,Re)}isNaN(Lt)||(ht=Lt)}}if(kt){const jt=g.filter(_t=>_t.minXMath.min(X.y,$.y));if(jt.length>0){let _t=Math.min(X.x,$.x);for(const vt of jt){const Lt=(vt.minX+vt.maxX)/2-vt.visualXHalfExtent-Dt;_t=Math.min(_t,Lt)}Q=_t}}}const mt=d(Dt=>{const jt=$.y>X.y,_t=g.filter(Lt=>{const Et=Math.min(X.x,$.x)Lt.minX,Zt=Math.min(X.y,$.y)Lt.minY;return Et&&Zt});let vt=_t;if(c&&_t.length>0){const Lt=_t.filter(Et=>Et.minXDt);Lt.length>0&&(vt=Lt)}if(vt.length===0)return $.y;const Ut=Ce;if(jt){const Et=Math.max(...vt.map(Zt=>Zt.maxY))+Ut;if(Et<$.y-lt)return Et}else{const Et=Math.min(...vt.map(Zt=>Zt.minY))-Ut;if(Et>$.y+lt)return Et}return $.y},"findBestReturnY"),Vt=d(Dt=>{const jt=mt(Dt),_t={x:Dt,y:X.y},vt={x:Dt,y:jt},Ut={x:$.x,y:jt},Lt=xe(X,_t),Et=xe(_t,vt),Zt=xe(vt,Ut),Re=jt!==$.y?xe(Ut,$):!1;return!Lt&&!Et&&!Zt&&!Re?Math.abs(jt-$.y)=3){const X=zt[zt.length-1],$=zt[zt.length-2],Q=zt[zt.length-3],ht=Math.abs(Q.y-$.y)Math.abs(X.x-Q.x)&&zt.splice(-2,1)}else if(Tt){const Ct=Math.sign($.y-Q.y),Rt=Math.sign(X.y-Q.y);Ct!==0&&Ct===Rt&&Math.abs($.y-Q.y)>Math.abs(X.y-Q.y)&&zt.splice(-2,1)}}const fe=[zt[0]];for(let X=1;X$.x,Ct=ht.x>Q.x;if(Tt!==Ct){fe.push(Q);continue}continue}if(Math.abs($.x-Q.x)$.y,Ct=ht.y>Q.y;if(Tt!==Ct){fe.push(Q);continue}continue}fe.push(Q)}fe.push(zt[zt.length-1]);for(let X=0;Xm.from{const N=!T.segments.some(W=>(W.edgeIndex!==S.edgeIndex||W.segmentIndex!==S.segmentIndex)&&J(W,m)),D=!w.segments.some(W=>(W.edgeIndex!==m.edgeIndex||W.segmentIndex!==m.segmentIndex)&&J(W,S));return N&&D?(m.trackIndex=T.index,S.trackIndex=w.index,w.segments=[...w.segments.filter(W=>W.edgeIndex!==m.edgeIndex||W.segmentIndex!==m.segmentIndex),{edgeIndex:S.edgeIndex,segmentIndex:S.segmentIndex,from:S.from,to:S.to}],T.segments=[...T.segments.filter(W=>W.edgeIndex!==S.edgeIndex||W.segmentIndex!==S.segmentIndex),{edgeIndex:m.edgeIndex,segmentIndex:m.segmentIndex,from:m.from,to:m.to}],!0):!1},"trySwapSegmentsAcrossTracks"),ut=d(m=>{const S=m.tracks.length;return m.tracks[S]={index:S,coord:m.coord,segments:[]},S},"createNewTrack"),pt=d((m,S)=>{const w=m.pipe.tracks[m.trackIndex];w.segments=w.segments.filter(N=>N.edgeIndex!==m.edgeIndex||N.segmentIndex!==m.segmentIndex),m.trackIndex=S,m.pipe.tracks[S].segments.push({edgeIndex:m.edgeIndex,segmentIndex:m.segmentIndex,from:m.from,to:m.to})},"moveSegmentToTrack"),St=d((m,S)=>{const w=l[m.edgeIndex];for(const T of w){const N=h[T];N.pipe===m.pipe&&pt(N,S)}},"moveSegmentChainToTrack"),wt=d(m=>{const S=l[m.edgeIndex],w=S.indexOf(h.indexOf(m)),T=[];return w>0&&T.push(h[S[w-1]]),w{if(m.orientation===S.orientation)return!1;const w=m.orientation==="horizontal"?m:S,T=m.orientation==="horizontal"?S:m;return T.pipe.coord>w.from&&T.pipe.coordT.from&&w.pipe.coord{for(const w of m.tracks)if(!w.segments.some(N=>(N.edgeIndex!==S.edgeIndex||N.segmentIndex!==S.segmentIndex)&&J(N,S)))return w.index;return-1},"findAvailableTrack"),Jt=d((m,S)=>{if(m.trackIndex===S.trackIndex)return J(m,S);const w=wt(m),T=wt(S);return w.some(N=>T.some(D=>Kt(N,D)))},"segmentsConflict"),se=d((m,S,w)=>{if(rt(m,S,m.pipe.tracks[m.trackIndex],S.pipe.tracks[S.trackIndex]))return;const T=qt(m.pipe,S);w(S,T!==-1?T:ut(m.pipe))},"resolveTrackConflict"),Ee=d(m=>{let S=0;for(let w=0;w{if(me.has(m))return me.get(m);const S=l[m];if(S.length===0){const ot={dest:0,deviation:0,base:0,delta:0};return me.set(m,ot),ot}const T=h[S[0]].pipe.coord;let N=T;for(let ot=1;otMath.abs(bt-T)?z:bt;break}}const D=Math.abs(N-T),W={dest:N,deviation:D,base:T,delta:N-T};return me.set(m,W),W},"getDestInfo"),mn=d(()=>{let m=0;const S=new Map;for(const[T,N]of s.entries())l[T].length!==0&&N.start&&(S.has(N.start)||S.set(N.start,[]),S.get(N.start).push(T));const w=d(T=>{const N=s[T];if(!N.start||!N.end)return 0;const D=r.get(N.start),W=r.get(N.end);if(!D||!W)return 0;const ot=(W.x??0)-(D.x??0),U=(W.y??0)-(D.y??0);return Math.abs(ot)+Math.abs(U)},"getEdgeDistance");for(const T of S.values()){T.sort((D,W)=>{const ot=Te(D),U=Te(W);if(Math.abs(ot.deviation-U.deviation)>1)return ot.deviation-U.deviation;if(Math.abs(ot.dest-U.dest)>1)return ot.dest-U.dest;const z=w(D),bt=w(W);if(Math.abs(z-bt)>1)return bt-z;const dt=l[D].length,ct=l[W].length;if(dt!==ct)return dt-ct;if(dt===1){const st=l[D][0],It=l[W][0];if(h[st]&&h[It]){const Bt=h[st],At=h[It],Gt=Math.abs(Bt.to-Bt.from),ee=Math.abs(At.to-At.from);if(Math.abs(Gt-ee)>1)return Gt-ee}}return 0});const N=T.map(D=>h[l[D][0]]);m+=Ee(N)}return m},"fixSourceHandleCrossings"),yn=d(()=>{let m=0;const S=new Map;for(const[w,T]of s.entries())l[w].length!==0&&T.end&&(S.has(T.end)||S.set(T.end,[]),S.get(T.end).push(w));for(const w of S.values()){w.sort((N,D)=>{const W=d(z=>{const bt=l[z];if(bt.length<2)return 0;const dt=h[bt[bt.length-2]];return Math.abs(dt.to-dt.from)},"getDist"),ot=W(N),U=W(D);return Math.abs(ot-U)>.1?ot-U:N-D});const T=w.map(N=>h[l[N][l[N].length-1]]);m+=Ee(T)}return m},"fixTargetHandleCrossings"),pn=d(()=>{let m=0;for(const S of a){const w=[];for(const T of S.tracks)for(const N of T.segments){const D=l[N.edgeIndex].find(W=>h[W].segmentIndex===N.segmentIndex);D!==void 0&&w.push(h[D])}w.sort((T,N)=>T.edgeIndex-N.edgeIndex||T.segmentIndex-N.segmentIndex);for(let T=0;T{T.segments.forEach(N=>{S.push({edgeIndex:N.edgeIndex,segmentIndex:N.segmentIndex,trackIndex:T.index,from:N.from,to:N.to})})}),S.sort((T,N)=>T.from-N.from);const w=[];if(S.length>0){let T=[S[0]],N=S[0].to;for(let D=1;DN.add(st.trackIndex));const D=new Map;T.forEach(st=>{const It=Te(st.edgeIndex);D.set(st.trackIndex,(D.get(st.trackIndex)??0)+It.delta)});const W=[...N].filter(st=>(D.get(st)??0)<-1),ot=[...N].filter(st=>(D.get(st)??0)>1),U=[...N].filter(st=>Math.abs(D.get(st)??0)<=1);W.sort((st,It)=>(D.get(It)??0)-(D.get(st)??0)),ot.sort((st,It)=>(D.get(st)??0)-(D.get(It)??0));const z=d((st,It)=>{T.filter(Bt=>Bt.trackIndex===st).forEach(Bt=>{const At=x.has(Bt.edgeIndex)?m.coord:It;F.set(`${Bt.edgeIndex}-${Bt.segmentIndex}`,At)})},"assignCoord");let bt=0;for(const st of W)bt++,z(st,m.coord-bt*Tn);if(U.length===0&&N.size>0){const st=[...N].sort((At,Gt)=>Math.abs(D.get(At)??0)-Math.abs(D.get(Gt)??0))[0],It=W.indexOf(st);It!==-1&&W.splice(It,1);const Bt=ot.indexOf(st);Bt!==-1&&ot.splice(Bt,1),U.push(st)}let dt=0;for(const st of U){if(dt===0)z(st,m.coord);else{const It=dt%2===1?1:-1,Bt=Math.ceil(dt/2);z(st,m.coord+It*Bt*Tn*.5)}dt++}let ct=0;for(const st of ot)ct++,z(st,m.coord+ct*Tn)}}for(const[m,S]of s.entries()){const w=l[m]??[];if(w.length===0)continue;const T=[],N=r.get(S.start),D=r.get(S.end),{pSrcPort:W,pDstPort:ot}=nt(m,N,D),U=w.map(dt=>{const ct=h[dt],st=F.get(`${ct.edgeIndex}-${ct.segmentIndex}`)??ct.pipe.coord;return{orient:ct.orientation,coord:st,from:ct.from,to:ct.to}});T.push(W);for(let dt=0;dtlt&&T.push(ve(ct,It)),Gt&&At.orient===ct.orient)if(Math.abs(ct.coord-At.coord)>lt){const ee=ct.orient==="vertical"?(It+At.from)/2:io(ct,At);T.push(ve(ct,ee),ve(At,ee))}else(dt===0||dt===U.length-2)&&T.push(ve(ct,io(ct,At)));else if(Gt)T.push(ve(ct,At.coord));else{const ee=Math.abs(ct.from-It)lt||Math.abs(z.y-ot.y)>lt)&&T.push(ot);const bt=[];T.length>0&&bt.push(T[0]);for(let dt=1;dtlt||Math.abs(ct.y-st.y)>lt)&&bt.push(ct)}S.points=bt}for(const m of s){const S=m.__originalEdge;S&&m.points&&(S.points=m.points)}t.edges=(t.edges??[]).filter(m=>!m.isLayoutOnly);const V=d((m,S)=>{const w=S.x??0,T=S.y??0,N=S.width??0,D=S.height??0;if(N<=0||D<=0)return m;const W=w-N/2,ot=w+N/2,U=T-D/2,z=T+D/2;if(m.xot||m.yz)return m;const bt=m.x-W,dt=ot-m.x,ct=m.y-U,st=z-m.y,It=Math.min(bt,dt,ct,st);return It===bt?{x:W,y:m.y}:It===dt?{x:ot,y:m.y}:It===ct?{x:m.x,y:U}:{x:m.x,y:z}},"nodeBoundaryClamp");for(const m of t.edges){const S=m.points;if(!S||S.length<2)continue;const w=m.start,T=m.end,N=w?r.get(w):void 0,D=T?r.get(T):void 0;N&&(S[0]=V(S[0],N)),D&&(S[S.length-1]=V(S[S.length-1],D))}return t}d(pr,"routeEdgesOrthogonal");function xr(t){return t.direction??"TB"}d(xr,"getSwimlaneDirection");function br(t){var g,p,M,u,h;const e=es(t),n=((g=t.config.flowchart)==null?void 0:g.nodeSpacing)??40,o=((p=t.config.flowchart)==null?void 0:p.rankSpacing)??100,s=((M=t.config.swimlane)==null?void 0:M.ignoreCrossLaneEdges)??!0,r=((u=t.config.swimlane)==null?void 0:u.optimizeRanksByCrossings)??!0,i=((h=t.config.swimlane)==null?void 0:h.automaticLaneOrdering)??!1,a=xr(t),{ordered:c,coordinates:f}=yr(e,{nodeGap:n,layerGap:o,ignoreCrossLaneEdges:s,optimizeRanksByCrossings:r,automaticLaneOrdering:i,direction:a});ns(e,c,f,{nodeGap:n,layerGap:o});for(const l of t.edges??[])delete l.points;pr(t,a);for(const l of t.edges??[])(!l.curve||l.curve==="basis")&&(l.curve="rounded");return Bs(t,a),Ps(t),a}d(br,"runSwimlaneLayoutCore");async function oi(t,e){const n=e.select("g");Or(n,t.markers,t.type,t.diagramId),Pr(),Br(),kr(),Nr(),ts(t);const o=os(t);t.nodes=o.nodes,t.edges=o.edges;const{groups:s}=await Xo(n,t);br(t),await Jo(t,s)}d(oi,"render");export{oi as render}; diff --git a/veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC--Rr-scI_.js b/veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC--Rr-scI_.js deleted file mode 100644 index 5b5e09600..000000000 --- a/veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC--Rr-scI_.js +++ /dev/null @@ -1,8 +0,0 @@ -import{c as r,s as e}from"./flowDiagram-UKHOOZJN-B8lbbUMJ.js";import{a}from"./mermaid.core-CA8ypPul.js";import"../../app/index-BSfA7-Qp.js";import"./chunk-5VM5RSS4-W8IBP72a.js";import"./chunk-XXDRQBXY-4aIfLT7K.js";import"./chunk-KBJHAD2P-BfrlQA_C.js";import"./chunk-2GRJ4B5K-BMhlpUDn.js";import"../../chunks/channel-V8FC1PyG.js";var o=a(t=>`${e(t)} - .swimlane.cluster rect { - stroke: ${t.clusterBorder} !important; - } - [data-look="neo"].cluster rect { - filter: none; - } -`,"getStyles"),s=o,n=r({defaultLayout:"swimlane",styles:s});export{n as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-BYM1SH1C.js b/veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-BYM1SH1C.js new file mode 100644 index 000000000..f67326f3d --- /dev/null +++ b/veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-BYM1SH1C.js @@ -0,0 +1,8 @@ +import{c as r,s as e}from"./flowDiagram-UKHOOZJN-BInConF4.js";import{a}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";import"./chunk-5VM5RSS4-DdofPBLB.js";import"./chunk-XXDRQBXY-kV8dS86B.js";import"./chunk-KBJHAD2P-CUyWjBEZ.js";import"./chunk-2GRJ4B5K-DFfNskzn.js";import"../../chunks/channel-oILNv8b8.js";var o=a(t=>`${e(t)} + .swimlane.cluster rect { + stroke: ${t.clusterBorder} !important; + } + [data-look="neo"].cluster rect { + filter: none; + } +`,"getStyles"),s=o,n=r({defaultLayout:"swimlane",styles:s});export{n as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/timeline-definition-Z64GVDOM-BIYO9h5L.js b/veadk/webui/assets/visualizations/mermaid/timeline-definition-Z64GVDOM-DSBqQCYi.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/timeline-definition-Z64GVDOM-BIYO9h5L.js rename to veadk/webui/assets/visualizations/mermaid/timeline-definition-Z64GVDOM-DSBqQCYi.js index dd49104b0..9f4a96e9d 100644 --- a/veadk/webui/assets/visualizations/mermaid/timeline-definition-Z64GVDOM-BIYO9h5L.js +++ b/veadk/webui/assets/visualizations/mermaid/timeline-definition-Z64GVDOM-DSBqQCYi.js @@ -1,4 +1,4 @@ -import{a as l,X as pt,ak as Wt,ap as Pt,H as Bt,Y as gt,at as S,aQ as Vt,aC as Ft,aX as ft,_ as zt,w as Gt,s as Ot}from"./mermaid.core-CA8ypPul.js";import{ad as Q}from"../../app/index-BSfA7-Qp.js";import{d as ot}from"../../chunks/arc-Bd-KWJD_.js";var tt=function(){var e=l(function(k,s,d,h){for(d=d||{},h=k.length;h--;d[k[h]]=s);return d},"o"),t=[6,11,13,14,15,17,19,20,23,24],n=[1,12],i=[1,13],r=[1,14],c=[1,15],a=[1,16],o=[1,19],p=[1,20],y={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:l(function(s,d,h,g,m,u,w){var v=u.length-1;switch(m){case 1:return u[v-1];case 3:g.setDirection("LR");break;case 4:g.setDirection("TD");break;case 5:this.$=[];break;case 6:u[v-1].push(u[v]),this.$=u[v-1];break;case 7:case 8:this.$=u[v];break;case 9:case 10:this.$=[];break;case 11:g.getCommonDb().setDiagramTitle(u[v].substr(6)),this.$=u[v].substr(6);break;case 12:this.$=u[v].trim(),g.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=u[v].trim(),g.getCommonDb().setAccDescription(this.$);break;case 15:g.addSection(u[v].substr(8)),this.$=u[v].substr(8);break;case 18:g.addTask(u[v],0,""),this.$=u[v];break;case 19:g.addEvent(u[v].substr(2)),this.$=u[v];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(t,[2,5],{5:6}),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:i,17:r,19:c,20:a,21:17,22:18,23:o,24:p},e(t,[2,10],{1:[2,1]}),e(t,[2,6]),{12:21,14:n,15:i,17:r,19:c,20:a,21:17,22:18,23:o,24:p},e(t,[2,8]),e(t,[2,9]),e(t,[2,11]),{16:[1,22]},{18:[1,23]},e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,7]),e(t,[2,12]),e(t,[2,13])],defaultActions:{},parseError:l(function(s,d){if(d.recoverable)this.trace(s);else{var h=new Error(s);throw h.hash=d,h}},"parseError"),parse:l(function(s){var d=this,h=[0],g=[],m=[null],u=[],w=this.table,v="",M=0,R=0,P=2,V=1,L=u.slice.call(arguments,1),_=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);_.setInput(s,C.yy),C.yy.lexer=_,C.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var z=_.yylloc;u.push(z);var q=_.options&&_.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(A){h.length=h.length-2*A,m.length=m.length-A,u.length=u.length-A}l(X,"popStack");function O(){var A;return A=g.pop()||_.lex()||V,typeof A!="number"&&(A instanceof Array&&(g=A,A=g.pop()),A=d.symbols_[A]||A),A}l(O,"lex");for(var $,N,b,T,E={},H,I,B,D;;){if(N=h[h.length-1],this.defaultActions[N]?b=this.defaultActions[N]:(($===null||typeof $>"u")&&($=O()),b=w[N]&&w[N][$]),typeof b>"u"||!b.length||!b[0]){var K="";D=[];for(H in w[N])this.terminals_[H]&&H>P&&D.push("'"+this.terminals_[H]+"'");_.showPosition?K="Parse error on line "+(M+1)+`: +import{a as l,X as pt,ak as Wt,ap as Pt,H as Bt,Y as gt,at as S,aQ as Vt,aC as Ft,aX as ft,_ as zt,w as Gt,s as Ot}from"./mermaid.core-DS1qXbzQ.js";import{ad as Q}from"../../app/index-B0ly_D9Z.js";import{d as ot}from"../../chunks/arc-ClN_EYFb.js";var tt=function(){var e=l(function(k,s,d,h){for(d=d||{},h=k.length;h--;d[k[h]]=s);return d},"o"),t=[6,11,13,14,15,17,19,20,23,24],n=[1,12],i=[1,13],r=[1,14],c=[1,15],a=[1,16],o=[1,19],p=[1,20],y={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:l(function(s,d,h,g,m,u,w){var v=u.length-1;switch(m){case 1:return u[v-1];case 3:g.setDirection("LR");break;case 4:g.setDirection("TD");break;case 5:this.$=[];break;case 6:u[v-1].push(u[v]),this.$=u[v-1];break;case 7:case 8:this.$=u[v];break;case 9:case 10:this.$=[];break;case 11:g.getCommonDb().setDiagramTitle(u[v].substr(6)),this.$=u[v].substr(6);break;case 12:this.$=u[v].trim(),g.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=u[v].trim(),g.getCommonDb().setAccDescription(this.$);break;case 15:g.addSection(u[v].substr(8)),this.$=u[v].substr(8);break;case 18:g.addTask(u[v],0,""),this.$=u[v];break;case 19:g.addEvent(u[v].substr(2)),this.$=u[v];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(t,[2,5],{5:6}),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:i,17:r,19:c,20:a,21:17,22:18,23:o,24:p},e(t,[2,10],{1:[2,1]}),e(t,[2,6]),{12:21,14:n,15:i,17:r,19:c,20:a,21:17,22:18,23:o,24:p},e(t,[2,8]),e(t,[2,9]),e(t,[2,11]),{16:[1,22]},{18:[1,23]},e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,7]),e(t,[2,12]),e(t,[2,13])],defaultActions:{},parseError:l(function(s,d){if(d.recoverable)this.trace(s);else{var h=new Error(s);throw h.hash=d,h}},"parseError"),parse:l(function(s){var d=this,h=[0],g=[],m=[null],u=[],w=this.table,v="",M=0,R=0,P=2,V=1,L=u.slice.call(arguments,1),_=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);_.setInput(s,C.yy),C.yy.lexer=_,C.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var z=_.yylloc;u.push(z);var q=_.options&&_.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(A){h.length=h.length-2*A,m.length=m.length-A,u.length=u.length-A}l(X,"popStack");function O(){var A;return A=g.pop()||_.lex()||V,typeof A!="number"&&(A instanceof Array&&(g=A,A=g.pop()),A=d.symbols_[A]||A),A}l(O,"lex");for(var $,N,b,T,E={},H,I,B,D;;){if(N=h[h.length-1],this.defaultActions[N]?b=this.defaultActions[N]:(($===null||typeof $>"u")&&($=O()),b=w[N]&&w[N][$]),typeof b>"u"||!b.length||!b[0]){var K="";D=[];for(H in w[N])this.terminals_[H]&&H>P&&D.push("'"+this.terminals_[H]+"'");_.showPosition?K="Parse error on line "+(M+1)+`: `+_.showPosition()+` Expecting `+D.join(", ")+", got '"+(this.terminals_[$]||$)+"'":K="Parse error on line "+(M+1)+": Unexpected "+($==V?"end of input":"'"+(this.terminals_[$]||$)+"'"),this.parseError(K,{text:_.match,token:this.terminals_[$]||$,line:_.yylineno,loc:z,expected:D})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+$);switch(b[0]){case 1:h.push($),m.push(_.yytext),u.push(_.yylloc),h.push(b[1]),$=null,R=_.yyleng,v=_.yytext,M=_.yylineno,z=_.yylloc;break;case 2:if(I=this.productions_[b[1]][1],E.$=m[m.length-I],E._$={first_line:u[u.length-(I||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(I||1)].first_column,last_column:u[u.length-1].last_column},q&&(E._$.range=[u[u.length-(I||1)].range[0],u[u.length-1].range[1]]),T=this.performAction.apply(E,[v,R,M,C.yy,b[1],m,u].concat(L)),typeof T<"u")return T;I&&(h=h.slice(0,-1*I*2),m=m.slice(0,-1*I),u=u.slice(0,-1*I)),h.push(this.productions_[b[1]][0]),m.push(E.$),u.push(E._$),B=w[h[h.length-2]][h[h.length-1]],h.push(B);break;case 3:return!0}}return!0},"parse")},x=function(){var k={EOF:1,parseError:l(function(d,h){if(this.yy.parser)this.yy.parser.parseError(d,h);else throw new Error(d)},"parseError"),setInput:l(function(s,d){return this.yy=d||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:l(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var d=s.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:l(function(s){var d=s.length,h=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===g.length?this.yylloc.first_column:0)+g[g.length-h.length].length-h[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:l(function(){return this._more=!0,this},"more"),reject:l(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:l(function(s){this.unput(this.match.slice(s))},"less"),pastInput:l(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:l(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:l(function(){var s=this.pastInput(),d=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/vennDiagram-T6HMQDX7-DklWiDNN.js b/veadk/webui/assets/visualizations/mermaid/vennDiagram-T6HMQDX7-C5Lg0gqB.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/vennDiagram-T6HMQDX7-DklWiDNN.js rename to veadk/webui/assets/visualizations/mermaid/vennDiagram-T6HMQDX7-C5Lg0gqB.js index 14a0042ee..f0e941aa1 100644 --- a/veadk/webui/assets/visualizations/mermaid/vennDiagram-T6HMQDX7-DklWiDNN.js +++ b/veadk/webui/assets/visualizations/mermaid/vennDiagram-T6HMQDX7-C5Lg0gqB.js @@ -1,4 +1,4 @@ -import{d as Gt,aR as Kt,V as Ht,$ as Xt,aU as Yt,W as Zt,aS as Qt,a as S,X as St,aQ as Jt,k as $t,ak as te,ap as ee,H as ne,B as se,s as ie,r as re,O as oe}from"./mermaid.core-CA8ypPul.js";import{ad as rt}from"../../app/index-BSfA7-Qp.js";const It=(t,n)=>Gt(t,"a",-n),_t=1e-10;function st(t,n){const s=le(t),e=s.filter(l=>ae(l,t));let i=0,r=0;const o=[];if(e.length>1){const l=Et(e);for(let u=0;ua.angle-u.angle);let h=e[e.length-1];for(let u=0;uy.radius*2&&(g=y.radius*2),(d==null||d.width>g)&&(d={circle:y,width:g,p1:a,p2:h,large:g>y.radius,sweep:!0})}d!=null&&(o.push(d),i+=lt(d.circle.radius,d.width),h=a)}}else{let l=t[0];for(let u=1;uMath.abs(l.radius-t[u].radius)){h=!0;break}h?i=r=0:(i=l.radius*l.radius*Math.PI,o.push({circle:l,p1:{x:l.x,y:l.y+l.radius},p2:{x:l.x-_t,y:l.y+l.radius},width:l.radius*2,large:!0,sweep:!0}))}return r/=2,n&&(n.area=i+r,n.arcArea=i,n.polygonArea=r,n.arcs=o,n.innerPoints=e,n.intersectionPoints=s),i+r}function ae(t,n){return n.every(s=>K(t,s)=t+n)return 0;if(s<=Math.abs(t-n))return Math.PI*Math.min(t,n)*Math.min(t,n);const e=t-(s*s-n*n+t*t)/(2*s),i=n-(s*s-t*t+n*n)/(2*s);return lt(t,e)+lt(n,i)}function Tt(t,n){const s=K(t,n),e=t.radius,i=n.radius;if(s>=e+i||s<=Math.abs(e-i))return[];const r=(e*e-i*i+s*s)/(2*s),o=Math.sqrt(e*e-r*r),l=t.x+r*(n.x-t.x)/s,h=t.y+r*(n.y-t.y)/s,u=-(n.y-t.y)*(o/s),a=-(n.x-t.x)*(o/s);return[{x:l+u,y:h-a},{x:l-u,y:h+a}]}function Et(t){const n={x:0,y:0};for(const s of t)n.x+=s.x,n.y+=s.y;return n.x/=t.length,n.y/=t.length,n}function ce(t,n,s,e){e=e||{};const i=e.maxIterations||100,r=e.tolerance||1e-10,o=t(n),l=t(s);let h=s-n;if(o*l>0)throw"Initial bisect points must have opposite signs";if(o===0)return n;if(l===0)return s;for(let u=0;u=0&&(n=a),Math.abs(h)ct(n))}function tt(t,n){let s=0;for(let e=0;ev.fx-c.fx,T=n.slice(),w=n.slice(),g=n.slice(),b=n.slice();for(let v=0;v{const N=f.slice();return N.fx=f.fx,N.id=f.id,N});x.sort((f,N)=>f.id-N.id),s.history.push({x:y[0].slice(),fx:y[0].fx,simplex:x})}d=0;for(let x=0;x=y[m-1].fx){let x=!1;if(w.fx>c.fx?(J(g,1+a,T,-a,c),g.fx=t(g),g.fx=1)break;for(let f=1;fl+r*i*h||u>=E)M=i;else{if(Math.abs(p)<=-o*h)return i;p*(M-y)>=0&&(M=y),y=i,E=u}return 0}for(let y=0;y<10;++y){if(J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),p=tt(e.fxprime,n),u>l+r*i*h||y&&u>=a)return m(d,i,a);if(Math.abs(p)<=-o*h)return i;if(p>=0)return m(i,d,u);a=u,d=i,i*=2}return i}function he(t,n,s){let e={x:n.slice(),fx:0,fxprime:n.slice()},i={x:n.slice(),fx:0,fxprime:n.slice()};const r=n.slice();let o,l,h=1,u;s=s||{},u=s.maxIterations||n.length*20,e.fx=t(e.x,e.fxprime),o=e.fxprime.slice(),ht(o,e.fxprime,-1);for(let a=0;a{const p={};for(let d=0;dxt(t,n,e)-s,0,t+n)}function fe(t,n={}){const s=n.distinct,e=t.map(l=>Object.assign({},l));function i(l){return l.join(";")}if(s){const l=new Map;for(const h of e)for(let u=0;ul===h?0:lr.sets.length===2).forEach(r=>{const o=s[r.sets[0]],l=s[r.sets[1]],h=Math.sqrt(n[o].size/Math.PI),u=Math.sqrt(n[l].size/Math.PI),a=ft(h,u,r.size);e[o][l]=e[l][o]=a;let p=0;r.size+1e-10>=Math.min(n[o].size,n[l].size)?p=1:r.size<=1e-10&&(p=-1),i[o][l]=i[l][o]=p}),{distances:e,constraints:i}}function ge(t,n,s,e){for(let r=0;r0&&y<=p||d<0&&y>=p||(i+=2*M*M,n[2*r]+=4*M*(o-u),n[2*r+1]+=4*M*(l-a),n[2*h]+=4*M*(u-o),n[2*h+1]+=4*M*(a-l))}}return i}function xe(t,n={}){let s=pe(t,n);const e=n.lossFunction||et;if(t.length>=8){const i=ye(t,n),r=e(i,t),o=e(s,t);r+1e-8d.map(m=>m/l));const h=(d,m)=>ge(d,m,r,o);let u=null;for(let d=0;dp.sets.length===2);for(const p of t){let d=p.weight!=null?p.weight:1;const m=p.sets[0],y=p.sets[1];p.size+Rt>=Math.min(e[m].size,e[y].size)&&(d=0),i[m].push({set:y,size:p.size,weight:d}),i[y].push({set:m,size:p.size,weight:d})}const r=[];Object.keys(i).forEach(p=>{let d=0;for(let m=0;mt[o]));const r=e.weight!=null?e.weight:1;s+=r*(i-e.size)*(i-e.size)}return s}function Ct(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const l=t[e.sets[0]],h=t[e.sets[1]];i=xt(l.radius,h.radius,K(l,h))}else i=st(e.sets.map(l=>t[l]));const r=e.weight!=null?e.weight:1,o=Math.log((i+1)/(e.size+1));s+=r*o*o}return s}function me(t,n,s){if(s==null?t.sort((i,r)=>r.radius-i.radius):t.sort(s),t.length>0){const i=t[0].x,r=t[0].y;for(const o of t)o.x-=i,o.y-=r}if(t.length===2&&K(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-n,r=Math.cos(i),o=Math.sin(i);for(const l of t){const h=l.x,u=l.y;l.x=r*h-o*u,l.y=o*h+r*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-n;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const r=t[1].y/(1e-10+t[1].x);for(const o of t){var e=(o.x+r*o.y)/(1+r*r);o.x=2*e-o.x,o.y=2*e*r-o.y}}}}function be(t){t.forEach(i=>{i.parent=i});function n(i){return i.parent!==i&&(i.parent=n(i.parent)),i.parent}function s(i,r){const o=n(i),l=n(r);o.parent=l}for(let i=0;i{delete i.parent}),Array.from(e.values())}function dt(t){const n=s=>{const e=t.reduce((r,o)=>Math.max(r,o[s]+o.radius),Number.NEGATIVE_INFINITY),i=t.reduce((r,o)=>Math.min(r,o[s]-o.radius),Number.POSITIVE_INFINITY);return{max:e,min:i}};return{xRange:n("x"),yRange:n("y")}}function Dt(t,n,s){n==null&&(n=Math.PI/2);let e=Ft(t).map(u=>Object.assign({},u));const i=be(e);for(const u of i){me(u,n,s);const a=dt(u);u.size=(a.xRange.max-a.xRange.min)*(a.yRange.max-a.yRange.min),u.bounds=a}i.sort((u,a)=>a.size-u.size),e=i[0];let r=e.bounds;const o=(r.xRange.max-r.xRange.min)/50;function l(u,a,p){if(!u)return;const d=u.bounds;let m,y;if(a)m=r.xRange.max-d.xRange.min+o;else{m=r.xRange.max-d.xRange.max;const M=(d.xRange.max-d.xRange.min)/2-(r.xRange.max-r.xRange.min)/2;M<0&&(m+=M)}if(p)y=r.yRange.max-d.yRange.min+o;else{y=r.yRange.max-d.yRange.max;const M=(d.yRange.max-d.yRange.min)/2-(r.yRange.max-r.yRange.min)/2;M<0&&(y+=M)}for(const M of u)M.x+=m,M.y+=y,e.push(M)}let h=1;for(;h({radius:a*m.radius,x:e+p+(m.x-o.min)*a,y:e+d+(m.y-l.min)*a,setid:m.setid})))}function Nt(t){const n={};for(const s of t)n[s.setid]=s;return n}function Ft(t){return Object.keys(t).map(s=>Object.assign(t[s],{setid:s}))}function ve(t={}){let n=!1,s=600,e=350,i=15,r=1e3,o=Math.PI/2,l=!0,h=null,u=!0,a=!0,p=null,d=null,m=!1,y=null,M=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,E={},T=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],w=0,g=function(x){if(x in E)return E[x];var f=E[x]=T[w];return w+=1,w>=T.length&&(w=0),f},b=At,v=et;function c(x){let f=x.datum();const N=new Set;f.forEach(k=>{k.size==0&&k.sets.length==1&&N.add(k.sets[0])}),f=f.filter(k=>!k.sets.some(D=>N.has(D)));let I={},R={};if(f.length>0){let k=b(f,{lossFunction:v,distinct:m});l&&(k=Dt(k,o,d)),I=Ot(k,s,e,i,h),R=Lt(I,f,M)}const Z={};f.forEach(k=>{k.label&&(Z[k.sets]=k.label)});function q(k){if(k.sets in Z)return Z[k.sets];if(k.sets.length==1)return""+k.sets[0]}x.selectAll("svg").data([I]).enter().append("svg");const B=x.select("svg");n?B.attr("viewBox",`0 0 ${s} ${e}`):B.attr("width",s).attr("height",e);const V={};let z=!1;B.selectAll(".venn-area path").each(function(k){const D=this.getAttribute("d");k.sets.length==1&&D&&!m&&(z=!0,V[k.sets[0]]=Me(D))});function U(k){return D=>{const W=k.sets.map(Q=>{let G=V[Q],Y=I[Q];return G||(G={x:s/2,y:e/2,radius:1}),Y||(Y={x:s/2,y:e/2,radius:1}),{x:G.x*(1-D)+Y.x*D,y:G.y*(1-D)+Y.y*D,radius:G.radius*(1-D)+Y.radius*D}});return wt(W,y)}}const A=B.selectAll(".venn-area").data(f,k=>k.sets),F=A.enter().append("g").attr("class",k=>`venn-area venn-${k.sets.length==1?"circle":"intersection"}${k.colour||k.color?" venn-coloured":""}`).attr("data-venn-sets",k=>k.sets.join("_")),j=F.append("path"),L=F.append("text").attr("class","label").text(k=>q(k)).attr("text-anchor","middle").attr("dy",".35em").attr("x",s/2).attr("y",e/2);a&&(j.style("fill-opacity","0").filter(k=>k.sets.length==1).style("fill",k=>k.colour?k.colour:k.color?k.color:g(k.sets)).style("fill-opacity",".25"),L.style("fill",k=>k.colour||k.color?"#FFF":t.textFill?t.textFill:k.sets.length==1?g(k.sets):"#444"));function P(k){return typeof k.transition=="function"?k.transition("venn").duration(r):k}let _=x;z&&typeof _.transition=="function"?(_=P(x),_.selectAll("path").attrTween("d",U)):_.selectAll("path").attr("d",k=>wt(k.sets.map(D=>I[D])),y);const C=_.selectAll("text").filter(k=>k.sets in R).text(k=>q(k)).attr("x",k=>Math.floor(R[k.sets].x)).attr("y",k=>Math.floor(R[k.sets].y));u&&(z?"on"in C?C.on("end",ot(I,q)):C.each("end",ot(I,q)):C.each(ot(I,q)));const O=P(A.exit()).remove();typeof A.transition=="function"&&O.selectAll("path").attrTween("d",U);const X=O.selectAll("text").attr("x",s/2).attr("y",e/2);return p!==null&&(L.style("font-size","0px"),C.style("font-size",p),X.style("font-size","0px")),{circles:I,textCentres:R,nodes:A,enter:F,update:_,exit:O}}return c.wrap=function(x){return arguments.length?(u=x,c):u},c.useViewBox=function(){return n=!0,c},c.width=function(x){return arguments.length?(s=x,c):s},c.height=function(x){return arguments.length?(e=x,c):e},c.padding=function(x){return arguments.length?(i=x,c):i},c.distinct=function(x){return arguments.length?(m=x,c):m},c.colours=function(x){return arguments.length?(g=x,c):g},c.colors=function(x){return arguments.length?(g=x,c):g},c.fontSize=function(x){return arguments.length?(p=x,c):p},c.round=function(x){return arguments.length?(y=x,c):y},c.duration=function(x){return arguments.length?(r=x,c):r},c.layoutFunction=function(x){return arguments.length?(b=x,c):b},c.normalize=function(x){return arguments.length?(l=x,c):l},c.scaleToFit=function(x){return arguments.length?(h=x,c):h},c.styled=function(x){return arguments.length?(a=x,c):a},c.orientation=function(x){return arguments.length?(o=x,c):o},c.orientationOrder=function(x){return arguments.length?(d=x,c):d},c.lossFunction=function(x){return arguments.length?(v=x==="default"?et:x==="logRatio"?Ct:x,c):v},c}function ot(t,n){return function(s){const e=this,i=t[s.sets[0]].radius||50,r=n(s)||"",o=r.split(/\s+/).reverse(),h=(r.length+o.length)/3;let u=o.pop(),a=[u],p=0;const d=1.1;e.textContent=null;const m=[];function y(g){const b=e.ownerDocument.createElementNS(e.namespaceURI,"tspan");return b.textContent=g,m.push(b),e.append(b),b}let M=y(u);for(;u=o.pop(),!!u;){a.push(u);const g=a.join(" ");M.textContent=g,g.length>h&&M.getComputedTextLength()>i&&(a.pop(),M.textContent=a.join(" "),a=[u],M=y(u),p++)}const E=.35-p*d/2,T=e.getAttribute("x"),w=e.getAttribute("y");m.forEach((g,b)=>{g.setAttribute("x",T),g.setAttribute("y",w),g.setAttribute("dy",`${E+b*d}em`)})}}function at(t,n,s){let e=n[0].radius-K(n[0],t);for(let i=1;i=r&&(i=e[a],r=p)}const o=zt(a=>-1*at({x:a[0],y:a[1]},t,n),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,l={x:s?0:o[0],y:o[1]};let h=!0;for(const a of t)if(K(l,a)>a.radius){h=!1;break}for(const a of n)if(K(l,a)a.p1))}function ke(t){const n={},s=Object.keys(t);for(const e of s)n[e]=[];for(let e=0;e0&&console.log("WARNING: area "+o+" not represented on screen")}return e}function Ie(t,n,s){const e=[];return e.push(` +import{d as Gt,aR as Kt,V as Ht,$ as Xt,aU as Yt,W as Zt,aS as Qt,a as S,X as St,aQ as Jt,k as $t,ak as te,ap as ee,H as ne,B as se,s as ie,r as re,O as oe}from"./mermaid.core-DS1qXbzQ.js";import{ad as rt}from"../../app/index-B0ly_D9Z.js";const It=(t,n)=>Gt(t,"a",-n),_t=1e-10;function st(t,n){const s=le(t),e=s.filter(l=>ae(l,t));let i=0,r=0;const o=[];if(e.length>1){const l=Et(e);for(let u=0;ua.angle-u.angle);let h=e[e.length-1];for(let u=0;uy.radius*2&&(g=y.radius*2),(d==null||d.width>g)&&(d={circle:y,width:g,p1:a,p2:h,large:g>y.radius,sweep:!0})}d!=null&&(o.push(d),i+=lt(d.circle.radius,d.width),h=a)}}else{let l=t[0];for(let u=1;uMath.abs(l.radius-t[u].radius)){h=!0;break}h?i=r=0:(i=l.radius*l.radius*Math.PI,o.push({circle:l,p1:{x:l.x,y:l.y+l.radius},p2:{x:l.x-_t,y:l.y+l.radius},width:l.radius*2,large:!0,sweep:!0}))}return r/=2,n&&(n.area=i+r,n.arcArea=i,n.polygonArea=r,n.arcs=o,n.innerPoints=e,n.intersectionPoints=s),i+r}function ae(t,n){return n.every(s=>K(t,s)=t+n)return 0;if(s<=Math.abs(t-n))return Math.PI*Math.min(t,n)*Math.min(t,n);const e=t-(s*s-n*n+t*t)/(2*s),i=n-(s*s-t*t+n*n)/(2*s);return lt(t,e)+lt(n,i)}function Tt(t,n){const s=K(t,n),e=t.radius,i=n.radius;if(s>=e+i||s<=Math.abs(e-i))return[];const r=(e*e-i*i+s*s)/(2*s),o=Math.sqrt(e*e-r*r),l=t.x+r*(n.x-t.x)/s,h=t.y+r*(n.y-t.y)/s,u=-(n.y-t.y)*(o/s),a=-(n.x-t.x)*(o/s);return[{x:l+u,y:h-a},{x:l-u,y:h+a}]}function Et(t){const n={x:0,y:0};for(const s of t)n.x+=s.x,n.y+=s.y;return n.x/=t.length,n.y/=t.length,n}function ce(t,n,s,e){e=e||{};const i=e.maxIterations||100,r=e.tolerance||1e-10,o=t(n),l=t(s);let h=s-n;if(o*l>0)throw"Initial bisect points must have opposite signs";if(o===0)return n;if(l===0)return s;for(let u=0;u=0&&(n=a),Math.abs(h)ct(n))}function tt(t,n){let s=0;for(let e=0;ev.fx-c.fx,T=n.slice(),w=n.slice(),g=n.slice(),b=n.slice();for(let v=0;v{const N=f.slice();return N.fx=f.fx,N.id=f.id,N});x.sort((f,N)=>f.id-N.id),s.history.push({x:y[0].slice(),fx:y[0].fx,simplex:x})}d=0;for(let x=0;x=y[m-1].fx){let x=!1;if(w.fx>c.fx?(J(g,1+a,T,-a,c),g.fx=t(g),g.fx=1)break;for(let f=1;fl+r*i*h||u>=E)M=i;else{if(Math.abs(p)<=-o*h)return i;p*(M-y)>=0&&(M=y),y=i,E=u}return 0}for(let y=0;y<10;++y){if(J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),p=tt(e.fxprime,n),u>l+r*i*h||y&&u>=a)return m(d,i,a);if(Math.abs(p)<=-o*h)return i;if(p>=0)return m(i,d,u);a=u,d=i,i*=2}return i}function he(t,n,s){let e={x:n.slice(),fx:0,fxprime:n.slice()},i={x:n.slice(),fx:0,fxprime:n.slice()};const r=n.slice();let o,l,h=1,u;s=s||{},u=s.maxIterations||n.length*20,e.fx=t(e.x,e.fxprime),o=e.fxprime.slice(),ht(o,e.fxprime,-1);for(let a=0;a{const p={};for(let d=0;dxt(t,n,e)-s,0,t+n)}function fe(t,n={}){const s=n.distinct,e=t.map(l=>Object.assign({},l));function i(l){return l.join(";")}if(s){const l=new Map;for(const h of e)for(let u=0;ul===h?0:lr.sets.length===2).forEach(r=>{const o=s[r.sets[0]],l=s[r.sets[1]],h=Math.sqrt(n[o].size/Math.PI),u=Math.sqrt(n[l].size/Math.PI),a=ft(h,u,r.size);e[o][l]=e[l][o]=a;let p=0;r.size+1e-10>=Math.min(n[o].size,n[l].size)?p=1:r.size<=1e-10&&(p=-1),i[o][l]=i[l][o]=p}),{distances:e,constraints:i}}function ge(t,n,s,e){for(let r=0;r0&&y<=p||d<0&&y>=p||(i+=2*M*M,n[2*r]+=4*M*(o-u),n[2*r+1]+=4*M*(l-a),n[2*h]+=4*M*(u-o),n[2*h+1]+=4*M*(a-l))}}return i}function xe(t,n={}){let s=pe(t,n);const e=n.lossFunction||et;if(t.length>=8){const i=ye(t,n),r=e(i,t),o=e(s,t);r+1e-8d.map(m=>m/l));const h=(d,m)=>ge(d,m,r,o);let u=null;for(let d=0;dp.sets.length===2);for(const p of t){let d=p.weight!=null?p.weight:1;const m=p.sets[0],y=p.sets[1];p.size+Rt>=Math.min(e[m].size,e[y].size)&&(d=0),i[m].push({set:y,size:p.size,weight:d}),i[y].push({set:m,size:p.size,weight:d})}const r=[];Object.keys(i).forEach(p=>{let d=0;for(let m=0;mt[o]));const r=e.weight!=null?e.weight:1;s+=r*(i-e.size)*(i-e.size)}return s}function Ct(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const l=t[e.sets[0]],h=t[e.sets[1]];i=xt(l.radius,h.radius,K(l,h))}else i=st(e.sets.map(l=>t[l]));const r=e.weight!=null?e.weight:1,o=Math.log((i+1)/(e.size+1));s+=r*o*o}return s}function me(t,n,s){if(s==null?t.sort((i,r)=>r.radius-i.radius):t.sort(s),t.length>0){const i=t[0].x,r=t[0].y;for(const o of t)o.x-=i,o.y-=r}if(t.length===2&&K(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-n,r=Math.cos(i),o=Math.sin(i);for(const l of t){const h=l.x,u=l.y;l.x=r*h-o*u,l.y=o*h+r*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-n;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const r=t[1].y/(1e-10+t[1].x);for(const o of t){var e=(o.x+r*o.y)/(1+r*r);o.x=2*e-o.x,o.y=2*e*r-o.y}}}}function be(t){t.forEach(i=>{i.parent=i});function n(i){return i.parent!==i&&(i.parent=n(i.parent)),i.parent}function s(i,r){const o=n(i),l=n(r);o.parent=l}for(let i=0;i{delete i.parent}),Array.from(e.values())}function dt(t){const n=s=>{const e=t.reduce((r,o)=>Math.max(r,o[s]+o.radius),Number.NEGATIVE_INFINITY),i=t.reduce((r,o)=>Math.min(r,o[s]-o.radius),Number.POSITIVE_INFINITY);return{max:e,min:i}};return{xRange:n("x"),yRange:n("y")}}function Dt(t,n,s){n==null&&(n=Math.PI/2);let e=Ft(t).map(u=>Object.assign({},u));const i=be(e);for(const u of i){me(u,n,s);const a=dt(u);u.size=(a.xRange.max-a.xRange.min)*(a.yRange.max-a.yRange.min),u.bounds=a}i.sort((u,a)=>a.size-u.size),e=i[0];let r=e.bounds;const o=(r.xRange.max-r.xRange.min)/50;function l(u,a,p){if(!u)return;const d=u.bounds;let m,y;if(a)m=r.xRange.max-d.xRange.min+o;else{m=r.xRange.max-d.xRange.max;const M=(d.xRange.max-d.xRange.min)/2-(r.xRange.max-r.xRange.min)/2;M<0&&(m+=M)}if(p)y=r.yRange.max-d.yRange.min+o;else{y=r.yRange.max-d.yRange.max;const M=(d.yRange.max-d.yRange.min)/2-(r.yRange.max-r.yRange.min)/2;M<0&&(y+=M)}for(const M of u)M.x+=m,M.y+=y,e.push(M)}let h=1;for(;h({radius:a*m.radius,x:e+p+(m.x-o.min)*a,y:e+d+(m.y-l.min)*a,setid:m.setid})))}function Nt(t){const n={};for(const s of t)n[s.setid]=s;return n}function Ft(t){return Object.keys(t).map(s=>Object.assign(t[s],{setid:s}))}function ve(t={}){let n=!1,s=600,e=350,i=15,r=1e3,o=Math.PI/2,l=!0,h=null,u=!0,a=!0,p=null,d=null,m=!1,y=null,M=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,E={},T=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],w=0,g=function(x){if(x in E)return E[x];var f=E[x]=T[w];return w+=1,w>=T.length&&(w=0),f},b=At,v=et;function c(x){let f=x.datum();const N=new Set;f.forEach(k=>{k.size==0&&k.sets.length==1&&N.add(k.sets[0])}),f=f.filter(k=>!k.sets.some(D=>N.has(D)));let I={},R={};if(f.length>0){let k=b(f,{lossFunction:v,distinct:m});l&&(k=Dt(k,o,d)),I=Ot(k,s,e,i,h),R=Lt(I,f,M)}const Z={};f.forEach(k=>{k.label&&(Z[k.sets]=k.label)});function q(k){if(k.sets in Z)return Z[k.sets];if(k.sets.length==1)return""+k.sets[0]}x.selectAll("svg").data([I]).enter().append("svg");const B=x.select("svg");n?B.attr("viewBox",`0 0 ${s} ${e}`):B.attr("width",s).attr("height",e);const V={};let z=!1;B.selectAll(".venn-area path").each(function(k){const D=this.getAttribute("d");k.sets.length==1&&D&&!m&&(z=!0,V[k.sets[0]]=Me(D))});function U(k){return D=>{const W=k.sets.map(Q=>{let G=V[Q],Y=I[Q];return G||(G={x:s/2,y:e/2,radius:1}),Y||(Y={x:s/2,y:e/2,radius:1}),{x:G.x*(1-D)+Y.x*D,y:G.y*(1-D)+Y.y*D,radius:G.radius*(1-D)+Y.radius*D}});return wt(W,y)}}const A=B.selectAll(".venn-area").data(f,k=>k.sets),F=A.enter().append("g").attr("class",k=>`venn-area venn-${k.sets.length==1?"circle":"intersection"}${k.colour||k.color?" venn-coloured":""}`).attr("data-venn-sets",k=>k.sets.join("_")),j=F.append("path"),L=F.append("text").attr("class","label").text(k=>q(k)).attr("text-anchor","middle").attr("dy",".35em").attr("x",s/2).attr("y",e/2);a&&(j.style("fill-opacity","0").filter(k=>k.sets.length==1).style("fill",k=>k.colour?k.colour:k.color?k.color:g(k.sets)).style("fill-opacity",".25"),L.style("fill",k=>k.colour||k.color?"#FFF":t.textFill?t.textFill:k.sets.length==1?g(k.sets):"#444"));function P(k){return typeof k.transition=="function"?k.transition("venn").duration(r):k}let _=x;z&&typeof _.transition=="function"?(_=P(x),_.selectAll("path").attrTween("d",U)):_.selectAll("path").attr("d",k=>wt(k.sets.map(D=>I[D])),y);const C=_.selectAll("text").filter(k=>k.sets in R).text(k=>q(k)).attr("x",k=>Math.floor(R[k.sets].x)).attr("y",k=>Math.floor(R[k.sets].y));u&&(z?"on"in C?C.on("end",ot(I,q)):C.each("end",ot(I,q)):C.each(ot(I,q)));const O=P(A.exit()).remove();typeof A.transition=="function"&&O.selectAll("path").attrTween("d",U);const X=O.selectAll("text").attr("x",s/2).attr("y",e/2);return p!==null&&(L.style("font-size","0px"),C.style("font-size",p),X.style("font-size","0px")),{circles:I,textCentres:R,nodes:A,enter:F,update:_,exit:O}}return c.wrap=function(x){return arguments.length?(u=x,c):u},c.useViewBox=function(){return n=!0,c},c.width=function(x){return arguments.length?(s=x,c):s},c.height=function(x){return arguments.length?(e=x,c):e},c.padding=function(x){return arguments.length?(i=x,c):i},c.distinct=function(x){return arguments.length?(m=x,c):m},c.colours=function(x){return arguments.length?(g=x,c):g},c.colors=function(x){return arguments.length?(g=x,c):g},c.fontSize=function(x){return arguments.length?(p=x,c):p},c.round=function(x){return arguments.length?(y=x,c):y},c.duration=function(x){return arguments.length?(r=x,c):r},c.layoutFunction=function(x){return arguments.length?(b=x,c):b},c.normalize=function(x){return arguments.length?(l=x,c):l},c.scaleToFit=function(x){return arguments.length?(h=x,c):h},c.styled=function(x){return arguments.length?(a=x,c):a},c.orientation=function(x){return arguments.length?(o=x,c):o},c.orientationOrder=function(x){return arguments.length?(d=x,c):d},c.lossFunction=function(x){return arguments.length?(v=x==="default"?et:x==="logRatio"?Ct:x,c):v},c}function ot(t,n){return function(s){const e=this,i=t[s.sets[0]].radius||50,r=n(s)||"",o=r.split(/\s+/).reverse(),h=(r.length+o.length)/3;let u=o.pop(),a=[u],p=0;const d=1.1;e.textContent=null;const m=[];function y(g){const b=e.ownerDocument.createElementNS(e.namespaceURI,"tspan");return b.textContent=g,m.push(b),e.append(b),b}let M=y(u);for(;u=o.pop(),!!u;){a.push(u);const g=a.join(" ");M.textContent=g,g.length>h&&M.getComputedTextLength()>i&&(a.pop(),M.textContent=a.join(" "),a=[u],M=y(u),p++)}const E=.35-p*d/2,T=e.getAttribute("x"),w=e.getAttribute("y");m.forEach((g,b)=>{g.setAttribute("x",T),g.setAttribute("y",w),g.setAttribute("dy",`${E+b*d}em`)})}}function at(t,n,s){let e=n[0].radius-K(n[0],t);for(let i=1;i=r&&(i=e[a],r=p)}const o=zt(a=>-1*at({x:a[0],y:a[1]},t,n),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,l={x:s?0:o[0],y:o[1]};let h=!0;for(const a of t)if(K(l,a)>a.radius){h=!1;break}for(const a of n)if(K(l,a)a.p1))}function ke(t){const n={},s=Object.keys(t);for(const e of s)n[e]=[];for(let e=0;e0&&console.log("WARNING: area "+o+" not represented on screen")}return e}function Ie(t,n,s){const e=[];return e.push(` M`,t,n),e.push(` m`,-s,0),e.push(` a`,s,s,0,1,0,s*2,0),e.push(` diff --git a/veadk/webui/assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-_jEObl1h.js b/veadk/webui/assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-D69g7FVc.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-_jEObl1h.js rename to veadk/webui/assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-D69g7FVc.js index 96e89c988..a96fda96f 100644 --- a/veadk/webui/assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-_jEObl1h.js +++ b/veadk/webui/assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-D69g7FVc.js @@ -1,4 +1,4 @@ -import{p as zt}from"./chunk-JWPE2WC7-B2zXTT0G.js";import{aR as Lt,V as Tt,$ as Xt,aU as At,W as Et,aS as Yt,a as y,a8 as It,X as Bt,r as K,at as et,aQ as Ft,B as Rt,s as Ot,Y as V}from"./mermaid.core-CA8ypPul.js";import{p as Wt}from"./cynefin-OW5HDTMX-DZwYx8KA.js";import"../../app/index-BSfA7-Qp.js";var G=y((a,o)=>{const e=a<=1?a*100:a;if(e<0||e>100)throw new Error(`${o} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${a}`);return e},"toPercent"),E=y((a,o,e)=>({x:G(o,`${e} evolution`),y:G(a,`${e} visibility`)}),"toCoordinates"),tt=y(a=>{if(a){if(a==="+<>")return"bidirectional";if(a==="+<")return"backward";if(a==="+>")return"forward"}},"getFlowFromPort"),Dt=y(a=>{if(!(a!=null&&a.startsWith("+")))return{};const o=/^\+'([^']*)'/.exec(a),e=o==null?void 0:o[1];return a.includes("<>")?{flow:"bidirectional",label:e}:a.includes("<")?{flow:"backward",label:e}:a.includes(">")?{flow:"forward",label:e}:{label:e}},"extractFlowFromArrow"),Gt=y((a,o)=>{if(zt(a,o),a.size&&o.setSize(a.size.width,a.size.height),a.evolution){const e=a.evolution.stages.map(r=>r.secondName?`${r.name.trim()} / ${r.secondName.trim()}`:r.name.trim()),p=a.evolution.stages.filter(r=>r.boundary!==void 0).map(r=>r.boundary);o.updateAxes({stages:e,stageBoundaries:p})}if(a.anchors.forEach(e=>{const p=E(e.visibility,e.evolution,`Anchor "${e.name}"`);o.addNode(e.name,e.name,p.x,p.y,"anchor")}),a.components.forEach(e=>{var v;const p=E(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,d=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,m=(v=e.decorator)==null?void 0:v.strategy;o.addNode(e.name,e.name,p.x,p.y,"component",r,d,e.inertia,m)}),a.notes.forEach(e=>{const p=E(e.visibility,e.evolution,`Note "${e.text}"`);o.addNote(e.text,p.x,p.y)}),a.pipelines.forEach(e=>{const p=o.getNode(e.parent);if(!p||typeof p.y!="number")throw new Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);const r=p.y;o.startPipeline(e.parent),e.components.forEach(d=>{const m=`${e.parent}_${d.name}`,v=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,L=G(d.evolution,`Pipeline component "${d.name}" evolution`);o.addNode(m,d.name,L,r,"pipeline-component",v,g),o.addPipelineComponent(e.parent,m)})}),a.links.forEach(e=>{const p=!!e.arrow&&(e.arrow.includes("-.->")||e.arrow.includes(".-."));let r=tt(e.fromPort)??tt(e.toPort);const{flow:d,label:m}=Dt(e.arrow);!r&&d&&(r=d);const v=e.linkLabel,g=m??v;o.addLink(o.resolveNodeId(e.from),o.resolveNodeId(e.to),p,g,r)}),a.evolves.forEach(e=>{const p=o.getNode(e.component);if((p==null?void 0:p.y)!==void 0){const r=G(e.target,`Evolve target for "${e.component}"`);o.addTrend(e.component,r,p.y)}}),a.annotations.length>0){const e=a.annotations[0],p=E(e.x,e.y,"Annotations box");o.setAnnotationsBox(p.x,p.y)}a.annotation.forEach(e=>{const p=E(e.x,e.y,`Annotation ${e.number}`);o.addAnnotation(e.number,[{x:p.x,y:p.y}],e.text)}),a.accelerators.forEach(e=>{const p=E(e.x,e.y,`Accelerator "${e.name}"`);o.addAccelerator(e.name,p.x,p.y)}),a.deaccelerators.forEach(e=>{const p=E(e.x,e.y,`Deaccelerator "${e.name}"`);o.addDeaccelerator(e.name,p.x,p.y)})},"populateDb"),at={parser:{yy:void 0},parse:y(async a=>{var p;const o=await Wt("wardley",a);et.debug(o);const e=(p=at.parser)==null?void 0:p.yy;if(!e||typeof e.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Gt(o,e)},"parse")},I,qt=(I=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(o){const e=this.nodes.get(o.id)??{id:o.id,label:o.label},p={...e,...o,className:o.className??e.className,labelOffsetX:o.labelOffsetX??e.labelOffsetX,labelOffsetY:o.labelOffsetY??e.labelOffsetY};this.nodes.set(o.id,p)}addLink(o){this.links.push(o)}addTrend(o){this.trends.set(o.nodeId,o)}startPipeline(o){this.pipelines.set(o,{nodeId:o,componentIds:[]});const e=this.nodes.get(o);e&&(e.isPipelineParent=!0)}addPipelineComponent(o,e){const p=this.pipelines.get(o);p&&p.componentIds.push(e);const r=this.nodes.get(e);r&&(r.inPipeline=!0)}addAnnotation(o){this.annotations.push(o)}addNote(o){this.notes.push(o)}addAccelerator(o){this.accelerators.push(o)}addDeaccelerator(o){this.deaccelerators.push(o)}setAnnotationsBox(o,e){this.annotationsBox={x:o,y:e}}setAxes(o){this.axes={...this.axes,...o}}setSize(o,e){this.size={width:o,height:e}}getNode(o){return this.nodes.get(o)}resolveNodeId(o){if(this.nodes.has(o))return o;for(const[e,p]of this.nodes)if(p.label===o)return e;return o}build(){const o=[];for(const e of this.nodes.values()){if(typeof e.x!="number"||typeof e.y!="number")throw new Error(`Node "${e.label}" is missing coordinates`);o.push(e)}return{nodes:o,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},y(I,"WardleyBuilder"),I),b=new qt;function rt(){return V()["wardley-beta"]}y(rt,"getConfig");function ot(a,o,e,p,r,d,m,v,g){b.addNode({id:a,label:o,x:e,y:p,className:r,labelOffsetX:d,labelOffsetY:m,inertia:v,sourceStrategy:g})}y(ot,"addNode");function st(a,o,e=!1,p,r){b.addLink({source:a,target:o,dashed:e,label:p,flow:r})}y(st,"addLink");function nt(a,o,e){b.addTrend({nodeId:a,targetX:o,targetY:e})}y(nt,"addTrend");function it(a,o,e){b.addAnnotation({number:a,coordinates:o,text:e})}y(it,"addAnnotation");function dt(a,o,e){b.addNote({text:a,x:o,y:e})}y(dt,"addNote");function lt(a,o,e){b.addAccelerator({name:a,x:o,y:e})}y(lt,"addAccelerator");function ct(a,o,e){b.addDeaccelerator({name:a,x:o,y:e})}y(ct,"addDeaccelerator");function pt(a,o){b.setAnnotationsBox(a,o)}y(pt,"setAnnotationsBox");function ht(a,o){b.setSize(a,o)}y(ht,"setSize");function xt(a){b.startPipeline(a)}y(xt,"startPipeline");function ft(a,o){b.addPipelineComponent(a,o)}y(ft,"addPipelineComponent");function gt(a){b.setAxes(a)}y(gt,"updateAxes");function ut(a){return b.getNode(a)}y(ut,"getNode");function yt(a){return b.resolveNodeId(a)}y(yt,"resolveNodeId");function mt(){return b.build()}y(mt,"getWardleyData");function wt(){b.clear(),Ot()}y(wt,"clear");var Ht={getConfig:rt,addNode:ot,addLink:st,addTrend:nt,addAnnotation:it,addNote:dt,addAccelerator:lt,addDeaccelerator:ct,setAnnotationsBox:pt,setSize:ht,startPipeline:xt,addPipelineComponent:ft,updateAxes:gt,getNode:ut,resolveNodeId:yt,getWardleyData:mt,clear:wt,setAccTitle:Yt,getAccTitle:Et,setDiagramTitle:At,getDiagramTitle:Xt,getAccDescription:Tt,setAccDescription:Lt},jt=["Genesis","Custom Built","Product","Commodity"],Vt=y(()=>{var o,e,p,r,d,m,v,g,L,M,k,N;const{themeVariables:a}=V();return{backgroundColor:((o=a.wardley)==null?void 0:o.backgroundColor)??a.background??"#fff",axisColor:((e=a.wardley)==null?void 0:e.axisColor)??"#000",axisTextColor:((p=a.wardley)==null?void 0:p.axisTextColor)??a.primaryTextColor??"#222",gridColor:((r=a.wardley)==null?void 0:r.gridColor)??"rgba(100, 100, 100, 0.2)",componentFill:((d=a.wardley)==null?void 0:d.componentFill)??"#fff",componentStroke:((m=a.wardley)==null?void 0:m.componentStroke)??"#000",componentLabelColor:((v=a.wardley)==null?void 0:v.componentLabelColor)??a.primaryTextColor??"#222",linkStroke:((g=a.wardley)==null?void 0:g.linkStroke)??"#000",evolutionStroke:((L=a.wardley)==null?void 0:L.evolutionStroke)??"#dc3545",annotationStroke:((M=a.wardley)==null?void 0:M.annotationStroke)??"#000",annotationTextColor:((k=a.wardley)==null?void 0:k.annotationTextColor)??a.primaryTextColor??"#222",annotationFill:((N=a.wardley)==null?void 0:N.annotationFill)??a.background??"#fff"}},"getTheme"),_t=y(()=>{const a=V()["wardley-beta"];return{width:(a==null?void 0:a.width)??900,height:(a==null?void 0:a.height)??600,padding:(a==null?void 0:a.padding)??48,nodeRadius:(a==null?void 0:a.nodeRadius)??6,nodeLabelOffset:(a==null?void 0:a.nodeLabelOffset)??8,axisFontSize:(a==null?void 0:a.axisFontSize)??12,labelFontSize:(a==null?void 0:a.labelFontSize)??10,showGrid:(a==null?void 0:a.showGrid)??!1,useMaxWidth:(a==null?void 0:a.useMaxWidth)??!0}},"getConfigValues"),Ut=y((a,o,e,p)=>{var Q,J;et.debug(`Rendering Wardley map +import{p as zt}from"./chunk-JWPE2WC7-Bu7GN1mm.js";import{aR as Lt,V as Tt,$ as Xt,aU as At,W as Et,aS as Yt,a as y,a8 as It,X as Bt,r as K,at as et,aQ as Ft,B as Rt,s as Ot,Y as V}from"./mermaid.core-DS1qXbzQ.js";import{p as Wt}from"./cynefin-OW5HDTMX-CJh-KUCL.js";import"../../app/index-B0ly_D9Z.js";var G=y((a,o)=>{const e=a<=1?a*100:a;if(e<0||e>100)throw new Error(`${o} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${a}`);return e},"toPercent"),E=y((a,o,e)=>({x:G(o,`${e} evolution`),y:G(a,`${e} visibility`)}),"toCoordinates"),tt=y(a=>{if(a){if(a==="+<>")return"bidirectional";if(a==="+<")return"backward";if(a==="+>")return"forward"}},"getFlowFromPort"),Dt=y(a=>{if(!(a!=null&&a.startsWith("+")))return{};const o=/^\+'([^']*)'/.exec(a),e=o==null?void 0:o[1];return a.includes("<>")?{flow:"bidirectional",label:e}:a.includes("<")?{flow:"backward",label:e}:a.includes(">")?{flow:"forward",label:e}:{label:e}},"extractFlowFromArrow"),Gt=y((a,o)=>{if(zt(a,o),a.size&&o.setSize(a.size.width,a.size.height),a.evolution){const e=a.evolution.stages.map(r=>r.secondName?`${r.name.trim()} / ${r.secondName.trim()}`:r.name.trim()),p=a.evolution.stages.filter(r=>r.boundary!==void 0).map(r=>r.boundary);o.updateAxes({stages:e,stageBoundaries:p})}if(a.anchors.forEach(e=>{const p=E(e.visibility,e.evolution,`Anchor "${e.name}"`);o.addNode(e.name,e.name,p.x,p.y,"anchor")}),a.components.forEach(e=>{var v;const p=E(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,d=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,m=(v=e.decorator)==null?void 0:v.strategy;o.addNode(e.name,e.name,p.x,p.y,"component",r,d,e.inertia,m)}),a.notes.forEach(e=>{const p=E(e.visibility,e.evolution,`Note "${e.text}"`);o.addNote(e.text,p.x,p.y)}),a.pipelines.forEach(e=>{const p=o.getNode(e.parent);if(!p||typeof p.y!="number")throw new Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);const r=p.y;o.startPipeline(e.parent),e.components.forEach(d=>{const m=`${e.parent}_${d.name}`,v=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,L=G(d.evolution,`Pipeline component "${d.name}" evolution`);o.addNode(m,d.name,L,r,"pipeline-component",v,g),o.addPipelineComponent(e.parent,m)})}),a.links.forEach(e=>{const p=!!e.arrow&&(e.arrow.includes("-.->")||e.arrow.includes(".-."));let r=tt(e.fromPort)??tt(e.toPort);const{flow:d,label:m}=Dt(e.arrow);!r&&d&&(r=d);const v=e.linkLabel,g=m??v;o.addLink(o.resolveNodeId(e.from),o.resolveNodeId(e.to),p,g,r)}),a.evolves.forEach(e=>{const p=o.getNode(e.component);if((p==null?void 0:p.y)!==void 0){const r=G(e.target,`Evolve target for "${e.component}"`);o.addTrend(e.component,r,p.y)}}),a.annotations.length>0){const e=a.annotations[0],p=E(e.x,e.y,"Annotations box");o.setAnnotationsBox(p.x,p.y)}a.annotation.forEach(e=>{const p=E(e.x,e.y,`Annotation ${e.number}`);o.addAnnotation(e.number,[{x:p.x,y:p.y}],e.text)}),a.accelerators.forEach(e=>{const p=E(e.x,e.y,`Accelerator "${e.name}"`);o.addAccelerator(e.name,p.x,p.y)}),a.deaccelerators.forEach(e=>{const p=E(e.x,e.y,`Deaccelerator "${e.name}"`);o.addDeaccelerator(e.name,p.x,p.y)})},"populateDb"),at={parser:{yy:void 0},parse:y(async a=>{var p;const o=await Wt("wardley",a);et.debug(o);const e=(p=at.parser)==null?void 0:p.yy;if(!e||typeof e.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Gt(o,e)},"parse")},I,qt=(I=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(o){const e=this.nodes.get(o.id)??{id:o.id,label:o.label},p={...e,...o,className:o.className??e.className,labelOffsetX:o.labelOffsetX??e.labelOffsetX,labelOffsetY:o.labelOffsetY??e.labelOffsetY};this.nodes.set(o.id,p)}addLink(o){this.links.push(o)}addTrend(o){this.trends.set(o.nodeId,o)}startPipeline(o){this.pipelines.set(o,{nodeId:o,componentIds:[]});const e=this.nodes.get(o);e&&(e.isPipelineParent=!0)}addPipelineComponent(o,e){const p=this.pipelines.get(o);p&&p.componentIds.push(e);const r=this.nodes.get(e);r&&(r.inPipeline=!0)}addAnnotation(o){this.annotations.push(o)}addNote(o){this.notes.push(o)}addAccelerator(o){this.accelerators.push(o)}addDeaccelerator(o){this.deaccelerators.push(o)}setAnnotationsBox(o,e){this.annotationsBox={x:o,y:e}}setAxes(o){this.axes={...this.axes,...o}}setSize(o,e){this.size={width:o,height:e}}getNode(o){return this.nodes.get(o)}resolveNodeId(o){if(this.nodes.has(o))return o;for(const[e,p]of this.nodes)if(p.label===o)return e;return o}build(){const o=[];for(const e of this.nodes.values()){if(typeof e.x!="number"||typeof e.y!="number")throw new Error(`Node "${e.label}" is missing coordinates`);o.push(e)}return{nodes:o,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},y(I,"WardleyBuilder"),I),b=new qt;function rt(){return V()["wardley-beta"]}y(rt,"getConfig");function ot(a,o,e,p,r,d,m,v,g){b.addNode({id:a,label:o,x:e,y:p,className:r,labelOffsetX:d,labelOffsetY:m,inertia:v,sourceStrategy:g})}y(ot,"addNode");function st(a,o,e=!1,p,r){b.addLink({source:a,target:o,dashed:e,label:p,flow:r})}y(st,"addLink");function nt(a,o,e){b.addTrend({nodeId:a,targetX:o,targetY:e})}y(nt,"addTrend");function it(a,o,e){b.addAnnotation({number:a,coordinates:o,text:e})}y(it,"addAnnotation");function dt(a,o,e){b.addNote({text:a,x:o,y:e})}y(dt,"addNote");function lt(a,o,e){b.addAccelerator({name:a,x:o,y:e})}y(lt,"addAccelerator");function ct(a,o,e){b.addDeaccelerator({name:a,x:o,y:e})}y(ct,"addDeaccelerator");function pt(a,o){b.setAnnotationsBox(a,o)}y(pt,"setAnnotationsBox");function ht(a,o){b.setSize(a,o)}y(ht,"setSize");function xt(a){b.startPipeline(a)}y(xt,"startPipeline");function ft(a,o){b.addPipelineComponent(a,o)}y(ft,"addPipelineComponent");function gt(a){b.setAxes(a)}y(gt,"updateAxes");function ut(a){return b.getNode(a)}y(ut,"getNode");function yt(a){return b.resolveNodeId(a)}y(yt,"resolveNodeId");function mt(){return b.build()}y(mt,"getWardleyData");function wt(){b.clear(),Ot()}y(wt,"clear");var Ht={getConfig:rt,addNode:ot,addLink:st,addTrend:nt,addAnnotation:it,addNote:dt,addAccelerator:lt,addDeaccelerator:ct,setAnnotationsBox:pt,setSize:ht,startPipeline:xt,addPipelineComponent:ft,updateAxes:gt,getNode:ut,resolveNodeId:yt,getWardleyData:mt,clear:wt,setAccTitle:Yt,getAccTitle:Et,setDiagramTitle:At,getDiagramTitle:Xt,getAccDescription:Tt,setAccDescription:Lt},jt=["Genesis","Custom Built","Product","Commodity"],Vt=y(()=>{var o,e,p,r,d,m,v,g,L,M,k,N;const{themeVariables:a}=V();return{backgroundColor:((o=a.wardley)==null?void 0:o.backgroundColor)??a.background??"#fff",axisColor:((e=a.wardley)==null?void 0:e.axisColor)??"#000",axisTextColor:((p=a.wardley)==null?void 0:p.axisTextColor)??a.primaryTextColor??"#222",gridColor:((r=a.wardley)==null?void 0:r.gridColor)??"rgba(100, 100, 100, 0.2)",componentFill:((d=a.wardley)==null?void 0:d.componentFill)??"#fff",componentStroke:((m=a.wardley)==null?void 0:m.componentStroke)??"#000",componentLabelColor:((v=a.wardley)==null?void 0:v.componentLabelColor)??a.primaryTextColor??"#222",linkStroke:((g=a.wardley)==null?void 0:g.linkStroke)??"#000",evolutionStroke:((L=a.wardley)==null?void 0:L.evolutionStroke)??"#dc3545",annotationStroke:((M=a.wardley)==null?void 0:M.annotationStroke)??"#000",annotationTextColor:((k=a.wardley)==null?void 0:k.annotationTextColor)??a.primaryTextColor??"#222",annotationFill:((N=a.wardley)==null?void 0:N.annotationFill)??a.background??"#fff"}},"getTheme"),_t=y(()=>{const a=V()["wardley-beta"];return{width:(a==null?void 0:a.width)??900,height:(a==null?void 0:a.height)??600,padding:(a==null?void 0:a.padding)??48,nodeRadius:(a==null?void 0:a.nodeRadius)??6,nodeLabelOffset:(a==null?void 0:a.nodeLabelOffset)??8,axisFontSize:(a==null?void 0:a.axisFontSize)??12,labelFontSize:(a==null?void 0:a.labelFontSize)??10,showGrid:(a==null?void 0:a.showGrid)??!1,useMaxWidth:(a==null?void 0:a.useMaxWidth)??!0}},"getConfigValues"),Ut=y((a,o,e,p)=>{var Q,J;et.debug(`Rendering Wardley map `+a);const r=_t(),d=Vt(),m=r.nodeRadius*1.6,v=p.db,g=v.getWardleyData(),L=v.getDiagramTitle(),M=((Q=g.size)==null?void 0:Q.width)??r.width,k=((J=g.size)==null?void 0:J.height)??r.height,N=Ft(o);N.selectAll("*").remove(),Rt(N,k,M,r.useMaxWidth),N.attr("viewBox",`0 0 ${M} ${k}`);const P=N.append("g").attr("class","wardley-map"),q=N.append("defs");q.append("marker").attr("id",`arrow-${o}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),q.append("marker").attr("id",`link-arrow-end-${o}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),q.append("marker").attr("id",`link-arrow-start-${o}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),P.append("rect").attr("class","wardley-background").attr("width",M).attr("height",k).attr("fill",d.backgroundColor);const B=M-r.padding*2,F=k-r.padding*2;L&&P.append("text").attr("class","wardley-title").attr("x",M/2).attr("y",r.padding/2).attr("fill",d.axisTextColor).attr("font-size",r.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(L);const T=y(t=>r.padding+t/100*B,"projectX"),X=y(t=>k-r.padding-t/100*F,"projectY"),O=P.append("g").attr("class","wardley-axes");O.append("line").attr("x1",r.padding).attr("x2",M-r.padding).attr("y1",k-r.padding).attr("y2",k-r.padding).attr("stroke",d.axisColor).attr("stroke-width",1),O.append("line").attr("x1",r.padding).attr("x2",r.padding).attr("y1",r.padding).attr("y2",k-r.padding).attr("stroke",d.axisColor).attr("stroke-width",1);const kt=g.axes.xLabel??"Evolution",bt=g.axes.yLabel??"Visibility";O.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",r.padding+B/2).attr("y",k-r.padding/4).attr("fill",d.axisTextColor).attr("font-size",r.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(kt),O.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",r.padding/3).attr("y",r.padding+F/2).attr("fill",d.axisTextColor).attr("font-size",r.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${r.padding/3} ${r.padding+F/2})`).text(bt);const R=g.axes.stages&&g.axes.stages.length>0?g.axes.stages:jt;if(R.length>0){const t=P.append("g").attr("class","wardley-stages"),n=g.axes.stageBoundaries,s=[];if(n&&n.length===R.length){let i=0;n.forEach(h=>{s.push({start:i,end:h}),i=h})}else{const i=1/R.length;R.forEach((h,l)=>{s.push({start:l*i,end:(l+1)*i})})}R.forEach((i,h)=>{const l=s[h],x=r.padding+l.start*B,f=r.padding+l.end*B,u=(x+f)/2;h>0&&t.append("line").attr("x1",x).attr("x2",x).attr("y1",r.padding).attr("y2",k-r.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",u).attr("y",k-r.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",r.axisFontSize-2).attr("text-anchor","middle").text(i)})}if(r.showGrid){const t=P.append("g").attr("class","wardley-grid");for(let n=1;n<4;n++){const s=n/4,i=r.padding+B*s;t.append("line").attr("x1",i).attr("x2",i).attr("y1",r.padding).attr("y2",k-r.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",r.padding).attr("x2",M-r.padding).attr("y1",k-r.padding-F*s).attr("y2",k-r.padding-F*s).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}const c=new Map;if(g.nodes.forEach(t=>{c.set(t.id,{x:T(t.x),y:X(t.y),node:t})}),g.pipelines.length>0){const t=P.append("g").attr("class","wardley-pipelines"),n=P.append("g").attr("class","wardley-pipeline-links");g.pipelines.forEach(s=>{if(s.componentIds.length===0)return;const i=s.componentIds.map(f=>({id:f,pos:c.get(f),node:g.nodes.find(u=>u.id===f)})).filter(f=>f.pos&&f.node).sort((f,u)=>f.node.x-u.node.x);for(let f=0;f{const u=c.get(f);u&&(h=Math.min(h,u.x),l=Math.max(l,u.x),x=u.y)}),h!==1/0&&l!==-1/0){const u=r.nodeRadius*4,w=x-u/2,S=c.get(s.nodeId);if(S){const z=(h+l)/2;S.x=z,S.y=w-m/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",h-15).attr("y",w).attr("width",l-h+15*2).attr("height",u).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const _=P.append("g").attr("class","wardley-links"),U=new Map;g.pipelines.forEach(t=>{U.set(t.nodeId,new Set(t.componentIds))});const Z=g.links.filter(t=>{if(!c.has(t.source)||!c.has(t.target))return!1;const n=U.get(t.target);return!(n!=null&&n.has(t.source))});_.selectAll("line").data(Z).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{const n=c.get(t.source),s=c.get(t.target),h=g.nodes.find(u=>u.id===t.source).isPipelineParent?m/Math.sqrt(2):r.nodeRadius,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x);return n.x+l/f*h}).attr("y1",t=>{const n=c.get(t.source),s=c.get(t.target),h=g.nodes.find(u=>u.id===t.source).isPipelineParent?m/Math.sqrt(2):r.nodeRadius,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x);return n.y+x/f*h}).attr("x2",t=>{const n=c.get(t.source),s=c.get(t.target),h=g.nodes.find(u=>u.id===t.target).isPipelineParent?m/Math.sqrt(2):r.nodeRadius,l=n.x-s.x,x=n.y-s.y,f=Math.sqrt(l*l+x*x);return s.x+l/f*h}).attr("y2",t=>{const n=c.get(t.source),s=c.get(t.target),h=g.nodes.find(u=>u.id===t.target).isPipelineParent?m/Math.sqrt(2):r.nodeRadius,l=n.x-s.x,x=n.y-s.y,f=Math.sqrt(l*l+x*x);return s.y+x/f*h}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>t.flow==="forward"||t.flow==="bidirectional"?`url(#link-arrow-end-${o})`:null).attr("marker-start",t=>t.flow==="backward"||t.flow==="bidirectional"?`url(#link-arrow-start-${o})`:null),_.selectAll("text").data(Z.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.x+s.x)/2,h=s.y-n.y,l=s.x-n.x,x=Math.sqrt(l*l+h*h),f=8,u=h/x;return i+u*f}).attr("y",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.y+s.y)/2,h=s.x-n.x,l=s.y-n.y,x=Math.sqrt(h*h+l*l),f=8,u=-h/x;return i+u*f}).attr("fill",d.axisTextColor).attr("font-size",r.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.x+s.x)/2,h=(n.y+s.y)/2,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x),u=8,w=x/f,S=-l/f,z=i+w*u,W=h+S*u;let Y=Math.atan2(x,l)*180/Math.PI;return(Y>90||Y<-90)&&(Y+=180),`rotate(${Y} ${z} ${W})`}).text(t=>t.label);const $t=P.append("g").attr("class","wardley-trends"),vt=g.trends.map(t=>{const n=c.get(t.nodeId);if(!n)return null;const s=T(t.targetX),i=X(t.targetY),h=s-n.x,l=i-n.y,x=Math.sqrt(h*h+l*l),f=r.nodeRadius+2,u=x>f?s-h/x*f:s,w=x>f?i-l/x*f:i;return{origin:n,targetX:s,targetY:i,adjustedX2:u,adjustedY2:w}}).filter(t=>t!==null);$t.selectAll("line").data(vt).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${o})`);const C=P.append("g").attr("class","wardley-nodes").selectAll("g").data(g.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));C.filter(t=>t.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius*2).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),C.filter(t=>t.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius*2).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),C.filter(t=>t.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const A=C.filter(t=>t.sourceStrategy==="market");A.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius*2).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),C.filter(t=>!t.isPipelineParent&&t.sourceStrategy!=="market"&&t.className!=="anchor").append("circle").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);const H=r.nodeRadius*.7,$=r.nodeRadius*1.2;if(A.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x).attr("y1",t=>c.get(t.id).y-$).attr("x2",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),A.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),A.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x).attr("y2",t=>c.get(t.id).y-$).attr("stroke",d.componentStroke).attr("stroke-width",1),A.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y-$).attr("r",H).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),A.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("r",H).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),A.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("r",H).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),C.filter(t=>t.isPipelineParent===!0).append("rect").attr("x",t=>c.get(t.id).x-m/2).attr("y",t=>c.get(t.id).y-m/2).attr("width",m).attr("height",m).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),C.filter(t=>t.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",t=>{const n=c.get(t.id);let s=t.isPipelineParent?m/2+15:r.nodeRadius+15;return t.sourceStrategy&&(s+=r.nodeRadius+10),n.x+s}).attr("y1",t=>{const n=c.get(t.id),s=t.isPipelineParent?m:r.nodeRadius*2;return n.y-s/2}).attr("x2",t=>{const n=c.get(t.id);let s=t.isPipelineParent?m/2+15:r.nodeRadius+15;return t.sourceStrategy&&(s+=r.nodeRadius+10),n.x+s}).attr("y2",t=>{const n=c.get(t.id),s=t.isPipelineParent?m:r.nodeRadius*2;return n.y+s/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),C.append("text").attr("x",t=>{const n=c.get(t.id);if(t.className==="anchor")return t.labelOffsetX!==void 0?n.x+t.labelOffsetX:n.x;let s=r.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetX===void 0&&(s+=10);const i=t.labelOffsetX??s;return n.x+i}).attr("y",t=>{const n=c.get(t.id);if(t.className==="anchor")return t.labelOffsetY!==void 0?n.y+t.labelOffsetY:n.y-3;let s=-r.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetY===void 0&&(s-=10);const i=t.labelOffsetY??s;return n.y+i}).attr("class","wardley-node-label").attr("fill",t=>t.className==="evolved"?d.evolutionStroke:t.className==="anchor"?"#000":d.componentLabelColor).attr("font-size",r.labelFontSize).attr("font-weight",t=>t.className==="anchor"?"bold":"normal").attr("text-anchor",t=>t.className==="anchor"?"middle":"start").attr("dominant-baseline",t=>t.className==="anchor"?"middle":"auto").text(t=>t.label),g.annotations.length>0){const t=P.append("g").attr("class","wardley-annotations");if(g.annotations.forEach(n=>{const s=n.coordinates.map(i=>({x:T(i.x),y:X(i.y)}));if(s.length>1)for(let i=0;i{const h=t.append("g").attr("class","wardley-annotation");h.append("circle").attr("cx",i.x).attr("cy",i.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),h.append("text").attr("x",i.x).attr("y",i.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(n.number)})}),g.annotationsBox){let n=T(g.annotationsBox.x),s=X(g.annotationsBox.y);const i=10,h=16,l=11,x=t.append("g").attr("class","wardley-annotations-box"),f=[...g.annotations].filter(w=>w.text).sort((w,S)=>w.number-S.number),u=[];if(f.forEach((w,S)=>{const z=x.append("text").attr("x",n+i).attr("y",s+i+(S+1)*h).attr("font-size",l).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${w.number}. ${w.text}`);u.push(z)}),u.length>0){let w=0,S=0;u.forEach(j=>{const D=j.node(),Nt=D.getComputedTextLength();w=Math.max(w,Nt);const Ct=D.getBBox();S=Math.max(S,Ct.height)});const z=w+i*2+105,W=f.length*h+i*2+S/2,Y=r.padding,Pt=M-r.padding-z,St=r.padding,Mt=k-r.padding-W;n=Math.max(Y,Math.min(n,Pt)),s=Math.max(St,Math.min(s,Mt)),u.forEach((j,D)=>{j.attr("x",n+i).attr("y",s+i+(D+1)*h)}),x.insert("rect","text").attr("x",n).attr("y",s).attr("width",z).attr("height",W).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(g.notes.length>0){const t=P.append("g").attr("class","wardley-notes");g.notes.forEach(n=>{const s=T(n.x),i=X(n.y);t.append("text").attr("x",s).attr("y",i).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(n.text)})}if(g.accelerators.length>0){const t=P.append("g").attr("class","wardley-accelerators");g.accelerators.forEach(n=>{const s=T(n.x),i=X(n.y),h=60,l=30,x=20,f=` M ${s} ${i-l/2} L ${s+h-x} ${i-l/2} diff --git a/veadk/webui/assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-B_eZIbWC.js b/veadk/webui/assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-CzH39ePi.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-B_eZIbWC.js rename to veadk/webui/assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-CzH39ePi.js index 158aa1f67..53957697c 100644 --- a/veadk/webui/assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-B_eZIbWC.js +++ b/veadk/webui/assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-CzH39ePi.js @@ -1,4 +1,4 @@ -import{aR as xi,V as di,$ as Yt,aU as fi,W as pi,aS as mi,a as n,at as Nt,aQ as yi,B as bi,s as Ai,X as kt,aO as wi,r as Ht,O as Ci,a8 as Si,y as Ri,aq as Ot}from"./mermaid.core-CA8ypPul.js";import"../../app/index-BSfA7-Qp.js";import{i as _i}from"../../chunks/init-Gi6I4Gst.js";import{o as ki}from"../../chunks/ordinal-Cboi1Yqb.js";import{l as Wt}from"../../chunks/linear-D2RiTPZI.js";import"../../chunks/defaultLocale-CrowFXzY.js";function Ti(e,t,i){e=+e,t=+t,i=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+i;for(var s=-1,a=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(a);++s"u"&&(v.yylloc={});var yt=v.yylloc;r.push(yt);var ui=v.options&&v.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gi(V){g.length=g.length-2*V,C.length=C.length-V,r.length=r.length-V}n(gi,"popStack");function zt(){var V;return V=x.pop()||v.lex()||Vt,typeof V!="number"&&(V instanceof Array&&(x=V,V=x.pop()),V=u.symbols_[V]||V),V}n(zt,"lex");for(var M,U,O,bt,G={},xt,N,Bt,dt;;){if(U=g[g.length-1],this.defaultActions[U]?O=this.defaultActions[U]:((M===null||typeof M>"u")&&(M=zt()),O=rt[U]&&rt[U][M]),typeof O>"u"||!O.length||!O[0]){var At="";dt=[];for(xt in rt[U])this.terminals_[xt]&&xt>li&&dt.push("'"+this.terminals_[xt]+"'");v.showPosition?At="Parse error on line "+(gt+1)+`: +import{aR as xi,V as di,$ as Yt,aU as fi,W as pi,aS as mi,a as n,at as Nt,aQ as yi,B as bi,s as Ai,X as kt,aO as wi,r as Ht,O as Ci,a8 as Si,y as Ri,aq as Ot}from"./mermaid.core-DS1qXbzQ.js";import"../../app/index-B0ly_D9Z.js";import{i as _i}from"../../chunks/init-Gi6I4Gst.js";import{o as ki}from"../../chunks/ordinal-Cboi1Yqb.js";import{l as Wt}from"../../chunks/linear-CyFihCT8.js";import"../../chunks/defaultLocale-CrowFXzY.js";function Ti(e,t,i){e=+e,t=+t,i=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+i;for(var s=-1,a=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(a);++s"u"&&(v.yylloc={});var yt=v.yylloc;r.push(yt);var ui=v.options&&v.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gi(V){g.length=g.length-2*V,C.length=C.length-V,r.length=r.length-V}n(gi,"popStack");function zt(){var V;return V=x.pop()||v.lex()||Vt,typeof V!="number"&&(V instanceof Array&&(x=V,V=x.pop()),V=u.symbols_[V]||V),V}n(zt,"lex");for(var M,U,O,bt,G={},xt,N,Bt,dt;;){if(U=g[g.length-1],this.defaultActions[U]?O=this.defaultActions[U]:((M===null||typeof M>"u")&&(M=zt()),O=rt[U]&&rt[U][M]),typeof O>"u"||!O.length||!O[0]){var At="";dt=[];for(xt in rt[U])this.terminals_[xt]&&xt>li&&dt.push("'"+this.terminals_[xt]+"'");v.showPosition?At="Parse error on line "+(gt+1)+`: `+v.showPosition()+` Expecting `+dt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":At="Parse error on line "+(gt+1)+": Unexpected "+(M==Vt?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(At,{text:v.match,token:this.terminals_[M]||M,line:v.yylineno,loc:yt,expected:dt})}if(O[0]instanceof Array&&O.length>1)throw new Error("Parse Error: multiple actions possible at state: "+U+", token: "+M);switch(O[0]){case 1:g.push(M),C.push(v.yytext),r.push(v.yylloc),g.push(O[1]),M=null,Mt=v.yyleng,f=v.yytext,gt=v.yylineno,yt=v.yylloc;break;case 2:if(N=this.productions_[O[1]][1],G.$=C[C.length-N],G._$={first_line:r[r.length-(N||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(N||1)].first_column,last_column:r[r.length-1].last_column},ui&&(G._$.range=[r[r.length-(N||1)].range[0],r[r.length-1].range[1]]),bt=this.performAction.apply(G,[f,Mt,gt,$.yy,O[1],C,r].concat(ci)),typeof bt<"u")return bt;N&&(g=g.slice(0,-1*N*2),C=C.slice(0,-1*N),r=r.slice(0,-1*N)),g.push(this.productions_[O[1]][0]),C.push(G.$),r.push(G._$),Bt=rt[g[g.length-2]][g[g.length-1]],g.push(Bt);break;case 3:return!0}}return!0},"parse")},ot=function(){var F={EOF:1,parseError:n(function(u,g){if(this.yy.parser)this.yy.parser.parseError(u,g);else throw new Error(u)},"parseError"),setInput:n(function(h,u){return this.yy=u||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:n(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var u=h.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:n(function(h){var u=h.length,g=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===x.length?this.yylloc.first_column:0)+x[x.length-g.length].length-g[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:n(function(){return this._more=!0,this},"more"),reject:n(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:n(function(h){this.unput(this.match.slice(h))},"less"),pastInput:n(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:n(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:n(function(){var h=this.pastInput(),u=new Array(h.length+1).join("-");return h+this.upcomingInput()+` diff --git a/veadk/webui/index.html b/veadk/webui/index.html index fd4e83be2..cd9a3c793 100644 --- a/veadk/webui/index.html +++ b/veadk/webui/index.html @@ -5,8 +5,8 @@ AgentKit Studio - - + +

diff --git a/veadk/webui/website-integration.js b/veadk/webui/website-integration.js index 003b27f96..786c1d819 100644 --- a/veadk/webui/website-integration.js +++ b/veadk/webui/website-integration.js @@ -200,7 +200,7 @@ Error generating stack: `+n.message+` `))}function l(p,g,m,v){const y=m.enter("tableCell"),b=m.enter("phrasing"),x=m.containerPhrasing(p,{...v,before:a,after:a});return b(),y(),x}function u(p,g){return ZXt(p,{align:g,alignDelimiters:n,padding:r,stringLength:i})}function h(p,g,m){const v=p.children;let y=-1;const b=[],x=g.enter("table");for(;++y0&&!r&&(t[t.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),r}const tZt={tokenize:uZt,partial:!0};function rZt(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:sZt,continuation:{tokenize:oZt},exit:lZt}},text:{91:{name:"gfmFootnoteCall",tokenize:aZt},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:nZt,resolveTo:iZt}}}}function nZt(t,e,r){const n=this;let i=n.events.length;const a=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let s;for(;i--;){const l=n.events[i][1];if(l.type==="labelImage"){s=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return o;function o(l){if(!s||!s._balanced)return r(l);const u=up(n.sliceSerialize({start:s.end,end:n.now()}));return u.codePointAt(0)!==94||!a.includes(u.slice(1))?r(l):(t.enter("gfmFootnoteCallLabelMarker"),t.consume(l),t.exit("gfmFootnoteCallLabelMarker"),e(l))}}function iZt(t,e){let r=t.length;for(;r--;)if(t[r][1].type==="labelImage"&&t[r][0]==="enter"){t[r][1];break}t[r+1][1].type="data",t[r+3][1].type="gfmFootnoteCallLabelMarker";const n={type:"gfmFootnoteCall",start:Object.assign({},t[r+3][1].start),end:Object.assign({},t[t.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},t[r+3][1].end),end:Object.assign({},t[r+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const a={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},t[t.length-1][1].start)},s={type:"chunkString",contentType:"string",start:Object.assign({},a.start),end:Object.assign({},a.end)},o=[t[r+1],t[r+2],["enter",n,e],t[r+3],t[r+4],["enter",i,e],["exit",i,e],["enter",a,e],["enter",s,e],["exit",s,e],["exit",a,e],t[t.length-2],t[t.length-1],["exit",n,e]];return t.splice(r,t.length-r+1,...o),t}function aZt(t,e,r){const n=this,i=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let a=0,s;return o;function o(f){return t.enter("gfmFootnoteCall"),t.enter("gfmFootnoteCallLabelMarker"),t.consume(f),t.exit("gfmFootnoteCallLabelMarker"),l}function l(f){return f!==94?r(f):(t.enter("gfmFootnoteCallMarker"),t.consume(f),t.exit("gfmFootnoteCallMarker"),t.enter("gfmFootnoteCallString"),t.enter("chunkString").contentType="string",u)}function u(f){if(a>999||f===93&&!s||f===null||f===91||ma(f))return r(f);if(f===93){t.exit("chunkString");const d=t.exit("gfmFootnoteCallString");return i.includes(up(n.sliceSerialize(d)))?(t.enter("gfmFootnoteCallLabelMarker"),t.consume(f),t.exit("gfmFootnoteCallLabelMarker"),t.exit("gfmFootnoteCall"),e):r(f)}return ma(f)||(s=!0),a++,t.consume(f),f===92?h:u}function h(f){return f===91||f===92||f===93?(t.consume(f),a++,u):u(f)}}function sZt(t,e,r){const n=this,i=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let a,s=0,o;return l;function l(g){return t.enter("gfmFootnoteDefinition")._container=!0,t.enter("gfmFootnoteDefinitionLabel"),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(g),t.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(g){return g===94?(t.enter("gfmFootnoteDefinitionMarker"),t.consume(g),t.exit("gfmFootnoteDefinitionMarker"),t.enter("gfmFootnoteDefinitionLabelString"),t.enter("chunkString").contentType="string",h):r(g)}function h(g){if(s>999||g===93&&!o||g===null||g===91||ma(g))return r(g);if(g===93){t.exit("chunkString");const m=t.exit("gfmFootnoteDefinitionLabelString");return a=up(n.sliceSerialize(m)),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(g),t.exit("gfmFootnoteDefinitionLabelMarker"),t.exit("gfmFootnoteDefinitionLabel"),d}return ma(g)||(o=!0),s++,t.consume(g),g===92?f:h}function f(g){return g===91||g===92||g===93?(t.consume(g),s++,h):h(g)}function d(g){return g===58?(t.enter("definitionMarker"),t.consume(g),t.exit("definitionMarker"),i.includes(a)||i.push(a),Ai(t,p,"gfmFootnoteDefinitionWhitespace")):r(g)}function p(g){return e(g)}}function oZt(t,e,r){return t.check(G6,e,t.attempt(tZt,e,r))}function lZt(t){t.exit("gfmFootnoteDefinition")}function uZt(t,e,r){const n=this;return Ai(t,i,"gfmFootnoteDefinitionIndent",5);function i(a){const s=n.events[n.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?e(a):r(a)}}function cZt(t){let r=(t||{}).singleTilde;const n={name:"strikethrough",tokenize:a,resolveAll:i};return r==null&&(r=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function i(s,o){let l=-1;for(;++l1?l(g):(s.consume(g),f++,p);if(f<2&&!r)return l(g);const v=s.exit("strikethroughSequenceTemporary"),y=rE(g);return v._open=!y||y===2&&!!m,v._close=!m||m===2&&!!y,o(g)}}}class hZt{constructor(){this.map=[]}add(e,r,n){fZt(this,e,r,n)}consume(e){if(this.map.sort(function(a,s){return a[0]-s[0]}),this.map.length===0)return;let r=this.map.length;const n=[];for(;r>0;)r-=1,n.push(e.slice(this.map[r][0]+this.map[r][1]),this.map[r][2]),e.length=this.map[r][0];n.push(e.slice()),e.length=0;let i=n.pop();for(;i;){for(const a of i)e.push(a);i=n.pop()}this.map.length=0}}function fZt(t,e,r,n){let i=0;if(!(r===0&&n.length===0)){for(;i-1;){const R=n.events[_][1].type;if(R==="lineEnding"||R==="linePrefix")_--;else break}const N=_>-1?n.events[_][1].type:null,D=N==="tableHead"||N==="tableRow"?A:l;return D===A&&n.parser.lazy[n.now().line]?r(k):D(k)}function l(k){return t.enter("tableHead"),t.enter("tableRow"),u(k)}function u(k){return k===124||(s=!0,a+=1),h(k)}function h(k){return k===null?r(k):Kr(k)?a>1?(a=0,n.interrupt=!0,t.exit("tableRow"),t.enter("lineEnding"),t.consume(k),t.exit("lineEnding"),p):r(k):oi(k)?Ai(t,h,"whitespace")(k):(a+=1,s&&(s=!1,i+=1),k===124?(t.enter("tableCellDivider"),t.consume(k),t.exit("tableCellDivider"),s=!0,h):(t.enter("data"),f(k)))}function f(k){return k===null||k===124||ma(k)?(t.exit("data"),h(k)):(t.consume(k),k===92?d:f)}function d(k){return k===92||k===124?(t.consume(k),f):f(k)}function p(k){return n.interrupt=!1,n.parser.lazy[n.now().line]?r(k):(t.enter("tableDelimiterRow"),s=!1,oi(k)?Ai(t,g,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(k):g(k))}function g(k){return k===45||k===58?v(k):k===124?(s=!0,t.enter("tableCellDivider"),t.consume(k),t.exit("tableCellDivider"),m):w(k)}function m(k){return oi(k)?Ai(t,v,"whitespace")(k):v(k)}function v(k){return k===58?(a+=1,s=!0,t.enter("tableDelimiterMarker"),t.consume(k),t.exit("tableDelimiterMarker"),y):k===45?(a+=1,y(k)):k===null||Kr(k)?T(k):w(k)}function y(k){return k===45?(t.enter("tableDelimiterFiller"),b(k)):w(k)}function b(k){return k===45?(t.consume(k),b):k===58?(s=!0,t.exit("tableDelimiterFiller"),t.enter("tableDelimiterMarker"),t.consume(k),t.exit("tableDelimiterMarker"),x):(t.exit("tableDelimiterFiller"),x(k))}function x(k){return oi(k)?Ai(t,T,"whitespace")(k):T(k)}function T(k){return k===124?g(k):k===null||Kr(k)?!s||i!==a?w(k):(t.exit("tableDelimiterRow"),t.exit("tableHead"),e(k)):w(k)}function w(k){return r(k)}function A(k){return t.enter("tableRow"),S(k)}function S(k){return k===124?(t.enter("tableCellDivider"),t.consume(k),t.exit("tableCellDivider"),S):k===null||Kr(k)?(t.exit("tableRow"),e(k)):oi(k)?Ai(t,S,"whitespace")(k):(t.enter("data"),C(k))}function C(k){return k===null||k===124||ma(k)?(t.exit("data"),S(k)):(t.consume(k),k===92?E:C)}function E(k){return k===92||k===124?(t.consume(k),C):C(k)}}function mZt(t,e){let r=-1,n=!0,i=0,a=[0,0,0,0],s=[0,0,0,0],o=!1,l=0,u,h,f;const d=new hZt;for(;++rr[2]+1){const g=r[2]+1,m=r[3]-r[2]-1;t.add(g,m,[])}}t.add(r[3]+1,0,[["exit",f,e]])}return i!==void 0&&(a.end=Object.assign({},aE(e.events,i)),t.add(i,0,[["exit",a,e]]),a=void 0),a}function h8e(t,e,r,n,i){const a=[],s=aE(e.events,r);i&&(i.end=Object.assign({},s),a.push(["exit",i,e])),n.end=Object.assign({},s),a.push(["exit",n,e]),t.add(r+1,0,a)}function aE(t,e){const r=t[e],n=r[0]==="enter"?"start":"end";return r[1][n]}const vZt={name:"tasklistCheck",tokenize:bZt};function yZt(){return{text:{91:vZt}}}function bZt(t,e,r){const n=this;return i;function i(l){return n.previous!==null||!n._gfmTasklistFirstContentOfListItem?r(l):(t.enter("taskListCheck"),t.enter("taskListCheckMarker"),t.consume(l),t.exit("taskListCheckMarker"),a)}function a(l){return ma(l)?(t.enter("taskListCheckValueUnchecked"),t.consume(l),t.exit("taskListCheckValueUnchecked"),s):l===88||l===120?(t.enter("taskListCheckValueChecked"),t.consume(l),t.exit("taskListCheckValueChecked"),s):r(l)}function s(l){return l===93?(t.enter("taskListCheckMarker"),t.consume(l),t.exit("taskListCheckMarker"),t.exit("taskListCheck"),o):r(l)}function o(l){return Kr(l)?e(l):oi(l)?t.check({tokenize:xZt},e,r)(l):r(l)}}function xZt(t,e,r){return Ai(t,n,"whitespace");function n(i){return i===null?r(i):e(i)}}function TZt(t){return BPe([Hjt(),rZt(),cZt(t),pZt(),yZt()])}const wZt={};function AZt(t){const e=this,r=t||wZt,n=e.data(),i=n.micromarkExtensions||(n.micromarkExtensions=[]),a=n.fromMarkdownExtensions||(n.fromMarkdownExtensions=[]),s=n.toMarkdownExtensions||(n.toMarkdownExtensions=[]);i.push(TZt(r)),a.push(Vjt()),s.push(Ujt(r))}const f8e=function(t,e,r){const n=X6(r);if(!t||!t.type||!t.children)throw new Error("Expected parent node");if(typeof e=="number"){if(e<0||e===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(e=t.children.indexOf(e),e<0)throw new Error("Expected child node or index");for(;++eu&&(u=h):h&&(u!==void 0&&u>-1&&l.push(` `.repeat(u)||" "),u=-1,l.push(h))}return l.join("")}function y8e(t,e,r){return t.type==="element"?DZt(t,e,r):t.type==="text"?r.whitespace==="normal"?b8e(t,r):LZt(t):[]}function DZt(t,e,r){const n=x8e(t,r),i=t.children||[];let a=-1,s=[];if(_Zt(t))return s;let o,l;for(vse(t)||m8e(t)&&f8e(e,t,m8e)?l=` `:kZt(t)?(o=2,l=2):v8e(t)&&(o=1,l=1);++a]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={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})"/})]},h={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},f={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(u,{className:"string"}),{className:"string",begin:/<.*?>/},r,t.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:e.optional(i)+t.IDENT_RE,relevance:0},p=e.optional(i)+t.IDENT_RE+"\\s*\\(",g=["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"],m=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],v=["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"],y=["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"],T={type:m,keyword:g,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:v},w={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,t.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},A=[w,f,o,r,t.C_BLOCK_COMMENT_MODE,h,u],S={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:T,contains:A.concat([{begin:/\(/,end:/\)/,keywords:T,contains:A.concat(["self"]),relevance:0}]),relevance:0},C={className:"function",begin:"("+s+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:T,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:T,relevance:0},{begin:p,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,h]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:[r,t.C_BLOCK_COMMENT_MODE,u,h,o,{begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:["self",r,t.C_BLOCK_COMMENT_MODE,u,h,o]}]},o,r,t.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:T,illegal:"",keywords:T,contains:["self",o]},{begin:t.IDENT_RE+"::",keywords:T},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function $Zt(t){const e={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},r=BZt(t),n=r.keywords;return n.type=[...n.type,...e.type],n.literal=[...n.literal,...e.literal],n.built_in=[...n.built_in,...e.built_in],n._hints=e._hints,r.name="Arduino",r.aliases=["ino"],r.supersetOf="cpp",r}function FZt(t){const e=t.regex,r={},n={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[r]}]};Object.assign(r,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const i={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},a=t.inherit(t.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,r,i]};i.contains.push(o);const l={match:/\\"/},u={className:"string",begin:/'/,end:/'/},h={match:/\\'/},f={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,r]},d=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=t.SHEBANG({binary:`(${d.join("|")})`,relevance:10}),g={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},m=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],v=["true","false"],y={match:/(\/[a-z._-]+)+/},b=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],x=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],T=["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"],w=["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:m,literal:v,built_in:[...b,...x,"set","shopt",...T,...w]},contains:[p,t.SHEBANG(),g,f,a,s,y,o,l,u,h,r]}}function zZt(t){const e=t.regex,r=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",s="("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",o={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},u={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})"/})]},h={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},f={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(u,{className:"string"}),{className:"string",begin:/<.*?>/},r,t.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:e.optional(i)+t.IDENT_RE,relevance:0},p=e.optional(i)+t.IDENT_RE+"\\s*\\(",v={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"},y=[f,o,r,t.C_BLOCK_COMMENT_MODE,h,u],b={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:v,contains:y.concat([{begin:/\(/,end:/\)/,keywords:v,contains:y.concat(["self"]),relevance:0}]),relevance:0},x={begin:"("+s+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:v,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:v,relevance:0},{begin:p,returnBegin:!0,contains:[t.inherit(d,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:[r,t.C_BLOCK_COMMENT_MODE,u,h,o,{begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:["self",r,t.C_BLOCK_COMMENT_MODE,u,h,o]}]},o,r,t.C_BLOCK_COMMENT_MODE,f]};return{name:"C",aliases:["h"],keywords:v,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{preprocessor:f,strings:u,keywords:v}}}function QZt(t){const e=t.regex,r=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",s="(?!struct)("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={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})"/})]},h={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},f={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(u,{className:"string"}),{className:"string",begin:/<.*?>/},r,t.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:e.optional(i)+t.IDENT_RE,relevance:0},p=e.optional(i)+t.IDENT_RE+"\\s*\\(",g=["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"],m=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],v=["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"],y=["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"],T={type:m,keyword:g,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:v},w={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,t.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},A=[w,f,o,r,t.C_BLOCK_COMMENT_MODE,h,u],S={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:T,contains:A.concat([{begin:/\(/,end:/\)/,keywords:T,contains:A.concat(["self"]),relevance:0}]),relevance:0},C={className:"function",begin:"("+s+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:T,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:T,relevance:0},{begin:p,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,h]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:[r,t.C_BLOCK_COMMENT_MODE,u,h,o,{begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:["self",r,t.C_BLOCK_COMMENT_MODE,u,h,o]}]},o,r,t.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:T,illegal:"",keywords:T,contains:["self",o]},{begin:t.IDENT_RE+"::",keywords:T},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function VZt(t){const e=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],r=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],n=["default","false","null","true"],i=["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"],a=["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"],s={keyword:i.concat(a),built_in:e,literal:n},o=t.inherit(t.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),l={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},u={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},h={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},f=t.inherit(h,{illegal:/\n/}),d={className:"subst",begin:/\{/,end:/\}/,keywords:s},p=t.inherit(d,{illegal:/\n/}),g={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},t.BACKSLASH_ESCAPE,p]},m={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},d]},v=t.inherit(m,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]});d.contains=[m,g,h,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,l,t.C_BLOCK_COMMENT_MODE],p.contains=[v,g,f,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,l,t.inherit(t.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const y={variants:[u,m,g,h,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},b={begin:"<",end:">",contains:[{beginKeywords:"in out"},o]},x=t.IDENT_RE+"(<"+t.IDENT_RE+"(\\s*,\\s*"+t.IDENT_RE+")*>)?(\\[\\])?",T={begin:"@"+t.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,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"}},y,l,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},o,b,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,b,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:"("+x+"\\s+)+"+t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:r.join(" "),relevance:0},{begin:t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[t.TITLE_MODE,b],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[y,l,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},T]}}const UZt=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.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:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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_-]*/}}),GZt=["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"],YZt=["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"],HZt=[...GZt,...YZt],WZt=["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(),qZt=["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(),XZt=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),jZt=["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 ZZt(t){const e=t.regex,r=UZt(t),n={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},i="and or not only",a=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",o=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[r.BLOCK_COMMENT,n,r.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},r.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+qZt.join("|")+")"},{begin:":(:)?("+XZt.join("|")+")"}]},r.CSS_VARIABLE,{className:"attribute",begin:"\\b("+jZt.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[r.BLOCK_COMMENT,r.HEXCOLOR,r.IMPORTANT,r.CSS_NUMBER_MODE,...o,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...o,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},r.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:a},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:i,attribute:WZt.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...o,r.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+HZt.join("|")+")\\b"}]}}function KZt(t){const e=t.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function JZt(t){const a={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:a,illegal:"w8e(t,e,r-1))}function rKt(t){const e=t.regex,r="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",n=r+w8e("(?:<"+r+"~~~(?:\\s*,\\s*"+r+"~~~)*>)?",/~~~/g,2),l={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"]},u={className:"meta",begin:"@"+r,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},h={className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[t.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:l,illegal:/<\/|#/,contains:[t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[t.BACKSLASH_ESCAPE]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,r),/\s+/,r,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,r],className:{1:"keyword",3:"title.class"},contains:[h,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+n+"\\s+)",t.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:l,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[u,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,T8e,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},T8e,u]}}const A8e="[A-Za-z$_][0-9A-Za-z$_]*",nKt=["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"],iKt=["true","false","null","undefined","NaN","Infinity"],S8e=["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"],O8e=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],C8e=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],aKt=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],sKt=[].concat(C8e,S8e,O8e);function oKt(t){const e=t.regex,r=(I,{after:F})=>{const $="",end:""},a=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(I,F)=>{const $=I[0].length+I.index,V=I.input[$];if(V==="<"||V===","){F.ignoreMatch();return}V===">"&&(r(I,{after:$})||F.ignoreMatch());let z;const Q=I.input.substring($);if(z=Q.match(/^\s*=/)){F.ignoreMatch();return}if((z=Q.match(/^\s+extends\s+/))&&z.index===0){F.ignoreMatch();return}}},o={$pattern:A8e,keyword:nKt,literal:iKt,built_in:sKt,"variable.language":aKt},l="[0-9](_?[0-9])*",u=`\\.(${l})`,h="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${h})((${u})|\\.)?|(${u}))[eE][+-]?(${l})\\b`},{begin:`\\b(${h})\\b((${u})\\b|\\.)?|(${u})\\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},d={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,d],subLanguage:"xml"}},g={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,d],subLanguage:"css"}},m={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,d],subLanguage:"graphql"}},v={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,d]},b={className:"comment",variants:[t.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:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},x=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,p,g,m,v,{match:/\$\d+/},f];d.contains=x.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(x)});const T=[].concat(b,d.contains),w=T.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(T)}]),A={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:w},S={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,e.concat(n,"(",e.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},C={relevance:0,match:e.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:{_:[...S8e,...O8e]}},E={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},k={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[A],illegal:/%/},_={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function N(I){return e.concat("(?!",I.join("|"),")")}const D={match:e.concat(/\b/,N([...C8e,"super","import"].map(I=>`${I}\\s*\\(`)),n,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},R={begin:e.concat(/\./,e.lookahead(e.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},L={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},A]},M="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",P={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(M)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[A]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:w,CLASS_REFERENCE:C},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),E,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,p,g,m,v,b,{match:/\$\d+/},f,C,{scope:"attr",match:n+e.lookahead(":"),relevance:0},P,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[b,t.REGEXP_MODE,{className:"function",begin:M,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:w}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:a},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},k,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[A,t.inherit(t.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},R,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[A]},D,_,S,L,{match:/\$[(.]/}]}}function lKt(t){const e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},r={match:/[{}[\],:]/,className:"punctuation",relevance:0},n=["true","false","null"],i={scope:"literal",beginKeywords:n.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:n},contains:[e,r,t.QUOTE_STRING_MODE,i,t.C_NUMBER_MODE,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var oE="[0-9](_*[0-9])*",pQ=`\\.(${oE})`,gQ="[0-9a-fA-F](_*[0-9a-fA-F])*",uKt={className:"number",variants:[{begin:`(\\b(${oE})((${pQ})|\\.)?|(${pQ}))[eE][+-]?(${oE})[fFdD]?\\b`},{begin:`\\b(${oE})((${pQ})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${pQ})[fFdD]?\\b`},{begin:`\\b(${oE})[fFdD]\\b`},{begin:`\\b0[xX]((${gQ})\\.?|(${gQ})?\\.(${gQ}))[pP][+-]?(${oE})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${gQ})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function cKt(t){const e={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"},r={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},n={className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:/\$\{/,end:/\}/,contains:[t.C_NUMBER_MODE]},a={className:"variable",begin:"\\$"+t.UNDERSCORE_IDENT_RE},s={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[a,i]},{begin:"'",end:"'",illegal:/\n/,contains:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[t.BACKSLASH_ESCAPE,a,i]}]};i.contains.push(s);const o={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+t.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+t.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[t.inherit(s,{className:"string"}),"self"]}]},u=uKt,h=t.COMMENT("/\\*","\\*/",{contains:[t.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:"type",begin:t.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=f;return d.variants[1].contains=[f],f.variants[1].contains=[d],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),t.C_LINE_COMMENT_MODE,h,r,n,o,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:t.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[t.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[f,t.C_LINE_COMMENT_MODE,h],relevance:0},t.C_LINE_COMMENT_MODE,h,o,l,s,t.C_NUMBER_MODE]},h]},{begin:[/class|interface|trait/,/\s+/,t.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},t.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},o,l]},s,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` -`},u]}}const hKt=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.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:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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_-]*/}}),fKt=["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"],dKt=["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"],pKt=[...fKt,...dKt],gKt=["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(),E8e=["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(),k8e=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),mKt=["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(),vKt=E8e.concat(k8e).sort().reverse();function yKt(t){const e=hKt(t),r=vKt,n="and or not only",i="[\\w-]+",a="("+i+"|@\\{"+i+"\\})",s=[],o=[],l=function(x){return{className:"string",begin:"~?"+x+".*?"+x}},u=function(x,T,w){return{className:x,begin:T,relevance:w}},h={$pattern:/[a-z-]+/,keyword:n,attribute:gKt.join(" ")},f={begin:"\\(",end:"\\)",contains:o,keywords:h,relevance:0};o.push(t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,l("'"),l('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,f,u("variable","@@?"+i,10),u("variable","@\\{"+i+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:i+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);const d=o.concat({begin:/\{/,end:/\}/,contains:s}),p={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(o)},g={begin:a+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+mKt.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:o}}]},m={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:h,returnEnd:!0,contains:o,relevance:0}},v={className:"variable",variants:[{begin:"@"+i+"\\s*:",relevance:15},{begin:"@"+i}],starts:{end:"[;}]",returnEnd:!0,contains:d}},y={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:a,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,p,u("keyword","all\\b"),u("variable","@\\{"+i+"\\}"),{begin:"\\b("+pKt.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,u("selector-tag",a,0),u("selector-id","#"+a),u("selector-class","\\."+a,0),u("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+E8e.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+k8e.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:d},{begin:"!important"},e.FUNCTION_DISPATCH]},b={begin:i+`:(:)?(${r.join("|")})`,returnBegin:!0,contains:[y]};return s.push(t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,m,v,b,g,y,p,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:s}}function bKt(t){const e="\\[=*\\[",r="\\]=*\\]",n={begin:e,end:r,contains:["self"]},i=[t.COMMENT("--(?!"+e+")","$"),t.COMMENT("--"+e,r,{contains:[n],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:i.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:i}].concat(i)},t.C_NUMBER_MODE,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{className:"string",begin:e,end:r,contains:[n],relevance:5}])}}function xKt(t){const e={className:"variable",variants:[{begin:"\\$\\("+t.UNDERSCORE_IDENT_RE+"\\)",contains:[t.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},n={begin:"^[-\\*]{3,}",end:"$"},i={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}]},a={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},s={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),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}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},h={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=t.inherit(u,{contains:[]}),d=t.inherit(h,{contains:[]});u.contains.push(d),h.contains.push(f);let p=[r,l];return[u,h,f,d].forEach(y=>{y.contains=y.contains.concat(p)}),p=p.concat(u,h),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},r,a,u,h,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},i,n,l,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function wKt(t){const e={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+"},r=/[a-zA-Z@][a-zA-Z0-9_]*/,o={"variable.language":["this","super"],$pattern:r,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"]},l={$pattern:r,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"/,end:/$/,illegal:"\\n"},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+l.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:l,contains:[t.UNDERSCORE_TITLE_MODE]},{begin:"\\."+t.UNDERSCORE_IDENT_RE,relevance:0}]}}function AKt(t){const e=t.regex,r=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],n=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:r.join(" ")},a={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:i},s={begin:/->\{/,end:/\}/},o={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},l={scope:"variable",variants:[{begin:/\$\d/},{begin:e.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[o]},u={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},h=[t.BACKSLASH_ESCAPE,a,l],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],d=(m,v,y="\\1")=>{const b=y==="\\1"?y:e.concat(y,v);return e.concat(e.concat("(?:",m,")"),v,/(?:\\.|[^\\\/])*?/,b,/(?:\\.|[^\\\/])*?/,y,n)},p=(m,v,y)=>e.concat(e.concat("(?:",m,")"),v,/(?:\\.|[^\\\/])*?/,y,n),g=[l,t.HASH_COMMENT_MODE,t.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:h,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}]},u,{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:d("s|tr|y",e.either(...f,{capture:!0}))},{begin:d("s|tr|y","\\(","\\)")},{begin:d("s|tr|y","\\[","\\]")},{begin:d("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",e.either(...f,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE,o]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE,o,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return a.contains=g,s.contains=g,{name:"Perl",aliases:["pl","pm"],keywords:i,contains:g}}function SKt(t){const e=t.regex,r=/(?![A-Za-z0-9])(?![$])/,n=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,r),i=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,r),a=e.concat(/[A-Z]+/,r),s={scope:"variable",match:"\\$+"+n},o={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},l={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=t.inherit(t.APOS_STRING_MODE,{illegal:null}),h=t.inherit(t.QUOTE_STRING_MODE,{illegal:null,contains:t.QUOTE_STRING_MODE.contains.concat(l)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:t.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(R,L)=>{L.data._beginMatch=R[1]||R[2]},"on:end":(R,L)=>{L.data._beginMatch!==R[1]&&L.ignoreMatch()}},d=t.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[ +`},u]}}const hKt=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.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:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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_-]*/}}),fKt=["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"],dKt=["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"],pKt=[...fKt,...dKt],gKt=["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(),E8e=["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(),k8e=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),mKt=["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(),vKt=E8e.concat(k8e).sort().reverse();function yKt(t){const e=hKt(t),r=vKt,n="and or not only",i="[\\w-]+",a="("+i+"|@\\{"+i+"\\})",s=[],o=[],l=function(x){return{className:"string",begin:"~?"+x+".*?"+x}},u=function(x,T,w){return{className:x,begin:T,relevance:w}},h={$pattern:/[a-z-]+/,keyword:n,attribute:gKt.join(" ")},f={begin:"\\(",end:"\\)",contains:o,keywords:h,relevance:0};o.push(t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,l("'"),l('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,f,u("variable","@@?"+i,10),u("variable","@\\{"+i+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:i+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);const d=o.concat({begin:/\{/,end:/\}/,contains:s}),p={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(o)},g={begin:a+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+mKt.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:o}}]},m={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:h,returnEnd:!0,contains:o,relevance:0}},v={className:"variable",variants:[{begin:"@"+i+"\\s*:",relevance:15},{begin:"@"+i}],starts:{end:"[;}]",returnEnd:!0,contains:d}},y={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:a,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,p,u("keyword","all\\b"),u("variable","@\\{"+i+"\\}"),{begin:"\\b("+pKt.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,u("selector-tag",a,0),u("selector-id","#"+a),u("selector-class","\\."+a,0),u("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+E8e.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+k8e.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:d},{begin:"!important"},e.FUNCTION_DISPATCH]},b={begin:i+`:(:)?(${r.join("|")})`,returnBegin:!0,contains:[y]};return s.push(t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,m,v,b,g,y,p,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:s}}function bKt(t){const e="\\[=*\\[",r="\\]=*\\]",n={begin:e,end:r,contains:["self"]},i=[t.COMMENT("--(?!"+e+")","$"),t.COMMENT("--"+e,r,{contains:[n],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:i.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:i}].concat(i)},t.C_NUMBER_MODE,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{className:"string",begin:e,end:r,contains:[n],relevance:5}])}}function xKt(t){const e={className:"variable",variants:[{begin:"\\$\\("+t.UNDERSCORE_IDENT_RE+"\\)",contains:[t.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},n={begin:"^[-\\*]{3,}",end:"$"},i={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}]},a={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},s={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),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}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},h={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=t.inherit(u,{contains:[]}),d=t.inherit(h,{contains:[]});u.contains.push(d),h.contains.push(f);let p=[r,l];return[u,h,f,d].forEach(y=>{y.contains=y.contains.concat(p)}),p=p.concat(u,h),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},r,a,u,h,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},i,n,l,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function wKt(t){const e={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+"},r=/[a-zA-Z@][a-zA-Z0-9_]*/,o={"variable.language":["this","super"],$pattern:r,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"]},l={$pattern:r,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"/,end:/$/,illegal:"\\n"},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+l.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:l,contains:[t.UNDERSCORE_TITLE_MODE]},{begin:"\\."+t.UNDERSCORE_IDENT_RE,relevance:0}]}}function AKt(t){const e=t.regex,r=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],n=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:r.join(" ")},a={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:i},s={begin:/->\{/,end:/\}/},o={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},l={scope:"variable",variants:[{begin:/\$\d/},{begin:e.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[o]},u={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},h=[t.BACKSLASH_ESCAPE,a,l],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],d=(m,v,y="\\1")=>{const b=y==="\\1"?y:e.concat(y,v);return e.concat(e.concat("(?:",m,")"),v,/(?:\\.|[^\\\/])*?/,b,/(?:\\.|[^\\\/])*?/,y,n)},p=(m,v,y)=>e.concat(e.concat("(?:",m,")"),v,/(?:\\.|[^\\\/])*?/,y,n),g=[l,t.HASH_COMMENT_MODE,t.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:h,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}]},u,{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:d("s|tr|y",e.either(...f,{capture:!0}))},{begin:d("s|tr|y","\\(","\\)")},{begin:d("s|tr|y","\\[","\\]")},{begin:d("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",e.either(...f,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE,o]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE,o,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return a.contains=g,s.contains=g,{name:"Perl",aliases:["pl","pm"],keywords:i,contains:g}}function SKt(t){const e=t.regex,r=/(?![A-Za-z0-9])(?![$])/,n=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,r),i=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,r),a=e.concat(/[A-Z]+/,r),s={scope:"variable",match:"\\$+"+n},o={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},l={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=t.inherit(t.APOS_STRING_MODE,{illegal:null}),h=t.inherit(t.QUOTE_STRING_MODE,{illegal:null,contains:t.QUOTE_STRING_MODE.contains.concat(l)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:t.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(R,L)=>{L.data._beginMatch=R[1]||R[2]},"on:end":(R,L)=>{L.data._beginMatch!==R[1]&&L.ignoreMatch()}},d=t.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[ ]`,g={scope:"string",variants:[h,u,f,d]},m={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},v=["false","null","true"],y=["__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"],b=["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"],T={keyword:y,literal:(R=>{const L=[];return R.forEach(M=>{L.push(M),M.toLowerCase()===M?L.push(M.toUpperCase()):L.push(M.toLowerCase())}),L})(v),built_in:b},w=R=>R.map(L=>L.replace(/\|\d+$/,"")),A={variants:[{match:[/new/,e.concat(p,"+"),e.concat("(?!",w(b).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},S=e.concat(n,"\\b(?!\\()"),C={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),S],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,e.concat(/::/,e.lookahead(/(?!class\b)/)),S],scope:{1:"title.class",3:"variable.constant"}},{match:[i,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},E={scope:"attr",match:e.concat(n,e.lookahead(":"),e.lookahead(/(?!::)/))},k={relevance:0,begin:/\(/,end:/\)/,keywords:T,contains:[E,s,C,t.C_BLOCK_COMMENT_MODE,g,m,A]},_={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",w(y).join("\\b|"),"|",w(b).join("\\b|"),"\\b)"),n,e.concat(p,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[k]};k.contains.push(_);const N=[E,C,t.C_BLOCK_COMMENT_MODE,g,m,A],D={begin:e.concat(/#\[\s*\\?/,e.either(i,a)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:v,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:v,keyword:["new","array"]},contains:["self",...N]},...N,{scope:"meta",variants:[{match:i},{match:a}]}]};return{case_insensitive:!1,keywords:T,contains:[D,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}]}},o,{scope:"variable.language",match:/\$this\b/},s,_,C,{match:[/const/,/\s/,n],scope:{1:"keyword",3:"variable.constant"}},A,{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:T,contains:["self",D,s,C,t.C_BLOCK_COMMENT_MODE,g,m]}]},{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]},g,m]}}function OKt(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})]}]}}function CKt(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function EKt(t){const e=t.regex,r=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),n=["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"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,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"]},l={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},h={begin:/\{\{/,relevance:0},f={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,l,h,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,l,h,u]},{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,h,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,h,u]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},d="[0-9](_?[0-9])*",p=`(\\b(${d}))?\\.(${d})|\\b(${d})\\.`,g=`\\b|${n.join("|")}`,m={className:"number",relevance:0,variants:[{begin:`(\\b(${d})|(${p}))[eE][+-]?(${d})[jJ]?(?=${g})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${d})[jJ](?=${g})`}]},v={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},y={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",l,m,f,t.HASH_COMMENT_MODE]}]};return u.contains=[f,m,l],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[l,m,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,v,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,r],scope:{1:"keyword",3:"title.function"},contains:[y]},{variants:[{match:[/\bclass/,/\s+/,r,/\s*/,/\(\s*/,r,/\s*\)/]},{match:[/\bclass/,/\s+/,r]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[m,y,f]}]}}function kKt(t){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function _Kt(t){const e=t.regex,r=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,n=e.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]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:r,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:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:r},{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:[i,n]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,n]},{scope:{1:"punctuation",2:"number"},match:[a,n]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,n]}]},{scope:{3:"operator"},match:[r,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function RKt(t){const e=t.regex,r="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",n=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=e.concat(n,/(::\w+)*/),s={"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"]},o={className:"doctag",begin:"@[A-Za-z]+"},l={begin:"#<",end:">"},u=[t.COMMENT("#","$",{contains:[o]}),t.COMMENT("^=begin","^=end",{contains:[o],relevance:10}),t.COMMENT("^__END__",t.MATCH_NOTHING_RE)],h={className:"subst",begin:/#\{/,end:/\}/,keywords:s},f={className:"string",contains:[t.BACKSLASH_ESCAPE,h],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:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[t.BACKSLASH_ESCAPE,h]})]}]},d="[1-9](_?[0-9])*|0",p="[0-9](_?[0-9])*",g={className:"number",relevance:0,variants:[{begin:`\\b(${d})(\\.(${p}))?([eE][+-]?(${p})|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"}]},m={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:s}]},A=[f,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:s},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:n,scope:"title.class"},{match:[/def/,/\s+/,r],scope:{1:"keyword",3:"title.function"},contains:[m]},{begin:t.IDENT_RE+"::"},{className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[f,{begin:r}],relevance:0},g,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:s},{begin:"("+t.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[t.BACKSLASH_ESCAPE,h],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(l,u),relevance:0}].concat(l,u);h.contains=A,m.contains=A;const k=[{begin:/^\s*=>/,starts:{end:"$",contains:A}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:s,contains:A}}];return u.unshift(l),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/,contains:[t.SHEBANG({binary:"ruby"})].concat(k).concat(u).concat(A)}}function DKt(t){const e=t.regex,r=/(r#)?/,n=e.concat(r,t.UNDERSCORE_IDENT_RE),i=e.concat(r,t.IDENT_RE),a={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,e.lookahead(/\s*\(/))},s="([ui](8|16|32|64|128|size)|f(32|64))?",o=["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"],l=["true","false","Some","None","Ok","Err"],u=["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!"],h=["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:h,keyword:o,literal:l,built_in:u},illegal:""},a]}}const LKt=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.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:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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_-]*/}}),MKt=["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"],IKt=["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"],PKt=[...MKt,...IKt],NKt=["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(),BKt=["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(),$Kt=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),FKt=["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 zKt(t){const e=LKt(t),r=$Kt,n=BKt,i="@[a-z-]+",a="and or not only",o={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+PKt.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+n.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+r.join("|")+")"},o,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+FKt.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:[e.BLOCK_COMMENT,o,e.HEXCOLOR,e.CSS_NUMBER_MODE,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:a,attribute:NKt.join(" ")},contains:[{begin:i,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},o,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}}function QKt(t){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function VKt(t){const e=t.regex,r=t.COMMENT("--","$"),n={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},i={begin:/"/,end:/"/,contains:[{match:/""/}]},a=["true","false","unknown"],s=["double precision","large object","with timezone","without timezone"],o=["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"],l=["add","asc","collation","desc","final","first","last","view"],u=["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"],h=["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"],f=["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"],d=["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"],p=h,g=[...u,...l].filter(w=>!h.includes(w)),m={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},v={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},y={match:e.concat(/\b/,e.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function b(w){return e.concat(/\b/,e.either(...w.map(A=>A.replace(/\s+/,"\\s+"))),/\b/)}const x={scope:"keyword",match:b(d),relevance:0};function T(w,{exceptions:A,when:S}={}){const C=S;return A=A||[],w.map(E=>E.match(/\|\d+$/)||A.includes(E)?E:C(E)?`${E}|0`:E)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:T(g,{when:w=>w.length<3}),literal:a,type:o,built_in:f},contains:[{scope:"type",match:b(s)},x,y,m,n,i,t.C_NUMBER_MODE,t.C_BLOCK_COMMENT_MODE,r,v]}}function _8e(t){return t?typeof t=="string"?t:t.source:null}function J6(t){return oa("(?=",t,")")}function oa(...t){return t.map(r=>_8e(r)).join("")}function UKt(t){const e=t[t.length-1];return typeof e=="object"&&e.constructor===Object?(t.splice(t.length-1,1),e):{}}function sc(...t){return"("+(UKt(t).capture?"":"?:")+t.map(n=>_8e(n)).join("|")+")"}const yse=t=>oa(/\b/,t,/\w$/.test(t)?/\b/:/\B/),GKt=["Protocol","Type"].map(yse),R8e=["init","self"].map(yse),YKt=["Any","Self"],bse=["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"],D8e=["false","nil","true"],HKt=["assignment","associativity","higherThan","left","lowerThan","none","right"],WKt=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],L8e=["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"],M8e=sc(/[/=\-+!*%<>&|^~?]/,/[\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]/),I8e=sc(M8e,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),xse=oa(M8e,I8e,"*"),P8e=sc(/[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]/),mQ=sc(P8e,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Cg=oa(P8e,mQ,"*"),vQ=oa(/[A-Z]/,mQ,"*"),qKt=["attached","autoclosure",oa(/convention\(/,sc("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",oa(/objc\(/,Cg,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],XKt=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function jKt(t){const e={match:/\s+/,relevance:0},r=t.COMMENT("/\\*","\\*/",{contains:["self"]}),n=[t.C_LINE_COMMENT_MODE,r],i={match:[/\./,sc(...GKt,...R8e)],className:{2:"keyword"}},a={match:oa(/\./,sc(...bse)),relevance:0},s=bse.filter(Oe=>typeof Oe=="string").concat(["_|0"]),o=bse.filter(Oe=>typeof Oe!="string").concat(YKt).map(yse),l={variants:[{className:"keyword",match:sc(...o,...R8e)}]},u={$pattern:sc(/\b\w+/,/#\w+/),keyword:s.concat(WKt),literal:D8e},h=[i,a,l],f={match:oa(/\./,sc(...L8e)),relevance:0},d={className:"built_in",match:oa(/\b/,sc(...L8e),/(?=\()/)},p=[f,d],g={match:/->/,relevance:0},m={className:"operator",relevance:0,variants:[{match:xse},{match:`\\.(\\.|${I8e})+`}]},v=[g,m],y="([0-9]_*)+",b="([0-9a-fA-F]_*)+",x={className:"number",relevance:0,variants:[{match:`\\b(${y})(\\.(${y}))?([eE][+-]?(${y}))?\\b`},{match:`\\b0x(${b})(\\.(${b}))?([pP][+-]?(${y}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},T=(Oe="")=>({className:"subst",variants:[{match:oa(/\\/,Oe,/[0\\tnr"']/)},{match:oa(/\\/,Oe,/u\{[0-9a-fA-F]{1,8}\}/)}]}),w=(Oe="")=>({className:"subst",match:oa(/\\/,Oe,/[\t ]*(?:[\r\n]|\r\n)/)}),A=(Oe="")=>({className:"subst",label:"interpol",begin:oa(/\\/,Oe,/\(/),end:/\)/}),S=(Oe="")=>({begin:oa(Oe,/"""/),end:oa(/"""/,Oe),contains:[T(Oe),w(Oe),A(Oe)]}),C=(Oe="")=>({begin:oa(Oe,/"/),end:oa(/"/,Oe),contains:[T(Oe),A(Oe)]}),E={className:"string",variants:[S(),S("#"),S("##"),S("###"),C(),C("#"),C("##"),C("###")]},k=[t.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[t.BACKSLASH_ESCAPE]}],_={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:k},N=Oe=>{const Fe=oa(Oe,/\//),ue=oa(/\//,Oe);return{begin:Fe,end:ue,contains:[...k,{scope:"comment",begin:`#(?!.*${ue})`,end:/$/}]}},D={scope:"regexp",variants:[N("###"),N("##"),N("#"),_]},R={match:oa(/`/,Cg,/`/)},L={className:"variable",match:/\$\d+/},M={className:"variable",match:`\\$${mQ}+`},P=[R,L,M],I={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:XKt,contains:[...v,x,E]}]}},F={scope:"keyword",match:oa(/@/,sc(...qKt),J6(sc(/\(/,/\s+/)))},$={scope:"meta",match:oa(/@/,Cg)},V=[I,F,$],z={match:J6(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:oa(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,mQ,"+")},{className:"type",match:vQ,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:oa(/\s+&\s+/,J6(vQ)),relevance:0}]},Q={begin://,keywords:u,contains:[...n,...h,...V,g,z]};z.contains.push(Q);const U={match:oa(Cg,/\s*:/),keywords:"_|0",relevance:0},G={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",U,...n,D,...h,...p,...v,x,E,...P,...V,z]},X={begin://,keywords:"repeat each",contains:[...n,z]},H={begin:sc(J6(oa(Cg,/\s*:/)),J6(oa(Cg,/\s+/,Cg,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Cg}]},se={begin:/\(/,end:/\)/,keywords:u,contains:[H,...n,...h,...v,x,E,...V,z,G],endsParent:!0,illegal:/["']/},W={match:[/(func|macro)/,/\s+/,sc(R.match,Cg,xse)],className:{1:"keyword",3:"title.function"},contains:[X,se,e],illegal:[/\[/,/%/]},K={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[X,se,e],illegal:/\[|%/},J={match:[/operator/,/\s+/,xse],className:{1:"keyword",3:"title"}},te={begin:[/precedencegroup/,/\s+/,vQ],className:{1:"keyword",3:"title"},contains:[z],keywords:[...HKt,...D8e],end:/}/},ve={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},ie={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},Se={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Cg,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[X,...h,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:vQ},...h],relevance:0}]};for(const Oe of E.variants){const Fe=Oe.contains.find(he=>he.label==="interpol");Fe.keywords=u;const ue=[...h,...p,...v,x,E,...P];Fe.contains=[...ue,{begin:/\(/,end:/\)/,contains:["self",...ue]}]}return{name:"Swift",keywords:u,contains:[...n,W,K,ve,ie,Se,J,te,{beginKeywords:"import",end:/$/,contains:[...n],relevance:0},D,...h,...p,...v,x,E,...P,...V,z,G]}}const yQ="[A-Za-z$_][0-9A-Za-z$_]*",N8e=["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"],B8e=["true","false","null","undefined","NaN","Infinity"],$8e=["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"],F8e=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],z8e=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Q8e=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],V8e=[].concat(z8e,$8e,F8e);function ZKt(t){const e=t.regex,r=(I,{after:F})=>{const $="",end:""},a=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(I,F)=>{const $=I[0].length+I.index,V=I.input[$];if(V==="<"||V===","){F.ignoreMatch();return}V===">"&&(r(I,{after:$})||F.ignoreMatch());let z;const Q=I.input.substring($);if(z=Q.match(/^\s*=/)){F.ignoreMatch();return}if((z=Q.match(/^\s+extends\s+/))&&z.index===0){F.ignoreMatch();return}}},o={$pattern:yQ,keyword:N8e,literal:B8e,built_in:V8e,"variable.language":Q8e},l="[0-9](_?[0-9])*",u=`\\.(${l})`,h="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${h})((${u})|\\.)?|(${u}))[eE][+-]?(${l})\\b`},{begin:`\\b(${h})\\b((${u})\\b|\\.)?|(${u})\\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},d={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,d],subLanguage:"xml"}},g={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,d],subLanguage:"css"}},m={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,d],subLanguage:"graphql"}},v={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,d]},b={className:"comment",variants:[t.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:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},x=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,p,g,m,v,{match:/\$\d+/},f];d.contains=x.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(x)});const T=[].concat(b,d.contains),w=T.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(T)}]),A={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:w},S={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,e.concat(n,"(",e.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},C={relevance:0,match:e.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:{_:[...$8e,...F8e]}},E={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},k={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[A],illegal:/%/},_={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function N(I){return e.concat("(?!",I.join("|"),")")}const D={match:e.concat(/\b/,N([...z8e,"super","import"].map(I=>`${I}\\s*\\(`)),n,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},R={begin:e.concat(/\./,e.lookahead(e.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},L={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},A]},M="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",P={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(M)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[A]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:w,CLASS_REFERENCE:C},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),E,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,p,g,m,v,b,{match:/\$\d+/},f,C,{scope:"attr",match:n+e.lookahead(":"),relevance:0},P,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[b,t.REGEXP_MODE,{className:"function",begin:M,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:w}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:a},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},k,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[A,t.inherit(t.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},R,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[A]},D,_,S,L,{match:/\$[(.]/}]}}function KKt(t){const e=t.regex,r=ZKt(t),n=yQ,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],a={begin:[/namespace/,/\s+/,t.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[r.exports.CLASS_REFERENCE]},o={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},l=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:yQ,keyword:N8e.concat(l),literal:B8e,built_in:V8e.concat(i),"variable.language":Q8e},h={className:"meta",begin:"@"+n},f=(m,v,y)=>{const b=m.contains.findIndex(x=>x.label===v);if(b===-1)throw new Error("can not find mode to replace");m.contains.splice(b,1,y)};Object.assign(r.keywords,u),r.exports.PARAMS_CONTAINS.push(h);const d=r.contains.find(m=>m.scope==="attr"),p=Object.assign({},d,{match:e.concat(n,e.lookahead(/\s*\?:/))});r.exports.PARAMS_CONTAINS.push([r.exports.CLASS_REFERENCE,d,p]),r.contains=r.contains.concat([h,a,s,p]),f(r,"shebang",t.SHEBANG()),f(r,"use_strict",o);const g=r.contains.find(m=>m.label==="func.def");return g.relevance=0,Object.assign(r,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),r}function JKt(t){const e=t.regex,r={className:"string",begin:/"(""|[^/n])"C\b/},n={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,s=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,o=/\d{1,2}(:\d{1,2}){1,2}/,l={className:"literal",variants:[{begin:e.concat(/# */,e.either(a,i),/ *#/)},{begin:e.concat(/# */,o,/ *#/)},{begin:e.concat(/# */,s,/ *#/)},{begin:e.concat(/# */,e.either(a,i),/ +/,e.either(s,o),/ *#/)}]},u={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])|[%&])?/}]},h={className:"label",begin:/^\w+:/},f=t.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),d=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:[r,n,l,u,h,f,d,{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:[d]}]}}function eJt(t){t.regex;const e=t.COMMENT(/\(;/,/;\)/);e.contains.push("self");const r=t.COMMENT(/;;/,/$/),n=["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"],i={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},a={className:"variable",begin:/\$[\w_]+/},s={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},o={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/},l={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},u={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:n},contains:[r,e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},a,s,i,t.QUOTE_STRING_MODE,l,u,o]}}function tJt(t){const e=t.regex,r=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),n=/[\p{L}0-9._:-]+/u,i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=t.inherit(a,{begin:/\(/,end:/\)/}),o=t.inherit(t.APOS_STRING_MODE,{className:"string"}),l=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),u={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:[a,l,o,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[a,s,l,o]}]}]},t.COMMENT(//,{relevance:10}),{begin://,relevance:10},i,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[u],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[u],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:r,relevance:0,starts:u}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(r,/>/))),contains:[{className:"name",begin:r,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function rJt(t){const e="true false yes no null",r="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},i={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},a={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},s={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,i]},o=t.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),d={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"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},g={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},m={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},v=[n,{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+!"+r},{className:"type",begin:"!<"+r+">"},{className:"type",begin:"!"+r},{className:"type",begin:"!!"+r},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},d,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},g,m,a,s],y=[...v];return y.pop(),y.push(o),p.contains=y,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:v}}const nJt={arduino:$Zt,bash:FZt,c:zZt,cpp:QZt,csharp:VZt,css:ZZt,diff:KZt,go:JZt,graphql:eKt,ini:tKt,java:rKt,javascript:oKt,json:lKt,kotlin:cKt,less:yKt,lua:bKt,makefile:xKt,markdown:TKt,objectivec:wKt,perl:AKt,php:SKt,"php-template":OKt,plaintext:CKt,python:EKt,"python-repl":kKt,r:_Kt,ruby:RKt,rust:DKt,scss:zKt,shell:QKt,sql:VKt,swift:jKt,typescript:KKt,vbnet:JKt,wasm:eJt,xml:tJt,yaml:rJt};function U8e(t){return t instanceof Map?t.clear=t.delete=t.set=function(){throw new Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=function(){throw new Error("set is read-only")}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach(e=>{const r=t[e],n=typeof r;(n==="object"||n==="function")&&!Object.isFrozen(r)&&U8e(r)}),t}class G8e{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Y8e(t){return t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function K1(t,...e){const r=Object.create(null);for(const n in t)r[n]=t[n];return e.forEach(function(n){for(const i in n)r[i]=n[i]}),r}const iJt="
",H8e=t=>!!t.scope,aJt=(t,{prefix:e})=>{if(t.startsWith("language:"))return t.replace("language:","language-");if(t.includes(".")){const r=t.split(".");return[`${e}${r.shift()}`,...r.map((n,i)=>`${n}${"_".repeat(i+1)}`)].join(" ")}return`${e}${t}`};class sJt{constructor(e,r){this.buffer="",this.classPrefix=r.classPrefix,e.walk(this)}addText(e){this.buffer+=Y8e(e)}openNode(e){if(!H8e(e))return;const r=aJt(e.scope,{prefix:this.classPrefix});this.span(r)}closeNode(e){H8e(e)&&(this.buffer+=iJt)}value(){return this.buffer}span(e){this.buffer+=``}}const W8e=(t={})=>{const e={children:[]};return Object.assign(e,t),e};class Tse{constructor(){this.rootNode=W8e(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const r=W8e({scope:e});this.add(r),this.stack.push(r)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,r){return typeof r=="string"?e.addText(r):r.children&&(e.openNode(r),r.children.forEach(n=>this._walk(e,n)),e.closeNode(r)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(r=>typeof r=="string")?e.children=[e.children.join("")]:e.children.forEach(r=>{Tse._collapse(r)}))}}class oJt extends Tse{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,r){const n=e.root;r&&(n.scope=`language:${r}`),this.add(n)}toHTML(){return new sJt(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function eI(t){return t?typeof t=="string"?t:t.source:null}function q8e(t){return cT("(?=",t,")")}function lJt(t){return cT("(?:",t,")*")}function uJt(t){return cT("(?:",t,")?")}function cT(...t){return t.map(r=>eI(r)).join("")}function cJt(t){const e=t[t.length-1];return typeof e=="object"&&e.constructor===Object?(t.splice(t.length-1,1),e):{}}function wse(...t){return"("+(cJt(t).capture?"":"?:")+t.map(n=>eI(n)).join("|")+")"}function X8e(t){return new RegExp(t.toString()+"|").exec("").length-1}function hJt(t,e){const r=t&&t.exec(e);return r&&r.index===0}const fJt=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Ase(t,{joinWith:e}){let r=0;return t.map(n=>{r+=1;const i=r;let a=eI(n),s="";for(;a.length>0;){const o=fJt.exec(a);if(!o){s+=a;break}s+=a.substring(0,o.index),a=a.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?s+="\\"+String(Number(o[1])+i):(s+=o[0],o[0]==="("&&r++)}return s}).map(n=>`(${n})`).join(e)}const dJt=/\b\B/,j8e="[a-zA-Z]\\w*",Sse="[a-zA-Z_]\\w*",Z8e="\\b\\d+(\\.\\d+)?",K8e="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",J8e="\\b(0b[01]+)",pJt="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",gJt=(t={})=>{const e=/^#![ ]*\//;return t.binary&&(t.begin=cT(e,/.*\b/,t.binary,/\b.*/)),K1({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(r,n)=>{r.index!==0&&n.ignoreMatch()}},t)},tI={begin:"\\\\[\\s\\S]",relevance:0},mJt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[tI]},vJt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[tI]},yJt={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/},bQ=function(t,e,r={}){const n=K1({scope:"comment",begin:t,end:e,contains:[]},r);n.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 i=wse("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 n.contains.push({begin:cT(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},bJt=bQ("//","$"),xJt=bQ("/\\*","\\*/"),TJt=bQ("#","$"),wJt={scope:"number",begin:Z8e,relevance:0},AJt={scope:"number",begin:K8e,relevance:0},SJt={scope:"number",begin:J8e,relevance:0},OJt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[tI,{begin:/\[/,end:/\]/,relevance:0,contains:[tI]}]},CJt={scope:"title",begin:j8e,relevance:0},EJt={scope:"title",begin:Sse,relevance:0},kJt={begin:"\\.\\s*"+Sse,relevance:0};var xQ=Object.freeze({__proto__:null,APOS_STRING_MODE:mJt,BACKSLASH_ESCAPE:tI,BINARY_NUMBER_MODE:SJt,BINARY_NUMBER_RE:J8e,COMMENT:bQ,C_BLOCK_COMMENT_MODE:xJt,C_LINE_COMMENT_MODE:bJt,C_NUMBER_MODE:AJt,C_NUMBER_RE:K8e,END_SAME_AS_BEGIN:function(t){return Object.assign(t,{"on:begin":(e,r)=>{r.data._beginMatch=e[1]},"on:end":(e,r)=>{r.data._beginMatch!==e[1]&&r.ignoreMatch()}})},HASH_COMMENT_MODE:TJt,IDENT_RE:j8e,MATCH_NOTHING_RE:dJt,METHOD_GUARD:kJt,NUMBER_MODE:wJt,NUMBER_RE:Z8e,PHRASAL_WORDS_MODE:yJt,QUOTE_STRING_MODE:vJt,REGEXP_MODE:OJt,RE_STARTERS_RE:pJt,SHEBANG:gJt,TITLE_MODE:CJt,UNDERSCORE_IDENT_RE:Sse,UNDERSCORE_TITLE_MODE:EJt});function _Jt(t,e){t.input[t.index-1]==="."&&e.ignoreMatch()}function RJt(t,e){t.className!==void 0&&(t.scope=t.className,delete t.className)}function DJt(t,e){e&&t.beginKeywords&&(t.begin="\\b("+t.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",t.__beforeBegin=_Jt,t.keywords=t.keywords||t.beginKeywords,delete t.beginKeywords,t.relevance===void 0&&(t.relevance=0))}function LJt(t,e){Array.isArray(t.illegal)&&(t.illegal=wse(...t.illegal))}function MJt(t,e){if(t.match){if(t.begin||t.end)throw new Error("begin & end are not supported with match");t.begin=t.match,delete t.match}}function IJt(t,e){t.relevance===void 0&&(t.relevance=1)}const PJt=(t,e)=>{if(!t.beforeMatch)return;if(t.starts)throw new Error("beforeMatch cannot be used with starts");const r=Object.assign({},t);Object.keys(t).forEach(n=>{delete t[n]}),t.keywords=r.keywords,t.begin=cT(r.beforeMatch,q8e(r.begin)),t.starts={relevance:0,contains:[Object.assign(r,{endsParent:!0})]},t.relevance=0,delete r.beforeMatch},NJt=["of","and","for","in","not","or","if","then","parent","list","value"],BJt="keyword";function e7e(t,e,r=BJt){const n=Object.create(null);return typeof t=="string"?i(r,t.split(" ")):Array.isArray(t)?i(r,t):Object.keys(t).forEach(function(a){Object.assign(n,e7e(t[a],e,a))}),n;function i(a,s){e&&(s=s.map(o=>o.toLowerCase())),s.forEach(function(o){const l=o.split("|");n[l[0]]=[a,$Jt(l[0],l[1])]})}}function $Jt(t,e){return e?Number(e):FJt(t)?0:1}function FJt(t){return NJt.includes(t.toLowerCase())}const t7e={},hT=t=>{console.error(t)},r7e=(t,...e)=>{console.log(`WARN: ${t}`,...e)},lE=(t,e)=>{t7e[`${t}/${e}`]||(console.log(`Deprecated as of ${t}. ${e}`),t7e[`${t}/${e}`]=!0)},TQ=new Error;function n7e(t,e,{key:r}){let n=0;const i=t[r],a={},s={};for(let o=1;o<=e.length;o++)s[o+n]=i[o],a[o+n]=!0,n+=X8e(e[o-1]);t[r]=s,t[r]._emit=a,t[r]._multi=!0}function zJt(t){if(Array.isArray(t.begin)){if(t.skip||t.excludeBegin||t.returnBegin)throw hT("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),TQ;if(typeof t.beginScope!="object"||t.beginScope===null)throw hT("beginScope must be object"),TQ;n7e(t,t.begin,{key:"beginScope"}),t.begin=Ase(t.begin,{joinWith:""})}}function QJt(t){if(Array.isArray(t.end)){if(t.skip||t.excludeEnd||t.returnEnd)throw hT("skip, excludeEnd, returnEnd not compatible with endScope: {}"),TQ;if(typeof t.endScope!="object"||t.endScope===null)throw hT("endScope must be object"),TQ;n7e(t,t.end,{key:"endScope"}),t.end=Ase(t.end,{joinWith:""})}}function VJt(t){t.scope&&typeof t.scope=="object"&&t.scope!==null&&(t.beginScope=t.scope,delete t.scope)}function UJt(t){VJt(t),typeof t.beginScope=="string"&&(t.beginScope={_wrap:t.beginScope}),typeof t.endScope=="string"&&(t.endScope={_wrap:t.endScope}),zJt(t),QJt(t)}function GJt(t){function e(s,o){return new RegExp(eI(s),"m"+(t.case_insensitive?"i":"")+(t.unicodeRegex?"u":"")+(o?"g":""))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,o]),this.matchAt+=X8e(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const o=this.regexes.map(l=>l[1]);this.matcherRe=e(Ase(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const l=this.matcherRe.exec(o);if(!l)return null;const u=l.findIndex((f,d)=>d>0&&f!==void 0),h=this.matchIndexes[u];return l.splice(0,u),Object.assign(l,h)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const l=new r;return this.rules.slice(o).forEach(([u,h])=>l.addRule(u,h)),l.compile(),this.multiRegexes[o]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,l){this.rules.push([o,l]),l.type==="begin"&&this.count++}exec(o){const l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let u=l.exec(o);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const h=this.getMatcher(0);h.lastIndex=this.lastIndex+1,u=h.exec(o)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function i(s){const o=new n;return s.contains.forEach(l=>o.addRule(l.begin,{rule:l,type:"begin"})),s.terminatorEnd&&o.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&o.addRule(s.illegal,{type:"illegal"}),o}function a(s,o){const l=s;if(s.isCompiled)return l;[RJt,MJt,UJt,PJt].forEach(h=>h(s,o)),t.compilerExtensions.forEach(h=>h(s,o)),s.__beforeBegin=null,[DJt,LJt,IJt].forEach(h=>h(s,o)),s.isCompiled=!0;let u=null;return typeof s.keywords=="object"&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),u=s.keywords.$pattern,delete s.keywords.$pattern),u=u||/\w+/,s.keywords&&(s.keywords=e7e(s.keywords,t.case_insensitive)),l.keywordPatternRe=e(u,!0),o&&(s.begin||(s.begin=/\B|\b/),l.beginRe=e(l.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(l.endRe=e(l.end)),l.terminatorEnd=eI(l.end)||"",s.endsWithParent&&o.terminatorEnd&&(l.terminatorEnd+=(s.end?"|":"")+o.terminatorEnd)),s.illegal&&(l.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(h){return YJt(h==="self"?s:h)})),s.contains.forEach(function(h){a(h,l)}),s.starts&&a(s.starts,o),l.matcher=i(l),l}if(t.compilerExtensions||(t.compilerExtensions=[]),t.contains&&t.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return t.classNameAliases=K1(t.classNameAliases||{}),a(t)}function i7e(t){return t?t.endsWithParent||i7e(t.starts):!1}function YJt(t){return t.variants&&!t.cachedVariants&&(t.cachedVariants=t.variants.map(function(e){return K1(t,{variants:null},e)})),t.cachedVariants?t.cachedVariants:i7e(t)?K1(t,{starts:t.starts?K1(t.starts):null}):Object.isFrozen(t)?K1(t):t}var HJt="11.11.1";class WJt extends Error{constructor(e,r){super(e),this.name="HTMLInjectionError",this.html=r}}const Ose=Y8e,a7e=K1,s7e=Symbol("nomatch"),qJt=7,o7e=function(t){const e=Object.create(null),r=Object.create(null),n=[];let i=!0;const a="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:oJt};function l(M){return o.noHighlightRe.test(M)}function u(M){let P=M.className+" ";P+=M.parentNode?M.parentNode.className:"";const I=o.languageDetectRe.exec(P);if(I){const F=C(I[1]);return F||(r7e(a.replace("{}",I[1])),r7e("Falling back to no-highlight mode for this block.",M)),F?I[1]:"no-highlight"}return P.split(/\s+/).find(F=>l(F)||C(F))}function h(M,P,I){let F="",$="";typeof P=="object"?(F=M,I=P.ignoreIllegals,$=P.language):(lE("10.7.0","highlight(lang, code, ...args) has been deprecated."),lE("10.7.0",`Please use highlight(code, options) instead. https://github.com/highlightjs/highlight.js/issues/2277`),$=M,F=P),I===void 0&&(I=!0);const V={code:F,language:$};R("before:highlight",V);const z=V.result?V.result:f(V.language,V.code,I);return z.code=V.code,R("after:highlight",z),z}function f(M,P,I,F){const $=Object.create(null);function V(j,oe){return j.keywords[oe]}function z(){if(!ue.keywords){we.addText(ge);return}let j=0;ue.keywordPatternRe.lastIndex=0;let oe=ue.keywordPatternRe.exec(ge),ye="";for(;oe;){ye+=ge.substring(j,oe.index);const re=Se.case_insensitive?oe[0].toLowerCase():oe[0],q=V(ue,re);if(q){const[ne,fe]=q;if(we.addText(ye),ye="",$[re]=($[re]||0)+1,$[re]<=qJt&&(Ue+=fe),ne.startsWith("_"))ye+=oe[0];else{const ee=Se.classNameAliases[ne]||ne;G(oe[0],ee)}}else ye+=oe[0];j=ue.keywordPatternRe.lastIndex,oe=ue.keywordPatternRe.exec(ge)}ye+=ge.substring(j),we.addText(ye)}function Q(){if(ge==="")return;let j=null;if(typeof ue.subLanguage=="string"){if(!e[ue.subLanguage]){we.addText(ge);return}j=f(ue.subLanguage,ge,!0,he[ue.subLanguage]),he[ue.subLanguage]=j._top}else j=p(ge,ue.subLanguage.length?ue.subLanguage:null);ue.relevance>0&&(Ue+=j.relevance),we.__addSublanguage(j._emitter,j.language)}function U(){ue.subLanguage!=null?Q():z(),ge=""}function G(j,oe){j!==""&&(we.startScope(oe),we.addText(j),we.endScope())}function X(j,oe){let ye=1;const re=oe.length-1;for(;ye<=re;){if(!j._emit[ye]){ye++;continue}const q=Se.classNameAliases[j[ye]]||j[ye],ne=oe[ye];q?G(ne,q):(ge=ne,z(),ge=""),ye++}}function H(j,oe){return j.scope&&typeof j.scope=="string"&&we.openNode(Se.classNameAliases[j.scope]||j.scope),j.beginScope&&(j.beginScope._wrap?(G(ge,Se.classNameAliases[j.beginScope._wrap]||j.beginScope._wrap),ge=""):j.beginScope._multi&&(X(j.beginScope,oe),ge="")),ue=Object.create(j,{parent:{value:ue}}),ue}function se(j,oe,ye){let re=hJt(j.endRe,ye);if(re){if(j["on:end"]){const q=new G8e(j);j["on:end"](oe,q),q.isMatchIgnored&&(re=!1)}if(re){for(;j.endsParent&&j.parent;)j=j.parent;return j}}if(j.endsWithParent)return se(j.parent,oe,ye)}function W(j){return ue.matcher.regexIndex===0?(ge+=j[0],1):(qe=!0,0)}function K(j){const oe=j[0],ye=j.rule,re=new G8e(ye),q=[ye.__beforeBegin,ye["on:begin"]];for(const ne of q)if(ne&&(ne(j,re),re.isMatchIgnored))return W(oe);return ye.skip?ge+=oe:(ye.excludeBegin&&(ge+=oe),U(),!ye.returnBegin&&!ye.excludeBegin&&(ge=oe)),H(ye,j),ye.returnBegin?0:oe.length}function J(j){const oe=j[0],ye=P.substring(j.index),re=se(ue,j,ye);if(!re)return s7e;const q=ue;ue.endScope&&ue.endScope._wrap?(U(),G(oe,ue.endScope._wrap)):ue.endScope&&ue.endScope._multi?(U(),X(ue.endScope,j)):q.skip?ge+=oe:(q.returnEnd||q.excludeEnd||(ge+=oe),U(),q.excludeEnd&&(ge=oe));do ue.scope&&we.closeNode(),!ue.skip&&!ue.subLanguage&&(Ue+=ue.relevance),ue=ue.parent;while(ue!==re.parent);return re.starts&&H(re.starts,j),q.returnEnd?0:oe.length}function te(){const j=[];for(let oe=ue;oe!==Se;oe=oe.parent)oe.scope&&j.unshift(oe.scope);j.forEach(oe=>we.openNode(oe))}let ve={};function ie(j,oe){const ye=oe&&oe[0];if(ge+=j,ye==null)return U(),0;if(ve.type==="begin"&&oe.type==="end"&&ve.index===oe.index&&ye===""){if(ge+=P.slice(oe.index,oe.index+1),!i){const re=new Error(`0 width match regex (${M})`);throw re.languageName=M,re.badRule=ve.rule,re}return 1}if(ve=oe,oe.type==="begin")return K(oe);if(oe.type==="illegal"&&!I){const re=new Error('Illegal lexeme "'+ye+'" for mode "'+(ue.scope||"")+'"');throw re.mode=ue,re}else if(oe.type==="end"){const re=J(oe);if(re!==s7e)return re}if(oe.type==="illegal"&&ye==="")return ge+=` `,1;if(Re>1e5&&Re>oe.index*3)throw new Error("potential infinite loop, way more iterations than matches");return ge+=ye,ye.length}const Se=C(M);if(!Se)throw hT(a.replace("{}",M)),new Error('Unknown language: "'+M+'"');const Oe=GJt(Se);let Fe="",ue=F||Oe;const he={},we=new o.__emitter(o);te();let ge="",Ue=0,Ae=0,Re=0,qe=!1;try{if(Se.__emitTokens)Se.__emitTokens(P,we);else{for(ue.matcher.considerAll();;){Re++,qe?qe=!1:ue.matcher.considerAll(),ue.matcher.lastIndex=Ae;const j=ue.matcher.exec(P);if(!j)break;const oe=P.substring(Ae,j.index),ye=ie(oe,j);Ae=j.index+ye}ie(P.substring(Ae))}return we.finalize(),Fe=we.toHTML(),{language:M,value:Fe,relevance:Ue,illegal:!1,_emitter:we,_top:ue}}catch(j){if(j.message&&j.message.includes("Illegal"))return{language:M,value:Ose(P),illegal:!0,relevance:0,_illegalBy:{message:j.message,index:Ae,context:P.slice(Ae-100,Ae+100),mode:j.mode,resultSoFar:Fe},_emitter:we};if(i)return{language:M,value:Ose(P),illegal:!1,relevance:0,errorRaised:j,_emitter:we,_top:ue};throw j}}function d(M){const P={value:Ose(M),illegal:!1,relevance:0,_top:s,_emitter:new o.__emitter(o)};return P._emitter.addText(M),P}function p(M,P){P=P||o.languages||Object.keys(e);const I=d(M),F=P.filter(C).filter(k).map(U=>f(U,M,!1));F.unshift(I);const $=F.sort((U,G)=>{if(U.relevance!==G.relevance)return G.relevance-U.relevance;if(U.language&&G.language){if(C(U.language).supersetOf===G.language)return 1;if(C(G.language).supersetOf===U.language)return-1}return 0}),[V,z]=$,Q=V;return Q.secondBest=z,Q}function g(M,P,I){const F=P&&r[P]||I;M.classList.add("hljs"),M.classList.add(`language-${F}`)}function m(M){let P=null;const I=u(M);if(l(I))return;if(R("before:highlightElement",{el:M,language:I}),M.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",M);return}if(M.children.length>0&&(o.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(M)),o.throwUnescapedHTML))throw new WJt("One of your code blocks includes unescaped HTML.",M.innerHTML);P=M;const F=P.textContent,$=I?h(F,{language:I,ignoreIllegals:!0}):p(F);M.innerHTML=$.value,M.dataset.highlighted="yes",g(M,I,$.language),M.result={language:$.language,re:$.relevance,relevance:$.relevance},$.secondBest&&(M.secondBest={language:$.secondBest.language,relevance:$.secondBest.relevance}),R("after:highlightElement",{el:M,result:$,text:F})}function v(M){o=a7e(o,M)}const y=()=>{T(),lE("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function b(){T(),lE("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let x=!1;function T(){function M(){T()}if(document.readyState==="loading"){x||window.addEventListener("DOMContentLoaded",M,!1),x=!0;return}document.querySelectorAll(o.cssSelector).forEach(m)}function w(M,P){let I=null;try{I=P(t)}catch(F){if(hT("Language definition for '{}' could not be registered.".replace("{}",M)),i)hT(F);else throw F;I=s}I.name||(I.name=M),e[M]=I,I.rawDefinition=P.bind(null,t),I.aliases&&E(I.aliases,{languageName:M})}function A(M){delete e[M];for(const P of Object.keys(r))r[P]===M&&delete r[P]}function S(){return Object.keys(e)}function C(M){return M=(M||"").toLowerCase(),e[M]||e[r[M]]}function E(M,{languageName:P}){typeof M=="string"&&(M=[M]),M.forEach(I=>{r[I.toLowerCase()]=P})}function k(M){const P=C(M);return P&&!P.disableAutodetect}function _(M){M["before:highlightBlock"]&&!M["before:highlightElement"]&&(M["before:highlightElement"]=P=>{M["before:highlightBlock"](Object.assign({block:P.el},P))}),M["after:highlightBlock"]&&!M["after:highlightElement"]&&(M["after:highlightElement"]=P=>{M["after:highlightBlock"](Object.assign({block:P.el},P))})}function N(M){_(M),n.push(M)}function D(M){const P=n.indexOf(M);P!==-1&&n.splice(P,1)}function R(M,P){const I=M;n.forEach(function(F){F[I]&&F[I](P)})}function L(M){return lE("10.7.0","highlightBlock will be removed entirely in v12.0"),lE("10.7.0","Please use highlightElement now."),m(M)}Object.assign(t,{highlight:h,highlightAuto:p,highlightAll:T,highlightElement:m,highlightBlock:L,configure:v,initHighlighting:y,initHighlightingOnLoad:b,registerLanguage:w,unregisterLanguage:A,listLanguages:S,getLanguage:C,registerAliases:E,autoDetection:k,inherit:a7e,addPlugin:N,removePlugin:D}),t.debugMode=function(){i=!1},t.safeMode=function(){i=!0},t.versionString=HJt,t.regex={concat:cT,lookahead:q8e,either:wse,optional:uJt,anyNumberOfTimes:lJt};for(const M in xQ)typeof xQ[M]=="object"&&U8e(xQ[M]);return Object.assign(t,xQ),t},uE=o7e({});uE.newInstance=()=>o7e({});var XJt=uE;uE.HighlightJS=uE,uE.default=uE;const jJt=jc(XJt),l7e={},ZJt="hljs-";function KJt(t){const e=jJt.newInstance();return t&&a(t),{highlight:r,highlightAuto:n,listLanguages:i,register:a,registerAlias:s,registered:o};function r(l,u,h){const f=h||l7e,d=typeof f.prefix=="string"?f.prefix:ZJt;if(!e.getLanguage(l))throw new Error("Unknown language: `"+l+"` is not registered");e.configure({__emitter:JJt,classPrefix:d});const p=e.highlight(u,{ignoreIllegals:!0,language:l});if(p.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:p.errorRaised});const g=p._emitter.root,m=g.data;return m.language=p.language,m.relevance=p.relevance,g}function n(l,u){const f=(u||l7e).subset||i();let d=-1,p=0,g;for(;++dp&&(p=v.data.relevance,g=v)}return g||{type:"root",children:[],data:{language:void 0,relevance:p}}}function i(){return e.listLanguages()}function a(l,u){if(typeof l=="string")e.registerLanguage(l,u);else{let h;for(h in l)Object.hasOwn(l,h)&&e.registerLanguage(h,l[h])}}function s(l,u){if(typeof l=="string")e.registerAliases(typeof u=="string"?u:[...u],{languageName:l});else{let h;for(h in l)if(Object.hasOwn(l,h)){const f=l[h];e.registerAliases(typeof f=="string"?f:[...f],{languageName:h})}}}function o(l){return!!e.getLanguage(l)}}class JJt{constructor(e){this.options=e,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(e){if(e==="")return;const r=this.stack[this.stack.length-1],n=r.children[r.children.length-1];n&&n.type==="text"?n.value+=e:r.children.push({type:"text",value:e})}startScope(e){this.openNode(String(e))}endScope(){this.closeNode()}__addSublanguage(e,r){const n=this.stack[this.stack.length-1],i=e.root.children;r?n.children.push({type:"element",tagName:"span",properties:{className:[r]},children:i}):n.children.push(...i)}openNode(e){const r=this,n=e.split(".").map(function(s,o){return o?s+"_".repeat(o):r.options.classPrefix+s}),i=this.stack[this.stack.length-1],a={type:"element",tagName:"span",properties:{className:n},children:[]};i.children.push(a),this.stack.push(a)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const eer={};function u7e(t){const e=t||eer,r=e.aliases,n=e.detect||!1,i=e.languages||nJt,a=e.plainText,s=e.prefix,o=e.subset;let l="hljs";const u=KJt(i);if(r&&u.registerAlias(r),s){const h=s.indexOf("-");l=h===-1?s:s.slice(0,h)}return function(h,f){j6(h,"element",function(d,p,g){if(d.tagName!=="code"||!g||g.type!=="element"||g.tagName!=="pre")return;const m=ter(d);if(m===!1||!m&&!n||m&&a&&a.includes(m))return;Array.isArray(d.properties.className)||(d.properties.className=[]),d.properties.className.includes(l)||d.properties.className.unshift(l);const v=RZt(d,{whitespace:"pre"});let y;try{y=m?u.highlight(m,v,{prefix:s}):u.highlightAuto(v,{prefix:s,subset:o})}catch(b){const x=b;if(m&&/Unknown language/.test(x.message)){f.message("Cannot highlight as `"+m+"`, it’s not registered",{ancestors:[g,d],cause:x,place:d.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw x}!m&&y.data&&y.data.language&&d.properties.className.push("language-"+y.data.language),y.children.length>0&&(d.children=y.children)})}}function ter(t){const e=t.properties.className;let r=-1;if(!Array.isArray(e))return;let n;for(;++r-1&&a<=e.length){let s=0;for(;;){let o=r[s];if(o===void 0){const l=d7e(e,r[s-1]);o=l===-1?e.length+1:l+1,r[s]=o}if(o>a)return{line:s+1,column:a-(s>0?r[s-1]:0)+1,offset:a};s++}}}function i(a){if(a&&typeof a.line=="number"&&typeof a.column=="number"&&!Number.isNaN(a.line)&&!Number.isNaN(a.column)){for(;r.length1?r[a.line-2]:0)+a.column-1;if(s[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),QNr=O((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD"),Wst=5,qst=10;async function Xst(t,e){const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?12:i/2;if(e.width||e.height){const m=e.height??0;e.height=(e.height??0)-a,e.heightx,":first-child"),g=s.insert(()=>b,":first-child"),g.attr("class","basic label-container"),p&&g.attr("style",p)}else{const m=FNr(0,0,d,u,f,h);g=s.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",wl(p)).attr("style",n),g.attr("class","basic label-container outer-path"),p&&g.selectAll("path").attr("style",p),n&&g.selectAll("path").attr("style",n)}return g.attr("label-offset-x",f),g.attr("transform",`translate(${-d/2}, ${u/2} )`),l.attr("transform",`translate(${-(o.width/2)-f-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),Ir(e,g),e.intersect=function(m){const v=wr.rect(e,m),y=v.y-(e.y??0);if(h!=0&&(Math.abs(y)<(e.height??0)/2||Math.abs(y)==(e.height??0)/2&&Math.abs(v.x-(e.x??0))>(e.width??0)/2-f)){let b=f*f*(1-y*y/(h*h));b!=0&&(b=Math.sqrt(Math.abs(b))),b=f-b,m.x-(e.x??0)>0&&(b=-b),v.x+=b}return v},s}O(Xst,"tiltedCylinder");async function jst(t,e){const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const i=e.padding??0,a=(e.look==="neo",i),s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await fn(t,e,tn(e)),u=((e==null?void 0:e.height)??l.height)+a,h=((e==null?void 0:e.width)??l.width)+s,f=[{x:-3*u/6,y:0},{x:h+3*u/6,y:0},{x:h,y:-u},{x:0,y:-u}];let d;const{cssStyles:p}=e;if(e.look==="handDrawn"){const g=Er.svg(o),m=kr(e,{}),v=bi(f),y=g.path(v,m);d=o.insert(()=>y,":first-child").attr("transform",`translate(${-h/2}, ${u/2})`),p&&d.attr("style",p)}else d=Zv(o,h,u,f);return n&&d.attr("style",n),e.width=h,e.height=u,Ir(e,d),e.intersect=function(g){return wr.polygon(e,f,g)},o}O(jst,"trapezoid");async function Zst(t,e){const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=15,l=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.heightb,":first-child");return x.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),Ir(e,x),e.intersect=function(T){return wr.polygon(e,v,T)},u}O(Zst,"trapezoidalPentagon");var Kst=10,Jst=10;async function eot(t,e){var T;const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.width=(((e==null?void 0:e.width)??0)-a)/2,e.widthb,":first-child").attr("transform",`translate(${-f/2}, ${f/2})`).attr("class","outer-path");return g&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",g),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),e.width=h,e.height=f,Ir(e,x),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${f/2-(o.height+(e.padding??0)/(u?2:1)-(o.y-(o.top??0)))})`),e.intersect=function(w){return pe.info("Triangle intersect",e,p,w),wr.polygon(e,p,w)},s}O(eot,"triangle");async function tot(t,e){const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;let o=!0;(e.width||e.height)&&(o=!1,e.width=((e==null?void 0:e.width)??0)-a*2,e.width<10&&(e.width=10),e.height=((e==null?void 0:e.height)??0)-s*2,e.height<10&&(e.height=10));const{shapeSvg:l,bbox:u,label:h}=await fn(t,e,tn(e)),f=(e!=null&&e.width?e==null?void 0:e.width:u.width)+(a??0)*2,d=(e!=null&&e.height?e==null?void 0:e.height:u.height)+(s??0)*2,p=e.look==="neo"?d/4:d/8,g=d+(o?p:-p),{cssStyles:m}=e,y=14-f,b=y>0?y/2:0,x=Er.svg(l),T=kr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const w=[{x:-f/2-b,y:g/2},...tx(-f/2-b,g/2,f/2+b,g/2,p,.8),{x:f/2+b,y:-g/2},{x:-f/2-b,y:-g/2}],A=bi(w),S=x.path(A,T),C=l.insert(()=>S,":first-child");return C.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",n),C.attr("transform",`translate(0,${-p/2})`),h.attr("transform",`translate(${-f/2+(e.padding??0)-(u.x-(u.left??0))},${-d/2+(e.padding??0)-p-(u.y-(u.top??0))})`),Ir(e,C),e.intersect=function(E){return wr.polygon(e,w,E)},l}O(tot,"waveEdgedRectangle");async function rot(t,e){const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?20:i;if(e.width||e.height){e.width=(e==null?void 0:e.width)??0,e.width<20&&(e.width=20),e.height=(e==null?void 0:e.height)??0,e.height<10&&(e.height=10);const T=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-T*(20/9)),e.width=e.width-a*2}const{shapeSvg:o,bbox:l}=await fn(t,e,tn(e)),u=(e!=null&&e.width?e==null?void 0:e.width:l.width)+a*2,h=(e!=null&&e.height?e==null?void 0:e.height:l.height)+s,f=h/8,d=h+f*2,{cssStyles:p}=e,g=Er.svg(o),m=kr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const v=[{x:-u/2,y:d/2},...tx(-u/2,d/2,u/2,d/2,f,1),{x:u/2,y:-d/2},...tx(u/2,-d/2,-u/2,-d/2,f,-1)],y=bi(v),b=g.path(y,m),x=o.insert(()=>b,":first-child");return x.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),Ir(e,x),e.intersect=function(T){return wr.polygon(e,v,T)},o}O(rot,"waveRectangle");var Ns=10;async function not(t,e){const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max(((e==null?void 0:e.width)??0)-i*2-Ns,10),e.height=Math.max(((e==null?void 0:e.height)??0)-a*2-Ns,10));const{shapeSvg:s,bbox:o,label:l}=await fn(t,e,tn(e)),u=(e!=null&&e.width?e==null?void 0:e.width:o.width)+i*2+Ns,h=(e!=null&&e.height?e==null?void 0:e.height:o.height)+a*2+Ns,f=u-Ns,d=h-Ns,p=-f/2,g=-d/2,{cssStyles:m}=e,v=Er.svg(s),y=kr(e,{}),b=[{x:p-Ns,y:g-Ns},{x:p-Ns,y:g+d},{x:p+f,y:g+d},{x:p+f,y:g-Ns}],x=`M${p-Ns},${g-Ns} L${p+f},${g-Ns} L${p+f},${g+d} L${p-Ns},${g+d} L${p-Ns},${g-Ns} M${p-Ns},${g} L${p+f},${g} - M${p},${g-Ns} L${p},${g+d}`;e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");const T=v.path(x,y),w=s.insert(()=>T,":first-child");return w.attr("transform",`translate(${Ns/2}, ${Ns/2})`),w.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+Ns/2-(o.x-(o.left??0))}, ${-(o.height/2)+Ns/2-(o.y-(o.top??0))})`),Ir(e,w),e.intersect=function(A){return wr.polygon(e,b,A)},s}O(not,"windowPane");var iot=new Set(["redux-color","redux-dark-color"]),VNr=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function Vme(t,e){var X,H,se,W;const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=Rr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:K}=Rr(),{background:J}=K,te={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${J}`]};await Vme(t,te)}const u=Rr();e.useHtmlLabels=u.htmlLabels;let h=((X=u.er)==null?void 0:X.diagramPadding)??10,f=((H=u.er)==null?void 0:H.entityPadding)??6;const{cssStyles:d}=e,{labelStyles:p,nodeStyles:g}=Or(e);if(r.attributes.length===0&&e.label){const K={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};bc(e.label,u)+K.labelPaddingX*20){const K=y.width+h*2-(w+A+S+C);w+=K/_,A+=K/_,S>0&&(S+=K/_),C>0&&(C+=K/_)}const D=w+A+S+C,R=Er.svg(v),L=kr(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");let M=0;T.length>0&&(M=T.reduce((K,J)=>K+((J==null?void 0:J.rowHeight)??0),0));const P=Math.max(N.width+h*2,(e==null?void 0:e.width)||0,D),I=Math.max((M??0)+y.height,(e==null?void 0:e.height)||0),F=-P/2,$=-I/2;if(v.selectAll("g:not(:first-child)").each((K,J,te)=>{const ve=Ct(te[J]),ie=ve.attr("transform");let Se=0,Oe=0;if(ie){const ue=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ie);ue&&(Se=parseFloat(ue[1]),Oe=parseFloat(ue[2]),ve.attr("class").includes("attribute-name")?Se+=w:ve.attr("class").includes("attribute-keys")?Se+=w+A:ve.attr("class").includes("attribute-comment")&&(Se+=w+A+S))}ve.attr("transform",`translate(${F+h/2+Se}, ${Oe+$+y.height+f/2})`)}),v.select(".name").attr("transform","translate("+-y.width/2+", "+($+f/2)+")"),n!=null&&iot.has(n)){const K=r.colorIndex??0;v.attr("data-color-id",`color-${K%l.length}`)}const V=R.rectangle(F,$,P,I,L),z=v.insert(()=>V,":first-child").attr("class","outer-path").attr("style",d.join(""));x.push(0);for(const[K,J]of T.entries()){const ve=(K+1)%2===0&&J.yOffset!==0,ie=R.rectangle(F,y.height+$+(J==null?void 0:J.yOffset),P,J==null?void 0:J.rowHeight,{...L,fill:ve?a:s,stroke:o});v.insert(()=>ie,"g.label").attr("style",d.join("")).attr("class",`row-rect-${ve?"even":"odd"}`)}const Q=1e-4;let U=D_(F,y.height+$,P+F,y.height+$,Q),G=R.polygon(U.map(K=>[K.x,K.y]),L);if(v.insert(()=>G).attr("class","divider"),U=D_(w+F,y.height+$,w+F,I+$,Q),G=R.polygon(U.map(K=>[K.x,K.y]),L),v.insert(()=>G).attr("class","divider"),E){const K=w+A+F;U=D_(K,y.height+$,K,I+$,Q),G=R.polygon(U.map(J=>[J.x,J.y]),L),v.insert(()=>G).attr("class","divider")}if(k){const K=w+A+S+F;U=D_(K,y.height+$,K,I+$,Q),G=R.polygon(U.map(J=>[J.x,J.y]),L),v.insert(()=>G).attr("class","divider")}for(const K of x){const J=y.height+$+K;U=D_(F,J,P+F,J,Q),G=R.polygon(U.map(te=>[te.x,te.y]),L),v.insert(()=>G).attr("class","divider")}if(Ir(e,z),g&&e.look!=="handDrawn")if(n!=null&&VNr.has(n))v.selectAll("path").attr("style",g);else{const K=g.split(";"),J=(W=K==null?void 0:K.filter(te=>te.includes("stroke")))==null?void 0:W.map(te=>`${te}`).join("; ");v.selectAll("path").attr("style",J??""),v.selectAll(".row-rect-even path").attr("style",g)}return e.intersect=function(K){return wr.rect(e,K)},v}O(Vme,"erBox");async function R_(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==Xb(e)&&(e=Xb(e),e=e.replaceAll("<","<").replaceAll(">",">"));const l=o.node().appendChild(await Gu(o,e,{width:bc(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let u=l.getBBox();if(m0(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const f=Ct(l);u=h.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}return u}O(R_,"addText");function D_(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}O(D_,"lineToPolygon");async function aot(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",tn(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,h=null,f=0,d=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const b=e.annotations[0];await V8(o,{text:`«${b}»`},0),f=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await V8(l,e,0,["font-weight: bolder"]);const g=l.node().getBBox();d=g.height,u=s.insert("g").attr("class","members-group text");let m=0;for(const b of e.members){const x=await V8(u,b,m,[b.parseClassifier()]);m+=x+a}p=u.node().getBBox().height,p<=0&&(p=i/2),h=s.insert("g").attr("class","methods-group text");let v=0;for(const b of e.methods){const x=await V8(h,b,v,[b.parseClassifier()]);v+=x+a}let y=s.node().getBBox();if(o!==null){const b=o.node().getBBox();o.attr("transform",`translate(${-b.width/2})`)}return l.attr("transform",`translate(${-g.width/2}, ${f})`),y=s.node().getBBox(),u.attr("transform",`translate(0, ${f+d+i*2})`),y=s.node().getBBox(),h.attr("transform",`translate(0, ${f+d+(p?p+i*4:i*2)})`),y=s.node().getBBox(),{shapeSvg:s,bbox:y}}O(aot,"textHelper");async function V8(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=Rr();let s="useHtmlLabels"in e?e.useHtmlLabels:m0(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),Js(o)&&(s=!0);const l=await Gu(i,Rge(Xv(o)),{width:bc(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,h=1;if(s){const f=l.children[0],d=Ct(l);h=f.innerHTML.split("
").length,f.innerHTML.includes("")&&(h+=f.innerHTML.split("").length-1);const p=f.getElementsByTagName("img");if(p){const g=o.replace(/]*>/g,"").trim()==="";await Promise.all([...p].map(m=>new Promise(v=>{function y(){var b;if(m.style.display="flex",m.style.flexDirection="column",g){const x=((b=a.fontSize)==null?void 0:b.toString())??window.getComputedStyle(document.body).fontSize,w=parseInt(x,10)*5+"px";m.style.minWidth=w,m.style.maxWidth=w}else m.style.width="100%";v(m)}O(y,"setupImage"),setTimeout(()=>{m.complete&&y()}),m.addEventListener("error",y),m.addEventListener("load",y)})))}u=f.getBoundingClientRect(),d.attr("width",u.width),d.attr("height",u.height)}else{n.includes("font-weight: bolder")&&Ct(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const f=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(f.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(f.textContent=f.textContent[0]+" "+f.textContent.substring(1))),f.textContent==="undefined"&&(f.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*h)+r)+")"),u.height}O(V8,"addText");async function sot(t,e){var R,L;const r=Ye(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??m0(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:h}=await aot(t,e,r,o,s),{labelStyles:f,nodeStyles:d}=Or(e);e.labelStyle=f,e.cssStyles=l.styles||"";const p=((R=l.styles)==null?void 0:R.join(";"))||d||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const g=l.members.length===0&&l.methods.length===0&&!((L=r.class)!=null&&L.hideEmptyMembersBox),m=Er.svg(u),v=kr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const y=Math.max(e.width??0,h.width);let b=Math.max(e.height??0,h.height);const x=(e.height??0)>h.height;l.members.length===0&&l.methods.length===0?b+=s:l.members.length>0&&l.methods.length===0&&(b+=s*2);const T=-y/2,w=-b/2;let A=g?a*2:l.members.length===0&&l.methods.length===0?-a:0;x&&(A=a*2);const S=m.rectangle(T-a,w-a-(g?a:l.members.length===0&&l.methods.length===0?-a/2:0),y+2*a,b+2*a+A,v),C=u.insert(()=>S,":first-child");C.attr("class","basic label-container outer-path");const E=C.node().getBBox(),k=u.select(".annotation-group").node().getBBox().height-(g?a/2:0)||0,_=u.select(".label-group").node().getBBox().height-(g?a/2:0)||0,N=u.select(".members-group").node().getBBox().height-(g?a/2:0)||0,D=(k+_+w+a-(w-a-(g?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((M,P,I)=>{var U,G;const F=Ct(I[P]),$=F.attr("transform");let V=0;if($){const H=RegExp(/translate\(([^,]+),([^)]+)\)/).exec($);H&&(V=parseFloat(H[2]))}let z=V+w+a-(g?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(F.attr("class").includes("methods-group")){const X=Math.max(N,s/2);x?z=Math.max(D,k+_+X+w+s*2+a)+s*2:z=k+_+X+w+s*4+a}l.members.length===0&&l.methods.length===0&&((U=r.class)!=null&&U.hideEmptyMembersBox)&&(l.annotations.length>0?z=V-s:z=V),o||(z-=4);let Q=T;(F.attr("class").includes("label-group")||F.attr("class").includes("annotation-group"))&&(Q=-((G=F.node())==null?void 0:G.getBBox().width)/2||0,u.selectAll("text").each(function(X,H,se){window.getComputedStyle(se[H]).textAnchor==="middle"&&(Q=0)})),F.attr("transform",`translate(${Q}, ${z})`)}),l.members.length>0||l.methods.length>0||g){const M=k+_+w+a,P=m.line(E.x,M,E.x+E.width,M+.001,v);u.insert(()=>P).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(g||l.members.length>0||l.methods.length>0){const M=k+_+N+w+s*2+a,P=m.line(E.x,x?Math.max(D,M):M,E.x+E.width,(x?Math.max(D,M):M)+.001,v);u.insert(()=>P).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),C.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const M=RegExp(/color\s*:\s*([^;]*)/),P=M.exec(p);if(P){const I=P[0].replace("color","fill");u.selectAll("tspan").attr("style",I)}else if(f){const I=M.exec(f);if(I){const F=I[0].replace("color","fill");u.selectAll("tspan").attr("style",F)}}}return Ir(e,C),e.intersect=function(M){return wr.rect(e,M)},u}O(sot,"classBox");async function oot(t,e){var E,k;const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=tn(e),{themeVariables:h}=Ye(),{borderColorArray:f,requirementEdgeLabelBackground:d}=h,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let g;l?g=await A0(p,`<<${i.type}>>`,0,e.labelStyle):g=await A0(p,"<<Element>>",0,e.labelStyle);let m=g;const v=await A0(p,i.name,m,e.labelStyle+"; font-weight: bold;");if(m+=v+o,l){const _=await A0(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,m,e.labelStyle);m+=_;const N=await A0(p,`${i.text?`Text: ${i.text}`:""}`,m,e.labelStyle);m+=N;const D=await A0(p,`${i.risk?`Risk: ${i.risk}`:""}`,m,e.labelStyle);m+=D,await A0(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,m,e.labelStyle)}else{const _=await A0(p,`${a.type?`Type: ${a.type}`:""}`,m,e.labelStyle);m+=_,await A0(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,m,e.labelStyle)}const y=(((E=p.node())==null?void 0:E.getBBox().width)??200)+s,b=(((k=p.node())==null?void 0:k.getBBox().height)??200)+s,x=-y/2,T=-b/2,w=Er.svg(p),A=kr(e,{});e.look!=="handDrawn"&&(A.roughness=0,A.fillStyle="solid");const S=w.rectangle(x,T,y,b,A),C=p.insert(()=>S,":first-child");if(C.attr("class","basic label-container outer-path").attr("style",n),f!=null&&f.length){const _=e.colorIndex??0;p.attr("data-color-id",`color-${_%f.length}`)}if(p.selectAll(".label").each((_,N,D)=>{const R=Ct(D[N]),L=R.attr("transform");let M=0,P=0;if(L){const V=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(L);V&&(M=parseFloat(V[1]),P=parseFloat(V[2]))}const I=P-b/2;let F=x+s/2;(N===0||N===1)&&(F=M),R.attr("transform",`translate(${F}, ${I+s})`)}),m>g+v+o){const _=T+g+v+o;let N;if(e.look==="neo"){const L=[[x,_],[x+y,_],[x+y,_+.001],[x,_+.001]];N=w.polygon(L,A)}else N=w.line(x,_,x+y,_,A);p.insert(()=>N).attr("class","divider")}return Ir(e,C),e.intersect=function(_){return wr.rect(e,_)},n&&e.look!=="handDrawn"&&(d||f!=null&&f.length)&&p.selectAll("path").attr("style",n),p}O(oot,"requirementBox");async function A0(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Ye(),s=a.htmlLabels??!0,o=await Gu(i,Rge(Xv(e)),{width:bc(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],h=Ct(o);l=u.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const u=o.children[0];for(const h of u.children)n&&h.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}O(A0,"addText");var UNr=O(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function lot(t,e,{config:r}){var N,D;const{labelStyles:n,nodeStyles:i}=Or(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await fn(t,e,tn(e)),h=e.padding||10;let f="",d;"ticket"in e&&e.ticket&&((N=r==null?void 0:r.kanban)!=null&&N.ticketBaseUrl)&&(f=(D=r==null?void 0:r.kanban)==null?void 0:D.ticketBaseUrl.replace("#TICKET#",e.ticket),d=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",f).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let g,m;d?{label:g,bbox:m}=await Nme(d,"ticket"in e&&e.ticket||"",p):{label:g,bbox:m}=await Nme(o,"ticket"in e&&e.ticket||"",p);const{label:v,bbox:y}=await Nme(o,"assigned"in e&&e.assigned||"",p);e.width=s;const b=10,x=(e==null?void 0:e.width)||0,T=Math.max(m.height,y.height)/2,w=Math.max(l.height+b*2,(e==null?void 0:e.height)||0)+T,A=-x/2,S=-w/2;u.attr("transform","translate("+(h-x/2)+", "+(-T-l.height/2)+")"),g.attr("transform","translate("+(h-x/2)+", "+(-T+l.height/2)+")"),v.attr("transform","translate("+(h+x/2-y.width-2*a)+", "+(-T+l.height/2)+")");let C;const{rx:E,ry:k}=e,{cssStyles:_}=e;if(e.look==="handDrawn"){const R=Er.svg(o),L=kr(e,{}),M=E||k?R.path(nx(A,S,x,w,E||0),L):R.rectangle(A,S,x,w,L);C=o.insert(()=>M,":first-child"),C.attr("class","basic label-container").attr("style",_||null)}else{C=o.insert("rect",":first-child"),C.attr("class","basic label-container __APA__").attr("style",i).attr("rx",E??5).attr("ry",k??5).attr("x",A).attr("y",S).attr("width",x).attr("height",w);const R="priority"in e&&e.priority;if(R){const L=o.append("line"),M=A+2,P=S+Math.floor((E??0)/2),I=S+w-Math.floor((E??0)/2);L.attr("x1",M).attr("y1",P).attr("x2",M).attr("y2",I).attr("stroke-width","4").attr("stroke",UNr(R))}}return Ir(e,C),e.height=w,e.intersect=function(R){return wr.rect(e,R)},o}O(lot,"kanbanItem");async function uot(t,e){const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await fn(t,e,tn(e)),l=a.width+10*s,u=a.height+8*s,h=.15*l,{cssStyles:f}=e,d=a.width+20,p=a.height+20,g=Math.max(l,d),m=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let v;const y=`M0 0 + M${p},${g-Ns} L${p},${g+d}`;e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");const T=v.path(x,y),w=s.insert(()=>T,":first-child");return w.attr("transform",`translate(${Ns/2}, ${Ns/2})`),w.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+Ns/2-(o.x-(o.left??0))}, ${-(o.height/2)+Ns/2-(o.y-(o.top??0))})`),Ir(e,w),e.intersect=function(A){return wr.polygon(e,b,A)},s}O(not,"windowPane");var iot=new Set(["redux-color","redux-dark-color"]),VNr=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function Vme(t,e){var X,H,se,W;const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=Rr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:K}=Rr(),{background:J}=K,te={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${J}`]};await Vme(t,te)}const u=Rr();e.useHtmlLabels=u.htmlLabels;let h=((X=u.er)==null?void 0:X.diagramPadding)??10,f=((H=u.er)==null?void 0:H.entityPadding)??6;const{cssStyles:d}=e,{labelStyles:p,nodeStyles:g}=Or(e);if(r.attributes.length===0&&e.label){const K={rx:0,ry:0,labelPaddingX:h,labelPaddingY:h*1.5};bc(e.label,u)+K.labelPaddingX*20){const K=y.width+h*2-(w+A+S+C);w+=K/_,A+=K/_,S>0&&(S+=K/_),C>0&&(C+=K/_)}const D=w+A+S+C,R=Er.svg(v),L=kr(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");let M=0;T.length>0&&(M=T.reduce((K,J)=>K+((J==null?void 0:J.rowHeight)??0),0));const P=Math.max(N.width+h*2,(e==null?void 0:e.width)||0,D),I=Math.max((M??0)+y.height,(e==null?void 0:e.height)||0),F=-P/2,$=-I/2;if(v.selectAll("g:not(:first-child)").each((K,J,te)=>{const ve=Ct(te[J]),ie=ve.attr("transform");let Se=0,Oe=0;if(ie){const ue=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ie);ue&&(Se=parseFloat(ue[1]),Oe=parseFloat(ue[2]),ve.attr("class").includes("attribute-name")?Se+=w:ve.attr("class").includes("attribute-keys")?Se+=w+A:ve.attr("class").includes("attribute-comment")&&(Se+=w+A+S))}ve.attr("transform",`translate(${F+h/2+Se}, ${Oe+$+y.height+f/2})`)}),v.select(".name").attr("transform","translate("+-y.width/2+", "+($+f/2)+")"),n!=null&&iot.has(n)){const K=r.colorIndex??0;v.attr("data-color-id",`color-${K%l.length}`)}const V=R.rectangle(F,$,P,I,L),z=v.insert(()=>V,":first-child").attr("class","outer-path").attr("style",d.join(""));x.push(0);for(const[K,J]of T.entries()){const ve=(K+1)%2===0&&J.yOffset!==0,ie=R.rectangle(F,y.height+$+(J==null?void 0:J.yOffset),P,J==null?void 0:J.rowHeight,{...L,fill:ve?a:s,stroke:o});v.insert(()=>ie,"g.label").attr("style",d.join("")).attr("class",`row-rect-${ve?"even":"odd"}`)}const Q=1e-4;let U=D_(F,y.height+$,P+F,y.height+$,Q),G=R.polygon(U.map(K=>[K.x,K.y]),L);if(v.insert(()=>G).attr("class","divider"),U=D_(w+F,y.height+$,w+F,I+$,Q),G=R.polygon(U.map(K=>[K.x,K.y]),L),v.insert(()=>G).attr("class","divider"),E){const K=w+A+F;U=D_(K,y.height+$,K,I+$,Q),G=R.polygon(U.map(J=>[J.x,J.y]),L),v.insert(()=>G).attr("class","divider")}if(k){const K=w+A+S+F;U=D_(K,y.height+$,K,I+$,Q),G=R.polygon(U.map(J=>[J.x,J.y]),L),v.insert(()=>G).attr("class","divider")}for(const K of x){const J=y.height+$+K;U=D_(F,J,P+F,J,Q),G=R.polygon(U.map(te=>[te.x,te.y]),L),v.insert(()=>G).attr("class","divider")}if(Ir(e,z),g&&e.look!=="handDrawn")if(n!=null&&VNr.has(n))v.selectAll("path").attr("style",g);else{const K=g.split(";"),J=(W=K==null?void 0:K.filter(te=>te.includes("stroke")))==null?void 0:W.map(te=>`${te}`).join("; ");v.selectAll("path").attr("style",J??""),v.selectAll(".row-rect-even path").attr("style",g)}return e.intersect=function(K){return wr.rect(e,K)},v}O(Vme,"erBox");async function R_(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==Xb(e)&&(e=Xb(e),e=e.replaceAll("<","<").replaceAll(">",">"));const l=o.node().appendChild(await Gu(o,e,{width:bc(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let h=l.children[0];for(h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">");h.childNodes[0];)h=h.childNodes[0],h.textContent=h.textContent.replaceAll("<","<").replaceAll(">",">")}let u=l.getBBox();if(m0(r.htmlLabels)){const h=l.children[0];h.style.textAlign="start";const f=Ct(l);u=h.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}return u}O(R_,"addText");function D_(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}O(D_,"lineToPolygon");async function aot(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",tn(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,h=null,f=0,d=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const b=e.annotations[0];await V8(o,{text:`«${b}»`},0),f=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await V8(l,e,0,["font-weight: bolder"]);const g=l.node().getBBox();d=g.height,u=s.insert("g").attr("class","members-group text");let m=0;for(const b of e.members){const x=await V8(u,b,m,[b.parseClassifier()]);m+=x+a}p=u.node().getBBox().height,p<=0&&(p=i/2),h=s.insert("g").attr("class","methods-group text");let v=0;for(const b of e.methods){const x=await V8(h,b,v,[b.parseClassifier()]);v+=x+a}let y=s.node().getBBox();if(o!==null){const b=o.node().getBBox();o.attr("transform",`translate(${-b.width/2})`)}return l.attr("transform",`translate(${-g.width/2}, ${f})`),y=s.node().getBBox(),u.attr("transform",`translate(0, ${f+d+i*2})`),y=s.node().getBBox(),h.attr("transform",`translate(0, ${f+d+(p?p+i*4:i*2)})`),y=s.node().getBBox(),{shapeSvg:s,bbox:y}}O(aot,"textHelper");async function V8(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=Rr();let s="useHtmlLabels"in e?e.useHtmlLabels:m0(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),Js(o)&&(s=!0);const l=await Gu(i,Rge(Xv(o)),{width:bc(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,h=1;if(s){const f=l.children[0],d=Ct(l);h=f.innerHTML.split("
").length,f.innerHTML.includes("")&&(h+=f.innerHTML.split("").length-1);const p=f.getElementsByTagName("img");if(p){const g=o.replace(/]*>/g,"").trim()==="";await Promise.all([...p].map(m=>new Promise(v=>{function y(){var b;if(m.style.display="flex",m.style.flexDirection="column",g){const x=((b=a.fontSize)==null?void 0:b.toString())??window.getComputedStyle(document.body).fontSize,w=parseInt(x,10)*5+"px";m.style.minWidth=w,m.style.maxWidth=w}else m.style.width="100%";v(m)}O(y,"setupImage"),setTimeout(()=>{m.complete&&y()}),m.addEventListener("error",y),m.addEventListener("load",y)})))}u=f.getBoundingClientRect(),d.attr("width",u.width),d.attr("height",u.height)}else{n.includes("font-weight: bolder")&&Ct(l).selectAll("tspan").attr("font-weight",""),h=l.children.length;const f=l.children[0];(l.textContent===""||l.textContent.includes(">"))&&(f.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(f.textContent=f.textContent[0]+" "+f.textContent.substring(1))),f.textContent==="undefined"&&(f.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*h)+r)+")"),u.height}O(V8,"addText");async function sot(t,e){var R,L;const r=Ye(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??m0(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:h}=await aot(t,e,r,o,s),{labelStyles:f,nodeStyles:d}=Or(e);e.labelStyle=f,e.cssStyles=l.styles||"";const p=((R=l.styles)==null?void 0:R.join(";"))||d||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const g=l.members.length===0&&l.methods.length===0&&!((L=r.class)!=null&&L.hideEmptyMembersBox),m=Er.svg(u),v=kr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const y=Math.max(e.width??0,h.width);let b=Math.max(e.height??0,h.height);const x=(e.height??0)>h.height;l.members.length===0&&l.methods.length===0?b+=s:l.members.length>0&&l.methods.length===0&&(b+=s*2);const T=-y/2,w=-b/2;let A=g?a*2:l.members.length===0&&l.methods.length===0?-a:0;x&&(A=a*2);const S=m.rectangle(T-a,w-a-(g?a:l.members.length===0&&l.methods.length===0?-a/2:0),y+2*a,b+2*a+A,v),C=u.insert(()=>S,":first-child");C.attr("class","basic label-container outer-path");const E=C.node().getBBox(),k=u.select(".annotation-group").node().getBBox().height-(g?a/2:0)||0,_=u.select(".label-group").node().getBBox().height-(g?a/2:0)||0,N=u.select(".members-group").node().getBBox().height-(g?a/2:0)||0,D=(k+_+w+a-(w-a-(g?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((M,P,I)=>{var U,G;const F=Ct(I[P]),$=F.attr("transform");let V=0;if($){const H=RegExp(/translate\(([^,]+),([^)]+)\)/).exec($);H&&(V=parseFloat(H[2]))}let z=V+w+a-(g?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(F.attr("class").includes("methods-group")){const X=Math.max(N,s/2);x?z=Math.max(D,k+_+X+w+s*2+a)+s*2:z=k+_+X+w+s*4+a}l.members.length===0&&l.methods.length===0&&((U=r.class)!=null&&U.hideEmptyMembersBox)&&(l.annotations.length>0?z=V-s:z=V),o||(z-=4);let Q=T;(F.attr("class").includes("label-group")||F.attr("class").includes("annotation-group"))&&(Q=-((G=F.node())==null?void 0:G.getBBox().width)/2||0,u.selectAll("text").each(function(X,H,se){window.getComputedStyle(se[H]).textAnchor==="middle"&&(Q=0)})),F.attr("transform",`translate(${Q}, ${z})`)}),l.members.length>0||l.methods.length>0||g){const M=k+_+w+a,P=m.line(E.x,M,E.x+E.width,M+.001,v);u.insert(()=>P).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(g||l.members.length>0||l.methods.length>0){const M=k+_+N+w+s*2+a,P=m.line(E.x,x?Math.max(D,M):M,E.x+E.width,(x?Math.max(D,M):M)+.001,v);u.insert(()=>P).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),C.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const M=RegExp(/color\s*:\s*([^;]*)/),P=M.exec(p);if(P){const I=P[0].replace("color","fill");u.selectAll("tspan").attr("style",I)}else if(f){const I=M.exec(f);if(I){const F=I[0].replace("color","fill");u.selectAll("tspan").attr("style",F)}}}return Ir(e,C),e.intersect=function(M){return wr.rect(e,M)},u}O(sot,"classBox");async function oot(t,e){var E,k;const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=tn(e),{themeVariables:h}=Ye(),{borderColorArray:f,requirementEdgeLabelBackground:d}=h,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let g;l?g=await A0(p,`<<${i.type}>>`,0,e.labelStyle):g=await A0(p,"<<Element>>",0,e.labelStyle);let m=g;const v=await A0(p,i.name,m,e.labelStyle+"; font-weight: bold;");if(m+=v+o,l){const _=await A0(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,m,e.labelStyle);m+=_;const N=await A0(p,`${i.text?`Text: ${i.text}`:""}`,m,e.labelStyle);m+=N;const D=await A0(p,`${i.risk?`Risk: ${i.risk}`:""}`,m,e.labelStyle);m+=D,await A0(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,m,e.labelStyle)}else{const _=await A0(p,`${a.type?`Type: ${a.type}`:""}`,m,e.labelStyle);m+=_,await A0(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,m,e.labelStyle)}const y=(((E=p.node())==null?void 0:E.getBBox().width)??200)+s,b=(((k=p.node())==null?void 0:k.getBBox().height)??200)+s,x=-y/2,T=-b/2,w=Er.svg(p),A=kr(e,{});e.look!=="handDrawn"&&(A.roughness=0,A.fillStyle="solid");const S=w.rectangle(x,T,y,b,A),C=p.insert(()=>S,":first-child");if(C.attr("class","basic label-container outer-path").attr("style",n),f!=null&&f.length){const _=e.colorIndex??0;p.attr("data-color-id",`color-${_%f.length}`)}if(p.selectAll(".label").each((_,N,D)=>{const R=Ct(D[N]),L=R.attr("transform");let M=0,P=0;if(L){const V=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(L);V&&(M=parseFloat(V[1]),P=parseFloat(V[2]))}const I=P-b/2;let F=x+s/2;(N===0||N===1)&&(F=M),R.attr("transform",`translate(${F}, ${I+s})`)}),m>g+v+o){const _=T+g+v+o;let N;if(e.look==="neo"){const L=[[x,_],[x+y,_],[x+y,_+.001],[x,_+.001]];N=w.polygon(L,A)}else N=w.line(x,_,x+y,_,A);p.insert(()=>N).attr("class","divider")}return Ir(e,C),e.intersect=function(_){return wr.rect(e,_)},n&&e.look!=="handDrawn"&&(d||f!=null&&f.length)&&p.selectAll("path").attr("style",n),p}O(oot,"requirementBox");async function A0(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Ye(),s=a.htmlLabels??!0,o=await Gu(i,Rge(Xv(e)),{width:bc(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],h=Ct(o);l=u.getBoundingClientRect(),h.attr("width",l.width),h.attr("height",l.height)}else{const u=o.children[0];for(const h of u.children)n&&h.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}O(A0,"addText");var UNr=O(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function lot(t,e,{config:r}){var N,D;const{labelStyles:n,nodeStyles:i}=Or(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await fn(t,e,tn(e)),h=e.padding||10;let f="",d;"ticket"in e&&e.ticket&&((N=r==null?void 0:r.kanban)!=null&&N.ticketBaseUrl)&&(f=(D=r==null?void 0:r.kanban)==null?void 0:D.ticketBaseUrl.replace("#TICKET#",e.ticket),d=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",f).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let g,m;d?{label:g,bbox:m}=await Nme(d,"ticket"in e&&e.ticket||"",p):{label:g,bbox:m}=await Nme(o,"ticket"in e&&e.ticket||"",p);const{label:v,bbox:y}=await Nme(o,"assigned"in e&&e.assigned||"",p);e.width=s;const b=10,x=(e==null?void 0:e.width)||0,T=Math.max(m.height,y.height)/2,w=Math.max(l.height+b*2,(e==null?void 0:e.height)||0)+T,A=-x/2,S=-w/2;u.attr("transform","translate("+(h-x/2)+", "+(-T-l.height/2)+")"),g.attr("transform","translate("+(h-x/2)+", "+(-T+l.height/2)+")"),v.attr("transform","translate("+(h+x/2-y.width-2*a)+", "+(-T+l.height/2)+")");let C;const{rx:E,ry:k}=e,{cssStyles:_}=e;if(e.look==="handDrawn"){const R=Er.svg(o),L=kr(e,{}),M=E||k?R.path(nx(A,S,x,w,E||0),L):R.rectangle(A,S,x,w,L);C=o.insert(()=>M,":first-child"),C.attr("class","basic label-container").attr("style",_||null)}else{C=o.insert("rect",":first-child"),C.attr("class","basic label-container __APA__").attr("style",i).attr("rx",E??5).attr("ry",k??5).attr("x",A).attr("y",S).attr("width",x).attr("height",w);const R="priority"in e&&e.priority;if(R){const L=o.append("line"),M=A+2,P=S+Math.floor((E??0)/2),I=S+w-Math.floor((E??0)/2);L.attr("x1",M).attr("y1",P).attr("x2",M).attr("y2",I).attr("stroke-width","4").attr("stroke",UNr(R))}}return Ir(e,C),e.height=w,e.intersect=function(R){return wr.rect(e,R)},o}O(lot,"kanbanItem");async function uot(t,e){const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await fn(t,e,tn(e)),l=a.width+10*s,u=a.height+8*s,h=.15*l,{cssStyles:f}=e,d=a.width+20,p=a.height+20,g=Math.max(l,d),m=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let v;const y=`M0 0 a${h},${h} 1 0,0 ${g*.25},${-1*m*.1} a${h},${h} 1 0,0 ${g*.25},0 a${h},${h} 1 0,0 ${g*.25},0 @@ -552,7 +552,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

An error a${h},${h} 1 0,0 ${-1*g*.1},${-1*m*.33} a${h*.8},${h*.8} 1 0,0 0,${-1*m*.34} a${h},${h} 1 0,0 ${g*.1},${-1*m*.33} - H0 V0 Z`;if(e.look==="handDrawn"){const b=Er.svg(i),x=kr(e,{}),T=b.path(y,x);v=i.insert(()=>T,":first-child"),v.attr("class","basic label-container").attr("style",wl(f))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",y);return v.attr("transform",`translate(${-g/2}, ${-m/2})`),Ir(e,v),e.calcIntersect=function(b,x){return wr.rect(b,x)},e.intersect=function(b){return pe.info("Bang intersect",e,b),wr.rect(e,b)},i}O(uot,"bang");async function cot(t,e){const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await fn(t,e,tn(e)),l=a.width+2*s,u=a.height+2*s,h=.15*l,f=.25*l,d=.35*l,p=.2*l,{cssStyles:g}=e;let m;const v=`M0 0 + H0 V0 Z`;if(e.look==="handDrawn"){const b=Er.svg(i),x=kr(e,{}),T=b.path(y,x);v=i.insert(()=>T,":first-child"),v.attr("class","basic label-container").attr("style",wl(f))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",y);return v.attr("transform",`translate(${-g/2}, ${-m/2})`),Ir(e,v),e.calcIntersect=function(b,x){return wr.rect(b,x)},e.intersect=function(b){return pe.info("Bang intersect",e,b),wr.rect(e,b)},i}O(uot,"bang");async function cot(t,e){const{labelStyles:r,nodeStyles:n}=Or(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await fn(t,e,tn(e)),l=a.width+2*s,u=a.height+2*s,h=.15*l,f=.25*l,d=.35*l,p=.2*l,{cssStyles:g}=e;let m;const v=`M0 0 a${h},${h} 0 0,1 ${l*.25},${-1*l*.1} a${d},${d} 1 0,1 ${l*.4},${-1*l*.1} a${f},${f} 1 0,1 ${l*.35},${l*.2} @@ -636,7 +636,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="

An error `?"":r;else{let i=r.indexOf(` `);n=i<0?r:r.slice(0,i)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,r,n=0){this.block=Zq.create(e,n,this.lineStart+r,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,r,n=0){this.startContext(this.parser.getNodeType(e),r,n)}addNode(e,r,n){typeof e=="number"&&(e=new ti(this.parser.nodeSet.types[e],s5,s5,(n??this.prevLineEnd())-r)),this.block.addChild(e,r-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,r){this.addNode(this.buffer.writeElements(m1e(r.children,e.marks),-r.from).finish(r.type,r.to-r.from),r.from)}finishContext(){let e=this.stack.pop(),r=this.stack[this.stack.length-1];r.addChild(e.toTree(this.parser.nodeSet),e.from-r.from),this.block=r}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?ndt(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let r=m1e(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(r,-e.start).finish(rr.Paragraph,e.content.length),e.start)}elt(e,r,n,i){return typeof e=="string"?Oi(this.parser.getNodeType(e),r,n,i):new sdt(e,r)}get buffer(){return new adt(this.parser.nodeSet)}}function ndt(t,e,r,n,i){let a=t[e].to,s=[],o=[],l=r.from+n;function u(h,f){for(;f?h>=a:h>a;){let d=t[e+1].from-a;n+=d,h+=d,e++,a=t[e].to}}for(let h=r.firstChild;h;h=h.nextSibling){u(h.from+n,!0);let f=h.from+n,d,p=i.get(h.tree);p?d=p:h.to+n>a?(d=ndt(t,e,h,n,i),u(h.to+n,!1)):d=h.toTree(),s.push(d),o.push(f-l)}return u(r.to+n,!1),new ti(r.type,s,o,r.to+n-l,r.tree?r.tree.propValues:void 0)}class Jq extends WW{constructor(e,r,n,i,a,s,o,l,u){super(),this.nodeSet=e,this.blockParsers=r,this.leafBlockParsers=n,this.blockNames=i,this.endLeafBlock=a,this.skipContextMarkup=s,this.inlineParsers=o,this.inlineNames=l,this.wrappers=u,this.nodeTypes=Object.create(null);for(let h of e.types)this.nodeTypes[h.name]=h.id}createParse(e,r,n){let i=new kGr(this,e,r,n);for(let a of this.wrappers)i=a(i,e,r,n);return i}configure(e){let r=d1e(e);if(!r)return this;let{nodeSet:n,skipContextMarkup:i}=this,a=this.blockParsers.slice(),s=this.leafBlockParsers.slice(),o=this.blockNames.slice(),l=this.inlineParsers.slice(),u=this.inlineNames.slice(),h=this.endLeafBlock.slice(),f=this.wrappers;if($7(r.defineNodes)){i=Object.assign({},i);let d=n.types.slice(),p;for(let g of r.defineNodes){let{name:m,block:v,composite:y,style:b}=typeof g=="string"?{name:g}:g;if(d.some(w=>w.name==m))continue;y&&(i[d.length]=(w,A,S)=>y(A,S,w.value));let x=d.length,T=y?["Block","BlockContext"]:v?x>=rr.ATXHeading1&&x<=rr.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;d.push(So.define({id:x,name:m,props:T&&[[On.group,T]]})),b&&(p||(p={}),Array.isArray(b)||b instanceof I0?p[m]=b:Object.assign(p,b))}n=new $_(d),p&&(n=n.extend(oy(p)))}if($7(r.props)&&(n=n.extend(...r.props)),$7(r.remove))for(let d of r.remove){let p=this.blockNames.indexOf(d),g=this.inlineNames.indexOf(d);p>-1&&(a[p]=s[p]=void 0),g>-1&&(l[g]=void 0)}if($7(r.parseBlock))for(let d of r.parseBlock){let p=o.indexOf(d.name);if(p>-1)a[p]=d.parse,s[p]=d.leaf;else{let g=d.before?eX(o,d.before):d.after?eX(o,d.after)+1:o.length-1;a.splice(g,0,d.parse),s.splice(g,0,d.leaf),o.splice(g,0,d.name)}d.endLeaf&&h.push(d.endLeaf)}if($7(r.parseInline))for(let d of r.parseInline){let p=u.indexOf(d.name);if(p>-1)l[p]=d.parse;else{let g=d.before?eX(u,d.before):d.after?eX(u,d.after)+1:u.length-1;l.splice(g,0,d.parse),u.splice(g,0,d.name)}}return r.wrap&&(f=f.concat(r.wrap)),new Jq(n,a,s,o,h,i,l,u,f)}getNodeType(e){let r=this.nodeTypes[e];if(r==null)throw new RangeError(`Unknown node type '${e}'`);return r}parseInline(e,r){let n=new g1e(this,e,r);e:for(let i=r;i=0){i=o;continue e}}i++}return n.resolveMarkers(0)}}function $7(t){return t!=null&&t.length>0}function d1e(t){if(!Array.isArray(t))return t;if(t.length==0)return null;let e=d1e(t[0]);if(t.length==1)return e;let r=d1e(t.slice(1));if(!r||!e)return e||r;let n=(s,o)=>(s||s5).concat(o||s5),i=e.wrap,a=r.wrap;return{props:n(e.props,r.props),defineNodes:n(e.defineNodes,r.defineNodes),parseBlock:n(e.parseBlock,r.parseBlock),parseInline:n(e.parseInline,r.parseInline),remove:n(e.remove,r.remove),wrap:i?a?(s,o,l,u)=>i(a(s,o,l,u),o,l,u):i:a}}function eX(t,e){let r=t.indexOf(e);if(r<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return r}let idt=[So.none];for(let t=1,e;e=rr[t];t++)idt[t]=So.define({id:t,name:e,props:t>=rr.Escape?[]:[[On.group,t in Yft?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});const s5=[];let adt=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,r,n,i=0){return this.content.push(e,r,n,4+i*4),this}writeElements(e,r=0){for(let n of e)n.writeTo(this,r);return this}finish(e,r){return ti.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:r})}},F7=class{constructor(e,r,n,i=s5){this.type=e,this.from=r,this.to=n,this.children=i}writeTo(e,r){let n=e.content.length;e.writeElements(this.children,r),e.content.push(this.type,this.from+r,this.to+r,e.content.length+4-n)}toTree(e){return new adt(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}};class sdt{constructor(e,r){this.tree=e,this.from=r}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return s5}writeTo(e,r){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+r,this.to+r,-1)}toTree(){return this.tree}}function Oi(t,e,r,n){return new F7(t,e,r,n)}const odt={resolve:"Emphasis",mark:"EmphasisMark"},ldt={resolve:"Emphasis",mark:"EmphasisMark"},WA={},tX={};class Tf{constructor(e,r,n,i){this.type=e,this.from=r,this.to=n,this.side=i}}const udt="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let z7=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{z7=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}const p1e={Escape(t,e,r){if(e!=92||r==t.end-1)return-1;let n=t.char(r+1);for(let i=0;i]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(i)return t.append(Oi(rr.Autolink,r,r+1+i[0].length,[Oi(rr.LinkMark,r,r+1),Oi(rr.URL,r+1,r+i[0].length),Oi(rr.LinkMark,r+i[0].length,r+1+i[0].length)]));let a=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(a)return t.append(Oi(rr.Comment,r,r+1+a[0].length));let s=/^\?[^]*?\?>/.exec(n);if(s)return t.append(Oi(rr.ProcessingInstruction,r,r+1+s[0].length));let o=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return o?t.append(Oi(rr.HTMLTag,r,r+1+o[0].length)):-1},Emphasis(t,e,r){if(e!=95&&e!=42)return-1;let n=r+1;for(;t.char(n)==e;)n++;let i=t.slice(r-1,r),a=t.slice(n,n+1),s=z7.test(i),o=z7.test(a),l=/\s|^$/.test(i),u=/\s|^$/.test(a),h=!u&&(!o||l||s),f=!l&&(!s||u||o),d=h&&(e==42||!f||s),p=f&&(e==42||!h||o);return t.append(new Tf(e==95?odt:ldt,r,n,(d?1:0)|(p?2:0)))},HardBreak(t,e,r){if(e==92&&t.char(r+1)==10)return t.append(Oi(rr.HardBreak,r,r+2));if(e==32){let n=r+1;for(;t.char(n)==32;)n++;if(t.char(n)==10&&n>=r+2)return t.append(Oi(rr.HardBreak,r,n+1))}return-1},Link(t,e,r){return e==91?t.append(new Tf(WA,r,r+1,1)):-1},Image(t,e,r){return e==33&&t.char(r+1)==91?t.append(new Tf(tX,r,r+2,1)):-1},LinkEnd(t,e,r){if(e!=93)return-1;for(let n=t.parts.length-1;n>=0;n--){let i=t.parts[n];if(i instanceof Tf&&(i.type==WA||i.type==tX)){if(!i.side||t.skipSpace(i.to)==r&&!/[(\[]/.test(t.slice(r+1,r+2)))return t.parts[n]=null,-1;let a=t.takeContent(n),s=t.parts[n]=_Gr(t,a,i.type==WA?rr.Link:rr.Image,i.from,r+1);if(i.type==WA)for(let o=0;oe?Oi(rr.URL,e+r,a+r):a==t.length?null:!1}}function hdt(t,e,r){let n=t.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let i=n==40?41:n;for(let a=e+1,s=!1;a=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,r){return this.text.slice(e-this.offset,r-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,r,n,i,a){return this.append(new Tf(e,r,n,(i?1:0)|(a?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let r=this.parts[e];if(r instanceof Tf&&(r.type==WA||r.type==tX))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n=e;l--){let m=this.parts[l];if(m instanceof Tf&&m.side&1&&m.type==i.type&&!(a&&(i.side&1||m.side&2)&&(m.to-m.from+s)%3==0&&((m.to-m.from)%3||s%3))){o=m;break}}if(!o)continue;let u=i.type.resolve,h=[],f=o.from,d=i.to;if(a){let m=Math.min(2,o.to-o.from,s);f=o.to-m,d=i.from+m,u=m==1?"Emphasis":"StrongEmphasis"}o.type.mark&&h.push(this.elt(o.type.mark,f,o.to));for(let m=l+1;m=0;r--){let n=this.parts[r];if(n instanceof Tf&&n.type==e&&n.side&1)return r}return null}takeContent(e){let r=this.resolveMarkers(e);return this.parts.length=e,r}getDelimiterAt(e){let r=this.parts[e];return r instanceof Tf?r:null}skipSpace(e){return B7(this.text,e-this.offset)+this.offset}elt(e,r,n,i){return typeof e=="string"?Oi(this.parser.getNodeType(e),r,n,i):new sdt(e,r)}}g1e.linkStart=WA,g1e.imageStart=tX;function m1e(t,e){if(!e.length)return t;if(!t.length)return e;let r=t.slice(),n=0;for(let i of e){for(;n(e?e-1:0))return!1;if(this.fragmentEnd<0){let a=this.fragment.to;for(;a>0&&this.input.read(a-1,a)!=` `;)a--;this.fragmentEnd=a?a-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let i=e+this.fragment.offset;for(;n.to<=i;)if(!n.parent())return!1;for(;;){if(n.from>=i)return this.fragment.from<=r;if(!n.childAfter(i))return!1}}matches(e){let r=this.cursor.tree;return r&&r.prop(On.contextHash)==e}takeNodes(e){let r=this.cursor,n=this.fragment.offset,i=this.fragmentEnd-(this.fragment.openEnd?1:0),a=e.absoluteLineStart,s=a,o=e.block.children.length,l=s,u=o;for(;;){if(r.to-n>i){if(r.type.isAnonymous&&r.firstChild())continue;break}let h=ddt(r.from-n,e.ranges);if(r.to-n<=e.ranges[e.rangeI].to)e.addNode(r.tree,h);else{let f=new ti(e.parser.nodeSet.types[rr.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,r.tree),e.addNode(f,h)}if(r.type.is("Block")&&(RGr.indexOf(r.type.id)<0?(s=r.to-n,o=e.block.children.length):(s=l,o=u),l=r.to-n,u=e.block.children.length),!r.nextSibling())break}for(;e.block.children.length>o;)e.block.children.pop(),e.block.positions.pop();return s-a}}function ddt(t,e){let r=t;for(let n=1;nKq[t]),Object.keys(Kq).map(t=>rdt[t]),Object.keys(Kq),CGr,Yft,Object.keys(p1e).map(t=>p1e[t]),Object.keys(p1e),[]);function IGr(t,e,r){let n=[];for(let i=t.firstChild,a=e;;i=i.nextSibling){let s=i?i.from:r;if(s>a&&n.push({from:a,to:s}),!i)break;a=i.to}return n}function PGr(t){let{codeParser:e,htmlParser:r}=t;return{wrap:Glt((i,a)=>{let s=i.type.id;if(e&&(s==rr.CodeBlock||s==rr.FencedCode)){let o="";if(s==rr.FencedCode){let u=i.node.getChild(rr.CodeInfo);u&&(o=a.read(u.from,u.to))}let l=e(o);if(l)return{parser:l,overlay:u=>u.type.id==rr.CodeText,bracketed:s==rr.FencedCode}}else if(r&&(s==rr.HTMLBlock||s==rr.HTMLTag||s==rr.CommentBlock))return{parser:r,overlay:IGr(i.node,i.from,i.to)};return null})}}const NGr={resolve:"Strikethrough",mark:"StrikethroughMark"},BGr={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":Ee.strikethrough}},{name:"StrikethroughMark",style:Ee.processingInstruction}],parseInline:[{name:"Strikethrough",parse(t,e,r){if(e!=126||t.char(r+1)!=126||t.char(r+2)==126)return-1;let n=t.slice(r-1,r),i=t.slice(r+2,r+3),a=/\s|^$/.test(n),s=/\s|^$/.test(i),o=z7.test(n),l=z7.test(i);return t.addDelimiter(NGr,r,r+2,!s&&(!l||a||o),!a&&(!o||s||l))},after:"Emphasis"}]};function Q7(t,e,r=0,n,i=0){let a=0,s=!0,o=-1,l=-1,u=!1,h=()=>{n.push(t.elt("TableCell",i+o,i+l,t.parser.parseInline(e.slice(o,l),i+o)))};for(let f=r;f-1)&&a++,s=!1,n&&(o>-1&&h(),n.push(t.elt("TableDelimiter",f+i,f+i+1))),o=l=-1):(u||d!=32&&d!=9)&&(o<0&&(o=f),l=f+1),u=!u&&d==92}return o>-1&&(a++,n&&h()),a}function pdt(t,e){for(let r=e;r\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class mdt{constructor(){this.rows=null}nextLine(e,r,n){if(this.rows==null){this.rows=!1;let i;if((r.next==45||r.next==58||r.next==124)&&gdt.test(i=r.text.slice(r.pos))){let a=[];Q7(e,n.content,0,a,n.start)==Q7(e,i,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,a),e.elt("TableDelimiter",e.lineStart+r.pos,e.lineStart+r.text.length)])}}else if(this.rows){let i=[];Q7(e,r.text,r.pos,i,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+r.pos,e.lineStart+r.text.length,i))}return!1}finish(e,r){return this.rows?(e.addLeafElement(r,e.elt("Table",r.start,r.start+r.content.length,this.rows)),!0):!1}}const $Gr={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":Ee.heading}},"TableRow",{name:"TableCell",style:Ee.content},{name:"TableDelimiter",style:Ee.processingInstruction}],parseBlock:[{name:"Table",leaf(t,e){return pdt(e.content,0)?new mdt:null},endLeaf(t,e,r){if(r.parsers.some(i=>i instanceof mdt)||!pdt(e.text,e.basePos))return!1;let n=t.peekLine();return gdt.test(n)&&Q7(t,e.text,e.basePos)==Q7(t,n,e.basePos)},before:"SetextHeading"}]};class FGr{nextLine(){return!1}finish(e,r){return e.addLeafElement(r,e.elt("Task",r.start,r.start+r.content.length,[e.elt("TaskMarker",r.start,r.start+3),...e.parser.parseInline(r.content.slice(3),r.start+3)])),!0}}const zGr={defineNodes:[{name:"Task",block:!0,style:Ee.list},{name:"TaskMarker",style:Ee.atom}],parseBlock:[{name:"TaskList",leaf(t,e){return/^\[[ xX]\][ \t]/.test(e.content)&&t.parentType().name=="ListItem"?new FGr:null},after:"SetextHeading"}]},vdt=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,ydt=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,QGr=/[\w-]+\.[\w-]+($|[/:])/,bdt=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,xdt=/\/[a-zA-Z\d@.]+/gy;function Tdt(t,e,r,n){let i=0;for(let a=e;a-1)return-1;let n=e+r[0].length;for(;;){let i=t[n-1],a;if(/[?!.,:*_~]/.test(i)||i==")"&&Tdt(t,e,n,")")>Tdt(t,e,n,"("))n--;else if(i==";"&&(a=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(t.slice(e,n))))n=e+a.index;else break}return n}function wdt(t,e){bdt.lastIndex=e;let r=bdt.exec(t);if(!r)return-1;let n=r[0][r[0].length-1];return n=="_"||n=="-"?-1:e+r[0].length-(n=="."?1:0)}const UGr=[$Gr,zGr,BGr,{parseInline:[{name:"Autolink",parse(t,e,r){let n=r-t.offset;if(n&&/\w/.test(t.text[n-1]))return-1;vdt.lastIndex=n;let i=vdt.exec(t.text),a=-1;if(!i)return-1;if(i[1]||i[2]){if(a=VGr(t.text,n+i[0].length),a>-1&&t.hasOpenLink){let s=/([^\[\]]|\[[^\]]*\])*/.exec(t.text.slice(n,a));a=n+s[0].length}}else i[3]?a=wdt(t.text,n):(a=wdt(t.text,n+i[0].length),a>-1&&i[0]=="xmpp:"&&(xdt.lastIndex=a,i=xdt.exec(t.text),i&&(a=i.index+i[0].length)));return a<0?-1:(t.addElement(t.elt("URL",r,a+t.offset)),a+t.offset)}}]}];function Adt(t,e,r){return(n,i,a)=>{if(i!=t||n.char(a+1)==t)return-1;let s=[n.elt(r,a,a+1)];for(let o=a+1;o=65&&t<=90||t==95||t>=97&&t<=122||t>=161}let Idt=null,Pdt=null,Ndt=0;function x1e(t,e){let r=t.pos+e;if(Ndt==r&&Pdt==t)return Idt;let n=t.peek(e),i="";for(;mYr(n);)i+=String.fromCharCode(n),n=t.peek(++e);return Pdt=t,Ndt=r,Idt=i?i.toLowerCase():n==vYr||n==yYr?void 0:null}const Bdt=60,rX=62,T1e=47,vYr=63,yYr=33,bYr=45;function $dt(t,e){this.name=t,this.parent=e}const xYr=[v1e,kdt,Odt,Cdt,Edt],TYr=new Hq({start:null,shift(t,e,r,n){return xYr.indexOf(e)>-1?new $dt(x1e(n,1)||"",t):t},reduce(t,e){return e==Rdt&&t?t.parent:t},reuse(t,e,r,n){let i=e.type.id;return i==v1e||i==cYr?new $dt(x1e(n,1)||"",t):t},strict:!1}),wYr=new io((t,e)=>{if(t.next!=Bdt){t.next<0&&e.context&&t.acceptToken(y1e);return}t.advance();let r=t.next==T1e;r&&t.advance();let n=x1e(t,0);if(n===void 0)return;if(!n)return t.acceptToken(r?iYr:nYr);let i=e.context?e.context.name:null;if(r){if(n==i)return t.acceptToken(eYr);if(i&&gYr[i])return t.acceptToken(y1e,-2);if(e.dialectEnabled(fYr))return t.acceptToken(tYr);for(let a=e.context;a;a=a.parent)if(a.name==n)return;t.acceptToken(rYr)}else{if(n=="script")return t.acceptToken(Odt);if(n=="style")return t.acceptToken(Cdt);if(n=="textarea")return t.acceptToken(Edt);if(pYr.hasOwnProperty(n))return t.acceptToken(kdt);i&&Mdt[i]&&Mdt[i][n]?t.acceptToken(y1e,-1):t.acceptToken(v1e)}},{contextual:!0}),AYr=new io(t=>{for(let e=0,r=0;;r++){if(t.next<0){r&&t.acceptToken(_dt);break}if(t.next==bYr)e++;else if(t.next==rX&&e>=2){r>=3&&t.acceptToken(_dt,-2);break}else e=0;t.advance()}});function SYr(t){for(;t;t=t.parent)if(t.name=="svg"||t.name=="math")return!0;return!1}const OYr=new io((t,e)=>{if(t.next==T1e&&t.peek(1)==rX){let r=e.dialectEnabled(dYr)||SYr(e.context);t.acceptToken(r?JGr:Sdt,2)}else t.next==rX&&t.acceptToken(Sdt,1)});function w1e(t,e,r){let n=2+t.length;return new io(i=>{for(let a=0,s=0,o=0;;o++){if(i.next<0){o&&i.acceptToken(e);break}if(a==0&&i.next==Bdt||a==1&&i.next==T1e||a>=2&&as?i.acceptToken(e,-s):i.acceptToken(r,-(s-2));break}else if((i.next==10||i.next==13)&&o){i.acceptToken(e,1);break}else a=s=0;i.advance()}})}const CYr=w1e("script",WGr,qGr),EYr=w1e("style",XGr,jGr),kYr=w1e("textarea",ZGr,KGr),_Yr=oy({"Text RawText IncompleteTag IncompleteCloseTag":Ee.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":Ee.angleBracket,TagName:Ee.tagName,"MismatchedCloseTag/TagName":[Ee.tagName,Ee.invalid],AttributeName:Ee.attributeName,"AttributeValue UnquotedAttributeValue":Ee.attributeValue,Is:Ee.definitionOperator,"EntityReference CharacterReference":Ee.character,Comment:Ee.blockComment,ProcessingInst:Ee.processingInstruction,DoctypeDecl:Ee.documentMeta}),RYr=hy.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:TYr,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[_Yr],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let u=o.type.id;if(u==oYr)return A1e(o,l,r);if(u==lYr)return A1e(o,l,n);if(u==uYr)return A1e(o,l,i);if(u==Rdt&&a.length){let h=o.node,f=h.firstChild,d=f&&zdt(f,l),p;if(d){for(let g of a)if(g.tag==d&&(!g.attrs||g.attrs(p||(p=Fdt(f,l))))){let m=h.lastChild,v=m.type.id==hYr?m.from:h.to;if(v>f.to)return{parser:g.parser,overlay:[{from:f.to,to:v}]}}}}if(s&&u==Ddt){let h=o.node,f;if(f=h.firstChild){let d=s[l.read(f.from,f.to)];if(d)for(let p of d){if(p.tagName&&p.tagName!=zdt(h.parent,l))continue;let g=h.lastChild;if(g.type.id==b1e){let m=g.from+1,v=g.lastChild,y=g.to-(v&&v.isError?0:1);if(y>m)return{parser:p.parser,overlay:[{from:m,to:y}],bracketed:!0}}else if(g.type.id==Ldt)return{parser:p.parser,overlay:[{from:g.from,to:g.to}]}}}}return null})}const DYr=145,Vdt=1,LYr=146,MYr=147,Udt=2,IYr=148,PYr=3,NYr=4,Gdt=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],BYr=58,$Yr=40,Ydt=95,FYr=91,nX=45,zYr=46,QYr=35,VYr=37,UYr=38,GYr=92,YYr=10,HYr=42;function V7(t){return t>=65&&t<=90||t>=97&&t<=122||t>=161}function S1e(t){return t>=48&&t<=57}function Hdt(t){return S1e(t)||t>=97&&t<=102||t>=65&&t<=70}const Wdt=(t,e,r)=>(n,i)=>{for(let a=!1,s=0,o=0;;o++){let{next:l}=n;if(V7(l)||l==nX||l==Ydt||a&&S1e(l))!a&&(l!=nX||o>0)&&(a=!0),s===o&&l==nX&&s++,n.advance();else if(l==GYr&&n.peek(1)!=YYr){if(n.advance(),Hdt(n.next)){do n.advance();while(Hdt(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();a=!0}else{a&&n.acceptToken(s==2&&i.canShift(Udt)?e:l==$Yr?r:t);break}}},WYr=new io(Wdt(LYr,Udt,MYr),{contextual:!0}),qYr=new io(Wdt(IYr,PYr,NYr),{contextual:!0}),XYr=new io(t=>{if(Gdt.includes(t.peek(-1))){let{next:e}=t;(V7(e)||e==Ydt||e==QYr||e==zYr||e==HYr||e==FYr||e==BYr&&V7(t.peek(1))||e==nX||e==UYr)&&t.acceptToken(DYr)}}),jYr=new io(t=>{if(!Gdt.includes(t.peek(-1))){let{next:e}=t;if(e==VYr&&(t.advance(),t.acceptToken(Vdt)),V7(e)){do t.advance();while(V7(t.next)||S1e(t.next));t.acceptToken(Vdt)}}}),ZYr=oy({"AtKeyword import charset namespace keyframes media supports font-feature-values":Ee.definitionKeyword,"from to selector scope MatchFlag":Ee.keyword,NamespaceName:Ee.namespace,KeyframeName:Ee.labelName,KeyframeRangeName:Ee.operatorKeyword,TagName:Ee.tagName,ClassName:Ee.className,PseudoClassName:Ee.constant(Ee.className),IdName:Ee.labelName,"FeatureName PropertyName":Ee.propertyName,AttributeName:Ee.attributeName,NumberLiteral:Ee.number,KeywordQuery:Ee.keyword,UnaryQueryOp:Ee.operatorKeyword,"CallTag ValueName FontName":Ee.atom,VariableName:Ee.variableName,Callee:Ee.operatorKeyword,Unit:Ee.unit,"UniversalSelector NestingSelector":Ee.definitionOperator,"MatchOp CompareOp":Ee.compareOperator,"ChildOp SiblingOp, LogicOp":Ee.logicOperator,BinOp:Ee.arithmeticOperator,Important:Ee.modifier,Comment:Ee.blockComment,ColorLiteral:Ee.color,"ParenthesizedContent StringLiteral":Ee.string,":":Ee.punctuation,"PseudoOp #":Ee.derefOperator,"; , |":Ee.separator,"( )":Ee.paren,"[ ]":Ee.squareBracket,"{ }":Ee.brace}),KYr={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},JYr={__proto__:null,or:104,and:104,not:112,only:112,layer:206},eHr={__proto__:null,selector:118,style:124,layer:202},tHr={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},rHr={__proto__:null,to:243},nHr=hy.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[XYr,jYr,WYr,qYr,1,2,3,4,new Yq("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:t=>KYr[t]||-1},{term:148,get:t=>JYr[t]||-1},{term:4,get:t=>eHr[t]||-1},{term:28,get:t=>tHr[t]||-1},{term:146,get:t=>rHr[t]||-1}],tokenPrec:2405});let O1e=null;function C1e(){if(!O1e&&typeof document=="object"&&document.body){let{style:t}=document.body,e=[],r=new Set;for(let n in t)n!="cssText"&&n!="cssFloat"&&typeof t[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,i=>"-"+i.toLowerCase())),r.has(n)||(e.push(n),r.add(n)));O1e=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return O1e||[]}const qdt=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(t=>({type:"class",label:t})),Xdt=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(t=>({type:"keyword",label:t})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(t=>({type:"constant",label:t}))),iHr=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(t=>({type:"type",label:t})),aHr=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(t=>({type:"keyword",label:t})),dy=/^(\w[\w-]*|-\w[\w-]*|)$/,sHr=/^-(-[\w-]*)?$/;function oHr(t,e){var r;if((t.name=="("||t.type.isError)&&(t=t.parent||t),t.name!="ArgList")return!1;let n=(r=t.parent)===null||r===void 0?void 0:r.firstChild;return(n==null?void 0:n.name)!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}const jdt=new lve,lHr=["Declaration"];function uHr(t){for(let e=t;;){if(e.type.isTop)return e;if(!(e=e.parent))return t}}function Zdt(t,e,r){if(e.to-e.from>4096){let n=jdt.get(e);if(n)return n;let i=[],a=new Set,s=e.cursor(Ui.IncludeAnonymous);if(s.firstChild())do for(let o of Zdt(t,s.node,r))a.has(o.label)||(a.add(o.label),i.push(o));while(s.nextSibling());return jdt.set(e,i),i}else{let n=[],i=new Set;return e.cursor().iterate(a=>{var s;if(r(a)&&a.matchContext(lHr)&&((s=a.node.nextSibling)===null||s===void 0?void 0:s.name)==":"){let o=t.sliceString(a.from,a.to);i.has(o)||(i.add(o),n.push({label:o,type:"variable"}))}}),n}}const cHr=(t=>e=>{let{state:r,pos:n}=e,i=ha(r).resolveInner(n,-1),a=i.type.isError&&i.from==i.to-1&&r.doc.sliceString(i.from,i.to)=="-";if(i.name=="PropertyName"||(a||i.name=="TagName")&&/^(Block|Styles)$/.test(i.resolve(i.to).name))return{from:i.from,options:C1e(),validFor:dy};if(i.name=="ValueName")return{from:i.from,options:Xdt,validFor:dy};if(i.name=="PseudoClassName")return{from:i.from,options:qdt,validFor:dy};if(t(i)||(e.explicit||a)&&oHr(i,r.doc))return{from:t(i)||a?i.from:n,options:Zdt(r.doc,uHr(i),t),validFor:sHr};if(i.name=="TagName"){for(let{parent:l}=i;l;l=l.parent)if(l.name=="Block")return{from:i.from,options:C1e(),validFor:dy};return{from:i.from,options:iHr,validFor:dy}}if(i.name=="AtKeyword")return{from:i.from,options:aHr,validFor:dy};if(!e.explicit)return null;let s=i.resolve(n),o=s.childBefore(n);return o&&o.name==":"&&s.name=="PseudoClassSelector"?{from:n,options:qdt,validFor:dy}:o&&o.name==":"&&s.name=="Declaration"||s.name=="ArgList"?{from:n,options:Xdt,validFor:dy}:s.name=="Block"||s.name=="Styles"?{from:n,options:C1e(),validFor:dy}:null})(t=>t.name=="VariableName"),iX=ly.define({name:"css",parser:nHr.configure({props:[uy.add({Declaration:t5()}),cy.add({"Block KeyframeList":E7})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function hHr(){return new mx(iX,iX.data.of({autocomplete:cHr}))}const U7=["_blank","_self","_top","_parent"],E1e=["ascii","utf-8","utf-16","latin1","latin1"],k1e=["get","post","put","delete"],_1e=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],wf=["true","false"],$r={},fHr={a:{attrs:{href:null,ping:null,type:null,media:null,target:U7,hreflang:null}},abbr:$r,address:$r,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:$r,aside:$r,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:$r,base:{attrs:{href:null,target:U7}},bdi:$r,bdo:$r,blockquote:{attrs:{cite:null}},body:$r,br:$r,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:_1e,formmethod:k1e,formnovalidate:["novalidate"],formtarget:U7,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:$r,center:$r,cite:$r,code:$r,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:$r,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:$r,div:$r,dl:$r,dt:$r,em:$r,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:$r,figure:$r,footer:$r,form:{attrs:{action:null,name:null,"accept-charset":E1e,autocomplete:["on","off"],enctype:_1e,method:k1e,novalidate:["novalidate"],target:U7}},h1:$r,h2:$r,h3:$r,h4:$r,h5:$r,h6:$r,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:$r,hgroup:$r,hr:$r,html:{attrs:{manifest:null}},i:$r,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:_1e,formmethod:k1e,formnovalidate:["novalidate"],formtarget:U7,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:$r,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:$r,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:$r,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:E1e,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:$r,noscript:$r,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:$r,param:{attrs:{name:null,value:null}},pre:$r,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:$r,rt:$r,ruby:$r,samp:$r,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:E1e}},section:$r,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:$r,source:{attrs:{src:null,type:null,media:null}},span:$r,strong:$r,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:$r,summary:$r,sup:$r,table:$r,tbody:$r,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:$r,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:$r,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:$r,time:{attrs:{datetime:null}},title:$r,tr:$r,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:$r,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:$r},Kdt={accesskey:null,class:null,contenteditable:wf,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:wf,autocorrect:wf,autocapitalize:wf,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":wf,"aria-autocomplete":["inline","list","both","none"],"aria-busy":wf,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":wf,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":wf,"aria-hidden":wf,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":wf,"aria-multiselectable":wf,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":wf,"aria-relevant":null,"aria-required":wf,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Jdt="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(t=>"on"+t);for(let t of Jdt)Kdt[t]=null;class G7{constructor(e,r){this.tags={...fHr,...e},this.globalAttrs={...Kdt,...r},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}G7.default=new G7;function o5(t,e,r=t.length){if(!e)return"";let n=e.firstChild,i=n&&n.getChild("TagName");return i?t.sliceString(i.from,Math.min(i.to,r)):""}function l5(t,e=!1){for(;t;t=t.parent)if(t.name=="Element")if(e)e=!1;else return t;return null}function ept(t,e,r){let n=r.tags[o5(t,l5(e))];return(n==null?void 0:n.children)||r.allTags}function R1e(t,e){let r=[];for(let n=l5(e);n&&!n.type.isTop;n=l5(n.parent)){let i=o5(t,n);if(i&&n.lastChild.name=="CloseTag")break;i&&r.indexOf(i)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&r.push(i)}return r}const tpt=/^[:\-\.\w\u00b7-\uffff]*$/;function rpt(t,e,r,n,i){let a=/\s*>/.test(t.sliceDoc(i,i+5))?"":">",s=l5(r,r.name=="StartTag"||r.name=="TagName");return{from:n,to:i,options:ept(t.doc,s,e).map(o=>({label:o,type:"type"})).concat(R1e(t.doc,r).map((o,l)=>({label:"/"+o,apply:"/"+o+a,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function npt(t,e,r,n){let i=/\s*>/.test(t.sliceDoc(n,n+5))?"":">";return{from:r,to:n,options:R1e(t.doc,e).map((a,s)=>({label:a,apply:a+i,type:"type",boost:99-s})),validFor:tpt}}function dHr(t,e,r,n){let i=[],a=0;for(let s of ept(t.doc,r,e))i.push({label:"<"+s,type:"type"});for(let s of R1e(t.doc,r))i.push({label:"",type:"type",boost:99-a++});return{from:n,to:n,options:i,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function pHr(t,e,r,n,i){let a=l5(r),s=a?e.tags[o5(t.doc,a)]:null,o=s&&s.attrs?Object.keys(s.attrs):[],l=s&&s.globalAttrs===!1?o:o.length?o.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:i,options:l.map(u=>({label:u,type:"property"})),validFor:tpt}}function gHr(t,e,r,n,i){var a;let s=(a=r.parent)===null||a===void 0?void 0:a.getChild("AttributeName"),o=[],l;if(s){let u=t.sliceDoc(s.from,s.to),h=e.globalAttrs[u];if(!h){let f=l5(r),d=f?e.tags[o5(t.doc,f)]:null;h=(d==null?void 0:d.attrs)&&d.attrs[u]}if(h){let f=t.sliceDoc(n,i).toLowerCase(),d='"',p='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,d="",p=t.sliceDoc(i,i+1)==f[0]?"":f[0],f=f.slice(1),n++):l=/^[^\s<>='"]*$/;for(let g of h)o.push({label:g,apply:d+g+p,type:"constant"})}}return{from:n,to:i,options:o,validFor:l}}function ipt(t,e){let{state:r,pos:n}=e,i=ha(r).resolveInner(n,-1),a=i.resolve(n);for(let s=n,o;a==i&&(o=i.childBefore(s));){let l=o.lastChild;if(!l||!l.type.isError||l.fromipt(n,i)}const yHr=F0.parser.configure({top:"SingleExpression"}),apt=[{tag:"script",attrs:t=>t.type=="text/typescript"||t.lang=="ts",parser:$ft.parser},{tag:"script",attrs:t=>t.type=="text/babel"||t.type=="text/jsx",parser:Fft.parser},{tag:"script",attrs:t=>t.type=="text/typescript-jsx",parser:zft.parser},{tag:"script",attrs(t){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(t.type)},parser:yHr},{tag:"script",attrs(t){return!t.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(t.type)},parser:F0.parser},{tag:"style",attrs(t){return(!t.lang||t.lang=="css")&&(!t.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(t.type))},parser:iX.parser}],spt=[{name:"style",parser:iX.parser.configure({top:"Styles"})}].concat(Jdt.map(t=>({name:t,parser:F0.parser}))),opt=ly.define({name:"html",parser:RYr.configure({props:[uy.add({Element(t){let e=/^(\s*)(<\/)?/.exec(t.textAfter);return t.node.to<=t.pos+e[0].length?t.continue():t.lineIndent(t.node.from)+(e[2]?0:t.unit)},"OpenTag CloseTag SelfClosingTag"(t){return t.column(t.node.from)+t.unit},Document(t){if(t.pos+/\s*/.exec(t.textAfter)[0].lengtht.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),aX=opt.configure({wrap:Qdt(apt,spt)});function bHr(t={}){let e="",r;t.matchClosingTags===!1&&(e="noMatch"),t.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(t.nestedLanguages&&t.nestedLanguages.length||t.nestedAttributes&&t.nestedAttributes.length)&&(r=Qdt((t.nestedLanguages||[]).concat(apt),(t.nestedAttributes||[]).concat(spt)));let n=r?opt.configure({wrap:r,dialect:e}):e?aX.configure({dialect:e}):aX;return new mx(n,[aX.data.of({autocomplete:vHr(t)}),t.autoCloseTags!==!1?xHr:[],s1e().support,hHr().support])}const lpt=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),xHr=sr.inputHandler.of((t,e,r,n,i)=>{if(t.composing||t.state.readOnly||e!=r||n!=">"&&n!="/"||!aX.isActiveAt(t.state,e,-1))return!1;let a=i(),{state:s}=a,o=s.changeByRange(l=>{var u,h,f;let d=s.doc.sliceString(l.from-1,l.to)==n,{head:p}=l,g=ha(s).resolveInner(p,-1),m;if(d&&n==">"&&g.name=="EndTag"){let v=g.parent;if(((h=(u=v.parent)===null||u===void 0?void 0:u.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=o5(s.doc,v.parent,p))&&!lpt.has(m)){let y=p+(s.doc.sliceString(p,p+1)===">"?1:0),b=``;return{range:l,changes:{from:p,to:y,insert:b}}}}else if(d&&n=="/"&&g.name=="IncompleteCloseTag"){let v=g.parent;if(g.from==p-2&&((f=v.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(m=o5(s.doc,v,p))&&!lpt.has(m)){let y=p+(s.doc.sliceString(p,p+1)===">"?1:0),b=`${m}>`;return{range:bt.cursor(p+b.length,-1),changes:{from:p,to:y,insert:b}}}}return{range:l}});return o.changes.empty?!1:(t.dispatch([a,s.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),upt=Bq({commentTokens:{block:{open:""}}}),cpt=new On,hpt=MGr.configure({props:[cy.add(t=>!t.is("Block")||t.is("Document")||D1e(t)!=null||THr(t)?void 0:(e,r)=>({from:r.doc.lineAt(e.from).to,to:e.to})),cpt.add(D1e),uy.add({Document:()=>null}),px.add({Document:upt})]});function D1e(t){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(t.name);return e?+e[1]:void 0}function THr(t){return t.name=="OrderedList"||t.name=="BulletList"}function wHr(t,e){let r=t;for(;;){let n=r.nextSibling,i;if(!n||(i=D1e(n.type))!=null&&i<=e)break;r=n}return r.to}const AHr=Rht.of((t,e,r)=>{for(let n=ha(t).resolveInner(r,-1);n&&!(n.fromr)return{from:r,to:a}}return null});function L1e(t){return new bf(upt,t,[],"markdown")}const SHr=L1e(hpt),sX=L1e(hpt.configure([UGr,YGr,GGr,HGr,{props:[cy.add({Table:(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}]));function OHr(t,e){return r=>{if(r&&t){let n=null;if(r=/\S*/.exec(r)[0],typeof t=="function"?n=t(r):n=$q.matchLanguageName(t,r,!0),n instanceof $q)return n.support?n.support.language.parser:VA.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}let M1e=class{constructor(e,r,n,i,a,s,o){this.node=e,this.from=r,this.to=n,this.spaceBefore=i,this.spaceAfter=a,this.type=s,this.item=o}blank(e,r=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length0;i--)n+=" ";return n+(r?this.spaceAfter:"")}}marker(e,r){let n=this.node.name=="OrderedList"?String(+dpt(this.item,e)[2]+r):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function fpt(t,e){let r=[],n=[];for(let i=t;i;i=i.parent){if(i.name=="FencedCode")return n;(i.name=="ListItem"||i.name=="Blockquote")&&r.push(i)}for(let i=r.length-1;i>=0;i--){let a=r[i],s,o=e.lineAt(a.from),l=a.from-o.from;if(a.name=="Blockquote"&&(s=/^ *>( ?)/.exec(o.text.slice(l))))n.push(new M1e(a,l,l+s[0].length,"",s[1],">",null));else if(a.name=="ListItem"&&a.parent.name=="OrderedList"&&(s=/^( *)\d+([.)])( *)/.exec(o.text.slice(l)))){let u=s[3],h=s[0].length;u.length>=4&&(u=u.slice(0,u.length-4),h-=4),n.push(new M1e(a.parent,l,l+h,s[1],u,s[2],a))}else if(a.name=="ListItem"&&a.parent.name=="BulletList"&&(s=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(o.text.slice(l)))){let u=s[4],h=s[0].length;u.length>4&&(u=u.slice(0,u.length-4),h-=4);let f=s[2];s[3]&&(f+=s[3].replace(/[xX]/," ")),n.push(new M1e(a.parent,l,l+h,s[1],u,f,a))}}return n}function dpt(t,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(t.from,t.from+10))}function I1e(t,e,r,n=0){for(let i=-1,a=t;;){if(a.name=="ListItem"){let o=dpt(a,e),l=+o[2];if(i>=0){if(l!=i+1)return;r.push({from:a.from+o[1].length,to:a.from+o[0].length,insert:String(i+2+n)})}i=l}let s=a.nextSibling;if(!s)break;a=s}}function P1e(t,e){let r=/^[ \t]*/.exec(t)[0].length;if(!r||e.facet(J_)!=" ")return t;let n=$p(t,4,r),i="";for(let a=n;a>0;)a>=4?(i+=" ",a-=4):(i+=" ",a--);return i+t.slice(r)}const CHr=((t={})=>({state:e,dispatch:r})=>{let n=ha(e),{doc:i}=e,a=null,s=e.changeByRange(o=>{if(!o.empty||!sX.isActiveAt(e,o.from,-1)&&!sX.isActiveAt(e,o.from,1))return a={range:o};let l=o.from,u=i.lineAt(l),h=fpt(n.resolveInner(l,-1),i);for(;h.length&&h[h.length-1].from>l-u.from;)h.pop();if(!h.length)return a={range:o};let f=h[h.length-1];if(f.to-f.spaceAfter.length>l-u.from)return a={range:o};let d=l>=f.to-f.spaceAfter.length&&!/\S/.test(u.text.slice(f.to));if(f.item&&d){let y=f.node.firstChild,b=f.node.getChild("ListItem","ListItem");if(y.to>=l||b&&b.to0&&!/[^\s>]/.test(i.lineAt(u.from-1).text)||t.nonTightLists===!1){let x=h.length>1?h[h.length-2]:null,T,w="";x&&x.item?(T=u.from+x.from,w=x.marker(i,1)):T=u.from+(x?x.to:0);let A=[{from:T,to:l,insert:w}];return f.node.name=="OrderedList"&&I1e(f.item,i,A,-2),x&&x.node.name=="OrderedList"&&I1e(x.item,i,A),{range:bt.cursor(T+w.length),changes:A}}else{let x=gpt(h,e,u);return{range:bt.cursor(l+x.length+1),changes:{from:u.from,insert:x+e.lineBreak}}}}if(f.node.name=="Blockquote"&&d&&u.from){let y=i.lineAt(u.from-1),b=/>\s*$/.exec(y.text);if(b&&b.index==f.from){let x=e.changes([{from:y.from+b.index,to:y.to},{from:u.from+f.from,to:u.to}]);return{range:o.map(x),changes:x}}}let p=[];f.node.name=="OrderedList"&&I1e(f.item,i,p);let g=f.item&&f.item.from]*/.exec(u.text)[0].length>=f.to)for(let y=0,b=h.length-1;y<=b;y++)m+=y==b&&!g?h[y].marker(i,1):h[y].blank(yu.from&&/\s/.test(u.text.charAt(v-u.from-1));)v--;return m=P1e(m,e),EHr(f.node,e.doc)&&(m=gpt(h,e,u)+e.lineBreak+m),p.push({from:v,to:l,insert:e.lineBreak+m}),{range:bt.cursor(v+m.length+1),changes:p}});return a?!1:(r(e.update(s,{scrollIntoView:!0,userEvent:"input"})),!0)})();function ppt(t){return t.name=="QuoteMark"||t.name=="ListMark"}function EHr(t,e){if(t.name!="OrderedList"&&t.name!="BulletList")return!1;let r=t.firstChild,n=t.getChild("ListItem","ListItem");if(!n)return!1;let i=e.lineAt(r.to),a=e.lineAt(n.from),s=/^[\s>]*$/.test(i.text);return i.number+(s?0:1){let r=ha(t),n=null,i=t.changeByRange(a=>{let s=a.from,{doc:o}=t;if(a.empty&&sX.isActiveAt(t,a.from)){let l=o.lineAt(s),u=fpt(kHr(r,s),o);if(u.length){let h=u[u.length-1],f=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(s-l.from>f&&!/\S/.test(l.text.slice(f,s-l.from)))return{range:bt.cursor(l.from+f),changes:{from:l.from+f,to:s}};if(s-l.from==f&&(h.item&&l.from<=h.item.from||/^[\s>]*$/.test(l.text.slice(0,h.to)))){let d=l.from+h.from;if(h.item&&h.node.from{var r;let{main:n}=e.state.selection;if(n.empty)return!1;let i=(r=t.clipboardData)===null||r===void 0?void 0:r.getData("text/plain");if(!i||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(i)||(/^www\./.test(i)&&(i="https://"+i),!sX.isActiveAt(e.state,n.from,1)))return!1;let a=ha(e.state),s=!1;return a.iterate({from:n.from,to:n.to,enter:o=>{(o.from>n.from||MHr.test(o.name))&&(s=!0)},leave:o=>{o.to=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}const IWr=new io((t,e)=>{let r;if(t.next<0)t.acceptToken($Hr);else if(e.context.flags&lX)z1e(t.next)&&t.acceptToken(BHr,1);else if(((r=t.peek(-1))<0||z1e(r))&&e.canShift(bpt)){let n=0;for(;t.next==B1e||t.next==oX;)t.advance(),n++;(t.next==qA||t.next==Y7||t.next==$1e)&&t.acceptToken(bpt,-n)}else z1e(t.next)&&t.acceptToken(NHr,1)},{contextual:!0}),PWr=new io((t,e)=>{let r=e.context;if(r.flags)return;let n=t.peek(-1);if(n==qA||n==Y7){let i=0,a=0;for(;;){if(t.next==B1e)i++;else if(t.next==oX)i+=8-i%8;else break;t.advance(),a++}i!=r.indent&&t.next!=qA&&t.next!=Y7&&t.next!=$1e&&(i[t,e|Ept])),$Wr=new Hq({start:NWr,reduce(t,e,r,n){return t.flags&lX&&MWr.has(e)||(e==tWr||e==wpt)&&t.flags&Ept?t.parent:t},shift(t,e,r,n){return e==vpt?new uX(t,BWr(n.read(n.pos,r.pos)),0):e==ypt?t.parent:e==QHr||e==YHr||e==qHr||e==xpt?new uX(t,0,lX):kpt.has(e)?new uX(t,0,kpt.get(e)|t.flags&lX):t},hash(t){return t.hash}}),FWr=new io(t=>{for(let e=0;e<5;e++){if(t.next!="print".charCodeAt(e))return;t.advance()}if(!/\w/.test(String.fromCharCode(t.next)))for(let e=0;;e++){let r=t.peek(e);if(!(r==B1e||r==oX)){r!=CWr&&r!=EWr&&r!=qA&&r!=Y7&&r!=$1e&&t.acceptToken(PHr);return}}}),zWr=new io((t,e)=>{let{flags:r}=e.context,n=r&py?Opt:Spt,i=(r&gy)>0,a=!(r&my),s=(r&vy)>0,o=t.pos;for(;!(t.next<0);)if(s&&t.next==F1e)if(t.peek(1)==F1e)t.advance(2);else{if(t.pos==o){t.acceptToken(xpt,1);return}break}else if(a&&t.next==Cpt){if(t.pos==o){t.advance();let l=t.next;l>=0&&(t.advance(),QWr(t,l)),t.acceptToken(zHr);return}break}else if(t.next==Cpt&&!a&&t.peek(1)>-1)t.advance(2);else if(t.next==n&&(!i||t.peek(1)==n&&t.peek(2)==n)){if(t.pos==o){t.acceptToken(Tpt,i?3:1);return}break}else if(t.next==qA){if(i)t.advance();else if(t.pos==o){t.acceptToken(Tpt);return}break}else t.advance();t.pos>o&&t.acceptToken(FHr)});function QWr(t,e){if(e==kWr)for(let r=0;r<2&&t.next>=48&&t.next<=55;r++)t.advance();else if(e==_Wr)for(let r=0;r<2&&Q1e(t.next);r++)t.advance();else if(e==DWr)for(let r=0;r<4&&Q1e(t.next);r++)t.advance();else if(e==LWr)for(let r=0;r<8&&Q1e(t.next);r++)t.advance();else if(e==RWr&&t.next==F1e){for(t.advance();t.next>=0&&t.next!=Apt&&t.next!=Spt&&t.next!=Opt&&t.next!=qA;)t.advance();t.next==Apt&&t.advance()}}const VWr=oy({'async "*" "**" FormatConversion FormatSpec':Ee.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":Ee.controlKeyword,"in not and or is del":Ee.operatorKeyword,"from def class global nonlocal lambda":Ee.definitionKeyword,import:Ee.moduleKeyword,"with as print":Ee.keyword,Boolean:Ee.bool,None:Ee.null,VariableName:Ee.variableName,"CallExpression/VariableName":Ee.function(Ee.variableName),"FunctionDefinition/VariableName":Ee.function(Ee.definition(Ee.variableName)),"ClassDefinition/VariableName":Ee.definition(Ee.className),PropertyName:Ee.propertyName,"CallExpression/MemberExpression/PropertyName":Ee.function(Ee.propertyName),Comment:Ee.lineComment,Number:Ee.number,String:Ee.string,FormatString:Ee.special(Ee.string),Escape:Ee.escape,UpdateOp:Ee.updateOperator,"ArithOp!":Ee.arithmeticOperator,BitOp:Ee.bitwiseOperator,CompareOp:Ee.compareOperator,AssignOp:Ee.definitionOperator,Ellipsis:Ee.punctuation,At:Ee.meta,"( )":Ee.paren,"[ ]":Ee.squareBracket,"{ }":Ee.brace,".":Ee.derefOperator,", ;":Ee.separator}),UWr={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},GWr=hy.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[FWr,PWr,IWr,zWr,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:t=>UWr[t]||-1}],tokenPrec:7668}),_pt=new lve,Rpt=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function cX(t){return(e,r,n)=>{if(n)return!1;let i=e.node.getChild("VariableName");return i&&r(i,t),!0}}const YWr={FunctionDefinition:cX("function"),ClassDefinition:cX("class"),ForStatement(t,e,r){if(r){for(let n=t.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(t,e){var r,n;let{node:i}=t,a=((r=i.firstChild)===null||r===void 0?void 0:r.name)=="from";for(let s=i.getChild("import");s;s=s.nextSibling)s.name=="VariableName"&&((n=s.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(s,a?"variable":"namespace")},AssignStatement(t,e){for(let r=t.node.firstChild;r;r=r.nextSibling)if(r.name=="VariableName")e(r,"variable");else if(r.name==":"||r.name=="AssignOp")break},ParamList(t,e){for(let r=null,n=t.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!r||!/\*|AssignOp/.test(r.name))&&e(n,"variable"),r=n},CapturePattern:cX("variable"),AsPattern:cX("variable"),__proto__:null};function Dpt(t,e){let r=_pt.get(e);if(r)return r;let n=[],i=!0;function a(s,o){let l=t.sliceString(s.from,s.to);n.push({label:l,type:o})}return e.cursor(Ui.IncludeAnonymous).iterate(s=>{if(s.name){let o=YWr[s.name];if(o&&o(s,a,i)||!i&&Rpt.has(s.name))return!1;i=!1}else if(s.to-s.from>8192){for(let o of Dpt(t,s.node))n.push(o);return!1}}),_pt.set(e,n),n}const Lpt=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Mpt=["String","FormatString","Comment","PropertyName"];function HWr(t){let e=ha(t.state).resolveInner(t.pos,-1);if(Mpt.indexOf(e.name)>-1)return null;let r=e.name=="VariableName"||e.to-e.from<20&&Lpt.test(t.state.sliceDoc(e.from,e.to));if(!r&&!t.explicit)return null;let n=[];for(let i=e;i;i=i.parent)Rpt.has(i.name)&&(n=n.concat(Dpt(t.state.doc,i)));return{options:n,from:r?e.from:t.pos,validFor:Lpt}}const WWr=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(t=>({label:t,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(t=>({label:t,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(t=>({label:t,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(t=>({label:t,type:"function"}))),qWr=[vs("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),vs("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),vs("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),vs("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),vs(`if \${}: - + `,{label:"if",detail:"block",type:"keyword"}),vs("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),vs("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),vs("import ${module}",{label:"import",detail:"statement",type:"keyword"}),vs("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],XWr=dft(Mpt,qye(WWr.concat(qWr)));function V1e(t){let{node:e,pos:r}=t,n=t.lineIndent(r,-1),i=null;for(;;){let a=e.childBefore(r);if(a)if(a.name=="Comment")r=a.from;else if(a.name=="Body"||a.name=="MatchBody")t.baseIndentFor(a)+t.unit<=n&&(i=a),e=a;else if(a.name=="MatchClause")e=a;else if(a.type.is("Statement"))e=a;else break;else break}return i}function U1e(t,e){let r=t.baseIndentFor(e),n=t.lineAt(t.pos,-1),i=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&t.node.tor?null:r+t.unit}const G1e=ly.define({name:"python",parser:GWr.configure({props:[uy.add({Body:t=>{var e;let r=/^\s*(#|$)/.test(t.textAfter)&&V1e(t)||t.node;return(e=U1e(t,r))!==null&&e!==void 0?e:t.continue()},MatchBody:t=>{var e;let r=V1e(t);return(e=U1e(t,r||t.node))!==null&&e!==void 0?e:t.continue()},IfStatement:t=>/^\s*(else:|elif )/.test(t.textAfter)?t.baseIndent:t.continue(),"ForStatement WhileStatement":t=>/^\s*else:/.test(t.textAfter)?t.baseIndent:t.continue(),TryStatement:t=>/^\s*(except[ :]|finally:|else:)/.test(t.textAfter)?t.baseIndent:t.continue(),MatchStatement:t=>/^\s*case /.test(t.textAfter)?t.baseIndent+t.unit:t.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":e5({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":e5({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":e5({closing:"]"}),MemberExpression:t=>t.baseIndent+t.unit,"String FormatString":()=>null,Script:t=>{var e;let r=V1e(t);return(e=r&&U1e(t,r))!==null&&e!==void 0?e:t.continue()}}),cy.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":E7,Body:(t,e)=>({from:t.from+1,to:t.to-(t.to==e.doc.length?0:1)}),"String FormatString":(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function jWr(){return new mx(G1e,[G1e.data.of({autocomplete:HWr}),G1e.data.of({autocomplete:XWr})])}const u5=63,Ipt=64,ZWr=1,KWr=2,Ppt=3,JWr=4,Npt=5,eqr=6,tqr=7,Bpt=65,rqr=66,nqr=8,iqr=9,aqr=10,sqr=11,oqr=12,$pt=13,lqr=19,uqr=20,cqr=29,hqr=33,fqr=34,dqr=47,pqr=0,Y1e=1,H1e=2,H7=3,W1e=4;class XA{constructor(e,r,n){this.parent=e,this.depth=r,this.type=n,this.hash=(e?e.hash+e.hash<<8:0)+r+(r<<4)+n}}XA.top=new XA(null,-1,pqr);function W7(t,e){for(let r=0,n=e-t.pos-1;;n--,r++){let i=t.peek(n);if(yy(i)||i==-1)return r}}function q1e(t){return t==32||t==9}function yy(t){return t==10||t==13}function Fpt(t){return q1e(t)||yy(t)}function jA(t){return t<0||Fpt(t)}const gqr=new Hq({start:XA.top,reduce(t,e){return t.type==H7&&(e==uqr||e==fqr)?t.parent:t},shift(t,e,r,n){if(e==Ppt)return new XA(t,W7(n,n.pos),Y1e);if(e==Bpt||e==Npt)return new XA(t,W7(n,n.pos),H1e);if(e==u5)return t.parent;if(e==lqr||e==hqr)return new XA(t,0,H7);if(e==$pt&&t.type==W1e)return t.parent;if(e==dqr){let i=/[1-9]/.exec(n.read(n.pos,r.pos));if(i)return new XA(t,t.depth+ +i[0],W1e)}return t},hash(t){return t.hash}});function c5(t,e,r=0){return t.peek(r)==e&&t.peek(r+1)==e&&t.peek(r+2)==e&&jA(t.peek(r+3))}const mqr=new io((t,e)=>{if(t.next==-1&&e.canShift(Ipt))return t.acceptToken(Ipt);let r=t.peek(-1);if((yy(r)||r<0)&&e.context.type!=H7){if(c5(t,45))if(e.canShift(u5))t.acceptToken(u5);else return t.acceptToken(ZWr,3);if(c5(t,46))if(e.canShift(u5))t.acceptToken(u5);else return t.acceptToken(KWr,3);let n=0;for(;t.next==32;)n++,t.advance();(n{if(e.context.type==H7){t.next==63&&(t.advance(),jA(t.next)&&t.acceptToken(tqr));return}if(t.next==45)t.advance(),jA(t.next)&&t.acceptToken(e.context.type==Y1e&&e.context.depth==W7(t,t.pos-1)?JWr:Ppt);else if(t.next==63)t.advance(),jA(t.next)&&t.acceptToken(e.context.type==H1e&&e.context.depth==W7(t,t.pos-1)?eqr:Npt);else{let r=t.pos;for(;;)if(q1e(t.next)){if(t.pos==r)return;t.advance()}else if(t.next==33)Vpt(t);else if(t.next==38)X1e(t);else if(t.next==42){X1e(t);break}else if(t.next==39||t.next==34){if(j1e(t,!0))break;return}else if(t.next==91||t.next==123){if(!bqr(t))return;break}else{Upt(t,!0,!1,0);break}for(;q1e(t.next);)t.advance();if(t.next==58){if(t.pos==r&&e.canShift(cqr))return;let n=t.peek(1);jA(n)&&t.acceptTokenTo(e.context.type==H1e&&e.context.depth==W7(t,r)?rqr:Bpt,r)}}},{contextual:!0});function yqr(t){return t>32&&t<127&&t!=34&&t!=37&&t!=44&&t!=60&&t!=62&&t!=92&&t!=94&&t!=96&&t!=123&&t!=124&&t!=125}function zpt(t){return t>=48&&t<=57||t>=97&&t<=102||t>=65&&t<=70}function Qpt(t,e){return t.next==37?(t.advance(),zpt(t.next)&&t.advance(),zpt(t.next)&&t.advance(),!0):yqr(t.next)||e&&t.next==44?(t.advance(),!0):!1}function Vpt(t){if(t.advance(),t.next==60){for(t.advance();;)if(!Qpt(t,!0)){t.next==62&&t.advance();break}}else for(;Qpt(t,!1););}function X1e(t){for(t.advance();!jA(t.next)&&hX(t.next)!="f";)t.advance()}function j1e(t,e){let r=t.next,n=!1,i=t.pos;for(t.advance();;){let a=t.next;if(a<0)break;if(t.advance(),a==r)if(a==39)if(t.next==39)t.advance();else break;else break;else if(a==92&&r==34)t.next>=0&&t.advance();else if(yy(a)){if(e)return!1;n=!0}else if(e&&t.pos>=i+1024)return!1}return!n}function bqr(t){for(let e=[],r=t.pos+1024;;)if(t.next==91||t.next==123)e.push(t.next),t.advance();else if(t.next==39||t.next==34){if(!j1e(t,!0))return!1}else if(t.next==93||t.next==125){if(e[e.length-1]!=t.next-2)return!1;if(e.pop(),t.advance(),!e.length)return!0}else{if(t.next<0||t.pos>r||yy(t.next))return!1;t.advance()}}const xqr="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function hX(t){return t<33?"u":t>125?"s":xqr[t-33]}function Z1e(t,e){let r=hX(t);return r!="u"&&!(e&&r=="f")}function Upt(t,e,r,n){if(hX(t.next)=="s"||(t.next==63||t.next==58||t.next==45)&&Z1e(t.peek(1),r))t.advance();else return!1;let i=t.pos;for(;;){let a=t.next,s=0,o=n+1;for(;Fpt(a);){if(yy(a)){if(e)return!1;o=0}else o++;a=t.peek(++s)}if(!(a>=0&&(a==58?Z1e(t.peek(s+1),r):a==35?t.peek(s-1)!=32:Z1e(a,r)))||!r&&o<=n||o==0&&!r&&(c5(t,45,s)||c5(t,46,s)))break;if(e&&hX(a)=="f")return!1;for(let u=s;u>=0;u--)t.advance();if(e&&t.pos>i+1024)return!1}return!0}const Tqr=new io((t,e)=>{if(t.next==33)Vpt(t),t.acceptToken(oqr);else if(t.next==38||t.next==42){let r=t.next==38?aqr:sqr;X1e(t),t.acceptToken(r)}else t.next==39||t.next==34?(j1e(t,!1),t.acceptToken(iqr)):Upt(t,!1,e.context.type==H7,e.context.depth)&&t.acceptToken(nqr)}),wqr=new io((t,e)=>{let r=e.context.type==W1e?e.context.depth:-1,n=t.pos;e:for(;;){let i=0,a=t.next;for(;a==32;)a=t.peek(++i);if(!i&&(c5(t,45,i)||c5(t,46,i))||!yy(a)&&(r<0&&(r=Math.max(e.context.depth+1,i)),iYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:gqr,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[Aqr],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[mqr,vqr,Tqr,wqr,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),Oqr=ly.define({name:"yaml",parser:Sqr.configure({props:[uy.add({Stream:t=>{for(let e=t.node.resolve(t.pos,-1);e&&e.to>=t.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromt.pos)return null}}return null},FlowMapping:e5({closing:"}"}),FlowSequence:e5({closing:"]"})}),cy.add({"FlowMapping FlowSequence":E7,"Item Pair BlockLiteral":(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function Cqr(){return new mx(Oqr)}function Eqr(t){Gpt(t,"start");var e={},r=t.languageData||{},n=!1;for(var i in t)if(i!=r&&t.hasOwnProperty(i))for(var a=e[i]=[],s=t[i],o=0;o2&&s.token&&typeof s.token!="string"){r.pending=[];for(var u=2;u-1)return null;var i=r.indent.length-1,a=t[r.state];e:for(;;){for(var s=0;s{let{state:e}=t,r=e.doc.lineAt(e.selection.main.from),n=ebe(t.state,r.from);return n.line?Uqr(t):n.block?Yqr(t):!1};function J1e(t,e){return({state:r,dispatch:n})=>{if(r.readOnly)return!1;let i=t(e,r);return i?(n(r.update(i)),!0):!1}}const Uqr=J1e(qqr,0),Gqr=J1e(Xpt,0),Yqr=J1e((t,e)=>Xpt(t,e,Wqr(e)),0);function ebe(t,e){let r=t.languageDataAt("commentTokens",e,1);return r.length?r[0]:{}}const q7=50;function Hqr(t,{open:e,close:r},n,i){let a=t.sliceDoc(n-q7,n),s=t.sliceDoc(i,i+q7),o=/\s*$/.exec(a)[0].length,l=/^\s*/.exec(s)[0].length,u=a.length-o;if(a.slice(u-e.length,u)==e&&s.slice(l,l+r.length)==r)return{open:{pos:n-o,margin:o&&1},close:{pos:i+l,margin:l&&1}};let h,f;i-n<=2*q7?h=f=t.sliceDoc(n,i):(h=t.sliceDoc(n,n+q7),f=t.sliceDoc(i-q7,i));let d=/^\s*/.exec(h)[0].length,p=/\s*$/.exec(f)[0].length,g=f.length-p-r.length;return h.slice(d,d+e.length)==e&&f.slice(g,g+r.length)==r?{open:{pos:n+d+e.length,margin:/\s/.test(h.charAt(d+e.length))?1:0},close:{pos:i-p-r.length,margin:/\s/.test(f.charAt(g-1))?1:0}}:null}function Wqr(t){let e=[];for(let r of t.selection.ranges){let n=t.doc.lineAt(r.from),i=r.to<=n.to?n:t.doc.lineAt(r.to);i.from>n.from&&i.from==r.to&&(i=r.to==n.to+1?n:t.doc.lineAt(r.to-1));let a=e.length-1;a>=0&&e[a].to>n.from?e[a].to=i.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:i.to})}return e}function Xpt(t,e,r=e.selection.ranges){let n=r.map(a=>ebe(e,a.from).block);if(!n.every(a=>a))return null;let i=r.map((a,s)=>Hqr(e,n[s],a.from,a.to));if(t!=2&&!i.every(a=>a))return{changes:e.changes(r.map((a,s)=>i[s]?[]:[{from:a.from,insert:n[s].open+" "},{from:a.to,insert:" "+n[s].close}]))};if(t!=1&&i.some(a=>a)){let a=[];for(let s=0,o;si&&(a==s||s>f.from)){i=f.from;let d=/^\s*/.exec(f.text)[0].length,p=d==f.length,g=f.text.slice(d,d+u.length)==u?d:-1;da.comment<0&&(!a.empty||a.single))){let a=[];for(let{line:o,token:l,indent:u,empty:h,single:f}of n)(f||!h)&&a.push({from:o.from+u,insert:l+" "});let s=e.changes(a);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&n.some(a=>a.comment>=0)){let a=[];for(let{line:s,comment:o,token:l}of n)if(o>=0){let u=s.from+o,h=u+l.length;s.text[h-s.from]==" "&&h++,a.push({from:u,to:h})}return{changes:a}}return null}const tbe=_0.define(),Xqr=_0.define(),jqr=br.define(),jpt=br.define({combine(t){return R0(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,r)=>r},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,r)=>(n,i)=>e(n,i)||r(n,i)})}}),Zpt=nu.define({create(){return z0.empty},update(t,e){let r=e.state.facet(jpt),n=e.annotation(tbe);if(n){let l=Th.fromTransaction(e,n.selection),u=n.side,h=u==0?t.undone:t.done;return l?h=dX(h,h.length,r.minDepth,l):h=egt(h,e.startState.selection),new z0(u==0?n.rest:h,u==0?h:n.rest)}let i=e.annotation(Xqr);if((i=="full"||i=="before")&&(t=t.isolate()),e.annotation(Oo.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let a=Th.fromTransaction(e),s=e.annotation(Oo.time),o=e.annotation(Oo.userEvent);return a?t=t.addChanges(a,s,o,r,e):e.selection&&(t=t.addSelection(e.startState.selection,s,o,r.newGroupDelay)),(i=="full"||i=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new z0(t.done.map(Th.fromJSON),t.undone.map(Th.fromJSON))}});function Zqr(t={}){return[Zpt,jpt.of(t),sr.domEventHandlers({beforeinput(e,r){let n=e.inputType=="historyUndo"?Kpt:e.inputType=="historyRedo"?rbe:null;return n?(e.preventDefault(),n(r)):!1}})]}function fX(t,e){return function({state:r,dispatch:n}){if(!e&&r.readOnly)return!1;let i=r.field(Zpt,!1);if(!i)return!1;let a=i.pop(t,r,e);return a?(n(a),!0):!1}}const Kpt=fX(0,!1),rbe=fX(1,!1),Kqr=fX(0,!0),Jqr=fX(1,!0);class Th{constructor(e,r,n,i,a){this.changes=e,this.effects=r,this.mapped=n,this.startSelection=i,this.selectionsAfter=a}setSelAfter(e){return new Th(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,r,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(r=this.mapped)===null||r===void 0?void 0:r.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new Th(e.changes&&Wo.fromJSON(e.changes),[],e.mapped&&k0.fromJSON(e.mapped),e.startSelection&&bt.fromJSON(e.startSelection),e.selectionsAfter.map(bt.fromJSON))}static fromTransaction(e,r){let n=Nd;for(let i of e.startState.facet(jqr)){let a=i(e);a.length&&(n=n.concat(a))}return!n.length&&e.changes.empty?null:new Th(e.changes.invert(e.startState.doc),n,void 0,r||e.startState.selection,Nd)}static selection(e){return new Th(void 0,Nd,void 0,void 0,e)}}function dX(t,e,r,n){let i=e+1>r+20?e-r-1:0,a=t.slice(i,e);return a.push(n),a}function eXr(t,e){let r=[],n=!1;return t.iterChangedRanges((i,a)=>r.push(i,a)),e.iterChangedRanges((i,a,s,o)=>{for(let l=0;l=u&&s<=h&&(n=!0)}}),n}function tXr(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((r,n)=>r.empty!=e.ranges[n].empty).length===0}function Jpt(t,e){return t.length?e.length?t.concat(e):t:e}const Nd=[],rXr=200;function egt(t,e){if(t.length){let r=t[t.length-1],n=r.selectionsAfter.slice(Math.max(0,r.selectionsAfter.length-rXr));return n.length&&n[n.length-1].eq(e)?t:(n.push(e),dX(t,t.length-1,1e9,r.setSelAfter(n)))}else return[Th.selection([e])]}function nXr(t){let e=t[t.length-1],r=t.slice();return r[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),r}function nbe(t,e){if(!t.length)return t;let r=t.length,n=Nd;for(;r;){let i=iXr(t[r-1],e,n);if(i.changes&&!i.changes.empty||i.effects.length){let a=t.slice(0,r);return a[r-1]=i,a}else e=i.mapped,r--,n=i.selectionsAfter}return n.length?[Th.selection(n)]:Nd}function iXr(t,e,r){let n=Jpt(t.selectionsAfter.length?t.selectionsAfter.map(o=>o.map(e)):Nd,r);if(!t.changes)return Th.selection(n);let i=t.changes.map(e),a=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(a):a;return new Th(i,kn.mapEffects(t.effects,e),s,t.startSelection.map(a),n)}const aXr=/^(input\.type|delete)($|\.)/;class z0{constructor(e,r,n=0,i=void 0){this.done=e,this.undone=r,this.prevTime=n,this.prevUserEvent=i}isolate(){return this.prevTime?new z0(this.done,this.undone):this}addChanges(e,r,n,i,a){let s=this.done,o=s[s.length-1];return o&&o.changes&&!o.changes.empty&&e.changes&&(!n||aXr.test(n))&&(!o.selectionsAfter.length&&r-this.prevTime0&&r-this.prevTimer.empty?t.moveByChar(r,e):pX(r,e))}function Hu(t){return t.textDirectionAt(t.state.selection.main.head)==xa.LTR}const rgt=t=>tgt(t,!Hu(t)),ngt=t=>tgt(t,Hu(t));function igt(t,e){return Gp(t,r=>r.empty?t.moveByGroup(r,e):pX(r,e))}const oXr=t=>igt(t,!Hu(t)),lXr=t=>igt(t,Hu(t));function uXr(t,e,r){if(e.type.prop(r))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function gX(t,e,r){let n=ha(t).resolveInner(e.head),i=r?On.closedBy:On.openedBy;for(let l=e.head;;){let u=r?n.childAfter(l):n.childBefore(l);if(!u)break;uXr(t,u,i)?n=u:l=r?u.to:u.from}let a=n.type.prop(i),s,o;return a&&(s=r?$0(t,n.from,1):$0(t,n.to,-1))&&s.matched?o=r?s.end.to:s.end.from:o=r?n.to:n.from,bt.cursor(o,r?-1:1)}const cXr=t=>Gp(t,e=>gX(t.state,e,!Hu(t))),hXr=t=>Gp(t,e=>gX(t.state,e,Hu(t)));function agt(t,e){return Gp(t,r=>{if(!r.empty)return pX(r,e);let n=t.moveVertically(r,e);return n.head!=r.head?n:t.moveToLineBoundary(r,e)})}const sgt=t=>agt(t,!1),ogt=t=>agt(t,!0);function lgt(t){let e=t.scrollDOM.clientHeights.empty?t.moveVertically(s,e,r.height):pX(s,e));if(i.eq(n.selection))return!1;let a;if(r.selfScroll){let s=t.coordsAtPos(n.selection.main.head),o=t.scrollDOM.getBoundingClientRect(),l=o.top+r.marginTop,u=o.bottom-r.marginBottom;s&&s.top>l&&s.bottomugt(t,!1),ibe=t=>ugt(t,!0);function yx(t,e,r){let n=t.lineBlockAt(e.head),i=t.moveToLineBoundary(e,r);if(i.head==e.head&&i.head!=(r?n.to:n.from)&&(i=t.moveToLineBoundary(e,r,!1)),!r&&i.head==n.from&&n.length){let a=/^\s*/.exec(t.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;a&&e.head!=n.from+a&&(i=bt.cursor(n.from+a))}return i}const fXr=t=>Gp(t,e=>yx(t,e,!0)),dXr=t=>Gp(t,e=>yx(t,e,!1)),pXr=t=>Gp(t,e=>yx(t,e,!Hu(t))),gXr=t=>Gp(t,e=>yx(t,e,Hu(t))),mXr=t=>Gp(t,e=>bt.cursor(t.lineBlockAt(e.head).from,1)),vXr=t=>Gp(t,e=>bt.cursor(t.lineBlockAt(e.head).to,-1));function yXr(t,e,r){let n=!1,i=h5(t.selection,a=>{let s=$0(t,a.head,-1)||$0(t,a.head,1)||a.head>0&&$0(t,a.head-1,1)||a.headyXr(t,e);function Bd(t,e,r){let n=h5(t.state.selection,i=>{i.undirectional&&i.head>=i.anchor!=e&&(i=bt.range(i.head,i.anchor));let a=r(i);return bt.range(i.anchor,a.head,a.goalColumn,a.bidiLevel||void 0,a.assoc)});return n.eq(t.state.selection)?!1:(t.dispatch(Up(t.state,n)),!0)}function hgt(t,e){return Bd(t,e,r=>t.moveByChar(r,e))}const fgt=t=>hgt(t,!Hu(t)),dgt=t=>hgt(t,Hu(t));function pgt(t,e){return Bd(t,e,r=>t.moveByGroup(r,e))}const xXr=t=>pgt(t,!Hu(t)),TXr=t=>pgt(t,Hu(t)),wXr=t=>{let e=!Hu(t);return Bd(t,e,r=>gX(t.state,r,e))},AXr=t=>{let e=Hu(t);return Bd(t,e,r=>gX(t.state,r,e))};function ggt(t,e){return Bd(t,e,r=>t.moveVertically(r,e))}const mgt=t=>ggt(t,!1),vgt=t=>ggt(t,!0);function ygt(t,e){return Bd(t,e,r=>t.moveVertically(r,e,lgt(t).height))}const bgt=t=>ygt(t,!1),xgt=t=>ygt(t,!0),SXr=t=>Bd(t,!0,e=>yx(t,e,!0)),OXr=t=>Bd(t,!1,e=>yx(t,e,!1)),CXr=t=>{let e=!Hu(t);return Bd(t,e,r=>yx(t,r,e))},EXr=t=>{let e=Hu(t);return Bd(t,e,r=>yx(t,r,e))},kXr=t=>Bd(t,!1,e=>bt.cursor(t.lineBlockAt(e.head).from)),_Xr=t=>Bd(t,!0,e=>bt.cursor(t.lineBlockAt(e.head).to)),Tgt=({state:t,dispatch:e})=>(e(Up(t,{anchor:0})),!0),wgt=({state:t,dispatch:e})=>(e(Up(t,{anchor:t.doc.length})),!0),Agt=({state:t,dispatch:e})=>(e(Up(t,{anchor:t.selection.main.anchor,head:0})),!0),Sgt=({state:t,dispatch:e})=>(e(Up(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),RXr=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),DXr=({state:t,dispatch:e})=>{let r=vX(t).map(({from:n,to:i})=>bt.range(n,Math.min(i+1,t.doc.length)));return e(t.update({selection:bt.create(r),userEvent:"select"})),!0},LXr=({state:t,dispatch:e})=>{let r=h5(t.selection,n=>{let i=ha(t),a=i.resolveStack(n.from,1);if(n.empty){let s=i.resolveStack(n.from,-1);s.node.from>=a.node.from&&s.node.to<=a.node.to&&(a=s)}for(let s=a;s;s=s.next){let{node:o}=s;if((o.from=n.to||o.to>n.to&&o.from<=n.from)&&s.next)return bt.range(o.to,o.from)}return n});return r.eq(t.selection)?!1:(e(Up(t,r)),!0)};function Ogt(t,e){let{state:r}=t,n=r.selection,i=r.selection.ranges.slice();for(let a of r.selection.ranges){let s=r.doc.lineAt(a.head);if(e?s.to0)for(let o=a;;){let l=t.moveVertically(o,e);if(l.heads.to){i.some(u=>u.head==l.head)||i.push(l);break}else{if(l.head==o.head)break;o=l}}}return i.length==n.ranges.length?!1:(t.dispatch(Up(r,bt.create(i,i.length-1))),!0)}const MXr=t=>Ogt(t,!1),IXr=t=>Ogt(t,!0),PXr=({state:t,dispatch:e})=>{let r=t.selection,n=null;return r.ranges.length>1?n=bt.create([r.main]):r.main.empty||(n=bt.create([bt.cursor(r.main.head)])),n?(e(Up(t,n)),!0):!1};function X7(t,e){if(t.state.readOnly)return!1;let r="delete.selection",{state:n}=t,i=n.changeByRange(a=>{let{from:s,to:o}=a;if(s==o){let l=e(a);ls&&(r="delete.forward",l=mX(t,l,!0)),s=Math.min(s,l),o=Math.max(o,l)}else s=mX(t,s,!1),o=mX(t,o,!0);return s==o?{range:a}:{changes:{from:s,to:o},range:bt.cursor(s,si(t)))n.between(e,e,(i,a)=>{ie&&(e=r?a:i)});return e}const Cgt=(t,e,r)=>X7(t,n=>{let i=n.from,{state:a}=t,s=a.doc.lineAt(i),o,l;if(r&&!e&&i>s.from&&iCgt(t,!1,!0),Egt=t=>Cgt(t,!0,!1),kgt=(t,e)=>X7(t,r=>{let n=r.head,{state:i}=t,a=i.doc.lineAt(n),s=i.charCategorizer(n);for(let o=null;;){if(n==(e?a.to:a.from)){n==r.head&&a.number!=(e?i.doc.lines:1)&&(n+=e?1:-1);break}let l=Sl(a.text,n-a.from,e)+a.from,u=a.text.slice(Math.min(n,l)-a.from,Math.max(n,l)-a.from),h=s(u);if(o!=null&&h!=o)break;(u!=" "||n!=r.head)&&(o=h),n=l}return n}),_gt=t=>kgt(t,!1),NXr=t=>kgt(t,!0),BXr=t=>X7(t,e=>{let r=t.lineBlockAt(e.head).to;return e.headX7(t,e=>{let r=t.moveToLineBoundary(e,!1).head;return e.head>r?r:Math.max(0,e.head-1)}),FXr=t=>X7(t,e=>{let r=t.moveToLineBoundary(e,!0).head;return e.head{if(t.readOnly)return!1;let r=t.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:Si.of(["",""])},range:bt.cursor(n.from)}));return e(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0},QXr=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let r=t.changeByRange(n=>{if(!n.empty||n.from==0||n.from==t.doc.length)return{range:n};let i=n.from,a=t.doc.lineAt(i),s=i==a.from?i-1:Sl(a.text,i-a.from,!1)+a.from,o=i==a.to?i+1:Sl(a.text,i-a.from,!0)+a.from;return{changes:{from:s,to:o,insert:t.doc.slice(i,o).append(t.doc.slice(s,i))},range:bt.cursor(o)}});return r.changes.empty?!1:(e(t.update(r,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function vX(t){let e=[],r=-1;for(let n of t.selection.ranges){let i=t.doc.lineAt(n.from),a=t.doc.lineAt(n.to);if(!n.empty&&n.to==a.from&&(a=t.doc.lineAt(n.to-1)),r>=i.number){let s=e[e.length-1];s.to=a.to,s.ranges.push(n)}else e.push({from:i.from,to:a.to,ranges:[n]});r=a.number+1}return e}function Rgt(t,e,r){if(t.readOnly)return!1;let n=[],i=[];for(let a of vX(t)){if(r?a.to==t.doc.length:a.from==0)continue;let s=t.doc.lineAt(r?a.to+1:a.from-1),o=s.length+1;if(r){n.push({from:a.to,to:s.to},{from:a.from,insert:s.text+t.lineBreak});for(let l of a.ranges)i.push(bt.range(Math.min(t.doc.length,l.anchor+o),Math.min(t.doc.length,l.head+o)))}else{n.push({from:s.from,to:a.from},{from:a.to,insert:t.lineBreak+s.text});for(let l of a.ranges)i.push(bt.range(l.anchor-o,l.head-o))}}return n.length?(e(t.update({changes:n,scrollIntoView:!0,selection:bt.create(i,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const VXr=({state:t,dispatch:e})=>Rgt(t,e,!1),UXr=({state:t,dispatch:e})=>Rgt(t,e,!0);function Dgt(t,e,r){if(t.readOnly)return!1;let n=[];for(let a of vX(t))r?n.push({from:a.from,insert:t.doc.slice(a.from,a.to)+t.lineBreak}):n.push({from:a.to,insert:t.lineBreak+t.doc.slice(a.from,a.to)});let i=t.changes(n);return e(t.update({changes:i,selection:t.selection.map(i,r?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const GXr=({state:t,dispatch:e})=>Dgt(t,e,!1),YXr=({state:t,dispatch:e})=>Dgt(t,e,!0),HXr=t=>{if(t.state.readOnly)return!1;let{state:e}=t,r=e.changes(vX(e).map(({from:i,to:a})=>(i>0?i--:a{let a;if(t.lineWrapping){let s=t.lineBlockAt(i.head),o=t.coordsAtPos(i.head,i.assoc||1);o&&(a=s.bottom+t.documentTop-o.bottom+t.defaultLineHeight/2)}return t.moveVertically(i,!0,a)}).map(r);return t.dispatch({changes:r,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function WXr(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let r=ha(t).resolveInner(e),n=r.childBefore(e),i=r.childAfter(e),a;return n&&i&&n.to<=e&&i.from>=e&&(a=n.type.prop(On.closedBy))&&a.indexOf(i.name)>-1&&t.doc.lineAt(n.to).from==t.doc.lineAt(i.from).from&&!/\S/.test(t.sliceDoc(n.to,i.from))?{from:n.to,to:i.from}:null}const Lgt=Mgt(!1),qXr=Mgt(!0);function Mgt(t){return({state:e,dispatch:r})=>{if(e.readOnly)return!1;let n=e.changeByRange(i=>{let{from:a,to:s}=i,o=e.doc.lineAt(a),l=!t&&a==s&&WXr(e,a);t&&(a=s=(s<=o.to?o:e.doc.lineAt(s)).to);let u=new Fq(e,{simulateBreak:a,simulateDoubleBreak:!!l}),h=Dye(u,a);for(h==null&&(h=$p(/^\s*/.exec(e.doc.lineAt(a).text)[0],e.tabSize));so.from&&a{let i=[];for(let s=n.from;s<=n.to;){let o=t.doc.lineAt(s);o.number>r&&(n.empty||n.to>o.from)&&(e(o,i,n),r=o.number),s=o.to+1}let a=t.changes(i);return{changes:i,range:bt.range(a.mapPos(n.anchor,1),a.mapPos(n.head,1))}})}const XXr=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let r=Object.create(null),n=new Fq(t,{overrideIndentation:a=>{let s=r[a];return s??-1}}),i=sbe(t,(a,s,o)=>{let l=Dye(n,a.from);if(l==null)return;/\S/.test(a.text)||(l=0);let u=/^\s*/.exec(a.text)[0],h=C7(t,l);(u!=h||o.fromt.readOnly?!1:(e(t.update(sbe(t,(r,n)=>{n.push({from:r.from,insert:t.facet(J_)})}),{userEvent:"input.indent"})),!0),Pgt=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(sbe(t,(r,n)=>{let i=/^\s*/.exec(r.text)[0];if(!i)return;let a=$p(i,t.tabSize),s=0,o=C7(t,Math.max(0,a-UA(t)));for(;s(t.setTabFocusMode(),!0),ZXr=[{key:"Ctrl-b",run:rgt,shift:fgt,preventDefault:!0},{key:"Ctrl-f",run:ngt,shift:dgt},{key:"Ctrl-p",run:sgt,shift:mgt},{key:"Ctrl-n",run:ogt,shift:vgt},{key:"Ctrl-a",run:mXr,shift:kXr},{key:"Ctrl-e",run:vXr,shift:_Xr},{key:"Ctrl-d",run:Egt},{key:"Ctrl-h",run:abe},{key:"Ctrl-k",run:BXr},{key:"Ctrl-Alt-h",run:_gt},{key:"Ctrl-o",run:zXr},{key:"Ctrl-t",run:QXr},{key:"Ctrl-v",run:ibe}],KXr=[{key:"ArrowLeft",run:rgt,shift:fgt,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:oXr,shift:xXr,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:pXr,shift:CXr,preventDefault:!0},{key:"ArrowRight",run:ngt,shift:dgt,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:lXr,shift:TXr,preventDefault:!0},{mac:"Cmd-ArrowRight",run:gXr,shift:EXr,preventDefault:!0},{key:"ArrowUp",run:sgt,shift:mgt,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Tgt,shift:Agt},{mac:"Ctrl-ArrowUp",run:cgt,shift:bgt},{key:"ArrowDown",run:ogt,shift:vgt,preventDefault:!0},{mac:"Cmd-ArrowDown",run:wgt,shift:Sgt},{mac:"Ctrl-ArrowDown",run:ibe,shift:xgt},{key:"PageUp",run:cgt,shift:bgt},{key:"PageDown",run:ibe,shift:xgt},{key:"Home",run:dXr,shift:OXr,preventDefault:!0},{key:"Mod-Home",run:Tgt,shift:Agt},{key:"End",run:fXr,shift:SXr,preventDefault:!0},{key:"Mod-End",run:wgt,shift:Sgt},{key:"Enter",run:Lgt,shift:Lgt},{key:"Mod-a",run:RXr},{key:"Backspace",run:abe,shift:abe,preventDefault:!0},{key:"Delete",run:Egt,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:_gt,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:NXr,preventDefault:!0},{mac:"Mod-Backspace",run:$Xr,preventDefault:!0},{mac:"Mod-Delete",run:FXr,preventDefault:!0}].concat(ZXr.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),JXr=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:cXr,shift:wXr},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:hXr,shift:AXr},{key:"Alt-ArrowUp",run:VXr},{key:"Shift-Alt-ArrowUp",run:GXr},{key:"Alt-ArrowDown",run:UXr},{key:"Shift-Alt-ArrowDown",run:YXr},{key:"Mod-Alt-ArrowUp",run:MXr},{key:"Mod-Alt-ArrowDown",run:IXr},{key:"Escape",run:PXr},{key:"Mod-Enter",run:qXr},{key:"Alt-l",mac:"Ctrl-l",run:DXr},{key:"Mod-i",run:LXr,preventDefault:!0},{key:"Mod-[",run:Pgt},{key:"Mod-]",run:Igt},{key:"Mod-Alt-\\",run:XXr},{key:"Shift-Mod-k",run:HXr},{key:"Shift-Mod-\\",run:bXr},{key:"Mod-/",run:Vqr},{key:"Alt-A",run:Gqr},{key:"Ctrl-m",mac:"Shift-Alt-m",run:jXr}].concat(KXr),ejr={key:"Tab",run:Igt,shift:Pgt},Ngt=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class f5{constructor(e,r,n=0,i=e.length,a,s){this.test=s,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,i),this.bufferStart=n,this.normalize=a?o=>a(Ngt(o)):Ngt,this.query=this.normalize(r)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return vh(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let r=fve(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=E0(e);let i=this.normalize(r);if(i.length)for(let a=0,s=n,o=!0;;a++){let l=i.charCodeAt(a),u=this.match(l,s,o,this.bufferPos+this.bufferStart,a==i.length-1);if(u)return this.value=u,this;if(a==i.length-1)break;o&&athis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let r=this.matchPos<=this.to&&this.re.exec(this.curLine);if(r){let n=this.curLineStart+r.index,i=n+r[0].length;if(this.matchPos=yX(this.text,i+(n==i?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(nthis.value.to)&&(!this.test||this.test(n,i,r)))return this.value={from:n,to:i,precise:!0,match:r},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=n||i.to<=r){let o=new d5(r,e.sliceString(r,n));return lbe.set(e,o),o}if(i.from==r&&i.to==n)return i;let{text:a,from:s}=i;return s>r&&(a=e.sliceString(r,s)+a,s=r),i.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,r=this.re.exec(this.flat.text);if(r&&!r[0]&&r.index==e&&(this.re.lastIndex=e+1,r=this.re.exec(this.flat.text)),r){let n=this.flat.from+r.index,i=n+r[0].length;if((this.flat.to>=this.to||r.index+r[0].length<=this.flat.text.length-10)&&(!this.test||this.test(n,i,r)))return this.value={from:n,to:i,precise:!0,match:r},this.matchPos=yX(this.text,i+(n==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=d5.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&($gt.prototype[Symbol.iterator]=Fgt.prototype[Symbol.iterator]=function(){return this});function tjr(t){try{return new RegExp(t,obe),!0}catch{return!1}}function yX(t,e){if(e>=t.length)return e;let r=t.lineAt(e),n;for(;e=56320&&n<57344;)e++;return e}const rjr=t=>{let{state:e}=t,r=String(e.doc.lineAt(t.state.selection.main.head).number),{close:n,result:i}=AQr(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:r},focus:!0,submitLabel:e.phrase("go")});return i.then(a=>{let s=a&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(a.elements.line.value);if(!s){t.dispatch({effects:n});return}let o=e.doc.lineAt(e.selection.main.head),[,l,u,h,f]=s,d=h?+h.slice(1):0,p=u?+u:o.number;if(u&&f){let v=p/100;l&&(v=v*(l=="-"?-1:1)+o.number/e.doc.lines),p=Math.round(e.doc.lines*v)}else u&&l&&(p=p*(l=="-"?-1:1)+o.number);let g=e.doc.line(Math.max(1,Math.min(e.doc.lines,p))),m=bt.cursor(g.from+Math.max(0,Math.min(d,g.length)));t.dispatch({effects:[n,sr.scrollIntoView(m.from,{y:"center"})],selection:m})}),!0},njr={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},ijr=br.define({combine(t){return R0(t,njr,{highlightWordAroundCursor:(e,r)=>e||r,minSelectionLength:Math.min,maxMatches:Math.min})}});function ajr(t){return[cjr,ujr]}const sjr=Gr.mark({class:"cm-selectionMatch"}),ojr=Gr.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function zgt(t,e,r,n){return(r==0||t(e.sliceDoc(r-1,r))!=cs.Word)&&(n==e.doc.length||t(e.sliceDoc(n,n+1))!=cs.Word)}function ljr(t,e,r,n){return t(e.sliceDoc(r,r+1))==cs.Word&&t(e.sliceDoc(n-1,n))==cs.Word}const ujr=Bs.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(ijr),{state:r}=t,n=r.selection;if(n.ranges.length>1)return Gr.none;let i=n.main,a,s=null;if(i.empty){if(!e.highlightWordAroundCursor)return Gr.none;let l=r.wordAt(i.head);if(!l)return Gr.none;s=r.charCategorizer(i.head),a=r.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l200)return Gr.none;if(e.wholeWords){if(a=r.sliceDoc(i.from,i.to),s=r.charCategorizer(i.head),!(zgt(s,r,i.from,i.to)&&ljr(s,r,i.from,i.to)))return Gr.none}else if(a=r.sliceDoc(i.from,i.to),!a)return Gr.none}let o=[];for(let l of t.visibleRanges){let u=new f5(r.doc,a,l.from,l.to);for(;!u.next().done;){let{from:h,to:f}=u.value;if((!s||zgt(s,r,h,f))&&(i.empty&&h<=i.from&&f>=i.to?o.push(ojr.range(h,f)):(h>=i.to||f<=i.from)&&o.push(sjr.range(h,f)),o.length>e.maxMatches))return Gr.none}}return Gr.set(o)}},{decorations:t=>t.decorations}),cjr=sr.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),hjr=({state:t,dispatch:e})=>{let{selection:r}=t,n=bt.create(r.ranges.map(i=>t.wordAt(i.head)||bt.cursor(i.head)),r.mainIndex);return n.eq(r)?!1:(e(t.update({selection:n})),!0)};function fjr(t,e){let{main:r,ranges:n}=t.selection,i=t.wordAt(r.head),a=i&&i.from==r.from&&i.to==r.to;for(let s=!1,o=new f5(t.doc,e,n[n.length-1].to);;)if(o.next(),o.done){if(s)return null;o=new f5(t.doc,e,0,Math.max(0,n[n.length-1].from-1)),s=!0}else{if(s&&n.some(l=>l.from==o.value.from))continue;if(a){let l=t.wordAt(o.value.from);if(!l||l.from!=o.value.from||l.to!=o.value.to)continue}return o.value}}const djr=({state:t,dispatch:e})=>{let{ranges:r}=t.selection;if(r.some(a=>a.from===a.to))return hjr({state:t,dispatch:e});let n=t.sliceDoc(r[0].from,r[0].to);if(t.selection.ranges.some(a=>t.sliceDoc(a.from,a.to)!=n))return!1;let i=fjr(t,n);return i?(e(t.update({selection:t.selection.addRange(bt.range(i.from,i.to),!1),effects:sr.scrollIntoView(i.to)})),!0):!1},p5=br.define({combine(t){return R0(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Ejr(e),scrollToMatch:e=>sr.scrollIntoView(e)})}});class Qgt{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||tjr(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(r,n)=>n=="n"?` `:n=="r"?"\r":n=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new bjr(this):new mjr(this)}getCursor(e,r=0,n){let i=e.doc?e:fi.create({doc:e});return n==null&&(n=i.doc.length),this.regexp?m5(this,i,r,n):g5(this,i,r,n)}}class Vgt{constructor(e){this.spec=e}}function pjr(t,e,r){return(n,i,a,s)=>{if(r&&!r(n,i,a,s))return!1;let o=n>=s&&i<=s+a.length?a.slice(n-s,i-s):e.doc.sliceString(n,i);return t(o,e,n,i)}}function g5(t,e,r,n){let i;return t.wholeWord&&(i=gjr(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(i=pjr(t.test,e,i)),new f5(e.doc,t.unquoted,r,n,t.caseSensitive?void 0:a=>a.toLowerCase(),i)}function gjr(t,e){return(r,n,i,a)=>((a>r||a+i.length=r)return null;i.push(n.value)}return i}highlight(e,r,n,i){let a=g5(this.spec,e,Math.max(0,r-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!a.next().done;)i(a.value.from,a.value.to)}}function vjr(t,e,r){return(n,i,a)=>(!r||r(n,i,a))&&t(a[0],e,n,i)}function m5(t,e,r,n){let i;return t.wholeWord&&(i=yjr(e.charCategorizer(e.selection.main.head))),t.test&&(i=vjr(t.test,e,i)),new $gt(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:i},r,n)}function bX(t,e){return t.slice(Sl(t,e,!1),e)}function xX(t,e){return t.slice(e,Sl(t,e))}function yjr(t){return(e,r,n)=>!n[0].length||(t(bX(n.input,n.index))!=cs.Word||t(xX(n.input,n.index))!=cs.Word)&&(t(xX(n.input,n.index+n[0].length))!=cs.Word||t(bX(n.input,n.index+n[0].length))!=cs.Word)}class bjr extends Vgt{nextMatch(e,r,n){let i=m5(this.spec,e,n,e.doc.length).next();return i.done&&(i=m5(this.spec,e,0,r).next()),i.done?null:i.value}prevMatchInRange(e,r,n){for(let i=1;;i++){let a=Math.max(r,n-i*1e4),s=m5(this.spec,e,a,n),o=null;for(;!s.next().done;)o=s.value;if(o&&(a==r||o.from>a+10))return o;if(a==r)return null}}prevMatch(e,r,n){return this.prevMatchInRange(e,0,r)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(r,n)=>{if(n=="&")return e.match[0];if(n=="$")return"$";for(let i=n.length;i>0;i--){let a=+n.slice(0,i);if(a>0&&a=r)return null;i.push(n.value)}return i}highlight(e,r,n,i){let a=m5(this.spec,e,Math.max(0,r-250),Math.min(n+250,e.doc.length));for(;!a.next().done;)i(a.value.from,a.value.to)}}const j7=kn.define(),ube=kn.define(),bx=nu.define({create(t){return new cbe(fbe(t).create(),null)},update(t,e){for(let r of e.effects)r.is(j7)?t=new cbe(r.value.create(),t.panel):r.is(ube)&&(t=new cbe(t.query,r.value?hbe:null));return t},provide:t=>T7.from(t,e=>e.panel)});class cbe{constructor(e,r){this.query=e,this.panel=r}}const xjr=Gr.mark({class:"cm-searchMatch"}),Tjr=Gr.mark({class:"cm-searchMatch cm-searchMatch-selected"}),wjr=Bs.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(bx))}update(t){let e=t.state.field(bx);(e!=t.startState.field(bx)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return Gr.none;let{view:r}=this,n=new ry;for(let i=0,a=r.visibleRanges,s=a.length;ia[i+1].from-2*250;)l=a[++i].to;t.highlight(r.state,o,l,(u,h)=>{let f=r.state.selection.ranges.some(d=>d.from==u&&d.to==h);n.add(u,h,f?Tjr:xjr)})}return n.finish()}},{decorations:t=>t.decorations});function Z7(t){return e=>{let r=e.state.field(bx,!1);return r&&r.query.spec.valid?t(e,r):Hgt(e)}}const TX=Z7((t,{query:e})=>{let{to:r}=t.state.selection.main,n=e.nextMatch(t.state,r,r);if(!n)return!1;let i=bt.single(n.from,n.to),a=t.state.facet(p5);return t.dispatch({selection:i,effects:[dbe(t,n),a.scrollToMatch(i.main,t)],userEvent:"select.search"}),Ygt(t),!0}),wX=Z7((t,{query:e})=>{let{state:r}=t,{from:n}=r.selection.main,i=e.prevMatch(r,n,n);if(!i)return!1;let a=bt.single(i.from,i.to),s=t.state.facet(p5);return t.dispatch({selection:a,effects:[dbe(t,i),s.scrollToMatch(a.main,t)],userEvent:"select.search"}),Ygt(t),!0}),Ajr=Z7((t,{query:e})=>{let r=e.matchAll(t.state,1e3);return!r||!r.length?!1:(t.dispatch({selection:bt.create(r.map(n=>bt.range(n.from,n.to))),userEvent:"select.search.matches"}),!0)}),Sjr=({state:t,dispatch:e})=>{let r=t.selection;if(r.ranges.length>1||r.main.empty)return!1;let{from:n,to:i}=r.main,a=[],s=0;for(let o=new f5(t.doc,t.sliceDoc(n,i));!o.next().done;){if(a.length>1e3)return!1;o.value.from==n&&(s=a.length),a.push(bt.range(o.value.from,o.value.to))}return e(t.update({selection:bt.create(a,s),userEvent:"select.search.matches"})),!0},Ugt=Z7((t,{query:e})=>{let{state:r}=t,{from:n,to:i}=r.selection.main;if(r.readOnly)return!1;let a=e.nextMatch(r,n,n);if(!a)return!1;let s=a,o=[],l,u,h=[];s.precise?s.from==n&&s.to==i&&(u=r.toText(e.getReplacement(s)),o.push({from:s.from,to:s.to,insert:u}),s=e.nextMatch(r,s.from,s.to),h.push(sr.announce.of(r.phrase("replaced match on line $",r.doc.lineAt(n).number)+"."))):s=e.nextMatch(r,s.from,s.to);let f=t.state.changes(o);return s&&(l=bt.single(s.from,s.to).map(f),h.push(dbe(t,s)),h.push(r.facet(p5).scrollToMatch(l.main,t))),t.dispatch({changes:f,selection:l,effects:h,userEvent:"input.replace"}),!0}),Ojr=Z7((t,{query:e})=>{if(t.state.readOnly)return!1;let r=[];for(let i of e.matchAll(t.state,1e9)){let{from:a,to:s,precise:o}=i;o&&r.push({from:a,to:s,insert:e.getReplacement(i)})}if(!r.length)return!1;let n=t.state.phrase("replaced $ matches",r.length)+".";return t.dispatch({changes:r,effects:sr.announce.of(n),userEvent:"input.replace.all"}),!0});function hbe(t){return t.state.facet(p5).createPanel(t)}function fbe(t,e){var r,n,i,a,s;let o=t.selection.main,l=o.empty||o.to>o.from+100?"":t.sliceDoc(o.from,o.to);if(e&&!l)return e;let u=t.facet(p5);return new Qgt({search:((r=e==null?void 0:e.literal)!==null&&r!==void 0?r:u.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(n=e==null?void 0:e.caseSensitive)!==null&&n!==void 0?n:u.caseSensitive,literal:(i=e==null?void 0:e.literal)!==null&&i!==void 0?i:u.literal,regexp:(a=e==null?void 0:e.regexp)!==null&&a!==void 0?a:u.regexp,wholeWord:(s=e==null?void 0:e.wholeWord)!==null&&s!==void 0?s:u.wholeWord})}function Ggt(t){let e=Tye(t,hbe);return e&&e.dom.querySelector("[main-field]")}function Ygt(t){let e=Ggt(t);e&&e==t.root.activeElement&&e.select()}const Hgt=t=>{let e=t.state.field(bx,!1);if(e&&e.panel){let r=Ggt(t);if(r&&r!=t.root.activeElement){let n=fbe(t.state,e.query.spec);n.valid&&t.dispatch({effects:j7.of(n)}),r.focus(),r.select()}}else t.dispatch({effects:[ube.of(!0),e?j7.of(fbe(t.state,e.query.spec)):kn.appendConfig.of(_jr)]});return!0},Wgt=t=>{let e=t.state.field(bx,!1);if(!e||!e.panel)return!1;let r=Tye(t,hbe);return r&&r.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:ube.of(!1)}),!0},Cjr=[{key:"Mod-f",run:Hgt,scope:"editor search-panel"},{key:"F3",run:TX,shift:wX,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:TX,shift:wX,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Wgt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Sjr},{key:"Mod-Alt-g",run:rjr},{key:"Mod-d",run:djr,preventDefault:!0}];class Ejr{constructor(e){this.view=e;let r=this.query=e.state.field(bx).query.spec;this.commit=this.commit.bind(this),this.searchField=ca("input",{value:r.search,placeholder:Af(e,"Find"),"aria-label":Af(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=ca("input",{value:r.replace,placeholder:Af(e,"Replace"),"aria-label":Af(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=ca("input",{type:"checkbox",name:"case",form:"",checked:r.caseSensitive,onchange:this.commit}),this.reField=ca("input",{type:"checkbox",name:"re",form:"",checked:r.regexp,onchange:this.commit}),this.wordField=ca("input",{type:"checkbox",name:"word",form:"",checked:r.wholeWord,onchange:this.commit});function n(i,a,s){return ca("button",{class:"cm-button",name:i,onclick:a,type:"button"},s)}this.dom=ca("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,n("next",()=>TX(e),[Af(e,"next")]),n("prev",()=>wX(e),[Af(e,"previous")]),n("select",()=>Ajr(e),[Af(e,"all")]),ca("label",null,[this.caseField,Af(e,"match case")]),ca("label",null,[this.reField,Af(e,"regexp")]),ca("label",null,[this.wordField,Af(e,"by word")]),...e.state.readOnly?[]:[ca("br"),this.replaceField,n("replace",()=>Ugt(e),[Af(e,"replace")]),n("replaceAll",()=>Ojr(e),[Af(e,"replace all")])],ca("button",{name:"close",onclick:()=>Wgt(e),"aria-label":Af(e,"close"),type:"button"},["×"])])}commit(){let e=new Qgt({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:j7.of(e)}))}keydown(e){Lzr(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?wX:TX)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),Ugt(this.view))}update(e){for(let r of e.transactions)for(let n of r.effects)n.is(j7)&&!n.value.eq(this.query)&&this.setQuery(n.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(p5).top}}function Af(t,e){return t.state.phrase(e)}const AX=30,SX=/[\s\.,:;?!]/;function dbe(t,{from:e,to:r}){let n=t.state.doc.lineAt(e),i=t.state.doc.lineAt(r).to,a=Math.max(n.from,e-AX),s=Math.min(i,r+AX),o=t.state.sliceDoc(a,s);if(a!=n.from){for(let l=0;lo.length-AX;l--)if(!SX.test(o[l-1])&&SX.test(o[l])){o=o.slice(0,l);break}}return sr.announce.of(`${t.state.phrase("current match")}. ${o} ${t.state.phrase("on line")} ${n.number}.`)}const kjr=sr.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),_jr=[bx,ty.low(wjr),kjr];class qgt{constructor(e,r,n){this.from=e,this.to=r,this.diagnostic=n}}class ZA{constructor(e,r,n){this.diagnostics=e,this.panel=r,this.selected=n}static init(e,r,n){let i=n.facet(K7).markerFilter;i&&(e=i(e,n));let a=e.slice().sort((p,g)=>p.from-g.from||p.to-g.to),s=new ry,o=[],l=0,u=n.doc.iter(),h=0,f=n.doc.length;for(let p=0;;){let g=p==a.length?null:a[p];if(!g&&!o.length)break;let m,v;if(o.length)m=l,v=o.reduce((x,T)=>Math.min(x,T.to),g&&g.from>m?g.from:1e8);else{if(m=g.from,m>f)break;v=g.to,o.push(g),p++}for(;px.from||x.to==m))o.push(x),p++,v=Math.min(x.to,v);else{v=Math.min(x.from,v);break}}v=Math.min(v,f);let y=!1;if(o.some(x=>x.from==m&&(x.to==v||v==f))&&(y=m==v,!y&&v-m<10)){let x=m-(h+u.value.length);x>0&&(u.next(x),h=m);for(let T=m;;){if(T>=v){y=!0;break}if(!u.lineBreak&&h+u.value.length>T)break;T=h+u.value.length,h+=u.value.length,u.next()}}let b=Qjr(o);if(y)s.add(m,m,Gr.widget({widget:new Bjr(b),diagnostics:o.slice()}));else{let x=o.reduce((T,w)=>w.markClass?T+" "+w.markClass:T,"");s.add(m,v,Gr.mark({class:"cm-lintRange cm-lintRange-"+b+x,diagnostics:o.slice(),inclusiveEnd:o.some(T=>T.to>v)}))}if(l=v,l==f)break;for(let x=0;x{if(!(e&&s.diagnostics.indexOf(e)<0))if(!n)n=new qgt(i,a,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(n.diagnostic)<0)return!1;n=new qgt(n.from,a,n.diagnostic)}}),n}function Rjr(t,e){let r=e.pos,n=e.end||r,i=t.state.facet(K7).hideOn(t,r,n);if(i!=null)return i;let a=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(s=>s.is(Xgt))||t.changes.touchesRange(a.from,Math.max(a.to,n)))}function Djr(t,e){return t.field(Sf,!1)?e:e.concat(kn.appendConfig.of(Vjr))}const Xgt=kn.define(),pbe=kn.define(),jgt=kn.define(),Sf=nu.define({create(){return new ZA(Gr.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let r=t.diagnostics.map(e.changes),n=null,i=t.panel;if(t.selected){let a=e.changes.mapPos(t.selected.from,1);n=xx(r,t.selected.diagnostic,a)||xx(r,null,a)}!r.size&&i&&e.state.facet(K7).autoPanel&&(i=null),t=new ZA(r,i,n)}for(let r of e.effects)if(r.is(Xgt)){let n=e.state.facet(K7).autoPanel?r.value.length?J7.open:null:t.panel;t=ZA.init(r.value,n,e.state)}else r.is(pbe)?t=new ZA(t.diagnostics,r.value?J7.open:null,t.selected):r.is(jgt)&&(t=new ZA(t.diagnostics,t.panel,r.value));return t},provide:t=>[T7.from(t,e=>e.panel),sr.decorations.from(t,e=>e.diagnostics)]}),Ljr=Gr.mark({class:"cm-lintRange cm-lintRange-active"});function Mjr(t,e,r){let{diagnostics:n}=t.state.field(Sf),i,a=-1,s=-1;n.between(e-(r<0?1:0),e+(r>0?1:0),(l,u,{spec:h})=>{if(e>=l&&e<=u&&(l==u||(e>l||r>0)&&(ee0t(t,r,!1)))}const Pjr=t=>{let e=t.state.field(Sf,!1);(!e||!e.panel)&&t.dispatch({effects:Djr(t.state,[pbe.of(!0)])});let r=Tye(t,J7.open);return r&&r.dom.querySelector(".cm-panel-lint ul").focus(),!0},Zgt=t=>{let e=t.state.field(Sf,!1);return!e||!e.panel?!1:(t.dispatch({effects:pbe.of(!1)}),!0)},Njr=[{key:"Mod-Shift-m",run:Pjr,preventDefault:!0},{key:"F8",run:t=>{let e=t.state.field(Sf,!1);if(!e)return!1;let r=t.state.selection.main,n=xx(e.diagnostics,null,r.to+1);return!n&&(n=xx(e.diagnostics,null,0),!n||n.from==r.from&&n.to==r.to)?!1:(t.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0}),TQr(t,n.from,1,{tooltip:r0t,until:i=>i.docChanged||i.newSelection.main.headn.to}),!0)}}],K7=br.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...R0(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Kgt,tooltipFilter:Kgt,needsRefresh:(e,r)=>e?r?n=>e(n)||r(n):e:r,hideOn:(e,r)=>e?r?(n,i,a)=>e(n,i,a)||r(n,i,a):e:r,autoPanel:(e,r)=>e||r})}}});function Kgt(t,e){return t?e?(r,n)=>e(t(r,n),n):t:e}function Jgt(t){let e=[];if(t)e:for(let{name:r}of t){for(let n=0;na.toLowerCase()==i.toLowerCase())){e.push(i);continue e}}e.push("")}return e}function e0t(t,e,r){var n;let i=r?Jgt(e.actions):[];return ca("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},ca("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(n=e.actions)===null||n===void 0?void 0:n.map((a,s)=>{let o=!1,l=p=>{if(p.preventDefault(),o)return;o=!0;let g=xx(t.state.field(Sf).diagnostics,e);g&&a.apply(t,g.from,g.to)},{name:u}=a,h=i[s]?u.indexOf(i[s]):-1,f=h<0?u:[u.slice(0,h),ca("u",u.slice(h,h+1)),u.slice(h+1)],d=a.markClass?" "+a.markClass:"";return ca("button",{type:"button",class:"cm-diagnosticAction"+d,onclick:l,onmousedown:l,"aria-label":` Action: ${u}${h<0?"":` (access key "${i[s]})"`}.`},f)}),e.source&&ca("div",{class:"cm-diagnosticSource"},e.source))}class Bjr extends Fp{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return ca("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class t0t{constructor(e,r){this.diagnostic=r,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=e0t(e,r,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class J7{constructor(e){this.view=e,this.items=[];let r=i=>{if(!(i.ctrlKey||i.altKey||i.metaKey)){if(i.keyCode==27)Zgt(this.view),this.view.focus();else if(i.keyCode==38||i.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(i.keyCode==40||i.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(i.keyCode==36)this.moveSelection(0);else if(i.keyCode==35)this.moveSelection(this.items.length-1);else if(i.keyCode==13)this.view.focus();else if(i.keyCode>=65&&i.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:a}=this.items[this.selectedIndex],s=Jgt(a.actions);for(let o=0;o{for(let a=0;aZgt(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Sf).selected;if(!e)return-1;for(let r=0;r{for(let h of u.diagnostics){if(s.has(h))continue;s.add(h);let f=-1,d;for(let p=n;pn&&(this.items.splice(n,f-n),i=!0)),r&&d.diagnostic==r.diagnostic?d.dom.hasAttribute("aria-selected")||(d.dom.setAttribute("aria-selected","true"),a=d):d.dom.hasAttribute("aria-selected")&&d.dom.removeAttribute("aria-selected"),n++}});n({sel:a.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:o,panel:l})=>{let u=l.height/this.list.offsetHeight;o.topl.bottom&&(this.list.scrollTop+=(o.bottom-l.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let e=this.list.firstChild;function r(){let n=e;e=n.nextSibling,n.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)r();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)r()}moveSelection(e){if(this.selectedIndex<0)return;let r=this.view.state.field(Sf),n=xx(r.diagnostics,this.items[e].diagnostic);n&&this.view.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0,effects:jgt.of(n)})}static open(e){return new J7(e)}}function $jr(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(t)}')`}function OX(t){return $jr(``,'width="6" height="3"')}const Fjr=sr.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:OX("#f11")},".cm-lintRange-warning":{backgroundImage:OX("orange")},".cm-lintRange-info":{backgroundImage:OX("#999")},".cm-lintRange-hint":{backgroundImage:OX("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function zjr(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function Qjr(t){let e="hint",r=1;for(let n of t){let i=zjr(n.severity);i>r&&(r=i,e=n.severity)}return e}const r0t=xQr(Mjr,{hideOn:Rjr}),Vjr=[Sf,sr.decorations.compute([Sf],t=>{let{selected:e,panel:r}=t.field(Sf);return!e||!r||e.from==e.to?Gr.none:Gr.set([Ljr.range(e.from,e.to)])}),r0t,Fjr];var n0t=function(e){e===void 0&&(e={});var r=e,n=r.crosshairCursor,i=n===void 0?!1:n,a=[];e.closeBracketsKeymap!==!1&&(a=a.concat(tGr)),e.defaultKeymap!==!1&&(a=a.concat(JXr)),e.searchKeymap!==!1&&(a=a.concat(Cjr)),e.historyKeymap!==!1&&(a=a.concat(sXr)),e.foldKeymap!==!1&&(a=a.concat(uVr)),e.completionKeymap!==!1&&(a=a.concat(Rft)),e.lintKeymap!==!1&&(a=a.concat(Njr));var s=[];return e.lineNumbers!==!1&&s.push(IQr()),e.highlightActiveLineGutter!==!1&&s.push(BQr()),e.highlightSpecialChars!==!1&&s.push(Xzr()),e.history!==!1&&s.push(Zqr()),e.foldGutter!==!1&&s.push(dVr()),e.drawSelection!==!1&&s.push($zr()),e.dropCursor!==!1&&s.push(Uzr()),e.allowMultipleSelections!==!1&&s.push(fi.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&s.push(nVr()),e.syntaxHighlighting!==!1&&s.push(Qht(vVr,{fallback:!0})),e.bracketMatching!==!1&&s.push(AVr()),e.closeBrackets!==!1&&s.push(KUr()),e.autocompletion!==!1&&s.push(lGr()),e.rectangularSelection!==!1&&s.push(uQr()),i!==!1&&s.push(fQr()),e.highlightActiveLine!==!1&&s.push(tQr()),e.highlightSelectionMatches!==!1&&s.push(ajr()),e.tabSize&&typeof e.tabSize=="number"&&s.push(J_.of(" ".repeat(e.tabSize))),s.concat([X_.of(a.flat())]).filter(Boolean)};const Ujr="#e5c07b",i0t="#e06c75",Gjr="#56b6c2",Yjr="#ffffff",CX="#abb2bf",gbe="#7d8799",Hjr="#61afef",Wjr="#98c379",a0t="#d19a66",qjr="#c678dd",Xjr="#21252b",s0t="#2c313a",o0t="#282c34",mbe="#353a42",jjr="#3E4451",l0t="#528bff",Zjr=sr.theme({"&":{color:CX,backgroundColor:o0t},".cm-content":{caretColor:l0t},".cm-cursor, .cm-dropCursor":{borderLeftColor:l0t},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:jjr},".cm-panels":{backgroundColor:Xjr,color:CX},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:o0t,color:gbe,border:"none"},".cm-activeLineGutter":{backgroundColor:s0t},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:mbe},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:mbe,borderBottomColor:mbe},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:s0t,color:CX}}},{dark:!0}),Kjr=_7.define([{tag:Ee.keyword,color:qjr},{tag:[Ee.name,Ee.deleted,Ee.character,Ee.propertyName,Ee.macroName],color:i0t},{tag:[Ee.function(Ee.variableName),Ee.labelName],color:Hjr},{tag:[Ee.color,Ee.constant(Ee.name),Ee.standard(Ee.name)],color:a0t},{tag:[Ee.definition(Ee.name),Ee.separator],color:CX},{tag:[Ee.typeName,Ee.className,Ee.number,Ee.changed,Ee.annotation,Ee.modifier,Ee.self,Ee.namespace],color:Ujr},{tag:[Ee.operator,Ee.operatorKeyword,Ee.url,Ee.escape,Ee.regexp,Ee.link,Ee.special(Ee.string)],color:Gjr},{tag:[Ee.meta,Ee.comment],color:gbe},{tag:Ee.strong,fontWeight:"bold"},{tag:Ee.emphasis,fontStyle:"italic"},{tag:Ee.strikethrough,textDecoration:"line-through"},{tag:Ee.link,color:gbe,textDecoration:"underline"},{tag:Ee.heading,fontWeight:"bold",color:i0t},{tag:[Ee.atom,Ee.bool,Ee.special(Ee.variableName)],color:a0t},{tag:[Ee.processingInstruction,Ee.string,Ee.inserted],color:Wjr},{tag:Ee.invalid,color:Yjr}]),Jjr=[Zjr,Qht(Kjr)];var eZr=sr.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),tZr=function(e){e===void 0&&(e={});var r=e,n=r.indentWithTab,i=n===void 0?!0:n,a=r.editable,s=a===void 0?!0:a,o=r.readOnly,l=o===void 0?!1:o,u=r.theme,h=u===void 0?"light":u,f=r.placeholder,d=f===void 0?"":f,p=r.basicSetup,g=p===void 0?!0:p,m=[];switch(i&&m.unshift(X_.of([ejr])),g&&(typeof g=="boolean"?m.unshift(n0t()):m.unshift(n0t(g))),d&&m.unshift(aQr(d)),h){case"light":m.push(eZr);break;case"dark":m.push(Jjr);break;case"none":break;default:m.push(h);break}return s===!1&&m.push(sr.editable.of(!1)),l&&m.push(fi.readOnly.of(!0)),[...m]},rZr=t=>({line:t.state.doc.lineAt(t.state.selection.main.from),lineCount:t.state.doc.lines,lineBreak:t.state.lineBreak,length:t.state.doc.length,readOnly:t.state.readOnly,tabSize:t.state.tabSize,selection:t.state.selection,selectionAsSingle:t.state.selection.asSingle().main,ranges:t.state.selection.ranges,selectionCode:t.state.sliceDoc(t.state.selection.main.from,t.state.selection.main.to),selections:t.state.selection.ranges.map(e=>t.state.sliceDoc(e.from,e.to)),selectedText:t.state.selection.ranges.some(e=>!e.empty)});class nZr{constructor(e,r){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=r,this.timeoutMS=r,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(r=>{try{r()}catch(n){console.error("TimeoutLatch callback error:",n)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class u0t{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var vbe=null,iZr=()=>typeof window>"u"?new u0t:(vbe||(vbe=new u0t),vbe),aZr=sr.theme({"& .cm-scroller":{height:"100% !important"}}),c0t=null,ybe=null;function sZr(t,e,r,n,i,a){if(!t&&!e&&!r&&!n&&!i&&!a)return null;var s=JSON.stringify({height:t,minHeight:e,maxHeight:r,width:n,minWidth:i,maxWidth:a});return s===c0t||(c0t=s,ybe=sr.theme({"&":{height:t,minHeight:e,maxHeight:r,width:n,minWidth:i,maxWidth:a}})),ybe}var h0t=_0.define(),oZr=200,lZr=[];function uZr(t){var e=t.value,r=t.selection,n=t.onChange,i=t.onStatistics,a=t.onCreateEditor,s=t.onUpdate,o=t.extensions,l=o===void 0?lZr:o,u=t.autoFocus,h=t.theme,f=h===void 0?"light":h,d=t.height,p=d===void 0?null:d,g=t.minHeight,m=g===void 0?null:g,v=t.maxHeight,y=v===void 0?null:v,b=t.width,x=b===void 0?null:b,T=t.minWidth,w=T===void 0?null:T,A=t.maxWidth,S=A===void 0?null:A,C=t.placeholder,E=C===void 0?"":C,k=t.editable,_=k===void 0?!0:k,N=t.readOnly,D=N===void 0?!1:N,R=t.indentWithTab,L=R===void 0?!0:R,M=t.basicSetup,P=M===void 0?!0:M,I=t.root,F=t.initialState,$=$e.useState(),V=$[0],z=$[1],Q=$e.useState(),U=Q[0],G=Q[1],X=$e.useState(),H=X[0],se=X[1],W=$e.useState(()=>({current:null}))[0],K=$e.useState(()=>({current:null}))[0],J=sZr(p,m,y,x,w,S),te=sr.updateListener.of(Se=>{if(Se.docChanged&&typeof n=="function"&&!Se.transactions.some(ue=>ue.annotation(h0t))){W.current?W.current.reset():(W.current=new nZr(()=>{if(K.current){var ue=K.current;K.current=null,ue()}W.current=null},oZr),iZr().add(W.current));var Oe=Se.state.doc,Fe=Oe.toString();n(Fe,Se)}i&&i(rZr(Se))}),ve=tZr({theme:f,editable:_,readOnly:D,placeholder:E,indentWithTab:L,basicSetup:P}),ie=[te,...J?[J]:[],aZr,...ve];return s&&typeof s=="function"&&ie.push(sr.updateListener.of(s)),ie=ie.concat(l),$e.useLayoutEffect(()=>{if(V&&!H){var Se={doc:e,selection:r,extensions:ie},Oe=F?fi.fromJSON(F.json,Se,F.fields):fi.create(Se);if(se(Oe),!U){var Fe=new sr({state:Oe,parent:V,root:I});G(Fe),a&&a(Fe,Oe)}}return()=>{U&&(se(void 0),G(void 0))}},[V,H]),$e.useEffect(()=>{t.container&&z(t.container)},[t.container]),$e.useEffect(()=>()=>{U&&(U.destroy(),G(void 0)),W.current&&(W.current.cancel(),W.current=null)},[U]),$e.useEffect(()=>{u&&U&&U.focus()},[u,U]),$e.useEffect(()=>{U&&U.dispatch({effects:kn.reconfigure.of(ie)})},[f,l,p,m,y,x,w,S,E,_,D,L,P,n,s]),$e.useEffect(()=>{if(e!==void 0){var Se=U?U.state.doc.toString():"";if(U&&e!==Se){var Oe=W.current&&!W.current.isDone,Fe=()=>{U&&e!==U.state.doc.toString()&&U.dispatch({changes:{from:0,to:U.state.doc.toString().length,insert:e||""},annotations:[h0t.of(!0)]})};Oe?K.current=Fe:Fe()}}},[e,U]),{state:H,setState:se,view:U,setView:G,container:V,setContainer:z}}var cZr=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],f0t=$e.forwardRef((t,e)=>{var r=t.className,n=t.value,i=n===void 0?"":n,a=t.selection,s=t.extensions,o=s===void 0?[]:s,l=t.onChange,u=t.onStatistics,h=t.onCreateEditor,f=t.onUpdate,d=t.autoFocus,p=t.theme,g=p===void 0?"light":p,m=t.height,v=t.minHeight,y=t.maxHeight,b=t.width,x=t.minWidth,T=t.maxWidth,w=t.basicSetup,A=t.placeholder,S=t.indentWithTab,C=t.editable,E=t.readOnly,k=t.root,_=t.initialState,N=Qqr(t,cZr),D=$e.useRef(null),R=uZr({root:k,value:i,autoFocus:d,theme:g,height:m,minHeight:v,maxHeight:y,width:b,minWidth:x,maxWidth:T,basicSetup:w,placeholder:A,indentWithTab:S,editable:C,readOnly:E,selection:a,onChange:l,onStatistics:u,onCreateEditor:h,onUpdate:f,extensions:o,initialState:_}),L=R.state,M=R.view,P=R.container,I=R.setContainer;$e.useImperativeHandle(e,()=>({editor:D.current,state:L,view:M}),[D,P,L,M]);var F=$e.useCallback(V=>{D.current=V,I(V)},[I]);if(typeof i!="string")throw new Error("value must be typeof string but got "+typeof i);var $=typeof g=="string"?"cm-theme-"+g:"cm-theme";return de.jsx("div",K1e({ref:F,className:""+$+(r?" "+r:"")},N))});f0t.displayName="CodeMirror";function hZr(t){const e=t.toLowerCase(),r=e.split("/").pop()??e,n=r.includes(".")?r.split(".").pop():"";return r==="dockerfile"||r.startsWith("dockerfile.")||r.endsWith(".dockerfile")?[$ye.define(zqr)]:n==="py"||n==="pyi"?[jWr()]:["ts","tsx","mts","cts"].includes(n??"")?[s1e({typescript:!0,jsx:n==="tsx"})]:["js","jsx","mjs","cjs"].includes(n??"")?[s1e({jsx:n==="jsx"})]:n==="json"||n==="jsonc"?[TGr()]:n==="yaml"||n==="yml"?[Cqr()]:["md","markdown"].includes(n??"")?[RHr()]:[]}function fZr({value:t,path:e,onChange:r,readOnly:n=!1}){const i=$e.useMemo(()=>hZr(e),[e]);return de.jsx(f0t,{value:t,height:"100%",theme:"light",extensions:i,editable:!n,onChange:r,basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:!0,highlightActiveLineGutter:!0,autocompletion:!1}})}const dZr=Object.freeze(Object.defineProperty({__proto__:null,default:fZr},Symbol.toStringTag,{value:"Module"}));class Kt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var h;a+15t.replace(pZr,"-$1").toLowerCase(),mZr={"&":"&",">":">","<":"<",'"':""","'":"'"},vZr=/[&><"']/g,Wu=t=>String(t).replace(vZr,e=>mZr[e]),EX=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?EX(t.body[0]):t:t.type==="font"?EX(t.body):t,yZr=new Set(["mathord","textord","atom"]),by=t=>yZr.has(EX(t).type),bZr=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},kX={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function xZr(t){if(typeof t!="string")return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function TZr(t){if(t.default!==void 0)return t.default;var e=Array.isArray(t.type)?t.type[0]:t.type;return xZr(e)}function wZr(t,e,r,n){var i=r[e];t[e]=i!==void 0?n.processor?n.processor(i):i:TZr(n)}class bbe{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r of Object.keys(kX)){var n=kX[r];n&&wZr(this,r,e,n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new Kt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=bZr(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class Tx{constructor(e,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=n}sup(){return Q0[AZr[this.id]]}sub(){return Q0[SZr[this.id]]}fracNum(){return Q0[OZr[this.id]]}fracDen(){return Q0[CZr[this.id]]}cramp(){return Q0[EZr[this.id]]}text(){return Q0[kZr[this.id]]}isTight(){return this.size>=2}}var xbe=0,_X=1,v5=2,xy=3,eB=4,$d=5,y5=6,Sc=7,Q0=[new Tx(xbe,0,!1),new Tx(_X,0,!0),new Tx(v5,1,!1),new Tx(xy,1,!0),new Tx(eB,2,!1),new Tx($d,2,!0),new Tx(y5,3,!1),new Tx(Sc,3,!0)],AZr=[eB,$d,eB,$d,y5,Sc,y5,Sc],SZr=[$d,$d,$d,$d,Sc,Sc,Sc,Sc],OZr=[v5,xy,eB,$d,y5,Sc,y5,Sc],CZr=[xy,xy,$d,$d,Sc,Sc,Sc,Sc],EZr=[_X,_X,xy,xy,$d,$d,Sc,Sc],kZr=[xbe,_X,v5,xy,v5,xy,v5,xy],Ln={DISPLAY:Q0[xbe],TEXT:Q0[v5],SCRIPT:Q0[eB],SCRIPTSCRIPT:Q0[y5]},Tbe=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function _Zr(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}var RX=[];Tbe.forEach(t=>t.blocks.forEach(e=>RX.push(...e)));function d0t(t){for(var e=0;e=RX[e]&&t<=RX[e+1])return!0;return!1}var qo=t=>t+" "+t,b5=80,RZr=function(e,r){return"M95,"+(622+e+r)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 @@ -942,10 +942,10 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT) vec2 v = ab*vec2(-cs.y,cs.x); w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v)); } - + // compute final point and distance float d = length(p-ab*vec2(cos(w),sin(w))); - + // return signed distance return (dot(p/ab,p/ab)>1.0) ? d : -d; } @@ -954,16 +954,16 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT) uniform mat3 uPanZoomMatrix; uniform int uAtlasSize; - + // instanced in vec2 aPosition; // a vertex from the unit square - + in mat3 aTransform; // used to transform verticies, eg into a bounding box in int aVertType; // the type of thing we are rendering // the z-index that is output when using picking mode in vec4 aIndex; - + // For textures in int aAtlasId; // which shader unit/atlas to use in vec4 aTex; // x/y/w/h of texture in atlas @@ -983,7 +983,7 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT) out vec4 vColor; out vec2 vPosition; // flat values are not interpolated - flat out int vAtlasId; + flat out int vAtlasId; flat out int vVertType; flat out vec2 vTopRight; flat out vec2 vBotLeft; @@ -991,7 +991,7 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT) flat out vec4 vBorderColor; flat out vec2 vBorderWidth; flat out vec4 vIndex; - + void main(void) { int vid = gl_VertexID; vec2 position = aPosition; // TODO make this a vec3, simplifies some code below @@ -1014,7 +1014,7 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT) gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); } - else if(aVertType == `).concat(d4," || aVertType == ").concat(r9,` + else if(aVertType == `).concat(d4," || aVertType == ").concat(r9,` || aVertType == `).concat(UZ," || aVertType == ").concat(t9,`) { // simple shapes // the bounding box is needed by the fragment shader @@ -1044,7 +1044,7 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT) gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0); vColor = aColor; - } + } else if(aVertType == `).concat(Wwt,`) { vec2 pointA = aPointAPointB.xy; vec2 pointB = aPointAPointB.zw; @@ -1093,7 +1093,7 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT) } vColor = aColor; - } + } else if(aVertType == `).concat(mAe,` && vid < 3) { // massage the first triangle into an edge arrow if(vid == 0) @@ -1145,16 +1145,16 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT) `).concat(mdn,` vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha - return vec4( + return vec4( top.rgb + (bot.rgb * (1.0 - top.a)), - top.a + (bot.a * (1.0 - top.a)) + top.a + (bot.a * (1.0 - top.a)) ); } vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance // scale to the zoom level so that borders don't look blurry when zoomed in // note 1.5 is an aribitrary value chosen because it looks good - return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d))); + return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d))); } void main(void) { @@ -1162,7 +1162,7 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT) // look up the texel from the texture unit `).concat(a.map(function(u){return"if(vAtlasId == ".concat(u,") outColor = texture(uTexture").concat(u,", vTexCoord);")}).join(` else `),` - } + } else if(vVertType == `).concat(mAe,`) { // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out'; outColor = blend(vColor, uBGColor); @@ -1171,7 +1171,7 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT) else if(vVertType == `).concat(d4,` && vBorderWidth == vec2(0.0)) { // simple rectangle with no border outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done } - else if(vVertType == `).concat(d4," || vVertType == ").concat(r9,` + else if(vVertType == `).concat(d4," || vVertType == ").concat(r9,` || vVertType == `).concat(UZ," || vVertType == ").concat(t9,`) { // use SDF float outerBorder = vBorderWidth[0]; @@ -1206,7 +1206,7 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT) vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor; vec4 innerBorderColor = blend(vBorderColor, vColor); outColor = distInterp(innerBorderColor, outerColor, d); - } + } else { vec4 outerColor; if(innerBorder == 0.0 && outerBorder == 0.0) { @@ -1244,7 +1244,7 @@ Expecting `+Ft.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":gt="Parse erro overflow: visible; vertical-align: -0.125em; } - + .node .label-icon path { fill: currentColor; stroke: revert; @@ -1504,7 +1504,7 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[ke]||ke)+"'":Be="Parse erro ${JSON.stringify(Object.fromEntries(g))}`));return}const v=parseInt(m);if(isNaN(v)){this.fireError(new Error(`Content-Length value must be a number. Got ${m}`));return}this.nextMessageLength=v}const p=this.buffer.tryReadBody(this.nextMessageLength);if(p===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const g=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(p):p,m=await this.options.contentTypeDecoder.decode(g,this.options);this.callback(m)}).catch(g=>{this.fireError(g)})}}catch(p){this.fireError(p)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,e.default)().timer.setTimeout((d,p)=>{this.partialMessageTimer=void 0,d===this.messageToken&&(this.firePartialMessage({messageToken:d,waitingTime:p}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}},B(h,"ReadableStreamMessageReader"),h);t.ReadableStreamMessageReader=l}}),ggn=In({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(t){var f,d;Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;var e=MS(),r=v9(),n=zAt(),i=x4(),a="Content-Length: ",s=`\r `,o;(function(p){function g(m){let v=m;return v&&r.func(v.dispose)&&r.func(v.onClose)&&r.func(v.onError)&&r.func(v.write)}B(g,"is"),p.is=g})(o||(t.MessageWriter=o={}));var l=(f=class{constructor(){this.errorEmitter=new i.Emitter,this.closeEmitter=new i.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(g,m,v){this.errorEmitter.fire([this.asError(g),m,v])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(g){return g instanceof Error?g:new Error(`Writer received error. Reason: ${r.string(g.message)?g.message:"unknown"}`)}},B(f,"AbstractMessageWriter"),f);t.AbstractMessageWriter=l;var u;(function(p){function g(m){return m===void 0||typeof m=="string"?{charset:m??"utf-8",contentTypeEncoder:(0,e.default)().applicationJson.encoder}:{charset:m.charset??"utf-8",contentEncoder:m.contentEncoder,contentTypeEncoder:m.contentTypeEncoder??(0,e.default)().applicationJson.encoder}}B(g,"fromOptions"),p.fromOptions=g})(u||(u={}));var h=(d=class extends l{constructor(g,m){super(),this.writable=g,this.options=u.fromOptions(m),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(v=>this.fireError(v)),this.writable.onClose(()=>this.fireClose())}async write(g){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(g,this.options).then(v=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(v):v).then(v=>{const y=[];return y.push(a,v.byteLength.toString(),s),y.push(s),this.doWrite(g,y,v)},v=>{throw this.fireError(v),v}))}async doWrite(g,m,v){try{return await this.writable.write(m.join(""),"ascii"),this.writable.write(v)}catch(y){return this.handleError(y,g),Promise.reject(y)}}handleError(g,m){this.errorCount++,this.fireError(g,m,this.errorCount)}end(){this.writable.end()}},B(d,"WriteableStreamMessageWriter"),d);t.WriteableStreamMessageWriter=h}}),mgn=In({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(t){var a;Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0;var e=13,r=10,n=`\r `,i=(a=class{constructor(o="utf-8"){this._encoding=o,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(o){const l=typeof o=="string"?this.fromString(o,this._encoding):o;this._chunks.push(l),this._totalLength+=l.byteLength}tryReadHeaders(o=!1){if(this._chunks.length===0)return;let l=0,u=0,h=0,f=0;e:for(;uthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===o){const f=this._chunks[0];return this._chunks.shift(),this._totalLength-=o,this.asNative(f)}if(this._chunks[0].byteLength>o){const f=this._chunks[0],d=this.asNative(f,o);return this._chunks[0]=f.slice(o),this._totalLength-=o,d}const l=this.allocNative(o);let u=0,h=0;for(;o>0;){const f=this._chunks[h];if(f.byteLength>o){const d=f.slice(0,o);l.set(d,u),u+=o,this._chunks[h]=f.slice(o),this._totalLength-=o,o-=o}else l.set(f,u),u+=f.byteLength,this._chunks.shift(),this._totalLength-=f.byteLength,o-=f.byteLength}return l}},B(a,"AbstractMessageBuffer"),a);t.AbstractMessageBuffer=i}}),vgn=In({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(t){var D,R;Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;var e=MS(),r=v9(),n=$At(),i=FAt(),a=x4(),s=lK(),o;(function(L){L.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(L){function M(P){return typeof P=="string"||typeof P=="number"}B(M,"is"),L.is=M})(l||(t.ProgressToken=l={}));var u;(function(L){L.type=new n.NotificationType("$/progress")})(u||(u={}));var h=(D=class{constructor(){}},B(D,"ProgressType"),D);t.ProgressType=h;var f;(function(L){function M(P){return r.func(P)}B(M,"is"),L.is=M})(f||(f={})),t.NullLogger=Object.freeze({error:B(()=>{},"error"),warn:B(()=>{},"warn"),info:B(()=>{},"info"),log:B(()=>{},"log")});var d;(function(L){L[L.Off=0]="Off",L[L.Messages=1]="Messages",L[L.Compact=2]="Compact",L[L.Verbose=3]="Verbose"})(d||(t.Trace=d={}));var p;(function(L){L.Off="off",L.Messages="messages",L.Compact="compact",L.Verbose="verbose"})(p||(t.TraceValues=p={})),function(L){function M(I){if(!r.string(I))return L.Off;switch(I=I.toLowerCase(),I){case"off":return L.Off;case"messages":return L.Messages;case"compact":return L.Compact;case"verbose":return L.Verbose;default:return L.Off}}B(M,"fromString"),L.fromString=M;function P(I){switch(I){case L.Off:return"off";case L.Messages:return"messages";case L.Compact:return"compact";case L.Verbose:return"verbose";default:return"off"}}B(P,"toString"),L.toString=P}(d||(t.Trace=d={}));var g;(function(L){L.Text="text",L.JSON="json"})(g||(t.TraceFormat=g={})),function(L){function M(P){return r.string(P)?(P=P.toLowerCase(),P==="json"?L.JSON:L.Text):L.Text}B(M,"fromString"),L.fromString=M}(g||(t.TraceFormat=g={}));var m;(function(L){L.type=new n.NotificationType("$/setTrace")})(m||(t.SetTraceNotification=m={}));var v;(function(L){L.type=new n.NotificationType("$/logTrace")})(v||(t.LogTraceNotification=v={}));var y;(function(L){L[L.Closed=1]="Closed",L[L.Disposed=2]="Disposed",L[L.AlreadyListening=3]="AlreadyListening"})(y||(t.ConnectionErrors=y={}));var b=(R=class extends Error{constructor(M,P){super(P),this.code=M,Object.setPrototypeOf(this,R.prototype)}},B(R,"ConnectionError"),R);t.ConnectionError=b;var x;(function(L){function M(P){const I=P;return I&&r.func(I.cancelUndispatched)}B(M,"is"),L.is=M})(x||(t.ConnectionStrategy=x={}));var T;(function(L){function M(P){const I=P;return I&&(I.kind===void 0||I.kind==="id")&&r.func(I.createCancellationTokenSource)&&(I.dispose===void 0||r.func(I.dispose))}B(M,"is"),L.is=M})(T||(t.IdCancellationReceiverStrategy=T={}));var w;(function(L){function M(P){const I=P;return I&&I.kind==="request"&&r.func(I.createCancellationTokenSource)&&(I.dispose===void 0||r.func(I.dispose))}B(M,"is"),L.is=M})(w||(t.RequestCancellationReceiverStrategy=w={}));var A;(function(L){L.Message=Object.freeze({createCancellationTokenSource(P){return new s.CancellationTokenSource}});function M(P){return T.is(P)||w.is(P)}B(M,"is"),L.is=M})(A||(t.CancellationReceiverStrategy=A={}));var S;(function(L){L.Message=Object.freeze({sendCancellation(P,I){return P.sendNotification(o.type,{id:I})},cleanup(P){}});function M(P){const I=P;return I&&r.func(I.sendCancellation)&&r.func(I.cleanup)}B(M,"is"),L.is=M})(S||(t.CancellationSenderStrategy=S={}));var C;(function(L){L.Message=Object.freeze({receiver:A.Message,sender:S.Message});function M(P){const I=P;return I&&A.is(I.receiver)&&S.is(I.sender)}B(M,"is"),L.is=M})(C||(t.CancellationStrategy=C={}));var E;(function(L){function M(P){const I=P;return I&&r.func(I.handleMessage)}B(M,"is"),L.is=M})(E||(t.MessageStrategy=E={}));var k;(function(L){function M(P){const I=P;return I&&(C.is(I.cancellationStrategy)||x.is(I.connectionStrategy)||E.is(I.messageStrategy))}B(M,"is"),L.is=M})(k||(t.ConnectionOptions=k={}));var _;(function(L){L[L.New=1]="New",L[L.Listening=2]="Listening",L[L.Closed=3]="Closed",L[L.Disposed=4]="Disposed"})(_||(_={}));function N(L,M,P,I){const F=P!==void 0?P:t.NullLogger;let $=0,V=0,z=0;const Q="2.0";let U;const G=new Map;let X;const H=new Map,se=new Map;let W,K=new i.LinkedMap,J=new Map,te=new Set,ve=new Map,ie=d.Off,Se=g.Text,Oe,Fe=_.New;const ue=new a.Emitter,he=new a.Emitter,we=new a.Emitter,ge=new a.Emitter,Ue=new a.Emitter,Ae=I&&I.cancellationStrategy?I.cancellationStrategy:C.Message;function Re(_e){if(_e===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+_e.toString()}B(Re,"createRequestQueueKey");function qe(_e){return _e===null?"res-unknown-"+(++z).toString():"res-"+_e.toString()}B(qe,"createResponseQueueKey");function j(){return"not-"+(++V).toString()}B(j,"createNotificationQueueKey");function oe(_e,at){n.Message.isRequest(at)?_e.set(Re(at.id),at):n.Message.isResponse(at)?_e.set(qe(at.id),at):_e.set(j(),at)}B(oe,"addMessageToQueue");function ye(_e){}B(ye,"cancelUndispatched");function re(){return Fe===_.Listening}B(re,"isListening");function q(){return Fe===_.Closed}B(q,"isClosed");function ne(){return Fe===_.Disposed}B(ne,"isDisposed");function fe(){(Fe===_.New||Fe===_.Listening)&&(Fe=_.Closed,he.fire(void 0))}B(fe,"closeHandler");function ee(_e){ue.fire([_e,void 0,void 0])}B(ee,"readErrorHandler");function me(_e){ue.fire(_e)}B(me,"writeErrorHandler"),L.onClose(fe),L.onError(ee),M.onClose(fe),M.onError(me);function ae(){W||K.size===0||(W=(0,e.default)().timer.setImmediate(()=>{W=void 0,De()}))}B(ae,"triggerMessageQueue");function ke(_e){n.Message.isRequest(_e)?Ie(_e):n.Message.isNotification(_e)?Pe(_e):n.Message.isResponse(_e)?je(_e):Ke(_e)}B(ke,"handleMessage");function De(){if(K.size===0)return;const _e=K.shift();try{const at=I==null?void 0:I.messageStrategy;E.is(at)?at.handleMessage(_e,ke):ke(_e)}finally{ae()}}B(De,"processMessageQueue");const We=B(_e=>{try{if(n.Message.isNotification(_e)&&_e.method===o.type.method){const at=_e.params.id,xt=Re(at),Ot=K.get(xt);if(n.Message.isRequest(Ot)){const jr=I==null?void 0:I.connectionStrategy,Br=jr&&jr.cancelUndispatched?jr.cancelUndispatched(Ot,ye):void 0;if(Br&&(Br.error!==void 0||Br.result!==void 0)){K.delete(xt),ve.delete(at),Br.id=Ot.id,Tt(Br,_e.method,Date.now()),M.write(Br).catch(()=>F.error("Sending response for canceled message failed."));return}}const gr=ve.get(at);if(gr!==void 0){gr.cancel(),Rt(_e);return}else te.add(at)}oe(K,_e)}finally{ae()}},"callback");function Ie(_e){if(ne())return;function at(Fr,An,Pr){const un={jsonrpc:Q,id:_e.id};Fr instanceof n.ResponseError?un.error=Fr.toJson():un.result=Fr===void 0?null:Fr,Tt(un,An,Pr),M.write(un).catch(()=>F.error("Sending response failed."))}B(at,"reply");function xt(Fr,An,Pr){const un={jsonrpc:Q,id:_e.id,error:Fr.toJson()};Tt(un,An,Pr),M.write(un).catch(()=>F.error("Sending response failed."))}B(xt,"replyError");function Ot(Fr,An,Pr){Fr===void 0&&(Fr=null);const un={jsonrpc:Q,id:_e.id,result:Fr};Tt(un,An,Pr),M.write(un).catch(()=>F.error("Sending response failed."))}B(Ot,"replySuccess"),Le(_e);const gr=G.get(_e.method);let jr,Br;gr&&(jr=gr.type,Br=gr.handler);const ln=Date.now();if(Br||U){const Fr=_e.id??String(Date.now()),An=T.is(Ae.receiver)?Ae.receiver.createCancellationTokenSource(Fr):Ae.receiver.createCancellationTokenSource(_e);_e.id!==null&&te.has(_e.id)&&An.cancel(),_e.id!==null&&ve.set(Fr,An);try{let Pr;if(Br)if(_e.params===void 0){if(jr!==void 0&&jr.numberOfParams!==0){xt(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${_e.method} defines ${jr.numberOfParams} params but received none.`),_e.method,ln);return}Pr=Br(An.token)}else if(Array.isArray(_e.params)){if(jr!==void 0&&jr.parameterStructures===n.ParameterStructures.byName){xt(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${_e.method} defines parameters by name but received parameters by position`),_e.method,ln);return}Pr=Br(..._e.params,An.token)}else{if(jr!==void 0&&jr.parameterStructures===n.ParameterStructures.byPosition){xt(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${_e.method} defines parameters by position but received parameters by name`),_e.method,ln);return}Pr=Br(_e.params,An.token)}else U&&(Pr=U(_e.method,_e.params,An.token));const un=Pr;Pr?un.then?un.then(jn=>{ve.delete(Fr),at(jn,_e.method,ln)},jn=>{ve.delete(Fr),jn instanceof n.ResponseError?xt(jn,_e.method,ln):jn&&r.string(jn.message)?xt(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${_e.method} failed with message: ${jn.message}`),_e.method,ln):xt(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${_e.method} failed unexpectedly without providing any details.`),_e.method,ln)}):(ve.delete(Fr),at(Pr,_e.method,ln)):(ve.delete(Fr),Ot(Pr,_e.method,ln))}catch(Pr){ve.delete(Fr),Pr instanceof n.ResponseError?at(Pr,_e.method,ln):Pr&&r.string(Pr.message)?xt(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${_e.method} failed with message: ${Pr.message}`),_e.method,ln):xt(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${_e.method} failed unexpectedly without providing any details.`),_e.method,ln)}}else xt(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${_e.method}`),_e.method,ln)}B(Ie,"handleRequest");function je(_e){if(!ne())if(_e.id===null)_e.error?F.error(`Received response message without id: Error is: +${v}`);const b=v.substr(0,y),x=v.substr(y+1).trim();p.set(o?b.toLowerCase():b,x)}return p}tryReadBody(o){if(!(this._totalLengththis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===o){const f=this._chunks[0];return this._chunks.shift(),this._totalLength-=o,this.asNative(f)}if(this._chunks[0].byteLength>o){const f=this._chunks[0],d=this.asNative(f,o);return this._chunks[0]=f.slice(o),this._totalLength-=o,d}const l=this.allocNative(o);let u=0,h=0;for(;o>0;){const f=this._chunks[h];if(f.byteLength>o){const d=f.slice(0,o);l.set(d,u),u+=o,this._chunks[h]=f.slice(o),this._totalLength-=o,o-=o}else l.set(f,u),u+=f.byteLength,this._chunks.shift(),this._totalLength-=f.byteLength,o-=f.byteLength}return l}},B(a,"AbstractMessageBuffer"),a);t.AbstractMessageBuffer=i}}),vgn=In({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(t){var D,R;Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;var e=MS(),r=v9(),n=$At(),i=FAt(),a=x4(),s=lK(),o;(function(L){L.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(L){function M(P){return typeof P=="string"||typeof P=="number"}B(M,"is"),L.is=M})(l||(t.ProgressToken=l={}));var u;(function(L){L.type=new n.NotificationType("$/progress")})(u||(u={}));var h=(D=class{constructor(){}},B(D,"ProgressType"),D);t.ProgressType=h;var f;(function(L){function M(P){return r.func(P)}B(M,"is"),L.is=M})(f||(f={})),t.NullLogger=Object.freeze({error:B(()=>{},"error"),warn:B(()=>{},"warn"),info:B(()=>{},"info"),log:B(()=>{},"log")});var d;(function(L){L[L.Off=0]="Off",L[L.Messages=1]="Messages",L[L.Compact=2]="Compact",L[L.Verbose=3]="Verbose"})(d||(t.Trace=d={}));var p;(function(L){L.Off="off",L.Messages="messages",L.Compact="compact",L.Verbose="verbose"})(p||(t.TraceValues=p={})),function(L){function M(I){if(!r.string(I))return L.Off;switch(I=I.toLowerCase(),I){case"off":return L.Off;case"messages":return L.Messages;case"compact":return L.Compact;case"verbose":return L.Verbose;default:return L.Off}}B(M,"fromString"),L.fromString=M;function P(I){switch(I){case L.Off:return"off";case L.Messages:return"messages";case L.Compact:return"compact";case L.Verbose:return"verbose";default:return"off"}}B(P,"toString"),L.toString=P}(d||(t.Trace=d={}));var g;(function(L){L.Text="text",L.JSON="json"})(g||(t.TraceFormat=g={})),function(L){function M(P){return r.string(P)?(P=P.toLowerCase(),P==="json"?L.JSON:L.Text):L.Text}B(M,"fromString"),L.fromString=M}(g||(t.TraceFormat=g={}));var m;(function(L){L.type=new n.NotificationType("$/setTrace")})(m||(t.SetTraceNotification=m={}));var v;(function(L){L.type=new n.NotificationType("$/logTrace")})(v||(t.LogTraceNotification=v={}));var y;(function(L){L[L.Closed=1]="Closed",L[L.Disposed=2]="Disposed",L[L.AlreadyListening=3]="AlreadyListening"})(y||(t.ConnectionErrors=y={}));var b=(R=class extends Error{constructor(M,P){super(P),this.code=M,Object.setPrototypeOf(this,R.prototype)}},B(R,"ConnectionError"),R);t.ConnectionError=b;var x;(function(L){function M(P){const I=P;return I&&r.func(I.cancelUndispatched)}B(M,"is"),L.is=M})(x||(t.ConnectionStrategy=x={}));var T;(function(L){function M(P){const I=P;return I&&(I.kind===void 0||I.kind==="id")&&r.func(I.createCancellationTokenSource)&&(I.dispose===void 0||r.func(I.dispose))}B(M,"is"),L.is=M})(T||(t.IdCancellationReceiverStrategy=T={}));var w;(function(L){function M(P){const I=P;return I&&I.kind==="request"&&r.func(I.createCancellationTokenSource)&&(I.dispose===void 0||r.func(I.dispose))}B(M,"is"),L.is=M})(w||(t.RequestCancellationReceiverStrategy=w={}));var A;(function(L){L.Message=Object.freeze({createCancellationTokenSource(P){return new s.CancellationTokenSource}});function M(P){return T.is(P)||w.is(P)}B(M,"is"),L.is=M})(A||(t.CancellationReceiverStrategy=A={}));var S;(function(L){L.Message=Object.freeze({sendCancellation(P,I){return P.sendNotification(o.type,{id:I})},cleanup(P){}});function M(P){const I=P;return I&&r.func(I.sendCancellation)&&r.func(I.cleanup)}B(M,"is"),L.is=M})(S||(t.CancellationSenderStrategy=S={}));var C;(function(L){L.Message=Object.freeze({receiver:A.Message,sender:S.Message});function M(P){const I=P;return I&&A.is(I.receiver)&&S.is(I.sender)}B(M,"is"),L.is=M})(C||(t.CancellationStrategy=C={}));var E;(function(L){function M(P){const I=P;return I&&r.func(I.handleMessage)}B(M,"is"),L.is=M})(E||(t.MessageStrategy=E={}));var k;(function(L){function M(P){const I=P;return I&&(C.is(I.cancellationStrategy)||x.is(I.connectionStrategy)||E.is(I.messageStrategy))}B(M,"is"),L.is=M})(k||(t.ConnectionOptions=k={}));var _;(function(L){L[L.New=1]="New",L[L.Listening=2]="Listening",L[L.Closed=3]="Closed",L[L.Disposed=4]="Disposed"})(_||(_={}));function N(L,M,P,I){const F=P!==void 0?P:t.NullLogger;let $=0,V=0,z=0;const Q="2.0";let U;const G=new Map;let X;const H=new Map,se=new Map;let W,K=new i.LinkedMap,J=new Map,te=new Set,ve=new Map,ie=d.Off,Se=g.Text,Oe,Fe=_.New;const ue=new a.Emitter,he=new a.Emitter,we=new a.Emitter,ge=new a.Emitter,Ue=new a.Emitter,Ae=I&&I.cancellationStrategy?I.cancellationStrategy:C.Message;function Re(_e){if(_e===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+_e.toString()}B(Re,"createRequestQueueKey");function qe(_e){return _e===null?"res-unknown-"+(++z).toString():"res-"+_e.toString()}B(qe,"createResponseQueueKey");function j(){return"not-"+(++V).toString()}B(j,"createNotificationQueueKey");function oe(_e,at){n.Message.isRequest(at)?_e.set(Re(at.id),at):n.Message.isResponse(at)?_e.set(qe(at.id),at):_e.set(j(),at)}B(oe,"addMessageToQueue");function ye(_e){}B(ye,"cancelUndispatched");function re(){return Fe===_.Listening}B(re,"isListening");function q(){return Fe===_.Closed}B(q,"isClosed");function ne(){return Fe===_.Disposed}B(ne,"isDisposed");function fe(){(Fe===_.New||Fe===_.Listening)&&(Fe=_.Closed,he.fire(void 0))}B(fe,"closeHandler");function ee(_e){ue.fire([_e,void 0,void 0])}B(ee,"readErrorHandler");function me(_e){ue.fire(_e)}B(me,"writeErrorHandler"),L.onClose(fe),L.onError(ee),M.onClose(fe),M.onError(me);function ae(){W||K.size===0||(W=(0,e.default)().timer.setImmediate(()=>{W=void 0,De()}))}B(ae,"triggerMessageQueue");function ke(_e){n.Message.isRequest(_e)?Ie(_e):n.Message.isNotification(_e)?Pe(_e):n.Message.isResponse(_e)?je(_e):Ke(_e)}B(ke,"handleMessage");function De(){if(K.size===0)return;const _e=K.shift();try{const at=I==null?void 0:I.messageStrategy;E.is(at)?at.handleMessage(_e,ke):ke(_e)}finally{ae()}}B(De,"processMessageQueue");const We=B(_e=>{try{if(n.Message.isNotification(_e)&&_e.method===o.type.method){const at=_e.params.id,xt=Re(at),Ot=K.get(xt);if(n.Message.isRequest(Ot)){const jr=I==null?void 0:I.connectionStrategy,Br=jr&&jr.cancelUndispatched?jr.cancelUndispatched(Ot,ye):void 0;if(Br&&(Br.error!==void 0||Br.result!==void 0)){K.delete(xt),ve.delete(at),Br.id=Ot.id,Tt(Br,_e.method,Date.now()),M.write(Br).catch(()=>F.error("Sending response for canceled message failed."));return}}const gr=ve.get(at);if(gr!==void 0){gr.cancel(),Rt(_e);return}else te.add(at)}oe(K,_e)}finally{ae()}},"callback");function Ie(_e){if(ne())return;function at(Fr,An,Pr){const un={jsonrpc:Q,id:_e.id};Fr instanceof n.ResponseError?un.error=Fr.toJson():un.result=Fr===void 0?null:Fr,Tt(un,An,Pr),M.write(un).catch(()=>F.error("Sending response failed."))}B(at,"reply");function xt(Fr,An,Pr){const un={jsonrpc:Q,id:_e.id,error:Fr.toJson()};Tt(un,An,Pr),M.write(un).catch(()=>F.error("Sending response failed."))}B(xt,"replyError");function Ot(Fr,An,Pr){Fr===void 0&&(Fr=null);const un={jsonrpc:Q,id:_e.id,result:Fr};Tt(un,An,Pr),M.write(un).catch(()=>F.error("Sending response failed."))}B(Ot,"replySuccess"),Le(_e);const gr=G.get(_e.method);let jr,Br;gr&&(jr=gr.type,Br=gr.handler);const ln=Date.now();if(Br||U){const Fr=_e.id??String(Date.now()),An=T.is(Ae.receiver)?Ae.receiver.createCancellationTokenSource(Fr):Ae.receiver.createCancellationTokenSource(_e);_e.id!==null&&te.has(_e.id)&&An.cancel(),_e.id!==null&&ve.set(Fr,An);try{let Pr;if(Br)if(_e.params===void 0){if(jr!==void 0&&jr.numberOfParams!==0){xt(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${_e.method} defines ${jr.numberOfParams} params but received none.`),_e.method,ln);return}Pr=Br(An.token)}else if(Array.isArray(_e.params)){if(jr!==void 0&&jr.parameterStructures===n.ParameterStructures.byName){xt(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${_e.method} defines parameters by name but received parameters by position`),_e.method,ln);return}Pr=Br(..._e.params,An.token)}else{if(jr!==void 0&&jr.parameterStructures===n.ParameterStructures.byPosition){xt(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${_e.method} defines parameters by position but received parameters by name`),_e.method,ln);return}Pr=Br(_e.params,An.token)}else U&&(Pr=U(_e.method,_e.params,An.token));const un=Pr;Pr?un.then?un.then(jn=>{ve.delete(Fr),at(jn,_e.method,ln)},jn=>{ve.delete(Fr),jn instanceof n.ResponseError?xt(jn,_e.method,ln):jn&&r.string(jn.message)?xt(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${_e.method} failed with message: ${jn.message}`),_e.method,ln):xt(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${_e.method} failed unexpectedly without providing any details.`),_e.method,ln)}):(ve.delete(Fr),at(Pr,_e.method,ln)):(ve.delete(Fr),Ot(Pr,_e.method,ln))}catch(Pr){ve.delete(Fr),Pr instanceof n.ResponseError?at(Pr,_e.method,ln):Pr&&r.string(Pr.message)?xt(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${_e.method} failed with message: ${Pr.message}`),_e.method,ln):xt(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${_e.method} failed unexpectedly without providing any details.`),_e.method,ln)}}else xt(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${_e.method}`),_e.method,ln)}B(Ie,"handleRequest");function je(_e){if(!ne())if(_e.id===null)_e.error?F.error(`Received response message without id: Error is: ${JSON.stringify(_e.error,void 0,4)}`):F.error("Received response message without id. No further error information provided.");else{const at=_e.id,xt=J.get(at);if(Lt(_e,xt),xt!==void 0){J.delete(at);try{if(_e.error){const Ot=_e.error;xt.reject(new n.ResponseError(Ot.code,Ot.message,Ot.data))}else if(_e.result!==void 0)xt.resolve(_e.result);else throw new Error("Should never happen.")}catch(Ot){Ot.message?F.error(`Response handler '${xt.method}' failed with message: ${Ot.message}`):F.error(`Response handler '${xt.method}' failed unexpectedly.`)}}}}B(je,"handleResponse");function Pe(_e){if(ne())return;let at,xt;if(_e.method===o.type.method){const Ot=_e.params.id;te.delete(Ot),Rt(_e);return}else{const Ot=H.get(_e.method);Ot&&(xt=Ot.handler,at=Ot.type)}if(xt||X)try{if(Rt(_e),xt)if(_e.params===void 0)at!==void 0&&at.numberOfParams!==0&&at.parameterStructures!==n.ParameterStructures.byName&&F.error(`Notification ${_e.method} defines ${at.numberOfParams} params but received none.`),xt();else if(Array.isArray(_e.params)){const Ot=_e.params;_e.method===u.type.method&&Ot.length===2&&l.is(Ot[0])?xt({token:Ot[0],value:Ot[1]}):(at!==void 0&&(at.parameterStructures===n.ParameterStructures.byName&&F.error(`Notification ${_e.method} defines parameters by name but received parameters by position`),at.numberOfParams!==_e.params.length&&F.error(`Notification ${_e.method} defines ${at.numberOfParams} params but received ${Ot.length} arguments`)),xt(...Ot))}else at!==void 0&&at.parameterStructures===n.ParameterStructures.byPosition&&F.error(`Notification ${_e.method} defines parameters by position but received parameters by name`),xt(_e.params);else X&&X(_e.method,_e.params)}catch(Ot){Ot.message?F.error(`Notification handler '${_e.method}' failed with message: ${Ot.message}`):F.error(`Notification handler '${_e.method}' failed unexpectedly.`)}else we.fire(_e)}B(Pe,"handleNotification");function Ke(_e){if(!_e){F.error("Received empty message.");return}F.error(`Received message which is neither a response nor a notification message: ${JSON.stringify(_e,null,4)}`);const at=_e;if(r.string(at.id)||r.number(at.id)){const xt=at.id,Ot=J.get(xt);Ot&&Ot.reject(new Error("The received response has neither a result nor an error property."))}}B(Ke,"handleInvalidMessage");function Ge(_e){if(_e!=null)switch(ie){case d.Verbose:return JSON.stringify(_e,null,4);case d.Compact:return JSON.stringify(_e);default:return}}B(Ge,"stringifyTrace");function lt(_e){if(!(ie===d.Off||!Oe))if(Se===g.Text){let at;(ie===d.Verbose||ie===d.Compact)&&_e.params&&(at=`Params: ${Ge(_e.params)} @@ -1570,7 +1570,7 @@ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e. `,type:Gs.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}B(z_t,"performRuntimeChecks");function Q_t(t,e,r){const n=[];let i=!1;const a=X9(ng(el(t.modes))),s=cJ(a,l=>l[cO]===zc.NA),o=DCe(r);return e&&bn(s,l=>{const u=RCe(l,o);if(u!==!1){const f={message:G_t(l,u),type:u.issue,tokenType:l};n.push(f)}else on(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):vJ(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS for details.`,type:Gs.NO_LINE_BREAKS_FLAGS}),n}B(Q_t,"performWarningRuntimeChecks");function V_t(t){const e={},r=Pf(t);return bn(r,n=>{const i=t[n];if(Li(i))e[n]=[];else throw Error("non exhaustive match")}),e}B(V_t,"cloneEmptyGroups");function _Ce(t){const e=t.PATTERN;if(Xy(e))return!1;if(qy(e))return!0;if(on(e,"exec"))return!0;if(_h(e))return!1;throw Error("non exhaustive match")}B(_Ce,"isCustomPattern");function U_t(t){return _h(t)&&t.length===1?t.charCodeAt(0):!1}B(U_t,"isShortPattern");var vxn={test:B(function(t){const e=t.length;for(let r=this.lastIndex;r Token Type Root cause: ${e.errMsg}. @@ -1593,8 +1593,8 @@ ${Yr(u,(d,p)=>` ${p+1}. ${d}`).join(` but found: '`+ag(e).image+"'";if(r)return i+r+s;{const l=`expecting at least one iteration which starts with one of these possible Token sequences:: <${Yr(t,u=>`[${Yr(u,h=>hO(h)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(q4);var bxn={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- inside top level rule: ->`+t.name+"<-"}},fO={buildDuplicateFoundError(t,e){function r(h){return h instanceof ns?h.terminalType.name:h instanceof Fc?h.nonTerminalName:""}B(r,"getExtraProductionArgument");const n=t.name,i=ag(e),a=i.idx,s=og(i),o=r(i),l=a>0;let u=`->${s}${l?a:""}<- ${o?`with argument: ->${o}<-`:""} - appears more than once (${e.length} times) in the top level rule: ->${n}<-. - For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + appears more than once (${e.length} times) in the top level rule: ->${n}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,` `),u},buildNamespaceConflictError(t){return`Namespace conflict found in grammar. The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. @@ -1615,7 +1615,7 @@ Only the last alternative may be an empty alternative.`},buildTooManyAlternative inside <${t.topLevelRule.name}> Rule. has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,r=Yr(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. rule: <${e}> can be invoked from itself (directly or indirectly) -without consuming any Tokens. The grammar path that causes this is: +without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof V4?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function c5t(t,e){const r=new xxn(t,e);return r.resolveRefs(),r.errors}B(c5t,"resolveGrammar");var xxn=(kR=class extends U4{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){bn(el(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:Qc.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},B(kR,"GastRefResolverVisitor"),kR),Txn=(_R=class extends fJ{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=fu(this.path.ruleStack).reverse(),this.occurrenceStack=fu(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){Ia(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},B(_R,"AbstractNextPossibleTokensWalker"),_R),wxn=(RR=class extends Txn{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new Rh({definition:i});this.possibleTokTypes=G4(a),this.found=!0}}},B(RR,"NextAfterTokenWalker"),RR),TJ=(DR=class extends fJ{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},B(DR,"AbstractNextTerminalAfterProductionWalker"),DR),Axn=(LR=class extends TJ{walkMany(e,r,n){if(e.idx===this.occurrence){const i=ag(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ns&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},B(LR,"NextTerminalAfterManyWalker"),LR),h5t=(MR=class extends TJ{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=ag(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ns&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},B(MR,"NextTerminalAfterManySepWalker"),MR),Sxn=(IR=class extends TJ{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=ag(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ns&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},B(IR,"NextTerminalAfterAtLeastOneWalker"),IR),f5t=(PR=class extends TJ{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=ag(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ns&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}},B(PR,"NextTerminalAfterAtLeastOneSepWalker"),PR);function wJ(t,e,r=[]){r=fu(r);let n=[],i=0;function a(o){return o.concat(du(t,i+1))}B(a,"remainingPathWith");function s(o){const l=wJ(a(o),e,r);return n.concat(l)}for(B(s,"getAlternativesForProd");r.length{Ia(l.definition)===!1&&(n=s(l.definition))}),n;if(o instanceof ns)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:du(t,i)}),n}B(wJ,"possiblePathsFrom");function $Ce(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,h=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!Ia(f);){const d=f.pop();if(d===s){o&&uO(f).idx<=u&&f.pop();continue}const p=d.def,g=d.idx,m=d.ruleStack,v=d.occurrenceStack;if(Ia(p))continue;const y=p[0];if(y===i){const b={idx:g,def:du(p),ruleStack:Z9(m),occurrenceStack:Z9(v)};f.push(b)}else if(y instanceof ns)if(g=0;b--){const x=y.definition[b],T={idx:g,def:x.definition.concat(du(p)),ruleStack:m,occurrenceStack:v};f.push(T),f.push(s)}else if(y instanceof Rh)f.push({idx:g,def:y.definition.concat(du(p)),ruleStack:m,occurrenceStack:v});else if(y instanceof V4)f.push(d5t(y,g,m,v));else throw Error("non exhaustive match")}return h}B($Ce,"nextPossibleTokensAfter");function d5t(t,e,r,n){const i=fu(r);i.push(t.name);const a=fu(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}B(d5t,"expandTopLevelRule");var ws;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ws||(ws={}));function AJ(t){if(t instanceof pu||t==="Option")return ws.OPTION;if(t instanceof Us||t==="Repetition")return ws.REPETITION;if(t instanceof $f||t==="RepetitionMandatory")return ws.REPETITION_MANDATORY;if(t instanceof Ff||t==="RepetitionMandatoryWithSeparator")return ws.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Dh||t==="RepetitionWithSeparator")return ws.REPETITION_WITH_SEPARATOR;if(t instanceof Lh||t==="Alternation")return ws.ALTERNATION;throw Error("non exhaustive match")}B(AJ,"getProdType");function FCe(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=AJ(n);return a===ws.ALTERNATION?o$(e,r,i):l$(e,r,a,i)}B(FCe,"getLookaheadPaths");function p5t(t,e,r,n,i,a){const s=o$(t,e,r),o=VCe(s)?i$:Y4;return a(s,n,o,i)}B(p5t,"buildLookaheadFuncForOr");function g5t(t,e,r,n,i,a){const s=l$(t,e,i,r),o=VCe(s)?i$:Y4;return a(s[0],o,n)}B(g5t,"buildLookaheadFuncForOptionalProd");function m5t(t,e,r,n){const i=t.length,a=ig(t,s=>ig(s,o=>o.length===1));if(e)return function(s){const o=Yr(s,l=>l.GATE);for(let l=0;lng(l)),o=Bf(s,(l,u,h)=>(bn(u,f=>{on(l,f.tokenTypeIdx)||(l[f.tokenTypeIdx]=h),bn(f.categoryMatches,d=>{on(l,d)||(l[d]=h)})}),l),{});return function(){const l=this.LA(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){const a=ng(t);if(a.length===1&&Ia(a[0].categoryMatches)){const o=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const s=Bf(a,(o,l,u)=>(o[l.tokenTypeIdx]=!0,bn(l.categoryMatches,h=>{o[h]=!0}),o),[]);return function(){const o=this.LA(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;awJ([s],1)),n=zCe(r.length),i=Yr(r,s=>{const o={};return bn(s,l=>{const u=SJ(l.partialPath);bn(u,h=>{o[h]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=zCe(o.length);for(let l=0;l{const y=SJ(v.partialPath);bn(y,b=>{i[l][b]=!0})})}}}}return n}B(QCe,"lookAheadSequenceFromAlternatives");function o$(t,e,r,n){const i=new y5t(t,ws.ALTERNATION,n);return e.accept(i),QCe(i.result,r)}B(o$,"getLookaheadPathsForOr");function l$(t,e,r,n){const i=new y5t(t,r);e.accept(i);const a=i.result,o=new Oxn(e,t,r).startWalking(),l=new Rh({definition:a}),u=new Rh({definition:o});return QCe([l,u],n)}B(l$,"getLookaheadPathsForOptionalProd");function OJ(t,e){e:for(let r=0;r{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}B(x5t,"isStrictPrefixOfPath");function VCe(t){return ig(t,e=>ig(e,r=>ig(r,n=>Ia(n.categoryMatches))))}B(VCe,"areTokenCategoriesNotUsed");function T5t(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return Yr(e,r=>Object.assign({type:Qc.CUSTOM_LOOKAHEAD_VALIDATION},r))}B(T5t,"validateLookahead");function w5t(t,e,r,n){const i=Jd(t,l=>A5t(l,r)),a=M5t(t,e,r),s=Jd(t,l=>_5t(l,r)),o=Jd(t,l=>O5t(l,t,n,r));return i.concat(a,s,o)}B(w5t,"validateGrammar");function A5t(t,e){const r=new Cxn;t.accept(r);const n=r.allProductions,i=zbn(n,S5t),a=sg(i,o=>o.length>1);return Yr(el(a),o=>{const l=ag(o),u=e.buildDuplicateFoundError(t,o),h=og(l),f={message:u,type:Qc.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:h,occurrence:l.idx},d=UCe(l);return d&&(f.parameter=d),f})}B(A5t,"validateDuplicateProductions");function S5t(t){return`${og(t)}_#_${t.idx}_#_${UCe(t)}`}B(S5t,"identifyProductionForDuplicates");function UCe(t){return t instanceof ns?t.terminalType.name:t instanceof Fc?t.nonTerminalName:""}B(UCe,"getExtraProductionArgument");var Cxn=($R=class extends U4{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}},B($R,"OccurrenceValidationCollector"),$R);function O5t(t,e,r,n){const i=[];if(Bf(e,(s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:Qc.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}B(O5t,"validateRuleDoesNotAlreadyExist");function C5t(t,e,r){const n=[];let i;return $c(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:Qc.INVALID_RULE_OVERRIDE,ruleName:t})),n}B(C5t,"validateRuleIsOverridden");function GCe(t,e,r,n=[]){const i=[],a=u$(e.definition);if(Ia(a))return[];{const s=t.name;$c(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:Qc.LEFT_RECURSION,ruleName:s});const l=uJ(a,n.concat([t])),u=Jd(l,h=>{const f=fu(n);return f.push(h),GCe(t,h,r,f)});return i.concat(u)}}B(GCe,"validateNoLeftRecursion");function u$(t){let e=[];if(Ia(t))return e;const r=ag(t);if(r instanceof Fc)e.push(r.referencedRule);else if(r instanceof Rh||r instanceof pu||r instanceof $f||r instanceof Ff||r instanceof Dh||r instanceof Us)e=e.concat(u$(r.definition));else if(r instanceof Lh)e=ng(Yr(r.definition,a=>u$(a.definition)));else if(!(r instanceof ns))throw Error("non exhaustive match");const n=J9(r),i=t.length>1;if(n&&i){const a=du(t);return e.concat(u$(a))}else return e}B(u$,"getFirstNoneTerminal");var YCe=(FR=class extends U4{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}},B(FR,"OrCollector"),FR);function E5t(t,e){const r=new YCe;t.accept(r);const n=r.alternations;return Jd(n,a=>{const s=Z9(a.definition);return Jd(s,(o,l)=>{const u=$Ce([o],[],Y4,1);return Ia(u)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:Qc.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]})})}B(E5t,"validateEmptyOrAlternative");function k5t(t,e,r){const n=new YCe;t.accept(n);let i=n.alternations;return i=cJ(i,s=>s.ignoreAmbiguities===!0),Jd(i,s=>{const o=s.idx,l=s.maxLookahead||e,u=o$(o,t,l,s),h=D5t(u,s,t,r),f=L5t(u,s,t,r);return h.concat(f)})}B(k5t,"validateAmbiguousAlternationAlternatives");var Exn=(zR=class extends U4{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}},B(zR,"RepetitionCollector"),zR);function _5t(t,e){const r=new YCe;t.accept(r);const n=r.alternations;return Jd(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:Qc.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}B(_5t,"validateTooManyAlts");function R5t(t,e,r){const n=[];return bn(t,i=>{const a=new Exn;i.accept(a);const s=a.allProductions;bn(s,o=>{const l=AJ(o),u=o.maxLookahead||e,h=o.idx,d=l$(h,i,l,u)[0];if(Ia(ng(d))){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:Qc.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}B(R5t,"validateSomeNonEmptyLookaheadPath");function D5t(t,e,r,n){const i=[],a=Bf(t,(o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||bn(l,h=>{const f=[u];bn(t,(d,p)=>{u!==p&&OJ(d,h)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!OJ(i,h)&&(i.push(h),o.push({alts:f,path:h}))}),o),[]);return Yr(a,o=>{const l=Yr(o.alts,h=>h+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:Qc.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}B(D5t,"checkAlternativesAmbiguities");function L5t(t,e,r,n){const i=Bf(t,(s,o,l)=>{const u=Yr(o,h=>({idx:l,path:h}));return s.concat(u)},[]);return X9(Jd(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path,h=Kd(i,d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx{const p=[d.idx+1,l+1],g=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:d.path}),type:Qc.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:p}})}))}B(L5t,"checkPrefixAlternativesAmbiguities");function M5t(t,e,r){const n=[],i=Yr(e,a=>a.name);return bn(t,a=>{const s=a.name;if($c(i,s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:Qc.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}B(M5t,"checkTerminalAndNoneTerminalsNameSpace");function I5t(t){const e=TCe(t,{errMsgProvider:bxn}),r={};return bn(t.rules,n=>{r[n.name]=n}),c5t(r,e.errMsgProvider)}B(I5t,"resolveGrammar");function P5t(t){return t=TCe(t,{errMsgProvider:fO}),w5t(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}B(P5t,"validateGrammar");var N5t="MismatchedTokenException",B5t="NoViableAltException",$5t="EarlyExitException",F5t="NotAllInputParsedException",z5t=[N5t,B5t,$5t,F5t];Object.freeze(z5t);function c$(t){return $c(z5t,t.name)}B(c$,"isRecognitionException");var CJ=(QR=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},B(QR,"RecognitionException"),QR),Q5t=(VR=class extends CJ{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=N5t}},B(VR,"MismatchedTokenException"),VR),kxn=(UR=class extends CJ{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=B5t}},B(UR,"NoViableAltException"),UR),_xn=(GR=class extends CJ{constructor(e,r){super(e,r),this.name=F5t}},B(GR,"NotAllInputParsedException"),GR),Rxn=(YR=class extends CJ{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=$5t}},B(YR,"EarlyExitException"),YR),HCe={},V5t="InRuleRecoveryException",Dxn=(HR=class extends Error{constructor(e){super(e),this.name=V5t}},B(HR,"InRuleRecoveryException"),HR),Lxn=(WR=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=on(e,"recoveryEnabled")?e.recoveryEnabled:Ky.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=U5t)}getTokenToInsert(e){const r=s$(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA(1);let h=this.LA(1);const f=B(()=>{const d=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:d,ruleName:this.getCurrRuleFullName()}),g=new Q5t(p,u,this.LA(0));g.resyncedTokens=Z9(o),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!l;)if(this.tokenMatcher(h,i)){f();return}else if(n.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(h,a)?l=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Dxn("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||Ia(r))return!1;const n=this.LA(1);return Q4(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return $c(n,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA(1),n=2;for(;;){const i=Q4(e,a=>BCe(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return HCe;const e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return Yr(e,(n,i)=>i===0?HCe:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=Yr(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return ng(e)}getFollowSetFromFollowKey(e){if(e===HCe)return[d2];const r=e.ruleName+e.idxInCallingRule+v_t+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,d2)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return Z9(r)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=fu(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return Yr(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}},B(WR,"Recoverable"),WR);function U5t(t,e,r,n,i,a,s){const o=this.getKeyForAutomaticLookahead(n,i);let l=this.firstAfterRepMap[o];if(l===void 0){const d=this.getCurrRuleFullName(),p=this.getGAstProductions()[d];l=new a(p,i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,h=l.occurrence;const f=l.isEndOfRule;this.RULE_STACK.length===1&&f&&u===void 0&&(u=d2,h=1),!(u===void 0||h===void 0)&&this.shouldInRepetitionRecoveryBeTried(u,h,s)&&this.tryInRepetitionRecovery(t,e,r,u)}B(U5t,"attemptInRepetitionRecovery");var Mxn=4,p2=8,G5t=1<GCe(r,r,fO))}validateEmptyOrAlternatives(e){return Jd(e,r=>E5t(r,fO))}validateAmbiguousAlternationAlternatives(e,r){return Jd(e,n=>k5t(n,r,fO))}validateSomeNonEmptyLookaheadPath(e,r){return R5t(e,r,fO)}buildLookaheadForAlternation(e){return p5t(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,m5t)}buildLookaheadForOptional(e){return g5t(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,AJ(e.prodType),v5t)}},B(qR,"LLkLookaheadStrategy"),qR),Ixn=(XR=class{initLooksAhead(e){this.dynamicTokensEnabled=on(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Ky.dynamicTokensEnabled,this.maxLookahead=on(e,"maxLookahead")?e.maxLookahead:Ky.maxLookahead,this.lookaheadStrategy=on(e,"lookaheadStrategy")?e.lookaheadStrategy:new jCe({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){bn(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=H5t(r);bn(n,u=>{const h=u.idx===0?"":u.idx;this.TRACE_INIT(`${og(u)}${h}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=kJ(this.fullRuleNameToShort[r.name],G5t,u.idx);this.setLaFuncCache(d,f)})}),bn(i,u=>{this.computeLookaheadFunc(r,u.idx,WCe,"Repetition",u.maxLookahead,og(u))}),bn(a,u=>{this.computeLookaheadFunc(r,u.idx,Y5t,"Option",u.maxLookahead,og(u))}),bn(s,u=>{this.computeLookaheadFunc(r,u.idx,qCe,"RepetitionMandatory",u.maxLookahead,og(u))}),bn(o,u=>{this.computeLookaheadFunc(r,u.idx,EJ,"RepetitionMandatoryWithSeparator",u.maxLookahead,og(u))}),bn(l,u=>{this.computeLookaheadFunc(r,u.idx,XCe,"RepetitionWithSeparator",u.maxLookahead,og(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=kJ(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){const n=this.getLastExplicitRuleShortName();return kJ(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},B(XR,"LooksAhead"),XR),Pxn=(jR=class extends U4{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},B(jR,"DslMethodsCollectorVisitor"),jR),_J=new Pxn;function H5t(t){_J.reset(),t.accept(_J);const e=_J.dslMethods;return _J.reset(),e}B(H5t,"collectMethods");function ZCe(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffsets.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: @@ -1674,7 +1674,7 @@ ${r}`),this.inline?`{${i}}`:i}},B(sL,"JSDocTagImpl"),sL);function ULt(t,e,r){var `;break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=a}continue}r+=i}return r},"decodeEscapedString"),UOn=(IL=class extends wm{runConverter(e,r,n){const i=super.runConverter(e,r,n);if(e.name==="TITLE"&&typeof i=="string"){const a=i.trim();if(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))return c6t(a)}return i}runCustomConverter(e,r,n){if(e.name==="PEG_STRING")return c6t(r)}},B(IL,"RailroadPegValueConverter"),IL),h6t={parser:{TokenBuilder:B(()=>new VOn,"TokenBuilder"),ValueConverter:B(()=>new UOn,"ValueConverter")}};function a_e(t=gu){const e=Ci(Il(t),Gc),r=Ci(Ml({shared:e}),EOn,h6t);return e.ServiceRegistry.register(r),{shared:e,RailroadPeg:r}}B(a_e,"createRailroadPegServices");var GOn=(PL=class extends Yc{constructor(){super(["treemap"])}},B(PL,"TreemapTokenBuilder"),PL),YOn=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,HOn=(NL=class extends wm{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=YOn.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},B(NL,"TreemapValueConverter"),NL);function f6t(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}B(f6t,"registerValidationChecks");var WOn=(BL=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},B(BL,"TreemapValidator"),BL),d6t={parser:{TokenBuilder:B(()=>new GOn,"TokenBuilder"),ValueConverter:B(()=>new HOn,"ValueConverter")},validation:{TreemapValidator:B(()=>new WOn,"TreemapValidator")}};function p6t(t=gu){const e=Ci(Il(t),Gc),r=Ci(Ml({shared:e}),kOn,d6t);return e.ServiceRegistry.register(r),f6t(r),{shared:e,Treemap:r}}B(p6t,"createTreemapServices");var qOn=($L=class extends wm{runCustomConverter(e,r,n){switch(e.name.toUpperCase()){case"LINK_LABEL":return r.substring(1).trim();default:return}}},B($L,"WardleyValueConverter"),$L),g6t={parser:{ValueConverter:B(()=>new qOn,"ValueConverter")}};function m6t(t=gu){const e=Ci(Il(t),Gc),r=Ci(Ml({shared:e}),ROn,g6t);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}B(m6t,"createWardleyServices");var XOn=(FL=class extends Yc{constructor(){super(["cynefin-beta"])}},B(FL,"CynefinTokenBuilder"),FL),v6t={parser:{TokenBuilder:B(()=>new XOn,"TokenBuilder"),ValueConverter:B(()=>new m3,"ValueConverter")}};function y6t(t=gu){const e=Ci(Il(t),Gc),r=Ci(Ml({shared:e}),vOn,v6t);return e.ServiceRegistry.register(r),{shared:e,Cynefin:r}}B(y6t,"createCynefinServices");var jOn=(zL=class extends Yc{constructor(){super(["gitGraph"])}},B(zL,"GitGraphTokenBuilder"),zL),b6t={parser:{TokenBuilder:B(()=>new jOn,"TokenBuilder"),ValueConverter:B(()=>new m3,"ValueConverter")}};function x6t(t=gu){const e=Ci(Il(t),Gc),r=Ci(Ml({shared:e}),bOn,b6t);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}B(x6t,"createGitGraphServices");var ZOn=(QL=class extends Yc{constructor(){super(["info","showInfo"])}},B(QL,"InfoTokenBuilder"),QL),T6t={parser:{TokenBuilder:B(()=>new ZOn,"TokenBuilder"),ValueConverter:B(()=>new m3,"ValueConverter")}};function w6t(t=gu){const e=Ci(Il(t),Gc),r=Ci(Ml({shared:e}),xOn,T6t);return e.ServiceRegistry.register(r),{shared:e,Info:r}}B(w6t,"createInfoServices");var KOn=(VL=class extends Yc{constructor(){super(["packet"])}},B(VL,"PacketTokenBuilder"),VL),A6t={parser:{TokenBuilder:B(()=>new KOn,"TokenBuilder"),ValueConverter:B(()=>new m3,"ValueConverter")}};function S6t(t=gu){const e=Ci(Il(t),Gc),r=Ci(Ml({shared:e}),TOn,A6t);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}B(S6t,"createPacketServices");var JOn=(UL=class extends Yc{constructor(){super(["pie","showData"])}},B(UL,"PieTokenBuilder"),UL),eCn=(GL=class extends wm{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},B(GL,"PieValueConverter"),GL),O6t={parser:{TokenBuilder:B(()=>new JOn,"TokenBuilder"),ValueConverter:B(()=>new eCn,"ValueConverter")}};function C6t(t=gu){const e=Ci(Il(t),Gc),r=Ci(Ml({shared:e}),wOn,O6t);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}B(C6t,"createPieServices");var tCn=(YL=class extends wm{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return(r==null?void 0:r.length)||0;if(e.name==="QUOTED_NAME")return r.substring(1,r.length-1);if(e.name==="BARE_NAME")return r.replace(/[\t ]+$/,"");if(e.name==="CLASS_ANNOTATION")return r.trim().substring(3).trim();if(e.name==="ICON_ANNOTATION"){const i=r.trim();return i.substring(5,i.length-1)}if(e.name==="DESC_ANNOTATION")return r.trim().substring(2).trim()}},B(YL,"TreeViewValueConverter"),YL),rCn=(HL=class extends Yc{constructor(){super(["treeView-beta"])}},B(HL,"TreeViewTokenBuilder"),HL),E6t={parser:{TokenBuilder:B(()=>new rCn,"TokenBuilder"),ValueConverter:B(()=>new tCn,"ValueConverter")}};function k6t(t=gu){const e=Ci(Il(t),Gc),r=Ci(Ml({shared:e}),_On,E6t);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}B(k6t,"createTreeViewServices");var nCn=(WL=class extends Yc{constructor(){super(["architecture"])}},B(WL,"ArchitectureTokenBuilder"),WL),iCn=(qL=class extends wm{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},B(qL,"ArchitectureValueConverter"),qL),_6t={parser:{TokenBuilder:B(()=>new nCn,"TokenBuilder"),ValueConverter:B(()=>new iCn,"ValueConverter")}};function R6t(t=gu){const e=Ci(Il(t),Gc),r=Ci(Ml({shared:e}),mOn,_6t);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}B(R6t,"createArchitectureServices");var aCn=(XL=class extends Yc{constructor(){super(["eventmodeling"])}},B(XL,"EventModelingTokenBuilder"),XL),D6t=new Set(["cmd","command"]),L6t=new Set(["evt","event"]),s_e=new Set(["rmo","readmodel"]),M6t=new Set(["pcr","processor"]),I6t=new Set(["ui"]);function P6t(t){const e=t.validation.EventModelingValidator,r=t.validation.ValidationRegistry;if(r){const n={EmTimeFrame:e.checkSourceFrameTypes.bind(e),EmResetFrame:e.checkSourceFrameTypes.bind(e)};r.register(n,e)}}B(P6t,"registerValidationChecks");var sCn=(jL=class{checkSourceFrameTypes(e,r){e.sourceFrames.length!==0&&(D6t.has(e.modelEntityType)?this.validateSources(e,new Set([...I6t,...M6t]),"command","ui or processor",r):L6t.has(e.modelEntityType)?this.validateSources(e,D6t,"event","command",r):s_e.has(e.modelEntityType)?this.validateSources(e,L6t,"read model","event",r):M6t.has(e.modelEntityType)?this.validateSources(e,s_e,"processor","read model",r):I6t.has(e.modelEntityType)&&this.validateSources(e,s_e,"ui","read model",r))}validateSources(e,r,n,i,a){for(const s of e.sourceFrames){const o=s.ref;o!==void 0&&!r.has(o.modelEntityType)&&a("error",`A ${n} can only receive input from a ${i}, not from '${o.modelEntityType}'.`,{node:e,property:"sourceFrames"})}}},B(jL,"EventModelingValidator"),jL),N6t={parser:{TokenBuilder:B(()=>new aCn,"TokenBuilder"),ValueConverter:B(()=>new m3,"ValueConverter")},validation:{EventModelingValidator:B(()=>new sCn,"EventModelingValidator")}};function B6t(t=gu){const e=Ci(Il(t),Gc),r=Ci(Ml({shared:e}),yOn,N6t);return e.ServiceRegistry.register(r),P6t(r),{shared:e,EventModel:r}}B(B6t,"createEventModelingServices");var vu={},oCn={info:B(async()=>{const{createInfoServices:t}=await Promise.resolve().then(()=>_Pn),e=t().Info.parser.LangiumParser;vu.info=e},"info"),packet:B(async()=>{const{createPacketServices:t}=await Promise.resolve().then(()=>RPn),e=t().Packet.parser.LangiumParser;vu.packet=e},"packet"),pie:B(async()=>{const{createPieServices:t}=await Promise.resolve().then(()=>DPn),e=t().Pie.parser.LangiumParser;vu.pie=e},"pie"),treeView:B(async()=>{const{createTreeViewServices:t}=await Promise.resolve().then(()=>LPn),e=t().TreeView.parser.LangiumParser;vu.treeView=e},"treeView"),architecture:B(async()=>{const{createArchitectureServices:t}=await Promise.resolve().then(()=>MPn),e=t().Architecture.parser.LangiumParser;vu.architecture=e},"architecture"),gitGraph:B(async()=>{const{createGitGraphServices:t}=await Promise.resolve().then(()=>IPn),e=t().GitGraph.parser.LangiumParser;vu.gitGraph=e},"gitGraph"),eventmodeling:B(async()=>{const{createEventModelingServices:t}=await Promise.resolve().then(()=>PPn),e=t().EventModel.parser.LangiumParser;vu.eventmodeling=e},"eventmodeling"),radar:B(async()=>{const{createRadarServices:t}=await Promise.resolve().then(()=>NPn),e=t().Radar.parser.LangiumParser;vu.radar=e},"radar"),railroad:B(async()=>{const{createRailroadServices:t}=await Promise.resolve().then(()=>BPn),e=t().Railroad.parser.LangiumParser;vu.railroad=e},"railroad"),railroadEbnf:B(async()=>{const{createRailroadEbnfServices:t}=await Promise.resolve().then(()=>$Pn),e=t().RailroadEbnf.parser.LangiumParser;vu.railroadEbnf=e},"railroadEbnf"),railroadAbnf:B(async()=>{const{createRailroadAbnfServices:t}=await Promise.resolve().then(()=>FPn),e=t().RailroadAbnf.parser.LangiumParser;vu.railroadAbnf=e},"railroadAbnf"),railroadPeg:B(async()=>{const{createRailroadPegServices:t}=await Promise.resolve().then(()=>zPn),e=t().RailroadPeg.parser.LangiumParser;vu.railroadPeg=e},"railroadPeg"),treemap:B(async()=>{const{createTreemapServices:t}=await Promise.resolve().then(()=>QPn),e=t().Treemap.parser.LangiumParser;vu.treemap=e},"treemap"),wardley:B(async()=>{const{createWardleyServices:t}=await Promise.resolve().then(()=>VPn),e=t().Wardley.parser.LangiumParser;vu.wardley=e},"wardley"),cynefin:B(async()=>{const{createCynefinServices:t}=await Promise.resolve().then(()=>UPn),e=t().Cynefin.parser.LangiumParser;vu.cynefin=e},"cynefin")};async function tp(t,e){const r=oCn[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);vu[t]||await r();const i=vu[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new L$(i);return i.value}B(tp,"parse");var L$=(ZL=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(` `),n=e.parserErrors.map(i=>{const a=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",s=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${a}, column ${s}: ${i.message}`}).join(` `);super(`Parsing failed: ${r} ${n}`),this.result=e}},B(ZL,"MermaidParseError"),ZL),da={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},lCn=Wn.gitGraph,IO=O(()=>Ja({...lCn,...Rr().gitGraph}),"getConfig"),ur=new zAe(()=>{const t=IO(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function Bee(){return Mit({length:7})}O(Bee,"getID");function $6t(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}O($6t,"uniqBy");var uCn=O(function(t){ur.records.direction=t},"setDirection"),cCn=O(function(t){pe.debug("options str",t),t=t==null?void 0:t.trim(),t=t||"{}";try{ur.records.options=JSON.parse(t)}catch(e){pe.error("error while parsing gitGraph options",e.message)}},"setOptions"),hCn=O(function(){return ur.records.options},"getOptions"),fCn=O(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;pe.info("commit",e,r,n,i),pe.debug("Entering commit:",e,r,n,i);const a=IO();r=Xt.sanitizeText(r,a),e=Xt.sanitizeText(e,a),i=i==null?void 0:i.map(o=>Xt.sanitizeText(o,a));const s={id:r||ur.records.seq+"-"+Bee(),message:e,seq:ur.records.seq++,type:n??da.NORMAL,tags:i??[],parents:ur.records.head==null?[]:[ur.records.head.id],branch:ur.records.currBranch};ur.records.head=s,pe.info("main branch",a.mainBranchName),ur.records.commits.has(s.id)&&pe.warn(`Commit ID ${s.id} already exists`),ur.records.commits.set(s.id,s),ur.records.branches.set(ur.records.currBranch,s.id),pe.debug("in pushCommit "+s.id)},"commit"),dCn=O(function(t){let e=t.name;const r=t.order;if(e=Xt.sanitizeText(e,IO()),ur.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);ur.records.branches.set(e,ur.records.head!=null?ur.records.head.id:null),ur.records.branchConfig.set(e,{name:e,order:r}),F6t(e),pe.debug("in createBranch")},"branch"),pCn=O(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=IO();e=Xt.sanitizeText(e,a),r&&(r=Xt.sanitizeText(r,a));const s=ur.records.branches.get(ur.records.currBranch),o=ur.records.branches.get(e),l=s?ur.records.commits.get(s):void 0,u=o?ur.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(ur.records.currBranch===e){const d=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw d.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},d}if(l===void 0||!l){const d=new Error(`Incorrect usage of "merge". Current branch (${ur.records.currBranch})has no commits`);throw d.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},d}if(!ur.records.branches.has(e)){const d=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw d.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},d}if(u===void 0||!u){const d=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw d.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},d}if(l===u){const d=new Error('Incorrect usage of "merge". Both branches have same head');throw d.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},d}if(r&&ur.records.commits.has(r)){const d=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw d.hash={text:`merge ${e} ${r} ${n} ${i==null?void 0:i.join(" ")}`,token:`merge ${e} ${r} ${n} ${i==null?void 0:i.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i==null?void 0:i.join(" ")}`]},d}const h=o||"",f={id:r||`${ur.records.seq}-${Bee()}`,message:`merged branch ${e} into ${ur.records.currBranch}`,seq:ur.records.seq++,parents:ur.records.head==null?[]:[ur.records.head.id,h],branch:ur.records.currBranch,type:da.MERGE,customType:n,customId:!!r,tags:i??[]};ur.records.head=f,ur.records.commits.set(f.id,f),ur.records.branches.set(ur.records.currBranch,f.id),pe.debug(ur.records.branches),pe.debug("in mergeBranch")},"merge"),gCn=O(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;pe.debug("Entering cherryPick:",e,r,n);const a=IO();if(e=Xt.sanitizeText(e,a),r=Xt.sanitizeText(r,a),n=n==null?void 0:n.map(l=>Xt.sanitizeText(l,a)),i=Xt.sanitizeText(i,a),!e||!ur.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=ur.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===da.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!ur.records.commits.has(r)){if(o===ur.records.currBranch){const f=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},f}const l=ur.records.branches.get(ur.records.currBranch);if(l===void 0||!l){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${ur.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},f}const u=ur.records.commits.get(l);if(u===void 0||!u){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${ur.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},f}const h={id:ur.records.seq+"-"+Bee(),message:`cherry-picked ${s==null?void 0:s.message} into ${ur.records.currBranch}`,seq:ur.records.seq++,parents:ur.records.head==null?[]:[ur.records.head.id,s.id],branch:ur.records.currBranch,type:da.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===da.MERGE?`|parent:${i}`:""}`]};ur.records.head=h,ur.records.commits.set(h.id,h),ur.records.branches.set(ur.records.currBranch,h.id),pe.debug(ur.records.branches),pe.debug("in cherryPick")}},"cherryPick"),F6t=O(function(t){if(t=Xt.sanitizeText(t,IO()),ur.records.branches.has(t)){ur.records.currBranch=t;const e=ur.records.branches.get(ur.records.currBranch);e===void 0||!e?ur.records.head=null:ur.records.head=ur.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function o_e(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}O(o_e,"upsert");function l_e(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in ur.records.branches)ur.records.branches.get(i)===e.id&&n.push(i);if(pe.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=ur.records.commits.get(e.parents[0]);o_e(t,e,i),e.parents[1]&&t.push(ur.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=ur.records.commits.get(e.parents[0]);o_e(t,e,i)}}t=$6t(t,i=>i.id),l_e(t)}O(l_e,"prettyPrintCommitHistory");var mCn=O(function(){pe.debug(ur.records.commits);const t=z6t()[0];l_e([t])},"prettyPrint"),vCn=O(function(){ur.reset(),ba()},"clear"),yCn=O(function(){return[...ur.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),bCn=O(function(){return ur.records.branches},"getBranches"),xCn=O(function(){return ur.records.commits},"getCommits"),z6t=O(function(){const t=[...ur.records.commits.values()];return t.forEach(function(e){pe.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),TCn=O(function(){return ur.records.currBranch},"getCurrentBranch"),wCn=O(function(){return ur.records.direction},"getDirection"),ACn=O(function(){return ur.records.head},"getHead"),Q6t={commitType:da,getConfig:IO,setDirection:uCn,setOptions:cCn,getOptions:hCn,commit:fCn,branch:dCn,merge:pCn,cherryPick:gCn,checkout:F6t,prettyPrint:mCn,clear:vCn,getBranchesAsObjArray:yCn,getBranches:bCn,getCommits:xCn,getCommitsArray:z6t,getCurrentBranch:TCn,getDirection:wCn,getHead:ACn,setAccTitle:Ea,getAccTitle:Xa,getAccDescription:Za,setAccDescription:ja,setDiagramTitle:Ka,getDiagramTitle:ka},SCn=O((t,e)=>{Ic(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)OCn(r,e)},"populate"),OCn=O((t,e)=>{const n={Commit:O(i=>e.commit(CCn(i)),"Commit"),Branch:O(i=>e.branch(ECn(i)),"Branch"),Merge:O(i=>e.merge(kCn(i)),"Merge"),Checkout:O(i=>e.checkout(_Cn(i)),"Checkout"),CherryPicking:O(i=>e.cherryPick(RCn(i)),"CherryPicking")}[t.$type];n?n(t):pe.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),CCn=O(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?da[t.type]:da.NORMAL,tags:t.tags??void 0}),"parseCommit"),ECn=O(t=>({name:t.name,order:t.order??0}),"parseBranch"),kCn=O(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?da[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),_Cn=O(t=>t.branch,"parseCheckout"),RCn=O(t=>{var r;return{id:t.id,targetId:"",tags:((r=t.tags)==null?void 0:r.length)===0?void 0:t.tags,parent:t.parent}},"parseCherryPicking"),DCn={parse:O(async t=>{const e=await tp("gitGraph",t);pe.debug(e),SCn(e,Q6t)},"parse")},b2=10,x2=40,Am=4,o1=2,PO=8,$ee=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),u_e=12,c_e=new Set(["redux-color","redux-dark-color"]),LCn=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),NO=O((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),Mh=new Map,Ih=new Map,Fee=30,M$=new Map,zee=[],l1=0,ui="LR",MCn=O(()=>{Mh.clear(),Ih.clear(),M$.clear(),l1=0,zee=[],ui="LR"},"clear"),V6t=O(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),U6t=O(t=>{let e,r,n;return ui==="BT"?(r=O((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=O((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{var s,o;const a=ui==="TB"||ui=="BT"?(s=Ih.get(i))==null?void 0:s.y:(o=Ih.get(i))==null?void 0:o.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),ICn=O(t=>{let e="",r=1/0;return t.forEach(n=>{const i=Ih.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),PCn=O((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=BCn(o),i=Math.max(n,i)):a.push(o),$Cn(o,n)}),n=i,a.forEach(s=>{FCn(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o!=null&&o.parents.length){const l=ICn(o.parents);n=Ih.get(l).y-x2,n<=i&&(i=n);const u=Mh.get(o.branch).pos,h=n-b2;Ih.set(o.id,{x:u,y:h})}})},"setParallelBTPos"),NCn=O(t=>{var n;const e=U6t(t.parents.filter(i=>i!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=(n=Ih.get(e))==null?void 0:n.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),BCn=O(t=>NCn(t)+x2,"calculateCommitPosition"),$Cn=O((t,e)=>{const r=Mh.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+b2;return Ih.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),FCn=O((t,e,r)=>{const n=Mh.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;Ih.set(t.id,{x:a,y:i})},"setRootPosition"),zCn=O((t,e,r,n,i,a)=>{const{theme:s}=Ye(),o=$ee.has(s??""),l=c_e.has(s??""),u=LCn.has(s??"");if(a===da.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${NO(i,PO,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${NO(i,PO,l)} ${n}-inner`);else if(a===da.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const h=t.append("circle");if(h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?7:10),h.attr("class",`commit ${e.id} commit${NO(i,PO,l)}`),a===da.MERGE){const f=t.append("circle");f.attr("cx",r.x),f.attr("cy",r.y),f.attr("r",o?5:6),f.attr("class",`commit ${n} ${e.id} commit${NO(i,PO,l)}`)}if(a===da.REVERSE){const f=t.append("path"),d=o?4:5;f.attr("d",`M ${r.x-d},${r.y-d}L${r.x+d},${r.y+d}M${r.x-d},${r.y+d}L${r.x+d},${r.y-d}`).attr("class",`commit ${n} ${e.id} commit${NO(i,PO,l)}`)}}},"drawCommitBullet"),QCn=O((t,e,r,n,i)=>{var a;if(e.type!==da.CHERRY_PICK&&(e.customId&&e.type===da.MERGE||e.type!==da.MERGE)&&i.showCommitLabel){const s=t.append("g"),o=s.insert("rect").attr("class","commit-label-bkg"),l=s.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),u=(a=l.node())==null?void 0:a.getBBox();if(u&&(o.attr("x",r.posWithOffset-u.width/2-o1).attr("y",r.y+13.5).attr("width",u.width+2*o1).attr("height",u.height+2*o1),ui==="TB"||ui==="BT"?(o.attr("x",r.x-(u.width+4*Am+5)).attr("y",r.y-12),l.attr("x",r.x-(u.width+4*Am)).attr("y",r.y+u.height-12)):l.attr("x",r.posWithOffset-u.width/2),i.rotateCommitLabel))if(ui==="TB"||ui==="BT")l.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),o.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const h=-7.5-(u.width+10)/25*9.5,f=10+u.width/25*8.5;s.attr("transform","translate("+h+", "+f+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),VCn=O((t,e,r,n)=>{var i;if(e.tags.length>0){let a=0,s=0,o=0;const l=[];for(const u of e.tags.reverse()){const h=t.insert("polygon"),f=t.append("circle"),d=t.append("text").attr("y",r.y-16-a).attr("class","tag-label").text(u),p=(i=d.node())==null?void 0:i.getBBox();if(!p)throw new Error("Tag bbox not found");s=Math.max(s,p.width),o=Math.max(o,p.height),d.attr("x",r.posWithOffset-p.width/2),l.push({tag:d,hole:f,rect:h,yOffset:a}),a+=20}for(const{tag:u,hole:h,rect:f,yOffset:d}of l){const p=o/2,g=r.y-19.2-d;if(f.attr("class","tag-label-bkg").attr("points",` - ${n-s/2-Am/2},${g+o1} + ${n-s/2-Am/2},${g+o1} ${n-s/2-Am/2},${g-o1} ${r.posWithOffset-s/2-Am},${g-p-o1} ${r.posWithOffset+s/2+Am},${g-p-o1} @@ -1737,7 +1737,7 @@ ${r}`),this.inline?`{${i}}`:i}},B(sL,"JSDocTagImpl"),sL);function ULt(t,e,r){var font-family: 'trebuchet ms', verdana, arial, sans-serif; font-family: var(--mermaid-font-family); } - + ${n?iEn(t):aEn(t)} .branch { @@ -2158,7 +2158,7 @@ Expecting `+Mt.join(", ")+", got '"+(this.terminals_[ct]||ct)+"'":Xr="Parse erro stroke: ${t.requirementBorderColor}; stroke-width: ${t.requirementBorderSize}; } - + .reqTitle, .reqLabel{ fill: ${t.requirementTextColor}; } @@ -3519,10 +3519,10 @@ Expecting `+te.join(", ")+", got '"+(this.terminals_[U]||U)+"'":ve="Parse error stroke-dasharray: 8; } .node-icon-text { - display: flex; + display: flex; align-items: center; } - + .node-icon-text > div { color: #fff; margin: 1px;