@plumile/ui 0.1.84 → 0.1.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +109 -27
- package/lib/esm/BackofficeJsonViewerAsync-BeBxIpGT.js +7 -0
- package/lib/esm/{BackofficeJsonViewerAsync-B_YPyubK.js.map → BackofficeJsonViewerAsync-BeBxIpGT.js.map} +1 -1
- package/lib/esm/{MarkdownCodeBlock-B__tyIcc.js → MarkdownCodeBlock-C0d5VZVs.js} +3 -3
- package/lib/esm/{MarkdownCodeBlock-B__tyIcc.js.map → MarkdownCodeBlock-C0d5VZVs.js.map} +1 -1
- package/lib/esm/{MarkdownRenderer-w1EzXVlv.js → MarkdownRenderer-BZQymHWR.js} +37 -36
- package/lib/esm/MarkdownRenderer-BZQymHWR.js.map +1 -0
- package/lib/esm/{MarkdownShikiCodeBlock-Dv7ONFFy.js → MarkdownShikiCodeBlock-CQENUqVC.js} +2 -3
- package/lib/esm/{MarkdownShikiCodeBlock-Dv7ONFFy.js.map → MarkdownShikiCodeBlock-CQENUqVC.js.map} +1 -1
- package/lib/esm/architecture-PBZL5I3N-BzBIDLaO.js +3 -0
- package/lib/esm/{architectureDiagram-2XIMDMQ5-D9W3hi1n.js → architectureDiagram-2XIMDMQ5-C3274bP5.js} +7 -16
- package/lib/esm/{architectureDiagram-2XIMDMQ5-D9W3hi1n.js.map → architectureDiagram-2XIMDMQ5-C3274bP5.js.map} +1 -1
- package/lib/esm/{blockDiagram-WCTKOSBZ-0tOAzLGT.js → blockDiagram-WCTKOSBZ-BlgoYSMA.js} +7 -8
- package/lib/esm/{blockDiagram-WCTKOSBZ-0tOAzLGT.js.map → blockDiagram-WCTKOSBZ-BlgoYSMA.js.map} +1 -1
- package/lib/esm/{c4Diagram-IC4MRINW-BfvUsZKR.js → c4Diagram-IC4MRINW-Cp7JuV3A.js} +4 -4
- package/lib/esm/{c4Diagram-IC4MRINW-BfvUsZKR.js.map → c4Diagram-IC4MRINW-Cp7JuV3A.js.map} +1 -1
- package/lib/esm/{channel-BevqKLlC.js → channel-DogymxsL.js} +2 -2
- package/lib/esm/{channel-BevqKLlC.js.map → channel-DogymxsL.js.map} +1 -1
- package/lib/esm/{chunk-7E7YKBS2-CdBV12RO.js → chunk-7E7YKBS2-Pt8h9jYn.js} +2 -2
- package/lib/esm/{chunk-7E7YKBS2-CdBV12RO.js.map → chunk-7E7YKBS2-Pt8h9jYn.js.map} +1 -1
- package/lib/esm/{chunk-7R4GIKGN-tSw2Wb9z.js → chunk-7R4GIKGN-DFba5m0T.js} +2 -2
- package/lib/esm/{chunk-7R4GIKGN-tSw2Wb9z.js.map → chunk-7R4GIKGN-DFba5m0T.js.map} +1 -1
- package/lib/esm/{chunk-C72U2L5F-DygXHeeZ.js → chunk-C72U2L5F-C7A2Zfr9.js} +2 -2
- package/lib/esm/{chunk-C72U2L5F-DygXHeeZ.js.map → chunk-C72U2L5F-C7A2Zfr9.js.map} +1 -1
- package/lib/esm/{chunk-EGIJ26TM-DJ1G_X9D.js → chunk-EGIJ26TM-CTAmlHSC.js} +2 -2
- package/lib/esm/{chunk-EGIJ26TM-DJ1G_X9D.js.map → chunk-EGIJ26TM-CTAmlHSC.js.map} +1 -1
- package/lib/esm/{chunk-GEFDOKGD-CWu-rFVf.js → chunk-GEFDOKGD-DwcK4le_.js} +2 -2
- package/lib/esm/{chunk-GEFDOKGD-CWu-rFVf.js.map → chunk-GEFDOKGD-DwcK4le_.js.map} +1 -1
- package/lib/esm/{chunk-GLR3WWYH-Dy7JAiPZ.js → chunk-GLR3WWYH-B_ufWlZA.js} +7 -7
- package/lib/esm/{chunk-GLR3WWYH-Dy7JAiPZ.js.map → chunk-GLR3WWYH-B_ufWlZA.js.map} +1 -1
- package/lib/esm/{chunk-HHEYEP7N-CwMxvvqW.js → chunk-HHEYEP7N-Cd1T4lH1.js} +2 -2
- package/lib/esm/{chunk-HHEYEP7N-CwMxvvqW.js.map → chunk-HHEYEP7N-Cd1T4lH1.js.map} +1 -1
- package/lib/esm/{chunk-JSJVCQXG-BhZagW93.js → chunk-JSJVCQXG-C3QauA5P.js} +2 -2
- package/lib/esm/{chunk-JSJVCQXG-BhZagW93.js.map → chunk-JSJVCQXG-C3QauA5P.js.map} +1 -1
- package/lib/esm/{chunk-KX2RTZJC-BfnFx2cA.js → chunk-KX2RTZJC-CvwGKvGK.js} +2 -2
- package/lib/esm/{chunk-KX2RTZJC-BfnFx2cA.js.map → chunk-KX2RTZJC-CvwGKvGK.js.map} +1 -1
- package/lib/esm/{chunk-KYZI473N-BwYBBC73.js → chunk-KYZI473N-BSnk8jTP.js} +9 -9
- package/lib/esm/{chunk-KYZI473N-BwYBBC73.js.map → chunk-KYZI473N-BSnk8jTP.js.map} +1 -1
- package/lib/esm/{chunk-L3YUKLVL-pMJOn-lT.js → chunk-L3YUKLVL-C_cuxclB.js} +2 -2
- package/lib/esm/{chunk-L3YUKLVL-pMJOn-lT.js.map → chunk-L3YUKLVL-C_cuxclB.js.map} +1 -1
- package/lib/esm/{chunk-NQ4KR5QH-CtcoAyde.js → chunk-NQ4KR5QH-BKl-7l0B.js} +5 -5
- package/lib/esm/{chunk-NQ4KR5QH-CtcoAyde.js.map → chunk-NQ4KR5QH-BKl-7l0B.js.map} +1 -1
- package/lib/esm/{chunk-O4XLMI2P-DxPipWrP.js → chunk-O4XLMI2P-BdVt_1-O.js} +89 -89
- package/lib/esm/{chunk-O4XLMI2P-DxPipWrP.js.map → chunk-O4XLMI2P-BdVt_1-O.js.map} +1 -1
- package/lib/esm/{chunk-OZEHJAEY-Cdfu-MGD.js → chunk-OZEHJAEY-BpRlGWBe.js} +2 -2
- package/lib/esm/{chunk-OZEHJAEY-Cdfu-MGD.js.map → chunk-OZEHJAEY-BpRlGWBe.js.map} +1 -1
- package/lib/esm/{chunk-PQ6SQG4A-DlekIw0F.js → chunk-PQ6SQG4A-_Snj96al.js} +2 -2
- package/lib/esm/{chunk-PQ6SQG4A-DlekIw0F.js.map → chunk-PQ6SQG4A-_Snj96al.js.map} +1 -1
- package/lib/esm/{chunk-PU5JKC2W-nnfoXdoB.js → chunk-PU5JKC2W-D0uOJ9Iw.js} +3 -3
- package/lib/esm/{chunk-PU5JKC2W-nnfoXdoB.js.map → chunk-PU5JKC2W-D0uOJ9Iw.js.map} +1 -1
- package/lib/esm/{chunk-R5LLSJPH-lr9fZO00.js → chunk-R5LLSJPH-BuuyFmhX.js} +2 -2
- package/lib/esm/{chunk-R5LLSJPH-lr9fZO00.js.map → chunk-R5LLSJPH-BuuyFmhX.js.map} +1 -1
- package/lib/esm/{chunk-WL4C6EOR-CepZqrvG.js → chunk-WL4C6EOR-CG_NidXe.js} +6 -6
- package/lib/esm/{chunk-WL4C6EOR-CepZqrvG.js.map → chunk-WL4C6EOR-CG_NidXe.js.map} +1 -1
- package/lib/esm/{chunk-XIRO2GV7-CLkLLbAz.js → chunk-XIRO2GV7-CA5ZRsNA.js} +2 -2
- package/lib/esm/{chunk-XIRO2GV7-CLkLLbAz.js.map → chunk-XIRO2GV7-CA5ZRsNA.js.map} +1 -1
- package/lib/esm/{chunk-XZSTWKYB-CtrW-UDJ.js → chunk-XZSTWKYB-C3gBacLv.js} +3 -3
- package/lib/esm/{chunk-XZSTWKYB-CtrW-UDJ.js.map → chunk-XZSTWKYB-C3gBacLv.js.map} +1 -1
- package/lib/esm/{chunk-YBOYWFTD-DQeJ-Crn.js → chunk-YBOYWFTD-BCp20l87.js} +3 -3
- package/lib/esm/{chunk-YBOYWFTD-DQeJ-Crn.js.map → chunk-YBOYWFTD-BCp20l87.js.map} +1 -1
- package/lib/esm/classDiagram-VBA2DB6C-BS3cbjOM.js +31 -0
- package/lib/esm/{classDiagram-VBA2DB6C-Cz661asi.js.map → classDiagram-VBA2DB6C-BS3cbjOM.js.map} +1 -1
- package/lib/esm/classDiagram-v2-RAHNMMFH-ohjXfFJD.js +31 -0
- package/lib/esm/{classDiagram-v2-RAHNMMFH-gl-L4tD0.js.map → classDiagram-v2-RAHNMMFH-ohjXfFJD.js.map} +1 -1
- package/lib/esm/{cose-bilkent-S5V4N54A-BW3RwNAW.js → cose-bilkent-S5V4N54A-DY9L2G_R.js} +2 -2
- package/lib/esm/{cose-bilkent-S5V4N54A-BW3RwNAW.js.map → cose-bilkent-S5V4N54A-DY9L2G_R.js.map} +1 -1
- package/lib/esm/{cytoscape.esm-CVPUhzV_.js → cytoscape.esm-DHzL-Ipx.js} +2020 -2020
- package/lib/esm/{cytoscape.esm-CVPUhzV_.js.map → cytoscape.esm-DHzL-Ipx.js.map} +1 -1
- package/lib/esm/{dagre-CUvGkXru.js → dagre-Dx7aq3cc.js} +2 -2
- package/lib/esm/{dagre-CUvGkXru.js.map → dagre-Dx7aq3cc.js.map} +1 -1
- package/lib/esm/{dagre-KLK3FWXG-CfNc9pEH.js → dagre-KLK3FWXG-CWyKitWK.js} +9 -10
- package/lib/esm/{dagre-KLK3FWXG-CfNc9pEH.js.map → dagre-KLK3FWXG-CWyKitWK.js.map} +1 -1
- package/lib/esm/{diagram-E7M64L7V-owGUX1SK.js → diagram-E7M64L7V-DSV2K-9b.js} +7 -16
- package/lib/esm/{diagram-E7M64L7V-owGUX1SK.js.map → diagram-E7M64L7V-DSV2K-9b.js.map} +1 -1
- package/lib/esm/{diagram-IFDJBPK2-BNNr6py0.js → diagram-IFDJBPK2-CqMWKS_O.js} +5 -14
- package/lib/esm/{diagram-IFDJBPK2-BNNr6py0.js.map → diagram-IFDJBPK2-CqMWKS_O.js.map} +1 -1
- package/lib/esm/{diagram-P4PSJMXO-DYqpdLub.js → diagram-P4PSJMXO-ox4cwXgJ.js} +5 -14
- package/lib/esm/{diagram-P4PSJMXO-DYqpdLub.js.map → diagram-P4PSJMXO-ox4cwXgJ.js.map} +1 -1
- package/lib/esm/{erDiagram-INFDFZHY-Bg0Cs5pu.js → erDiagram-INFDFZHY-B88c7D4Z.js} +11 -12
- package/lib/esm/{erDiagram-INFDFZHY-Bg0Cs5pu.js.map → erDiagram-INFDFZHY-B88c7D4Z.js.map} +1 -1
- package/lib/esm/{flowDiagram-PKNHOUZH-TkU27ZFV.js → flowDiagram-PKNHOUZH-BVq4hnMW.js} +12 -13
- package/lib/esm/{flowDiagram-PKNHOUZH-TkU27ZFV.js.map → flowDiagram-PKNHOUZH-BVq4hnMW.js.map} +1 -1
- package/lib/esm/{ganttDiagram-A5KZAMGK-C3eQMnaD.js → ganttDiagram-A5KZAMGK-tCYQkLQX.js} +3 -3
- package/lib/esm/{ganttDiagram-A5KZAMGK-C3eQMnaD.js.map → ganttDiagram-A5KZAMGK-tCYQkLQX.js.map} +1 -1
- package/lib/esm/gitGraph-HDMCJU4V-DBI0f9ev.js +3 -0
- package/lib/esm/{gitGraphDiagram-K3NZZRJ6-CeYQZRvp.js → gitGraphDiagram-K3NZZRJ6-CPKVXgAJ.js} +4 -13
- package/lib/esm/{gitGraphDiagram-K3NZZRJ6-CeYQZRvp.js.map → gitGraphDiagram-K3NZZRJ6-CPKVXgAJ.js.map} +1 -1
- package/lib/esm/info-3K5VOQVL-BJiSm8n_.js +3 -0
- package/lib/esm/{infoDiagram-LFFYTUFH-rYfR0LAG.js → infoDiagram-LFFYTUFH-BplZy-tU.js} +4 -12
- package/lib/esm/{infoDiagram-LFFYTUFH-rYfR0LAG.js.map → infoDiagram-LFFYTUFH-BplZy-tU.js.map} +1 -1
- package/lib/esm/{ishikawaDiagram-PHBUUO56-Cv42PfHQ.js → ishikawaDiagram-PHBUUO56-yNQge--f.js} +4 -5
- package/lib/esm/{ishikawaDiagram-PHBUUO56-Cv42PfHQ.js.map → ishikawaDiagram-PHBUUO56-yNQge--f.js.map} +1 -1
- package/lib/esm/{journeyDiagram-4ABVD52K-TAtGE2GU.js → journeyDiagram-4ABVD52K-CkAvnKcN.js} +5 -6
- package/lib/esm/{journeyDiagram-4ABVD52K-TAtGE2GU.js.map → journeyDiagram-4ABVD52K-CkAvnKcN.js.map} +1 -1
- package/lib/esm/{kanban-definition-K7BYSVSG-iey_6CC1.js → kanban-definition-K7BYSVSG-ftrqeDlg.js} +8 -9
- package/lib/esm/{kanban-definition-K7BYSVSG-iey_6CC1.js.map → kanban-definition-K7BYSVSG-ftrqeDlg.js.map} +1 -1
- package/lib/esm/{katex-W0_-X3Wb.js → katex-BkGwaUG9.js} +51 -11
- package/lib/esm/katex-BkGwaUG9.js.map +1 -0
- package/lib/esm/{line-AZ-MMAnt.js → line-DNPRFJdY.js} +2 -2
- package/lib/esm/{line-AZ-MMAnt.js.map → line-DNPRFJdY.js.map} +1 -1
- package/lib/esm/{mermaid-parser.core-2VeDDCcu.js → mermaid-parser.core-BgwwyaN0.js} +16 -9
- package/lib/esm/{mermaid-parser.core-2VeDDCcu.js.map → mermaid-parser.core-BgwwyaN0.js.map} +1 -1
- package/lib/esm/{mermaid.core-Ckiof3bn.js → mermaid.core-CA6pZPXB.js} +39 -40
- package/lib/esm/{mermaid.core-Ckiof3bn.js.map → mermaid.core-CA6pZPXB.js.map} +1 -1
- package/lib/esm/{mindmap-definition-YRQLILUH-DttP-UXP.js → mindmap-definition-YRQLILUH-C77nDmSd.js} +10 -11
- package/lib/esm/{mindmap-definition-YRQLILUH-DttP-UXP.js.map → mindmap-definition-YRQLILUH-C77nDmSd.js.map} +1 -1
- package/lib/esm/packet-RMMSAZCW-tNKoQ_pX.js +3 -0
- package/lib/esm/pie-UPGHQEXC-BQsQOO3N.js +3 -0
- package/lib/esm/{pieDiagram-SKSYHLDU-BuVky6TE.js → pieDiagram-SKSYHLDU-BRD3HGjq.js} +5 -14
- package/lib/esm/{pieDiagram-SKSYHLDU-BuVky6TE.js.map → pieDiagram-SKSYHLDU-BRD3HGjq.js.map} +1 -1
- package/lib/esm/{quadrantDiagram-337W2JSQ-COnmLuk_.js → quadrantDiagram-337W2JSQ-FM-tlL4R.js} +2 -2
- package/lib/esm/{quadrantDiagram-337W2JSQ-COnmLuk_.js.map → quadrantDiagram-337W2JSQ-FM-tlL4R.js.map} +1 -1
- package/lib/esm/radar-KQ55EAFF-B4MRf1H7.js +3 -0
- package/lib/esm/{requirementDiagram-Z7DCOOCP-ChSklNBb.js → requirementDiagram-Z7DCOOCP-BoUW2Gmh.js} +10 -11
- package/lib/esm/{requirementDiagram-Z7DCOOCP-ChSklNBb.js.map → requirementDiagram-Z7DCOOCP-BoUW2Gmh.js.map} +1 -1
- package/lib/esm/{sankeyDiagram-WA2Y5GQK-tI6Eo-LD.js → sankeyDiagram-WA2Y5GQK-DrmMyi5l.js} +2 -2
- package/lib/esm/{sankeyDiagram-WA2Y5GQK-tI6Eo-LD.js.map → sankeyDiagram-WA2Y5GQK-DrmMyi5l.js.map} +1 -1
- package/lib/esm/{sequenceDiagram-2WXFIKYE-C7KV1rxZ.js → sequenceDiagram-2WXFIKYE-DhmiZE9h.js} +4 -4
- package/lib/esm/{sequenceDiagram-2WXFIKYE-C7KV1rxZ.js.map → sequenceDiagram-2WXFIKYE-DhmiZE9h.js.map} +1 -1
- package/lib/esm/{src-5_DIXRl3.js → src-C6x6EDga.js} +930 -929
- package/lib/esm/src-C6x6EDga.js.map +1 -0
- package/lib/esm/{stateDiagram-RAJIS63D-BFn7Uwqt.js → stateDiagram-RAJIS63D-HWYHe-A9.js} +13 -14
- package/lib/esm/{stateDiagram-RAJIS63D-BFn7Uwqt.js.map → stateDiagram-RAJIS63D-HWYHe-A9.js.map} +1 -1
- package/lib/esm/stateDiagram-v2-FVOUBMTO-CJKbs50l.js +29 -0
- package/lib/esm/{stateDiagram-v2-FVOUBMTO-DDke9x6W.js.map → stateDiagram-v2-FVOUBMTO-CJKbs50l.js.map} +1 -1
- package/lib/esm/{timeline-definition-YZTLITO2-BxLV7tzr.js → timeline-definition-YZTLITO2-BSLcoqGe.js} +4 -4
- package/lib/esm/{timeline-definition-YZTLITO2-BxLV7tzr.js.map → timeline-definition-YZTLITO2-BSLcoqGe.js.map} +1 -1
- package/lib/esm/treemap-KZPCXAKY-Delo462D.js +3 -0
- package/lib/esm/ui.js +4 -4
- package/lib/esm/{vennDiagram-LZ73GAT5-BciD5X0b.js → vennDiagram-LZ73GAT5-D3kOVhW6.js} +4 -5
- package/lib/esm/{vennDiagram-LZ73GAT5-BciD5X0b.js.map → vennDiagram-LZ73GAT5-D3kOVhW6.js.map} +1 -1
- package/lib/esm/{xychartDiagram-JWTSCODW-yIaPAmwy.js → xychartDiagram-JWTSCODW-DSN5EjHR.js} +6 -7
- package/lib/esm/{xychartDiagram-JWTSCODW-yIaPAmwy.js.map → xychartDiagram-JWTSCODW-DSN5EjHR.js.map} +1 -1
- package/lib/types/atomic/atoms/relative-time-text/RelativeTimeText.d.ts +8 -0
- package/lib/types/atomic/atoms/relative-time-text/RelativeTimeText.d.ts.map +1 -1
- package/lib/types/atomic/atoms/relative-time-text/__tests__/RelativeTimeText.test.d.ts +2 -0
- package/lib/types/atomic/atoms/relative-time-text/__tests__/RelativeTimeText.test.d.ts.map +1 -0
- package/lib/types/atomic/molecules/empty-state/__tests__/EmptyState.test.d.ts +2 -0
- package/lib/types/atomic/molecules/empty-state/__tests__/EmptyState.test.d.ts.map +1 -0
- package/lib/types/atomic/molecules/markdown/MarkdownRenderer.d.ts +2 -0
- package/lib/types/atomic/molecules/markdown/MarkdownRenderer.d.ts.map +1 -1
- package/lib/types/atomic/molecules/markdown/MarkdownRenderer.helpers.d.ts +44 -0
- package/lib/types/atomic/molecules/markdown/MarkdownRenderer.helpers.d.ts.map +1 -0
- package/lib/types/atomic/molecules/markdown/__tests__/MarkdownRenderer.test.d.ts +2 -0
- package/lib/types/atomic/molecules/markdown/__tests__/MarkdownRenderer.test.d.ts.map +1 -0
- package/lib/types/atomic/molecules/markdown/helpers/__tests__/assertNever.test.d.ts +2 -0
- package/lib/types/atomic/molecules/markdown/helpers/__tests__/assertNever.test.d.ts.map +1 -0
- package/lib/types/atomic/molecules/markdown/helpers/__tests__/escapeHtml.test.d.ts +2 -0
- package/lib/types/atomic/molecules/markdown/helpers/__tests__/escapeHtml.test.d.ts.map +1 -0
- package/lib/types/atomic/molecules/markdown/helpers/__tests__/isExternalLink.test.d.ts +2 -0
- package/lib/types/atomic/molecules/markdown/helpers/__tests__/isExternalLink.test.d.ts.map +1 -0
- package/lib/types/atomic/molecules/markdown/helpers/isExternalLink.d.ts +7 -0
- package/lib/types/atomic/molecules/markdown/helpers/isExternalLink.d.ts.map +1 -1
- package/lib/types/atomic/molecules/toast/ToastProvider.d.ts +4 -1
- package/lib/types/atomic/molecules/toast/ToastProvider.d.ts.map +1 -1
- package/lib/types/atomic/molecules/toast/__tests__/ToastProvider.test.d.ts +2 -0
- package/lib/types/atomic/molecules/toast/__tests__/ToastProvider.test.d.ts.map +1 -0
- package/lib/types/backoffice/atoms/copyable_text/CopyableText.d.ts.map +1 -1
- package/lib/types/backoffice/atoms/skeleton/Skeleton.d.ts.map +1 -1
- package/lib/types/backoffice/atoms/skeleton/Skeleton.helpers.d.ts +8 -0
- package/lib/types/backoffice/atoms/skeleton/Skeleton.helpers.d.ts.map +1 -0
- package/lib/types/backoffice/atoms/skeleton/__tests__/Skeleton.helpers.test.d.ts +2 -0
- package/lib/types/backoffice/atoms/skeleton/__tests__/Skeleton.helpers.test.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_json_viewer/BackofficeJsonViewer.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.d.ts +3 -0
- package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_json_viewer/__tests__/LazyBackofficeJsonViewer.helpers.test.d.ts +2 -0
- package/lib/types/backoffice/molecules/backoffice_json_viewer/__tests__/LazyBackofficeJsonViewer.helpers.test.d.ts.map +1 -0
- package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.d.ts.map +1 -1
- package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/__tests__/helpers.test.d.ts +2 -0
- package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/__tests__/helpers.test.d.ts.map +1 -0
- package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/helpers.d.ts +5 -0
- package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/helpers.d.ts.map +1 -0
- package/lib/types/backoffice/shared/__tests__/copyWithExecCommand.test.d.ts +2 -0
- package/lib/types/backoffice/shared/__tests__/copyWithExecCommand.test.d.ts.map +1 -0
- package/lib/types/backoffice/shared/copyWithExecCommand.d.ts +2 -0
- package/lib/types/backoffice/shared/copyWithExecCommand.d.ts.map +1 -0
- package/lib/types/components/charts/MetricHistoryChart.d.ts +8 -0
- package/lib/types/components/charts/MetricHistoryChart.d.ts.map +1 -1
- package/lib/types/components/charts/TimeSeriesLineChart.d.ts +4 -0
- package/lib/types/components/charts/TimeSeriesLineChart.d.ts.map +1 -1
- package/lib/types/components/charts/__tests__/MetricHistoryChart.helpers.test.d.ts +2 -0
- package/lib/types/components/charts/__tests__/MetricHistoryChart.helpers.test.d.ts.map +1 -0
- package/lib/types/components/charts/__tests__/TimeSeriesLineChart.helpers.test.d.ts +2 -0
- package/lib/types/components/charts/__tests__/TimeSeriesLineChart.helpers.test.d.ts.map +1 -0
- package/lib/types/components/data-table/DataTable.d.ts +5 -1
- package/lib/types/components/data-table/DataTable.d.ts.map +1 -1
- package/lib/types/components/data-table/VirtualizedConnectionTable.d.ts +7 -1
- package/lib/types/components/data-table/VirtualizedConnectionTable.d.ts.map +1 -1
- package/lib/types/components/data-table/__tests__/DataTable.helpers.test.d.ts +2 -0
- package/lib/types/components/data-table/__tests__/DataTable.helpers.test.d.ts.map +1 -0
- package/lib/types/components/data-table/__tests__/VirtualizedConnectionTable.helpers.test.d.ts +2 -0
- package/lib/types/components/data-table/__tests__/VirtualizedConnectionTable.helpers.test.d.ts.map +1 -0
- package/lib/types/components/data-table/__tests__/tableBreakpoints.test.d.ts +2 -0
- package/lib/types/components/data-table/__tests__/tableBreakpoints.test.d.ts.map +1 -0
- package/lib/types/components/data-table/tableBreakpoints.d.ts +8 -0
- package/lib/types/components/data-table/tableBreakpoints.d.ts.map +1 -1
- package/lib/types/components/layout/PageShell.d.ts +5 -0
- package/lib/types/components/layout/PageShell.d.ts.map +1 -1
- package/lib/types/components/layout/__tests__/PageShell.test.d.ts +2 -0
- package/lib/types/components/layout/__tests__/PageShell.test.d.ts.map +1 -0
- package/lib/types/components/tile/__tests__/InfoTile.test.d.ts +2 -0
- package/lib/types/components/tile/__tests__/InfoTile.test.d.ts.map +1 -0
- package/lib/types/shared/__tests__/agent-formatting.test.d.ts +2 -0
- package/lib/types/shared/__tests__/agent-formatting.test.d.ts.map +1 -0
- package/lib/types/theme/ThemeProvider.d.ts +5 -0
- package/lib/types/theme/ThemeProvider.d.ts.map +1 -1
- package/lib/types/theme/__tests__/ThemeProvider.test.d.ts +2 -0
- package/lib/types/theme/__tests__/ThemeProvider.test.d.ts.map +1 -0
- package/lib/types/theme/__tests__/tools.test.d.ts +2 -0
- package/lib/types/theme/__tests__/tools.test.d.ts.map +1 -0
- package/package.json +10 -10
- package/lib/esm/BackofficeJsonViewerAsync-B_YPyubK.js +0 -10
- package/lib/esm/MarkdownRenderer-w1EzXVlv.js.map +0 -1
- package/lib/esm/architecture-PBZL5I3N-BF1f82qm.js +0 -3
- package/lib/esm/classDiagram-VBA2DB6C-Cz661asi.js +0 -32
- package/lib/esm/classDiagram-v2-RAHNMMFH-gl-L4tD0.js +0 -32
- package/lib/esm/gitGraph-HDMCJU4V-TM85Whmp.js +0 -3
- package/lib/esm/info-3K5VOQVL-CY50BvVz.js +0 -3
- package/lib/esm/katex-W0_-X3Wb.js.map +0 -1
- package/lib/esm/packet-RMMSAZCW-DFGYBR05.js +0 -3
- package/lib/esm/pie-UPGHQEXC-CNCiNoc-.js +0 -3
- package/lib/esm/radar-KQ55EAFF-CHJYxvxr.js +0 -3
- package/lib/esm/src-5_DIXRl3.js.map +0 -1
- package/lib/esm/stateDiagram-v2-FVOUBMTO-DDke9x6W.js +0 -30
- package/lib/esm/treemap-KZPCXAKY-CjhytAJ2.js +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-7R4GIKGN-tSw2Wb9z.js","names":["_","_","ChannelsReusable","_","ChannelsReusable","ChannelsReusable","_","_","channels","ChannelsReusable","_","_","_","adjust2","lighten2","adjust3","invert2","darken2","isDark2","adjust4","invert3","rgba2","darken3","lighten3","isDark3","lighten4","invert4","darken4","adjust5","isDark4","lighten5","adjust6","invert5","darken5","isDark5","DOMPurify"],"sources":["../../../../node_modules/khroma/dist/utils/channel.js","../../../../node_modules/khroma/dist/utils/lang.js","../../../../node_modules/khroma/dist/utils/unit.js","../../../../node_modules/khroma/dist/utils/index.js","../../../../node_modules/khroma/dist/constants.js","../../../../node_modules/khroma/dist/channels/type.js","../../../../node_modules/khroma/dist/channels/index.js","../../../../node_modules/khroma/dist/channels/reusable.js","../../../../node_modules/khroma/dist/color/hex.js","../../../../node_modules/khroma/dist/color/hsl.js","../../../../node_modules/khroma/dist/color/keyword.js","../../../../node_modules/khroma/dist/color/rgb.js","../../../../node_modules/khroma/dist/color/index.js","../../../../node_modules/khroma/dist/methods/change.js","../../../../node_modules/khroma/dist/methods/rgba.js","../../../../node_modules/khroma/dist/methods/luminance.js","../../../../node_modules/khroma/dist/methods/is_light.js","../../../../node_modules/khroma/dist/methods/is_dark.js","../../../../node_modules/khroma/dist/methods/adjust_channel.js","../../../../node_modules/khroma/dist/methods/lighten.js","../../../../node_modules/khroma/dist/methods/darken.js","../../../../node_modules/khroma/dist/methods/adjust.js","../../../../node_modules/khroma/dist/methods/mix.js","../../../../node_modules/khroma/dist/methods/invert.js","../../../../node_modules/dompurify/dist/purify.es.mjs","../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-7R4GIKGN.mjs"],"sourcesContent":["/* IMPORT */\n/* MAIN */\nconst Channel = {\n /* CLAMP */\n min: {\n r: 0,\n g: 0,\n b: 0,\n s: 0,\n l: 0,\n a: 0\n },\n max: {\n r: 255,\n g: 255,\n b: 255,\n h: 360,\n s: 100,\n l: 100,\n a: 1\n },\n clamp: {\n r: (r) => r >= 255 ? 255 : (r < 0 ? 0 : r),\n g: (g) => g >= 255 ? 255 : (g < 0 ? 0 : g),\n b: (b) => b >= 255 ? 255 : (b < 0 ? 0 : b),\n h: (h) => h % 360,\n s: (s) => s >= 100 ? 100 : (s < 0 ? 0 : s),\n l: (l) => l >= 100 ? 100 : (l < 0 ? 0 : l),\n a: (a) => a >= 1 ? 1 : (a < 0 ? 0 : a)\n },\n /* CONVERSION */\n //SOURCE: https://planetcalc.com/7779\n toLinear: (c) => {\n const n = c / 255;\n return c > .03928 ? Math.pow(((n + .055) / 1.055), 2.4) : n / 12.92;\n },\n //SOURCE: https://gist.github.com/mjackson/5311256\n hue2rgb: (p, q, t) => {\n if (t < 0)\n t += 1;\n if (t > 1)\n t -= 1;\n if (t < 1 / 6)\n return p + (q - p) * 6 * t;\n if (t < 1 / 2)\n return q;\n if (t < 2 / 3)\n return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n },\n hsl2rgb: ({ h, s, l }, channel) => {\n if (!s)\n return l * 2.55; // Achromatic\n h /= 360;\n s /= 100;\n l /= 100;\n const q = (l < .5) ? l * (1 + s) : (l + s) - (l * s);\n const p = 2 * l - q;\n switch (channel) {\n case 'r': return Channel.hue2rgb(p, q, h + 1 / 3) * 255;\n case 'g': return Channel.hue2rgb(p, q, h) * 255;\n case 'b': return Channel.hue2rgb(p, q, h - 1 / 3) * 255;\n }\n },\n rgb2hsl: ({ r, g, b }, channel) => {\n r /= 255;\n g /= 255;\n b /= 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n if (channel === 'l')\n return l * 100;\n if (max === min)\n return 0; // Achromatic\n const d = max - min;\n const s = (l > .5) ? d / (2 - max - min) : d / (max + min);\n if (channel === 's')\n return s * 100;\n switch (max) {\n case r: return ((g - b) / d + (g < b ? 6 : 0)) * 60;\n case g: return ((b - r) / d + 2) * 60;\n case b: return ((r - g) / d + 4) * 60;\n default: return -1; //TSC: TypeScript is stupid and complains if there isn't this useless default statement\n }\n }\n};\n/* EXPORT */\nexport default Channel;\n","/* MAIN */\nconst Lang = {\n /* API */\n clamp: (number, lower, upper) => {\n if (lower > upper)\n return Math.min(lower, Math.max(upper, number));\n return Math.min(upper, Math.max(lower, number));\n },\n round: (number) => {\n return Math.round(number * 10000000000) / 10000000000;\n }\n};\n/* EXPORT */\nexport default Lang;\n","/* MAIN */\nconst Unit = {\n /* API */\n dec2hex: (dec) => {\n const hex = Math.round(dec).toString(16);\n return hex.length > 1 ? hex : `0${hex}`;\n }\n};\n/* EXPORT */\nexport default Unit;\n","/* IMPORT */\nimport channel from './channel.js';\nimport lang from './lang.js';\nimport unit from './unit.js';\n/* MAIN */\nconst Utils = {\n channel,\n lang,\n unit\n};\n/* EXPORT */\nexport default Utils;\n","/* IMPORT */\nimport _ from './utils/index.js';\n/* MAIN */\nconst DEC2HEX = {};\nfor (let i = 0; i <= 255; i++)\n DEC2HEX[i] = _.unit.dec2hex(i); // Populating dynamically, striking a balance between code size and performance\nconst TYPE = {\n ALL: 0,\n RGB: 1,\n HSL: 2\n};\n/* EXPORT */\nexport { DEC2HEX, TYPE };\n","/* IMPORT */\nimport { TYPE } from '../constants.js';\n/* MAIN */\nclass Type {\n constructor() {\n /* VARIABLES */\n this.type = TYPE.ALL;\n }\n /* API */\n get() {\n return this.type;\n }\n set(type) {\n if (this.type && this.type !== type)\n throw new Error('Cannot change both RGB and HSL channels at the same time');\n this.type = type;\n }\n reset() {\n this.type = TYPE.ALL;\n }\n is(type) {\n return this.type === type;\n }\n}\n/* EXPORT */\nexport default Type;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport Type from './type.js';\nimport { TYPE } from '../constants.js';\n/* MAIN */\nclass Channels {\n /* CONSTRUCTOR */\n constructor(data, color) {\n this.color = color;\n this.changed = false;\n this.data = data; //TSC\n this.type = new Type();\n }\n /* API */\n set(data, color) {\n this.color = color;\n this.changed = false;\n this.data = data; //TSC\n this.type.type = TYPE.ALL;\n return this;\n }\n /* HELPERS */\n _ensureHSL() {\n const data = this.data;\n const { h, s, l } = data;\n if (h === undefined)\n data.h = _.channel.rgb2hsl(data, 'h');\n if (s === undefined)\n data.s = _.channel.rgb2hsl(data, 's');\n if (l === undefined)\n data.l = _.channel.rgb2hsl(data, 'l');\n }\n _ensureRGB() {\n const data = this.data;\n const { r, g, b } = data;\n if (r === undefined)\n data.r = _.channel.hsl2rgb(data, 'r');\n if (g === undefined)\n data.g = _.channel.hsl2rgb(data, 'g');\n if (b === undefined)\n data.b = _.channel.hsl2rgb(data, 'b');\n }\n /* GETTERS */\n get r() {\n const data = this.data;\n const r = data.r;\n if (!this.type.is(TYPE.HSL) && r !== undefined)\n return r;\n this._ensureHSL();\n return _.channel.hsl2rgb(data, 'r');\n }\n get g() {\n const data = this.data;\n const g = data.g;\n if (!this.type.is(TYPE.HSL) && g !== undefined)\n return g;\n this._ensureHSL();\n return _.channel.hsl2rgb(data, 'g');\n }\n get b() {\n const data = this.data;\n const b = data.b;\n if (!this.type.is(TYPE.HSL) && b !== undefined)\n return b;\n this._ensureHSL();\n return _.channel.hsl2rgb(data, 'b');\n }\n get h() {\n const data = this.data;\n const h = data.h;\n if (!this.type.is(TYPE.RGB) && h !== undefined)\n return h;\n this._ensureRGB();\n return _.channel.rgb2hsl(data, 'h');\n }\n get s() {\n const data = this.data;\n const s = data.s;\n if (!this.type.is(TYPE.RGB) && s !== undefined)\n return s;\n this._ensureRGB();\n return _.channel.rgb2hsl(data, 's');\n }\n get l() {\n const data = this.data;\n const l = data.l;\n if (!this.type.is(TYPE.RGB) && l !== undefined)\n return l;\n this._ensureRGB();\n return _.channel.rgb2hsl(data, 'l');\n }\n get a() {\n return this.data.a;\n }\n /* SETTERS */\n set r(r) {\n this.type.set(TYPE.RGB);\n this.changed = true;\n this.data.r = r;\n }\n set g(g) {\n this.type.set(TYPE.RGB);\n this.changed = true;\n this.data.g = g;\n }\n set b(b) {\n this.type.set(TYPE.RGB);\n this.changed = true;\n this.data.b = b;\n }\n set h(h) {\n this.type.set(TYPE.HSL);\n this.changed = true;\n this.data.h = h;\n }\n set s(s) {\n this.type.set(TYPE.HSL);\n this.changed = true;\n this.data.s = s;\n }\n set l(l) {\n this.type.set(TYPE.HSL);\n this.changed = true;\n this.data.l = l;\n }\n set a(a) {\n this.changed = true;\n this.data.a = a;\n }\n}\n/* EXPORT */\nexport default Channels;\n","/* IMPORT */\nimport Channels from './/index.js';\n/* MAIN */\nconst channels = new Channels({ r: 0, g: 0, b: 0, a: 0 }, 'transparent');\n/* EXPORT */\nexport default channels;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\nimport { DEC2HEX } from '../constants.js';\n/* MAIN */\nconst Hex = {\n /* VARIABLES */\n re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,\n /* API */\n parse: (color) => {\n if (color.charCodeAt(0) !== 35)\n return; // '#'\n const match = color.match(Hex.re);\n if (!match)\n return;\n const hex = match[1];\n const dec = parseInt(hex, 16);\n const length = hex.length;\n const hasAlpha = length % 4 === 0;\n const isFullLength = length > 4;\n const multiplier = isFullLength ? 1 : 17;\n const bits = isFullLength ? 8 : 4;\n const bitsOffset = hasAlpha ? 0 : -1;\n const mask = isFullLength ? 255 : 15;\n return ChannelsReusable.set({\n r: ((dec >> (bits * (bitsOffset + 3))) & mask) * multiplier,\n g: ((dec >> (bits * (bitsOffset + 2))) & mask) * multiplier,\n b: ((dec >> (bits * (bitsOffset + 1))) & mask) * multiplier,\n a: hasAlpha ? (dec & mask) * multiplier / 255 : 1\n }, color);\n },\n stringify: (channels) => {\n const { r, g, b, a } = channels;\n if (a < 1) { // #RRGGBBAA\n return `#${DEC2HEX[Math.round(r)]}${DEC2HEX[Math.round(g)]}${DEC2HEX[Math.round(b)]}${DEC2HEX[Math.round(a * 255)]}`;\n }\n else { // #RRGGBB\n return `#${DEC2HEX[Math.round(r)]}${DEC2HEX[Math.round(g)]}${DEC2HEX[Math.round(b)]}`;\n }\n }\n};\n/* EXPORT */\nexport default Hex;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\n/* MAIN */\nconst HSL = {\n /* VARIABLES */\n 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,\n hueRe: /^(.+?)(deg|grad|rad|turn)$/i,\n /* HELPERS */\n _hue2deg: (hue) => {\n const match = hue.match(HSL.hueRe);\n if (match) {\n const [, number, unit] = match;\n switch (unit) {\n case 'grad': return _.channel.clamp.h(parseFloat(number) * .9);\n case 'rad': return _.channel.clamp.h(parseFloat(number) * 180 / Math.PI);\n case 'turn': return _.channel.clamp.h(parseFloat(number) * 360);\n }\n }\n return _.channel.clamp.h(parseFloat(hue));\n },\n /* API */\n parse: (color) => {\n const charCode = color.charCodeAt(0);\n if (charCode !== 104 && charCode !== 72)\n return; // 'h'/'H'\n const match = color.match(HSL.re);\n if (!match)\n return;\n const [, h, s, l, a, isAlphaPercentage] = match;\n return ChannelsReusable.set({\n h: HSL._hue2deg(h),\n s: _.channel.clamp.s(parseFloat(s)),\n l: _.channel.clamp.l(parseFloat(l)),\n a: a ? _.channel.clamp.a(isAlphaPercentage ? parseFloat(a) / 100 : parseFloat(a)) : 1\n }, color);\n },\n stringify: (channels) => {\n const { h, s, l, a } = channels;\n if (a < 1) { // HSLA\n return `hsla(${_.lang.round(h)}, ${_.lang.round(s)}%, ${_.lang.round(l)}%, ${a})`;\n }\n else { // HSL\n return `hsl(${_.lang.round(h)}, ${_.lang.round(s)}%, ${_.lang.round(l)}%)`;\n }\n }\n};\n/* EXPORT */\nexport default HSL;\n","/* IMPORT */\nimport Hex from './hex.js';\n/* MAIN */\nconst Keyword = {\n /* VARIABLES */\n colors: {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyanaqua: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n gold: '#ffd700',\n goldenrod: '#daa520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavender: '#e6e6fa',\n lavenderblush: '#fff0f5',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n transparent: '#00000000',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n },\n /* API */\n parse: (color) => {\n color = color.toLowerCase();\n const hex = Keyword.colors[color];\n if (!hex)\n return;\n return Hex.parse(hex);\n },\n stringify: (channels) => {\n const hex = Hex.stringify(channels);\n for (const name in Keyword.colors) {\n if (Keyword.colors[name] === hex)\n return name;\n }\n return;\n }\n};\n/* EXPORT */\nexport default Keyword;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\n/* MAIN */\nconst RGB = {\n /* VARIABLES */\n 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,\n /* API */\n parse: (color) => {\n const charCode = color.charCodeAt(0);\n if (charCode !== 114 && charCode !== 82)\n return; // 'r'/'R'\n const match = color.match(RGB.re);\n if (!match)\n return;\n const [, r, isRedPercentage, g, isGreenPercentage, b, isBluePercentage, a, isAlphaPercentage] = match;\n return ChannelsReusable.set({\n r: _.channel.clamp.r(isRedPercentage ? parseFloat(r) * 2.55 : parseFloat(r)),\n g: _.channel.clamp.g(isGreenPercentage ? parseFloat(g) * 2.55 : parseFloat(g)),\n b: _.channel.clamp.b(isBluePercentage ? parseFloat(b) * 2.55 : parseFloat(b)),\n a: a ? _.channel.clamp.a(isAlphaPercentage ? parseFloat(a) / 100 : parseFloat(a)) : 1\n }, color);\n },\n stringify: (channels) => {\n const { r, g, b, a } = channels;\n if (a < 1) { // RGBA\n return `rgba(${_.lang.round(r)}, ${_.lang.round(g)}, ${_.lang.round(b)}, ${_.lang.round(a)})`;\n }\n else { // RGB\n return `rgb(${_.lang.round(r)}, ${_.lang.round(g)}, ${_.lang.round(b)})`;\n }\n }\n};\n/* EXPORT */\nexport default RGB;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport Hex from './hex.js';\nimport HSL from './hsl.js';\nimport Keyword from './keyword.js';\nimport RGB from './rgb.js';\nimport { TYPE } from '../constants.js';\n/* MAIN */\nconst Color = {\n /* VARIABLES */\n format: {\n keyword: Keyword,\n hex: Hex,\n rgb: RGB,\n rgba: RGB,\n hsl: HSL,\n hsla: HSL\n },\n /* API */\n parse: (color) => {\n if (typeof color !== 'string')\n return color;\n const channels = Hex.parse(color) || RGB.parse(color) || HSL.parse(color) || Keyword.parse(color); // Color providers ordered with performance in mind\n if (channels)\n return channels;\n throw new Error(`Unsupported color format: \"${color}\"`);\n },\n stringify: (channels) => {\n // SASS returns a keyword if possible, but we avoid doing that as it's slower and doesn't really add any value\n if (!channels.changed && channels.color)\n return channels.color;\n if (channels.type.is(TYPE.HSL) || channels.data.r === undefined) {\n return HSL.stringify(channels);\n }\n else if (channels.a < 1 || !Number.isInteger(channels.r) || !Number.isInteger(channels.g) || !Number.isInteger(channels.b)) {\n return RGB.stringify(channels);\n }\n else {\n return Hex.stringify(channels);\n }\n }\n};\n/* EXPORT */\nexport default Color;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\nconst change = (color, channels) => {\n const ch = Color.parse(color);\n for (const c in channels) {\n ch[c] = _.channel.clamp[c](channels[c]);\n }\n return Color.stringify(ch);\n};\n/* EXPORT */\nexport default change;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\nimport Color from '../color/index.js';\nimport change from './change.js';\n/* MAIN */\nconst rgba = (r, g, b = 0, a = 1) => {\n if (typeof r !== 'number')\n return change(r, { a: g });\n const channels = ChannelsReusable.set({\n r: _.channel.clamp.r(r),\n g: _.channel.clamp.g(g),\n b: _.channel.clamp.b(b),\n a: _.channel.clamp.a(a)\n });\n return Color.stringify(channels);\n};\n/* EXPORT */\nexport default rgba;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\n//SOURCE: https://planetcalc.com/7779\nconst luminance = (color) => {\n const { r, g, b } = Color.parse(color);\n const luminance = .2126 * _.channel.toLinear(r) + .7152 * _.channel.toLinear(g) + .0722 * _.channel.toLinear(b);\n return _.lang.round(luminance);\n};\n/* EXPORT */\nexport default luminance;\n","/* IMPORT */\nimport luminance from './luminance.js';\n/* MAIN */\nconst isLight = (color) => {\n return luminance(color) >= .5;\n};\n/* EXPORT */\nexport default isLight;\n","/* IMPORT */\nimport isLight from './is_light.js';\n/* MAIN */\nconst isDark = (color) => {\n return !isLight(color);\n};\n/* EXPORT */\nexport default isDark;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\nconst adjustChannel = (color, channel, amount) => {\n const channels = Color.parse(color);\n const amountCurrent = channels[channel];\n const amountNext = _.channel.clamp[channel](amountCurrent + amount);\n if (amountCurrent !== amountNext)\n channels[channel] = amountNext;\n return Color.stringify(channels);\n};\n/* EXPORT */\nexport default adjustChannel;\n","/* IMPORT */\nimport adjustChannel from './adjust_channel.js';\n/* MAIN */\nconst lighten = (color, amount) => {\n return adjustChannel(color, 'l', amount);\n};\n/* EXPORT */\nexport default lighten;\n","/* IMPORT */\nimport adjustChannel from './adjust_channel.js';\n/* MAIN */\nconst darken = (color, amount) => {\n return adjustChannel(color, 'l', -amount);\n};\n/* EXPORT */\nexport default darken;\n","/* IMPORT */\nimport Color from '../color/index.js';\nimport change from './change.js';\n/* MAIN */\nconst adjust = (color, channels) => {\n const ch = Color.parse(color);\n const changes = {};\n for (const c in channels) {\n if (!channels[c])\n continue;\n changes[c] = ch[c] + channels[c];\n }\n return change(color, changes);\n};\n/* EXPORT */\nexport default adjust;\n","/* IMPORT */\nimport Color from '../color/index.js';\nimport rgba from './rgba.js';\n/* MAIN */\n//SOURCE: https://github.com/sass/dart-sass/blob/7457d2e9e7e623d9844ffd037a070cf32d39c348/lib/src/functions/color.dart#L718-L756\nconst mix = (color1, color2, weight = 50) => {\n const { r: r1, g: g1, b: b1, a: a1 } = Color.parse(color1);\n const { r: r2, g: g2, b: b2, a: a2 } = Color.parse(color2);\n const weightScale = weight / 100;\n const weightNormalized = (weightScale * 2) - 1;\n const alphaDelta = a1 - a2;\n const weight1combined = ((weightNormalized * alphaDelta) === -1) ? weightNormalized : (weightNormalized + alphaDelta) / (1 + weightNormalized * alphaDelta);\n const weight1 = (weight1combined + 1) / 2;\n const weight2 = 1 - weight1;\n const r = (r1 * weight1) + (r2 * weight2);\n const g = (g1 * weight1) + (g2 * weight2);\n const b = (b1 * weight1) + (b2 * weight2);\n const a = (a1 * weightScale) + (a2 * (1 - weightScale));\n return rgba(r, g, b, a);\n};\n/* EXPORT */\nexport default mix;\n","/* IMPORT */\nimport Color from '../color/index.js';\nimport mix from './mix.js';\n/* MAIN */\nconst invert = (color, weight = 100) => {\n const inverse = Color.parse(color);\n inverse.r = 255 - inverse.r;\n inverse.g = 255 - inverse.g;\n inverse.b = 255 - inverse.b;\n return mix(inverse, color, weight);\n};\n/* EXPORT */\nexport default invert;\n","/*! @license DOMPurify 3.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.3/LICENSE */\n\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object; // eslint-disable-line import/no-mutable-exports\nlet {\n apply,\n construct\n} = typeof Reflect !== 'undefined' && Reflect;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(func, thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return func.apply(thisArg, args);\n };\n}\nif (!construct) {\n construct = function construct(Func) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySplice = unapply(Array.prototype.splice);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n if (thisArg instanceof RegExp) {\n thisArg.lastIndex = 0;\n }\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(Func) {\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return construct(Func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*/gm); // eslint-disable-line unicorn/better-regex\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n ARIA_ATTR: ARIA_ATTR,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT,\n DATA_ATTR: DATA_ATTR,\n DOCTYPE_NAME: DOCTYPE_NAME,\n ERB_EXPR: ERB_EXPR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR\n});\n\n/* eslint-disable @typescript-eslint/indent */\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.3.3';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document\n } = window;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */\n const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {\n tagCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n }\n }));\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({});\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({});\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;\n HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = create(null);\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Prevent function-based ADD_ATTR / ADD_TAGS from leaking across calls */\n if (!objectHasOwnProperty(cfg, 'ADD_TAGS')) {\n EXTRA_ELEMENT_HANDLING.tagCheck = null;\n }\n if (!objectHasOwnProperty(cfg, 'ADD_ATTR')) {\n EXTRA_ELEMENT_HANDLING.attributeCheck = null;\n }\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (typeof cfg.ADD_TAGS === 'function') {\n EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;\n } else {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n }\n if (cfg.ADD_ATTR) {\n if (typeof cfg.ADD_ATTR === 'function') {\n EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;\n } else {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n }\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n if (cfg.ADD_FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * _isClobbered\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(element) {\n return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');\n };\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param value object to check whether it's a DOM node\n * @return true is object is a DOM node\n */\n const _isNode = function _isNode(value) {\n return typeof Node === 'function' && value instanceof Node;\n };\n function _executeHooks(hooks, currentNode, data) {\n arrayForEach(hooks, hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content = null;\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\\w!]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove element if anything forbids its presence */\n if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n }\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n content = stringReplace(content, expr, ' ');\n });\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* FORBID_ATTR must always win, even if ADD_ATTR predicate would allow it */\n if (FORBID_ATTR[lcName]) {\n return false;\n }\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n const {\n attributes\n } = currentNode;\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes || _isClobbered(currentNode)) {\n return;\n }\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined\n };\n let l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const {\n name,\n namespaceURI,\n value: attrValue\n } = attr;\n const lcName = transformCaseFunc(name);\n const initValue = attrValue;\n let value = name === 'value' ? initValue : stringTrim(initValue);\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Make sure we cannot easily use animated hrefs, even if animations are allowed */\n if (lcName === 'attributename' && stringMatch(value, 'href')) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n value = stringReplace(value, expr, ' ');\n });\n }\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Handle attributes that require Trusted Types */\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case 'TrustedScriptURL':\n {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n if (value !== initValue) {\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {\n _removeAttribute(name, currentNode);\n }\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n /* Sanitize tags and elements */\n _sanitizeElements(shadowNode);\n /* Check attributes next */\n _sanitizeAttributes(shadowNode);\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n _sanitizeElements(currentNode);\n /* Check attributes next */\n _sanitizeAttributes(currentNode);\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n }\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function (entryPoint, hookFunction) {\n if (hookFunction !== undefined) {\n const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];\n }\n return arrayPop(hooks[entryPoint]);\n };\n DOMPurify.removeHooks = function (entryPoint) {\n hooks[entryPoint] = [];\n };\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.mjs.map\n","import {\n __export,\n __name,\n log,\n setLogLevel\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagram-api/regexes.ts\nvar frontMatterRegex = /^-{3}\\s*[\\n\\r](.*?)[\\n\\r]-{3}\\s*[\\n\\r]+/s;\nvar directiveRegex = /%{2}{\\s*(?:(\\w+)\\s*:|(\\w+))\\s*(?:(\\w+)|((?:(?!}%{2}).|\\r?\\n)*))?\\s*(?:}%{2})?/gi;\nvar anyCommentRegex = /\\s*%%.*\\n/gm;\n\n// src/errors.ts\nvar UnknownDiagramError = class extends Error {\n static {\n __name(this, \"UnknownDiagramError\");\n }\n constructor(message) {\n super(message);\n this.name = \"UnknownDiagramError\";\n }\n};\n\n// src/diagram-api/detectType.ts\nvar detectors = {};\nvar detectType = /* @__PURE__ */ __name(function(text, config2) {\n text = text.replace(frontMatterRegex, \"\").replace(directiveRegex, \"\").replace(anyCommentRegex, \"\\n\");\n for (const [key, { detector }] of Object.entries(detectors)) {\n const diagram = detector(text, config2);\n if (diagram) {\n return key;\n }\n }\n throw new UnknownDiagramError(\n `No diagram type detected matching given configuration for text: ${text}`\n );\n}, \"detectType\");\nvar registerLazyLoadedDiagrams = /* @__PURE__ */ __name((...diagrams2) => {\n for (const { id, detector, loader } of diagrams2) {\n addDetector(id, detector, loader);\n }\n}, \"registerLazyLoadedDiagrams\");\nvar addDetector = /* @__PURE__ */ __name((key, detector, loader) => {\n if (detectors[key]) {\n log.warn(`Detector with key ${key} already exists. Overwriting.`);\n }\n detectors[key] = { detector, loader };\n log.debug(`Detector with key ${key} added${loader ? \" with loader\" : \"\"}`);\n}, \"addDetector\");\nvar getDiagramLoader = /* @__PURE__ */ __name((key) => {\n return detectors[key].loader;\n}, \"getDiagramLoader\");\n\n// src/assignWithDepth.ts\nvar assignWithDepth = /* @__PURE__ */ __name((dst, src, { depth = 2, clobber = false } = {}) => {\n const config2 = { depth, clobber };\n if (Array.isArray(src) && !Array.isArray(dst)) {\n src.forEach((s) => assignWithDepth(dst, s, config2));\n return dst;\n } else if (Array.isArray(src) && Array.isArray(dst)) {\n src.forEach((s) => {\n if (!dst.includes(s)) {\n dst.push(s);\n }\n });\n return dst;\n }\n if (dst === void 0 || depth <= 0) {\n if (dst !== void 0 && dst !== null && typeof dst === \"object\" && typeof src === \"object\") {\n return Object.assign(dst, src);\n } else {\n return src;\n }\n }\n if (src !== void 0 && typeof dst === \"object\" && typeof src === \"object\") {\n Object.keys(src).forEach((key) => {\n if (typeof src[key] === \"object\" && src[key] !== null && (dst[key] === void 0 || typeof dst[key] === \"object\")) {\n if (dst[key] === void 0) {\n dst[key] = Array.isArray(src[key]) ? [] : {};\n }\n dst[key] = assignWithDepth(dst[key], src[key], { depth: depth - 1, clobber });\n } else if (clobber || typeof dst[key] !== \"object\" && typeof src[key] !== \"object\") {\n dst[key] = src[key];\n }\n });\n }\n return dst;\n}, \"assignWithDepth\");\nvar assignWithDepth_default = assignWithDepth;\n\n// src/themes/theme-base.js\nimport { adjust as adjust2, darken, invert, isDark, lighten } from \"khroma\";\n\n// src/themes/erDiagram-oldHardcodedValues.ts\nvar oldAttributeBackgroundColorOdd = \"#ffffff\";\nvar oldAttributeBackgroundColorEven = \"#f2f2f2\";\n\n// src/themes/theme-helpers.js\nimport { adjust } from \"khroma\";\nvar mkBorder = /* @__PURE__ */ __name((col, darkMode) => darkMode ? adjust(col, { s: -40, l: 10 }) : adjust(col, { s: -40, l: -10 }), \"mkBorder\");\n\n// src/themes/theme-base.js\nvar Theme = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#fff4dd\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"#333\";\n this.THEME_COLOR_LIMIT = 12;\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n }\n updateColors() {\n this.primaryTextColor = this.primaryTextColor || (this.darkMode ? \"#eee\" : \"#333\");\n this.secondaryColor = this.secondaryColor || adjust2(this.primaryColor, { h: -120 });\n this.tertiaryColor = this.tertiaryColor || adjust2(this.primaryColor, { h: 180, l: 5 });\n this.primaryBorderColor = this.primaryBorderColor || mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = this.secondaryBorderColor || mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = this.tertiaryBorderColor || mkBorder(this.tertiaryColor, this.darkMode);\n this.noteBorderColor = this.noteBorderColor || mkBorder(this.noteBkgColor, this.darkMode);\n this.noteBkgColor = this.noteBkgColor || \"#fff5ad\";\n this.noteTextColor = this.noteTextColor || \"#333\";\n this.secondaryTextColor = this.secondaryTextColor || invert(this.secondaryColor);\n this.tertiaryTextColor = this.tertiaryTextColor || invert(this.tertiaryColor);\n this.lineColor = this.lineColor || invert(this.background);\n this.arrowheadColor = this.arrowheadColor || invert(this.background);\n this.textColor = this.textColor || this.primaryTextColor;\n this.border2 = this.border2 || this.tertiaryBorderColor;\n this.nodeBkg = this.nodeBkg || this.primaryColor;\n this.mainBkg = this.mainBkg || this.primaryColor;\n this.nodeBorder = this.nodeBorder || this.primaryBorderColor;\n this.clusterBkg = this.clusterBkg || this.tertiaryColor;\n this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor;\n this.defaultLinkColor = this.defaultLinkColor || this.lineColor;\n this.titleColor = this.titleColor || this.tertiaryTextColor;\n this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? darken(this.secondaryColor, 30) : this.secondaryColor);\n this.nodeTextColor = this.nodeTextColor || this.primaryTextColor;\n this.actorBorder = this.actorBorder || this.primaryBorderColor;\n this.actorBkg = this.actorBkg || this.mainBkg;\n this.actorTextColor = this.actorTextColor || this.primaryTextColor;\n this.actorLineColor = this.actorLineColor || this.actorBorder;\n this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg;\n this.signalColor = this.signalColor || this.textColor;\n this.signalTextColor = this.signalTextColor || this.textColor;\n this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder;\n this.labelTextColor = this.labelTextColor || this.actorTextColor;\n this.loopTextColor = this.loopTextColor || this.actorTextColor;\n this.activationBorderColor = this.activationBorderColor || darken(this.secondaryColor, 10);\n this.activationBkgColor = this.activationBkgColor || this.secondaryColor;\n this.sequenceNumberColor = this.sequenceNumberColor || invert(this.lineColor);\n this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor;\n this.altSectionBkgColor = this.altSectionBkgColor || \"white\";\n this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor;\n this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor;\n this.excludeBkgColor = this.excludeBkgColor || \"#eeeeee\";\n this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor;\n this.taskBkgColor = this.taskBkgColor || this.primaryColor;\n this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor;\n this.activeTaskBkgColor = this.activeTaskBkgColor || lighten(this.primaryColor, 23);\n this.gridColor = this.gridColor || \"lightgrey\";\n this.doneTaskBkgColor = this.doneTaskBkgColor || \"lightgrey\";\n this.doneTaskBorderColor = this.doneTaskBorderColor || \"grey\";\n this.critBorderColor = this.critBorderColor || \"#ff8888\";\n this.critBkgColor = this.critBkgColor || \"red\";\n this.todayLineColor = this.todayLineColor || \"red\";\n this.vertLineColor = this.vertLineColor || \"navy\";\n this.taskTextColor = this.taskTextColor || this.textColor;\n this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor;\n this.taskTextLightColor = this.taskTextLightColor || this.textColor;\n this.taskTextColor = this.taskTextColor || this.primaryTextColor;\n this.taskTextDarkColor = this.taskTextDarkColor || this.textColor;\n this.taskTextClickableColor = this.taskTextClickableColor || \"#003163\";\n this.personBorder = this.personBorder || this.primaryBorderColor;\n this.personBkg = this.personBkg || this.mainBkg;\n if (this.darkMode) {\n this.rowOdd = this.rowOdd || darken(this.mainBkg, 5) || \"#ffffff\";\n this.rowEven = this.rowEven || darken(this.mainBkg, 10);\n } else {\n this.rowOdd = this.rowOdd || lighten(this.mainBkg, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || lighten(this.mainBkg, 5);\n }\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || this.tertiaryColor;\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.specialStateColor = this.lineColor;\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust2(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust2(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust2(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust2(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust2(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust2(this.primaryColor, { h: 210, l: 150 });\n this.cScale9 = this.cScale9 || adjust2(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust2(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust2(this.primaryColor, { h: 330 });\n if (this.darkMode) {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken(this[\"cScale\" + i], 75);\n }\n } else {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken(this[\"cScale\" + i], 25);\n }\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n const multiplier = this.darkMode ? -4 : -1;\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust2(this.mainBkg, { h: 180, s: -15, l: multiplier * (5 + i * 3) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust2(this.mainBkg, { h: 180, s: -15, l: multiplier * (8 + i * 3) });\n }\n this.classText = this.classText || this.textColor;\n this.fillType0 = this.fillType0 || this.primaryColor;\n this.fillType1 = this.fillType1 || this.secondaryColor;\n this.fillType2 = this.fillType2 || adjust2(this.primaryColor, { h: 64 });\n this.fillType3 = this.fillType3 || adjust2(this.secondaryColor, { h: 64 });\n this.fillType4 = this.fillType4 || adjust2(this.primaryColor, { h: -64 });\n this.fillType5 = this.fillType5 || adjust2(this.secondaryColor, { h: -64 });\n this.fillType6 = this.fillType6 || adjust2(this.primaryColor, { h: 128 });\n this.fillType7 = this.fillType7 || adjust2(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || this.tertiaryColor;\n this.pie4 = this.pie4 || adjust2(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust2(this.secondaryColor, { l: -10 });\n this.pie6 = this.pie6 || adjust2(this.tertiaryColor, { l: -10 });\n this.pie7 = this.pie7 || adjust2(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust2(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust2(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust2(this.primaryColor, { h: 60, l: -20 });\n this.pie11 = this.pie11 || adjust2(this.primaryColor, { h: -60, l: -20 });\n this.pie12 = this.pie12 || adjust2(this.primaryColor, { h: 120, l: -10 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.venn1 = this.venn1 ?? adjust2(this.primaryColor, { l: -30 });\n this.venn2 = this.venn2 ?? adjust2(this.secondaryColor, { l: -30 });\n this.venn3 = this.venn3 ?? adjust2(this.tertiaryColor, { l: -30 });\n this.venn4 = this.venn4 ?? adjust2(this.primaryColor, { h: 60, l: -30 });\n this.venn5 = this.venn5 ?? adjust2(this.primaryColor, { h: -60, l: -30 });\n this.venn6 = this.venn6 ?? adjust2(this.secondaryColor, { h: 60, l: -30 });\n this.venn7 = this.venn7 ?? adjust2(this.primaryColor, { h: 120, l: -30 });\n this.venn8 = this.venn8 ?? adjust2(this.secondaryColor, { h: 120, l: -30 });\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.archEdgeColor = this.archEdgeColor || \"#777\";\n this.archEdgeArrowColor = this.archEdgeArrowColor || \"#777\";\n this.archEdgeWidth = this.archEdgeWidth || \"3\";\n this.archGroupBorderColor = this.archGroupBorderColor || \"#000\";\n this.archGroupBorderWidth = this.archGroupBorderWidth || \"2px\";\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust2(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust2(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust2(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust2(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust2(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust2(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark(this.quadrant1Fill) ? lighten(this.quadrant1Fill) : darken(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust2(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust2(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust2(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust2(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust2(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten(this.git0, 25);\n this.git1 = lighten(this.git1, 25);\n this.git2 = lighten(this.git2, 25);\n this.git3 = lighten(this.git3, 25);\n this.git4 = lighten(this.git4, 25);\n this.git5 = lighten(this.git5, 25);\n this.git6 = lighten(this.git6, 25);\n this.git7 = lighten(this.git7, 25);\n } else {\n this.git0 = darken(this.git0, 25);\n this.git1 = darken(this.git1, 25);\n this.git2 = darken(this.git2, 25);\n this.git3 = darken(this.git3, 25);\n this.git4 = darken(this.git4, 25);\n this.git5 = darken(this.git5, 25);\n this.git6 = darken(this.git6, 25);\n this.git7 = darken(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert(this.git0);\n this.gitInv1 = this.gitInv1 || invert(this.git1);\n this.gitInv2 = this.gitInv2 || invert(this.git2);\n this.gitInv3 = this.gitInv3 || invert(this.git3);\n this.gitInv4 = this.gitInv4 || invert(this.git4);\n this.gitInv5 = this.gitInv5 || invert(this.git5);\n this.gitInv6 = this.gitInv6 || invert(this.git6);\n this.gitInv7 = this.gitInv7 || invert(this.git7);\n this.branchLabelColor = this.branchLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor;\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor;\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-dark.js\nimport { adjust as adjust3, darken as darken2, invert as invert2, isDark as isDark2, lighten as lighten2, rgba } from \"khroma\";\nvar Theme2 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#333\";\n this.primaryColor = \"#1f2020\";\n this.secondaryColor = lighten2(this.primaryColor, 16);\n this.tertiaryColor = adjust3(this.primaryColor, { h: -160 });\n this.primaryBorderColor = invert2(this.background);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert2(this.primaryColor);\n this.secondaryTextColor = invert2(this.secondaryColor);\n this.tertiaryTextColor = invert2(this.tertiaryColor);\n this.lineColor = invert2(this.background);\n this.textColor = invert2(this.background);\n this.mainBkg = \"#1f2020\";\n this.secondBkg = \"calculated\";\n this.mainContrastColor = \"lightgrey\";\n this.darkTextColor = lighten2(invert2(\"#323D47\"), 10);\n this.lineColor = \"calculated\";\n this.border1 = \"#ccc\";\n this.border2 = rgba(255, 255, 255, 0.25);\n this.arrowheadColor = \"calculated\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.labelBackground = \"#181818\";\n this.textColor = \"#ccc\";\n this.THEME_COLOR_LIMIT = 12;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"#F9FFFE\";\n this.edgeLabelBackground = \"calculated\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"calculated\";\n this.actorLineColor = \"calculated\";\n this.signalColor = \"calculated\";\n this.signalTextColor = \"calculated\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"calculated\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"calculated\";\n this.activationBkgColor = \"calculated\";\n this.sequenceNumberColor = \"black\";\n this.sectionBkgColor = darken2(\"#EAE8D9\", 30);\n this.altSectionBkgColor = \"calculated\";\n this.sectionBkgColor2 = \"#EAE8D9\";\n this.excludeBkgColor = darken2(this.sectionBkgColor, 10);\n this.taskBorderColor = rgba(255, 255, 255, 70);\n this.taskBkgColor = \"calculated\";\n this.taskTextColor = \"calculated\";\n this.taskTextLightColor = \"calculated\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = rgba(255, 255, 255, 50);\n this.activeTaskBkgColor = \"#81B1DB\";\n this.gridColor = \"calculated\";\n this.doneTaskBkgColor = \"calculated\";\n this.doneTaskBorderColor = \"grey\";\n this.critBorderColor = \"#E83737\";\n this.critBkgColor = \"#E83737\";\n this.taskTextDarkColor = \"calculated\";\n this.todayLineColor = \"#DB5757\";\n this.vertLineColor = \"#00BFFF\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.rowOdd = this.rowOdd || lighten2(this.mainBkg, 5) || \"#ffffff\";\n this.rowEven = this.rowEven || darken2(this.mainBkg, 10);\n this.labelColor = \"calculated\";\n this.errorBkgColor = \"#a44141\";\n this.errorTextColor = \"#ddd\";\n }\n updateColors() {\n this.secondBkg = lighten2(this.mainBkg, 16);\n this.lineColor = this.mainContrastColor;\n this.arrowheadColor = this.mainContrastColor;\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.edgeLabelBackground = lighten2(this.labelBackground, 25);\n this.actorBorder = this.border1;\n this.actorBkg = this.mainBkg;\n this.actorTextColor = this.mainContrastColor;\n this.actorLineColor = this.actorBorder;\n this.signalColor = this.mainContrastColor;\n this.signalTextColor = this.mainContrastColor;\n this.labelBoxBkgColor = this.actorBkg;\n this.labelBoxBorderColor = this.actorBorder;\n this.labelTextColor = this.mainContrastColor;\n this.loopTextColor = this.mainContrastColor;\n this.noteBorderColor = this.secondaryBorderColor;\n this.noteBkgColor = this.secondBkg;\n this.noteTextColor = this.secondaryTextColor;\n this.activationBorderColor = this.border1;\n this.activationBkgColor = this.secondBkg;\n this.altSectionBkgColor = this.background;\n this.taskBkgColor = lighten2(this.mainBkg, 23);\n this.taskTextColor = this.darkTextColor;\n this.taskTextLightColor = this.mainContrastColor;\n this.taskTextOutsideColor = this.taskTextLightColor;\n this.gridColor = this.mainContrastColor;\n this.doneTaskBkgColor = this.mainContrastColor;\n this.taskTextDarkColor = invert2(this.doneTaskBkgColor);\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#555\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.primaryBorderColor;\n this.specialStateColor = \"#f4f4f4\";\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust3(this.primaryColor, { h: 64 });\n this.fillType3 = adjust3(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust3(this.primaryColor, { h: -64 });\n this.fillType5 = adjust3(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust3(this.primaryColor, { h: 128 });\n this.fillType7 = adjust3(this.secondaryColor, { h: 128 });\n this.cScale1 = this.cScale1 || \"#0b0000\";\n this.cScale2 = this.cScale2 || \"#4d1037\";\n this.cScale3 = this.cScale3 || \"#3f5258\";\n this.cScale4 = this.cScale4 || \"#4f2f1b\";\n this.cScale5 = this.cScale5 || \"#6e0a0a\";\n this.cScale6 = this.cScale6 || \"#3b0048\";\n this.cScale7 = this.cScale7 || \"#995a01\";\n this.cScale8 = this.cScale8 || \"#154706\";\n this.cScale9 = this.cScale9 || \"#161722\";\n this.cScale10 = this.cScale10 || \"#00296f\";\n this.cScale11 = this.cScale11 || \"#01629c\";\n this.cScale12 = this.cScale12 || \"#010029\";\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust3(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust3(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust3(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust3(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust3(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust3(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust3(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust3(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust3(this.primaryColor, { h: 330 });\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert2(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten2(this[\"cScale\" + i], 10);\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust3(this.mainBkg, { h: 30, s: -30, l: -(-10 + i * 4) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust3(this.mainBkg, { h: 30, s: -30, l: -(-7 + i * 4) });\n }\n this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"pie\" + i] = this[\"cScale\" + i];\n }\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.mainContrastColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.mainContrastColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n for (let i = 0; i < 8; i++) {\n this[\"venn\" + (i + 1)] = this[\"venn\" + (i + 1)] ?? lighten2(this[\"cScale\" + i], 30);\n }\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust3(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust3(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust3(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust3(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust3(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust3(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark2(this.quadrant1Fill) ? lighten2(this.quadrant1Fill) : darken2(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22\"\n };\n this.packet = {\n startByteColor: this.primaryTextColor,\n endByteColor: this.primaryTextColor,\n labelColor: this.primaryTextColor,\n titleColor: this.primaryTextColor,\n blockStrokeColor: this.primaryTextColor,\n blockFillColor: this.background\n };\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.classText = this.primaryTextColor;\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken2(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = lighten2(this.secondaryColor, 20);\n this.git1 = lighten2(this.pie2 || this.secondaryColor, 20);\n this.git2 = lighten2(this.pie3 || this.tertiaryColor, 20);\n this.git3 = lighten2(this.pie4 || adjust3(this.primaryColor, { h: -30 }), 20);\n this.git4 = lighten2(this.pie5 || adjust3(this.primaryColor, { h: -60 }), 20);\n this.git5 = lighten2(this.pie6 || adjust3(this.primaryColor, { h: -90 }), 10);\n this.git6 = lighten2(this.pie7 || adjust3(this.primaryColor, { h: 60 }), 10);\n this.git7 = lighten2(this.pie8 || adjust3(this.primaryColor, { h: 120 }), 20);\n this.gitInv0 = this.gitInv0 || invert2(this.git0);\n this.gitInv1 = this.gitInv1 || invert2(this.git1);\n this.gitInv2 = this.gitInv2 || invert2(this.git2);\n this.gitInv3 = this.gitInv3 || invert2(this.git3);\n this.gitInv4 = this.gitInv4 || invert2(this.git4);\n this.gitInv5 = this.gitInv5 || invert2(this.git5);\n this.gitInv6 = this.gitInv6 || invert2(this.git6);\n this.gitInv7 = this.gitInv7 || invert2(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert2(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert2(this.labelTextColor);\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lighten2(this.background, 12);\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || lighten2(this.background, 2);\n this.nodeBorder = this.nodeBorder || \"#999\";\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables2 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme2();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-default.js\nimport { invert as invert3, lighten as lighten3, rgba as rgba2, adjust as adjust4, darken as darken3, isDark as isDark3 } from \"khroma\";\nvar Theme3 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#ECECFF\";\n this.secondaryColor = adjust4(this.primaryColor, { h: 120 });\n this.secondaryColor = \"#ffffde\";\n this.tertiaryColor = adjust4(this.primaryColor, { h: -160 });\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert3(this.primaryColor);\n this.secondaryTextColor = invert3(this.secondaryColor);\n this.tertiaryTextColor = invert3(this.tertiaryColor);\n this.lineColor = invert3(this.background);\n this.textColor = invert3(this.background);\n this.background = \"white\";\n this.mainBkg = \"#ECECFF\";\n this.secondBkg = \"#ffffde\";\n this.lineColor = \"#333333\";\n this.border1 = \"#9370DB\";\n this.border2 = \"#aaaa33\";\n this.arrowheadColor = \"#333333\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.labelBackground = \"rgba(232,232,232, 0.8)\";\n this.textColor = \"#333\";\n this.THEME_COLOR_LIMIT = 12;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"calculated\";\n this.edgeLabelBackground = \"calculated\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"black\";\n this.actorLineColor = \"calculated\";\n this.signalColor = \"calculated\";\n this.signalTextColor = \"calculated\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"calculated\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"#666\";\n this.activationBkgColor = \"#f4f4f4\";\n this.sequenceNumberColor = \"white\";\n this.sectionBkgColor = \"calculated\";\n this.altSectionBkgColor = \"calculated\";\n this.sectionBkgColor2 = \"calculated\";\n this.excludeBkgColor = \"#eeeeee\";\n this.taskBorderColor = \"calculated\";\n this.taskBkgColor = \"calculated\";\n this.taskTextLightColor = \"calculated\";\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextDarkColor = \"calculated\";\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.taskTextClickableColor = \"calculated\";\n this.activeTaskBorderColor = \"calculated\";\n this.activeTaskBkgColor = \"calculated\";\n this.gridColor = \"calculated\";\n this.doneTaskBkgColor = \"calculated\";\n this.doneTaskBorderColor = \"calculated\";\n this.critBorderColor = \"calculated\";\n this.critBkgColor = \"calculated\";\n this.todayLineColor = \"calculated\";\n this.vertLineColor = \"calculated\";\n this.sectionBkgColor = rgba2(102, 102, 255, 0.49);\n this.altSectionBkgColor = \"white\";\n this.sectionBkgColor2 = \"#fff400\";\n this.taskBorderColor = \"#534fbc\";\n this.taskBkgColor = \"#8a90dd\";\n this.taskTextLightColor = \"white\";\n this.taskTextColor = \"calculated\";\n this.taskTextDarkColor = \"black\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = \"#534fbc\";\n this.activeTaskBkgColor = \"#bfc7ff\";\n this.gridColor = \"lightgrey\";\n this.doneTaskBkgColor = \"lightgrey\";\n this.doneTaskBorderColor = \"grey\";\n this.critBorderColor = \"#ff8888\";\n this.critBkgColor = \"red\";\n this.todayLineColor = \"red\";\n this.vertLineColor = \"navy\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.rowOdd = \"calculated\";\n this.rowEven = \"calculated\";\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n this.updateColors();\n }\n updateColors() {\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust4(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust4(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust4(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust4(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust4(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust4(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust4(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust4(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust4(this.primaryColor, { h: 330 });\n this[\"cScalePeer1\"] = this[\"cScalePeer1\"] || darken3(this.secondaryColor, 45);\n this[\"cScalePeer2\"] = this[\"cScalePeer2\"] || darken3(this.tertiaryColor, 40);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken3(this[\"cScale\" + i], 10);\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken3(this[\"cScale\" + i], 25);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || adjust4(this[\"cScale\" + i], { h: 180 });\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust4(this.mainBkg, { h: 30, l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust4(this.mainBkg, { h: 30, l: -(7 + i * 5) });\n }\n this.scaleLabelColor = this.scaleLabelColor !== \"calculated\" && this.scaleLabelColor ? this.scaleLabelColor : this.labelTextColor;\n if (this.labelTextColor !== \"calculated\") {\n this.cScaleLabel0 = this.cScaleLabel0 || invert3(this.labelTextColor);\n this.cScaleLabel3 = this.cScaleLabel3 || invert3(this.labelTextColor);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.labelTextColor;\n }\n }\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.titleColor = this.textColor;\n this.edgeLabelBackground = this.labelBackground;\n this.actorBorder = lighten3(this.border1, 23);\n this.actorBkg = this.mainBkg;\n this.labelBoxBkgColor = this.actorBkg;\n this.signalColor = this.textColor;\n this.signalTextColor = this.textColor;\n this.labelBoxBorderColor = this.actorBorder;\n this.labelTextColor = this.actorTextColor;\n this.loopTextColor = this.actorTextColor;\n this.noteBorderColor = this.border2;\n this.noteTextColor = this.actorTextColor;\n this.actorLineColor = this.actorBorder;\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.rowOdd = this.rowOdd || lighten3(this.primaryColor, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || lighten3(this.primaryColor, 1);\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.specialStateColor = this.lineColor;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.classText = this.primaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust4(this.primaryColor, { h: 64 });\n this.fillType3 = adjust4(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust4(this.primaryColor, { h: -64 });\n this.fillType5 = adjust4(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust4(this.primaryColor, { h: 128 });\n this.fillType7 = adjust4(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || adjust4(this.tertiaryColor, { l: -40 });\n this.pie4 = this.pie4 || adjust4(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust4(this.secondaryColor, { l: -30 });\n this.pie6 = this.pie6 || adjust4(this.tertiaryColor, { l: -20 });\n this.pie7 = this.pie7 || adjust4(this.primaryColor, { h: 60, l: -20 });\n this.pie8 = this.pie8 || adjust4(this.primaryColor, { h: -60, l: -40 });\n this.pie9 = this.pie9 || adjust4(this.primaryColor, { h: 120, l: -40 });\n this.pie10 = this.pie10 || adjust4(this.primaryColor, { h: 60, l: -40 });\n this.pie11 = this.pie11 || adjust4(this.primaryColor, { h: -90, l: -40 });\n this.pie12 = this.pie12 || adjust4(this.primaryColor, { h: 120, l: -30 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.venn1 = this.venn1 ?? adjust4(this.primaryColor, { l: -30 });\n this.venn2 = this.venn2 ?? adjust4(this.secondaryColor, { l: -30 });\n this.venn3 = this.venn3 ?? adjust4(this.tertiaryColor, { l: -40 });\n this.venn4 = this.venn4 ?? adjust4(this.primaryColor, { h: 60, l: -30 });\n this.venn5 = this.venn5 ?? adjust4(this.primaryColor, { h: -60, l: -30 });\n this.venn6 = this.venn6 ?? adjust4(this.secondaryColor, { h: 60, l: -30 });\n this.venn7 = this.venn7 ?? adjust4(this.primaryColor, { h: 120, l: -30 });\n this.venn8 = this.venn8 ?? adjust4(this.secondaryColor, { h: 120, l: -30 });\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust4(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust4(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust4(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust4(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust4(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust4(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark3(this.quadrant1Fill) ? lighten3(this.quadrant1Fill) : darken3(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || this.labelBackground;\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust4(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust4(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust4(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust4(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust4(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten3(this.git0, 25);\n this.git1 = lighten3(this.git1, 25);\n this.git2 = lighten3(this.git2, 25);\n this.git3 = lighten3(this.git3, 25);\n this.git4 = lighten3(this.git4, 25);\n this.git5 = lighten3(this.git5, 25);\n this.git6 = lighten3(this.git6, 25);\n this.git7 = lighten3(this.git7, 25);\n } else {\n this.git0 = darken3(this.git0, 25);\n this.git1 = darken3(this.git1, 25);\n this.git2 = darken3(this.git2, 25);\n this.git3 = darken3(this.git3, 25);\n this.git4 = darken3(this.git4, 25);\n this.git5 = darken3(this.git5, 25);\n this.git6 = darken3(this.git6, 25);\n this.git7 = darken3(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || darken3(invert3(this.git0), 25);\n this.gitInv1 = this.gitInv1 || invert3(this.git1);\n this.gitInv2 = this.gitInv2 || invert3(this.git2);\n this.gitInv3 = this.gitInv3 || invert3(this.git3);\n this.gitInv4 = this.gitInv4 || invert3(this.git4);\n this.gitInv5 = this.gitInv5 || invert3(this.git5);\n this.gitInv6 = this.gitInv6 || invert3(this.git6);\n this.gitInv7 = this.gitInv7 || invert3(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert3(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert3(this.labelTextColor);\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n Object.keys(this).forEach((k) => {\n if (this[k] === \"calculated\") {\n this[k] = void 0;\n }\n });\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables3 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme3();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-forest.js\nimport { adjust as adjust5, darken as darken4, invert as invert4, isDark as isDark4, lighten as lighten4 } from \"khroma\";\nvar Theme4 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#cde498\";\n this.secondaryColor = \"#cdffb2\";\n this.background = \"white\";\n this.mainBkg = \"#cde498\";\n this.secondBkg = \"#cdffb2\";\n this.lineColor = \"green\";\n this.border1 = \"#13540c\";\n this.border2 = \"#6eaa49\";\n this.arrowheadColor = \"green\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.tertiaryColor = lighten4(\"#cde498\", 10);\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert4(this.primaryColor);\n this.secondaryTextColor = invert4(this.secondaryColor);\n this.tertiaryTextColor = invert4(this.primaryColor);\n this.lineColor = invert4(this.background);\n this.textColor = invert4(this.background);\n this.THEME_COLOR_LIMIT = 12;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"#333\";\n this.edgeLabelBackground = \"#e8e8e8\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"black\";\n this.actorLineColor = \"calculated\";\n this.signalColor = \"#333\";\n this.signalTextColor = \"#333\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"#326932\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"#666\";\n this.activationBkgColor = \"#f4f4f4\";\n this.sequenceNumberColor = \"white\";\n this.sectionBkgColor = \"#6eaa49\";\n this.altSectionBkgColor = \"white\";\n this.sectionBkgColor2 = \"#6eaa49\";\n this.excludeBkgColor = \"#eeeeee\";\n this.taskBorderColor = \"calculated\";\n this.taskBkgColor = \"#487e3a\";\n this.taskTextLightColor = \"white\";\n this.taskTextColor = \"calculated\";\n this.taskTextDarkColor = \"black\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = \"calculated\";\n this.activeTaskBkgColor = \"calculated\";\n this.gridColor = \"lightgrey\";\n this.doneTaskBkgColor = \"lightgrey\";\n this.doneTaskBorderColor = \"grey\";\n this.critBorderColor = \"#ff8888\";\n this.critBkgColor = \"red\";\n this.todayLineColor = \"red\";\n this.vertLineColor = \"#00BFFF\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n }\n updateColors() {\n this.actorBorder = darken4(this.mainBkg, 20);\n this.actorBkg = this.mainBkg;\n this.labelBoxBkgColor = this.actorBkg;\n this.labelTextColor = this.actorTextColor;\n this.loopTextColor = this.actorTextColor;\n this.noteBorderColor = this.border2;\n this.noteTextColor = this.actorTextColor;\n this.actorLineColor = this.actorBorder;\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust5(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust5(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust5(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust5(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust5(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust5(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust5(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust5(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust5(this.primaryColor, { h: 330 });\n this[\"cScalePeer1\"] = this[\"cScalePeer1\"] || darken4(this.secondaryColor, 45);\n this[\"cScalePeer2\"] = this[\"cScalePeer2\"] || darken4(this.tertiaryColor, 40);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken4(this[\"cScale\" + i], 10);\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken4(this[\"cScale\" + i], 25);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || adjust5(this[\"cScale\" + i], { h: 180 });\n }\n this.scaleLabelColor = this.scaleLabelColor !== \"calculated\" && this.scaleLabelColor ? this.scaleLabelColor : this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust5(this.mainBkg, { h: 30, s: -30, l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust5(this.mainBkg, { h: 30, s: -30, l: -(8 + i * 5) });\n }\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.taskBorderColor = this.border1;\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.activeTaskBorderColor = this.taskBorderColor;\n this.activeTaskBkgColor = this.mainBkg;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.rowOdd = this.rowOdd || lighten4(this.mainBkg, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || lighten4(this.mainBkg, 20);\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.primaryBorderColor;\n this.specialStateColor = this.lineColor;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.classText = this.primaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust5(this.primaryColor, { h: 64 });\n this.fillType3 = adjust5(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust5(this.primaryColor, { h: -64 });\n this.fillType5 = adjust5(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust5(this.primaryColor, { h: 128 });\n this.fillType7 = adjust5(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || this.tertiaryColor;\n this.pie4 = this.pie4 || adjust5(this.primaryColor, { l: -30 });\n this.pie5 = this.pie5 || adjust5(this.secondaryColor, { l: -30 });\n this.pie6 = this.pie6 || adjust5(this.tertiaryColor, { h: 40, l: -40 });\n this.pie7 = this.pie7 || adjust5(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust5(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust5(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust5(this.primaryColor, { h: 60, l: -50 });\n this.pie11 = this.pie11 || adjust5(this.primaryColor, { h: -60, l: -50 });\n this.pie12 = this.pie12 || adjust5(this.primaryColor, { h: 120, l: -50 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.venn1 = this.venn1 ?? adjust5(this.primaryColor, { l: -30 });\n this.venn2 = this.venn2 ?? adjust5(this.secondaryColor, { l: -30 });\n this.venn3 = this.venn3 ?? adjust5(this.tertiaryColor, { l: -30 });\n this.venn4 = this.venn4 ?? adjust5(this.primaryColor, { h: 60, l: -30 });\n this.venn5 = this.venn5 ?? adjust5(this.primaryColor, { h: -60, l: -30 });\n this.venn6 = this.venn6 ?? adjust5(this.secondaryColor, { h: 60, l: -30 });\n this.venn7 = this.venn7 ?? adjust5(this.primaryColor, { h: 120, l: -30 });\n this.venn8 = this.venn8 ?? adjust5(this.secondaryColor, { h: 120, l: -30 });\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust5(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust5(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust5(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust5(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust5(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust5(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark4(this.quadrant1Fill) ? lighten4(this.quadrant1Fill) : darken4(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.packet = {\n startByteColor: this.primaryTextColor,\n endByteColor: this.primaryTextColor,\n labelColor: this.primaryTextColor,\n titleColor: this.primaryTextColor,\n blockStrokeColor: this.primaryTextColor,\n blockFillColor: this.mainBkg\n };\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground;\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust5(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust5(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust5(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust5(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust5(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten4(this.git0, 25);\n this.git1 = lighten4(this.git1, 25);\n this.git2 = lighten4(this.git2, 25);\n this.git3 = lighten4(this.git3, 25);\n this.git4 = lighten4(this.git4, 25);\n this.git5 = lighten4(this.git5, 25);\n this.git6 = lighten4(this.git6, 25);\n this.git7 = lighten4(this.git7, 25);\n } else {\n this.git0 = darken4(this.git0, 25);\n this.git1 = darken4(this.git1, 25);\n this.git2 = darken4(this.git2, 25);\n this.git3 = darken4(this.git3, 25);\n this.git4 = darken4(this.git4, 25);\n this.git5 = darken4(this.git5, 25);\n this.git6 = darken4(this.git6, 25);\n this.git7 = darken4(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert4(this.git0);\n this.gitInv1 = this.gitInv1 || invert4(this.git1);\n this.gitInv2 = this.gitInv2 || invert4(this.git2);\n this.gitInv3 = this.gitInv3 || invert4(this.git3);\n this.gitInv4 = this.gitInv4 || invert4(this.git4);\n this.gitInv5 = this.gitInv5 || invert4(this.git5);\n this.gitInv6 = this.gitInv6 || invert4(this.git6);\n this.gitInv7 = this.gitInv7 || invert4(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert4(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert4(this.labelTextColor);\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables4 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme4();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-neutral.js\nimport { invert as invert5, darken as darken5, lighten as lighten5, adjust as adjust6, isDark as isDark5 } from \"khroma\";\nvar Theme5 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.primaryColor = \"#eee\";\n this.contrast = \"#707070\";\n this.secondaryColor = lighten5(this.contrast, 55);\n this.background = \"#ffffff\";\n this.tertiaryColor = adjust6(this.primaryColor, { h: -160 });\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert5(this.primaryColor);\n this.secondaryTextColor = invert5(this.secondaryColor);\n this.tertiaryTextColor = invert5(this.tertiaryColor);\n this.lineColor = invert5(this.background);\n this.textColor = invert5(this.background);\n this.mainBkg = \"#eee\";\n this.secondBkg = \"calculated\";\n this.lineColor = \"#666\";\n this.border1 = \"#999\";\n this.border2 = \"calculated\";\n this.note = \"#ffa\";\n this.text = \"#333\";\n this.critical = \"#d42\";\n this.done = \"#bbb\";\n this.arrowheadColor = \"#333333\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.THEME_COLOR_LIMIT = 12;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"calculated\";\n this.edgeLabelBackground = \"white\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"calculated\";\n this.actorLineColor = this.actorBorder;\n this.signalColor = \"calculated\";\n this.signalTextColor = \"calculated\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"calculated\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"calculated\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"#666\";\n this.activationBkgColor = \"#f4f4f4\";\n this.sequenceNumberColor = \"white\";\n this.sectionBkgColor = \"calculated\";\n this.altSectionBkgColor = \"white\";\n this.sectionBkgColor2 = \"calculated\";\n this.excludeBkgColor = \"#eeeeee\";\n this.taskBorderColor = \"calculated\";\n this.taskBkgColor = \"calculated\";\n this.taskTextLightColor = \"white\";\n this.taskTextColor = \"calculated\";\n this.taskTextDarkColor = \"calculated\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = \"calculated\";\n this.activeTaskBkgColor = \"calculated\";\n this.gridColor = \"calculated\";\n this.doneTaskBkgColor = \"calculated\";\n this.doneTaskBorderColor = \"calculated\";\n this.critBkgColor = \"calculated\";\n this.critBorderColor = \"calculated\";\n this.todayLineColor = \"calculated\";\n this.vertLineColor = \"calculated\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.rowOdd = this.rowOdd || lighten5(this.mainBkg, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || \"#f4f4f4\";\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n }\n updateColors() {\n this.secondBkg = lighten5(this.contrast, 55);\n this.border2 = this.contrast;\n this.actorBorder = lighten5(this.border1, 23);\n this.actorBkg = this.mainBkg;\n this.actorTextColor = this.text;\n this.actorLineColor = this.actorBorder;\n this.signalColor = this.text;\n this.signalTextColor = this.text;\n this.labelBoxBkgColor = this.actorBkg;\n this.labelBoxBorderColor = this.actorBorder;\n this.labelTextColor = this.text;\n this.loopTextColor = this.text;\n this.noteBorderColor = \"#999\";\n this.noteBkgColor = \"#666\";\n this.noteTextColor = \"#fff\";\n this.cScale0 = this.cScale0 || \"#555\";\n this.cScale1 = this.cScale1 || \"#F4F4F4\";\n this.cScale2 = this.cScale2 || \"#555\";\n this.cScale3 = this.cScale3 || \"#BBB\";\n this.cScale4 = this.cScale4 || \"#777\";\n this.cScale5 = this.cScale5 || \"#999\";\n this.cScale6 = this.cScale6 || \"#DDD\";\n this.cScale7 = this.cScale7 || \"#FFF\";\n this.cScale8 = this.cScale8 || \"#DDD\";\n this.cScale9 = this.cScale9 || \"#BBB\";\n this.cScale10 = this.cScale10 || \"#999\";\n this.cScale11 = this.cScale11 || \"#777\";\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert5(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten5(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken5(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.cScaleLabel0 = this.cScaleLabel0 || this.cScale1;\n this.cScaleLabel2 = this.cScaleLabel2 || this.cScale1;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust6(this.mainBkg, { l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust6(this.mainBkg, { l: -(8 + i * 5) });\n }\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.titleColor = this.text;\n this.sectionBkgColor = lighten5(this.contrast, 30);\n this.sectionBkgColor2 = lighten5(this.contrast, 30);\n this.taskBorderColor = darken5(this.contrast, 10);\n this.taskBkgColor = this.contrast;\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextDarkColor = this.text;\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.activeTaskBorderColor = this.taskBorderColor;\n this.activeTaskBkgColor = this.mainBkg;\n this.gridColor = lighten5(this.border1, 30);\n this.doneTaskBkgColor = this.done;\n this.doneTaskBorderColor = this.lineColor;\n this.critBkgColor = this.critical;\n this.critBorderColor = darken5(this.critBkgColor, 10);\n this.todayLineColor = this.critBkgColor;\n this.vertLineColor = this.critBkgColor;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.transitionColor = this.transitionColor || \"#000\";\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f4f4f4\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.stateBorder = this.stateBorder || \"#000\";\n this.innerEndBackground = this.primaryBorderColor;\n this.specialStateColor = \"#222\";\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.classText = this.primaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust6(this.primaryColor, { h: 64 });\n this.fillType3 = adjust6(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust6(this.primaryColor, { h: -64 });\n this.fillType5 = adjust6(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust6(this.primaryColor, { h: 128 });\n this.fillType7 = adjust6(this.secondaryColor, { h: 128 });\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"pie\" + i] = this[\"cScale\" + i];\n }\n this.pie12 = this.pie0;\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n for (let i = 0; i < 8; i++) {\n this[\"venn\" + (i + 1)] = this[\"venn\" + (i + 1)] ?? this[\"cScale\" + i];\n }\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust6(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust6(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust6(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust6(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust6(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust6(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark5(this.quadrant1Fill) ? lighten5(this.quadrant1Fill) : darken5(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0\"\n };\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground;\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = darken5(this.pie1, 25) || this.primaryColor;\n this.git1 = this.pie2 || this.secondaryColor;\n this.git2 = this.pie3 || this.tertiaryColor;\n this.git3 = this.pie4 || adjust6(this.primaryColor, { h: -30 });\n this.git4 = this.pie5 || adjust6(this.primaryColor, { h: -60 });\n this.git5 = this.pie6 || adjust6(this.primaryColor, { h: -90 });\n this.git6 = this.pie7 || adjust6(this.primaryColor, { h: 60 });\n this.git7 = this.pie8 || adjust6(this.primaryColor, { h: 120 });\n this.gitInv0 = this.gitInv0 || invert5(this.git0);\n this.gitInv1 = this.gitInv1 || invert5(this.git1);\n this.gitInv2 = this.gitInv2 || invert5(this.git2);\n this.gitInv3 = this.gitInv3 || invert5(this.git3);\n this.gitInv4 = this.gitInv4 || invert5(this.git4);\n this.gitInv5 = this.gitInv5 || invert5(this.git5);\n this.gitInv6 = this.gitInv6 || invert5(this.git6);\n this.gitInv7 = this.gitInv7 || invert5(this.git7);\n this.branchLabelColor = this.branchLabelColor || this.labelTextColor;\n this.gitBranchLabel0 = this.branchLabelColor;\n this.gitBranchLabel1 = \"white\";\n this.gitBranchLabel2 = this.branchLabelColor;\n this.gitBranchLabel3 = \"white\";\n this.gitBranchLabel4 = this.branchLabelColor;\n this.gitBranchLabel5 = this.branchLabelColor;\n this.gitBranchLabel6 = this.branchLabelColor;\n this.gitBranchLabel7 = this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables5 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme5();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/index.js\nvar themes_default = {\n base: {\n getThemeVariables\n },\n dark: {\n getThemeVariables: getThemeVariables2\n },\n default: {\n getThemeVariables: getThemeVariables3\n },\n forest: {\n getThemeVariables: getThemeVariables4\n },\n neutral: {\n getThemeVariables: getThemeVariables5\n }\n};\n\n// src/schemas/config.schema.yaml?only-defaults=true\nvar config_schema_default = {\n \"flowchart\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"subGraphTitleMargin\": {\n \"top\": 0,\n \"bottom\": 0\n },\n \"diagramPadding\": 8,\n \"htmlLabels\": null,\n \"nodeSpacing\": 50,\n \"rankSpacing\": 50,\n \"curve\": \"basis\",\n \"padding\": 15,\n \"defaultRenderer\": \"dagre-wrapper\",\n \"wrappingWidth\": 200,\n \"inheritDir\": false\n },\n \"sequence\": {\n \"useMaxWidth\": true,\n \"hideUnusedParticipants\": false,\n \"activationWidth\": 10,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"actorMargin\": 50,\n \"width\": 150,\n \"height\": 65,\n \"boxMargin\": 10,\n \"boxTextMargin\": 5,\n \"noteMargin\": 10,\n \"messageMargin\": 35,\n \"messageAlign\": \"center\",\n \"mirrorActors\": true,\n \"forceMenus\": false,\n \"bottomMarginAdj\": 1,\n \"rightAngles\": false,\n \"showSequenceNumbers\": false,\n \"actorFontSize\": 14,\n \"actorFontFamily\": '\"Open Sans\", sans-serif',\n \"actorFontWeight\": 400,\n \"noteFontSize\": 14,\n \"noteFontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif',\n \"noteFontWeight\": 400,\n \"noteAlign\": \"center\",\n \"messageFontSize\": 16,\n \"messageFontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif',\n \"messageFontWeight\": 400,\n \"wrap\": false,\n \"wrapPadding\": 10,\n \"labelBoxWidth\": 50,\n \"labelBoxHeight\": 20\n },\n \"gantt\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"barHeight\": 20,\n \"barGap\": 4,\n \"topPadding\": 50,\n \"rightPadding\": 75,\n \"leftPadding\": 75,\n \"gridLineStartPadding\": 35,\n \"fontSize\": 11,\n \"sectionFontSize\": 11,\n \"numberSectionStyles\": 4,\n \"axisFormat\": \"%Y-%m-%d\",\n \"topAxis\": false,\n \"displayMode\": \"\",\n \"weekday\": \"sunday\"\n },\n \"journey\": {\n \"useMaxWidth\": true,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"leftMargin\": 150,\n \"maxLabelWidth\": 360,\n \"width\": 150,\n \"height\": 50,\n \"boxMargin\": 10,\n \"boxTextMargin\": 5,\n \"noteMargin\": 10,\n \"messageMargin\": 35,\n \"messageAlign\": \"center\",\n \"bottomMarginAdj\": 1,\n \"rightAngles\": false,\n \"taskFontSize\": 14,\n \"taskFontFamily\": '\"Open Sans\", sans-serif',\n \"taskMargin\": 50,\n \"activationWidth\": 10,\n \"textPlacement\": \"fo\",\n \"actorColours\": [\n \"#8FBC8F\",\n \"#7CFC00\",\n \"#00FFFF\",\n \"#20B2AA\",\n \"#B0E0E6\",\n \"#FFFFE0\"\n ],\n \"sectionFills\": [\n \"#191970\",\n \"#8B008B\",\n \"#4B0082\",\n \"#2F4F4F\",\n \"#800000\",\n \"#8B4513\",\n \"#00008B\"\n ],\n \"sectionColours\": [\n \"#fff\"\n ],\n \"titleColor\": \"\",\n \"titleFontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif',\n \"titleFontSize\": \"4ex\"\n },\n \"class\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"arrowMarkerAbsolute\": false,\n \"dividerMargin\": 10,\n \"padding\": 5,\n \"textHeight\": 10,\n \"defaultRenderer\": \"dagre-wrapper\",\n \"htmlLabels\": false,\n \"hideEmptyMembersBox\": false\n },\n \"state\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"dividerMargin\": 10,\n \"sizeUnit\": 5,\n \"padding\": 8,\n \"textHeight\": 10,\n \"titleShift\": -15,\n \"noteMargin\": 10,\n \"forkWidth\": 70,\n \"forkHeight\": 7,\n \"miniPadding\": 2,\n \"fontSizeFactor\": 5.02,\n \"fontSize\": 24,\n \"labelHeight\": 16,\n \"edgeLengthFactor\": \"20\",\n \"compositTitleSize\": 35,\n \"radius\": 5,\n \"defaultRenderer\": \"dagre-wrapper\"\n },\n \"er\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"diagramPadding\": 20,\n \"layoutDirection\": \"TB\",\n \"minEntityWidth\": 100,\n \"minEntityHeight\": 75,\n \"entityPadding\": 15,\n \"nodeSpacing\": 140,\n \"rankSpacing\": 80,\n \"stroke\": \"gray\",\n \"fill\": \"honeydew\",\n \"fontSize\": 12\n },\n \"pie\": {\n \"useMaxWidth\": true,\n \"textPosition\": 0.75\n },\n \"quadrantChart\": {\n \"useMaxWidth\": true,\n \"chartWidth\": 500,\n \"chartHeight\": 500,\n \"titleFontSize\": 20,\n \"titlePadding\": 10,\n \"quadrantPadding\": 5,\n \"xAxisLabelPadding\": 5,\n \"yAxisLabelPadding\": 5,\n \"xAxisLabelFontSize\": 16,\n \"yAxisLabelFontSize\": 16,\n \"quadrantLabelFontSize\": 16,\n \"quadrantTextTopPadding\": 5,\n \"pointTextPadding\": 5,\n \"pointLabelFontSize\": 12,\n \"pointRadius\": 5,\n \"xAxisPosition\": \"top\",\n \"yAxisPosition\": \"left\",\n \"quadrantInternalBorderStrokeWidth\": 1,\n \"quadrantExternalBorderStrokeWidth\": 2\n },\n \"xyChart\": {\n \"useMaxWidth\": true,\n \"width\": 700,\n \"height\": 500,\n \"titleFontSize\": 20,\n \"titlePadding\": 10,\n \"showDataLabel\": false,\n \"showTitle\": true,\n \"xAxis\": {\n \"$ref\": \"#/$defs/XYChartAxisConfig\",\n \"showLabel\": true,\n \"labelFontSize\": 14,\n \"labelPadding\": 5,\n \"showTitle\": true,\n \"titleFontSize\": 16,\n \"titlePadding\": 5,\n \"showTick\": true,\n \"tickLength\": 5,\n \"tickWidth\": 2,\n \"showAxisLine\": true,\n \"axisLineWidth\": 2\n },\n \"yAxis\": {\n \"$ref\": \"#/$defs/XYChartAxisConfig\",\n \"showLabel\": true,\n \"labelFontSize\": 14,\n \"labelPadding\": 5,\n \"showTitle\": true,\n \"titleFontSize\": 16,\n \"titlePadding\": 5,\n \"showTick\": true,\n \"tickLength\": 5,\n \"tickWidth\": 2,\n \"showAxisLine\": true,\n \"axisLineWidth\": 2\n },\n \"chartOrientation\": \"vertical\",\n \"plotReservedSpacePercent\": 50\n },\n \"requirement\": {\n \"useMaxWidth\": true,\n \"rect_fill\": \"#f9f9f9\",\n \"text_color\": \"#333\",\n \"rect_border_size\": \"0.5px\",\n \"rect_border_color\": \"#bbb\",\n \"rect_min_width\": 200,\n \"rect_min_height\": 200,\n \"fontSize\": 14,\n \"rect_padding\": 10,\n \"line_height\": 20\n },\n \"mindmap\": {\n \"useMaxWidth\": true,\n \"padding\": 10,\n \"maxNodeWidth\": 200,\n \"layoutAlgorithm\": \"cose-bilkent\"\n },\n \"ishikawa\": {\n \"useMaxWidth\": true,\n \"diagramPadding\": 20\n },\n \"kanban\": {\n \"useMaxWidth\": true,\n \"padding\": 8,\n \"sectionWidth\": 200,\n \"ticketBaseUrl\": \"\"\n },\n \"timeline\": {\n \"useMaxWidth\": true,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"leftMargin\": 150,\n \"width\": 150,\n \"height\": 50,\n \"boxMargin\": 10,\n \"boxTextMargin\": 5,\n \"noteMargin\": 10,\n \"messageMargin\": 35,\n \"messageAlign\": \"center\",\n \"bottomMarginAdj\": 1,\n \"rightAngles\": false,\n \"taskFontSize\": 14,\n \"taskFontFamily\": '\"Open Sans\", sans-serif',\n \"taskMargin\": 50,\n \"activationWidth\": 10,\n \"textPlacement\": \"fo\",\n \"actorColours\": [\n \"#8FBC8F\",\n \"#7CFC00\",\n \"#00FFFF\",\n \"#20B2AA\",\n \"#B0E0E6\",\n \"#FFFFE0\"\n ],\n \"sectionFills\": [\n \"#191970\",\n \"#8B008B\",\n \"#4B0082\",\n \"#2F4F4F\",\n \"#800000\",\n \"#8B4513\",\n \"#00008B\"\n ],\n \"sectionColours\": [\n \"#fff\"\n ],\n \"disableMulticolor\": false\n },\n \"gitGraph\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"diagramPadding\": 8,\n \"nodeLabel\": {\n \"width\": 75,\n \"height\": 100,\n \"x\": -25,\n \"y\": 0\n },\n \"mainBranchName\": \"main\",\n \"mainBranchOrder\": 0,\n \"showCommitLabel\": true,\n \"showBranches\": true,\n \"rotateCommitLabel\": true,\n \"parallelCommits\": false,\n \"arrowMarkerAbsolute\": false\n },\n \"c4\": {\n \"useMaxWidth\": true,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"c4ShapeMargin\": 50,\n \"c4ShapePadding\": 20,\n \"width\": 216,\n \"height\": 60,\n \"boxMargin\": 10,\n \"c4ShapeInRow\": 4,\n \"nextLinePaddingX\": 0,\n \"c4BoundaryInRow\": 2,\n \"personFontSize\": 14,\n \"personFontFamily\": '\"Open Sans\", sans-serif',\n \"personFontWeight\": \"normal\",\n \"external_personFontSize\": 14,\n \"external_personFontFamily\": '\"Open Sans\", sans-serif',\n \"external_personFontWeight\": \"normal\",\n \"systemFontSize\": 14,\n \"systemFontFamily\": '\"Open Sans\", sans-serif',\n \"systemFontWeight\": \"normal\",\n \"external_systemFontSize\": 14,\n \"external_systemFontFamily\": '\"Open Sans\", sans-serif',\n \"external_systemFontWeight\": \"normal\",\n \"system_dbFontSize\": 14,\n \"system_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"system_dbFontWeight\": \"normal\",\n \"external_system_dbFontSize\": 14,\n \"external_system_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"external_system_dbFontWeight\": \"normal\",\n \"system_queueFontSize\": 14,\n \"system_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"system_queueFontWeight\": \"normal\",\n \"external_system_queueFontSize\": 14,\n \"external_system_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"external_system_queueFontWeight\": \"normal\",\n \"boundaryFontSize\": 14,\n \"boundaryFontFamily\": '\"Open Sans\", sans-serif',\n \"boundaryFontWeight\": \"normal\",\n \"messageFontSize\": 12,\n \"messageFontFamily\": '\"Open Sans\", sans-serif',\n \"messageFontWeight\": \"normal\",\n \"containerFontSize\": 14,\n \"containerFontFamily\": '\"Open Sans\", sans-serif',\n \"containerFontWeight\": \"normal\",\n \"external_containerFontSize\": 14,\n \"external_containerFontFamily\": '\"Open Sans\", sans-serif',\n \"external_containerFontWeight\": \"normal\",\n \"container_dbFontSize\": 14,\n \"container_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"container_dbFontWeight\": \"normal\",\n \"external_container_dbFontSize\": 14,\n \"external_container_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"external_container_dbFontWeight\": \"normal\",\n \"container_queueFontSize\": 14,\n \"container_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"container_queueFontWeight\": \"normal\",\n \"external_container_queueFontSize\": 14,\n \"external_container_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"external_container_queueFontWeight\": \"normal\",\n \"componentFontSize\": 14,\n \"componentFontFamily\": '\"Open Sans\", sans-serif',\n \"componentFontWeight\": \"normal\",\n \"external_componentFontSize\": 14,\n \"external_componentFontFamily\": '\"Open Sans\", sans-serif',\n \"external_componentFontWeight\": \"normal\",\n \"component_dbFontSize\": 14,\n \"component_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"component_dbFontWeight\": \"normal\",\n \"external_component_dbFontSize\": 14,\n \"external_component_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"external_component_dbFontWeight\": \"normal\",\n \"component_queueFontSize\": 14,\n \"component_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"component_queueFontWeight\": \"normal\",\n \"external_component_queueFontSize\": 14,\n \"external_component_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"external_component_queueFontWeight\": \"normal\",\n \"wrap\": true,\n \"wrapPadding\": 10,\n \"person_bg_color\": \"#08427B\",\n \"person_border_color\": \"#073B6F\",\n \"external_person_bg_color\": \"#686868\",\n \"external_person_border_color\": \"#8A8A8A\",\n \"system_bg_color\": \"#1168BD\",\n \"system_border_color\": \"#3C7FC0\",\n \"system_db_bg_color\": \"#1168BD\",\n \"system_db_border_color\": \"#3C7FC0\",\n \"system_queue_bg_color\": \"#1168BD\",\n \"system_queue_border_color\": \"#3C7FC0\",\n \"external_system_bg_color\": \"#999999\",\n \"external_system_border_color\": \"#8A8A8A\",\n \"external_system_db_bg_color\": \"#999999\",\n \"external_system_db_border_color\": \"#8A8A8A\",\n \"external_system_queue_bg_color\": \"#999999\",\n \"external_system_queue_border_color\": \"#8A8A8A\",\n \"container_bg_color\": \"#438DD5\",\n \"container_border_color\": \"#3C7FC0\",\n \"container_db_bg_color\": \"#438DD5\",\n \"container_db_border_color\": \"#3C7FC0\",\n \"container_queue_bg_color\": \"#438DD5\",\n \"container_queue_border_color\": \"#3C7FC0\",\n \"external_container_bg_color\": \"#B3B3B3\",\n \"external_container_border_color\": \"#A6A6A6\",\n \"external_container_db_bg_color\": \"#B3B3B3\",\n \"external_container_db_border_color\": \"#A6A6A6\",\n \"external_container_queue_bg_color\": \"#B3B3B3\",\n \"external_container_queue_border_color\": \"#A6A6A6\",\n \"component_bg_color\": \"#85BBF0\",\n \"component_border_color\": \"#78A8D8\",\n \"component_db_bg_color\": \"#85BBF0\",\n \"component_db_border_color\": \"#78A8D8\",\n \"component_queue_bg_color\": \"#85BBF0\",\n \"component_queue_border_color\": \"#78A8D8\",\n \"external_component_bg_color\": \"#CCCCCC\",\n \"external_component_border_color\": \"#BFBFBF\",\n \"external_component_db_bg_color\": \"#CCCCCC\",\n \"external_component_db_border_color\": \"#BFBFBF\",\n \"external_component_queue_bg_color\": \"#CCCCCC\",\n \"external_component_queue_border_color\": \"#BFBFBF\"\n },\n \"sankey\": {\n \"useMaxWidth\": true,\n \"width\": 600,\n \"height\": 400,\n \"linkColor\": \"gradient\",\n \"nodeAlignment\": \"justify\",\n \"showValues\": true,\n \"prefix\": \"\",\n \"suffix\": \"\"\n },\n \"block\": {\n \"useMaxWidth\": true,\n \"padding\": 8\n },\n \"packet\": {\n \"useMaxWidth\": true,\n \"rowHeight\": 32,\n \"bitWidth\": 32,\n \"bitsPerRow\": 32,\n \"showBits\": true,\n \"paddingX\": 5,\n \"paddingY\": 5\n },\n \"architecture\": {\n \"useMaxWidth\": true,\n \"padding\": 40,\n \"iconSize\": 80,\n \"fontSize\": 16\n },\n \"radar\": {\n \"useMaxWidth\": true,\n \"width\": 600,\n \"height\": 600,\n \"marginTop\": 50,\n \"marginRight\": 50,\n \"marginBottom\": 50,\n \"marginLeft\": 50,\n \"axisScaleFactor\": 1,\n \"axisLabelFactor\": 1.05,\n \"curveTension\": 0.17\n },\n \"venn\": {\n \"useMaxWidth\": true,\n \"width\": 800,\n \"height\": 450,\n \"padding\": 8,\n \"useDebugLayout\": false\n },\n \"theme\": \"default\",\n \"look\": \"classic\",\n \"handDrawnSeed\": 0,\n \"layout\": \"dagre\",\n \"maxTextSize\": 5e4,\n \"maxEdges\": 500,\n \"darkMode\": false,\n \"fontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif;',\n \"logLevel\": 5,\n \"securityLevel\": \"strict\",\n \"startOnLoad\": true,\n \"arrowMarkerAbsolute\": false,\n \"secure\": [\n \"secure\",\n \"securityLevel\",\n \"startOnLoad\",\n \"maxTextSize\",\n \"suppressErrorRendering\",\n \"maxEdges\"\n ],\n \"legacyMathML\": false,\n \"forceLegacyMathML\": false,\n \"deterministicIds\": false,\n \"fontSize\": 16,\n \"markdownAutoWrap\": true,\n \"suppressErrorRendering\": false\n};\n\n// src/defaultConfig.ts\nvar config = {\n ...config_schema_default,\n // Set, even though they're `undefined` so that `configKeys` finds these keys\n // TODO: Should we replace these with `null` so that they can go in the JSON Schema?\n deterministicIDSeed: void 0,\n elk: {\n // mergeEdges is needed here to be considered\n mergeEdges: false,\n nodePlacementStrategy: \"BRANDES_KOEPF\",\n forceNodeModelOrder: false,\n considerModelOrder: \"NODES_AND_EDGES\"\n },\n themeCSS: void 0,\n // add non-JSON default config values\n themeVariables: themes_default.default.getThemeVariables(),\n sequence: {\n ...config_schema_default.sequence,\n messageFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.messageFontFamily,\n fontSize: this.messageFontSize,\n fontWeight: this.messageFontWeight\n };\n }, \"messageFont\"),\n noteFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.noteFontFamily,\n fontSize: this.noteFontSize,\n fontWeight: this.noteFontWeight\n };\n }, \"noteFont\"),\n actorFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.actorFontFamily,\n fontSize: this.actorFontSize,\n fontWeight: this.actorFontWeight\n };\n }, \"actorFont\")\n },\n class: {\n hideEmptyMembersBox: false\n },\n gantt: {\n ...config_schema_default.gantt,\n tickInterval: void 0,\n useWidth: void 0\n // can probably be removed since `configKeys` already includes this\n },\n c4: {\n ...config_schema_default.c4,\n useWidth: void 0,\n personFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.personFontFamily,\n fontSize: this.personFontSize,\n fontWeight: this.personFontWeight\n };\n }, \"personFont\"),\n flowchart: {\n ...config_schema_default.flowchart,\n inheritDir: false\n // default to legacy behavior\n },\n external_personFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_personFontFamily,\n fontSize: this.external_personFontSize,\n fontWeight: this.external_personFontWeight\n };\n }, \"external_personFont\"),\n systemFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.systemFontFamily,\n fontSize: this.systemFontSize,\n fontWeight: this.systemFontWeight\n };\n }, \"systemFont\"),\n external_systemFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_systemFontFamily,\n fontSize: this.external_systemFontSize,\n fontWeight: this.external_systemFontWeight\n };\n }, \"external_systemFont\"),\n system_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.system_dbFontFamily,\n fontSize: this.system_dbFontSize,\n fontWeight: this.system_dbFontWeight\n };\n }, \"system_dbFont\"),\n external_system_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_system_dbFontFamily,\n fontSize: this.external_system_dbFontSize,\n fontWeight: this.external_system_dbFontWeight\n };\n }, \"external_system_dbFont\"),\n system_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.system_queueFontFamily,\n fontSize: this.system_queueFontSize,\n fontWeight: this.system_queueFontWeight\n };\n }, \"system_queueFont\"),\n external_system_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_system_queueFontFamily,\n fontSize: this.external_system_queueFontSize,\n fontWeight: this.external_system_queueFontWeight\n };\n }, \"external_system_queueFont\"),\n containerFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.containerFontFamily,\n fontSize: this.containerFontSize,\n fontWeight: this.containerFontWeight\n };\n }, \"containerFont\"),\n external_containerFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_containerFontFamily,\n fontSize: this.external_containerFontSize,\n fontWeight: this.external_containerFontWeight\n };\n }, \"external_containerFont\"),\n container_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.container_dbFontFamily,\n fontSize: this.container_dbFontSize,\n fontWeight: this.container_dbFontWeight\n };\n }, \"container_dbFont\"),\n external_container_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_container_dbFontFamily,\n fontSize: this.external_container_dbFontSize,\n fontWeight: this.external_container_dbFontWeight\n };\n }, \"external_container_dbFont\"),\n container_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.container_queueFontFamily,\n fontSize: this.container_queueFontSize,\n fontWeight: this.container_queueFontWeight\n };\n }, \"container_queueFont\"),\n external_container_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_container_queueFontFamily,\n fontSize: this.external_container_queueFontSize,\n fontWeight: this.external_container_queueFontWeight\n };\n }, \"external_container_queueFont\"),\n componentFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.componentFontFamily,\n fontSize: this.componentFontSize,\n fontWeight: this.componentFontWeight\n };\n }, \"componentFont\"),\n external_componentFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_componentFontFamily,\n fontSize: this.external_componentFontSize,\n fontWeight: this.external_componentFontWeight\n };\n }, \"external_componentFont\"),\n component_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.component_dbFontFamily,\n fontSize: this.component_dbFontSize,\n fontWeight: this.component_dbFontWeight\n };\n }, \"component_dbFont\"),\n external_component_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_component_dbFontFamily,\n fontSize: this.external_component_dbFontSize,\n fontWeight: this.external_component_dbFontWeight\n };\n }, \"external_component_dbFont\"),\n component_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.component_queueFontFamily,\n fontSize: this.component_queueFontSize,\n fontWeight: this.component_queueFontWeight\n };\n }, \"component_queueFont\"),\n external_component_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_component_queueFontFamily,\n fontSize: this.external_component_queueFontSize,\n fontWeight: this.external_component_queueFontWeight\n };\n }, \"external_component_queueFont\"),\n boundaryFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.boundaryFontFamily,\n fontSize: this.boundaryFontSize,\n fontWeight: this.boundaryFontWeight\n };\n }, \"boundaryFont\"),\n messageFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.messageFontFamily,\n fontSize: this.messageFontSize,\n fontWeight: this.messageFontWeight\n };\n }, \"messageFont\")\n },\n pie: {\n ...config_schema_default.pie,\n useWidth: 984\n },\n xyChart: {\n ...config_schema_default.xyChart,\n useWidth: void 0\n },\n requirement: {\n ...config_schema_default.requirement,\n useWidth: void 0\n },\n packet: {\n ...config_schema_default.packet\n },\n radar: {\n ...config_schema_default.radar\n },\n ishikawa: {\n ...config_schema_default.ishikawa\n },\n treemap: {\n useMaxWidth: true,\n padding: 10,\n diagramPadding: 8,\n showValues: true,\n nodeWidth: 100,\n nodeHeight: 40,\n borderWidth: 1,\n valueFontSize: 12,\n labelFontSize: 14,\n valueFormat: \",\"\n },\n venn: {\n ...config_schema_default.venn\n }\n};\nvar keyify = /* @__PURE__ */ __name((obj, prefix = \"\") => Object.keys(obj).reduce((res, el) => {\n if (Array.isArray(obj[el])) {\n return res;\n } else if (typeof obj[el] === \"object\" && obj[el] !== null) {\n return [...res, prefix + el, ...keyify(obj[el], \"\")];\n }\n return [...res, prefix + el];\n}, []), \"keyify\");\nvar configKeys = new Set(keyify(config, \"\"));\nvar defaultConfig_default = config;\n\n// src/utils/sanitizeDirective.ts\nvar sanitizeDirective = /* @__PURE__ */ __name((args) => {\n log.debug(\"sanitizeDirective called with\", args);\n if (typeof args !== \"object\" || args == null) {\n return;\n }\n if (Array.isArray(args)) {\n args.forEach((arg) => sanitizeDirective(arg));\n return;\n }\n for (const key of Object.keys(args)) {\n log.debug(\"Checking key\", key);\n if (key.startsWith(\"__\") || key.includes(\"proto\") || key.includes(\"constr\") || !configKeys.has(key) || args[key] == null) {\n log.debug(\"sanitize deleting key: \", key);\n delete args[key];\n continue;\n }\n if (typeof args[key] === \"object\") {\n log.debug(\"sanitizing object\", key);\n sanitizeDirective(args[key]);\n continue;\n }\n const cssMatchers = [\"themeCSS\", \"fontFamily\", \"altFontFamily\"];\n for (const cssKey of cssMatchers) {\n if (key.includes(cssKey)) {\n log.debug(\"sanitizing css option\", key);\n args[key] = sanitizeCss(args[key]);\n }\n }\n }\n if (args.themeVariables) {\n for (const k of Object.keys(args.themeVariables)) {\n const val = args.themeVariables[k];\n if (val?.match && !val.match(/^[\\d \"#%(),.;A-Za-z]+$/)) {\n args.themeVariables[k] = \"\";\n }\n }\n }\n log.debug(\"After sanitization\", args);\n}, \"sanitizeDirective\");\nvar sanitizeCss = /* @__PURE__ */ __name((str) => {\n let startCnt = 0;\n let endCnt = 0;\n for (const element of str) {\n if (startCnt < endCnt) {\n return \"{ /* ERROR: Unbalanced CSS */ }\";\n }\n if (element === \"{\") {\n startCnt++;\n } else if (element === \"}\") {\n endCnt++;\n }\n }\n if (startCnt !== endCnt) {\n return \"{ /* ERROR: Unbalanced CSS */ }\";\n }\n return str;\n}, \"sanitizeCss\");\n\n// src/config.ts\nvar defaultConfig = Object.freeze(defaultConfig_default);\nvar evaluate = /* @__PURE__ */ __name((val) => val === false || [\"false\", \"null\", \"0\"].includes(String(val).trim().toLowerCase()) ? false : true, \"evaluate\");\nvar siteConfig = assignWithDepth_default({}, defaultConfig);\nvar configFromInitialize;\nvar directives = [];\nvar currentConfig = assignWithDepth_default({}, defaultConfig);\nvar updateCurrentConfig = /* @__PURE__ */ __name((siteCfg, _directives) => {\n let cfg = assignWithDepth_default({}, siteCfg);\n let sumOfDirectives = {};\n for (const d of _directives) {\n sanitize(d);\n sumOfDirectives = assignWithDepth_default(sumOfDirectives, d);\n }\n cfg = assignWithDepth_default(cfg, sumOfDirectives);\n if (sumOfDirectives.theme && sumOfDirectives.theme in themes_default) {\n const tmpConfigFromInitialize = assignWithDepth_default({}, configFromInitialize);\n const themeVariables = assignWithDepth_default(\n tmpConfigFromInitialize.themeVariables || {},\n sumOfDirectives.themeVariables\n );\n if (cfg.theme && cfg.theme in themes_default) {\n cfg.themeVariables = themes_default[cfg.theme].getThemeVariables(themeVariables);\n }\n }\n currentConfig = cfg;\n checkConfig(currentConfig);\n return currentConfig;\n}, \"updateCurrentConfig\");\nvar setSiteConfig = /* @__PURE__ */ __name((conf) => {\n siteConfig = assignWithDepth_default({}, defaultConfig);\n siteConfig = assignWithDepth_default(siteConfig, conf);\n if (conf.theme && themes_default[conf.theme]) {\n siteConfig.themeVariables = themes_default[conf.theme].getThemeVariables(conf.themeVariables);\n }\n updateCurrentConfig(siteConfig, directives);\n return siteConfig;\n}, \"setSiteConfig\");\nvar saveConfigFromInitialize = /* @__PURE__ */ __name((conf) => {\n configFromInitialize = assignWithDepth_default({}, conf);\n}, \"saveConfigFromInitialize\");\nvar updateSiteConfig = /* @__PURE__ */ __name((conf) => {\n siteConfig = assignWithDepth_default(siteConfig, conf);\n updateCurrentConfig(siteConfig, directives);\n return siteConfig;\n}, \"updateSiteConfig\");\nvar getSiteConfig = /* @__PURE__ */ __name(() => {\n return assignWithDepth_default({}, siteConfig);\n}, \"getSiteConfig\");\nvar setConfig = /* @__PURE__ */ __name((conf) => {\n checkConfig(conf);\n assignWithDepth_default(currentConfig, conf);\n return getConfig();\n}, \"setConfig\");\nvar getConfig = /* @__PURE__ */ __name(() => {\n return assignWithDepth_default({}, currentConfig);\n}, \"getConfig\");\nvar sanitize = /* @__PURE__ */ __name((options) => {\n if (!options) {\n return;\n }\n [\"secure\", ...siteConfig.secure ?? []].forEach((key) => {\n if (Object.hasOwn(options, key)) {\n log.debug(`Denied attempt to modify a secure key ${key}`, options[key]);\n delete options[key];\n }\n });\n Object.keys(options).forEach((key) => {\n if (key.startsWith(\"__\")) {\n delete options[key];\n }\n });\n Object.keys(options).forEach((key) => {\n if (typeof options[key] === \"string\" && (options[key].includes(\"<\") || options[key].includes(\">\") || options[key].includes(\"url(data:\"))) {\n delete options[key];\n }\n if (typeof options[key] === \"object\") {\n sanitize(options[key]);\n }\n });\n}, \"sanitize\");\nvar addDirective = /* @__PURE__ */ __name((directive) => {\n sanitizeDirective(directive);\n if (directive.fontFamily && !directive.themeVariables?.fontFamily) {\n directive.themeVariables = {\n ...directive.themeVariables,\n fontFamily: directive.fontFamily\n };\n }\n directives.push(directive);\n updateCurrentConfig(siteConfig, directives);\n}, \"addDirective\");\nvar reset = /* @__PURE__ */ __name((config2 = siteConfig) => {\n directives = [];\n updateCurrentConfig(config2, directives);\n}, \"reset\");\nvar ConfigWarning = {\n LAZY_LOAD_DEPRECATED: \"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.\",\n FLOWCHART_HTML_LABELS_DEPRECATED: \"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead.\"\n};\nvar issuedWarnings = {};\nvar issueWarning = /* @__PURE__ */ __name((warning) => {\n if (issuedWarnings[warning]) {\n return;\n }\n log.warn(ConfigWarning[warning]);\n issuedWarnings[warning] = true;\n}, \"issueWarning\");\nvar checkConfig = /* @__PURE__ */ __name((config2) => {\n if (!config2) {\n return;\n }\n if (config2.lazyLoadedDiagrams || config2.loadExternalDiagramsAtStartup) {\n issueWarning(\"LAZY_LOAD_DEPRECATED\");\n }\n}, \"checkConfig\");\nvar getUserDefinedConfig = /* @__PURE__ */ __name(() => {\n let userConfig = {};\n if (configFromInitialize) {\n userConfig = assignWithDepth_default(userConfig, configFromInitialize);\n }\n for (const d of directives) {\n userConfig = assignWithDepth_default(userConfig, d);\n }\n return userConfig;\n}, \"getUserDefinedConfig\");\nvar getEffectiveHtmlLabels = /* @__PURE__ */ __name((config2) => {\n if (config2.flowchart?.htmlLabels != void 0) {\n issueWarning(\"FLOWCHART_HTML_LABELS_DEPRECATED\");\n }\n return evaluate(config2.htmlLabels ?? config2.flowchart?.htmlLabels ?? true);\n}, \"getEffectiveHtmlLabels\");\n\n// src/diagrams/common/common.ts\nimport DOMPurify from \"dompurify\";\nvar lineBreakRegex = /<br\\s*\\/?>/gi;\nvar getRows = /* @__PURE__ */ __name((s) => {\n if (!s) {\n return [\"\"];\n }\n const str = breakToPlaceholder(s).replace(/\\\\n/g, \"#br#\");\n return str.split(\"#br#\");\n}, \"getRows\");\nvar setupDompurifyHooksIfNotSetup = /* @__PURE__ */ (() => {\n let setup = false;\n return () => {\n if (!setup) {\n setupDompurifyHooks();\n setup = true;\n }\n };\n})();\nfunction setupDompurifyHooks() {\n const TEMPORARY_ATTRIBUTE = \"data-temp-href-target\";\n DOMPurify.addHook(\"beforeSanitizeAttributes\", (node) => {\n if (node.tagName === \"A\" && node.hasAttribute(\"target\")) {\n node.setAttribute(TEMPORARY_ATTRIBUTE, node.getAttribute(\"target\") ?? \"\");\n }\n });\n DOMPurify.addHook(\"afterSanitizeAttributes\", (node) => {\n if (node.tagName === \"A\" && node.hasAttribute(TEMPORARY_ATTRIBUTE)) {\n node.setAttribute(\"target\", node.getAttribute(TEMPORARY_ATTRIBUTE) ?? \"\");\n node.removeAttribute(TEMPORARY_ATTRIBUTE);\n if (node.getAttribute(\"target\") === \"_blank\") {\n node.setAttribute(\"rel\", \"noopener\");\n }\n }\n });\n}\n__name(setupDompurifyHooks, \"setupDompurifyHooks\");\nvar removeScript = /* @__PURE__ */ __name((txt) => {\n setupDompurifyHooksIfNotSetup();\n const sanitizedText = DOMPurify.sanitize(txt);\n return sanitizedText;\n}, \"removeScript\");\nvar sanitizeMore = /* @__PURE__ */ __name((text, config2) => {\n if (getEffectiveHtmlLabels(config2)) {\n const level = config2.securityLevel;\n if (level === \"antiscript\" || level === \"strict\" || level === \"sandbox\") {\n text = removeScript(text);\n } else if (level !== \"loose\") {\n text = breakToPlaceholder(text);\n text = text.replace(/</g, \"<\").replace(/>/g, \">\");\n text = text.replace(/=/g, \"=\");\n text = placeholderToBreak(text);\n }\n }\n return text;\n}, \"sanitizeMore\");\nvar sanitizeText = /* @__PURE__ */ __name((text, config2) => {\n if (!text) {\n return text;\n }\n if (config2.dompurifyConfig) {\n text = DOMPurify.sanitize(sanitizeMore(text, config2), config2.dompurifyConfig).toString();\n } else {\n text = DOMPurify.sanitize(sanitizeMore(text, config2), {\n FORBID_TAGS: [\"style\"]\n }).toString();\n }\n return text;\n}, \"sanitizeText\");\nvar sanitizeTextOrArray = /* @__PURE__ */ __name((a, config2) => {\n if (typeof a === \"string\") {\n return sanitizeText(a, config2);\n }\n return a.flat().map((x) => sanitizeText(x, config2));\n}, \"sanitizeTextOrArray\");\nvar hasBreaks = /* @__PURE__ */ __name((text) => {\n return lineBreakRegex.test(text);\n}, \"hasBreaks\");\nvar splitBreaks = /* @__PURE__ */ __name((text) => {\n return text.split(lineBreakRegex);\n}, \"splitBreaks\");\nvar placeholderToBreak = /* @__PURE__ */ __name((s) => {\n return s.replace(/#br#/g, \"<br/>\");\n}, \"placeholderToBreak\");\nvar breakToPlaceholder = /* @__PURE__ */ __name((s) => {\n return s.replace(lineBreakRegex, \"#br#\");\n}, \"breakToPlaceholder\");\nvar getUrl = /* @__PURE__ */ __name((useAbsolute) => {\n let url = \"\";\n if (useAbsolute) {\n url = window.location.protocol + \"//\" + window.location.host + window.location.pathname + window.location.search;\n url = CSS.escape(url);\n }\n return url;\n}, \"getUrl\");\nvar getMax = /* @__PURE__ */ __name(function(...values) {\n const newValues = values.filter((value) => {\n return !isNaN(value);\n });\n return Math.max(...newValues);\n}, \"getMax\");\nvar getMin = /* @__PURE__ */ __name(function(...values) {\n const newValues = values.filter((value) => {\n return !isNaN(value);\n });\n return Math.min(...newValues);\n}, \"getMin\");\nvar parseGenericTypes = /* @__PURE__ */ __name(function(input) {\n const inputSets = input.split(/(,)/);\n const output = [];\n for (let i = 0; i < inputSets.length; i++) {\n let thisSet = inputSets[i];\n if (thisSet === \",\" && i > 0 && i + 1 < inputSets.length) {\n const previousSet = inputSets[i - 1];\n const nextSet = inputSets[i + 1];\n if (shouldCombineSets(previousSet, nextSet)) {\n thisSet = previousSet + \",\" + nextSet;\n i++;\n output.pop();\n }\n }\n output.push(processSet(thisSet));\n }\n return output.join(\"\");\n}, \"parseGenericTypes\");\nvar countOccurrence = /* @__PURE__ */ __name((string, substring) => {\n return Math.max(0, string.split(substring).length - 1);\n}, \"countOccurrence\");\nvar shouldCombineSets = /* @__PURE__ */ __name((previousSet, nextSet) => {\n const prevCount = countOccurrence(previousSet, \"~\");\n const nextCount = countOccurrence(nextSet, \"~\");\n return prevCount === 1 && nextCount === 1;\n}, \"shouldCombineSets\");\nvar processSet = /* @__PURE__ */ __name((input) => {\n const tildeCount = countOccurrence(input, \"~\");\n let hasStartingTilde = false;\n if (tildeCount <= 1) {\n return input;\n }\n if (tildeCount % 2 !== 0 && input.startsWith(\"~\")) {\n input = input.substring(1);\n hasStartingTilde = true;\n }\n const chars = [...input];\n let first = chars.indexOf(\"~\");\n let last = chars.lastIndexOf(\"~\");\n while (first !== -1 && last !== -1 && first !== last) {\n chars[first] = \"<\";\n chars[last] = \">\";\n first = chars.indexOf(\"~\");\n last = chars.lastIndexOf(\"~\");\n }\n if (hasStartingTilde) {\n chars.unshift(\"~\");\n }\n return chars.join(\"\");\n}, \"processSet\");\nvar isMathMLSupported = /* @__PURE__ */ __name(() => window.MathMLElement !== void 0, \"isMathMLSupported\");\nvar katexRegex = /\\$\\$(.*)\\$\\$/g;\nvar hasKatex = /* @__PURE__ */ __name((text) => (text.match(katexRegex)?.length ?? 0) > 0, \"hasKatex\");\nvar calculateMathMLDimensions = /* @__PURE__ */ __name(async (text, config2) => {\n const divElem = document.createElement(\"div\");\n divElem.innerHTML = await renderKatexSanitized(text, config2);\n divElem.id = \"katex-temp\";\n divElem.style.visibility = \"hidden\";\n divElem.style.position = \"absolute\";\n divElem.style.top = \"0\";\n const body = document.querySelector(\"body\");\n body?.insertAdjacentElement(\"beforeend\", divElem);\n const dim = { width: divElem.clientWidth, height: divElem.clientHeight };\n divElem.remove();\n return dim;\n}, \"calculateMathMLDimensions\");\nvar renderKatexUnsanitized = /* @__PURE__ */ __name(async (text, config2) => {\n if (!hasKatex(text)) {\n return text;\n }\n if (!(isMathMLSupported() || config2.legacyMathML || config2.forceLegacyMathML)) {\n return text.replace(katexRegex, \"MathML is unsupported in this environment.\");\n }\n if (true) {\n const { default: katex } = await import(\"katex\");\n const outputMode = config2.forceLegacyMathML || !isMathMLSupported() && config2.legacyMathML ? \"htmlAndMathml\" : \"mathml\";\n return text.split(lineBreakRegex).map(\n (line) => hasKatex(line) ? `<div style=\"display: flex; align-items: center; justify-content: center; white-space: nowrap;\">${line}</div>` : `<div>${line}</div>`\n ).join(\"\").replace(\n katexRegex,\n (_, c) => katex.renderToString(c, {\n throwOnError: true,\n displayMode: true,\n output: outputMode\n }).replace(/\\n/g, \" \").replace(/<annotation.*<\\/annotation>/g, \"\")\n );\n }\n return text.replace(\n katexRegex,\n \"Katex is not supported in @mermaid-js/tiny. Please use the full mermaid library.\"\n );\n}, \"renderKatexUnsanitized\");\nvar renderKatexSanitized = /* @__PURE__ */ __name(async (text, config2) => {\n return sanitizeText(await renderKatexUnsanitized(text, config2), config2);\n}, \"renderKatexSanitized\");\nvar common_default = {\n getRows,\n sanitizeText,\n sanitizeTextOrArray,\n hasBreaks,\n splitBreaks,\n lineBreakRegex,\n removeScript,\n getUrl,\n evaluate,\n getMax,\n getMin\n};\n\n// src/setupGraphViewbox.js\nvar d3Attrs = /* @__PURE__ */ __name(function(d3Elem, attrs) {\n for (let attr of attrs) {\n d3Elem.attr(attr[0], attr[1]);\n }\n}, \"d3Attrs\");\nvar calculateSvgSizeAttrs = /* @__PURE__ */ __name(function(height, width, useMaxWidth) {\n let attrs = /* @__PURE__ */ new Map();\n if (useMaxWidth) {\n attrs.set(\"width\", \"100%\");\n attrs.set(\"style\", `max-width: ${width}px;`);\n } else {\n attrs.set(\"height\", height);\n attrs.set(\"width\", width);\n }\n return attrs;\n}, \"calculateSvgSizeAttrs\");\nvar configureSvgSize = /* @__PURE__ */ __name(function(svgElem, height, width, useMaxWidth) {\n const attrs = calculateSvgSizeAttrs(height, width, useMaxWidth);\n d3Attrs(svgElem, attrs);\n}, \"configureSvgSize\");\nvar setupGraphViewbox = /* @__PURE__ */ __name(function(graph, svgElem, padding, useMaxWidth) {\n const svgBounds = svgElem.node().getBBox();\n const sWidth = svgBounds.width;\n const sHeight = svgBounds.height;\n log.info(`SVG bounds: ${sWidth}x${sHeight}`, svgBounds);\n let width = 0;\n let height = 0;\n log.info(`Graph bounds: ${width}x${height}`, graph);\n width = sWidth + padding * 2;\n height = sHeight + padding * 2;\n log.info(`Calculated bounds: ${width}x${height}`);\n configureSvgSize(svgElem, height, width, useMaxWidth);\n const vBox = `${svgBounds.x - padding} ${svgBounds.y - padding} ${svgBounds.width + 2 * padding} ${svgBounds.height + 2 * padding}`;\n svgElem.attr(\"viewBox\", vBox);\n}, \"setupGraphViewbox\");\n\n// src/styles.ts\nvar themes = {};\nvar getStyles = /* @__PURE__ */ __name((type, userStyles, options) => {\n let diagramStyles = \"\";\n if (type in themes && themes[type]) {\n diagramStyles = themes[type](options);\n } else {\n log.warn(`No theme found for ${type}`);\n }\n return ` & {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n fill: ${options.textColor}\n }\n @keyframes edge-animation-frame {\n from {\n stroke-dashoffset: 0;\n }\n }\n @keyframes dash {\n to {\n stroke-dashoffset: 0;\n }\n }\n & .edge-animation-slow {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 50s linear infinite;\n stroke-linecap: round;\n }\n & .edge-animation-fast {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 20s linear infinite;\n stroke-linecap: round;\n }\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${options.errorBkgColor};\n }\n & .error-text {\n fill: ${options.errorTextColor};\n stroke: ${options.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: 1px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n & .edge-thickness-invisible {\n stroke-width: 0;\n fill: none;\n }\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${options.lineColor};\n stroke: ${options.lineColor};\n }\n & .marker.cross {\n stroke: ${options.lineColor};\n }\n\n & svg {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n }\n & p {\n margin: 0\n }\n\n ${diagramStyles}\n\n ${userStyles}\n`;\n}, \"getStyles\");\nvar addStylesForDiagram = /* @__PURE__ */ __name((type, diagramTheme) => {\n if (diagramTheme !== void 0) {\n themes[type] = diagramTheme;\n }\n}, \"addStylesForDiagram\");\nvar styles_default = getStyles;\n\n// src/diagrams/common/commonDb.ts\nvar commonDb_exports = {};\n__export(commonDb_exports, {\n clear: () => clear,\n getAccDescription: () => getAccDescription,\n getAccTitle: () => getAccTitle,\n getDiagramTitle: () => getDiagramTitle,\n setAccDescription: () => setAccDescription,\n setAccTitle: () => setAccTitle,\n setDiagramTitle: () => setDiagramTitle\n});\nvar accTitle = \"\";\nvar diagramTitle = \"\";\nvar accDescription = \"\";\nvar sanitizeText2 = /* @__PURE__ */ __name((txt) => sanitizeText(txt, getConfig()), \"sanitizeText\");\nvar clear = /* @__PURE__ */ __name(() => {\n accTitle = \"\";\n accDescription = \"\";\n diagramTitle = \"\";\n}, \"clear\");\nvar setAccTitle = /* @__PURE__ */ __name((txt) => {\n accTitle = sanitizeText2(txt).replace(/^\\s+/g, \"\");\n}, \"setAccTitle\");\nvar getAccTitle = /* @__PURE__ */ __name(() => accTitle, \"getAccTitle\");\nvar setAccDescription = /* @__PURE__ */ __name((txt) => {\n accDescription = sanitizeText2(txt).replace(/\\n\\s+/g, \"\\n\");\n}, \"setAccDescription\");\nvar getAccDescription = /* @__PURE__ */ __name(() => accDescription, \"getAccDescription\");\nvar setDiagramTitle = /* @__PURE__ */ __name((txt) => {\n diagramTitle = sanitizeText2(txt);\n}, \"setDiagramTitle\");\nvar getDiagramTitle = /* @__PURE__ */ __name(() => diagramTitle, \"getDiagramTitle\");\n\n// src/diagram-api/diagramAPI.ts\nvar log2 = log;\nvar setLogLevel2 = setLogLevel;\nvar getConfig2 = getConfig;\nvar setConfig2 = setConfig;\nvar defaultConfig2 = defaultConfig;\nvar sanitizeText3 = /* @__PURE__ */ __name((text) => sanitizeText(text, getConfig2()), \"sanitizeText\");\nvar setupGraphViewbox2 = setupGraphViewbox;\nvar getCommonDb = /* @__PURE__ */ __name(() => {\n return commonDb_exports;\n}, \"getCommonDb\");\nvar diagrams = {};\nvar registerDiagram = /* @__PURE__ */ __name((id, diagram, detector) => {\n if (diagrams[id]) {\n log2.warn(`Diagram with id ${id} already registered. Overwriting.`);\n }\n diagrams[id] = diagram;\n if (detector) {\n addDetector(id, detector);\n }\n addStylesForDiagram(id, diagram.styles);\n diagram.injectUtils?.(\n log2,\n setLogLevel2,\n getConfig2,\n sanitizeText3,\n setupGraphViewbox2,\n getCommonDb(),\n () => {\n }\n );\n}, \"registerDiagram\");\nvar getDiagram = /* @__PURE__ */ __name((name) => {\n if (name in diagrams) {\n return diagrams[name];\n }\n throw new DiagramNotFoundError(name);\n}, \"getDiagram\");\nvar DiagramNotFoundError = class extends Error {\n static {\n __name(this, \"DiagramNotFoundError\");\n }\n constructor(name) {\n super(`Diagram ${name} not found.`);\n }\n};\n\nexport {\n assignWithDepth_default,\n getThemeVariables3 as getThemeVariables,\n themes_default,\n defaultConfig_default,\n sanitizeDirective,\n defaultConfig,\n evaluate,\n setSiteConfig,\n saveConfigFromInitialize,\n updateSiteConfig,\n getSiteConfig,\n setConfig,\n getConfig,\n addDirective,\n reset,\n getUserDefinedConfig,\n getEffectiveHtmlLabels,\n lineBreakRegex,\n sanitizeText,\n getUrl,\n parseGenericTypes,\n hasKatex,\n calculateMathMLDimensions,\n renderKatexSanitized,\n common_default,\n frontMatterRegex,\n directiveRegex,\n UnknownDiagramError,\n detectors,\n detectType,\n registerLazyLoadedDiagrams,\n getDiagramLoader,\n configureSvgSize,\n setupGraphViewbox,\n styles_default,\n clear,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n setDiagramTitle,\n getDiagramTitle,\n commonDb_exports,\n getConfig2,\n setConfig2,\n defaultConfig2,\n sanitizeText3 as sanitizeText2,\n setupGraphViewbox2,\n registerDiagram,\n getDiagram\n};\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],"mappings":"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B,cAAgB;EAChB,cAAgB;EAChB,YAAc;EACd,iBAAmB;EACnB,aAAe;EACf,qBAAuB;EACvB,eAAiB;EACjB,iBAAmB;EACnB,iBAAmB;EACnB,cAAgB;EAChB,gBAAkB;EAClB,gBAAkB;EAClB,WAAa;EACb,iBAAmB;EACnB,mBAAqB;EACrB,mBAAqB;EACrB,MAAQ;EACR,aAAe;EACf,eAAiB;EACjB,gBAAkB;EACnB;CACD,OAAS;EACP,aAAe;EACf,gBAAkB;EAClB,WAAa;EACb,QAAU;EACV,YAAc;EACd,cAAgB;EAChB,aAAe;EACf,sBAAwB;EACxB,UAAY;EACZ,iBAAmB;EACnB,qBAAuB;EACvB,YAAc;EACd,SAAW;EACX,aAAe;EACf,SAAW;EACZ;CACD,SAAW;EACT,aAAe;EACf,gBAAkB;EAClB,gBAAkB;EAClB,YAAc;EACd,eAAiB;EACjB,OAAS;EACT,QAAU;EACV,WAAa;EACb,eAAiB;EACjB,YAAc;EACd,eAAiB;EACjB,cAAgB;EAChB,iBAAmB;EACnB,aAAe;EACf,cAAgB;EAChB,gBAAkB;EAClB,YAAc;EACd,iBAAmB;EACnB,eAAiB;EACjB,cAAgB;GACd;GACA;GACA;GACA;GACA;GACA;GACD;EACD,cAAgB;GACd;GACA;GACA;GACA;GACA;GACA;GACA;GACD;EACD,gBAAkB,CAChB,OACD;EACD,YAAc;EACd,iBAAmB;EACnB,eAAiB;EAClB;CACD,OAAS;EACP,aAAe;EACf,gBAAkB;EAClB,qBAAuB;EACvB,eAAiB;EACjB,SAAW;EACX,YAAc;EACd,iBAAmB;EACnB,YAAc;EACd,qBAAuB;EACxB;CACD,OAAS;EACP,aAAe;EACf,gBAAkB;EAClB,eAAiB;EACjB,UAAY;EACZ,SAAW;EACX,YAAc;EACd,YAAc;EACd,YAAc;EACd,WAAa;EACb,YAAc;EACd,aAAe;EACf,gBAAkB;EAClB,UAAY;EACZ,aAAe;EACf,kBAAoB;EACpB,mBAAqB;EACrB,QAAU;EACV,iBAAmB;EACpB;CACD,IAAM;EACJ,aAAe;EACf,gBAAkB;EAClB,gBAAkB;EAClB,iBAAmB;EAC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"}
|
|
1
|
+
{"version":3,"file":"chunk-7R4GIKGN-DFba5m0T.js","names":["_","_","ChannelsReusable","_","ChannelsReusable","ChannelsReusable","_","_","channels","ChannelsReusable","_","_","_","adjust2","lighten2","adjust3","invert2","darken2","isDark2","adjust4","invert3","rgba2","darken3","lighten3","isDark3","lighten4","invert4","darken4","adjust5","isDark4","lighten5","adjust6","invert5","darken5","isDark5","DOMPurify"],"sources":["../../../../node_modules/khroma/dist/utils/channel.js","../../../../node_modules/khroma/dist/utils/lang.js","../../../../node_modules/khroma/dist/utils/unit.js","../../../../node_modules/khroma/dist/utils/index.js","../../../../node_modules/khroma/dist/constants.js","../../../../node_modules/khroma/dist/channels/type.js","../../../../node_modules/khroma/dist/channels/index.js","../../../../node_modules/khroma/dist/channels/reusable.js","../../../../node_modules/khroma/dist/color/hex.js","../../../../node_modules/khroma/dist/color/hsl.js","../../../../node_modules/khroma/dist/color/keyword.js","../../../../node_modules/khroma/dist/color/rgb.js","../../../../node_modules/khroma/dist/color/index.js","../../../../node_modules/khroma/dist/methods/change.js","../../../../node_modules/khroma/dist/methods/rgba.js","../../../../node_modules/khroma/dist/methods/luminance.js","../../../../node_modules/khroma/dist/methods/is_light.js","../../../../node_modules/khroma/dist/methods/is_dark.js","../../../../node_modules/khroma/dist/methods/adjust_channel.js","../../../../node_modules/khroma/dist/methods/lighten.js","../../../../node_modules/khroma/dist/methods/darken.js","../../../../node_modules/khroma/dist/methods/adjust.js","../../../../node_modules/khroma/dist/methods/mix.js","../../../../node_modules/khroma/dist/methods/invert.js","../../../../node_modules/dompurify/dist/purify.es.mjs","../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-7R4GIKGN.mjs"],"sourcesContent":["/* IMPORT */\n/* MAIN */\nconst Channel = {\n /* CLAMP */\n min: {\n r: 0,\n g: 0,\n b: 0,\n s: 0,\n l: 0,\n a: 0\n },\n max: {\n r: 255,\n g: 255,\n b: 255,\n h: 360,\n s: 100,\n l: 100,\n a: 1\n },\n clamp: {\n r: (r) => r >= 255 ? 255 : (r < 0 ? 0 : r),\n g: (g) => g >= 255 ? 255 : (g < 0 ? 0 : g),\n b: (b) => b >= 255 ? 255 : (b < 0 ? 0 : b),\n h: (h) => h % 360,\n s: (s) => s >= 100 ? 100 : (s < 0 ? 0 : s),\n l: (l) => l >= 100 ? 100 : (l < 0 ? 0 : l),\n a: (a) => a >= 1 ? 1 : (a < 0 ? 0 : a)\n },\n /* CONVERSION */\n //SOURCE: https://planetcalc.com/7779\n toLinear: (c) => {\n const n = c / 255;\n return c > .03928 ? Math.pow(((n + .055) / 1.055), 2.4) : n / 12.92;\n },\n //SOURCE: https://gist.github.com/mjackson/5311256\n hue2rgb: (p, q, t) => {\n if (t < 0)\n t += 1;\n if (t > 1)\n t -= 1;\n if (t < 1 / 6)\n return p + (q - p) * 6 * t;\n if (t < 1 / 2)\n return q;\n if (t < 2 / 3)\n return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n },\n hsl2rgb: ({ h, s, l }, channel) => {\n if (!s)\n return l * 2.55; // Achromatic\n h /= 360;\n s /= 100;\n l /= 100;\n const q = (l < .5) ? l * (1 + s) : (l + s) - (l * s);\n const p = 2 * l - q;\n switch (channel) {\n case 'r': return Channel.hue2rgb(p, q, h + 1 / 3) * 255;\n case 'g': return Channel.hue2rgb(p, q, h) * 255;\n case 'b': return Channel.hue2rgb(p, q, h - 1 / 3) * 255;\n }\n },\n rgb2hsl: ({ r, g, b }, channel) => {\n r /= 255;\n g /= 255;\n b /= 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n if (channel === 'l')\n return l * 100;\n if (max === min)\n return 0; // Achromatic\n const d = max - min;\n const s = (l > .5) ? d / (2 - max - min) : d / (max + min);\n if (channel === 's')\n return s * 100;\n switch (max) {\n case r: return ((g - b) / d + (g < b ? 6 : 0)) * 60;\n case g: return ((b - r) / d + 2) * 60;\n case b: return ((r - g) / d + 4) * 60;\n default: return -1; //TSC: TypeScript is stupid and complains if there isn't this useless default statement\n }\n }\n};\n/* EXPORT */\nexport default Channel;\n","/* MAIN */\nconst Lang = {\n /* API */\n clamp: (number, lower, upper) => {\n if (lower > upper)\n return Math.min(lower, Math.max(upper, number));\n return Math.min(upper, Math.max(lower, number));\n },\n round: (number) => {\n return Math.round(number * 10000000000) / 10000000000;\n }\n};\n/* EXPORT */\nexport default Lang;\n","/* MAIN */\nconst Unit = {\n /* API */\n dec2hex: (dec) => {\n const hex = Math.round(dec).toString(16);\n return hex.length > 1 ? hex : `0${hex}`;\n }\n};\n/* EXPORT */\nexport default Unit;\n","/* IMPORT */\nimport channel from './channel.js';\nimport lang from './lang.js';\nimport unit from './unit.js';\n/* MAIN */\nconst Utils = {\n channel,\n lang,\n unit\n};\n/* EXPORT */\nexport default Utils;\n","/* IMPORT */\nimport _ from './utils/index.js';\n/* MAIN */\nconst DEC2HEX = {};\nfor (let i = 0; i <= 255; i++)\n DEC2HEX[i] = _.unit.dec2hex(i); // Populating dynamically, striking a balance between code size and performance\nconst TYPE = {\n ALL: 0,\n RGB: 1,\n HSL: 2\n};\n/* EXPORT */\nexport { DEC2HEX, TYPE };\n","/* IMPORT */\nimport { TYPE } from '../constants.js';\n/* MAIN */\nclass Type {\n constructor() {\n /* VARIABLES */\n this.type = TYPE.ALL;\n }\n /* API */\n get() {\n return this.type;\n }\n set(type) {\n if (this.type && this.type !== type)\n throw new Error('Cannot change both RGB and HSL channels at the same time');\n this.type = type;\n }\n reset() {\n this.type = TYPE.ALL;\n }\n is(type) {\n return this.type === type;\n }\n}\n/* EXPORT */\nexport default Type;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport Type from './type.js';\nimport { TYPE } from '../constants.js';\n/* MAIN */\nclass Channels {\n /* CONSTRUCTOR */\n constructor(data, color) {\n this.color = color;\n this.changed = false;\n this.data = data; //TSC\n this.type = new Type();\n }\n /* API */\n set(data, color) {\n this.color = color;\n this.changed = false;\n this.data = data; //TSC\n this.type.type = TYPE.ALL;\n return this;\n }\n /* HELPERS */\n _ensureHSL() {\n const data = this.data;\n const { h, s, l } = data;\n if (h === undefined)\n data.h = _.channel.rgb2hsl(data, 'h');\n if (s === undefined)\n data.s = _.channel.rgb2hsl(data, 's');\n if (l === undefined)\n data.l = _.channel.rgb2hsl(data, 'l');\n }\n _ensureRGB() {\n const data = this.data;\n const { r, g, b } = data;\n if (r === undefined)\n data.r = _.channel.hsl2rgb(data, 'r');\n if (g === undefined)\n data.g = _.channel.hsl2rgb(data, 'g');\n if (b === undefined)\n data.b = _.channel.hsl2rgb(data, 'b');\n }\n /* GETTERS */\n get r() {\n const data = this.data;\n const r = data.r;\n if (!this.type.is(TYPE.HSL) && r !== undefined)\n return r;\n this._ensureHSL();\n return _.channel.hsl2rgb(data, 'r');\n }\n get g() {\n const data = this.data;\n const g = data.g;\n if (!this.type.is(TYPE.HSL) && g !== undefined)\n return g;\n this._ensureHSL();\n return _.channel.hsl2rgb(data, 'g');\n }\n get b() {\n const data = this.data;\n const b = data.b;\n if (!this.type.is(TYPE.HSL) && b !== undefined)\n return b;\n this._ensureHSL();\n return _.channel.hsl2rgb(data, 'b');\n }\n get h() {\n const data = this.data;\n const h = data.h;\n if (!this.type.is(TYPE.RGB) && h !== undefined)\n return h;\n this._ensureRGB();\n return _.channel.rgb2hsl(data, 'h');\n }\n get s() {\n const data = this.data;\n const s = data.s;\n if (!this.type.is(TYPE.RGB) && s !== undefined)\n return s;\n this._ensureRGB();\n return _.channel.rgb2hsl(data, 's');\n }\n get l() {\n const data = this.data;\n const l = data.l;\n if (!this.type.is(TYPE.RGB) && l !== undefined)\n return l;\n this._ensureRGB();\n return _.channel.rgb2hsl(data, 'l');\n }\n get a() {\n return this.data.a;\n }\n /* SETTERS */\n set r(r) {\n this.type.set(TYPE.RGB);\n this.changed = true;\n this.data.r = r;\n }\n set g(g) {\n this.type.set(TYPE.RGB);\n this.changed = true;\n this.data.g = g;\n }\n set b(b) {\n this.type.set(TYPE.RGB);\n this.changed = true;\n this.data.b = b;\n }\n set h(h) {\n this.type.set(TYPE.HSL);\n this.changed = true;\n this.data.h = h;\n }\n set s(s) {\n this.type.set(TYPE.HSL);\n this.changed = true;\n this.data.s = s;\n }\n set l(l) {\n this.type.set(TYPE.HSL);\n this.changed = true;\n this.data.l = l;\n }\n set a(a) {\n this.changed = true;\n this.data.a = a;\n }\n}\n/* EXPORT */\nexport default Channels;\n","/* IMPORT */\nimport Channels from './/index.js';\n/* MAIN */\nconst channels = new Channels({ r: 0, g: 0, b: 0, a: 0 }, 'transparent');\n/* EXPORT */\nexport default channels;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\nimport { DEC2HEX } from '../constants.js';\n/* MAIN */\nconst Hex = {\n /* VARIABLES */\n re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,\n /* API */\n parse: (color) => {\n if (color.charCodeAt(0) !== 35)\n return; // '#'\n const match = color.match(Hex.re);\n if (!match)\n return;\n const hex = match[1];\n const dec = parseInt(hex, 16);\n const length = hex.length;\n const hasAlpha = length % 4 === 0;\n const isFullLength = length > 4;\n const multiplier = isFullLength ? 1 : 17;\n const bits = isFullLength ? 8 : 4;\n const bitsOffset = hasAlpha ? 0 : -1;\n const mask = isFullLength ? 255 : 15;\n return ChannelsReusable.set({\n r: ((dec >> (bits * (bitsOffset + 3))) & mask) * multiplier,\n g: ((dec >> (bits * (bitsOffset + 2))) & mask) * multiplier,\n b: ((dec >> (bits * (bitsOffset + 1))) & mask) * multiplier,\n a: hasAlpha ? (dec & mask) * multiplier / 255 : 1\n }, color);\n },\n stringify: (channels) => {\n const { r, g, b, a } = channels;\n if (a < 1) { // #RRGGBBAA\n return `#${DEC2HEX[Math.round(r)]}${DEC2HEX[Math.round(g)]}${DEC2HEX[Math.round(b)]}${DEC2HEX[Math.round(a * 255)]}`;\n }\n else { // #RRGGBB\n return `#${DEC2HEX[Math.round(r)]}${DEC2HEX[Math.round(g)]}${DEC2HEX[Math.round(b)]}`;\n }\n }\n};\n/* EXPORT */\nexport default Hex;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\n/* MAIN */\nconst HSL = {\n /* VARIABLES */\n 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,\n hueRe: /^(.+?)(deg|grad|rad|turn)$/i,\n /* HELPERS */\n _hue2deg: (hue) => {\n const match = hue.match(HSL.hueRe);\n if (match) {\n const [, number, unit] = match;\n switch (unit) {\n case 'grad': return _.channel.clamp.h(parseFloat(number) * .9);\n case 'rad': return _.channel.clamp.h(parseFloat(number) * 180 / Math.PI);\n case 'turn': return _.channel.clamp.h(parseFloat(number) * 360);\n }\n }\n return _.channel.clamp.h(parseFloat(hue));\n },\n /* API */\n parse: (color) => {\n const charCode = color.charCodeAt(0);\n if (charCode !== 104 && charCode !== 72)\n return; // 'h'/'H'\n const match = color.match(HSL.re);\n if (!match)\n return;\n const [, h, s, l, a, isAlphaPercentage] = match;\n return ChannelsReusable.set({\n h: HSL._hue2deg(h),\n s: _.channel.clamp.s(parseFloat(s)),\n l: _.channel.clamp.l(parseFloat(l)),\n a: a ? _.channel.clamp.a(isAlphaPercentage ? parseFloat(a) / 100 : parseFloat(a)) : 1\n }, color);\n },\n stringify: (channels) => {\n const { h, s, l, a } = channels;\n if (a < 1) { // HSLA\n return `hsla(${_.lang.round(h)}, ${_.lang.round(s)}%, ${_.lang.round(l)}%, ${a})`;\n }\n else { // HSL\n return `hsl(${_.lang.round(h)}, ${_.lang.round(s)}%, ${_.lang.round(l)}%)`;\n }\n }\n};\n/* EXPORT */\nexport default HSL;\n","/* IMPORT */\nimport Hex from './hex.js';\n/* MAIN */\nconst Keyword = {\n /* VARIABLES */\n colors: {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyanaqua: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n gold: '#ffd700',\n goldenrod: '#daa520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavender: '#e6e6fa',\n lavenderblush: '#fff0f5',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n transparent: '#00000000',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n },\n /* API */\n parse: (color) => {\n color = color.toLowerCase();\n const hex = Keyword.colors[color];\n if (!hex)\n return;\n return Hex.parse(hex);\n },\n stringify: (channels) => {\n const hex = Hex.stringify(channels);\n for (const name in Keyword.colors) {\n if (Keyword.colors[name] === hex)\n return name;\n }\n return;\n }\n};\n/* EXPORT */\nexport default Keyword;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\n/* MAIN */\nconst RGB = {\n /* VARIABLES */\n 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,\n /* API */\n parse: (color) => {\n const charCode = color.charCodeAt(0);\n if (charCode !== 114 && charCode !== 82)\n return; // 'r'/'R'\n const match = color.match(RGB.re);\n if (!match)\n return;\n const [, r, isRedPercentage, g, isGreenPercentage, b, isBluePercentage, a, isAlphaPercentage] = match;\n return ChannelsReusable.set({\n r: _.channel.clamp.r(isRedPercentage ? parseFloat(r) * 2.55 : parseFloat(r)),\n g: _.channel.clamp.g(isGreenPercentage ? parseFloat(g) * 2.55 : parseFloat(g)),\n b: _.channel.clamp.b(isBluePercentage ? parseFloat(b) * 2.55 : parseFloat(b)),\n a: a ? _.channel.clamp.a(isAlphaPercentage ? parseFloat(a) / 100 : parseFloat(a)) : 1\n }, color);\n },\n stringify: (channels) => {\n const { r, g, b, a } = channels;\n if (a < 1) { // RGBA\n return `rgba(${_.lang.round(r)}, ${_.lang.round(g)}, ${_.lang.round(b)}, ${_.lang.round(a)})`;\n }\n else { // RGB\n return `rgb(${_.lang.round(r)}, ${_.lang.round(g)}, ${_.lang.round(b)})`;\n }\n }\n};\n/* EXPORT */\nexport default RGB;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport Hex from './hex.js';\nimport HSL from './hsl.js';\nimport Keyword from './keyword.js';\nimport RGB from './rgb.js';\nimport { TYPE } from '../constants.js';\n/* MAIN */\nconst Color = {\n /* VARIABLES */\n format: {\n keyword: Keyword,\n hex: Hex,\n rgb: RGB,\n rgba: RGB,\n hsl: HSL,\n hsla: HSL\n },\n /* API */\n parse: (color) => {\n if (typeof color !== 'string')\n return color;\n const channels = Hex.parse(color) || RGB.parse(color) || HSL.parse(color) || Keyword.parse(color); // Color providers ordered with performance in mind\n if (channels)\n return channels;\n throw new Error(`Unsupported color format: \"${color}\"`);\n },\n stringify: (channels) => {\n // SASS returns a keyword if possible, but we avoid doing that as it's slower and doesn't really add any value\n if (!channels.changed && channels.color)\n return channels.color;\n if (channels.type.is(TYPE.HSL) || channels.data.r === undefined) {\n return HSL.stringify(channels);\n }\n else if (channels.a < 1 || !Number.isInteger(channels.r) || !Number.isInteger(channels.g) || !Number.isInteger(channels.b)) {\n return RGB.stringify(channels);\n }\n else {\n return Hex.stringify(channels);\n }\n }\n};\n/* EXPORT */\nexport default Color;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\nconst change = (color, channels) => {\n const ch = Color.parse(color);\n for (const c in channels) {\n ch[c] = _.channel.clamp[c](channels[c]);\n }\n return Color.stringify(ch);\n};\n/* EXPORT */\nexport default change;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\nimport Color from '../color/index.js';\nimport change from './change.js';\n/* MAIN */\nconst rgba = (r, g, b = 0, a = 1) => {\n if (typeof r !== 'number')\n return change(r, { a: g });\n const channels = ChannelsReusable.set({\n r: _.channel.clamp.r(r),\n g: _.channel.clamp.g(g),\n b: _.channel.clamp.b(b),\n a: _.channel.clamp.a(a)\n });\n return Color.stringify(channels);\n};\n/* EXPORT */\nexport default rgba;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\n//SOURCE: https://planetcalc.com/7779\nconst luminance = (color) => {\n const { r, g, b } = Color.parse(color);\n const luminance = .2126 * _.channel.toLinear(r) + .7152 * _.channel.toLinear(g) + .0722 * _.channel.toLinear(b);\n return _.lang.round(luminance);\n};\n/* EXPORT */\nexport default luminance;\n","/* IMPORT */\nimport luminance from './luminance.js';\n/* MAIN */\nconst isLight = (color) => {\n return luminance(color) >= .5;\n};\n/* EXPORT */\nexport default isLight;\n","/* IMPORT */\nimport isLight from './is_light.js';\n/* MAIN */\nconst isDark = (color) => {\n return !isLight(color);\n};\n/* EXPORT */\nexport default isDark;\n","/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\nconst adjustChannel = (color, channel, amount) => {\n const channels = Color.parse(color);\n const amountCurrent = channels[channel];\n const amountNext = _.channel.clamp[channel](amountCurrent + amount);\n if (amountCurrent !== amountNext)\n channels[channel] = amountNext;\n return Color.stringify(channels);\n};\n/* EXPORT */\nexport default adjustChannel;\n","/* IMPORT */\nimport adjustChannel from './adjust_channel.js';\n/* MAIN */\nconst lighten = (color, amount) => {\n return adjustChannel(color, 'l', amount);\n};\n/* EXPORT */\nexport default lighten;\n","/* IMPORT */\nimport adjustChannel from './adjust_channel.js';\n/* MAIN */\nconst darken = (color, amount) => {\n return adjustChannel(color, 'l', -amount);\n};\n/* EXPORT */\nexport default darken;\n","/* IMPORT */\nimport Color from '../color/index.js';\nimport change from './change.js';\n/* MAIN */\nconst adjust = (color, channels) => {\n const ch = Color.parse(color);\n const changes = {};\n for (const c in channels) {\n if (!channels[c])\n continue;\n changes[c] = ch[c] + channels[c];\n }\n return change(color, changes);\n};\n/* EXPORT */\nexport default adjust;\n","/* IMPORT */\nimport Color from '../color/index.js';\nimport rgba from './rgba.js';\n/* MAIN */\n//SOURCE: https://github.com/sass/dart-sass/blob/7457d2e9e7e623d9844ffd037a070cf32d39c348/lib/src/functions/color.dart#L718-L756\nconst mix = (color1, color2, weight = 50) => {\n const { r: r1, g: g1, b: b1, a: a1 } = Color.parse(color1);\n const { r: r2, g: g2, b: b2, a: a2 } = Color.parse(color2);\n const weightScale = weight / 100;\n const weightNormalized = (weightScale * 2) - 1;\n const alphaDelta = a1 - a2;\n const weight1combined = ((weightNormalized * alphaDelta) === -1) ? weightNormalized : (weightNormalized + alphaDelta) / (1 + weightNormalized * alphaDelta);\n const weight1 = (weight1combined + 1) / 2;\n const weight2 = 1 - weight1;\n const r = (r1 * weight1) + (r2 * weight2);\n const g = (g1 * weight1) + (g2 * weight2);\n const b = (b1 * weight1) + (b2 * weight2);\n const a = (a1 * weightScale) + (a2 * (1 - weightScale));\n return rgba(r, g, b, a);\n};\n/* EXPORT */\nexport default mix;\n","/* IMPORT */\nimport Color from '../color/index.js';\nimport mix from './mix.js';\n/* MAIN */\nconst invert = (color, weight = 100) => {\n const inverse = Color.parse(color);\n inverse.r = 255 - inverse.r;\n inverse.g = 255 - inverse.g;\n inverse.b = 255 - inverse.b;\n return mix(inverse, color, weight);\n};\n/* EXPORT */\nexport default invert;\n","/*! @license DOMPurify 3.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.3/LICENSE */\n\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object; // eslint-disable-line import/no-mutable-exports\nlet {\n apply,\n construct\n} = typeof Reflect !== 'undefined' && Reflect;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(func, thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return func.apply(thisArg, args);\n };\n}\nif (!construct) {\n construct = function construct(Func) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySplice = unapply(Array.prototype.splice);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n if (thisArg instanceof RegExp) {\n thisArg.lastIndex = 0;\n }\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(Func) {\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return construct(Func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*/gm); // eslint-disable-line unicorn/better-regex\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n ARIA_ATTR: ARIA_ATTR,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT,\n DATA_ATTR: DATA_ATTR,\n DOCTYPE_NAME: DOCTYPE_NAME,\n ERB_EXPR: ERB_EXPR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR\n});\n\n/* eslint-disable @typescript-eslint/indent */\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.3.3';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document\n } = window;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */\n const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {\n tagCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n }\n }));\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({});\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({});\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;\n HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = create(null);\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Prevent function-based ADD_ATTR / ADD_TAGS from leaking across calls */\n if (!objectHasOwnProperty(cfg, 'ADD_TAGS')) {\n EXTRA_ELEMENT_HANDLING.tagCheck = null;\n }\n if (!objectHasOwnProperty(cfg, 'ADD_ATTR')) {\n EXTRA_ELEMENT_HANDLING.attributeCheck = null;\n }\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (typeof cfg.ADD_TAGS === 'function') {\n EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;\n } else {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n }\n if (cfg.ADD_ATTR) {\n if (typeof cfg.ADD_ATTR === 'function') {\n EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;\n } else {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n }\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n if (cfg.ADD_FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * _isClobbered\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(element) {\n return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');\n };\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param value object to check whether it's a DOM node\n * @return true is object is a DOM node\n */\n const _isNode = function _isNode(value) {\n return typeof Node === 'function' && value instanceof Node;\n };\n function _executeHooks(hooks, currentNode, data) {\n arrayForEach(hooks, hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content = null;\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\\w!]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove element if anything forbids its presence */\n if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n }\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n content = stringReplace(content, expr, ' ');\n });\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* FORBID_ATTR must always win, even if ADD_ATTR predicate would allow it */\n if (FORBID_ATTR[lcName]) {\n return false;\n }\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n const {\n attributes\n } = currentNode;\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes || _isClobbered(currentNode)) {\n return;\n }\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined\n };\n let l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const {\n name,\n namespaceURI,\n value: attrValue\n } = attr;\n const lcName = transformCaseFunc(name);\n const initValue = attrValue;\n let value = name === 'value' ? initValue : stringTrim(initValue);\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Make sure we cannot easily use animated hrefs, even if animations are allowed */\n if (lcName === 'attributename' && stringMatch(value, 'href')) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n value = stringReplace(value, expr, ' ');\n });\n }\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Handle attributes that require Trusted Types */\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case 'TrustedScriptURL':\n {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n if (value !== initValue) {\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {\n _removeAttribute(name, currentNode);\n }\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n /* Sanitize tags and elements */\n _sanitizeElements(shadowNode);\n /* Check attributes next */\n _sanitizeAttributes(shadowNode);\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n _sanitizeElements(currentNode);\n /* Check attributes next */\n _sanitizeAttributes(currentNode);\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n }\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function (entryPoint, hookFunction) {\n if (hookFunction !== undefined) {\n const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];\n }\n return arrayPop(hooks[entryPoint]);\n };\n DOMPurify.removeHooks = function (entryPoint) {\n hooks[entryPoint] = [];\n };\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.mjs.map\n","import {\n __export,\n __name,\n log,\n setLogLevel\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagram-api/regexes.ts\nvar frontMatterRegex = /^-{3}\\s*[\\n\\r](.*?)[\\n\\r]-{3}\\s*[\\n\\r]+/s;\nvar directiveRegex = /%{2}{\\s*(?:(\\w+)\\s*:|(\\w+))\\s*(?:(\\w+)|((?:(?!}%{2}).|\\r?\\n)*))?\\s*(?:}%{2})?/gi;\nvar anyCommentRegex = /\\s*%%.*\\n/gm;\n\n// src/errors.ts\nvar UnknownDiagramError = class extends Error {\n static {\n __name(this, \"UnknownDiagramError\");\n }\n constructor(message) {\n super(message);\n this.name = \"UnknownDiagramError\";\n }\n};\n\n// src/diagram-api/detectType.ts\nvar detectors = {};\nvar detectType = /* @__PURE__ */ __name(function(text, config2) {\n text = text.replace(frontMatterRegex, \"\").replace(directiveRegex, \"\").replace(anyCommentRegex, \"\\n\");\n for (const [key, { detector }] of Object.entries(detectors)) {\n const diagram = detector(text, config2);\n if (diagram) {\n return key;\n }\n }\n throw new UnknownDiagramError(\n `No diagram type detected matching given configuration for text: ${text}`\n );\n}, \"detectType\");\nvar registerLazyLoadedDiagrams = /* @__PURE__ */ __name((...diagrams2) => {\n for (const { id, detector, loader } of diagrams2) {\n addDetector(id, detector, loader);\n }\n}, \"registerLazyLoadedDiagrams\");\nvar addDetector = /* @__PURE__ */ __name((key, detector, loader) => {\n if (detectors[key]) {\n log.warn(`Detector with key ${key} already exists. Overwriting.`);\n }\n detectors[key] = { detector, loader };\n log.debug(`Detector with key ${key} added${loader ? \" with loader\" : \"\"}`);\n}, \"addDetector\");\nvar getDiagramLoader = /* @__PURE__ */ __name((key) => {\n return detectors[key].loader;\n}, \"getDiagramLoader\");\n\n// src/assignWithDepth.ts\nvar assignWithDepth = /* @__PURE__ */ __name((dst, src, { depth = 2, clobber = false } = {}) => {\n const config2 = { depth, clobber };\n if (Array.isArray(src) && !Array.isArray(dst)) {\n src.forEach((s) => assignWithDepth(dst, s, config2));\n return dst;\n } else if (Array.isArray(src) && Array.isArray(dst)) {\n src.forEach((s) => {\n if (!dst.includes(s)) {\n dst.push(s);\n }\n });\n return dst;\n }\n if (dst === void 0 || depth <= 0) {\n if (dst !== void 0 && dst !== null && typeof dst === \"object\" && typeof src === \"object\") {\n return Object.assign(dst, src);\n } else {\n return src;\n }\n }\n if (src !== void 0 && typeof dst === \"object\" && typeof src === \"object\") {\n Object.keys(src).forEach((key) => {\n if (typeof src[key] === \"object\" && src[key] !== null && (dst[key] === void 0 || typeof dst[key] === \"object\")) {\n if (dst[key] === void 0) {\n dst[key] = Array.isArray(src[key]) ? [] : {};\n }\n dst[key] = assignWithDepth(dst[key], src[key], { depth: depth - 1, clobber });\n } else if (clobber || typeof dst[key] !== \"object\" && typeof src[key] !== \"object\") {\n dst[key] = src[key];\n }\n });\n }\n return dst;\n}, \"assignWithDepth\");\nvar assignWithDepth_default = assignWithDepth;\n\n// src/themes/theme-base.js\nimport { adjust as adjust2, darken, invert, isDark, lighten } from \"khroma\";\n\n// src/themes/erDiagram-oldHardcodedValues.ts\nvar oldAttributeBackgroundColorOdd = \"#ffffff\";\nvar oldAttributeBackgroundColorEven = \"#f2f2f2\";\n\n// src/themes/theme-helpers.js\nimport { adjust } from \"khroma\";\nvar mkBorder = /* @__PURE__ */ __name((col, darkMode) => darkMode ? adjust(col, { s: -40, l: 10 }) : adjust(col, { s: -40, l: -10 }), \"mkBorder\");\n\n// src/themes/theme-base.js\nvar Theme = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#fff4dd\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"#333\";\n this.THEME_COLOR_LIMIT = 12;\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n }\n updateColors() {\n this.primaryTextColor = this.primaryTextColor || (this.darkMode ? \"#eee\" : \"#333\");\n this.secondaryColor = this.secondaryColor || adjust2(this.primaryColor, { h: -120 });\n this.tertiaryColor = this.tertiaryColor || adjust2(this.primaryColor, { h: 180, l: 5 });\n this.primaryBorderColor = this.primaryBorderColor || mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = this.secondaryBorderColor || mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = this.tertiaryBorderColor || mkBorder(this.tertiaryColor, this.darkMode);\n this.noteBorderColor = this.noteBorderColor || mkBorder(this.noteBkgColor, this.darkMode);\n this.noteBkgColor = this.noteBkgColor || \"#fff5ad\";\n this.noteTextColor = this.noteTextColor || \"#333\";\n this.secondaryTextColor = this.secondaryTextColor || invert(this.secondaryColor);\n this.tertiaryTextColor = this.tertiaryTextColor || invert(this.tertiaryColor);\n this.lineColor = this.lineColor || invert(this.background);\n this.arrowheadColor = this.arrowheadColor || invert(this.background);\n this.textColor = this.textColor || this.primaryTextColor;\n this.border2 = this.border2 || this.tertiaryBorderColor;\n this.nodeBkg = this.nodeBkg || this.primaryColor;\n this.mainBkg = this.mainBkg || this.primaryColor;\n this.nodeBorder = this.nodeBorder || this.primaryBorderColor;\n this.clusterBkg = this.clusterBkg || this.tertiaryColor;\n this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor;\n this.defaultLinkColor = this.defaultLinkColor || this.lineColor;\n this.titleColor = this.titleColor || this.tertiaryTextColor;\n this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? darken(this.secondaryColor, 30) : this.secondaryColor);\n this.nodeTextColor = this.nodeTextColor || this.primaryTextColor;\n this.actorBorder = this.actorBorder || this.primaryBorderColor;\n this.actorBkg = this.actorBkg || this.mainBkg;\n this.actorTextColor = this.actorTextColor || this.primaryTextColor;\n this.actorLineColor = this.actorLineColor || this.actorBorder;\n this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg;\n this.signalColor = this.signalColor || this.textColor;\n this.signalTextColor = this.signalTextColor || this.textColor;\n this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder;\n this.labelTextColor = this.labelTextColor || this.actorTextColor;\n this.loopTextColor = this.loopTextColor || this.actorTextColor;\n this.activationBorderColor = this.activationBorderColor || darken(this.secondaryColor, 10);\n this.activationBkgColor = this.activationBkgColor || this.secondaryColor;\n this.sequenceNumberColor = this.sequenceNumberColor || invert(this.lineColor);\n this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor;\n this.altSectionBkgColor = this.altSectionBkgColor || \"white\";\n this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor;\n this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor;\n this.excludeBkgColor = this.excludeBkgColor || \"#eeeeee\";\n this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor;\n this.taskBkgColor = this.taskBkgColor || this.primaryColor;\n this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor;\n this.activeTaskBkgColor = this.activeTaskBkgColor || lighten(this.primaryColor, 23);\n this.gridColor = this.gridColor || \"lightgrey\";\n this.doneTaskBkgColor = this.doneTaskBkgColor || \"lightgrey\";\n this.doneTaskBorderColor = this.doneTaskBorderColor || \"grey\";\n this.critBorderColor = this.critBorderColor || \"#ff8888\";\n this.critBkgColor = this.critBkgColor || \"red\";\n this.todayLineColor = this.todayLineColor || \"red\";\n this.vertLineColor = this.vertLineColor || \"navy\";\n this.taskTextColor = this.taskTextColor || this.textColor;\n this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor;\n this.taskTextLightColor = this.taskTextLightColor || this.textColor;\n this.taskTextColor = this.taskTextColor || this.primaryTextColor;\n this.taskTextDarkColor = this.taskTextDarkColor || this.textColor;\n this.taskTextClickableColor = this.taskTextClickableColor || \"#003163\";\n this.personBorder = this.personBorder || this.primaryBorderColor;\n this.personBkg = this.personBkg || this.mainBkg;\n if (this.darkMode) {\n this.rowOdd = this.rowOdd || darken(this.mainBkg, 5) || \"#ffffff\";\n this.rowEven = this.rowEven || darken(this.mainBkg, 10);\n } else {\n this.rowOdd = this.rowOdd || lighten(this.mainBkg, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || lighten(this.mainBkg, 5);\n }\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || this.tertiaryColor;\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.specialStateColor = this.lineColor;\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust2(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust2(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust2(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust2(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust2(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust2(this.primaryColor, { h: 210, l: 150 });\n this.cScale9 = this.cScale9 || adjust2(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust2(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust2(this.primaryColor, { h: 330 });\n if (this.darkMode) {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken(this[\"cScale\" + i], 75);\n }\n } else {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken(this[\"cScale\" + i], 25);\n }\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n const multiplier = this.darkMode ? -4 : -1;\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust2(this.mainBkg, { h: 180, s: -15, l: multiplier * (5 + i * 3) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust2(this.mainBkg, { h: 180, s: -15, l: multiplier * (8 + i * 3) });\n }\n this.classText = this.classText || this.textColor;\n this.fillType0 = this.fillType0 || this.primaryColor;\n this.fillType1 = this.fillType1 || this.secondaryColor;\n this.fillType2 = this.fillType2 || adjust2(this.primaryColor, { h: 64 });\n this.fillType3 = this.fillType3 || adjust2(this.secondaryColor, { h: 64 });\n this.fillType4 = this.fillType4 || adjust2(this.primaryColor, { h: -64 });\n this.fillType5 = this.fillType5 || adjust2(this.secondaryColor, { h: -64 });\n this.fillType6 = this.fillType6 || adjust2(this.primaryColor, { h: 128 });\n this.fillType7 = this.fillType7 || adjust2(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || this.tertiaryColor;\n this.pie4 = this.pie4 || adjust2(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust2(this.secondaryColor, { l: -10 });\n this.pie6 = this.pie6 || adjust2(this.tertiaryColor, { l: -10 });\n this.pie7 = this.pie7 || adjust2(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust2(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust2(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust2(this.primaryColor, { h: 60, l: -20 });\n this.pie11 = this.pie11 || adjust2(this.primaryColor, { h: -60, l: -20 });\n this.pie12 = this.pie12 || adjust2(this.primaryColor, { h: 120, l: -10 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.venn1 = this.venn1 ?? adjust2(this.primaryColor, { l: -30 });\n this.venn2 = this.venn2 ?? adjust2(this.secondaryColor, { l: -30 });\n this.venn3 = this.venn3 ?? adjust2(this.tertiaryColor, { l: -30 });\n this.venn4 = this.venn4 ?? adjust2(this.primaryColor, { h: 60, l: -30 });\n this.venn5 = this.venn5 ?? adjust2(this.primaryColor, { h: -60, l: -30 });\n this.venn6 = this.venn6 ?? adjust2(this.secondaryColor, { h: 60, l: -30 });\n this.venn7 = this.venn7 ?? adjust2(this.primaryColor, { h: 120, l: -30 });\n this.venn8 = this.venn8 ?? adjust2(this.secondaryColor, { h: 120, l: -30 });\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.archEdgeColor = this.archEdgeColor || \"#777\";\n this.archEdgeArrowColor = this.archEdgeArrowColor || \"#777\";\n this.archEdgeWidth = this.archEdgeWidth || \"3\";\n this.archGroupBorderColor = this.archGroupBorderColor || \"#000\";\n this.archGroupBorderWidth = this.archGroupBorderWidth || \"2px\";\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust2(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust2(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust2(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust2(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust2(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust2(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark(this.quadrant1Fill) ? lighten(this.quadrant1Fill) : darken(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust2(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust2(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust2(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust2(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust2(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten(this.git0, 25);\n this.git1 = lighten(this.git1, 25);\n this.git2 = lighten(this.git2, 25);\n this.git3 = lighten(this.git3, 25);\n this.git4 = lighten(this.git4, 25);\n this.git5 = lighten(this.git5, 25);\n this.git6 = lighten(this.git6, 25);\n this.git7 = lighten(this.git7, 25);\n } else {\n this.git0 = darken(this.git0, 25);\n this.git1 = darken(this.git1, 25);\n this.git2 = darken(this.git2, 25);\n this.git3 = darken(this.git3, 25);\n this.git4 = darken(this.git4, 25);\n this.git5 = darken(this.git5, 25);\n this.git6 = darken(this.git6, 25);\n this.git7 = darken(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert(this.git0);\n this.gitInv1 = this.gitInv1 || invert(this.git1);\n this.gitInv2 = this.gitInv2 || invert(this.git2);\n this.gitInv3 = this.gitInv3 || invert(this.git3);\n this.gitInv4 = this.gitInv4 || invert(this.git4);\n this.gitInv5 = this.gitInv5 || invert(this.git5);\n this.gitInv6 = this.gitInv6 || invert(this.git6);\n this.gitInv7 = this.gitInv7 || invert(this.git7);\n this.branchLabelColor = this.branchLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor;\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor;\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-dark.js\nimport { adjust as adjust3, darken as darken2, invert as invert2, isDark as isDark2, lighten as lighten2, rgba } from \"khroma\";\nvar Theme2 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#333\";\n this.primaryColor = \"#1f2020\";\n this.secondaryColor = lighten2(this.primaryColor, 16);\n this.tertiaryColor = adjust3(this.primaryColor, { h: -160 });\n this.primaryBorderColor = invert2(this.background);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert2(this.primaryColor);\n this.secondaryTextColor = invert2(this.secondaryColor);\n this.tertiaryTextColor = invert2(this.tertiaryColor);\n this.lineColor = invert2(this.background);\n this.textColor = invert2(this.background);\n this.mainBkg = \"#1f2020\";\n this.secondBkg = \"calculated\";\n this.mainContrastColor = \"lightgrey\";\n this.darkTextColor = lighten2(invert2(\"#323D47\"), 10);\n this.lineColor = \"calculated\";\n this.border1 = \"#ccc\";\n this.border2 = rgba(255, 255, 255, 0.25);\n this.arrowheadColor = \"calculated\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.labelBackground = \"#181818\";\n this.textColor = \"#ccc\";\n this.THEME_COLOR_LIMIT = 12;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"#F9FFFE\";\n this.edgeLabelBackground = \"calculated\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"calculated\";\n this.actorLineColor = \"calculated\";\n this.signalColor = \"calculated\";\n this.signalTextColor = \"calculated\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"calculated\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"calculated\";\n this.activationBkgColor = \"calculated\";\n this.sequenceNumberColor = \"black\";\n this.sectionBkgColor = darken2(\"#EAE8D9\", 30);\n this.altSectionBkgColor = \"calculated\";\n this.sectionBkgColor2 = \"#EAE8D9\";\n this.excludeBkgColor = darken2(this.sectionBkgColor, 10);\n this.taskBorderColor = rgba(255, 255, 255, 70);\n this.taskBkgColor = \"calculated\";\n this.taskTextColor = \"calculated\";\n this.taskTextLightColor = \"calculated\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = rgba(255, 255, 255, 50);\n this.activeTaskBkgColor = \"#81B1DB\";\n this.gridColor = \"calculated\";\n this.doneTaskBkgColor = \"calculated\";\n this.doneTaskBorderColor = \"grey\";\n this.critBorderColor = \"#E83737\";\n this.critBkgColor = \"#E83737\";\n this.taskTextDarkColor = \"calculated\";\n this.todayLineColor = \"#DB5757\";\n this.vertLineColor = \"#00BFFF\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.rowOdd = this.rowOdd || lighten2(this.mainBkg, 5) || \"#ffffff\";\n this.rowEven = this.rowEven || darken2(this.mainBkg, 10);\n this.labelColor = \"calculated\";\n this.errorBkgColor = \"#a44141\";\n this.errorTextColor = \"#ddd\";\n }\n updateColors() {\n this.secondBkg = lighten2(this.mainBkg, 16);\n this.lineColor = this.mainContrastColor;\n this.arrowheadColor = this.mainContrastColor;\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.edgeLabelBackground = lighten2(this.labelBackground, 25);\n this.actorBorder = this.border1;\n this.actorBkg = this.mainBkg;\n this.actorTextColor = this.mainContrastColor;\n this.actorLineColor = this.actorBorder;\n this.signalColor = this.mainContrastColor;\n this.signalTextColor = this.mainContrastColor;\n this.labelBoxBkgColor = this.actorBkg;\n this.labelBoxBorderColor = this.actorBorder;\n this.labelTextColor = this.mainContrastColor;\n this.loopTextColor = this.mainContrastColor;\n this.noteBorderColor = this.secondaryBorderColor;\n this.noteBkgColor = this.secondBkg;\n this.noteTextColor = this.secondaryTextColor;\n this.activationBorderColor = this.border1;\n this.activationBkgColor = this.secondBkg;\n this.altSectionBkgColor = this.background;\n this.taskBkgColor = lighten2(this.mainBkg, 23);\n this.taskTextColor = this.darkTextColor;\n this.taskTextLightColor = this.mainContrastColor;\n this.taskTextOutsideColor = this.taskTextLightColor;\n this.gridColor = this.mainContrastColor;\n this.doneTaskBkgColor = this.mainContrastColor;\n this.taskTextDarkColor = invert2(this.doneTaskBkgColor);\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#555\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.primaryBorderColor;\n this.specialStateColor = \"#f4f4f4\";\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust3(this.primaryColor, { h: 64 });\n this.fillType3 = adjust3(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust3(this.primaryColor, { h: -64 });\n this.fillType5 = adjust3(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust3(this.primaryColor, { h: 128 });\n this.fillType7 = adjust3(this.secondaryColor, { h: 128 });\n this.cScale1 = this.cScale1 || \"#0b0000\";\n this.cScale2 = this.cScale2 || \"#4d1037\";\n this.cScale3 = this.cScale3 || \"#3f5258\";\n this.cScale4 = this.cScale4 || \"#4f2f1b\";\n this.cScale5 = this.cScale5 || \"#6e0a0a\";\n this.cScale6 = this.cScale6 || \"#3b0048\";\n this.cScale7 = this.cScale7 || \"#995a01\";\n this.cScale8 = this.cScale8 || \"#154706\";\n this.cScale9 = this.cScale9 || \"#161722\";\n this.cScale10 = this.cScale10 || \"#00296f\";\n this.cScale11 = this.cScale11 || \"#01629c\";\n this.cScale12 = this.cScale12 || \"#010029\";\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust3(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust3(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust3(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust3(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust3(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust3(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust3(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust3(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust3(this.primaryColor, { h: 330 });\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert2(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten2(this[\"cScale\" + i], 10);\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust3(this.mainBkg, { h: 30, s: -30, l: -(-10 + i * 4) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust3(this.mainBkg, { h: 30, s: -30, l: -(-7 + i * 4) });\n }\n this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"pie\" + i] = this[\"cScale\" + i];\n }\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.mainContrastColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.mainContrastColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n for (let i = 0; i < 8; i++) {\n this[\"venn\" + (i + 1)] = this[\"venn\" + (i + 1)] ?? lighten2(this[\"cScale\" + i], 30);\n }\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust3(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust3(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust3(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust3(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust3(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust3(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark2(this.quadrant1Fill) ? lighten2(this.quadrant1Fill) : darken2(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22\"\n };\n this.packet = {\n startByteColor: this.primaryTextColor,\n endByteColor: this.primaryTextColor,\n labelColor: this.primaryTextColor,\n titleColor: this.primaryTextColor,\n blockStrokeColor: this.primaryTextColor,\n blockFillColor: this.background\n };\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.classText = this.primaryTextColor;\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken2(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = lighten2(this.secondaryColor, 20);\n this.git1 = lighten2(this.pie2 || this.secondaryColor, 20);\n this.git2 = lighten2(this.pie3 || this.tertiaryColor, 20);\n this.git3 = lighten2(this.pie4 || adjust3(this.primaryColor, { h: -30 }), 20);\n this.git4 = lighten2(this.pie5 || adjust3(this.primaryColor, { h: -60 }), 20);\n this.git5 = lighten2(this.pie6 || adjust3(this.primaryColor, { h: -90 }), 10);\n this.git6 = lighten2(this.pie7 || adjust3(this.primaryColor, { h: 60 }), 10);\n this.git7 = lighten2(this.pie8 || adjust3(this.primaryColor, { h: 120 }), 20);\n this.gitInv0 = this.gitInv0 || invert2(this.git0);\n this.gitInv1 = this.gitInv1 || invert2(this.git1);\n this.gitInv2 = this.gitInv2 || invert2(this.git2);\n this.gitInv3 = this.gitInv3 || invert2(this.git3);\n this.gitInv4 = this.gitInv4 || invert2(this.git4);\n this.gitInv5 = this.gitInv5 || invert2(this.git5);\n this.gitInv6 = this.gitInv6 || invert2(this.git6);\n this.gitInv7 = this.gitInv7 || invert2(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert2(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert2(this.labelTextColor);\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lighten2(this.background, 12);\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || lighten2(this.background, 2);\n this.nodeBorder = this.nodeBorder || \"#999\";\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables2 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme2();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-default.js\nimport { invert as invert3, lighten as lighten3, rgba as rgba2, adjust as adjust4, darken as darken3, isDark as isDark3 } from \"khroma\";\nvar Theme3 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#ECECFF\";\n this.secondaryColor = adjust4(this.primaryColor, { h: 120 });\n this.secondaryColor = \"#ffffde\";\n this.tertiaryColor = adjust4(this.primaryColor, { h: -160 });\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert3(this.primaryColor);\n this.secondaryTextColor = invert3(this.secondaryColor);\n this.tertiaryTextColor = invert3(this.tertiaryColor);\n this.lineColor = invert3(this.background);\n this.textColor = invert3(this.background);\n this.background = \"white\";\n this.mainBkg = \"#ECECFF\";\n this.secondBkg = \"#ffffde\";\n this.lineColor = \"#333333\";\n this.border1 = \"#9370DB\";\n this.border2 = \"#aaaa33\";\n this.arrowheadColor = \"#333333\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.labelBackground = \"rgba(232,232,232, 0.8)\";\n this.textColor = \"#333\";\n this.THEME_COLOR_LIMIT = 12;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"calculated\";\n this.edgeLabelBackground = \"calculated\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"black\";\n this.actorLineColor = \"calculated\";\n this.signalColor = \"calculated\";\n this.signalTextColor = \"calculated\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"calculated\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"#666\";\n this.activationBkgColor = \"#f4f4f4\";\n this.sequenceNumberColor = \"white\";\n this.sectionBkgColor = \"calculated\";\n this.altSectionBkgColor = \"calculated\";\n this.sectionBkgColor2 = \"calculated\";\n this.excludeBkgColor = \"#eeeeee\";\n this.taskBorderColor = \"calculated\";\n this.taskBkgColor = \"calculated\";\n this.taskTextLightColor = \"calculated\";\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextDarkColor = \"calculated\";\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.taskTextClickableColor = \"calculated\";\n this.activeTaskBorderColor = \"calculated\";\n this.activeTaskBkgColor = \"calculated\";\n this.gridColor = \"calculated\";\n this.doneTaskBkgColor = \"calculated\";\n this.doneTaskBorderColor = \"calculated\";\n this.critBorderColor = \"calculated\";\n this.critBkgColor = \"calculated\";\n this.todayLineColor = \"calculated\";\n this.vertLineColor = \"calculated\";\n this.sectionBkgColor = rgba2(102, 102, 255, 0.49);\n this.altSectionBkgColor = \"white\";\n this.sectionBkgColor2 = \"#fff400\";\n this.taskBorderColor = \"#534fbc\";\n this.taskBkgColor = \"#8a90dd\";\n this.taskTextLightColor = \"white\";\n this.taskTextColor = \"calculated\";\n this.taskTextDarkColor = \"black\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = \"#534fbc\";\n this.activeTaskBkgColor = \"#bfc7ff\";\n this.gridColor = \"lightgrey\";\n this.doneTaskBkgColor = \"lightgrey\";\n this.doneTaskBorderColor = \"grey\";\n this.critBorderColor = \"#ff8888\";\n this.critBkgColor = \"red\";\n this.todayLineColor = \"red\";\n this.vertLineColor = \"navy\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.rowOdd = \"calculated\";\n this.rowEven = \"calculated\";\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n this.updateColors();\n }\n updateColors() {\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust4(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust4(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust4(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust4(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust4(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust4(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust4(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust4(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust4(this.primaryColor, { h: 330 });\n this[\"cScalePeer1\"] = this[\"cScalePeer1\"] || darken3(this.secondaryColor, 45);\n this[\"cScalePeer2\"] = this[\"cScalePeer2\"] || darken3(this.tertiaryColor, 40);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken3(this[\"cScale\" + i], 10);\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken3(this[\"cScale\" + i], 25);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || adjust4(this[\"cScale\" + i], { h: 180 });\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust4(this.mainBkg, { h: 30, l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust4(this.mainBkg, { h: 30, l: -(7 + i * 5) });\n }\n this.scaleLabelColor = this.scaleLabelColor !== \"calculated\" && this.scaleLabelColor ? this.scaleLabelColor : this.labelTextColor;\n if (this.labelTextColor !== \"calculated\") {\n this.cScaleLabel0 = this.cScaleLabel0 || invert3(this.labelTextColor);\n this.cScaleLabel3 = this.cScaleLabel3 || invert3(this.labelTextColor);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.labelTextColor;\n }\n }\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.titleColor = this.textColor;\n this.edgeLabelBackground = this.labelBackground;\n this.actorBorder = lighten3(this.border1, 23);\n this.actorBkg = this.mainBkg;\n this.labelBoxBkgColor = this.actorBkg;\n this.signalColor = this.textColor;\n this.signalTextColor = this.textColor;\n this.labelBoxBorderColor = this.actorBorder;\n this.labelTextColor = this.actorTextColor;\n this.loopTextColor = this.actorTextColor;\n this.noteBorderColor = this.border2;\n this.noteTextColor = this.actorTextColor;\n this.actorLineColor = this.actorBorder;\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.rowOdd = this.rowOdd || lighten3(this.primaryColor, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || lighten3(this.primaryColor, 1);\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.specialStateColor = this.lineColor;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.classText = this.primaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust4(this.primaryColor, { h: 64 });\n this.fillType3 = adjust4(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust4(this.primaryColor, { h: -64 });\n this.fillType5 = adjust4(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust4(this.primaryColor, { h: 128 });\n this.fillType7 = adjust4(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || adjust4(this.tertiaryColor, { l: -40 });\n this.pie4 = this.pie4 || adjust4(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust4(this.secondaryColor, { l: -30 });\n this.pie6 = this.pie6 || adjust4(this.tertiaryColor, { l: -20 });\n this.pie7 = this.pie7 || adjust4(this.primaryColor, { h: 60, l: -20 });\n this.pie8 = this.pie8 || adjust4(this.primaryColor, { h: -60, l: -40 });\n this.pie9 = this.pie9 || adjust4(this.primaryColor, { h: 120, l: -40 });\n this.pie10 = this.pie10 || adjust4(this.primaryColor, { h: 60, l: -40 });\n this.pie11 = this.pie11 || adjust4(this.primaryColor, { h: -90, l: -40 });\n this.pie12 = this.pie12 || adjust4(this.primaryColor, { h: 120, l: -30 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.venn1 = this.venn1 ?? adjust4(this.primaryColor, { l: -30 });\n this.venn2 = this.venn2 ?? adjust4(this.secondaryColor, { l: -30 });\n this.venn3 = this.venn3 ?? adjust4(this.tertiaryColor, { l: -40 });\n this.venn4 = this.venn4 ?? adjust4(this.primaryColor, { h: 60, l: -30 });\n this.venn5 = this.venn5 ?? adjust4(this.primaryColor, { h: -60, l: -30 });\n this.venn6 = this.venn6 ?? adjust4(this.secondaryColor, { h: 60, l: -30 });\n this.venn7 = this.venn7 ?? adjust4(this.primaryColor, { h: 120, l: -30 });\n this.venn8 = this.venn8 ?? adjust4(this.secondaryColor, { h: 120, l: -30 });\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust4(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust4(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust4(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust4(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust4(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust4(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark3(this.quadrant1Fill) ? lighten3(this.quadrant1Fill) : darken3(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || this.labelBackground;\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust4(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust4(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust4(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust4(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust4(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten3(this.git0, 25);\n this.git1 = lighten3(this.git1, 25);\n this.git2 = lighten3(this.git2, 25);\n this.git3 = lighten3(this.git3, 25);\n this.git4 = lighten3(this.git4, 25);\n this.git5 = lighten3(this.git5, 25);\n this.git6 = lighten3(this.git6, 25);\n this.git7 = lighten3(this.git7, 25);\n } else {\n this.git0 = darken3(this.git0, 25);\n this.git1 = darken3(this.git1, 25);\n this.git2 = darken3(this.git2, 25);\n this.git3 = darken3(this.git3, 25);\n this.git4 = darken3(this.git4, 25);\n this.git5 = darken3(this.git5, 25);\n this.git6 = darken3(this.git6, 25);\n this.git7 = darken3(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || darken3(invert3(this.git0), 25);\n this.gitInv1 = this.gitInv1 || invert3(this.git1);\n this.gitInv2 = this.gitInv2 || invert3(this.git2);\n this.gitInv3 = this.gitInv3 || invert3(this.git3);\n this.gitInv4 = this.gitInv4 || invert3(this.git4);\n this.gitInv5 = this.gitInv5 || invert3(this.git5);\n this.gitInv6 = this.gitInv6 || invert3(this.git6);\n this.gitInv7 = this.gitInv7 || invert3(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert3(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert3(this.labelTextColor);\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n Object.keys(this).forEach((k) => {\n if (this[k] === \"calculated\") {\n this[k] = void 0;\n }\n });\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables3 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme3();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-forest.js\nimport { adjust as adjust5, darken as darken4, invert as invert4, isDark as isDark4, lighten as lighten4 } from \"khroma\";\nvar Theme4 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#cde498\";\n this.secondaryColor = \"#cdffb2\";\n this.background = \"white\";\n this.mainBkg = \"#cde498\";\n this.secondBkg = \"#cdffb2\";\n this.lineColor = \"green\";\n this.border1 = \"#13540c\";\n this.border2 = \"#6eaa49\";\n this.arrowheadColor = \"green\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.tertiaryColor = lighten4(\"#cde498\", 10);\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert4(this.primaryColor);\n this.secondaryTextColor = invert4(this.secondaryColor);\n this.tertiaryTextColor = invert4(this.primaryColor);\n this.lineColor = invert4(this.background);\n this.textColor = invert4(this.background);\n this.THEME_COLOR_LIMIT = 12;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"#333\";\n this.edgeLabelBackground = \"#e8e8e8\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"black\";\n this.actorLineColor = \"calculated\";\n this.signalColor = \"#333\";\n this.signalTextColor = \"#333\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"#326932\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"#666\";\n this.activationBkgColor = \"#f4f4f4\";\n this.sequenceNumberColor = \"white\";\n this.sectionBkgColor = \"#6eaa49\";\n this.altSectionBkgColor = \"white\";\n this.sectionBkgColor2 = \"#6eaa49\";\n this.excludeBkgColor = \"#eeeeee\";\n this.taskBorderColor = \"calculated\";\n this.taskBkgColor = \"#487e3a\";\n this.taskTextLightColor = \"white\";\n this.taskTextColor = \"calculated\";\n this.taskTextDarkColor = \"black\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = \"calculated\";\n this.activeTaskBkgColor = \"calculated\";\n this.gridColor = \"lightgrey\";\n this.doneTaskBkgColor = \"lightgrey\";\n this.doneTaskBorderColor = \"grey\";\n this.critBorderColor = \"#ff8888\";\n this.critBkgColor = \"red\";\n this.todayLineColor = \"red\";\n this.vertLineColor = \"#00BFFF\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n }\n updateColors() {\n this.actorBorder = darken4(this.mainBkg, 20);\n this.actorBkg = this.mainBkg;\n this.labelBoxBkgColor = this.actorBkg;\n this.labelTextColor = this.actorTextColor;\n this.loopTextColor = this.actorTextColor;\n this.noteBorderColor = this.border2;\n this.noteTextColor = this.actorTextColor;\n this.actorLineColor = this.actorBorder;\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust5(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust5(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust5(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust5(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust5(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust5(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust5(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust5(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust5(this.primaryColor, { h: 330 });\n this[\"cScalePeer1\"] = this[\"cScalePeer1\"] || darken4(this.secondaryColor, 45);\n this[\"cScalePeer2\"] = this[\"cScalePeer2\"] || darken4(this.tertiaryColor, 40);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken4(this[\"cScale\" + i], 10);\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken4(this[\"cScale\" + i], 25);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || adjust5(this[\"cScale\" + i], { h: 180 });\n }\n this.scaleLabelColor = this.scaleLabelColor !== \"calculated\" && this.scaleLabelColor ? this.scaleLabelColor : this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust5(this.mainBkg, { h: 30, s: -30, l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust5(this.mainBkg, { h: 30, s: -30, l: -(8 + i * 5) });\n }\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.taskBorderColor = this.border1;\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.activeTaskBorderColor = this.taskBorderColor;\n this.activeTaskBkgColor = this.mainBkg;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.rowOdd = this.rowOdd || lighten4(this.mainBkg, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || lighten4(this.mainBkg, 20);\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.primaryBorderColor;\n this.specialStateColor = this.lineColor;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.classText = this.primaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust5(this.primaryColor, { h: 64 });\n this.fillType3 = adjust5(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust5(this.primaryColor, { h: -64 });\n this.fillType5 = adjust5(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust5(this.primaryColor, { h: 128 });\n this.fillType7 = adjust5(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || this.tertiaryColor;\n this.pie4 = this.pie4 || adjust5(this.primaryColor, { l: -30 });\n this.pie5 = this.pie5 || adjust5(this.secondaryColor, { l: -30 });\n this.pie6 = this.pie6 || adjust5(this.tertiaryColor, { h: 40, l: -40 });\n this.pie7 = this.pie7 || adjust5(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust5(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust5(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust5(this.primaryColor, { h: 60, l: -50 });\n this.pie11 = this.pie11 || adjust5(this.primaryColor, { h: -60, l: -50 });\n this.pie12 = this.pie12 || adjust5(this.primaryColor, { h: 120, l: -50 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.venn1 = this.venn1 ?? adjust5(this.primaryColor, { l: -30 });\n this.venn2 = this.venn2 ?? adjust5(this.secondaryColor, { l: -30 });\n this.venn3 = this.venn3 ?? adjust5(this.tertiaryColor, { l: -30 });\n this.venn4 = this.venn4 ?? adjust5(this.primaryColor, { h: 60, l: -30 });\n this.venn5 = this.venn5 ?? adjust5(this.primaryColor, { h: -60, l: -30 });\n this.venn6 = this.venn6 ?? adjust5(this.secondaryColor, { h: 60, l: -30 });\n this.venn7 = this.venn7 ?? adjust5(this.primaryColor, { h: 120, l: -30 });\n this.venn8 = this.venn8 ?? adjust5(this.secondaryColor, { h: 120, l: -30 });\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust5(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust5(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust5(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust5(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust5(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust5(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark4(this.quadrant1Fill) ? lighten4(this.quadrant1Fill) : darken4(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.packet = {\n startByteColor: this.primaryTextColor,\n endByteColor: this.primaryTextColor,\n labelColor: this.primaryTextColor,\n titleColor: this.primaryTextColor,\n blockStrokeColor: this.primaryTextColor,\n blockFillColor: this.mainBkg\n };\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground;\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust5(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust5(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust5(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust5(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust5(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten4(this.git0, 25);\n this.git1 = lighten4(this.git1, 25);\n this.git2 = lighten4(this.git2, 25);\n this.git3 = lighten4(this.git3, 25);\n this.git4 = lighten4(this.git4, 25);\n this.git5 = lighten4(this.git5, 25);\n this.git6 = lighten4(this.git6, 25);\n this.git7 = lighten4(this.git7, 25);\n } else {\n this.git0 = darken4(this.git0, 25);\n this.git1 = darken4(this.git1, 25);\n this.git2 = darken4(this.git2, 25);\n this.git3 = darken4(this.git3, 25);\n this.git4 = darken4(this.git4, 25);\n this.git5 = darken4(this.git5, 25);\n this.git6 = darken4(this.git6, 25);\n this.git7 = darken4(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert4(this.git0);\n this.gitInv1 = this.gitInv1 || invert4(this.git1);\n this.gitInv2 = this.gitInv2 || invert4(this.git2);\n this.gitInv3 = this.gitInv3 || invert4(this.git3);\n this.gitInv4 = this.gitInv4 || invert4(this.git4);\n this.gitInv5 = this.gitInv5 || invert4(this.git5);\n this.gitInv6 = this.gitInv6 || invert4(this.git6);\n this.gitInv7 = this.gitInv7 || invert4(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert4(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert4(this.labelTextColor);\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables4 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme4();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-neutral.js\nimport { invert as invert5, darken as darken5, lighten as lighten5, adjust as adjust6, isDark as isDark5 } from \"khroma\";\nvar Theme5 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.primaryColor = \"#eee\";\n this.contrast = \"#707070\";\n this.secondaryColor = lighten5(this.contrast, 55);\n this.background = \"#ffffff\";\n this.tertiaryColor = adjust6(this.primaryColor, { h: -160 });\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert5(this.primaryColor);\n this.secondaryTextColor = invert5(this.secondaryColor);\n this.tertiaryTextColor = invert5(this.tertiaryColor);\n this.lineColor = invert5(this.background);\n this.textColor = invert5(this.background);\n this.mainBkg = \"#eee\";\n this.secondBkg = \"calculated\";\n this.lineColor = \"#666\";\n this.border1 = \"#999\";\n this.border2 = \"calculated\";\n this.note = \"#ffa\";\n this.text = \"#333\";\n this.critical = \"#d42\";\n this.done = \"#bbb\";\n this.arrowheadColor = \"#333333\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.THEME_COLOR_LIMIT = 12;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"calculated\";\n this.edgeLabelBackground = \"white\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"calculated\";\n this.actorLineColor = this.actorBorder;\n this.signalColor = \"calculated\";\n this.signalTextColor = \"calculated\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"calculated\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"calculated\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"#666\";\n this.activationBkgColor = \"#f4f4f4\";\n this.sequenceNumberColor = \"white\";\n this.sectionBkgColor = \"calculated\";\n this.altSectionBkgColor = \"white\";\n this.sectionBkgColor2 = \"calculated\";\n this.excludeBkgColor = \"#eeeeee\";\n this.taskBorderColor = \"calculated\";\n this.taskBkgColor = \"calculated\";\n this.taskTextLightColor = \"white\";\n this.taskTextColor = \"calculated\";\n this.taskTextDarkColor = \"calculated\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = \"calculated\";\n this.activeTaskBkgColor = \"calculated\";\n this.gridColor = \"calculated\";\n this.doneTaskBkgColor = \"calculated\";\n this.doneTaskBorderColor = \"calculated\";\n this.critBkgColor = \"calculated\";\n this.critBorderColor = \"calculated\";\n this.todayLineColor = \"calculated\";\n this.vertLineColor = \"calculated\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.rowOdd = this.rowOdd || lighten5(this.mainBkg, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || \"#f4f4f4\";\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n }\n updateColors() {\n this.secondBkg = lighten5(this.contrast, 55);\n this.border2 = this.contrast;\n this.actorBorder = lighten5(this.border1, 23);\n this.actorBkg = this.mainBkg;\n this.actorTextColor = this.text;\n this.actorLineColor = this.actorBorder;\n this.signalColor = this.text;\n this.signalTextColor = this.text;\n this.labelBoxBkgColor = this.actorBkg;\n this.labelBoxBorderColor = this.actorBorder;\n this.labelTextColor = this.text;\n this.loopTextColor = this.text;\n this.noteBorderColor = \"#999\";\n this.noteBkgColor = \"#666\";\n this.noteTextColor = \"#fff\";\n this.cScale0 = this.cScale0 || \"#555\";\n this.cScale1 = this.cScale1 || \"#F4F4F4\";\n this.cScale2 = this.cScale2 || \"#555\";\n this.cScale3 = this.cScale3 || \"#BBB\";\n this.cScale4 = this.cScale4 || \"#777\";\n this.cScale5 = this.cScale5 || \"#999\";\n this.cScale6 = this.cScale6 || \"#DDD\";\n this.cScale7 = this.cScale7 || \"#FFF\";\n this.cScale8 = this.cScale8 || \"#DDD\";\n this.cScale9 = this.cScale9 || \"#BBB\";\n this.cScale10 = this.cScale10 || \"#999\";\n this.cScale11 = this.cScale11 || \"#777\";\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert5(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten5(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken5(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.cScaleLabel0 = this.cScaleLabel0 || this.cScale1;\n this.cScaleLabel2 = this.cScaleLabel2 || this.cScale1;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust6(this.mainBkg, { l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust6(this.mainBkg, { l: -(8 + i * 5) });\n }\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.titleColor = this.text;\n this.sectionBkgColor = lighten5(this.contrast, 30);\n this.sectionBkgColor2 = lighten5(this.contrast, 30);\n this.taskBorderColor = darken5(this.contrast, 10);\n this.taskBkgColor = this.contrast;\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextDarkColor = this.text;\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.activeTaskBorderColor = this.taskBorderColor;\n this.activeTaskBkgColor = this.mainBkg;\n this.gridColor = lighten5(this.border1, 30);\n this.doneTaskBkgColor = this.done;\n this.doneTaskBorderColor = this.lineColor;\n this.critBkgColor = this.critical;\n this.critBorderColor = darken5(this.critBkgColor, 10);\n this.todayLineColor = this.critBkgColor;\n this.vertLineColor = this.critBkgColor;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.transitionColor = this.transitionColor || \"#000\";\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f4f4f4\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.stateBorder = this.stateBorder || \"#000\";\n this.innerEndBackground = this.primaryBorderColor;\n this.specialStateColor = \"#222\";\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.classText = this.primaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust6(this.primaryColor, { h: 64 });\n this.fillType3 = adjust6(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust6(this.primaryColor, { h: -64 });\n this.fillType5 = adjust6(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust6(this.primaryColor, { h: 128 });\n this.fillType7 = adjust6(this.secondaryColor, { h: 128 });\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"pie\" + i] = this[\"cScale\" + i];\n }\n this.pie12 = this.pie0;\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n for (let i = 0; i < 8; i++) {\n this[\"venn\" + (i + 1)] = this[\"venn\" + (i + 1)] ?? this[\"cScale\" + i];\n }\n this.vennTitleTextColor = this.vennTitleTextColor ?? this.titleColor;\n this.vennSetTextColor = this.vennSetTextColor ?? this.textColor;\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust6(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust6(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust6(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust6(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust6(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust6(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark5(this.quadrant1Fill) ? lighten5(this.quadrant1Fill) : darken5(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0\"\n };\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground;\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = darken5(this.pie1, 25) || this.primaryColor;\n this.git1 = this.pie2 || this.secondaryColor;\n this.git2 = this.pie3 || this.tertiaryColor;\n this.git3 = this.pie4 || adjust6(this.primaryColor, { h: -30 });\n this.git4 = this.pie5 || adjust6(this.primaryColor, { h: -60 });\n this.git5 = this.pie6 || adjust6(this.primaryColor, { h: -90 });\n this.git6 = this.pie7 || adjust6(this.primaryColor, { h: 60 });\n this.git7 = this.pie8 || adjust6(this.primaryColor, { h: 120 });\n this.gitInv0 = this.gitInv0 || invert5(this.git0);\n this.gitInv1 = this.gitInv1 || invert5(this.git1);\n this.gitInv2 = this.gitInv2 || invert5(this.git2);\n this.gitInv3 = this.gitInv3 || invert5(this.git3);\n this.gitInv4 = this.gitInv4 || invert5(this.git4);\n this.gitInv5 = this.gitInv5 || invert5(this.git5);\n this.gitInv6 = this.gitInv6 || invert5(this.git6);\n this.gitInv7 = this.gitInv7 || invert5(this.git7);\n this.branchLabelColor = this.branchLabelColor || this.labelTextColor;\n this.gitBranchLabel0 = this.branchLabelColor;\n this.gitBranchLabel1 = \"white\";\n this.gitBranchLabel2 = this.branchLabelColor;\n this.gitBranchLabel3 = \"white\";\n this.gitBranchLabel4 = this.branchLabelColor;\n this.gitBranchLabel5 = this.branchLabelColor;\n this.gitBranchLabel6 = this.branchLabelColor;\n this.gitBranchLabel7 = this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables5 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme5();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/index.js\nvar themes_default = {\n base: {\n getThemeVariables\n },\n dark: {\n getThemeVariables: getThemeVariables2\n },\n default: {\n getThemeVariables: getThemeVariables3\n },\n forest: {\n getThemeVariables: getThemeVariables4\n },\n neutral: {\n getThemeVariables: getThemeVariables5\n }\n};\n\n// src/schemas/config.schema.yaml?only-defaults=true\nvar config_schema_default = {\n \"flowchart\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"subGraphTitleMargin\": {\n \"top\": 0,\n \"bottom\": 0\n },\n \"diagramPadding\": 8,\n \"htmlLabels\": null,\n \"nodeSpacing\": 50,\n \"rankSpacing\": 50,\n \"curve\": \"basis\",\n \"padding\": 15,\n \"defaultRenderer\": \"dagre-wrapper\",\n \"wrappingWidth\": 200,\n \"inheritDir\": false\n },\n \"sequence\": {\n \"useMaxWidth\": true,\n \"hideUnusedParticipants\": false,\n \"activationWidth\": 10,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"actorMargin\": 50,\n \"width\": 150,\n \"height\": 65,\n \"boxMargin\": 10,\n \"boxTextMargin\": 5,\n \"noteMargin\": 10,\n \"messageMargin\": 35,\n \"messageAlign\": \"center\",\n \"mirrorActors\": true,\n \"forceMenus\": false,\n \"bottomMarginAdj\": 1,\n \"rightAngles\": false,\n \"showSequenceNumbers\": false,\n \"actorFontSize\": 14,\n \"actorFontFamily\": '\"Open Sans\", sans-serif',\n \"actorFontWeight\": 400,\n \"noteFontSize\": 14,\n \"noteFontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif',\n \"noteFontWeight\": 400,\n \"noteAlign\": \"center\",\n \"messageFontSize\": 16,\n \"messageFontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif',\n \"messageFontWeight\": 400,\n \"wrap\": false,\n \"wrapPadding\": 10,\n \"labelBoxWidth\": 50,\n \"labelBoxHeight\": 20\n },\n \"gantt\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"barHeight\": 20,\n \"barGap\": 4,\n \"topPadding\": 50,\n \"rightPadding\": 75,\n \"leftPadding\": 75,\n \"gridLineStartPadding\": 35,\n \"fontSize\": 11,\n \"sectionFontSize\": 11,\n \"numberSectionStyles\": 4,\n \"axisFormat\": \"%Y-%m-%d\",\n \"topAxis\": false,\n \"displayMode\": \"\",\n \"weekday\": \"sunday\"\n },\n \"journey\": {\n \"useMaxWidth\": true,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"leftMargin\": 150,\n \"maxLabelWidth\": 360,\n \"width\": 150,\n \"height\": 50,\n \"boxMargin\": 10,\n \"boxTextMargin\": 5,\n \"noteMargin\": 10,\n \"messageMargin\": 35,\n \"messageAlign\": \"center\",\n \"bottomMarginAdj\": 1,\n \"rightAngles\": false,\n \"taskFontSize\": 14,\n \"taskFontFamily\": '\"Open Sans\", sans-serif',\n \"taskMargin\": 50,\n \"activationWidth\": 10,\n \"textPlacement\": \"fo\",\n \"actorColours\": [\n \"#8FBC8F\",\n \"#7CFC00\",\n \"#00FFFF\",\n \"#20B2AA\",\n \"#B0E0E6\",\n \"#FFFFE0\"\n ],\n \"sectionFills\": [\n \"#191970\",\n \"#8B008B\",\n \"#4B0082\",\n \"#2F4F4F\",\n \"#800000\",\n \"#8B4513\",\n \"#00008B\"\n ],\n \"sectionColours\": [\n \"#fff\"\n ],\n \"titleColor\": \"\",\n \"titleFontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif',\n \"titleFontSize\": \"4ex\"\n },\n \"class\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"arrowMarkerAbsolute\": false,\n \"dividerMargin\": 10,\n \"padding\": 5,\n \"textHeight\": 10,\n \"defaultRenderer\": \"dagre-wrapper\",\n \"htmlLabels\": false,\n \"hideEmptyMembersBox\": false\n },\n \"state\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"dividerMargin\": 10,\n \"sizeUnit\": 5,\n \"padding\": 8,\n \"textHeight\": 10,\n \"titleShift\": -15,\n \"noteMargin\": 10,\n \"forkWidth\": 70,\n \"forkHeight\": 7,\n \"miniPadding\": 2,\n \"fontSizeFactor\": 5.02,\n \"fontSize\": 24,\n \"labelHeight\": 16,\n \"edgeLengthFactor\": \"20\",\n \"compositTitleSize\": 35,\n \"radius\": 5,\n \"defaultRenderer\": \"dagre-wrapper\"\n },\n \"er\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"diagramPadding\": 20,\n \"layoutDirection\": \"TB\",\n \"minEntityWidth\": 100,\n \"minEntityHeight\": 75,\n \"entityPadding\": 15,\n \"nodeSpacing\": 140,\n \"rankSpacing\": 80,\n \"stroke\": \"gray\",\n \"fill\": \"honeydew\",\n \"fontSize\": 12\n },\n \"pie\": {\n \"useMaxWidth\": true,\n \"textPosition\": 0.75\n },\n \"quadrantChart\": {\n \"useMaxWidth\": true,\n \"chartWidth\": 500,\n \"chartHeight\": 500,\n \"titleFontSize\": 20,\n \"titlePadding\": 10,\n \"quadrantPadding\": 5,\n \"xAxisLabelPadding\": 5,\n \"yAxisLabelPadding\": 5,\n \"xAxisLabelFontSize\": 16,\n \"yAxisLabelFontSize\": 16,\n \"quadrantLabelFontSize\": 16,\n \"quadrantTextTopPadding\": 5,\n \"pointTextPadding\": 5,\n \"pointLabelFontSize\": 12,\n \"pointRadius\": 5,\n \"xAxisPosition\": \"top\",\n \"yAxisPosition\": \"left\",\n \"quadrantInternalBorderStrokeWidth\": 1,\n \"quadrantExternalBorderStrokeWidth\": 2\n },\n \"xyChart\": {\n \"useMaxWidth\": true,\n \"width\": 700,\n \"height\": 500,\n \"titleFontSize\": 20,\n \"titlePadding\": 10,\n \"showDataLabel\": false,\n \"showTitle\": true,\n \"xAxis\": {\n \"$ref\": \"#/$defs/XYChartAxisConfig\",\n \"showLabel\": true,\n \"labelFontSize\": 14,\n \"labelPadding\": 5,\n \"showTitle\": true,\n \"titleFontSize\": 16,\n \"titlePadding\": 5,\n \"showTick\": true,\n \"tickLength\": 5,\n \"tickWidth\": 2,\n \"showAxisLine\": true,\n \"axisLineWidth\": 2\n },\n \"yAxis\": {\n \"$ref\": \"#/$defs/XYChartAxisConfig\",\n \"showLabel\": true,\n \"labelFontSize\": 14,\n \"labelPadding\": 5,\n \"showTitle\": true,\n \"titleFontSize\": 16,\n \"titlePadding\": 5,\n \"showTick\": true,\n \"tickLength\": 5,\n \"tickWidth\": 2,\n \"showAxisLine\": true,\n \"axisLineWidth\": 2\n },\n \"chartOrientation\": \"vertical\",\n \"plotReservedSpacePercent\": 50\n },\n \"requirement\": {\n \"useMaxWidth\": true,\n \"rect_fill\": \"#f9f9f9\",\n \"text_color\": \"#333\",\n \"rect_border_size\": \"0.5px\",\n \"rect_border_color\": \"#bbb\",\n \"rect_min_width\": 200,\n \"rect_min_height\": 200,\n \"fontSize\": 14,\n \"rect_padding\": 10,\n \"line_height\": 20\n },\n \"mindmap\": {\n \"useMaxWidth\": true,\n \"padding\": 10,\n \"maxNodeWidth\": 200,\n \"layoutAlgorithm\": \"cose-bilkent\"\n },\n \"ishikawa\": {\n \"useMaxWidth\": true,\n \"diagramPadding\": 20\n },\n \"kanban\": {\n \"useMaxWidth\": true,\n \"padding\": 8,\n \"sectionWidth\": 200,\n \"ticketBaseUrl\": \"\"\n },\n \"timeline\": {\n \"useMaxWidth\": true,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"leftMargin\": 150,\n \"width\": 150,\n \"height\": 50,\n \"boxMargin\": 10,\n \"boxTextMargin\": 5,\n \"noteMargin\": 10,\n \"messageMargin\": 35,\n \"messageAlign\": \"center\",\n \"bottomMarginAdj\": 1,\n \"rightAngles\": false,\n \"taskFontSize\": 14,\n \"taskFontFamily\": '\"Open Sans\", sans-serif',\n \"taskMargin\": 50,\n \"activationWidth\": 10,\n \"textPlacement\": \"fo\",\n \"actorColours\": [\n \"#8FBC8F\",\n \"#7CFC00\",\n \"#00FFFF\",\n \"#20B2AA\",\n \"#B0E0E6\",\n \"#FFFFE0\"\n ],\n \"sectionFills\": [\n \"#191970\",\n \"#8B008B\",\n \"#4B0082\",\n \"#2F4F4F\",\n \"#800000\",\n \"#8B4513\",\n \"#00008B\"\n ],\n \"sectionColours\": [\n \"#fff\"\n ],\n \"disableMulticolor\": false\n },\n \"gitGraph\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"diagramPadding\": 8,\n \"nodeLabel\": {\n \"width\": 75,\n \"height\": 100,\n \"x\": -25,\n \"y\": 0\n },\n \"mainBranchName\": \"main\",\n \"mainBranchOrder\": 0,\n \"showCommitLabel\": true,\n \"showBranches\": true,\n \"rotateCommitLabel\": true,\n \"parallelCommits\": false,\n \"arrowMarkerAbsolute\": false\n },\n \"c4\": {\n \"useMaxWidth\": true,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"c4ShapeMargin\": 50,\n \"c4ShapePadding\": 20,\n \"width\": 216,\n \"height\": 60,\n \"boxMargin\": 10,\n \"c4ShapeInRow\": 4,\n \"nextLinePaddingX\": 0,\n \"c4BoundaryInRow\": 2,\n \"personFontSize\": 14,\n \"personFontFamily\": '\"Open Sans\", sans-serif',\n \"personFontWeight\": \"normal\",\n \"external_personFontSize\": 14,\n \"external_personFontFamily\": '\"Open Sans\", sans-serif',\n \"external_personFontWeight\": \"normal\",\n \"systemFontSize\": 14,\n \"systemFontFamily\": '\"Open Sans\", sans-serif',\n \"systemFontWeight\": \"normal\",\n \"external_systemFontSize\": 14,\n \"external_systemFontFamily\": '\"Open Sans\", sans-serif',\n \"external_systemFontWeight\": \"normal\",\n \"system_dbFontSize\": 14,\n \"system_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"system_dbFontWeight\": \"normal\",\n \"external_system_dbFontSize\": 14,\n \"external_system_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"external_system_dbFontWeight\": \"normal\",\n \"system_queueFontSize\": 14,\n \"system_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"system_queueFontWeight\": \"normal\",\n \"external_system_queueFontSize\": 14,\n \"external_system_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"external_system_queueFontWeight\": \"normal\",\n \"boundaryFontSize\": 14,\n \"boundaryFontFamily\": '\"Open Sans\", sans-serif',\n \"boundaryFontWeight\": \"normal\",\n \"messageFontSize\": 12,\n \"messageFontFamily\": '\"Open Sans\", sans-serif',\n \"messageFontWeight\": \"normal\",\n \"containerFontSize\": 14,\n \"containerFontFamily\": '\"Open Sans\", sans-serif',\n \"containerFontWeight\": \"normal\",\n \"external_containerFontSize\": 14,\n \"external_containerFontFamily\": '\"Open Sans\", sans-serif',\n \"external_containerFontWeight\": \"normal\",\n \"container_dbFontSize\": 14,\n \"container_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"container_dbFontWeight\": \"normal\",\n \"external_container_dbFontSize\": 14,\n \"external_container_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"external_container_dbFontWeight\": \"normal\",\n \"container_queueFontSize\": 14,\n \"container_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"container_queueFontWeight\": \"normal\",\n \"external_container_queueFontSize\": 14,\n \"external_container_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"external_container_queueFontWeight\": \"normal\",\n \"componentFontSize\": 14,\n \"componentFontFamily\": '\"Open Sans\", sans-serif',\n \"componentFontWeight\": \"normal\",\n \"external_componentFontSize\": 14,\n \"external_componentFontFamily\": '\"Open Sans\", sans-serif',\n \"external_componentFontWeight\": \"normal\",\n \"component_dbFontSize\": 14,\n \"component_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"component_dbFontWeight\": \"normal\",\n \"external_component_dbFontSize\": 14,\n \"external_component_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"external_component_dbFontWeight\": \"normal\",\n \"component_queueFontSize\": 14,\n \"component_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"component_queueFontWeight\": \"normal\",\n \"external_component_queueFontSize\": 14,\n \"external_component_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"external_component_queueFontWeight\": \"normal\",\n \"wrap\": true,\n \"wrapPadding\": 10,\n \"person_bg_color\": \"#08427B\",\n \"person_border_color\": \"#073B6F\",\n \"external_person_bg_color\": \"#686868\",\n \"external_person_border_color\": \"#8A8A8A\",\n \"system_bg_color\": \"#1168BD\",\n \"system_border_color\": \"#3C7FC0\",\n \"system_db_bg_color\": \"#1168BD\",\n \"system_db_border_color\": \"#3C7FC0\",\n \"system_queue_bg_color\": \"#1168BD\",\n \"system_queue_border_color\": \"#3C7FC0\",\n \"external_system_bg_color\": \"#999999\",\n \"external_system_border_color\": \"#8A8A8A\",\n \"external_system_db_bg_color\": \"#999999\",\n \"external_system_db_border_color\": \"#8A8A8A\",\n \"external_system_queue_bg_color\": \"#999999\",\n \"external_system_queue_border_color\": \"#8A8A8A\",\n \"container_bg_color\": \"#438DD5\",\n \"container_border_color\": \"#3C7FC0\",\n \"container_db_bg_color\": \"#438DD5\",\n \"container_db_border_color\": \"#3C7FC0\",\n \"container_queue_bg_color\": \"#438DD5\",\n \"container_queue_border_color\": \"#3C7FC0\",\n \"external_container_bg_color\": \"#B3B3B3\",\n \"external_container_border_color\": \"#A6A6A6\",\n \"external_container_db_bg_color\": \"#B3B3B3\",\n \"external_container_db_border_color\": \"#A6A6A6\",\n \"external_container_queue_bg_color\": \"#B3B3B3\",\n \"external_container_queue_border_color\": \"#A6A6A6\",\n \"component_bg_color\": \"#85BBF0\",\n \"component_border_color\": \"#78A8D8\",\n \"component_db_bg_color\": \"#85BBF0\",\n \"component_db_border_color\": \"#78A8D8\",\n \"component_queue_bg_color\": \"#85BBF0\",\n \"component_queue_border_color\": \"#78A8D8\",\n \"external_component_bg_color\": \"#CCCCCC\",\n \"external_component_border_color\": \"#BFBFBF\",\n \"external_component_db_bg_color\": \"#CCCCCC\",\n \"external_component_db_border_color\": \"#BFBFBF\",\n \"external_component_queue_bg_color\": \"#CCCCCC\",\n \"external_component_queue_border_color\": \"#BFBFBF\"\n },\n \"sankey\": {\n \"useMaxWidth\": true,\n \"width\": 600,\n \"height\": 400,\n \"linkColor\": \"gradient\",\n \"nodeAlignment\": \"justify\",\n \"showValues\": true,\n \"prefix\": \"\",\n \"suffix\": \"\"\n },\n \"block\": {\n \"useMaxWidth\": true,\n \"padding\": 8\n },\n \"packet\": {\n \"useMaxWidth\": true,\n \"rowHeight\": 32,\n \"bitWidth\": 32,\n \"bitsPerRow\": 32,\n \"showBits\": true,\n \"paddingX\": 5,\n \"paddingY\": 5\n },\n \"architecture\": {\n \"useMaxWidth\": true,\n \"padding\": 40,\n \"iconSize\": 80,\n \"fontSize\": 16\n },\n \"radar\": {\n \"useMaxWidth\": true,\n \"width\": 600,\n \"height\": 600,\n \"marginTop\": 50,\n \"marginRight\": 50,\n \"marginBottom\": 50,\n \"marginLeft\": 50,\n \"axisScaleFactor\": 1,\n \"axisLabelFactor\": 1.05,\n \"curveTension\": 0.17\n },\n \"venn\": {\n \"useMaxWidth\": true,\n \"width\": 800,\n \"height\": 450,\n \"padding\": 8,\n \"useDebugLayout\": false\n },\n \"theme\": \"default\",\n \"look\": \"classic\",\n \"handDrawnSeed\": 0,\n \"layout\": \"dagre\",\n \"maxTextSize\": 5e4,\n \"maxEdges\": 500,\n \"darkMode\": false,\n \"fontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif;',\n \"logLevel\": 5,\n \"securityLevel\": \"strict\",\n \"startOnLoad\": true,\n \"arrowMarkerAbsolute\": false,\n \"secure\": [\n \"secure\",\n \"securityLevel\",\n \"startOnLoad\",\n \"maxTextSize\",\n \"suppressErrorRendering\",\n \"maxEdges\"\n ],\n \"legacyMathML\": false,\n \"forceLegacyMathML\": false,\n \"deterministicIds\": false,\n \"fontSize\": 16,\n \"markdownAutoWrap\": true,\n \"suppressErrorRendering\": false\n};\n\n// src/defaultConfig.ts\nvar config = {\n ...config_schema_default,\n // Set, even though they're `undefined` so that `configKeys` finds these keys\n // TODO: Should we replace these with `null` so that they can go in the JSON Schema?\n deterministicIDSeed: void 0,\n elk: {\n // mergeEdges is needed here to be considered\n mergeEdges: false,\n nodePlacementStrategy: \"BRANDES_KOEPF\",\n forceNodeModelOrder: false,\n considerModelOrder: \"NODES_AND_EDGES\"\n },\n themeCSS: void 0,\n // add non-JSON default config values\n themeVariables: themes_default.default.getThemeVariables(),\n sequence: {\n ...config_schema_default.sequence,\n messageFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.messageFontFamily,\n fontSize: this.messageFontSize,\n fontWeight: this.messageFontWeight\n };\n }, \"messageFont\"),\n noteFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.noteFontFamily,\n fontSize: this.noteFontSize,\n fontWeight: this.noteFontWeight\n };\n }, \"noteFont\"),\n actorFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.actorFontFamily,\n fontSize: this.actorFontSize,\n fontWeight: this.actorFontWeight\n };\n }, \"actorFont\")\n },\n class: {\n hideEmptyMembersBox: false\n },\n gantt: {\n ...config_schema_default.gantt,\n tickInterval: void 0,\n useWidth: void 0\n // can probably be removed since `configKeys` already includes this\n },\n c4: {\n ...config_schema_default.c4,\n useWidth: void 0,\n personFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.personFontFamily,\n fontSize: this.personFontSize,\n fontWeight: this.personFontWeight\n };\n }, \"personFont\"),\n flowchart: {\n ...config_schema_default.flowchart,\n inheritDir: false\n // default to legacy behavior\n },\n external_personFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_personFontFamily,\n fontSize: this.external_personFontSize,\n fontWeight: this.external_personFontWeight\n };\n }, \"external_personFont\"),\n systemFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.systemFontFamily,\n fontSize: this.systemFontSize,\n fontWeight: this.systemFontWeight\n };\n }, \"systemFont\"),\n external_systemFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_systemFontFamily,\n fontSize: this.external_systemFontSize,\n fontWeight: this.external_systemFontWeight\n };\n }, \"external_systemFont\"),\n system_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.system_dbFontFamily,\n fontSize: this.system_dbFontSize,\n fontWeight: this.system_dbFontWeight\n };\n }, \"system_dbFont\"),\n external_system_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_system_dbFontFamily,\n fontSize: this.external_system_dbFontSize,\n fontWeight: this.external_system_dbFontWeight\n };\n }, \"external_system_dbFont\"),\n system_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.system_queueFontFamily,\n fontSize: this.system_queueFontSize,\n fontWeight: this.system_queueFontWeight\n };\n }, \"system_queueFont\"),\n external_system_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_system_queueFontFamily,\n fontSize: this.external_system_queueFontSize,\n fontWeight: this.external_system_queueFontWeight\n };\n }, \"external_system_queueFont\"),\n containerFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.containerFontFamily,\n fontSize: this.containerFontSize,\n fontWeight: this.containerFontWeight\n };\n }, \"containerFont\"),\n external_containerFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_containerFontFamily,\n fontSize: this.external_containerFontSize,\n fontWeight: this.external_containerFontWeight\n };\n }, \"external_containerFont\"),\n container_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.container_dbFontFamily,\n fontSize: this.container_dbFontSize,\n fontWeight: this.container_dbFontWeight\n };\n }, \"container_dbFont\"),\n external_container_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_container_dbFontFamily,\n fontSize: this.external_container_dbFontSize,\n fontWeight: this.external_container_dbFontWeight\n };\n }, \"external_container_dbFont\"),\n container_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.container_queueFontFamily,\n fontSize: this.container_queueFontSize,\n fontWeight: this.container_queueFontWeight\n };\n }, \"container_queueFont\"),\n external_container_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_container_queueFontFamily,\n fontSize: this.external_container_queueFontSize,\n fontWeight: this.external_container_queueFontWeight\n };\n }, \"external_container_queueFont\"),\n componentFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.componentFontFamily,\n fontSize: this.componentFontSize,\n fontWeight: this.componentFontWeight\n };\n }, \"componentFont\"),\n external_componentFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_componentFontFamily,\n fontSize: this.external_componentFontSize,\n fontWeight: this.external_componentFontWeight\n };\n }, \"external_componentFont\"),\n component_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.component_dbFontFamily,\n fontSize: this.component_dbFontSize,\n fontWeight: this.component_dbFontWeight\n };\n }, \"component_dbFont\"),\n external_component_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_component_dbFontFamily,\n fontSize: this.external_component_dbFontSize,\n fontWeight: this.external_component_dbFontWeight\n };\n }, \"external_component_dbFont\"),\n component_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.component_queueFontFamily,\n fontSize: this.component_queueFontSize,\n fontWeight: this.component_queueFontWeight\n };\n }, \"component_queueFont\"),\n external_component_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_component_queueFontFamily,\n fontSize: this.external_component_queueFontSize,\n fontWeight: this.external_component_queueFontWeight\n };\n }, \"external_component_queueFont\"),\n boundaryFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.boundaryFontFamily,\n fontSize: this.boundaryFontSize,\n fontWeight: this.boundaryFontWeight\n };\n }, \"boundaryFont\"),\n messageFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.messageFontFamily,\n fontSize: this.messageFontSize,\n fontWeight: this.messageFontWeight\n };\n }, \"messageFont\")\n },\n pie: {\n ...config_schema_default.pie,\n useWidth: 984\n },\n xyChart: {\n ...config_schema_default.xyChart,\n useWidth: void 0\n },\n requirement: {\n ...config_schema_default.requirement,\n useWidth: void 0\n },\n packet: {\n ...config_schema_default.packet\n },\n radar: {\n ...config_schema_default.radar\n },\n ishikawa: {\n ...config_schema_default.ishikawa\n },\n treemap: {\n useMaxWidth: true,\n padding: 10,\n diagramPadding: 8,\n showValues: true,\n nodeWidth: 100,\n nodeHeight: 40,\n borderWidth: 1,\n valueFontSize: 12,\n labelFontSize: 14,\n valueFormat: \",\"\n },\n venn: {\n ...config_schema_default.venn\n }\n};\nvar keyify = /* @__PURE__ */ __name((obj, prefix = \"\") => Object.keys(obj).reduce((res, el) => {\n if (Array.isArray(obj[el])) {\n return res;\n } else if (typeof obj[el] === \"object\" && obj[el] !== null) {\n return [...res, prefix + el, ...keyify(obj[el], \"\")];\n }\n return [...res, prefix + el];\n}, []), \"keyify\");\nvar configKeys = new Set(keyify(config, \"\"));\nvar defaultConfig_default = config;\n\n// src/utils/sanitizeDirective.ts\nvar sanitizeDirective = /* @__PURE__ */ __name((args) => {\n log.debug(\"sanitizeDirective called with\", args);\n if (typeof args !== \"object\" || args == null) {\n return;\n }\n if (Array.isArray(args)) {\n args.forEach((arg) => sanitizeDirective(arg));\n return;\n }\n for (const key of Object.keys(args)) {\n log.debug(\"Checking key\", key);\n if (key.startsWith(\"__\") || key.includes(\"proto\") || key.includes(\"constr\") || !configKeys.has(key) || args[key] == null) {\n log.debug(\"sanitize deleting key: \", key);\n delete args[key];\n continue;\n }\n if (typeof args[key] === \"object\") {\n log.debug(\"sanitizing object\", key);\n sanitizeDirective(args[key]);\n continue;\n }\n const cssMatchers = [\"themeCSS\", \"fontFamily\", \"altFontFamily\"];\n for (const cssKey of cssMatchers) {\n if (key.includes(cssKey)) {\n log.debug(\"sanitizing css option\", key);\n args[key] = sanitizeCss(args[key]);\n }\n }\n }\n if (args.themeVariables) {\n for (const k of Object.keys(args.themeVariables)) {\n const val = args.themeVariables[k];\n if (val?.match && !val.match(/^[\\d \"#%(),.;A-Za-z]+$/)) {\n args.themeVariables[k] = \"\";\n }\n }\n }\n log.debug(\"After sanitization\", args);\n}, \"sanitizeDirective\");\nvar sanitizeCss = /* @__PURE__ */ __name((str) => {\n let startCnt = 0;\n let endCnt = 0;\n for (const element of str) {\n if (startCnt < endCnt) {\n return \"{ /* ERROR: Unbalanced CSS */ }\";\n }\n if (element === \"{\") {\n startCnt++;\n } else if (element === \"}\") {\n endCnt++;\n }\n }\n if (startCnt !== endCnt) {\n return \"{ /* ERROR: Unbalanced CSS */ }\";\n }\n return str;\n}, \"sanitizeCss\");\n\n// src/config.ts\nvar defaultConfig = Object.freeze(defaultConfig_default);\nvar evaluate = /* @__PURE__ */ __name((val) => val === false || [\"false\", \"null\", \"0\"].includes(String(val).trim().toLowerCase()) ? false : true, \"evaluate\");\nvar siteConfig = assignWithDepth_default({}, defaultConfig);\nvar configFromInitialize;\nvar directives = [];\nvar currentConfig = assignWithDepth_default({}, defaultConfig);\nvar updateCurrentConfig = /* @__PURE__ */ __name((siteCfg, _directives) => {\n let cfg = assignWithDepth_default({}, siteCfg);\n let sumOfDirectives = {};\n for (const d of _directives) {\n sanitize(d);\n sumOfDirectives = assignWithDepth_default(sumOfDirectives, d);\n }\n cfg = assignWithDepth_default(cfg, sumOfDirectives);\n if (sumOfDirectives.theme && sumOfDirectives.theme in themes_default) {\n const tmpConfigFromInitialize = assignWithDepth_default({}, configFromInitialize);\n const themeVariables = assignWithDepth_default(\n tmpConfigFromInitialize.themeVariables || {},\n sumOfDirectives.themeVariables\n );\n if (cfg.theme && cfg.theme in themes_default) {\n cfg.themeVariables = themes_default[cfg.theme].getThemeVariables(themeVariables);\n }\n }\n currentConfig = cfg;\n checkConfig(currentConfig);\n return currentConfig;\n}, \"updateCurrentConfig\");\nvar setSiteConfig = /* @__PURE__ */ __name((conf) => {\n siteConfig = assignWithDepth_default({}, defaultConfig);\n siteConfig = assignWithDepth_default(siteConfig, conf);\n if (conf.theme && themes_default[conf.theme]) {\n siteConfig.themeVariables = themes_default[conf.theme].getThemeVariables(conf.themeVariables);\n }\n updateCurrentConfig(siteConfig, directives);\n return siteConfig;\n}, \"setSiteConfig\");\nvar saveConfigFromInitialize = /* @__PURE__ */ __name((conf) => {\n configFromInitialize = assignWithDepth_default({}, conf);\n}, \"saveConfigFromInitialize\");\nvar updateSiteConfig = /* @__PURE__ */ __name((conf) => {\n siteConfig = assignWithDepth_default(siteConfig, conf);\n updateCurrentConfig(siteConfig, directives);\n return siteConfig;\n}, \"updateSiteConfig\");\nvar getSiteConfig = /* @__PURE__ */ __name(() => {\n return assignWithDepth_default({}, siteConfig);\n}, \"getSiteConfig\");\nvar setConfig = /* @__PURE__ */ __name((conf) => {\n checkConfig(conf);\n assignWithDepth_default(currentConfig, conf);\n return getConfig();\n}, \"setConfig\");\nvar getConfig = /* @__PURE__ */ __name(() => {\n return assignWithDepth_default({}, currentConfig);\n}, \"getConfig\");\nvar sanitize = /* @__PURE__ */ __name((options) => {\n if (!options) {\n return;\n }\n [\"secure\", ...siteConfig.secure ?? []].forEach((key) => {\n if (Object.hasOwn(options, key)) {\n log.debug(`Denied attempt to modify a secure key ${key}`, options[key]);\n delete options[key];\n }\n });\n Object.keys(options).forEach((key) => {\n if (key.startsWith(\"__\")) {\n delete options[key];\n }\n });\n Object.keys(options).forEach((key) => {\n if (typeof options[key] === \"string\" && (options[key].includes(\"<\") || options[key].includes(\">\") || options[key].includes(\"url(data:\"))) {\n delete options[key];\n }\n if (typeof options[key] === \"object\") {\n sanitize(options[key]);\n }\n });\n}, \"sanitize\");\nvar addDirective = /* @__PURE__ */ __name((directive) => {\n sanitizeDirective(directive);\n if (directive.fontFamily && !directive.themeVariables?.fontFamily) {\n directive.themeVariables = {\n ...directive.themeVariables,\n fontFamily: directive.fontFamily\n };\n }\n directives.push(directive);\n updateCurrentConfig(siteConfig, directives);\n}, \"addDirective\");\nvar reset = /* @__PURE__ */ __name((config2 = siteConfig) => {\n directives = [];\n updateCurrentConfig(config2, directives);\n}, \"reset\");\nvar ConfigWarning = {\n LAZY_LOAD_DEPRECATED: \"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.\",\n FLOWCHART_HTML_LABELS_DEPRECATED: \"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead.\"\n};\nvar issuedWarnings = {};\nvar issueWarning = /* @__PURE__ */ __name((warning) => {\n if (issuedWarnings[warning]) {\n return;\n }\n log.warn(ConfigWarning[warning]);\n issuedWarnings[warning] = true;\n}, \"issueWarning\");\nvar checkConfig = /* @__PURE__ */ __name((config2) => {\n if (!config2) {\n return;\n }\n if (config2.lazyLoadedDiagrams || config2.loadExternalDiagramsAtStartup) {\n issueWarning(\"LAZY_LOAD_DEPRECATED\");\n }\n}, \"checkConfig\");\nvar getUserDefinedConfig = /* @__PURE__ */ __name(() => {\n let userConfig = {};\n if (configFromInitialize) {\n userConfig = assignWithDepth_default(userConfig, configFromInitialize);\n }\n for (const d of directives) {\n userConfig = assignWithDepth_default(userConfig, d);\n }\n return userConfig;\n}, \"getUserDefinedConfig\");\nvar getEffectiveHtmlLabels = /* @__PURE__ */ __name((config2) => {\n if (config2.flowchart?.htmlLabels != void 0) {\n issueWarning(\"FLOWCHART_HTML_LABELS_DEPRECATED\");\n }\n return evaluate(config2.htmlLabels ?? config2.flowchart?.htmlLabels ?? true);\n}, \"getEffectiveHtmlLabels\");\n\n// src/diagrams/common/common.ts\nimport DOMPurify from \"dompurify\";\nvar lineBreakRegex = /<br\\s*\\/?>/gi;\nvar getRows = /* @__PURE__ */ __name((s) => {\n if (!s) {\n return [\"\"];\n }\n const str = breakToPlaceholder(s).replace(/\\\\n/g, \"#br#\");\n return str.split(\"#br#\");\n}, \"getRows\");\nvar setupDompurifyHooksIfNotSetup = /* @__PURE__ */ (() => {\n let setup = false;\n return () => {\n if (!setup) {\n setupDompurifyHooks();\n setup = true;\n }\n };\n})();\nfunction setupDompurifyHooks() {\n const TEMPORARY_ATTRIBUTE = \"data-temp-href-target\";\n DOMPurify.addHook(\"beforeSanitizeAttributes\", (node) => {\n if (node.tagName === \"A\" && node.hasAttribute(\"target\")) {\n node.setAttribute(TEMPORARY_ATTRIBUTE, node.getAttribute(\"target\") ?? \"\");\n }\n });\n DOMPurify.addHook(\"afterSanitizeAttributes\", (node) => {\n if (node.tagName === \"A\" && node.hasAttribute(TEMPORARY_ATTRIBUTE)) {\n node.setAttribute(\"target\", node.getAttribute(TEMPORARY_ATTRIBUTE) ?? \"\");\n node.removeAttribute(TEMPORARY_ATTRIBUTE);\n if (node.getAttribute(\"target\") === \"_blank\") {\n node.setAttribute(\"rel\", \"noopener\");\n }\n }\n });\n}\n__name(setupDompurifyHooks, \"setupDompurifyHooks\");\nvar removeScript = /* @__PURE__ */ __name((txt) => {\n setupDompurifyHooksIfNotSetup();\n const sanitizedText = DOMPurify.sanitize(txt);\n return sanitizedText;\n}, \"removeScript\");\nvar sanitizeMore = /* @__PURE__ */ __name((text, config2) => {\n if (getEffectiveHtmlLabels(config2)) {\n const level = config2.securityLevel;\n if (level === \"antiscript\" || level === \"strict\" || level === \"sandbox\") {\n text = removeScript(text);\n } else if (level !== \"loose\") {\n text = breakToPlaceholder(text);\n text = text.replace(/</g, \"<\").replace(/>/g, \">\");\n text = text.replace(/=/g, \"=\");\n text = placeholderToBreak(text);\n }\n }\n return text;\n}, \"sanitizeMore\");\nvar sanitizeText = /* @__PURE__ */ __name((text, config2) => {\n if (!text) {\n return text;\n }\n if (config2.dompurifyConfig) {\n text = DOMPurify.sanitize(sanitizeMore(text, config2), config2.dompurifyConfig).toString();\n } else {\n text = DOMPurify.sanitize(sanitizeMore(text, config2), {\n FORBID_TAGS: [\"style\"]\n }).toString();\n }\n return text;\n}, \"sanitizeText\");\nvar sanitizeTextOrArray = /* @__PURE__ */ __name((a, config2) => {\n if (typeof a === \"string\") {\n return sanitizeText(a, config2);\n }\n return a.flat().map((x) => sanitizeText(x, config2));\n}, \"sanitizeTextOrArray\");\nvar hasBreaks = /* @__PURE__ */ __name((text) => {\n return lineBreakRegex.test(text);\n}, \"hasBreaks\");\nvar splitBreaks = /* @__PURE__ */ __name((text) => {\n return text.split(lineBreakRegex);\n}, \"splitBreaks\");\nvar placeholderToBreak = /* @__PURE__ */ __name((s) => {\n return s.replace(/#br#/g, \"<br/>\");\n}, \"placeholderToBreak\");\nvar breakToPlaceholder = /* @__PURE__ */ __name((s) => {\n return s.replace(lineBreakRegex, \"#br#\");\n}, \"breakToPlaceholder\");\nvar getUrl = /* @__PURE__ */ __name((useAbsolute) => {\n let url = \"\";\n if (useAbsolute) {\n url = window.location.protocol + \"//\" + window.location.host + window.location.pathname + window.location.search;\n url = CSS.escape(url);\n }\n return url;\n}, \"getUrl\");\nvar getMax = /* @__PURE__ */ __name(function(...values) {\n const newValues = values.filter((value) => {\n return !isNaN(value);\n });\n return Math.max(...newValues);\n}, \"getMax\");\nvar getMin = /* @__PURE__ */ __name(function(...values) {\n const newValues = values.filter((value) => {\n return !isNaN(value);\n });\n return Math.min(...newValues);\n}, \"getMin\");\nvar parseGenericTypes = /* @__PURE__ */ __name(function(input) {\n const inputSets = input.split(/(,)/);\n const output = [];\n for (let i = 0; i < inputSets.length; i++) {\n let thisSet = inputSets[i];\n if (thisSet === \",\" && i > 0 && i + 1 < inputSets.length) {\n const previousSet = inputSets[i - 1];\n const nextSet = inputSets[i + 1];\n if (shouldCombineSets(previousSet, nextSet)) {\n thisSet = previousSet + \",\" + nextSet;\n i++;\n output.pop();\n }\n }\n output.push(processSet(thisSet));\n }\n return output.join(\"\");\n}, \"parseGenericTypes\");\nvar countOccurrence = /* @__PURE__ */ __name((string, substring) => {\n return Math.max(0, string.split(substring).length - 1);\n}, \"countOccurrence\");\nvar shouldCombineSets = /* @__PURE__ */ __name((previousSet, nextSet) => {\n const prevCount = countOccurrence(previousSet, \"~\");\n const nextCount = countOccurrence(nextSet, \"~\");\n return prevCount === 1 && nextCount === 1;\n}, \"shouldCombineSets\");\nvar processSet = /* @__PURE__ */ __name((input) => {\n const tildeCount = countOccurrence(input, \"~\");\n let hasStartingTilde = false;\n if (tildeCount <= 1) {\n return input;\n }\n if (tildeCount % 2 !== 0 && input.startsWith(\"~\")) {\n input = input.substring(1);\n hasStartingTilde = true;\n }\n const chars = [...input];\n let first = chars.indexOf(\"~\");\n let last = chars.lastIndexOf(\"~\");\n while (first !== -1 && last !== -1 && first !== last) {\n chars[first] = \"<\";\n chars[last] = \">\";\n first = chars.indexOf(\"~\");\n last = chars.lastIndexOf(\"~\");\n }\n if (hasStartingTilde) {\n chars.unshift(\"~\");\n }\n return chars.join(\"\");\n}, \"processSet\");\nvar isMathMLSupported = /* @__PURE__ */ __name(() => window.MathMLElement !== void 0, \"isMathMLSupported\");\nvar katexRegex = /\\$\\$(.*)\\$\\$/g;\nvar hasKatex = /* @__PURE__ */ __name((text) => (text.match(katexRegex)?.length ?? 0) > 0, \"hasKatex\");\nvar calculateMathMLDimensions = /* @__PURE__ */ __name(async (text, config2) => {\n const divElem = document.createElement(\"div\");\n divElem.innerHTML = await renderKatexSanitized(text, config2);\n divElem.id = \"katex-temp\";\n divElem.style.visibility = \"hidden\";\n divElem.style.position = \"absolute\";\n divElem.style.top = \"0\";\n const body = document.querySelector(\"body\");\n body?.insertAdjacentElement(\"beforeend\", divElem);\n const dim = { width: divElem.clientWidth, height: divElem.clientHeight };\n divElem.remove();\n return dim;\n}, \"calculateMathMLDimensions\");\nvar renderKatexUnsanitized = /* @__PURE__ */ __name(async (text, config2) => {\n if (!hasKatex(text)) {\n return text;\n }\n if (!(isMathMLSupported() || config2.legacyMathML || config2.forceLegacyMathML)) {\n return text.replace(katexRegex, \"MathML is unsupported in this environment.\");\n }\n if (true) {\n const { default: katex } = await import(\"katex\");\n const outputMode = config2.forceLegacyMathML || !isMathMLSupported() && config2.legacyMathML ? \"htmlAndMathml\" : \"mathml\";\n return text.split(lineBreakRegex).map(\n (line) => hasKatex(line) ? `<div style=\"display: flex; align-items: center; justify-content: center; white-space: nowrap;\">${line}</div>` : `<div>${line}</div>`\n ).join(\"\").replace(\n katexRegex,\n (_, c) => katex.renderToString(c, {\n throwOnError: true,\n displayMode: true,\n output: outputMode\n }).replace(/\\n/g, \" \").replace(/<annotation.*<\\/annotation>/g, \"\")\n );\n }\n return text.replace(\n katexRegex,\n \"Katex is not supported in @mermaid-js/tiny. Please use the full mermaid library.\"\n );\n}, \"renderKatexUnsanitized\");\nvar renderKatexSanitized = /* @__PURE__ */ __name(async (text, config2) => {\n return sanitizeText(await renderKatexUnsanitized(text, config2), config2);\n}, \"renderKatexSanitized\");\nvar common_default = {\n getRows,\n sanitizeText,\n sanitizeTextOrArray,\n hasBreaks,\n splitBreaks,\n lineBreakRegex,\n removeScript,\n getUrl,\n evaluate,\n getMax,\n getMin\n};\n\n// src/setupGraphViewbox.js\nvar d3Attrs = /* @__PURE__ */ __name(function(d3Elem, attrs) {\n for (let attr of attrs) {\n d3Elem.attr(attr[0], attr[1]);\n }\n}, \"d3Attrs\");\nvar calculateSvgSizeAttrs = /* @__PURE__ */ __name(function(height, width, useMaxWidth) {\n let attrs = /* @__PURE__ */ new Map();\n if (useMaxWidth) {\n attrs.set(\"width\", \"100%\");\n attrs.set(\"style\", `max-width: ${width}px;`);\n } else {\n attrs.set(\"height\", height);\n attrs.set(\"width\", width);\n }\n return attrs;\n}, \"calculateSvgSizeAttrs\");\nvar configureSvgSize = /* @__PURE__ */ __name(function(svgElem, height, width, useMaxWidth) {\n const attrs = calculateSvgSizeAttrs(height, width, useMaxWidth);\n d3Attrs(svgElem, attrs);\n}, \"configureSvgSize\");\nvar setupGraphViewbox = /* @__PURE__ */ __name(function(graph, svgElem, padding, useMaxWidth) {\n const svgBounds = svgElem.node().getBBox();\n const sWidth = svgBounds.width;\n const sHeight = svgBounds.height;\n log.info(`SVG bounds: ${sWidth}x${sHeight}`, svgBounds);\n let width = 0;\n let height = 0;\n log.info(`Graph bounds: ${width}x${height}`, graph);\n width = sWidth + padding * 2;\n height = sHeight + padding * 2;\n log.info(`Calculated bounds: ${width}x${height}`);\n configureSvgSize(svgElem, height, width, useMaxWidth);\n const vBox = `${svgBounds.x - padding} ${svgBounds.y - padding} ${svgBounds.width + 2 * padding} ${svgBounds.height + 2 * padding}`;\n svgElem.attr(\"viewBox\", vBox);\n}, \"setupGraphViewbox\");\n\n// src/styles.ts\nvar themes = {};\nvar getStyles = /* @__PURE__ */ __name((type, userStyles, options) => {\n let diagramStyles = \"\";\n if (type in themes && themes[type]) {\n diagramStyles = themes[type](options);\n } else {\n log.warn(`No theme found for ${type}`);\n }\n return ` & {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n fill: ${options.textColor}\n }\n @keyframes edge-animation-frame {\n from {\n stroke-dashoffset: 0;\n }\n }\n @keyframes dash {\n to {\n stroke-dashoffset: 0;\n }\n }\n & .edge-animation-slow {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 50s linear infinite;\n stroke-linecap: round;\n }\n & .edge-animation-fast {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 20s linear infinite;\n stroke-linecap: round;\n }\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${options.errorBkgColor};\n }\n & .error-text {\n fill: ${options.errorTextColor};\n stroke: ${options.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: 1px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n & .edge-thickness-invisible {\n stroke-width: 0;\n fill: none;\n }\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${options.lineColor};\n stroke: ${options.lineColor};\n }\n & .marker.cross {\n stroke: ${options.lineColor};\n }\n\n & svg {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n }\n & p {\n margin: 0\n }\n\n ${diagramStyles}\n\n ${userStyles}\n`;\n}, \"getStyles\");\nvar addStylesForDiagram = /* @__PURE__ */ __name((type, diagramTheme) => {\n if (diagramTheme !== void 0) {\n themes[type] = diagramTheme;\n }\n}, \"addStylesForDiagram\");\nvar styles_default = getStyles;\n\n// src/diagrams/common/commonDb.ts\nvar commonDb_exports = {};\n__export(commonDb_exports, {\n clear: () => clear,\n getAccDescription: () => getAccDescription,\n getAccTitle: () => getAccTitle,\n getDiagramTitle: () => getDiagramTitle,\n setAccDescription: () => setAccDescription,\n setAccTitle: () => setAccTitle,\n setDiagramTitle: () => setDiagramTitle\n});\nvar accTitle = \"\";\nvar diagramTitle = \"\";\nvar accDescription = \"\";\nvar sanitizeText2 = /* @__PURE__ */ __name((txt) => sanitizeText(txt, getConfig()), \"sanitizeText\");\nvar clear = /* @__PURE__ */ __name(() => {\n accTitle = \"\";\n accDescription = \"\";\n diagramTitle = \"\";\n}, \"clear\");\nvar setAccTitle = /* @__PURE__ */ __name((txt) => {\n accTitle = sanitizeText2(txt).replace(/^\\s+/g, \"\");\n}, \"setAccTitle\");\nvar getAccTitle = /* @__PURE__ */ __name(() => accTitle, \"getAccTitle\");\nvar setAccDescription = /* @__PURE__ */ __name((txt) => {\n accDescription = sanitizeText2(txt).replace(/\\n\\s+/g, \"\\n\");\n}, \"setAccDescription\");\nvar getAccDescription = /* @__PURE__ */ __name(() => accDescription, \"getAccDescription\");\nvar setDiagramTitle = /* @__PURE__ */ __name((txt) => {\n diagramTitle = sanitizeText2(txt);\n}, \"setDiagramTitle\");\nvar getDiagramTitle = /* @__PURE__ */ __name(() => diagramTitle, \"getDiagramTitle\");\n\n// src/diagram-api/diagramAPI.ts\nvar log2 = log;\nvar setLogLevel2 = setLogLevel;\nvar getConfig2 = getConfig;\nvar setConfig2 = setConfig;\nvar defaultConfig2 = defaultConfig;\nvar sanitizeText3 = /* @__PURE__ */ __name((text) => sanitizeText(text, getConfig2()), \"sanitizeText\");\nvar setupGraphViewbox2 = setupGraphViewbox;\nvar getCommonDb = /* @__PURE__ */ __name(() => {\n return commonDb_exports;\n}, \"getCommonDb\");\nvar diagrams = {};\nvar registerDiagram = /* @__PURE__ */ __name((id, diagram, detector) => {\n if (diagrams[id]) {\n log2.warn(`Diagram with id ${id} already registered. Overwriting.`);\n }\n diagrams[id] = diagram;\n if (detector) {\n addDetector(id, detector);\n }\n addStylesForDiagram(id, diagram.styles);\n diagram.injectUtils?.(\n log2,\n setLogLevel2,\n getConfig2,\n sanitizeText3,\n setupGraphViewbox2,\n getCommonDb(),\n () => {\n }\n );\n}, \"registerDiagram\");\nvar getDiagram = /* @__PURE__ */ __name((name) => {\n if (name in diagrams) {\n return diagrams[name];\n }\n throw new DiagramNotFoundError(name);\n}, \"getDiagram\");\nvar DiagramNotFoundError = class extends Error {\n static {\n __name(this, \"DiagramNotFoundError\");\n }\n constructor(name) {\n super(`Diagram ${name} not found.`);\n }\n};\n\nexport {\n assignWithDepth_default,\n getThemeVariables3 as getThemeVariables,\n themes_default,\n defaultConfig_default,\n sanitizeDirective,\n defaultConfig,\n evaluate,\n setSiteConfig,\n saveConfigFromInitialize,\n updateSiteConfig,\n getSiteConfig,\n setConfig,\n getConfig,\n addDirective,\n reset,\n getUserDefinedConfig,\n getEffectiveHtmlLabels,\n lineBreakRegex,\n sanitizeText,\n getUrl,\n parseGenericTypes,\n hasKatex,\n calculateMathMLDimensions,\n renderKatexSanitized,\n common_default,\n frontMatterRegex,\n directiveRegex,\n UnknownDiagramError,\n detectors,\n detectType,\n registerLazyLoadedDiagrams,\n getDiagramLoader,\n configureSvgSize,\n setupGraphViewbox,\n styles_default,\n clear,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n setDiagramTitle,\n getDiagramTitle,\n commonDb_exports,\n getConfig2,\n setConfig2,\n defaultConfig2,\n sanitizeText3 as sanitizeText2,\n setupGraphViewbox2,\n registerDiagram,\n getDiagram\n};\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],"mappings":"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B,cAAgB;EAChB,cAAgB;EAChB,YAAc;EACd,iBAAmB;EACnB,aAAe;EACf,qBAAuB;EACvB,eAAiB;EACjB,iBAAmB;EACnB,iBAAmB;EACnB,cAAgB;EAChB,gBAAkB;EAClB,gBAAkB;EAClB,WAAa;EACb,iBAAmB;EACnB,mBAAqB;EACrB,mBAAqB;EACrB,MAAQ;EACR,aAAe;EACf,eAAiB;EACjB,gBAAkB;EACnB;CACD,OAAS;EACP,aAAe;EACf,gBAAkB;EAClB,WAAa;EACb,QAAU;EACV,YAAc;EACd,cAAgB;EAChB,aAAe;EACf,sBAAwB;EACxB,UAAY;EACZ,iBAAmB;EACnB,qBAAuB;EACvB,YAAc;EACd,SAAW;EACX,aAAe;EACf,SAAW;EACZ;CACD,SAAW;EACT,aAAe;EACf,gBAAkB;EAClB,gBAAkB;EAClB,YAAc;EACd,eAAiB;EACjB,OAAS;EACT,QAAU;EACV,WAAa;EACb,eAAiB;EACjB,YAAc;EACd,eAAiB;EACjB,cAAgB;EAChB,iBAAmB;EACnB,aAAe;EACf,cAAgB;EAChB,gBAAkB;EAClB,YAAc;EACd,iBAAmB;EACnB,eAAiB;EACjB,cAAgB;GACd;GACA;GACA;GACA;GACA;GACA;GACD;EACD,cAAgB;GACd;GACA;GACA;GACA;GACA;GACA;GACA;GACD;EACD,gBAAkB,CAChB,OACD;EACD,YAAc;EACd,iBAAmB;EACnB,eAAiB;EAClB;CACD,OAAS;EACP,aAAe;EACf,gBAAkB;EAClB,qBAAuB;EACvB,eAAiB;EACjB,SAAW;EACX,YAAc;EACd,iBAAmB;EACnB,YAAc;EACd,qBAAuB;EACxB;CACD,OAAS;EACP,aAAe;EACf,gBAAkB;EAClB,eAAiB;EACjB,UAAY;EACZ,SAAW;EACX,YAAc;EACd,YAAc;EACd,YAAc;EACd,WAAa;EACb,YAAc;EACd,aAAe;EACf,gBAAkB;EAClB,UAAY;EACZ,aAAe;EACf,kBAAoB;EACpB,mBAAqB;EACrB,QAAU;EACV,iBAAmB;EACpB;CACD,IAAM;EACJ,aAAe;EACf,gBAAkB;EAClB,gBAAkB;EAClB,iBAAmB;EAC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"}
|